Неясное содержимое модели, на которое ссылаются, чтобы скрыть интеллектуальную собственность
Simulink.ModelReference.protect(
создает защищенную модель из заданного model
)model
. Это помещает защищенную модель в текущую рабочую папку. Защищенная модель имеет то же имя как исходная модель. Это имеет дополнительный .slxp
.
Simulink.ModelReference.protect(
дополнительные опции использования заданы одним или несколькими model
,Name,Value
)Name,Value
парные аргументы.
[
создает модель тестовой обвязки для защищенной модели. Это возвращает указатель используемой модели в harnessHandle
] = Simulink.ModelReference.protect(model
,'Harness
',true)harnessHandle
.
[~ ,
возвращает массив ячеек, который включает имена переменных базового рабочего пространства, используемых защищенной моделью.neededVars
] = Simulink.ModelReference.protect(model
)
Защитите модель, на которую ссылаются, и поместите защищенную модель в текущую рабочую папку.
sldemo_mdlref_bus;
model= 'sldemo_mdlref_counter_bus'
Simulink.ModelReference.protect(model);
Защищенная модель под названием sldemo_mdlref_counter_bus.slxp
создается. Защищенный файл модели помещается в текущую рабочую папку.
Защитите модель, на которую ссылаются, и поместите защищенную модель в заданную папку.
sldemo_mdlref_bus; model= 'sldemo_mdlref_counter_bus' Simulink.ModelReference.protect(model,'Path','C:\Work');
Защищенная модель под названием sldemo_mdlref_counter_bus.slxp
создается. Защищенный файл модели помещается в C:\Work
.
Защитите модель, на которую ссылаются, сгенерируйте код для него в режиме normal mode и запутайте код.
sldemo_mdlref_bus; model= 'sldemo_mdlref_counter_bus' Simulink.ModelReference.protect(model,'Path','C:\Work','Mode','CodeGeneration',... 'ObfuscateCode',true);
Защищенная модель под названием sldemo_mdlref_counter_bus.slxp
создается. Защищенный файл модели помещается в C:\Work
папка. Защищенная модель запускается как дочерний элемент родительской модели. Код, сгенерированный для защищенной модели, запутывается программным обеспечением.
Защитите модель, на которую ссылаются и сгенерируйте HDL-код для него в режиме normal mode.
parent_model= 'hdlcoder_protected_model_parent_harness'; reference_model_to_protect = 'hdlcoder_referenced_model_gain'; Simulink.ModelReference.protect(reference_model_to_protect, ... 'Mode','HDLCodeGeneration')
Защищенная модель под названием hdlcoder_referenced_model_gain.slxp
создается. Защищенный файл модели помещается в ту же папку как родительская модель и модель, на которую ссылаются. Защищенная модель запускается как дочерний элемент родительской модели.
Установите опцию hdl на true
с набором Mode к CodeGeneration
чтобы включить и генерацию кода C и генерацию HDL-кода поддерживают для защищенной модели, которую вы создаете.
parent_model= 'hdlcoder_protected_model_parent_harness'; reference_model_to_protect = 'hdlcoder_referenced_model_gain'; Simulink.ModelReference.protect(reference_model_to_protect, ... 'Mode','CodeGeneration','hdl',true)
Видимость кода системы управления, позволяя пользователям просмотреть только двоичные файлы и заголовки в коде, сгенерированном для защищенной модели.
sldemo_mdlref_bus; model= 'sldemo_mdlref_counter_bus' Simulink.ModelReference.protect(model,'Mode','CodeGeneration','OutputFormat',... 'CompiledBinaries');
Защищенная модель под названием sldemo_mdlref_counter_bus.slxp
создается. Защищенный файл модели помещается в текущую рабочую папку. Пользователи могут просмотреть только двоичные файлы и заголовки в коде, сгенерированном для защищенной модели.
Создайте модель тестовой обвязки для защищенной модели и сгенерируйте отчет HTML.
sldemo_mdlref_bus; modelPath= 'sldemo_mdlref_bus/CounterA' [harnessHandle] = Simulink.ModelReference.protect(modelPath,'Path','C:\Work',... 'Harness',true,'Report',true);
Защищенная модель под названием sldemo_mdlref_counter_bus.slxp
создается, наряду с неназванной моделью тестовой обвязки. Защищенный файл модели помещается в C:\Work
папка. Папка также содержит отчет HTML. Указатель модели тестовой обвязки возвращен в harnessHandle
.
model
— Имя моделиИмя модели в виде строки или вектора символов. Это содержит имя модели или путь блока Model, который ссылается на модель, которая будет защищена.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Mode','CodeGeneration','OutputFormat','Binaries','ObfuscateCode',true
указывает, что запутываемый код сгенерирован для защищенной модели. Это также указывает что только двоичные файлы и заголовки в сгенерированном коде отобразиться пользователям защищенной модели.'Harness'
— Опция, чтобы создать модель тестовой обвязкиОпция, чтобы создать модель тестовой обвязки в виде булева значения.
Пример: 'Harness',true
'Mode'
— Режим защиты модели'Normal'
(значение по умолчанию) | 'Accelerator'
| 'CodeGeneration'
| 'HDLCodeGeneration'
| 'ViewOnly'
Режим защиты модели. Задайте одно из следующих значений:
'Normal'
: Если топ-модель запускается в 'Normal'
режим, защищенная модель запускается как дочерний элемент топ-модели.
'Accelerator'
: Топ-модель может запуститься в 'Normal'
, 'Accelerator'
, или 'Rapid Accelerator'
режим.
'CodeGeneration'
: Топ-модель может запуститься в 'Normal'
, 'Accelerator'
, или 'Rapid Accelerator'
режим и генерация кода поддержки.
'HDLCodeGeneration'
: Топ-модель может запуститься в 'Normal'
, 'Accelerator'
, или 'Rapid Accelerator'
режим и генерация HDL-кода поддержки. (Требует лицензии HDL Coder™),
'ViewOnly'
: Выключает Симулируют и Генерируют режимы функциональности кода. Включает режим представления только для чтения.
Пример: 'Mode','Accelerator'
'CodeInterface'
— Интерфейс, через который к сгенерированному коду получает доступ блок Model'Model reference'
(значение по умолчанию) | 'Top model'
Применяется только если системный конечный файл (SystemTargetFile
) установлен в основанный на ERT системный конечный файл (например, ert.tlc
). Требует лицензии Embedded Coder®.
Задайте одно из следующих значений:
'Model reference'
: Доступ кода через интерфейс модели - ссылки кода, который позволяет использование защищенной модели в иерархии модели - ссылки. Пользователи защищенной модели могут сгенерировать код от родительской модели, которая содержит защищенную модель. Кроме того, пользователи могут запустить блок Model симуляции SIL/PIL с защищенной моделью.
'Top model'
: Доступ кода через автономный интерфейс. Пользователи защищенной модели могут запустить блок Model симуляции SIL/PIL с защищенной моделью.
Пример: 'CodeInterface','Top model'
'ObfuscateCode'
— Опция, чтобы запутать сгенерированный кодОпция, чтобы запутать сгенерированный код в виде булева значения. Применимый только, когда генерации кода во время защиты включают. Путаница не поддержана для генерации HDL-кода.
Пример: '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
'OutputFormat'
— Защищенная видимость кода'CompiledBinaries'
(значение по умолчанию) | 'MinimalCode'
| 'AllReferencedHeaders'
Этот аргумент влияет на выход только, когда вы задаете Mode
как 'Accelerator'
или 'CodeGeneration
. Когда вы задаете Mode
как 'Normal'
, только файл MEX является частью выходного пакета.
Защищенная видимость кода. Этот аргумент определяет то, чем часть кода, сгенерированного для защищенной модели, отображается пользователям. Задайте одно из следующих значений:
'CompiledBinaries'
: Только двоичные файлы и заголовки отображаются.
'MinimalCode'
: Включает только минимальные заголовочные файлы, требуемые создавать код с выбранными настройками сборки. Весь код в папке сборки отображается. Пользователи могут смотреть код в защищенном отчете модели и перекомпилировать его в их целях.
'AllReferencedHeaders'
: Включает заголовочные файлы, найденные на включать пути. Весь код в папке сборки отображается. Все заголовки, на которые ссылается код, также отображаются.
Пример: 'OutputFormat','AllReferencedHeaders'
'Webview'
— Опция, чтобы включать Веб-представлениеОпция, чтобы включать представление только для чтения защищенной модели в виде булева значения.
Чтобы открыть Веб-представление защищенной модели, используйте один из следующих методов:
Щелкните правой кнопкой по значку значка защищенной модели и выберите Show Web view.
Используйте Simulink.ProtectedModel.open
функция. Например, чтобы отобразить Веб-представление для защищенной модели sldemo_mdlref_counter
, можно вызвать:
Simulink.ProtectedModel.open('sldemo_mdlref_counter', 'webview');
Дважды кликните .slxp
защищенный файл модели в Браузере текущей папки.
В диалоговом окне Block Parameter для защищенной модели нажмите Open Model.
Пример: 'Webview',true
'Encrypt'
— Опция, чтобы зашифровать защищенную модельОпция, чтобы зашифровать защищенную модель в виде булева значения. Применимый, когда вы задали пароль во время защиты, или при помощи следующих методов:
Пароль для представления только для чтения модели: Simulink.ModelReference.ProtectedModel.setPasswordForView
Пароль для симуляции: Simulink.ModelReference.ProtectedModel.setPasswordForSimulation
Пароль для генерации кода: Simulink.ModelReference.ProtectedModel.setPasswordForCodeGeneration
Пароль для генерации HDL-кода: Simulink.ModelReference.ProtectedModel.setPasswordForHDLCodeGeneration
Пример: 'Encrypt',true
'CustomPostProcessingHook'
— Опция, чтобы добавить постобработку функционирует для защищенных файлов моделиОпция, чтобы добавить постобработку функционирует для защищенных файлов модели в виде указателя на функцию. Функция принимает Simulink.ModelReference.ProtectedModel.HookInfo
возразите как входная переменная. Этот объект предоставляет информацию о файлах исходного кода и других файлах, сгенерированных во время защищенного создания модели. Это также предоставляет информацию об экспортируемых символах, которые вы не должны изменять. До упаковки защищенной модели вызвана функция постобработки.
Для защищенной модели с интерфейсом топ-модели, Simulink.ModelReference.ProtectedModel.HookInfo
объект не может предоставить информацию об экспортируемых символах.
Пример: 'CustomPostProcessingHook',@(protectedMdlInf)myHook(protectedMdlInf)
'Modifiable'
— Опция, чтобы создать модифицируемую защищенную модельОпция, чтобы создать модифицируемую защищенную модель в виде булева значения. Использовать эту опцию:
Добавьте пароль для модификации при помощи Simulink.ModelReference.ProtectedModel.setPasswordForModify
функция. Если пароль не был добавлен в то время, когда вы создаете модифицируемую защищенную модель, вам предлагают создать тот.
Измените опции своей защищенной модели первым обеспечением пароля модификации при помощи Simulink.ModelReference.ProtectedModel.setPasswordForModify
функция. Затем используйте Simulink.ModelReference.modifyProtectedModel
функция, чтобы внести ваши изменения опции.
Пример: 'Modifiable',true
'Callbacks'
— Опция, чтобы задать защищенные коллбэки моделиОпция, чтобы задать коллбэки для защищенной модели в виде массива ячеек Simulink.ProtectedModel.Callback
объекты.
Пример: 'Callbacks',{pmcallback_sim, pmcallback_cg}
'Sign'
— Опция, чтобы подписаться с цифровым сертификатомЦифровой сертификат, чтобы использовать, чтобы подписать защищенную модель в виде вектора символов или строкового скаляра. Если файл сертификата защищен паролем, используйте Simulink.ModelReference.ProtectedModel.setPasswordForCertificate
функция, чтобы обеспечить пароль, прежде чем вы будете использовать сертификат.
Пример: 'Sign','my_certificate.pfx'
harnessHandle
— Указатель модели тестовой обвязкиУказатель модели тестовой обвязки, возвращенной как двойное или 0
, В зависимости от значения Harness
.
Если Harness
true
, значение является указателем модели тестовой обвязки. В противном случае значением является 0
.
neededVars
— Имена переменных базового рабочего пространстваИмена переменных базового рабочего пространства, которые использует защищенная модель, возвратились как массив ячеек.
Массив ячеек может также включать переменные, которые не использует защищенная модель.
Simulink.ModelReference.ProtectedModel.clearPasswords
| Simulink.ModelReference.ProtectedModel.clearPasswordsForModel
| Simulink.ModelReference.ProtectedModel.setPasswordForCodeGeneration
| Simulink.ModelReference.ProtectedModel.setPasswordForHDLCodeGeneration
| Simulink.ModelReference.ProtectedModel.setPasswordForModify
| Simulink.ModelReference.ProtectedModel.setPasswordForSimulation
| Simulink.ModelReference.ProtectedModel.setPasswordForView
| Simulink.ModelReference.modifyProtectedModel
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.