Simulink. ModelReference.modifyProtectedModel

Измените существующую защищенную модель

Синтаксис

Simulink.ModelReference.modifyProtectedModel(model)
Simulink.ModelReference.modifyProtectedModel(model,Name,Value)
[harnessHandle] = Simulink.ModelReference.modifyProtectedModel(model,'Harness',true)
[~ ,neededVars] = Simulink.ModelReference.modifyProtectedModel(model)

Описание

пример

Simulink.ModelReference.modifyProtectedModel(model) изменяет опции для существующей защищенной модели, созданной из заданного model. Если аргументы пары Name,Value не заданы, измененная защищенная модель обновляется со значениями по умолчанию и поддерживает только симуляцию.

пример

Simulink.ModelReference.modifyProtectedModel(model,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары Name,Value. Эти опции являются теми же возможностями, которые предоставляются функцией Simulink.ModelReference.protect. Однако эти опции имеют дополнительные опции изменить пароли шифрования для представления только для чтения, симуляции и генерации кода. Когда вы добавляете функциональность в защищенную модель или изменяете пароли шифрования, незащищенная модель должна быть доступной. Программное обеспечение ищет модель на пути MATLAB®. Если модель не найдена, программное обеспечение сообщает об ошибке.

пример

[harnessHandle] = Simulink.ModelReference.modifyProtectedModel(model,'Harness',true) создает модель тестовой обвязки для защищенной модели. Это возвращает указатель используемой модели в harnessHandle.

[~ ,neededVars] = Simulink.ModelReference.modifyProtectedModel(model) возвращает массив ячеек, который включает имена переменных базового рабочего пространства, используемых защищенной моделью.

Примеры

свернуть все

Создайте модифицируемую защищенную модель с поддержкой генерации кода, затем сбросьте его к значениям по умолчанию.

Добавьте пароль для того, когда защищенная модель будет изменена. Если вы пропускаете этот шаг, вам предлагают установить пароль, когда модифицируемая защищенная модель создается.

Simulink.ModelReference.ProtectedModel.setPasswordForModify(...
'sldemo_mdlref_counter','password');

Создайте модифицируемую защищенную модель с поддержкой генерации кода и Веб-представления. Опционально, если вы хотите добавить поддержку генерации HDL-кода, установите 'hdl' на true.

Simulink.ModelReference.protect('sldemo_mdlref_counter','Mode',...
'CodeGeneration','Modifiable',true,'Report',true);

Обеспечьте пароль, чтобы изменить защищенную модель.

Simulink.ModelReference.ProtectedModel.setPasswordForModify(...
'sldemo_mdlref_counter','password');

Измените модель, чтобы использовать значения по умолчанию.

Simulink.ModelReference.modifyProtectedModel(...
'sldemo_mdlref_counter');

Получившаяся защищенная модель обновляется со значениями по умолчанию и поддерживает только симуляцию.

Создайте модифицируемую защищенную модель с поддержкой генерации кода и Веб-представления, затем измените его, чтобы удалить поддержку Веб-представления.

Добавьте пароль для того, когда защищенная модель будет изменена. Если вы пропускаете этот шаг, вам предлагают установить пароль, когда модифицируемая защищенная модель создается.

Simulink.ModelReference.ProtectedModel.setPasswordForModify(...
'sldemo_mdlref_counter','password');

Создайте модифицируемую защищенную модель с поддержкой генерации кода и Веб-представления.

Simulink.ModelReference.protect('sldemo_mdlref_counter','Mode',...
'CodeGeneration','Webview',true,'Modifiable',true,'Report',true);

Обеспечьте пароль, чтобы изменить защищенную модель.

Simulink.ModelReference.ProtectedModel.setPasswordForModify(...
'sldemo_mdlref_counter','password');

Удалите поддержку Веб-представления из защищенной модели, которую вы создали.

Simulink.ModelReference.modifyProtectedModel(...
'sldemo_mdlref_counter', 'Mode', 'CodeGeneration','Report',true);

Измените пароль шифрования для модифицируемой защищенной модели.

Добавьте пароль для того, когда защищенная модель будет изменена. Если вы пропускаете этот шаг, вам предлагают установить пароль, когда модифицируемая защищенная модель создается.

Simulink.ModelReference.ProtectedModel.setPasswordForModify(...
'sldemo_mdlref_counter','password');

Добавьте пароль, который защищенный образцовый пользователь должен обеспечить, чтобы сгенерировать код.

Simulink.ModelReference.ProtectedModel.setPasswordForSimulation(...
'sldemo_mdlref_counter','cgpassword');

Создайте модифицируемую защищенную модель с отчетом и поддержкой генерации кода с шифрованием.

Simulink.ModelReference.protect('sldemo_mdlref_counter','Mode',...
'CodeGeneration','Encrypt',true,'Modifiable',true,'Report',true);

Обеспечьте пароль, чтобы изменить защищенную модель.

Simulink.ModelReference.ProtectedModel.setPasswordForModify(...
'sldemo_mdlref_counter','password');

Измените пароль шифрования для симуляции.

Simulink.ModelReference.modifyProtectedModel(
'sldemo_mdlref_counter','Mode','CodeGeneration','Encrypt',true,...
'Report',true,'ChangeSimulationPassword',...
{'cgpassword','new_password'});

Добавьте модель тестовой обвязки для существующей защищенной модели.

Добавьте пароль для того, когда защищенная модель будет изменена. Если вы пропускаете этот шаг, вам предлагают установить пароль, когда модифицируемая защищенная модель создается.

Simulink.ModelReference.ProtectedModel.setPasswordForModify(...
'sldemo_mdlref_counter','password');

Создайте модифицируемую защищенную модель с отчетом и поддержкой генерации кода с шифрованием. Опционально, если вы хотите добавить поддержку генерации HDL-кода, установите 'hdl' на true.

Simulink.ModelReference.protect('sldemo_mdlref_counter','Mode',...
'CodeGeneration','Modifiable',true,'Report',true);

Обеспечьте пароль, чтобы изменить защищенную модель.

Simulink.ModelReference.ProtectedModel.setPasswordForModify(...
'sldemo_mdlref_counter','password');

Добавьте модель тестовой обвязки для защищенной модели.

[harnessHandle] = Simulink.ModelReference.modifyProtectedModel(...
'sldemo_mdlref_counter','Mode','CodeGeneration','Report',true,...
'Harness',true);

Входные параметры

свернуть все

Имя модели, заданное как строка или вектор символов. Это содержит имя модели или путь блока Model, который ссылается на защищенную модель.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Mode','CodeGeneration','OutputFormat','Binaries','ObfuscateCode',true указывает, что запутываемый код сгенерирован для защищенной модели. Это также указывает что только двоичные файлы и заголовки в сгенерированном коде быть видимым пользователям защищенной модели.

Общий

свернуть все

Папка для защищенной модели, заданной как строка или вектор символов.

Пример: 'Path','C:\Work'

Опция, чтобы сгенерировать отчет, заданный как булево значение.

Чтобы просмотреть отчет, щелкните правой кнопкой по значку значка защищенной модели и выберите Display Report. Или, вызовите функцию Simulink.ProtectedModel.open с опцией report.

Отчет сгенерирован в формате HTML. Это включает информацию о среде, функциональности, лицензионных требованиях и интерфейсе для защищенной модели.

Пример: 'Report',true

Опция, чтобы сгенерировать HDL-код, заданный как булево значение.

Эта опция требует лицензии HDL Coder™. Когда вы включаете эту опцию, убедитесь, что вы задаете Mode. Можно установить эту опцию на true в сочетании с набором Mode к CodeGeneration включать и поддержку кода С и генерации HDL-кода защищенной модели.

Если вы хотите включить только симуляцию, и поддержка генерации HDL-кода, но не генерация кода C, установила Mode на HDLCodeGeneration. Вы не должны устанавливать опцию hdl на true.

Пример: 'hdl',true

Опция, чтобы создать модель тестовой обвязки, заданную как булево значение.

Пример: 'Harness',true

Опция, чтобы добавить постобработку функционирует для защищенных образцовых файлов, заданных как указатель на функцию. Функция принимает объект Simulink.ModelReference.ProtectedModel.HookInfo как входную переменную. Этот объект предоставляет информацию о файлах исходного кода и других файлах, сгенерированных во время защищенного образцового создания. Объект также предоставляет информацию об экспортируемых символах, которые вы не должны изменять. До упаковки защищенной модели вызвана функция постобработки.

Для защищенной модели с интерфейсом топ-модели объект Simulink.ModelReference.ProtectedModel.HookInfo не может предоставить информацию об экспортируемых символах.

Пример: 'CustomPostProcessingHook',@(protectedMdlInf)myHook(protectedMdlInf)

Функциональность

свернуть все

Режим защиты модели. Задайте одно из следующих значений:

  • 'Normal': Если топ-модель запускается в режиме 'Normal', защищенные образцовые выполнения как дочерний элемент топ-модели.

  • 'Accelerator': топ-модель может запуститься в 'Normal', 'Accelerator' или режиме 'Rapid Accelerator'.

  • 'CodeGeneration': топ-модель может запуститься в 'Normal', 'Accelerator' или режиме 'Rapid Accelerator' и поддержать генерацию кода.

  • 'HDLCodeGeneration': топ-модель может запуститься в 'Normal', 'Accelerator' или режиме 'Rapid Accelerator' и поддержать генерацию HDL-кода.

  • 'ViewOnly': Выключает Моделируют и Генерируют режимы функциональности кода. Включает режим представления только для чтения.

Пример: 'Mode','Accelerator'

Примечание

Этот аргумент влияет на вывод только, когда вы задаете Mode как 'Accelerator' или 'CodeGeneration. Когда вы задаете Mode как 'Normal', только файл MEX является частью выходного пакета.

Защищенная видимость кода. Этот аргумент определяет, какая часть кода, сгенерированного для защищенной модели, видима пользователям. Задайте одно из следующих значений:

  • 'CompiledBinaries': Только двоичные файлы и заголовки видимы.

  • 'MinimalCode': Включает только минимальные заголовочные файлы, требуемые создавать код с выбранными настройками сборки. Код в папке сборки видим. Пользователи могут осмотреть код в защищенном образцовом отчете и перекомпилировать его в их целях.

  • 'AllReferencedHeaders': Включает заголовочные файлы, найденные на включать пути. Код в папке сборки видим. Заголовочные файлы, на которые ссылается код, также видимы.

Пример: 'OutputFormat','AllReferencedHeaders'

Опция, чтобы запутать сгенерированный код, заданный как булево значение. Применимый только, когда генерации кода включают для защищенной модели. Путаница не поддержана для генерации HDL-кода.

Пример: 'ObfuscateCode',true

Опция, чтобы включать представление только для чтения защищенной модели, заданной как булево значение.

Чтобы открыть Веб-представление защищенной модели, используйте один из следующих методов:

  • Щелкните правой кнопкой по значку значка защищенной модели и выберите Show Web view.

  • Используйте функцию Simulink.ProtectedModel.open. Например, чтобы отобразить Веб-представление для защищенной модели sldemo_mdlref_counter, можно вызвать:

    Simulink.ProtectedModel.open('sldemo_mdlref_counter', 'webview');

  • Дважды кликните .slxp защищенный образцовый файл в Браузере текущей папки.

  • В диалоговом окне Block Parameter для защищенной модели нажмите Open Model.

Пример: 'Webview',true

Шифрование

свернуть все

Опция, чтобы изменить пароль шифрования для симуляции, заданной как массив ячеек двух векторов символов. Первый вектор является старым паролем, второй вектор является новым паролем.

Пример: 'ChangeSimulationPassword',{'old_password','new_password'}

Опция, чтобы изменить пароль шифрования для представления только для чтения, заданного как массив ячеек двух векторов символов. Первый вектор является старым паролем, второй вектор является новым паролем.

Пример: 'ChangeViewPassword',{'old_password','new_password'}

Опция, чтобы изменить пароль шифрования для генерации кода, заданной как массив ячеек двух векторов символов. Первый вектор является старым паролем, второй вектор является новым паролем.

Пример: 'ChangeCodeGenerationPassword',{'old_password','new_password'}

Опция, чтобы зашифровать защищенную модель, заданную как булево значение. Применимый, когда вы задали пароль во время защиты, или при помощи следующих методов:

Пример: 'Encrypt',true

Выходные аргументы

свернуть все

Указатель модели тестовой обвязки, возвращенной как двойное или 0, в зависимости от значения Harness.

Если Harness является true, значение является указателем модели тестовой обвязки; в противном случае значением является 0.

Имена переменных базового рабочего пространства используются защищенной моделью, возвращенной как массив ячеек.

Массив ячеек может также включать переменные, которые не использует защищенная модель.

Введенный в R2014b