Simulink.ProtectedModel.Callback

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

Описание

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

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

Создание

Описание

пример

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

пример

Simulink.ProtectedModel.Callback(Event,AppliesTo,callbackFile) создает объект коллбэка для определенной защищенной функциональности модели и события. 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