Код обратного вызова маски

Добавьте код маски

Можно использовать код MATLAB®, чтобы инициализировать маску и чертить значки маски. Поскольку местоположение кода влияет на образцовую производительность, добавьте свой код, чтобы отразить функциональность, в которой вы нуждаетесь.

ЦельДобавьте в редакторе маскиПрограммируемая спецификация
Инициализируйте маскуПанель инициализацииПараметр MaskInitialization
Чертите значок маскиПанель Icon & PortsПараметр MaskDisplay
Код обратного вызова для параметров маскиПанель Parameters & DialogПараметр MaskCallbacks

Выполните команду рисования

Поместите код MATLAB для рисования значков маски в разделе Icon Drawing Commands панели Icon & Ports. Simulink® выполняет эти команды последовательно, чтобы перерисовать значок маски когда:

  • Блок представляется сначала на Редакторе Маски холстом.

  • Параметры маски и значения, которые зависят от изменения команд рисования.

  • Блокируйтесь внешний вид изменен из-за вращения или других изменений.

Примечание

Размещение кода MATLAB для рисования значков маски в панели Инициализации влияет на образцовую производительность. Это поведение состоит в том, потому что Simulink перерисовывает значок каждый раз, когда блок маскированный оценен в модели.

Выполните команду инициализации

Команды инициализации для всех блоков маскированных в модели запускаются когда вы:

  • Обновите схему

  • Запустите моделирование

  • Запустите генерацию кода

  • Примените изменения маски

  • Измените любой из параметров, которые задают маску, такую как MaskDisplay и MaskInitialization, с помощью Редактора Маски или set_param.

  • Вращайте или инвертируйте блок маскированный, если значок зависит от команд инициализации.

  • Заставьте значок чертиться или перерисовываться, и рисунок значка зависит от кода инициализации.

  • Измените значение параметра маски при помощи блочного диалогового окна или set_param.

  • Скопируйте блок маскированный в той же модели или между различными моделями.

Когда вы открываете модель, Simulink определяет местоположение видимых блоков маскированных, которые находятся в верхнем уровне модели или в открытой подсистеме.

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

  • Блок маскированный имеет команды рисования значка.

    Примечание

    Simulink не инициализирует замаскированные блоки, которые не имеют команд рисования значка, даже если у них есть команды инициализации во время образцовой загрузки.

  • Подсистема маскированная принадлежит библиотеке и сделала, чтобы библиотека Allow блокировалась, чтобы изменить ее включенный параметр содержимого.

Когда вы загружаете модель в память, не отображая его графически, никакие команды инициализации, первоначально запущенные ни для каких блоков маскированных. Смотрите Загрузку Модель и load_system для получения информации о загрузке модели, не отображая его.

Примечание

Ненастраиваемые параметры блока маскированного не оценены, если модель уже компилируется (инициализированная).

Выполните код обратного вызова

Simulink выполняет команды обратного вызова когда:

  • Вы открываете диалоговое окно маски. Команды обратного вызова выполняются последовательно, начиная с главного диалогового окна маски.

  • Вы изменяете значение параметров в диалоговом окне маски и затем изменяете позицию курсора. Например, вы нажимаете клавишу TAB или нажатие кнопки в другое поле в диалоговом окне после изменения значения параметров.

    Примечание

    Когда вы изменяете значение параметров при помощи команды set_param, команды обратного вызова не выполняются.

  • Вы изменяете значение параметров, или в диалоговом окне маски или в использовании set_param, и затем применяете изменение путем нажатия на Apply или OK. Команды инициализации маски выполняются после команд обратного вызова. Для получения дополнительной информации смотрите Панель Инициализации.

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

    Примечание

    Команды обратного вызова не выполняются, если диалоговое окно маски открыто, когда блочная подсказка появляется.

  • Вы обновляете схему (например, путем нажатия Ctrl+D или путем выбора Simulation> схема Update в Редакторе Simulink).

  • Если вы закрываете диалоговое окно маски, не сохраняя изменения, команда Обратного вызова для параметров выполняется последовательно.

Примечание

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

Для связанных моделей Simulink в качестве примера см.:

Смотрите также

|

Была ли эта тема полезной?