Измените существующую защищенную модель
Simulink.ModelReference.modifyProtectedModel(
изменяет опции для существующей защищенной модели, созданной из заданного model
)model
. Если Name,Value
парные аргументы не заданы, модифицированная защищенная модель обновляется со значениями по умолчанию и поддерживает только симуляцию.
Simulink.ModelReference.modifyProtectedModel(
дополнительные опции использования заданы одним или несколькими model
,Name,Value
)Name,Value
парные аргументы. Эти опции являются теми же возможностями, которые предоставляются Simulink.ModelReference.protect
функция. Однако эти опции имеют дополнительные опции изменить пароли шифрования для представления только для чтения, симуляции и генерации кода. Когда вы добавляете функциональность в защищенную модель или изменяете пароли шифрования, незащищенная модель должна быть доступной. Программное обеспечение ищет модель на MATLAB® path. Если модель не найдена, программное обеспечение сообщает об ошибке.
[
создает модель тестовой обвязки для защищенной модели. Это возвращает указатель используемой модели в harnessHandle
] = Simulink.ModelReference.modifyProtectedModel(model
,'Harness
',true)harnessHandle
.
[~ ,
возвращает массив ячеек, который включает имена переменных базового рабочего пространства, используемых защищенной моделью.neededVars
] = Simulink.ModelReference.modifyProtectedModel(model
)
Создайте модифицируемую защищенную модель с поддержкой генерации кода, затем сбросьте его к значениям по умолчанию.
Добавьте пароль для того, когда защищенная модель будет изменена. Если вы пропускаете этот шаг, вам предлагают установить пароль, когда модифицируемая защищенная модель создается.
openExample('sldemo_mdlref_counter'); 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');
Получившаяся защищенная модель обновляется со значениями по умолчанию и поддерживает только симуляцию.
Создайте модифицируемую защищенную модель с поддержкой генерации кода и Веб-представления, затем измените его, чтобы удалить поддержку Веб-представления.
Добавьте пароль для того, когда защищенная модель будет изменена. Если вы пропускаете этот шаг, вам предлагают установить пароль, когда модифицируемая защищенная модель создается.
openExample('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);
Измените пароль шифрования для модифицируемой защищенной модели.
Добавьте пароль для того, когда защищенная модель будет изменена. Если вы пропускаете этот шаг, вам предлагают установить пароль, когда модифицируемая защищенная модель создается.
openExample('sldemo_mdlref_counter'); 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'});
Добавьте модель тестовой обвязки для существующей защищенной модели.
Добавьте пароль для того, когда защищенная модель будет изменена. Если вы пропускаете этот шаг, вам предлагают установить пароль, когда модифицируемая защищенная модель создается.
openExample('sldemo_mdlref_counter'); 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);
model
— Имя моделиИмя модели в виде строки или вектора символов. Это содержит имя модели или путь блока Model, который ссылается на защищенную модель.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Mode','CodeGeneration','OutputFormat','Binaries','ObfuscateCode',true
указывает, что запутываемый код сгенерирован для защищенной модели. Это также указывает что только двоичные файлы и заголовки в сгенерированном коде отобразиться пользователям защищенной модели.Path
— Папка для защищенной моделиПапка для защищенной модели в виде строки или вектора символов.
Пример: 'Path','C:\Work'
Report
— Опция, чтобы сгенерировать отчетОпция, чтобы сгенерировать отчет в виде булева значения.
Чтобы просмотреть отчет, щелкните правой кнопкой по значку значка защищенной модели и выберите Display Report. Или, вызовите Simulink.ProtectedModel.open
функция с report
опция.
Отчет сгенерирован в формате HTML. Это включает информацию о среде, функциональности, лицензионных требованиях и интерфейсе для защищенной модели.
Пример: 'Report',true
hdl
— Опция, чтобы сгенерировать HDL-кодОпция, чтобы сгенерировать HDL-код в виде булева значения.
Эта опция требует лицензии HDL Coder™. Когда вы включаете эту опцию, убедитесь, что вы задаете Mode. Можно установить эту опцию на true
в сочетании с набором Mode к CodeGeneration
чтобы включить и код С и генерацию HDL-кода поддерживают для защищенной модели.
Если вы хотите включить только симуляцию, и поддержка генерации HDL-кода, но не генерация кода C, установила Mode на HDLCodeGeneration
. Вы не должны устанавливать опцию hdl на true
.
Пример: 'hdl',true
Harness
— Опция, чтобы создать модель тестовой обвязкиОпция, чтобы создать модель тестовой обвязки в виде булева значения.
Пример: 'Harness',true
CustomPostProcessingHook
— Опция, чтобы добавить постобработку функционирует для защищенных файлов моделиОпция, чтобы добавить постобработку функционирует для защищенных файлов модели в виде указателя на функцию. Функция принимает Simulink.ModelReference.ProtectedModel.HookInfo
возразите как входная переменная. Этот объект предоставляет информацию о файлах исходного кода и других файлах, сгенерированных во время защищенного создания модели. Объект также предоставляет информацию об экспортируемых символах, которые вы не должны изменять. До упаковки защищенной модели вызвана функция постобработки.
Для защищенной модели с интерфейсом топ-модели, Simulink.ModelReference.ProtectedModel.HookInfo
объект не может предоставить информацию об экспортируемых символах.
Пример: 'CustomPostProcessingHook',@(protectedMdlInf)myHook(protectedMdlInf)
Mode
— Режим защиты модели'Normal'
(значение по умолчанию) | 'Accelerator'
| 'CodeGeneration'
| 'HDLCodeGeneration'
| 'ViewOnly'
Режим защиты модели. Задайте одно из следующих значений:
'Normal'
: Если топ-модель запускается в 'Normal'
режим, защищенная модель запускается как дочерний элемент топ-модели.
'Accelerator'
: Топ-модель может запуститься в 'Normal'
, 'Accelerator'
, или 'Rapid Accelerator'
режим.
'CodeGeneration'
: Топ-модель может запуститься в 'Normal'
, 'Accelerator'
, или 'Rapid Accelerator'
режим и генерация кода поддержки.
'HDLCodeGeneration'
: Топ-модель может запуститься в 'Normal'
, 'Accelerator'
, или 'Rapid Accelerator'
режим и генерация HDL-кода поддержки.
'ViewOnly'
: Выключает Симулируют и Генерируют режимы функциональности кода. Включает режим представления только для чтения.
Пример: 'Mode','Accelerator'
OutputFormat
— Защищенная видимость кода'CompiledBinaries'
(значение по умолчанию) | 'MinimalCode'
| 'AllReferencedHeaders'
Примечание
Этот аргумент влияет на выход только, когда вы задаете Mode
как 'Accelerator'
или 'CodeGeneration
. Когда вы задаете Mode
как 'Normal'
, только файл MEX является частью выходного пакета.
Защищенная видимость кода. Этот аргумент определяет то, чем часть кода, сгенерированного для защищенной модели, отображается пользователям. Задайте одно из следующих значений:
'CompiledBinaries'
: Только двоичные файлы и заголовки отображаются.
'MinimalCode'
: Включает только минимальные заголовочные файлы, требуемые создавать код с выбранными настройками сборки. Код в папке сборки отображается. Пользователи могут смотреть код в защищенном отчете модели и перекомпилировать его в их целях.
'AllReferencedHeaders'
: Включает заголовочные файлы, найденные на включать пути. Код в папке сборки отображается. Заголовочные файлы, на которые ссылается код, также отображаются.
Пример: 'OutputFormat','AllReferencedHeaders'
ObfuscateCode
— Опция, чтобы запутать сгенерированный кодОпция, чтобы запутать сгенерированный код в виде булева значения. Применимый только, когда генерации кода включают для защищенной модели. Путаница не поддерживается для генерации HDL-кода.
Пример: 'ObfuscateCode',true
Webview
— Опция, чтобы включать Веб-представлениеОпция, чтобы включать представление только для чтения защищенной модели в виде булева значения.
Чтобы открыть Веб-представление защищенной модели, используйте один из следующих методов:
Щелкните правой кнопкой по значку значка защищенной модели и выберите Show Web view.
Используйте Simulink.ProtectedModel.open
функция. Например, чтобы отобразить Веб-представление для защищенной модели sldemo_mdlref_counter
, можно вызвать:
Simulink.ProtectedModel.open('sldemo_mdlref_counter', 'webview');
Дважды кликните .slxp
защищенный файл модели в Браузере текущей папки.
В диалоговом окне Block Parameter для защищенной модели нажмите Open Model.
Пример: 'Webview',true
ChangeSimulationPassword
— Опция, чтобы изменить пароль шифрования для симуляцииОпция, чтобы изменить пароль шифрования для симуляции в виде массива ячеек двух векторов символов. Первый вектор является старым паролем, второй вектор является новым паролем.
Пример: 'ChangeSimulationPassword',{'old_password','new_password'}
ChangeViewPassword
— Опция, чтобы изменить пароль шифрования для представления только для чтенияОпция, чтобы изменить пароль шифрования для представления только для чтения в виде массива ячеек двух векторов символов. Первый вектор является старым паролем, второй вектор является новым паролем.
Пример: 'ChangeViewPassword',{'old_password','new_password'}
ChangeCodeGenerationPassword
— Опция, чтобы изменить пароль шифрования для генерации кодаОпция, чтобы изменить пароль шифрования для генерации кода в виде массива ячеек двух векторов символов. Первый вектор является старым паролем, второй вектор является новым паролем.
Пример: 'ChangeCodeGenerationPassword',{'old_password','new_password'}
Encrypt
— Опция, чтобы зашифровать защищенную модельОпция, чтобы зашифровать защищенную модель в виде булева значения. Применимый, когда вы задали пароль во время защиты, или при помощи следующих методов:
Пароль для представления только для чтения модели: Simulink.ModelReference.ProtectedModel.setPasswordForView
Пароль для симуляции: Simulink.ModelReference.ProtectedModel.setPasswordForSimulation
Пароль для генерации кода: Simulink.ModelReference.ProtectedModel.setPasswordForCodeGeneration
Пароль для генерации HDL-кода: Simulink.ModelReference.ProtectedModel.setPasswordForHDLCodeGeneration
(HDL Coder)
Пример: 'Encrypt',true
harnessHandle
— Указатель модели тестовой обвязкиУказатель модели тестовой обвязки, возвращенной как двойное или 0
, В зависимости от значения Harness
.
Если Harness
true
, значение является указателем модели тестовой обвязки; в противном случае значением является 0
.
neededVars
— Имена переменных базового рабочего пространстваИмена переменных базового рабочего пространства используются защищенной моделью, возвращенной как массив ячеек.
Массив ячеек может также включать переменные, которые не использует защищенная модель.
Simulink.ModelReference.protect
| Simulink.ModelReference.ProtectedModel.setPasswordForModify
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.