Генерация кода Используя различные переходы

С различными переходами можно создать графики Stateflow® в моделях Simulink®, которые генерируют код, который может использоваться во множестве различных ситуаций с программным обеспечением. Различные переходы позволяют вам моделировать полное подмножество изменений в одной диаграмме Stateflow так, чтобы можно было выбрать, какое изменение вы хотите, когда вы генерируете код или когда вы компилируете сгенерированный код.

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

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

Различные переходы не могут использоваться в сочетании с действиями с путями к переходу по умолчанию состояния или графика.

Создайте различную настройку

Различные настройки варианта connect переходов к вашей базовой диаграмме Stateflow. Различные настройки только активны, когда различное условие перехода верно.

В этом примере вы добавите различные настройки в основную систему управления, которая включает и выключает лампу. Различные настройки позволяют лампе потускнеть несколькими способами. Если вы добавляете в различных настройках к своей диаграмме Stateflow, можно принять решение сгенерировать код для любой настройки.

Первоначально, ваша диаграмма Stateflow включает два состояния, Off и On. Свет включает когда событие, SWITCH_ON, отправляется в график. Свет выключает когда событие, SWITCH_OFF, отправляется в график.

Некоторые лампы имеют способность, которая будет недоступна. В том подмножестве существуют лампы, которые могут быть установлены высоко или низко и лампы, которые могут только быть установлены на High, носитель, или низко. Чтобы добавить эти возможности в диаграмму Stateflow, вы добавляете в трех изменениях: Dimmer1, Dimmer2, и NoDimmer. Dimmer1 имеет три подсостояния, HighСредняя, и Low. Dimmer2 имеет два подсостояния, High и Low.

Запись в различные настройки охраняет условие перехода, которое использует параметр Simulink или переменную MATLAB, которая задана в базовом рабочем пространстве. Чтобы изменить переход к различному переходу, кликните по переходу. Во вкладке Transition выберите Variant Transition. Переход появляется на графике с # символом, который указывает, что переход является различным переходом.

В этом примере различные настройки охраняет условие параметром Simulink. В этом случае, HAS_DIMMER1 объект параметра. Для различной настройки, чтобы быть активным, условие [HAS_DIMMER1 == 1] должно быть верным. Для получения дополнительной информации о параметрах Simulink, смотрите Установленные Значения Параметров блоков (Simulink).

В процессе моделирования ваша диаграмма Stateflow выполняет только активный фрагмент вашей диаграммы Stateflow. Неактивный фрагмент появляется grayed на холсте Stateflow. Чтобы измениться, какой фрагмент графика в настоящее время активен, обновите параметр защиты в базовом рабочем пространстве.

Сгенерируйте код для различных настроек

У вас должны быть Simulink Coder™ или Embedded Coder®, чтобы сгенерировать код от вашей диаграммы Stateflow. По умолчанию сгенерированный код только содержит активный различный конечный автомат.

Если вы используете Embedded Coder, можно принять решение включать условный оператор препроцессора в сгенерированный код. В редакторе Stateflow, на вкладке Modeling, под Design Data, выбирают Property Inspector. Под Advanced выберите Generate preprocessor conditionals.

Для получения дополнительной информации о генерации кода, смотрите, Генерируют Код Используя Simulink® Coder™ (Simulink Coder) и Генерируют Код Используя Embedded Coder® (Embedded Coder).

Используя различного менеджера

Различный менеджер является центральным инструментом, который позволяет вам управлять различными настройками в своей системной модели. В редакторе Stateflow, на вкладке Modeling, под Design Data, выбирают Variant Manager.

Для получения дополнительной информации о Различном менеджере, см. Различный Обзор менеджера (Simulink).

Похожие темы