before

Выполните график перед трансляцией события или заданным временем

Описание

пример

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

пример

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

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

пример

before(n,time_unit) возвращает true если меньше n Модули времени прошли с тех пор, как связанное состояние стало активным. В противном случае оператор возвращается false.

Задайте time_unit как секунд (sec), миллисекунды (msec), или микросекунды (usec). Если вы задаете n в качестве выражения график корректирует временную задержку, когда выражение изменяет значение во время симуляции.

Примечание

Оператор временной логики before поддерживается только в диаграммах Stateflow в моделях Simulink.

Примеры

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

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

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

Stateflow chart that uses the before operator in a state.

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

before(5,E)

Stateflow chart that uses the before operator in a transition.

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

[before(5,E)]

Stateflow chart that uses the before operator in a transition.

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

before(7,tick)[temp > 98.6]

Stateflow chart that uses the before operator in a transition.

Установите temp переменная в MED каждый раз, когда график просыпается, но только если связанное состояние было активным в течение менее 12,3 секунд.

on before(12.3,sec):
   temp = MED;

Stateflow chart that uses the before operator in a state.

Совет

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

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

Введенный в R2014b