Implicit events является встроенными событиями, которые происходят, когда график выполняется:
Стройте диаграмму пробуждения
Запись в состояние
Выход из состояния
Значение присвоено внутреннему объекту данных
Эти события неявны, потому что вы не задаете или инициировали их явным образом. Неявные события являются дочерними элементами графика, в котором они происходят и отображаются только в вышестоящей диаграмме.
Чтобы сослаться на неявные события, операторы действия используют этот синтаксис:
event(object)
где event имя неявного события и object состояние или данные, в которых событие имеет место.
Каждое ключевое слово ниже генерирует неявные события в обозначении языка действия для состояний и переходов.
Неявное событие | Значение |
|---|---|
Задает и неявно генерирует локальное событие, когда программное обеспечение Stateflow® пишет значение в переменную Переменная | |
Задает и неявно генерирует локальное событие когда заданный | |
Задает и неявно генерирует локальное событие когда заданный | |
Задает и неявно генерирует локальное событие, когда график оцениваемого действия просыпается. |
Если больше чем один объект имеет то же имя, используйте точечный оператор, чтобы квалифицировать имя объекта с именем его родительского элемента. Этими примерами являются действительные ссылки к неявным событиям:
enter(switch_on) en(switch_on) change(engine.rpm)
tick событие обращается к графику, содержащему оцениваемое действие. Событие не может обратиться к различному графику аргументом.
Этот пример иллюстрирует использование неявного tick события.

Fan и Heater параллельны (AND) сверхдержавы. В первый раз, когда событие пробуждает диаграмму Stateflow, состояния Fan.Off и Heater.Off станьте активными.
Примите, что вы запускаете симуляцию дискретного времени. Каждый раз, когда график просыпается, tick широковещательная передача события происходит. После четырех широковещательных сообщений, перехода от Fan.Off к Fan.On происходит. Точно так же после трех широковещательных сообщений, перехода от Heater.Off к Heater.On происходит.
Для получения информации о after оператор, смотрите Выполнение Диаграммы управления при помощи Временной Логики.
Предположим что:
Ваш график содержит параллельные состояния.
В нескольких параллельных состояниях то же неявное событие используется, чтобы охранять переход от одного подсостояния до другого.
Когда несколько переходов допустимы в том же временном шаге, переходы выполняются на основе порядка, в котором они были созданы в графике. Этот порядок не обязательно совпадает с порядком активации параллельных состояний, которые содержат переходы. Например, рассмотрите следующий график:

Когда переход от IV.HERE к IV.THERE происходит, условие ex(IV.HERE) допустимо для переходов от А к B для параллели, утверждает I, II, и III. Эти три перехода от А к B выполняются в порядке, в котором они были созданы: в состоянии I, затем II, и наконец III. Этот порядок не совпадает с порядком активации тех состояний.
Чтобы гарантировать, что допустимые переходы выполняются в том же порядке, что параллельные состояния становятся активными, используйте in оператор вместо неявного enter или exit события:

С этой модификацией переходы от А к B происходят в том же порядке как активация параллельных состояний. Для получения дополнительной информации о in оператор, смотрите Действие состояния Проверки при помощи в Операторе.