Simulink.ProtectedModel.Callback

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

Описание

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

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

Создание

Описание

пример

Simulink.ProtectedModel.Callback(Event,AppliesTo,CallbackText) создает объект коллбэка для определенных функций и событий защищенной модели. The CallbackText задает команды MATLAB, которые должны выполняться для коллбэка.

пример

Simulink.ProtectedModel.Callback(Event,AppliesTo,callbackFile) создает объект коллбэка для определенных функций и событий защищенной модели. The CallbackFileName задает скрипт MATLAB, который будет выполнен для коллбэка. Скрипт должен находиться в пути MATLAB.

Свойства

расширить все

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

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

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

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

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

Пример: 'SIM'

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

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

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

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

Событие, которое запускает коллбэк, заданное как один из следующих опций:

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

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

Пример: 'PreAccess'

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

Функции объекта

setOverrideBuildПереопределите защищенную сборку модели

Примеры

свернуть все

  1. Создайте объект коллбэка.

    pmCallback = Simulink.ProtectedModel.Callback('PreAccess',...
    'SIM','disp(''Hello world!'')')
    
  2. Защитите модель sldemo_mdlref_counter и задайте объект коллбэка.

    Simulink.ModelReference.protect('sldemo_mdlref_counter',...
    'Callbacks',{pmCallback})
    
  3. Симулируйте модель sldemo_mdlref_basic, которая ссылается на созданную вами защищенную модель.

    sim('sldemo_mdlref_basic')

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

    Hello world!
    Hello world!
    Hello world!
  1. На пути MATLAB создайте скрипт коллбэка pm_callback.m который содержит этот код:

    disp('Hello world!')
  2. Создайте объект коллбэка, который использует скрипт для кода коллбэка. Защитите модель sldemo_mdlref_counter и задайте объект коллбэка.

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

    Скрипт коллбэка выполняется во время генерации кода фазы процесса защиты модели.

  3. Сгенерируйте код для модели sldemo_mdlref_basic, которая ссылается на созданную вами защищенную модель.

    slbuild('sldemo_mdlref_basic')

    Во время фазы генерации кода для ссылочной защищенной модели код в pm_callback.m выполняет.

Введенный в R2016a