Можно создать защищенную модель, которая поддерживает несколько целей генерации кода. В этом примере показано, как использовать функции командной строки, чтобы создать защищенную модель, которая поддерживает генерацию кода для целей ERT и GRT.
Загрузите модель и сохраните локальную копию. Эта модель сконфигурирована для цели GRT.
openExample('sldemo_mdlref_counter'); save_system('sldemo_mdlref_counter','mdlref_counter.slx');
Добавьте требуемый пароль для изменения защищенной модели. Если вы не добавляете пароль, вам предлагают установить пароль, когда вы создаете модифицируемую, защищенную модель.
Simulink.ModelReference.ProtectedModel.setPasswordForModify(... 'mdlref_counter','password');
Создайте модифицируемую, защищенную модель с поддержкой генерации кода.
Simulink.ModelReference.protect('mdlref_counter','Mode',... 'CodeGeneration', 'Modifiable',true, 'Report',true);
Получите список целей, которые поддерживает защищенная модель.
st = Simulink.ProtectedModel.getSupportedTargets('mdlref_counter')
st = 'grt' 'sim'
Сконфигурируйте незащищенную модель, чтобы поддержать цель ERT.
set_param('mdlref_counter', 'SystemTargetFile', 'ert.tlc'); save_system('mdlref_counter');
Добавьте поддержку защищенной модели для цели ERT. Вам предлагают пароль модификации.
Simulink.ProtectedModel.addTarget('mdlref_counter');
Проверьте, что список поддерживаемых целей теперь включает цель ERT.
st = Simulink.ProtectedModel.getSupportedTargets('mdlref_counter')
st = 'ert' 'grt' 'sim'