at

Выполните график в широковещательной передаче события или указанное время

Синтаксис

Описание

пример

at(n,E) возвращает true если событие E произошло точно n с тех пор как связанное состояние стало активным. В противном случае оператор возвращается false.

пример

at(n,tick) возвращает true если график проснулся точно n с тех пор как связанное состояние стало активным. В противном случае оператор возвращается false.

Неявное tick события не поддерживается, когда Stateflow® график в Simulink® модель имеет входные события.

пример

at(n,sec) возвращает true если именно n с момента активизации связанного состояния прошло несколько секунд. В противном случае оператор возвращается false.

В автономных диаграммах в MATLAB®, задайте n со значением, большим или равным 0.001. Оператор создает MATLAB timer объект, который генерирует неявное событие для пробуждения графика. Файлы MATLAB timer объекты ограничены точностью 1 миллисекунда. Для получения дополнительной информации см. раздел События в автономных диаграммах.

  • The timer создается, когда график завершает выполнение entry действия связанного состояния и его подсостояний. Если вы задаете n как выражение, значение которого изменяется во время выполнения диаграммы, график не корректирует временную задержку timer объект.

  • The timer объект начинает запускаться в конце шага графика, когда связанное состояние становится активным. Этот шаг может включать в себя выполнение других параллельных состояний на графике.

  • Если график обрабатывает другую операцию, когда он получает неявное событие от timer объект, график помещает событие в очередь. Когда текущий шаг завершен, график обрабатывает событие.

  • Если состояние, сопоставленное с оператором временной логики, становится неактивным, прежде чем график обработает неявное событие, событие не пробуждает график.

Примечание

Использование at как абсолютный временной логический оператор поддерживается только в автономных диаграммах в MATLAB. Для графиков в моделях Simulink используйте after вместо этого оператор. Для получения дополнительной информации см. «Не использовать в для Абсолютно-временной временной логики в Графики в моделях Simulink».

Примеры

расширить все

Отображает сообщение о состоянии, когда график обрабатывает третье вещание события E после того, как состояние стало активным.

on at(3,E):
   disp('ON');

Stateflow chart that uses the at operator in a state.

Переход из связанного состояния, когда график обрабатывает пятое вещание события E после того, как состояние стало активным.

at(5,E)

Stateflow chart that uses the at operator in a transition.

Переход из связанного состояния, если состояние было активным только для пяти трансляций события E.

В графиках в модели Simulink введите:

[at(5,E)]

Stateflow chart that uses the at operator in a transition.

Условное обозначение для временных логических операторов не поддерживается в автономных диаграммах в MATLAB.

Переход из связанного состояния, когда график просыпается в седьмой раз после того, как состояние стало активным, но только если переменная temp больше 98,6.

at(7,tick)[temp > 98.6]

Stateflow chart that uses the at operator in a transition.

Установите temp переменная в HIGH если состояние было активным ровно 12,3 секунды.

В автономных диаграммах в MATLAB введите:

on at(12.3,sec):
   temp = HIGH;

Stateflow chart that uses the at operator in a state.

Использование every как абсолютный временной логический оператор не поддерживается в графиках в моделях Simulink.

Совет

  • Можно использовать кавычки, чтобы заключить ключевые слова 'tick' и 'sec'. Для примера, at(5,'tick') эквивалентно at(5,tick).

  • Диаграмма Stateflow сбрасывает счетчик, используемый at оператор каждый раз, когда связанное состояние повторно активируется.

  • Автономные диаграммы в MATLAB определяют временную логику в абсолютном времени с точки зрения времени настенного времени, которая ограничена точностью 1 миллисекунда.

Введенный в R2014b