Симулируйте защищенную модель со временем активации компиляции или запуска кода

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