Можно использовать код MATLAB®, чтобы инициализировать маску и чертить значки маски. Поскольку местоположение кода влияет на производительность модели, добавьте свой код, чтобы отразить функциональность, в которой вы нуждаетесь.
Цель | Добавьте в редакторе маски | Программируемая спецификация |
---|---|---|
Инициализируйте маску | Панель Initialization | MaskInitialization параметр |
Чертите значок маски | Панель Icon & Ports | MaskDisplay параметр |
Код коллбэка для параметров маски | Панель Parameters & Dialog | MaskCallbacks параметр |
Поместите код MATLAB для рисования значков маски в разделе Icon Drawing Commands панели Icon & Ports. Simulink® выполняет эти команды последовательно, чтобы перерисовать значок маски когда:
Блок представляется сначала на Редакторе Маски холстом.
Параметры маски и значения, которые зависят от изменения команд рисования.
Внешний вид блока меняется из-за вращения или других изменений.
Примечание
Размещение кода MATLAB для рисования значков маски в панели Initialization влияет на производительность модели. Это поведение состоит в том, потому что Simulink перерисовывает значок каждый раз, когда маскированный блок оценен в модели.
Команды инициализации для всех маскированных блоков в модели запускаются когда вы:
Обновите схему
Запустите симуляцию
Запустите генерацию кода
Примените изменения маски
Измените любой из параметров, которые задают маску, такую как MaskDisplay
и MaskInitialization
, использование Редактора Маски или set_param
.
Вращайте или инвертируйте маскированный блок, если значок зависит от команд инициализации.
Заставьте значок чертиться или перерисовываться, и рисунок значка зависит от кода инициализации.
Измените значение параметра маски при помощи диалогового окна блока или set_param
.
Скопируйте маскированный блок в той же модели или между различными моделями.
Когда вы открываете модель, Simulink определяет местоположение видимых маскированных блоков, которые находятся в верхнем уровне модели или в открытой подсистеме.
Simulink только выполняет команды инициализации для этих видимых маскированных блоков, если они отвечают любому из следующих условий:
Маскированный блок имеет команды рисования значка.
Примечание
Simulink не инициализирует маскированные блоки, которые не имеют команд рисования значка, даже если у них есть команды инициализации во время загрузки модели.
Подсистема маскированная принадлежит библиотеке и включила параметр Allow library block to modify its contents.
Когда вы загружаете модель в память, не отображая её графически, никакие команды инициализации для маскированных блоков не выполняются. Смотрите Загрузку Модель и load_system
для получения информации о загрузке модели, не отображая его.
Примечание
Ненастраиваемые параметры блока маскированного не вычисляются, если модель уже скомпилирована (инициализирована).
Коды коллбэка параметра маски выполнены во временной рабочей области а не в базовом рабочем пространстве. Если вам нужна переменная, созданная в коллбэке, чтобы быть доступными позже (не во время обработки коллбэка), необходимо явным образом присвоить те переменные базовому рабочему пространству.
Simulink выполняет команды коллбэка когда:
Вы открываете диалоговое окно маски. Команды коллбэка выполняются последовательно, начиная с главного диалогового окна маски.
Вы изменяете значение параметров в диалоговом окне маски и затем изменяете позицию курсора. Например, вы нажимаете клавишу Tab или нажатие кнопки в другое поле в диалоговом окне после изменения значения параметров.
Вы изменяете значение параметров при помощи set_param
команда, команды коллбэка выполняются.
Вы изменяете значение параметров, или в диалоговом окне маски или в использовании set_param
, и затем примените изменение путем нажатия на Apply или OK. Команды инициализации маски выполняются после команд коллбэка. Для получения дополнительной информации смотрите Панель Инициализации.
Вы наводите на маскированный блок, чтобы видеть подсказку для блока, когда подсказка содержит название и значение параметра.
Примечание
Команды коллбэка не выполняются, если диалоговое окно маски открыто, когда подсказка блока появляется.
Вы обновляете схему путем нажатия Ctrl+D или путем нажатия на Update Model на вкладке Modeling в Редакторе Simulink.
Если вы закрываете диалоговое окно маски, не сохраняя изменения, команда Коллбэка для параметров выполняется последовательно.
Примечание
Кнопки на диалоговом окне маски недоступны, когда код коллбэка, сопоставленный с кнопкой, выполняется.
Для связанных моделей Simulink в качестве примера см.: