exponenta event banner

Simulink. ProtectedModel. Отзыв

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

Описание

Для конкретной функции защищенной модели, 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'

Параметр для переопределения защищенного процесса построения модели, заданного как логическое значение. Параметр override применяется только к объекту обратного вызова, определенному для '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