Графики режима обеспечивают интуитивный путь к компонентам модели, охарактеризованным дискретным набором отличных рабочих режимов. Автомобильная муфта является хорошим примером такого компонента. Это имеет несколько рабочих режимов с каждым режимом, задаваемым различной системой уравнений. Это также имеет логику перехода с набором определения условий предиката когда переходы муфты от одного режима до другого. Возможно смоделировать этот использующий примитив компонента построения, такие как переменные события и edge операторы, но этот способ смоделировать испытывает недостаток в удобочитаемости. Для более комплексных компонентов файл становится громоздким и громоздким. Каждый раз, когда вы моделируете компонент с несколькими рабочими режимами и переходами, этот компонент является хорошим кандидатом на реализацию графика режима.
Эти построения на языке Simscape™ позволяют вам выполнить моделирование графика режима:
modecharts — Раздел верхнего уровня в файле компонента. Это может содержать один или несколько modechart построения.
modechart — Именованное построение, которое содержит текстовое представление графика режима: режимы, переходы и дополнительная первоначальная спецификация режима.
modes — Раздел в графике режима, который описывает все рабочие режимы. Это может содержать один или несколько mode построения.
mode — Именованное построение, которое соответствует отличному рабочему режиму компонента, заданного набором уравнений.
transitions — Раздел в графике режима, который описывает переходы между рабочими режимами, на основе условий предиката.
initial — Дополнительный раздел в графике режима, который задает начальный рабочий режим, на основе условия предиката. Если предикат не верен, или если initial раздел отсутствует, затем первый режим, перечисленный в modes раздел активен в начале симуляции.
entry — Дополнительный раздел в mode создайте в графике режима, который позволяет вам задать действия, которые будут выполняться после перехода к режиму.
В ее самой простой форме, иерархической структуре modecharts раздел может выглядеть так:
modecharts
mc1 = modechart
modes
mode m1
equations
...
end
end
mode m2
equations
...
end
end
end
transitions
m1->m2 : p1;
end
initial
m2 : p2;
end
end
endЭто содержит один график режима, mc1, с двумя режимами, m1 и m2.
Системные переходы от режима m1 к режиму m2 когда условие предиката p1 верно.
Если условие предиката p2 верно, симуляция запускается в режиме m2, в противном случае в режиме m1.
В этом примере, transitions раздел не задает переход от режима m2 к режиму m1. Поэтому согласно этому графику режима, когда-то система достигает режима m2, это никогда не возвращается к режиму m1.
Используйте этот простой пример, чтобы изучить, как графики режима работают. Для более подробного примера смотрите Переключатель с Гистерезисом.
component ExampleChart
inputs
u1 = 0;
end
outputs
y = 0;
end
parameters
p = 1;
end
modecharts(ExternalAccess = observe)
mc1 = modechart
modes
mode m1
equations
y==1;
end
end
mode m2
equations
y==2;
end
end
mode m3
equations
y==3;
end
end
end
transitions
m1->m2 : u1<0;
m2->m3 : u1>0;
end
initial
m2 : p<0;
end
end
end
end
Компонент реализует простую диаграмму с тремя рабочими режимами:
В первом режиме выходной сигнал равняется 1.
Во втором режиме выходной сигнал равняется 2.
В третьем режиме выходной сигнал равняется 3.
Переходы компонента сначала к второму режиму, когда входной сигнал отрицателен, и от второго до третьего режима, когда входной сигнал положителен.
Начальный режим зависит от значения параметров блоков: если параметр p отрицательно, симуляция запускается с блока во втором режиме, в противном случае — в первом режиме.
modecharts | modes | transitions | initial | entry