Обратные вызовы модели выполняются в указанных точках действия, например после загрузки или сохранения модели.
Можно задать большинство одинаковых обратных вызовов для библиотек. Для установки библиотеки доступны только обратные вызовы, которые могут выполняться для библиотеки. Например, нельзя установить InitFcn обратный вызов для библиотеки, которая вызывается как часть моделирования, потому что вы не можете моделировать библиотеку.
В редакторе Simulink ® откройте инспектор свойств. На вкладке «Моделирование» в группе «Проект» выберите «Инспектор свойств».
При отсутствии выбора на верхнем уровне модели на вкладке Свойства (Properties) в разделе Обратные вызовы (Callbacks) выберите обратный вызов, который требуется задать.
В поле введите функции, которые должен выполнять обратный вызов.
Для программного создания обратного вызова модели используйте set_param назначение кода MATLAB ® параметру обратного вызова модели. См. раздел Параметры обратного вызова модели
В иерархии моделей выполнение обратных вызовов отражает порядок, в котором верхняя модель и модели, на которые она ссылается, выполняют свои обратные вызовы. Например, предположим:
Модель A:
Ссылается на модель B в режиме ускорителя.
Имеет 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. Кроме того, во избежание необходимости использования переменных в базовой рабочей области для данных можно использовать словарь данных.
Если модель ссылается на несколько экземпляров одной модели в обычном режиме, обратные вызовы выполняются для каждого экземпляра.
Для моделей, на которые ссылается режим ускорения, Simulink не выполняет некоторые обратные вызовы. Если все обновлено и для параметра конфигурации Rebuild установлено значение If any changes in known dependencies detected, то ссылочная модель не компилируется и ее InitFcn обратные вызовы не выполняются. Обратные вызовы, такие как StartFcn и StopFcn не выполняются, поскольку ссылочные модели в режиме ускорителя используют S-функцию, которая запускается и останавливается вместо ссылочной модели.
Примечание
Выходные данные моделирования недоступны в StopFcn обратные вызовы для моделирования командной строки.
Модель InitFcn необходимо избегать обратных вызовов, которые редактируют структуру модели. Иногда simulink может выполняться или игнорироваться на основе состояния загрузки модели.
Параметры обратного вызова загрузки и закрытия модели