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. Оператор создает timer MATLAB объект, который генерирует неявное событие, чтобы разбудить график. 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