В этом примере показано, как создать и использовать защищенную модель в Нормальном и симуляциях Режима Accelerator, а также для генерации кода.
Прежде чем можно будет сгенерировать защищенные модели, необходимо было установить Simulink® Coder™. Чтобы сгенерировать представление только для чтения защищенных моделей, необходимо было установить Simulink® Report Generator™.
Откройте модель в качестве примера, sldemo_mdlref_bus
.
Рисунок 1: модель в качестве примера, sldemo_mdlref_bus
Эта модель содержит один блок Model, CounterA
. Чтобы защитить модель, на которую ссылается этот блок, выберите этот блок и нажмите Protect на вкладке блока Model. Диалоговое окно открывается, где можно выбрать опции для создания защищенной модели.
Рисунок 2: Защищенное диалоговое окно модели
Под Позволяют пользователю защищенной модели выбирать Open представление только для чтения модели, Симулировать и Генерировать код. У вас есть опция ввода паролей для трех вышеупомянутых функциональностей. Эти три пароля используются, чтобы защитить соответствующие функциональности. Введите отдельные пароли для этих трех опций и нажмите Create
. Защищенный файл модели, sldemo_mdlref_counter_bus.slxp
, сгенерирован в текущей рабочей папке. Можно использовать эту защищенную модель в Нормальном и симуляциях Режима Accelerator, а также для генерации кода. Можно также открыть представление только для чтения модели. Исходный файл модели не требуется.
Чтобы симулировать модель, которая ссылается на защищенную модель, вы можете должны быть задать переменные в словарях данных или базовом рабочем пространстве. Например, защищенная модель, sldemo_mdlref_counter_bus
, нуждается в переменных, которые задают шины в корневых портах ввода и вывода модели. Когда вы поставляете защищенную модель, необходимо включать определения необходимых переменных, или модель неприменима. protect
команда генерирует защищенную модель и определяет необходимые переменные. Например:
[~, neededVars] = Simulink.ModelReference.protect('sldemo_mdlref_counter_bus', 'Mode', 'CodeGeneration', 'OutputFormat', 'MinimalCode', 'ObfuscateCode', true, 'Harness', true, 'Report', true, 'Webview', true)
Второй выход protect
функция, neededVars
, включает переменные, которые необходимо отправить получателю. Значение neededVars
массив ячеек, который содержит имена переменных, требуемых для защищенной модели. Однако массив ячеек может также содержать имена переменных, в которых не нужна модель.
Прежде чем вы совместно используете защищенную модель, отредактируете neededVars
удалить имена любых переменных, в которых не нужна модель. Сохраните необходимые переменные в словарь данных.
Когда блок Model ссылается на защищенную модель, значок щита отображен на блоке.
Рисунок 3: Ссылка на защищенную модель
Щелкните правой кнопкой по значку щита и выберите Authorize.... Введите пароли, которые вы использовали при создании защищенной модели.
Рисунок 4: диалоговое окно Ввода пароля
Теперь можно симулировать модель или в Нормальном или в Режим Accelerator. Можно также создать топ-модель.
Дважды кликните блок Model, чтобы открыть представление только для чтения модели. В качестве альтернативы щелкните правой кнопкой по значку щита и выберите Show Webview, чтобы открыть представление только для чтения модели.
Рисунок 5: защищенное веб-представление модели
Щелкните правой кнопкой по значку щита и выберите Display Report, чтобы открыть отчет
Рисунок 6: защищенный отчет модели