Выполните график после того, как событие широковещательно передаст или требуемое время
after(
возвращает n
,E
)true
если событие E
произошел, по крайней мере, n
времена, поскольку ассоциированная страна стала активной. В противном случае оператор возвращает false
.
after(
возвращает n
,tick
)true
если график разбудил, по крайней мере, n
времена, поскольку ассоциированная страна стала активной. В противном случае оператор возвращает false
.
Неявное событие tick
не поддерживается когда Stateflow® стройте диаграмму в Simulink® модель ввела события.
after(
возвращает n
,time_unit
)true
если, по крайней мере, n
модули времени протекли, поскольку ассоциированная страна стала активной. В противном случае оператор возвращает false
.
В графиках в модели Simulink задайте time_unit
как секунды (sec
), миллисекунды (msec
), или микросекунды (usec
). Если вы задаете n
как выражение, график настраивает временную задержку как значение изменений выражения во время симуляции.
В автономных диаграммах в MATLAB®, задайте n
со значением, больше, чем или равный 0.001
и time_unit
как секунды (sec
). Оператор создает timer
MATLAB объект, который генерирует неявное событие, чтобы разбудить график. MATLAB
timer
объекты ограничиваются 1 точностью миллисекунды. Для получения дополнительной информации смотрите События в Автономных диаграммах.
timer
объект создается, когда график закончил выполнять entry
действия ассоциированной страны и ее подсостояний. Если вы задаете n
как выражение, изменения значения которого во время выполнения графика, график не настраивает временную задержку timer
объект.
timer
объект начинает запускаться в конце шага графика, когда ассоциированная страна становится активной. Этот шаг может включать выполнение других параллельных состояний в графике.
Если график обрабатывает другую операцию, когда это получает неявное событие от timer
объект, график ставит событие в очередь. Когда текущий шаг завершается, график обрабатывает событие.
Если состояние, сопоставленное с временным логическим оператором, становится неактивным, прежде чем график обработает неявное событие, событие не будит график.
Можно использовать кавычки, чтобы заключить ключевые слова 'tick'
секунда
, 'msec'
, и 'usec'
. Например, after(5,'tick')
эквивалентно after(5,tick)
.
Диаграмма Stateflow сбрасывает счетчик, используемый after
оператор каждый раз ассоциированная страна повторно активирует.
Синхронизация для абсолютно-разовых временных логических операторов зависит от типа диаграммы Stateflow:
Графики в модели Simulink задают абсолютно-разовую временную логику в терминах времени симуляции.
Автономные диаграммы в MATLAB задают абсолютно-разовую временную логику в терминах тактового стеной времени, которое ограничивается 1 точностью миллисекунды.
Различие в синхронизации может влиять на поведение графика. Например, предположите, что этот график выполняет during
действие A
состояния.
В модели Simulink, вызове функции к f
выполняется в одном временном шаге и не способствует времени симуляции. Переход от A
состояния утверждать
B
происходит в первый раз, когда график просыпается и A
состояния было активно в течение по крайней мере 2 секунд. Значение отображено
entry
действие в B
состояния зависит только от размера шага, используемого решателем Simulink.
В автономной диаграмме, вызове функции к f
может занять несколько секунд тактового стеной времени, чтобы завершиться. Если вызов длится больше чем две секунды, график ставит в очередь неявное событие, сопоставленное с after
оператор. Переход от A
состояния утверждать
B
происходит когда функциональный f
выполнение концов. Значение отображено entry
действие в B
состояния зависит от времени вызов функции к
f
берет, чтобы завершиться.