Управляйте состояниями в графиках, Enabled входными Событиями вызова функции

В графиках, включенных входными событиями вызова функции в модели Simulink®, вы управляете поведением состояний путем установки свойства диаграммы States When Enabling. В зависимости от значения этого свойства, когда входное событие повторно включает график, утверждает, или поддержите их новые значения или вернитесь к их начальным значениям. Изменить свойство:

  1. Откройте диалоговое окно Свойств диаграммы.

  2. Установите свойство States When Enabling на одну из этих опций.

    УстановкаОписание
    HeldПоддержите новые значения состояний.
    ResetВернитесь к начальным значениям состояний.
    InheritНаследуйтесь сходящий с родительской подсистемы.

Для новых графиков настройкой по умолчанию является Held. Для получения дополнительной информации смотрите, Активируют диаграмму Stateflow путем Отправки Входных Событий.

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

Если родительский элемент графика является образцовым корнем, то установка States When Enabling к Inherit эквивалентна установке свойства к Held. То, когда вызов функции ввел событие, повторно включает график, график поддерживает новые значения своих состояний. Например, в этой модели, график Caller использует событие E, чтобы проснуться и выполнить график Callee.

График Caller содержит два состояния, A и B.

Когда вы связываете E с A:

  • Ввод A включает график Callee.

  • Выход из A отключает график Callee.

  • Возвращение в A повторно включает график Callee.

Каждый раз, когда график Callee выполняется, выходные данные шаг y одним.

Эта таблица приводит ключевые поведения модели.

Временной интервалГрафик вызывающей стороныГрафик вызываемого
t = 0 к t = 10A состояния активен и включает Callee.A состояния выполняется путем постепенного увеличения y.
t = 10 к t = 20B состояния активен и отключает Callee.A состояния не выполняется.
t = 20 к t = 30A состояния активен и повторно включает Callee.A состояния выполняется путем постепенного увеличения y.
t = 30 к t = 40B состояния активен и отключает Callee.A состояния не выполняется.
t = 40 к t = 50A состояния активен и повторно включает Callee.A состояния выполняется путем постепенного увеличения y.

Установите свойство States When Enabling на Inherit или Held

В диалоговом окне Свойств диаграммы для Callee States When Enabling является Inherit. Поскольку родительский элемент этого графика является образцовым корнем, поведение эквивалентно, когда States When Enabling является Held. Во время симуляции вывод y поддерживает свое новое значение, когда входное событие вызова функции повторно включает график в t = 20 и t = 40.

Установите свойство States When Enabling на Reset

Предположим, что вы изменяете свойство States When Enabling для Callee к Reset. Во время симуляции y возвращается к своему начальному значению нуля, когда входное событие вызова функции повторно включает график в t = 20 и t = 40.

Поведение, когда график является внутренним блоком Model

Если график в блоке Model, то установка States When Enabling к Inherit эквивалентна установке свойства к Reset. То, когда вызов функции ввел событие, повторно включает график, график возвращается к начальным значениям его состояний. Например, эта модель содержит блок Model.

В блоке Model график Caller использует событие E, чтобы проснуться и выполнить график Callee, как в предыдущем примере.

Эта таблица приводит ключевые поведения модели.

Временной интервалГрафик вызывающей стороныГрафик вызываемого
t = 0 к t = 10A состояния активен и включает Callee.A состояния выполняется путем постепенного увеличения y.
t = 10 к t = 20B состояния активен и отключает Callee.A состояния не выполняется.
t = 20 к t = 30A состояния активен и повторно включает Callee.A состояния выполняется путем постепенного увеличения y.
t = 30 к t = 40B состояния активен и отключает Callee.A состояния не выполняется.
t = 40 к t = 50A состояния активен и повторно включает Callee.A состояния выполняется путем постепенного увеличения y.

Установите свойство States When Enabling на Inherit или Reset

В диалоговом окне Свойств диаграммы для Callee States When Enabling является Inherit. Поскольку этот график в блоке Model, поведение эквивалентно, когда States When Enabling является Reset. Во время симуляции вывод y возвращается к своему начальному значению нуля, когда входное событие вызова функции повторно включает график в t = 20 и t = 40.

Установите свойство States When Enabling на Held

Предположим, что вы изменяете свойство States When Enabling для Callee к Held. Во время симуляции y поддерживает свое новое значение, когда входное событие вызова функции повторно включает график в t = 20 и t = 40.

Похожие темы