Измените существующую защищенную модель
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);
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'
mode, защищенная модель запускается как дочерний элемент верхней модели.
'Accelerator'
: Верхняя часть может работать в 'Normal'
, 'Accelerator'
, или 'Rapid Accelerator'
режим.
'CodeGeneration'
: Верхняя часть может работать в 'Normal'
, 'Accelerator'
, или 'Rapid Accelerator'
mode и поддержка генерации кода.
'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'
- Опция запутывания сгенерированного кодаОпция запутывания сгенерированного кода, заданная как логическое значение. Применяется только, когда генерация кода включена для защищенной модели. Obfuscation не поддерживается для генерации HDL-кода.
Пример: 'ObfuscateCode',true
'Webview'
- Опция включения веб-представленияОпция включения представления защищенной модели только для чтения, заданная как логическое значение.
Чтобы открыть веб-представление защищенной модели, используйте один из следующих методов:
Щелкните правой кнопкой значок защищенной модели и выберите Show Web view.
Используйте Simulink.ProtectedModel.open
функция. Например, чтобы отобразить веб-представление для защищенной модели sldemo_mdlref_counter
, можно вызвать:
Simulink.ProtectedModel.open('sldemo_mdlref_counter', 'webview');
Дважды кликните .slxp
защищенный файл модели в браузере текущей папки.
В диалоговом окне Параметров блоков для защищенной модели нажмите 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
Пример: 'Encrypt',true
harnessHandle
- Указатель на модель тестовой обвязкиУказатель на модель тестовой обвязки, возвращенный как double или 0
, в зависимости от значения Harness
.
Если Harness
является true
, значение является указателем на модель тестовой обвязки; в противном случае значение 0
.
neededVars
- Имена переменных базового рабочего пространстваИмена переменных базового рабочего пространства, используемых защищенной моделью, возвращаются как массив ячеек.
Массив ячеек может также включать переменные, которые не использует защищенная модель.
Simulink.ModelReference.protect
| Simulink.ModelReference.ProtectedModel.setPasswordForModify
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.