exponenta event banner

в

Выполнение диаграммы в широковещательном режиме или в указанное время

Описание

пример

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 миллисекунды. Дополнительные сведения см. в разделе События в автономных диаграммах.

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

  • 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