Диаграммы режимов обеспечивают интуитивно понятный способ моделирования компонентов, характеризующихся дискретным набором различных режимов работы. Хорошим примером такого компонента является автомобильное сцепление. Он имеет несколько режимов работы, причем каждый режим определяется различным набором уравнений. Он также имеет логику перехода с набором предикатных условий, определяющих, когда муфта переходит из одного режима в другой. Этот компонент можно моделировать с помощью примитивных конструкций, таких как переменные событий и 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 true, моделирование запускается в режиме 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.
Компонент переходит из первого режима во второй режим, когда входной сигнал отрицательный, и из второго режима в третий режим, когда входной сигнал положительный.
Начальный режим зависит от значения параметра блока: if parameter p отрицательный, моделирование начинается с блока во втором режиме, в противном случае - в первом режиме.
entry | initial | modecharts | modes | transitions