Выполните график после трансляции события или заданного времени
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). Оператор создает MATLAB timer объект, который генерирует неявное событие для пробуждения графика. Файлы MATLAB timer объекты ограничены точностью 1 миллисекунда. Для получения дополнительной информации см. раздел События в автономных диаграммах.
The timer создается, когда график завершает выполнение entry действия связанного состояния и его подсостояний. Если вы задаете n как выражение, значение которого изменяется во время выполнения диаграммы, график не корректирует временную задержку timer объект.
The timer объект начинает запускаться в конце шага графика, когда связанное состояние становится активным. Этот шаг может включать в себя выполнение других параллельных состояний на графике.
Если график обрабатывает другую операцию, когда он получает неявное событие от timer объект, график помещает событие в очередь. Когда текущий шаг завершен, график обрабатывает событие.
Если состояние, сопоставленное с оператором временной логики, становится неактивным, прежде чем график обработает неявное событие, событие не пробуждает график.
Можно использовать кавычки, чтобы заключить ключевые слова 'tick', 'sec', '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 принимает, чтобы завершить.