Окно параметров создается с помощью вкладки Initialization (Инициализация) редактора маски.
Для создания поля ввода параметра с его описанием необходимо выполнить следующие действия:
Нажать кнопку Add (Добавить).
Ввести описание параметра в поле Prompt (Подсказка). В качестве описания параметра обычно используется его название в виде текста, например, “Gain”, “Constant value” ит.п.
Указать идентификатор параметра в поле Variable (Переменная). Естественно, что это должен быть один из тех идентификаторов, который использовался при задании параметров блоков внутри подсистемы (хотя это не обязательно, поскольку параметр может быть использован и для модификации самого окна диалога). Все переменные, идентификаторы которых заданы на вкладке Initialization, помещаются в Mask Workspace – локальную рабочую область маски и являются доступными только внутри подсистемы.
Выбрать тип элемента интерфейса задающего параметр из списка Control Type:
Edit – Редактируемое поле ввода.
Checkbox – Флажок.
Popup – Раскрывающийся список. В этом случае вграфе Popup Strings (Элементысписка) необходимо ввести элементы списка, разделенные символом вертикальной черты. Например, выражение alpha|beta|gamma задаст список из трех элементов: alpha,beta и gamma.
Выбрать формат параметра из списка Assiggment:
Evaluate – Вычисляемый. Выбирается, если параметр должен иметь числовое значение. В данное поле можно будет ввести выражение в соответствии с правилами языка MATLAB. Формат Evaluate позволяет также использовать числовую форму значения переменной в том случае, если тип элемента интерфейса выбран в виде флажка или раскрывающегося списка. Так, например, для раскрывающегося списка alpha|beta|gamma значение связанной со списком переменной будет равно 1, если в списке выбрано alpha, 2 – если в списке выбрано beta, и 3 – если всписке выбрано gamma. Для элемента интерфейса Checkbox вычисляемые значения будут равны 1 (при установленном флажке) и 0 (при снятом флажке).
Literal – Текстовый. Выбирается, если параметр должен быть строкой символов.
Ввести команды инициализации в графе Initialization commands. Команды инициализации представляют собой обычные команды на языке MATLAB и могут включать операторы и m-функции. Такие команды задают переменные, которые будут находиться в рабочей области маскированной подсистемы. Эти переменные доступны внутриподсистемы и могут быть использованы в качестве параметров блоков входящих в состав подсистемы, а также для создания пиктограммы подсистемы.
Команды инициализации выполняются в следующих случаях:
При открытии окна модели.
При запуске модели на выполнение.
При выполнении команды Edit/Update diagram.
При вращении блока маскированной подсистемы (в этом случае команды инициализации обеспечивают перерисовку пиктограммы).
При автоматическом изменении пиктограммы, зависящей от параметров блока.
В качестве примера маскированной подсистемы рассмотрим функциональный генератор. Схема модели генератора показана на рисунке 9.10.2.
Модель генератора обладает следующими возможностями:
Значения амплитуды и частоты сигнала могут задаваться либо как параметры генератора в его окне диалога, либо от внешних источников через входные порты.
Форма выходного сигнала генератора (треугольник, прямоугольник или синусоида) задается в окне диалога.
Вид окна диалога, созданного с помощью редактора маски показан на рисунке 9.10.3.
Название параметра, идентификатор связанной с ним переменной, тип элемента интерфейса и формат параметра приведены в ниже лежащей таблице.
Prompt |
Variable |
Control Type |
Assiggment |
Назначение |
Internal source of frequency signal |
Internal_freq |
Checkbox |
Evaluate |
Задает тип источника сигнала задания на частоту: внутренний или внешний. |
Frequency (Hz) |
Freq |
Edit |
Evaluate |
Задает величину задания на частоту внутреннего источника |
Wave form |
Wave_form |
Popup |
Evaluate |
Задает форму выходного сигнала: треугольник, прямоугольник или синусоида |
Internal source of magnitude signal |
Internal_magn |
Checkbox |
Evaluate |
Задает тип источника сигнала задания на амплитуду: внутренний или внешний. |
Magnitude |
Magn |
Edit |
Evaluate |
Задает величину задания на амплитуду внутреннего источника |
Окно редактора маски с открытой вкладкой Initialization, в котором создано окно параметров генератора, показано на рисунке
9.10.4.
Выбор типа источников задания на частоту (внутренний или внешний) осуществляется с помощью блока Selector1 (смотри рисунок 9.10.2). Для этого значение параметра Elements блока Selector1 задано как [(Internal_freq+1)]. Таким образом, если флажок параметра Internal source of frequency signal установлен, то числовое значение переменной Internal_freq равно 1 и на выход селектора проходит сигнал от внутреннего источника, если же флажок снят, то на выход селектора проходит сигнал от входного порта системы (т.е. от внешнего по отношению к генератору источника). Аналогичным образом с помощью переменной Internal_magn выполняется выбор источника сигнала задания на амплитуду.
Выбор формы выходного сигнала выполняется также с помощью блока Selector. Треугольный, прямоугольный и синусоидальный сигналы объединяются в вектор с помощью блока Mux, а затем в зависимости от числового значения переменной Wave_form, блок Selector выполняет выбор нужного элемента входного вектора.
Значение параметра Elements блока Selector задано как [Wave_form]. Таким образом, если, например, параметр генератора Wave form имеет значение Sine, то числовое значение переменной Wave_form равно 3, и, следовательно, на выход селектора проходит третий элемент входного вектора, т.е. синусоидальный сигнал.