Simulink.ModelReference.protect

Неясное содержимое модели, на которое ссылаются, чтобы скрыть интеллектуальную собственность

Описание

пример

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, который ссылается на модель, которая будет защищена.

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

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

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

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

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

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

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

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

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

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

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

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

Применяется только если системный конечный файл (SystemTargetFile) установлен в основанный на ERT системный конечный файл (например, ert.tlc). Требует лицензии Embedded Coder®.

Задайте одно из следующих значений:

  • 'Model reference': Доступ кода через интерфейс модели - ссылки кода, который позволяет использование защищенной модели в иерархии модели - ссылки. Пользователи защищенной модели могут сгенерировать код от родительской модели, которая содержит защищенную модель. Кроме того, пользователи могут запустить блок Model симуляции SIL/PIL с защищенной моделью.

  • 'Top model': Доступ кода через автономный интерфейс. Пользователи защищенной модели могут запустить блок Model симуляции SIL/PIL с защищенной моделью.

Пример: 'CodeInterface','Top model'

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

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

Примечание

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

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

  • 'CompiledBinaries': Только двоичные файлы и заголовки отображаются.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Опция, чтобы задать коллбэки для защищенной модели в виде массива ячеек Simulink.ProtectedModel.Callback объекты.

Пример: 'Callbacks',{pmcallback_sim, pmcallback_cg}

Цифровой сертификат, чтобы использовать, чтобы подписать защищенную модель в виде вектора символов или строкового скаляра. Если файл сертификата защищен паролем, используйте Simulink.ModelReference.ProtectedModel.setPasswordForCertificate функция, чтобы обеспечить пароль, прежде чем вы будете использовать сертификат.

Пример: 'Sign','my_certificate.pfx'

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

свернуть все

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

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

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

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

Представленный в R2012b