Создайте переменные управления, задайте условия исполнения и экспортируйте переменные управления.
Создайте переменные управления в глобальной рабочей области или словаре данных.
FUEL=2; EMIS=1;
Используйте управляющие переменные, чтобы задать условие управления с помощью Simulink.Variant объект.
LinearController=Simulink.Variant('FUEL==2 && EMIS==1');Примечание
Перед каждой симуляцией задайте Simulink.Variant объекты, представляющие условия варианта.
Если вы сохранили переменные в глобальной рабочей области, выберите переменные управления для экспорта. Щелкните правой кнопкой мыши и выберите Save As, чтобы задать имя MAT-файла.
Если вы хотите повторно использовать общие условия исполнения для моделей, задайте условия управления вариантом с помощью Simulink.Variant объекты.
Повторно используйте Simulink.Variant объекты для динамического изменения иерархии модели для отражения условий исполнения путем изменения значений переменных управления, которые определяют выражение условия.
Пример модели AutoSSVar показывает использование Simulink.Variant объекты для определения вариантов условий управления.
Примечание
Необходимо использовать Simulink.Variant объекты для определения условий управления вариантом для рабочих процессов AUTOSAR.
Используйте перечисленные типы, чтобы задать значимые имена целым числам, используемым в качестве вариантов значений управления.
В MATLAB® Редактор, задайте классы, которые сопоставляют перечисленные значения со значимыми именами.
classdef sldemo_mrv_CONTROLLER_TYPE < Simulink.IntEnumType enumeration NONLINEAR (1) SECOND_ORDER (2) end end
classdef sldemo_mrv_BUILD_TYPE < Simulink.IntEnumType
enumeration
PROTOTYPE (1)
PRODUCTION (2)
end
end
Определите Simulink.Variant объекты для этих классов в глобальной рабочей области.
VE_NONLINEAR_CONTROLLER = Simulink.Variant...
('E_CTRL==sldemo_mrv_CONTROLLER_TYPE.NONLINEAR')
VE_SECOND_ORDER_CONTROLLER =Simulink.Variant...
('E_CTRL==sldemo_mrv_CONTROLLER_TYPE.SECOND_ORDER')
VE_PROTOTYPE =Simulink.Variant...
('E_CURRENT_BUILD==sldemo_mrv_BUILD_TYPE.PROTOTYPE')
VE_PRODUCTION =Simulink.Variant...
('E_CURRENT_BUILD==sldemo_mrv_BUILD_TYPE.PRODUCTION')Использование перечисляемых типов упрощает сгенерированный код, поскольку он содержит имена значений, а не целых чисел.