every

Выполните график равномерно

Описание

пример

every(n,E) возвращает true в каждом nth вхождение события E поскольку ассоциированная страна стала активной. В противном случае оператор возвращает false.

пример

every(n,tick) возвращает true в каждом nth время, когда график просыпается, поскольку ассоциированная страна стала активной. В противном случае оператор возвращает false.

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

пример

every(n,sec) возвращает true каждый n секунды, с тех пор как ассоциированная страна стала активной. В противном случае оператор возвращает false.

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

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

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

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

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

Примечание

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

Примеры

развернуть все

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

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

Stateflow chart that uses the every operator in a state.

Переход из ассоциированной страны, когда график обрабатывает каждую пятую широковещательную передачу события E после того, как состояние стало активным.

every(5,E)

Stateflow chart that uses the every operator in a transition.

Переход из ассоциированной страны каждый седьмой tick событие начиная с состояния стало активным, но только если переменная temp больше 98.6.

every(7,tick)[temp > 98.6]

Stateflow chart that uses the every operator in a transition.

Постепенно увеличьте temp переменная 5 каждые 12.3 секунд, что состояние активно.

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

on every(12.3,sec):
   temp = temp+5;

Stateflow chart that uses the every operator in a state.

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

Советы

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

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

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

Введенный в R2014b