Функция инициализации (InitFcn
) является типом коллбэка, который выполнен или оценен в начале образцовой компиляции. Можно использовать InitFcn
в модели (модель InitFcn
) или блок (blockInitFcn)
.
Различные средства управления могут быть заданы только в коллбэке модели InitFcn
.
Коллбэк модели InitFcn
используется, чтобы инициализировать параметры и параметры среды, которые характерны для используемой модели.
Не рекомендуется использовать коллбэк модели InitFcn
, чтобы получить состояние симуляции. Если вы моделируете модель в rtwbuild или SIL (программное обеспечение в цикле), или Быстрый Режим Accelerator, состояние коллбэка модели InitFcn
может показать 'stopped'
. Коллбэк модели InitFcn
должен использоваться только, чтобы инициализировать параметры и параметры среды, которые характерны для используемой модели.
Действительно используйте модель InitFcn
, чтобы инициализировать данные, требуемые для модели. Например, чтобы инициализировать:
Переменные используются в параметрах модели
Проверки лицензий на необходимое программное обеспечение
Не используйте модель InitFcn
, чтобы изменить модели кроме сам. Это также означает, что блок InitFcn
блока Model не должен изменять параметры (и структура) модели, на которую ссылаются.
Не используйте модель InitFcn
в топ-модели, чтобы перезаписать любую переменную, используемую в модели, на которую ссылаются. Например, если верхняя часть и модели, на которые ссылаются, используют переменную 'k
', модель InitFcn
топ-модели не должна изменять 'k
' модели, на которую ссылаются. В таких шаблонах моделирования рекомендуется, чтобы вы использовали различные имена переменных. Также можно использовать словарь данных.
Не используйте команды симуляции в модели InitFcn
. Например, с помощью команд как, set_param(ModelName, 'SimulationCommand', 'start')
или set_param(ModelName, 'SimulationCommand', 'update')
в модели InitFcn
не рекомендуются.
Можно использовать образцовые свойства задать коллбэки для модели. Например, PreLoadFcn
, PostLoadFcn
, коллбэки InitFcn
. Образцовые свойства используются, чтобы просмотреть информацию модели, описание, историю и функции обратного вызова. Можно использовать Property Inspector, чтобы просмотреть и отредактировать образцовые свойства версии, историю описания и функции обратного вызова. Для получения дополнительной информации о свойствах Model смотрите Manage Model Properties.
Рассмотрите модель с Различной Подсистемой и Различными Исходными блоками. Например, Вариант - InitFcn.
В этой модели модель InitFcn используется, чтобы инициализировать параметры для модели.
Точно так же эти параметры могут также быть заданы в PreLoadFcn
или PostLoadFcn
.
Однако, когда параметры заданы в коллбэке InitFcn
и если рабочее пространство MATLAB очищено с помощью команды Clear
, элементы в рабочей области очищены, и они воссоздаются, когда вы моделируете модель. Очищенные элементы не будут воссозданы, когда параметры будут заданы в PreLoadFcn
или PostLoadFcn
.
Коллбэк блока InitFcn
используется, чтобы инициализировать блок определенные параметры и настройки.
Не используйте блок InitFcn
, чтобы изменить параметры (или переменные) блоков кроме сам.
Не используйте блок InitFcn
на дочернем блоке, чтобы изменить параметры родительского блока подсистемы или других дочерних блоков. Однако можно использовать блок InitFcn
на родительском блоке подсистемы, чтобы изменить параметры прямых дочерних блоков.
Не используйте блок InitFcn
, чтобы внести структурные изменения как добавление или удаление блока (add_block
или delete_block
).
Не используйте блок InitFcn
в блоке Model Reference, чтобы изменить параметры (и структура) модели, на которую ссылаются.