exponenta event banner

Simulink. ModelReference.modifyProtectedModel

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

Описание

пример

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');

Создание изменяемой защищенной модели с поддержкой создания кода и веб-просмотра.

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');

Создание изменяемой защищенной модели с отчетом и поддержкой создания кода с шифрованием.

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);

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

свернуть все

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

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

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

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

свернуть все

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

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

Параметр создания отчета, заданный как логическое значение.

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

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

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

Параметр для создания кода HDL, заданного как логическое значение.

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

Если требуется включить только моделирование и поддержку генерации кода HDL, но не C-кода, установите для параметра Режим значение 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

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

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

  • Щелкните правой кнопкой мыши значок защищенной модели и выберите Показать веб-представление.

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

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

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

  • В диалоговом окне «Параметр блока» для защищенной модели нажмите «Открыть модель».

Пример: '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