Функция инициализации

Функция инициализации (InitFcn) тип коллбэка, который выполнен или оценен в начале компиляции модели. Можно использовать InitFcn в модели (модель InitFcn) или блок (блок InitFcn).

Примечание

Различные средства управления могут быть заданы только в модели InitFcn 'callback'.

InitFcn модели

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

Примечание

Не рекомендуется использовать модель InitFcn коллбэк, чтобы получить состояние симуляции. Если вы симулируете модель в slbuild, или SIL (программное обеспечение в цикле), или Быстрый Режим Accelerator, модель InitFcn состояние коллбэка может показать 'stopped'. Модель InitFcn коллбэк должен использоваться только, чтобы инициализировать параметры и параметры среды, которые характерны для используемой модели.

Лучшые практики для использования Модели InitFcn

  • Действительно используйте модель InitFcn инициализировать данные, требуемые для модели. Например, чтобы инициализировать:

    • Переменные используются в параметрах модели

    • Проверки лицензий на необходимое программное обеспечение

  • Не используйте модель InitFcn изменить модели кроме сам. Это также означает что блок InitFcn из Model блок не должен изменять параметры (и структура) модели, на которую ссылаются.

  • Не используйте модель InitFcn в топ-модели, чтобы перезаписать любую переменную, используемую в модели, на которую ссылаются. Например, если верхняя часть и модели, на которые ссылаются, используют переменный ‘k’, модель InitFcn из топ-модели не должен изменять ‘k’модели, на которую ссылаются. В таких шаблонах моделирования рекомендуется, чтобы вы использовали различные имена переменных. В качестве альтернативы можно использовать словарь данных.

  • Не используйте команды симуляции в модели InitFcn. Например, с помощью команд как, set_param(ModelName, 'SimulationCommand', 'start') или set_param(ModelName, 'SimulationCommand', 'update') в модели InitFcn не рекомендуются.

  • Не используйте модель InitFcn функционируйте, чтобы отредактировать структуру модели как add_line, или delete_line если на модель ссылаются от топ-модели.

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

Варианты с моделью InitFcn

Можно использовать свойства модели задать коллбэки для модели. Например, PreLoadFcn, PostLoadFcn, InitFcn коллбэки. Свойства модели используются, чтобы просмотреть информацию модели, описание, историю и функции обратного вызова. Можно использовать Property Inspector, чтобы просмотреть и отредактировать свойства версии модели, историю описания и функции обратного вызова. Для получения дополнительной информации о свойствах Model смотрите Manage Model Properties.

Рассмотрите модель с блоками Variant Source и Variant Subsystem. Например, Вариант - InitFcn.

В этой модели, модели InitFcn используется, чтобы инициализировать параметры для модели.

Точно так же эти параметры могут также быть заданы в PreLoadFcn или PostLoadFcn.

Однако, когда параметры заданы в InitFcn коллбэк и если рабочая область MATLAB® очищена с помощью Clear команда, элементы в рабочей области очищены, и они воссоздаются, когда вы симулируете модель. Очищенные элементы не будут воссозданы, когда параметры будут заданы в PreLoadFcn или PostLoadFcn.

Блокируйте InitFcn

Блок InitFcn коллбэк используется, чтобы инициализировать блок определенные параметры и настройки.

Лучшые практики для использования Блока InitFcn

  • Не используйте блок InitFcn изменить параметры (или переменные) блоков кроме сам.

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

  • Не используйте блок InitFcn вносить структурные изменения как добавление или удаление блока (add_block или delete_block).

  • Не используйте блок InitFcn в блоке Model, чтобы изменить параметры (и структура) модели, на которую ссылаются.

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

Похожие темы