Для инициализации маскированного блока можно добавить код MATLAB ® на панели «Инициализация» редактора масок. Simulink ® выполняет эти команды инициализации для инициализации маскированной подсистемы в критические моменты времени, такие как загрузка модели и начало прогона моделирования. Дополнительные сведения см. в разделе Выполнение команды инициализации.
Для следующих случаев можно добавить код инициализации маски:
Задание начальных значений параметров маски. Например, чтобы задать начальное значение параметра a, тип a = 5 на панели «Инициализация».
Задание значения дочернего блока. Например,
set_param('Child block Name','Parameter name','Parameter Value')Создание самодифицируемой маски. Дополнительные сведения см. в разделе Самодифицирующаяся маска.
Код инициализации маскированной подсистемы может ссылаться только на переменные в ее локальной рабочей области.
При привязке блока с моделью или копировании блока в модель в диалоговом окне маски отображаются заданные значения по умолчанию. Нельзя использовать код инициализации маски для изменения значений параметров маски по умолчанию в блоке библиотеки или любом другом блоке.
Убедитесь, что параметры маски, используемые в коде инициализации маски, определены. Ошибки инициализации маски отображаются при редактировании команд инициализации маски, но это возможно только в том случае, если все значения параметров маски оцениваются без ошибок.
Примечание
Блоки, содержащие код инициализации, не работают так, как ожидалось при использовании ссылки на модель.
При использовании set_param в коде инициализации маски блока подсистемы также оцениваются все дочерние блоки.
Панель инициализации редактора масок используется для добавления команд MATLAB, инициализирующих маскированный блок.
Панель инициализации содержит следующие разделы:
Диалоговые переменные
Команды инициализации

В разделе «Переменные диалогового окна» отображаются имена переменных, связанных с параметрами маски маскированного блока, которые определены на панели «Параметры».
Можно скопировать имя параметра из этого списка и вставить его в раздел Команды инициализации.
Можно изменить имя переменной параметра маски в списке, дважды щелкнув и отредактировав имя.
В этом разделе можно добавить команды инициализации. Код инициализации должен быть допустимым выражением MATLAB, состоящим из функций и сценариев MATLAB, операторов и переменных, определенных в рабочей области маски. Команды инициализации не могут получить доступ к базовым переменным рабочей области.
Во избежание перекликающихся результатов в окне команд MATLAB завершите команды инициализации точкой с запятой.
Для просмотра связанных примеров см. раздел
Команды инициализации маски должны соблюдать следующие правила:
Не используйте код инициализации для создания диалоговых окон динамической маски (диалоговые окна, внешний вид или параметры управления которых изменяются в зависимости от изменений, внесенных в другие параметры управления). Вместо этого используйте обратные вызовы маски, которые предназначены для этой цели. Дополнительные сведения см. в разделе Диалоговое окно «Динамическая маска».
Не используйте код инициализации для добавления или удаления блоков во время загрузки модели.
Для вложенной маскированной подсистемы не используйте set_param на родительском блоке из дочернего блока. Маска дочернего блока и маска родительского блока могут инициализировать один и тот же параметр блока, что приводит к непредвиденному поведению. Дополнительные сведения см. в разделе Небезопасная ошибка обратного вызова маски.
Не использовать set_param для блоков, которые находятся в другой маскированной подсистеме, инициализируемой пользователем. Попытка задать параметры блоков в подсистемах с масками более низкого уровня может вызвать неразрешенные ошибки символов, если подсистемы с масками более низкого уровня ссылаются на символы, определенные подсистемами с масками более высокого уровня.
Предположим, например, маскированная подсистема A содержит маскированную подсистему B который содержит блок усиления C, чей Gain параметр ссылается на переменную, определенную B. Предположим также, что подсистема A имеет код инициализации, содержащий следующую команду:
set_param([gcb '/B/C'], 'SampleTime', '-1');
Моделирование или обновление модели, содержащей A, приводит к неразрешенной ошибке символа.
Для создания объектов данных нельзя использовать код инициализации маски. Объекты данных являются объектами следующих классов:
Simulink.Parameter и подклассы
Simulink.Signal и подклассы
Не добавляйте код инициализации для удаления того же маскированного блока.
Используйте код инициализации маски для управления только прямыми дочерними блоками.
Примечание
Не используйте код инициализации маски, чтобы комментировать или раскомментировать блок.