ПредишенСледващото

Stateflow - Simulink

Какво е държавна машина?

Крайните автомат (краен автомат (FSM)) - събитие задвижване изпълнение (реактивни) системи. Възникнали от събитие система се движи от едно състояние (режим) на друго предписано състояние в случай, че условието, което определя промяната е вярно.

Например, можете да използвате държавна машина, за да опише автоматична скоростна кутия колата. Прехвърлянето има редица състояния: паркинг, неутрален, движение, обратни и др преходите на системата от едно състояние в друго, когато водачът движи лоста от една позиция в друга, например, от положение за паркиране в неутрално положение ...

Представителства на крайния автомат (ФЩМ)

Традиционно, дизайнерите са използвали истината таблици за представяне на връзката между вход, изход и състоянието FSM. Получената таблица показва логиката на поведението на системата. Друг подход за проектиране на системи за определено събитие е да се симулира поведението на системата, описвайки го от гледна точка на преход между държави. Преходното състояние на активната фаза се определя от появата на събития при определени обстоятелства. Преход диаграма (състояние преход диаграми (ППИ)) и балон диаграми (балон диаграми) - графични изображения на базата на този подход.

Stateflow изпълнение използва краен система машина нотация предложен от David Harel [D. Harel Диаграмите на състоянията: A Visual формализъм за сложни системи "(Диаграмите на състоянията: визуална формализъм за сложни системи). Науката на компютърното програмиране 8. 1987 г., стр 231-274] Използването Stateflow (състояние - състояние, поток - поток), вие създавате Stateflow диаграма диаграма Stateflow -. графично представяне на краен автомат, където състоянията и преходите формират основните градивни елементи на системата може да се стрийминг (които не са членки) диаграма, използваща Stateflow Stateflow формира блокове, които ви превръщат в Simulink модел съвкупността блокове Stateflow в ... Simulink модел - Stateflow машини а.

Notation определя набор от предмети и правила, които уреждат отношенията между тези обекти. Stateflow нотация осигурява ви позволява да се разработи проект в пълно съответствие с диаграмата Stateflow.

Stateflow нотация се състои от:

  • Набор от графични обекти
  • Комплектът графики (текст) обект
  • Някои връзки между тези обекти

Семантика описват как записът се тълкува и прилага. Завършен Stateflow показва нагледно как системата ще се държи. Stateflow диаграма съдържа действия, свързани с преходите и състояния. Семантика описва последователността, в която тези дейности се осъществяват в рамките на Stateflow диаграми.

Познаването на семантиката е особено важно, за да се гарантира коректни дизайнерски решения Stateflow диаграми за генериране на код. Различни начини за използване на обозначението води до различен ред на изпълнение на генерирания код.

Simulink модел и Stateflow машина

Stateflow машина - набор от Stateflow блокове в Simulink модели. Simulink модел и Stateflow машина работят заедно. Работещи симулацията автоматично започва да работи като Simulink и Stateflow модел части.

Simulink модел може да се състои на допълнителни дялове на инструменти и комплекти Stateflow блокове (Stateflow диаграми) Simulink комбинации блокове. Stateflow диаграма (Stateflow диаграма) се състои от набор от графични (състояния, преходи, съединение (възли), хронологични съединения) и не-графични данни (събития, програмни кодове) на обектите.

Налице е едно към едно съответствие между Simulink модел и Stateflow машина. Всеки блок Stateflow в Simulink модел представени в отделен Stateflow диаграма (Stateflow диаграма). Всеки Stateflow машина има своя собствена йерархия на обекти. Stateflow машина - най-високото ниво в йерархията Stateflow. Следната обект йерархия Stateflow машината е комбинация от графични и не-графични обекти. Речник на данните - архив на всички обекти Stateflow.

Как stateflow

Определяне Stateflow интерфейс

Всеки блок съответства на една единствена Stateflow Stateflow диаграма. Stateflow блок се свързва с модела Simulink чрез интерфейса. Интерфейсът се свързва с главни източници Stateflow идващи от модела Simulink (данни, събития, потребителски код).

Stateflow схеми са възникнали от събития. Събитията могат да бъдат местни до блока Stateflow или могат да дойдат и от модела Simulink и код източници, външни Simulink. Данните могат да бъдат локални да Stateflow блок или може да дойде до и от модела Simulink и код източници, външни Simulink.

Трябва да се дефинира интерфейс за всеки блок Stateflow. Определението на интерфейс за блока Stateflow може да включва някои или всички от тези задачи:

  • Определяне на модификация на метод блок Stateflow на
  • Определяне на изхода на Simulink (изход за Simulink) събития
  • Добавяне и определение на не-местни събития и не-местни данни в рамките Stateflow диаграми
  • Определяне отношения с външни източници

В примера по-рано Simulink Simulink модел се състои от блок - източник синусоида (синус), Simulink звено - приемник Обхват (осцилоскоп), и един блок наречен Stateflow ON_OFF.

Как stateflow

Обекти диаграма Stateflow

След един пример Stateflow диаграма, която използва основните графични компоненти. В допълнение, тези компоненти с изображения са описани подробно, както и някои не-графични обекти и връзки между тях.

Как stateflow

Членка описва начина на системи за определено събитие. Динамични държавни преходи от бездействието на дейност въз основа на събития и условия. Всеки щат има родител. В диаграмата Stateflow, състояща се от един състояние на състояние родител - директно диаграма Stateflow (също наречен корен Stateflow диаграма). Можете да поставите държави в рамките на други държави по-високо ниво. На фигура StateA1 - потомък на йерархията във връзка с StateA.

Членка също има история. Хронология осигурява ефективно средство за основаване на бъдещи действия за последното действие.

-Членки да имат етикет, който може да се определи действията, извършвани в последователност, в зависимост от вида на действие. Видове действие - влизане (на входа), по време на (за), изход (изход) и на EVENT_NAME (в случай на събитие с името _).

В пример за автоматична скоростна кутия, предаването може да бъде изключен, или е включен в работата. Две състояние на системата - неутрален (неутрална) и ангажираната (на).

Stateflow предвижда два вида състояния: паралелен (И) и изключителен (OR) Вид състояние. Паралелността и представени (паралелни) държави. Автоматична скоростна кутия - един пример за изключителната (OR) държавата. Изключителен (или), състояния се използват за описване режими, които са взаимно изключващи се. Системата е или в неутрално състояние, или включен във всеки един момент.

Помислете отново автоматичната скоростна кутия. Clutch_engaged (превключване скоростна кутия) - събитие, което е необходимо да се направи преход от неутрално положение в "на" държавата.

Как stateflow

Събития контролира изпълнението Stateflow диаграми, но не са на графични обекти и поради това не се появяват директно на фигура Stateflow. Всички събития, които имат отношение към диаграма Stateflow, трябва да се определят. Възникване на събитие става причина за състоянието на държавата (активни - неактивни) в диаграмата Stateflow да се промени. Настъпване на събитие може да предизвика преход, а след това се случи, или може да управлява действието, и след това се прави. Събития случват в низходяща, като се започне от събитието родител в йерархията.

Събитията са създадени и модифицирани с помощта на Stateflow Explorer (Stateflow Explorer). Събитията могат да бъдат създадени на всяко ниво на йерархията. Събитието има собственост, като видимостта. Видимостта определя дали събитието

  • Местна да Stateflow диаграма
  • Включено в диаграмата Stateflow от Simulink модели
  • Излизайки от диаграмите Stateflow в Simulink модел
  • Изнасят се кодират външен диаграмата Stateflow и Simulink модел
  • Кодексът е внесен от източник извън Stateflow и Simulink

обекти на данни се използват за съхранение на цифровите стойности за използване в схемата Stateflow. Те са не-графични обекти и по този начин не са показани директно на фигура Stateflow.

Те са създали и модифициран в Stateflow Explorer. Те могат да бъдат създадени на всяко ниво на йерархията. Те имат свойството като видимост. Видимостта определя обектите за данни от следните опции:

  • Бъдете местни до Stateflow диаграма
  • Въведете Stateflow графиката от Simulink модели
  • От диаграмите Stateflow в Simulink модел
  • Бъдете временно данни
  • Се определят в работното пространство на MATLAB
  • да бъде константа
  • Eksportirovatsya в код външен диаграмата Stateflow и модела Simulin
  • Importirovatsya код от източник извън Stateflow и Simulink

Йерархията дава възможност за организиране на сложни системи чрез определяне на структурата на наследодателя и потомък обекти. Йерархично изградени проект обикновено намалява броя на преходите и резултатите по ясен, разбираем диаграми. Stateflow поддържа йерархични организационни схеми и за двете, и за държавата. Графики могат да съществуват в други диаграми. Графика, която съществува в друга схема, наречена subdiagram.

По същия начин, състояния могат да съществуват в други държави. Stateflow йерархия представлява състояния и супердържава. Например, графиката има Stateflow супердържава, която включва две-състояния.

Как stateflow

Супердържава ангажиран (възможно е предаване) посъстояние състои първата (първо предаване) и втория (второ предаване). Супердържава ангажирани - прародител на йерархията по отношение на страните от първи и втори. Clutch_engaged При възникване на събитие, системата превключва от неутрално състояние да супердържава "на". Преходи в рамките на супердържава умишлено пропуснати в този пример за простота.

Условието - булев израз, който показва, че преходът се извършва, ако е посочено изразът е верен. Фигура Stateflow диаграма компонент [CONDITION1] представлява булева израз, който трябва да е вярно, че е възникнала прехода.

автоматична смяна на скоростната кутия от първа скорост и при втория се извършва, ако Булева състояние [скорост> праг] ([скорост на> porogovoe_znachenie]) е вярно.

Как stateflow

Поредица съединение (История възел)

В автоматична трансмисия хронологията показва, че когато clutch_engaged индуцира преход от неутрална до супердържава се, тогава подсъстояние става активна (първа или втора скорост), която е активна в последния завой.

Как stateflow

Действие - е резултат от прилагането на всяка част от Stateflow диаграми. Действието може да се осъществи поради прехода от едно състояние в друго. Действие може да бъде и реакцията на държавата. Фигура сегмент преход от StateA1b белязано съединение на действието на func1 () състояние 1 състояние, и сегмент преход от съединение с StateA1c маркиран ефект func2 () на прехода. Семантиката на действие ще бъдат разгледани по-късно.

Преходът завършва в състоянието, действието може да има условия (условие действие) и преходен ефект (преход действие), както е обсъдено по-долу. Въпреки това, преходи, които водят до съединенията могат да имат само условия действие (не оставя преходи действие).

Как stateflow

Членка може да има действия имат запис (на входа), по време на (за), изход (изход) и на събитие _ име (в случай на събитие с името _). Например,

език за действие определя видовете дейности, които можете да използвате и свързаната с нотацията. Действието може да бъде функция повикване, началото на събитията, присвояване на стойност на променлива, и т.н.

Stateflow поддържа моделиране парадигма краен автомат Мур и щитоносна. В бледен модел действия, свързани с прехода, а Мур в модела, те са свързани с държавите. Stateflow подкрепя действията на държавите, преходи и действия на условията за действие.

Concurrency Системата се състои от две или повече държави, които могат да бъдат активни по едно и също време. Действията на всеки един от паралелния държавата е по същество независими от други държави. Фигура 2-1 StateA2a и StateA2b - паралелно (И) състояние. StateA2 има паралелно (И) състояние на разлагане.

Например, графиката има паралелен Stateflow разлагане супердържава.

Как stateflow

Кутия (кутия), отопление (Heat) и (светлини) - паралелни подсистеми в колата. Те съществуват паралелно и физически независими един от друг. Има много други паралелни компоненти в превозното средство, като спирачната подсистема и почистване на предното стъкло подсистема.

Вие декларирате, паралелизъм в Stateflow, пита паралелно (И) разлагане. Паралелно (S) състояние, показвани обграден от прекъснатата линия райони.

Подразбиране преходи (подразбиране преходи)

подразбиране преходи определят кои от няколко изключително (OR) държави да бъде активен, когато има несигурност между две или повече изключителен (OR)-членки на същото ниво в йерархията.

Например на фигура 2-1 прехода по подразбиране за StateA1 решава неяснотата че съществува по отношение на които от-състояния, StateA1 или StateA2, трябва да бъде активна, когато StateA супердържава става активен. В този случай, когато StateA активна по подразбиране StateA1 активно.

Следващите подсистемата Lights (осветление) преход подразбиране на посъстояние Lights.Off (Осветление pribory.vyklyucheny) показва, че когато супердържава Светлини става активен, Lights.Off посъстояние става активен по подразбиране.

Как stateflow

Обърнете внимание! Исторически връзки заменят прехода по подразбиране за супердържава с изключителна (OR) разлагане.

Обърнете внимание! В паралелни (И) държавни преходи по подразбиране винаги трябва да присъства, за да се определи кои от нейната изключителна (OR) състояние е активен, когато паралелно държавата става активен.

Съединения (съединителната възли)

Връзки - точка на вземане на решения в системата. Свързване - графичен обект, който опростява Stateflow схематични изображения и улеснява образуването на ефективно код. Съединения осигуряват алтернативни начини за представяне на желаното поведение система. На Stateflow диаграма представени по-горе съединение се използва като точка на решение за двете преходни сегменти, завършващи в състояние StateA1c.

Следващият пример показва как се използва съединението (показани като кръгчета) ако дизайн.

Как stateflow

Този фрагмент е както следва:

  1. Ако състояние [с1] е вярно, условно действие се извършва и а1 възниква безусловно скок на първия (горе) ставата.
  2. Stateflow определя кои сегмент на горната преходни съединения, избрани (само една може да бъде избрано). Съединения с термините имат предимство пред връзката, без условия, т.е.. За. прехода от състояние [С2] първо се счита.
  3. Ако състояние [С2] е вярно, действието се извършва и А2 е преход към долната връзка. Тъй като няма преход, излиза от съединението, изпълнението на графиката е завършена.
  4. Ако състоянието [c2] е лъжа, не е безусловна трансфер на десния сегмент (като няма условия).
  5. Ако състоянието [С3] е вярно, условно действие се извършва a3 и пристъпи към долната диаграма soedineniyu.Vypolnenie завършени.
  6. Ако състоянието [С3] е погрешно, процесът завършва в средата става.

Знаете ли, че интуитивното моделиране - процесът на създаване на модел на базата на интуиция, идеи и опит.

Новини
Knights етер теория

Свързани статии

Подкрепете проекта - споделете линка, благодаря!