Окно параметров создается с помощью вкладки Initialization(Инициализация) редактора маски. Для создания поля ввода параметра с его описанием необходимо выполнить следующие действия:
1. Нажать кнопку Add (Добавить).
2. Ввести описание параметра в поле Prompt (Подсказка). В качестве описания параметра обычно используется его название в виде текста, например, “Gain”, “Constant value” и т.п.
3. Указать идентификатор параметра в поле Variable (Переменная). Естественно, что это должен быть один из тех идентификаторов, который использовался при задании параметров блоков внутри подсистемы (хотя это не обязательно, поскольку параметр может быть использован и для модификации самого окна диалога). Все переменные, идентификаторы которых заданы на вкладке Initialization,помещаются в Mask Workspace – локальную рабочую область маски и являются доступными только внутри подсистемы.
4. Выбрать тип элемента интерфейса задающего параметр из списка Control Type:
o Edit – Редактируемое поле ввода.
o Checkbox – Флажок.
o Popup – Раскрывающийся список. В этом случае в графе Popup Strings (Элементы списка) необходимо ввести элементы списка, разделенные символом вертикальной черты. Например, выражение alpha|beta|gamma задаст список из трех элементов: alpha,betaиgamma.
5. Выбрать формат параметра из списка Assiggment:
o Evaluate – Вычисляемый. Выбирается, если параметр должен иметь числовое значение. В данное поле можно будет ввести выражение в соответствии с правилами языка MATLAB. Формат Evaluateпозволяет также использовать числовую форму значения переменной в том случае, если тип элемента интерфейса выбран в виде флажка или раскрывающегося списка. Так, например, для раскрывающегося списка alpha|beta|gammaзначение связанной со списком переменной будет равно 1, если в списке выбрано alpha, 2 – если в списке выбраноbeta, и 3 – если в списке выбрано gamma. Для элемента интерфейса Checkboxвычисляемые значения будут равны 1 (при установленном флажке) и0 (при снятом флажке).
o Literal – Текстовый. Выбирается, если параметр должен быть строкой символов.
6. Ввести команды инициализации в графе Initialization commands. Команды инициализации представляют собой обычные команды на языке MATLAB и могут включать операторы и m-функции. Такие команды задают переменные, которые будут находиться в рабочей области маскированной подсистемы. Эти переменные доступны внутри подсистемы и могут быть использованы в качестве параметров блоков входящих в состав подсистемы, а также для создания пиктограммы подсистемы. Команды инициализации выполняются в следующих случаях:
o При открытии окна модели.
o При запуске модели на выполнение.
o При выполнении команды Edit/Update diagram.
o При вращении блока маскированной подсистемы (в этом случае команды инициализации обеспечивают перерисовку пиктограммы).
o При автоматическом изменении пиктограммы, зависящей от параметров блока.
В качестве примера маскированной подсистемы рассмотрим функциональный генератор. Схема модели генератора показана на рис. 9.10.2.
Рис. 9.10.2 Функциональный генератор.
[Скачать пример]
Модель генератора обладает следующими возможностями:
1. Значения амплитуды и частоты сигнала могут задаваться либо как параметры генератора в его окне диалога, либо от внешних источников через входные порты.
2. Форма выходного сигнала генератора (треугольник, прямоугольник или синусоида) задается в окне диалога.
Вид окна диалога, созданного с помощью редактора маски показан на рис. 9.10.3.
Рис. 9.10.3 Окно параметров генератора
Название параметра, идентификатор связанной с ним переменной, тип элемента интерфейса и формат параметра приведены в таблице 9.10.1.
Таблица 9.10.1.
N
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.
Рис. 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, и, следовательно, на выход селектора проходит третий элемент входного вектора, т.е. синусоидальный сигнал.