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