Графики Stateflow® в моделях Simulink® выполняются в ответ на событие циклическим способом.
Поскольку график работает на одном потоке, действия, которые происходят на основе события, являются атомарными к тому событию. Все действие, вызванное событием в концах графика перед выполнением, возвращается к действию, которое происходило прежде, чем получить событие. Если событие инициирует действие, действие завершается, если не прервано ранним возвратом.
События Simulink пробуждают диаграммы Stateflow. Можно использовать события, чтобы управлять обработкой графиков широковещательными событиями, как описано в Широковещательной передаче Локальные События, чтобы Синхронизировать Параллельные состояния. Для широковещательной передачи события использования в качестве примера и направленной широковещательной передачи события, см.:
События имеют иерархию (родительский элемент) и осциллограф. Родительский элемент и осциллограф вместе задают область значений доступа к событиям. Родительский элемент события обычно определяет, кто может включить событие (имеет, получают права). Смотрите поля Name и Parent для события в Set Properties для События для получения дополнительной информации.
События процесса диаграмм Stateflow от верхней части вниз через иерархию графика:
Выполняет during
и on
event_name
действия для активного состояния
Проверки на допустимые переходы в подсостояниях
Все события, за исключением выходного триггера ребра к блоку Simulink (см. следующее примечание), имеют следующее выполнение в графике:
Если получатель события активен, то это выполняется (см. Выполнение диаграммы Stateflow). (Получатель события является родительским элементом события, если направленная широковещательная передача события не происходит с помощью send()
функция.
Если получатель события не активен, ничего не происходит.
После широковещательной передачи события вещательная компания выполняет, рано возвращают логику на основе типа оператора действия, который вызвал событие.
Чтобы узнать о ранней логике возврата, смотрите, Рано Возвращают Логику для Широковещательных сообщений События.
Выведите инициируют выполнение события фронтом сигнала в модели Simulink, эквивалентно переключению значения значения выходных данных между 1 и 0. Это не обработано как событие Stateflow. Смотрите Задают Запускаемые фронтом Выходные События.