Simulink.ProtectedModel.Callback class

Пакет: Simulink.ProtectedModel
Суперклассы:

Представляет код коллбэка, который выполняется в ответ на защищенные события модели

Описание

Для защищенной функциональности модели, Simulink.ProtectedModel.Callback объект задает код, чтобы выполниться в ответ на событие. Код коллбэка может быть вектором символов команд MATLAB® или скрипта MATLAB. Объект включает:

  • Код, чтобы выполниться для коллбэка.

  • Событие, которое инициировало коллбэк.

  • Защищенная функциональность модели, к которой применяется событие.

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

Когда вы создадите защищенную модель, чтобы задать коллбэки, вызовите Simulink. ModelReference.protect функционируют с 'Callbacks' опция. Значение этой опции является массивом ячеек Simulink.ProtectedModel.Callback объекты.

Конструкция

пример

pmCallback = Simulink.ProtectedModel.Callback(event,functionality,callbackText) создает объект коллбэка для определенной защищенной функциональности модели и события. callbackText задает команды MATLAB, чтобы выполниться для коллбэка.

пример

pmCallback = Simulink.ProtectedModel.Callback(event,functionality,callbackFile) создает объект коллбэка для определенной защищенной функциональности модели и события. callbackFile задает скрипт MATLAB, чтобы выполниться для коллбэка. Скрипт должен быть на пути MATLAB.

Входные параметры

развернуть все

Триггерное событие коллбэка. Задайте одно из следующих значений:

  • 'PreAccess': Код коллбэка выполнен перед симуляцией, сборкой или просмотром только для чтения.

  • 'Build': Код коллбэка выполнен перед сборкой. Допустимый только для 'CODEGEN' функциональность.

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

  • 'CODEGEN': Генерация кода.

  • 'SIM': Симуляция.

  • 'VIEW': Веб-представление только для чтения.

  • 'AUTO': Если событием является 'PreAccess', коллбэк выполняется для каждой функциональности. Если событием является 'Build', коллбэк выполняется только для 'CODEGEN' функциональность.

Если вы не задаете функциональность, поведением по умолчанию является 'AUTO'.

Команды MATLAB, чтобы выполниться в ответ на событие в виде строки или вектора символов.

Скрипт MATLAB, чтобы выполниться в ответ на событие в виде строки или вектора символов. Скрипт должен быть на пути MATLAB.

Свойства

развернуть все

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

  • 'CODEGEN': Генерация кода.

  • 'SIM': Симуляция.

  • 'VIEW': Веб-представление только для чтения.

  • 'AUTO': Если событием является 'PreAccess', коллбэк выполняется для каждой функциональности. Если событием является 'Build', коллбэк выполняется только для 'CODEGEN' функциональность.

Если вы не задаете функциональность, поведением по умолчанию является 'AUTO'.

Скрипт MATLAB, чтобы выполниться в ответ на событие в виде строки или вектора символов. Скрипт должен быть на пути MATLAB.

Пример: 'pmCallback.m'

Команды MATLAB, чтобы выполниться в ответ на событие в виде строки или вектора символов.

Пример: 'A = [15 150];disp(A)'

Триггерное событие коллбэка. Значение является одним из следующего:

  • 'PreAccess': Код коллбэка выполнен перед симуляцией, сборкой или просмотром только для чтения.

  • 'Build': Код коллбэка выполнен перед сборкой. Допустимый только для 'CODEGEN' функциональность.

Опция, чтобы заменить защищенный процесс сборки модели в виде булева значения. Применяется только к объекту коллбэка, что вы задаете для 'Build' событие для 'CODEGEN' функциональность. Вы устанавливаете эту опцию с помощью setOverrideBuild метод.

Методы

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

Примеры

Создайте защищенную модель Используя коллбэк

Создайте объект коллбэка с вектором символов команд MATLAB для кода коллбэка. Задайте объект, когда вы создадите защищенную модель.

pmCallback = Simulink.ProtectedModel.Callback('PreAccess',...
'SIM','disp(''Hello world!'')')
Simulink.ModelReference.protect('sldemo_mdlref_counter',...
'Callbacks',{pmCallback})
sim('sldemo_mdlref_basic')

Для каждого экземпляра защищенной модели - ссылки в топ-модели перечислен выход.

Hello world!
Hello world!
Hello world!

Создайте защищенную модель со скриптом коллбэка

Создайте объект коллбэка со скриптом MATLAB для кода коллбэка. Задайте объект, когда вы создадите защищенную модель.

pmCallback = Simulink.ProtectedModel.Callback('Build',...
'CODEGEN','pm_callback.m')
Simulink.ModelReference.protect('sldemo_mdlref_counter',...
'Mode', 'CodeGeneration','Callbacks',{pmCallback})
rtwbuild('sldemo_mdlref_basic')

Прежде чем защищенный процесс сборки модели начинается, код в pm_callback.m выполняется.

Введенный в R2016a