Образцовые коллбэки

Образцовые коллбэки выполняются в заданных очках действия, например после того, как вы загрузите или сохраните модель.

Можно установить большинство тех же коллбэков для библиотек. Только коллбэки, которые могут выполниться для библиотеки, доступны, чтобы установить для библиотеки. Например, вы не можете установить коллбэк InitFcn для библиотеки, которая называется как часть симуляции, потому что вы не можете моделировать библиотеку.

Создайте образцовые коллбэки

  1. В Редакторе Simulink® откройте Property Inspector. Выберите View> Property Inspector.

  2. Без выбора в верхнем уровне вашей модели, во вкладке Properties, в разделе Callbacks, выбирают коллбэк, который вы хотите установить.

  3. В поле введите функции, которые вы хотите, чтобы коллбэк выполнил.

Чтобы создать образцовый коллбэк программно, используйте функцию set_param, чтобы присвоить код MATLAB® образцовому параметру коллбэка. Смотрите Образцовые Параметры Коллбэка

Образцовые коллбэки, на которые ссылаются, в режиме normal mode

Если модели - ссылки несколько экземпляров той же модели в режиме normal mode, коллбэки выполняются для каждого экземпляра.

Образцовые коллбэки, на которые ссылаются, в режиме Accelerator

В режиме Accelerator выполнение коллбэков для образцовой ссылки отражает порядок, в котором топ-модель и модели это ссылается, выполняют их коллбэки. Например, предположите:

  • Модель A:

    • Модель B References в режиме Accelerator.

    • Имеет коллбэк PostLoadFcn, который создает переменные в рабочем пространстве MATLAB.

    • Установили параметр конфигурации Rebuild на Always, If changes detected или If any changes in known dependencies detected.

  • Модель B:

    • Имеет коллбэк CloseFcn, который очищает рабочее пространство MATLAB.

    • Не был создан или устарел.

Имитационная модель триггеры, восстанавливающие модель B, на которую ссылаются. Когда Simulink восстанавливает модель B, он открывает и закрывает модель B, которая вызывает коллбэк модели B CloseFcn. CloseFcn очищает рабочее пространство MATLAB, включая переменные, созданные коллбэком модели A OpenFcn.

Вместо того, чтобы использовать коллбэк CloseFcn для модели B, можно использовать коллбэк StopFcn в модели A, чтобы очистить переменные, используемые моделью от рабочего пространства MATLAB. Также можно использовать словарь данных для данных, чтобы избежать потребности иметь переменные в базовом рабочем пространстве.

Simulink не вызывает некоторые коллбэки моделей, на которые ссылаются, в режиме Accelerator. Если все актуально, и параметр конфигурации Rebuild установлен в If any changes in known dependencies detected, модель, на которую ссылаются, не компилирует, и ее коллбэки InitFcn не выполняются. Коллбэки, такие как StartFcn и StopFcn не выполняются, потому что модели, на которые ссылаются, в режиме Accelerator используют S-функцию, которая запускается и останавливается вместо модели, на которую ссылаются.

Примечание

Симуляция выходные параметры не доступна в коллбэках StopFcn для симуляций командной строки.

Образцовые параметры коллбэка

 Модель загружающие и закрывающиеся параметры коллбэка

 Модель, сохраняющая параметры коллбэка

 Параметры коллбэка симуляции модели

Похожие темы