Этот пример показывает вам, как симулировать защищенную модель в code compile и startup различные времена активации.
Откройте модель slexVariantMdlRefCondProp.slx. Модель содержит два блока Model, sub1 и sub2. Различное условие V == 1 распространен к блоку Model sub1. Однако условие не распространено с блоками в sub1. Блоки в sub1 неявно наследуйте условие. Блок Model sub2 распространяет Out различные условия.

code compile Время активацииПрежде чем вы симулируете, защитите блок Model sub2. Защищать модель - ссылку sub2, выберите блок sub2 и введите эту команду в командное окно MATLAB. Для получения дополнительной информации о защите моделей смотрите, Защищают Модели, чтобы Скрыть Содержимое (Simulink Coder).
Simulink.ModelReference.protect(gcb);
Когда Различное время активации установлено в code compile, изменение активного варианта для различных блоков в защищенной модели не поддерживается.
startup Время активацииПрежде чем вы симулируете модель с startup время активации, удалите защищенную модель.
delete('slexVariantMdlRefCondProp_sub2.slxp');Установите Различное время активации блока Variant Sink в блоке Model sub2 к startup. Измените различное управление в 'W' и измените спецификацию класса памяти W к 'ExportedGlobal'.
W = copy(V); W.CoderInfo.StorageClass = 'ExportedGlobal';
Защитите модель и измените активный вариант, чтобы симулировать модель.
Simulink.ModelReference.protect(gcb); W.Value = int32(3);
Условие W == 3 распространен к Gain6 и Out4.