Локальное событие - это событие, которое происходит в диаграмме Stateflow ® и отображается только в диаграмме. Этот тип события позволяет параллельным состояниям (AND) в одной и той же диаграмме синхронизироваться друг с другом, так что действия в одном состоянии запускают действия в другом состоянии. Действие в одной диаграмме не может транслировать локальные события в состояния в другой диаграмме. Для определения локального события:
Добавьте событие в диаграмму Stateflow, как описано в разделе Определение событий в диаграмме.
Задайте для свойства Scope события значение Local.
Локальные события поддерживаются только в диаграммах Stateflow в моделях Simulink ®. Дополнительные сведения см. в разделе Синхронизация компонентов модели путем трансляции событий.
Направленная широковещательная передача события передает локальное событие непосредственно из одного состояния в другое с помощью оператора. send:
send(event_name,state_name)
event_name является локальным событием и state_name является принимающим состоянием. Локальное событие передается непосредственно в принимающее состояние и любое из его подсостояний. Локальное событие должно быть видимым как для состояния отправки, так и для состояния приема. Состояние приема должно быть активным во время широковещательной передачи событий.Например, эта диаграмма содержит два параллельных состояния (И), A и B. Локальное событие E_one принадлежит диаграмме и виден для обоих состояний. В состоянии A, переход от подсостояния A1 подуказывать A2 использует направленную трансляцию событий формы send(E_one,B) для отправки локального события E_one указывать B. В B, событие запускает переход от подсостояния B1 подуказывать B2. Следовательно, активные подстанции в A и B синхронизированы. Дополнительные сведения о семантике этого примера см. в разделе Направленная трансляция событий с использованием функции отправки.

state_name аргумент может включать полный путь иерархии к состоянию. Например, если состояние A содержит состояние A1, вы можете отправить событие E указывать A1 с этой трансляцией:
send(E,A.A1)
Совет
Не включайте имя диаграммы в полный путь иерархии к состоянию.
Для широковещательной передачи локального события, не видимого в состоянии отправки, используйте оператор send с определенным именем события:
send(state_name.event_name)
event_name является локальным событием, владельцем которого является принимающее состояние state_name. Локальное событие передается непосредственно в принимающее состояние и любое из его подсостояний. Локальное событие отображается в принимающем состоянии, но не в отправляющем состоянии. Состояние приема должно быть активным во время широковещательной передачи событий.Например, эта диаграмма содержит два параллельных состояния (И), A и B. Локальное событие E_one принадлежит государству B и виден только этому состоянию. В состоянии A, переход от подсостояния A1 подуказывать A2 использует направленную трансляцию событий формы send(B.E_one) для отправки локального события E_one указывать B. В B, событие запускает переход от подсостояния B1 подуказывать B2. Следовательно, активные подстанции в A и B синхронизированы. Дополнительные сведения о семантике этого примера см. в разделе Направленная трансляция событий с использованием квалифицированного имени события.

аргумент может включать полный иерархический путь к принимающему состоянию. Не используйте имя диаграммы в полном пути к состоянию. Например, предположим, что состояние state_nameA содержит состояние A1, и что A1 владеет локальным событием E. Вы можете отправить событие E указывать A1 с этой трансляцией:
send(A.A1.E)
Неориентированная широковещательная рассылка событий отправляет локальное событие во все состояния, в которых оно видно, используя имя события в качестве действия условия:
event_name;
или путем вызова оператора send без указания состояния приема:
send(event_name)
event_name является локальным событием, видимым для отправляющего состояния.По возможности используйте направленные широковещательные передачи событий вместо неориентированных широковещательных передач событий. Направленные трансляции событий предотвращают нежелательную рекурсию во время моделирования и повышают эффективность генерируемого кода. Дополнительные сведения см. в разделе Предотвращение нежелательной рекурсии в диаграмме.
Во время моделирования диаграммы Stateflow могут обнаруживать неориентированные локальные трансляции событий. Для управления уровнем диагностического действия откройте диалоговое окно Параметры конфигурации (Configuration Parameters). На панели «Диагностика» > «Поток состояний» можно выбрать для диагностики Undirected event broadcasts. none, warning, или error. Значение по умолчанию: warning. Дополнительные сведения см. в разделе Неориентированные трансляции событий (Simulink).