Создайте переменные управления, задайте условия исполнения и экспортируйте переменные управления.
Создайте переменные управления в глобальной рабочей области или словаре данных.
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')
Использование перечисляемых типов упрощает сгенерированный код, поскольку он содержит имена значений, а не целых чисел.