Этот пример показывает вам, как симулировать защищенную модель в 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
.