Выполнение диаграммы после трансляции события или указанного времени
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 миллисекунды. Дополнительные сведения см. в разделе События в автономных диаграммах.
timer создается, когда диаграмма завершает выполнение entry действия связанного состояния и его подстанций. При указании n как выражение, значение которого изменяется во время выполнения диаграммы, диаграмма не корректирует временную задержку timer объект.
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 занимает до завершения.