Графики режима обеспечивают интуитивный путь к компонентам модели, охарактеризованным дискретным набором отличных рабочих режимов. Автомобильная муфта является хорошим примером такого компонента. Это имеет несколько рабочих режимов с каждым режимом, задаваемым различной системой уравнений. Это также имеет логику перехода с набором определения условий предиката когда переходы муфты от одного режима до другого. Возможно смоделировать этот использующий примитив компонента построения, такие как переменные события и edge
операторы, но этот способ смоделировать испытывает недостаток в удобочитаемости. Для более комплексных компонентов файл становится громоздким и громоздким. Каждый раз, когда вы моделируете компонент с несколькими рабочими режимами и переходами, этот компонент является хорошим кандидатом на реализацию графика режима.
Эти построения на языке Simscape™ позволяют вам выполнить моделирование графика режима:
modecharts
— Раздел верхнего уровня в файле компонента. Это может содержать один или несколько modechart
построения.
modechart
— Именованное построение, которое содержит текстовое представление графика режима: режимы, переходы и дополнительная первоначальная спецификация режима.
modes
— Раздел в графике режима, который описывает все рабочие режимы. Это может содержать один или несколько mode
построения.
mode
— Именованное построение, которое соответствует отличному рабочему режиму компонента, заданного набором уравнений.
transitions
— Раздел в графике режима, который описывает переходы между рабочими режимами, на основе условий предиката.
initial
— Дополнительный раздел в графике режима, который задает начальный рабочий режим, на основе условия предиката. Если предикат не верен, или если initial
раздел отсутствует, затем первый режим, перечисленный в modes
раздел активен в начале симуляции.
В ее самой простой форме, иерархической структуре 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
отрицательно, симуляция запускается с блока во втором режиме, в противном случае — в первом режиме.