exponenta event banner

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

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

Примечание

Элементы управления исполнениями могут быть определены только в модели InitFcn обратный вызов.

Модель InitFcn

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

Примечание

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

Рекомендации по использованию модели InitFcn

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

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

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

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

  • Не использовать модель 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 обратные вызовы. Свойства модели используются для просмотра информации о модели, описания, истории и функций обратного вызова. Инспектор свойств позволяет просматривать и редактировать свойства версии модели, историю описаний и функции обратного вызова. Дополнительные сведения о свойствах модели см. в разделе Управление свойствами модели.

Рассмотрим модель с блоками «Подсистема исполнения» и «Источник исполнения». Например, Вариант - InitFcn.

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

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

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

Блок InitFcn

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

Рекомендации по использованию Block InitFcn

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

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

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

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

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

Связанные темы