Таблица переходов состояний является альтернативным способом выражения последовательной модальной логики. Вместо графических состояний и переходов в Stateflow® график, используйте таблицы переходов состояний, чтобы выразить модальную логику в табличном формате. Таблицы переходов состояний поддерживаются только как блоки в Simulink® модель. Для получения дополнительной информации смотрите Таблицы переходов состояний в Stateflow.
Чтобы создать таблицы переходов состояний, используйте Редактор Stateflow. Можно вставлять, редактировать и перемещать строки и столбцы. Можно также добавить исторические соединения и задать состояние по умолчанию для таблицы переходов состояний.
Вставка строки:
Выберите существующее состояние.
На вкладке Modeling выберите одну из следующих опций:
Опция | Описание |
---|---|
Вставка строки состояния | Вставляет состояние на том же уровне иерархии. |
Вставка строки дочернего состояния | Вставка состояния в качестве дочернего элемента выбранного состояния. |
Вставка строки пути перехода по умолчанию | Вставка строки для задания условных переходных путей по умолчанию. |
Вставка строки пути внутреннего перехода | Вставляет строку для задания внутренних переходов от выбранного родительского состояния к его дочерним состояниям. Этот тип строки может быть добавлен только к состояниям с дочерними состояниями. |
Вставка столбца:
На вкладке Modeling нажмите Append Transition Col. Новый else-if
столбец отображается справа от последнего столбца.
Чтобы переместить строку, щелкните камеру состояния и перетащите ее в новое место. Когда вы перетаскиваете строку, вы видите визуальный индикатор того, где в иерархии состояние появится в его новой позиции.
Чтобы переместить ячейку перехода, щелкните в любом месте ячейки и перетащите условие, действие и ячейки назначения в новое место. Перемещаемая камера перемещает одну камеру вправо. Если столбец не существует, Stateflow создает его. Таблица переходов состояний препятствует перемещению камер в недопустимое место назначения и предупреждает вас о проблеме.
Чтобы скопировать строку:
Щелкните правой кнопкой мыши состояние в строке, которую вы хотите скопировать, и выберите Copy.
Щелкните правой кнопкой мыши состояние в целевой строке и выберите Paste.
Строка появится над строкой назначения.
Чтобы скопировать камеру перехода:
Щелкните правой кнопкой мыши камеры и выберите Copy.
Щелкните правой кнопкой мыши целевую камеру того же типа и выберите Paste.
Новое содержимое перезаписывает существующее содержимое в месте назначения. Таблица переходов состояний препятствует копированию содержимого в недопустимое место назначения.
Щелкните правой кнопкой мыши состояние и выберите Set to default.
Можно добавить исторические соединения к состояниям с дочерними элементами. Щелкните правой кнопкой мыши состояние и выберите Add history junction.
Чтобы распечатать копию таблицы переходов состояний, нажмите Ctrl+P (Command+P).
Задача | Действие |
---|---|
Выберите камеру для редактирования | Щелкните камеру. |
Выход из режима редактирования в камере | Нажмите Esc или щелкните другую таблицу, камеру, строку или столбец. |
Чтобы отменить эффекты предыдущей операции, нажмите Ctrl+Z (Command+Z).
Чтобы повторить эффекты предыдущей операции, нажмите Ctrl+Y (Command+Y).
Можно отменить и повторить до 10 операций.