Simulink. ProtectedModel. Класс коллбэка

Пакет: 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: симуляция.

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

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

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

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

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

Свойства

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

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

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

  • \sim: симуляция.

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

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

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

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

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

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

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

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

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

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

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

Методы

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

Копировать семантику

Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

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

Создайте объект коллбэка с вектором символов команд 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