Коллбэки модели

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

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

Создайте коллбэки модели

  1. В Редакторе Simulink® откройте Property Inspector. Во вкладке Modeling, под Design, нажимают Property Inspector.

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

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

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

Коллбэки модели, на которые ссылаются,

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

  • Модель 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 'callback'. CloseFcn очищает рабочее пространство MATLAB, включая переменные, созданные моделью A OpenFcn 'callback'.

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

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

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

Примечание

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

InitFcn модели нужно избежать коллбэков, которые редактируют структуру модели. Simulink может иногда выполнять или игнорировать на основе состояния загрузки модели.

Параметры коллбэка модели

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

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

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

Похожие темы