Выполнение алгоритма управления с использованием перечисленного сигнала

Этот пример показов, как использовать сигнал перечисленного типа данных для управления выполнением алгоритма блоков. Для получения основных сведений об использовании перечисленных типов данных в моделях, смотрите Использование перечисленных данных в моделях Simulink.

Задайте перечисляемый тип

Скопируйте определение перечисленного типа ex_SwitchCase_MyColors в файл скрипта в текущей папке.

classdef ex_SwitchCase_MyColors < Simulink.IntEnumType
  enumeration
    Red(0)
    Yellow(1)
    Blue(2)
    Mauve(3)
  end
end

Также можно использовать функцию Simulink.defineIntEnumType для определения типа.

Simulink.defineIntEnumType('ex_SwitchCase_MyColors',...
{'Red','Yellow','Blue','Mauve'},[0;1;2;3])

Исследуйте модель примера

Откройте пример модели ex_enum_switch_case.

open_system('ex_enum_switch_case')

Откройте перечисленное постоянное диалоговое окно блока. Постоянное выходное значение ex_SwitchCase_MyColors.Blue.

Откройте диалоговое окно блока Switch Case. Поле Case conditions задается как массив ячеек, содержащий три из четырёх возможных представителей перечисления. Блок имеет четыре выхода, соответствующих трём заданным представителям перечисления, и случай по умолчанию.

Откройте блоки Switch Case Action Subsystem. Каждая из подсистем содержит блок Constant, который использует разное постоянное значение.

Управление выполнением во время симуляции

Симулируйте модель. Блок Display показывает значение 5, что соответствует случаю ex_SwitchCase_MyColors.Blue.

В Перечисляемом Постоянном диалоговом окне блока задайте Значение следующим ex_SwitchCase_MyColors.Red и нажмите Применить. Блок Display показывает 19.

Задайте значение следующим ex_SwitchCase_MyColors.Mauve и нажмите Применить. Блок Display показывает 3, что соответствует случаю по умолчанию.