Объявление рабочих режимов на графике режимов
modes mode m1 ... end mode m2 ... end end
modes
начинает блок объявления режимов на графике режимов. The modes
блок, завершенный end
ключевое слово, может содержать одно или несколько mode
конструкции. Каждый mode
конструкция объявляет один режим.
Например, следующий синтаксис объявляет два режима m1
и m2
.
modes mode m1 ... end mode m2 ... end end
mode
является именованной конструкцией. Оно прекращается end
ключевое слово. Каждое объявление режима содержит полный набор уравнений, которые описывают этот рабочий режим.
modes mode m1 equations ... end end mode m2 equations ... end end end
Для каждого режима общее количество выражений уравнений, их размерность и порядок должны быть одинаковыми. Это ограничение то же самое что и для уравнений в разных ветвях if-elseif-else
оператор.
Это ограничение не распространяется на assert
выражения, поскольку они не включены в количество выражений.
Объявление режима может содержать entry
раздел, который позволяет вам задать действия, которые будут выполняться при входе в режим. Эти действия являются обновлениями переменных событий, основанными на значении непрерывной переменной непосредственно перед входом в режим.
modes mode m1 equations ... end end mode m2 entry ... end equations ... end end end
The entry
секция отделена от equations
section, и переменная события обновляется в entry
раздел не учитывается в количестве выражений уравнений для режима.
Чтобы реализовать сброс состояния, графики режима могут содержать instantaneous modes и compound transitions. Мгновенный режим является режимом, который активен только для одной итерации события. Вы объявляете мгновенные режимы так же, как и обычные режимы, используя тот же синтаксис. Тот же режим может использоваться как мгновенный режим в одном случае и обычный режим в другом, в зависимости от переходов, объявленных на графике режимов. Чтобы указать, что режим мгновенен, перечислите его как средний режим в составном переходе.
entry
| initial
| modecharts
| transitions