Образцовые обратные вызовы

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

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

Создайте образцовые обратные вызовы

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

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

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

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

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

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

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

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

  • Модель A:

    • Модель B ссылок в режиме Accelerator.

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

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

  • Модель B:

    • Имеет обратный вызов CloseFcn, который очищает MATLAB workspace.

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

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

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

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

Примечание

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

Образцовые параметры обратного вызова

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

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

 Образцовые параметры обратного вызова моделирования

Похожие темы

Была ли эта тема полезной?