event является объектом Stateflow®, который может инициировать действия в одном из этих объектов:
Параллельное состояние в диаграмме Stateflow.
Другая диаграмма Stateflow.
Simulink® инициирован или подсистема вызова функций.
В целях симуляции нет никакого предела количеству событий в диаграмме Stateflow. Однако для генерации кода, базовый компилятор C осуществляет теоретический предел 231-1 события.
implicit event является встроенным событием, которое широковещательно передано во время выполнения графика. Эти события неявны, потому что вы не задаете или инициировали их явным образом. Для получения дополнительной информации смотрите, Задают Поведение Графика при помощи Неявных Событий.
explicit event является событием, которое вы задаете явным образом. Явные события могут иметь один из этих осциллографов.
Осциллограф | Описание |
---|---|
Входной параметр | Событие, которое широковещательно передается к диаграмме Stateflow снаружи графика. Для получения дополнительной информации смотрите, Активируют диаграмму Stateflow путем Отправки Входных Событий и Логики Человеко-машинного интерфейса Проекта при помощи диаграмм Stateflow. |
Локальный | Событие, которое может произойти где угодно в диаграмме Stateflow, но видимо только в родительском объекте и его потомках. Локальные события поддерживаются только в диаграммах Stateflow в моделях Simulink. Для получения дополнительной информации смотрите Широковещательную передачу Локальные События, чтобы Синхронизировать Параллельные состояния. |
Вывод | Событие, которое происходит в диаграмме Stateflow, но широковещательно передается к блоку Simulink. Выходные события поддерживаются только в диаграммах Stateflow в моделях Simulink. Для получения дополнительной информации смотрите, Активируют блок Simulink путем Отправки Выходных Событий. |
Можно задать явные события на этих уровнях иерархии Stateflow.
Уровень иерархии | Видимость |
---|---|
График | Событие видимо к графику и всем его состояниям и подсостояниям. |
Подграфик | Событие видимо к подграфику и всем его состояниям и подсостояниям. |
Состояние | Событие видимо к состоянию и всем его подсостояниям. |
Можно добавить события в диаграмму Stateflow через окно Symbols, меню Chart в редакторе Stateflow или Model Explorer.
Чтобы открыть окно Symbols, выберите View> Symbols.
Кликните по значку Create Event.
В строке для нового события, под TYPE, кликните по значку и выберите:
Input Event
Local Event
Output Event
Отредактируйте имя события.
Для событий ввода и вывода кликните по полю PORT и выберите номер порта.
Чтобы задать свойства для события, откройте Property Inspector. В окне Symbols щелкните правой кнопкой по строке для события и выберите Explore. Для получения дополнительной информации смотрите Set Properties для События.
В диаграмме Stateflow в модели Simulink выберите пункт меню, соответствующий осциллографу события, которое вы хотите добавить.
Осциллограф | Пункт меню |
---|---|
Input | Chart> Add Inputs & Outputs> Event Input From Simulink |
Output | Chart> Add Inputs & Outputs> Event Output To Simulink |
Local | Chart> Add Other Elements> Local Event |
Диалоговое окно In the Event, задайте свойства данных. Для получения дополнительной информации смотрите Set Properties для События.
В диаграмме Stateflow в модели Simulink выберите View> Model Explorer.
В панели Model Hierarchy выберите объект в иерархии Stateflow, где вы хотите сделать новое событие видимым. Объект, который вы выбираете, становится родительским элементом нового события.
В меню Model Explorer выберите Add> Event. Новое событие с определением по умолчанию появляется в панели Содержимого Model Explorer.
В панели Event задайте свойства события. Для получения дополнительной информации смотрите Set Properties для События.
Можно отобразить свойства входа или локального события, или открыть место назначения выходного события непосредственно от диаграммы Stateflow. Щелкните правой кнопкой по состоянию или переходу, который содержит мероприятие, и выберите Explore. Контекстное меню перечисляет имена и осциллографы всех разрешенных символов в состоянии или переходе. Выбор входа или локального события из контекстного меню отображает свои свойства в Model Explorer. Выбор выходного события из контекстного меню открывает Подсистему Simulink или диаграмму Stateflow, сопоставленную с событием.
send
, чтобы широковещательно передать явные События в действияхЧтобы широковещательно передать явные события в состоянии или действиях перехода, используйте команду send
. Используя эту команду улучшает удобочитаемость графика и гарантирует, что явные события не приняты за данные. Для получения дополнительной информации смотрите Широковещательную передачу Локальные События, чтобы Синхронизировать Параллельные состояния.
Используйте условия на переходах вместо событий когда это необходимо к:
Представляйте условные операторы, например, [x < 1]
или [x == 0]
.
Представляйте изменение значения данных, например, [hasChanged(x)]
.
Для получения дополнительной информации смотрите Типы Действия Перехода.
enter
, чтобы проверять действие состоянияЧтобы проверять действие состояния, используйте оператор in
вместо неявного события enter
. Для получения дополнительной информации смотрите Действие состояния Проверки при помощи в Операторе.
Смешивание входных событий, которые используют триггеры ребра и результаты вызовов функции по ошибке во время парсинга и симуляции.