Коллбэки модели выполняются в заданных точках действия, например, после загрузки или сохранения модели.
Большинство тех же коллбэков можно задать для библиотек. Для установки библиотеки доступны только коллбэки, которые могут выполняться для библиотеки. Для примера вы не можете задать InitFcn
коллбэк для библиотеки, который вызывается как часть симуляции, поскольку вы не можете моделировать библиотеку.
В Simulink® Редактор, откройте Property Inspector. На вкладке Modeling, под Design, нажмите Property Inspector.
Не имея выбора на верхнем уровне модели, на вкладке Properties, в разделе Callbacks, выберите коллбэк, который вы хотите задать.
В поле введите функции, которые необходимо выполнить при коллбэке.
Чтобы создать программный коллбэк модели, используйте set_param
функция для назначения MATLAB® код для параметра коллбэка модели. См. Модель Коллбэка Параметров
В иерархии модели выполнение коллбэков отражает порядок, в котором верхняя модель и модели, на которые она ссылается, выполняют свои коллбэки. Для примера предположим:
Модель A:
Ссылается на модель B в режиме Accelerator.
Имеет PostLoadFcn
коллбэк, который создает переменные в рабочем пространстве MATLAB.
Имеет Rebuild
параметру конфигурации задано значение Always
, If changes detected
, или If any changes in known dependencies detected
.
Модель B:
Имеет CloseFcn
коллбэк, который очищает рабочее пространство MATLAB.
Не построен или устарел.
Симуляция модели A запускает перестройку ссылочной модели B. Когда Simulink перестраивает модель B, она открывается и закрывает модель B, которая вызывает модель B CloseFcn
коллбэк. CloseFcn
очищает рабочее пространство MATLAB, включая переменные, созданные моделью A OpenFcn
коллбэк.
Вместо использования CloseFcn
коллбэк для модели B, можно использовать StopFcn
коллбэк в модели A, чтобы удалить переменные, используемые моделью, из рабочего пространства MATLAB. Кроме того, можно использовать словарь данных для данных, чтобы избежать необходимости иметь переменные в базовом рабочем пространстве.
Если модель ссылается на несколько образцы одной и той же модели в режиме normal mode, коллбэки выполняются для каждого образца.
Для моделей, на которые ссылаются в режиме Accelerator, Simulink не выполняет некоторые коллбэки. Если все актуально, и для параметра конфигурации Rebuild задано значение If any changes in known dependencies detected
, тогда ссылочная модель не компилируется и ее InitFcn
коллбэки не выполняются. Коллбэки, такие как StartFcn
и StopFcn
не выполнять, так как ссылочные модели в режиме Accelerator используют S-функцию, которая запускается и останавливается вместо ссылочных моделей.
Примечание
Выходы симуляции недоступны в StopFcn
коллбэки для симуляций командной строки.
Модель InitFcn
следует избегать коллбэков, которые редактируют структуру модели. Simulink может иногда выполнять или игнорировать на основе состояния нагрузки модели.
Модель параметров загрузки и закрытия коллбэка