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