Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Маскированные подсистемы

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

Маскирование подсистем дает пользователю следующие преимущества:

1. Расширяет возможности пользователя по управлению параметрами модели.

2. Позволяет создавать более понятный интерфейс подсистемы.

3. Повышает наглядность блок-диаграммы.

4. Расширяет возможности построения сложных моделей.

5. Повышает защищенность модели от несанкционированной модификации.

Для выполнения маскирования имеющейся подсистемы необходимо предварительно выполнить следующие действия:

1. Определить какие параметры подсистемы должны задаваться пользователем в будущем окне параметров. Задать эти параметры в подсистеме с помощью идентификаторов (имен).

2. Определить каким образом параметр должен задаваться в окне диалога (с помощью строки ввода, выбором из раскрывающегося списка или установкой флажка).

3. Разработать эскиз пиктограммы блока.

4. Создать комментарии (справку) по использованию подсистемы.

Маскирование подсистемы выполняется с помощью Mask Editor (редактор маски). Для запуска редактора маски необходимо выделить маскируемую подсистему и выполнить команду Mask Subsystem… из меню Edit. Можно также воспользоваться контекстным меню. После запускаMask Editor на экран будет выведено окно редактора (рис. 2), имеющее 3 вкладки: Icon(Пиктограмма) Initialization (Инициализация), Documentation (Документация). Первая из вкладок обеспечивает создание пиктограммы подсистемы, вторая – дает возможность создать окно диалога для ввода параметров и третья – позволяет ввести описание блока и создать его справку.

В верхней части всех вкладок имеется поле Mask Type, с помощью которого можно задать имя блока. В нижней части окна имеется 5 кнопок управления редактором:

1. OK – Сохранить внесенные изменения и закрыть окно.

2. Cancel – Отменить внесенные изменения и закрыть окно.

3. Unmask – Снять маску с подсистемы. До закрытия файла модели маску можно восстановить, воспользовавшись командой Edit Mask… из меню Edit.

4. Help – Открыть окно справки редактора маски.

5. Apply – Сохранить внесенные изменения без закрытия окна редактора.

Повторный вызов редактора маски для уже маскированной подсистемы осуществляется командойEdit Mask… из меню Edit (или аналогичной командой из контекстного меню).

После того как маскирование системы будет выполнено, двойной щелчок на ее изображении будет открывать окно параметров подсистемы, а не окно модели. Открыть саму подсистему (окно модели) для редактирования или просмотра можно командой Look under mask из меню Edit или контекстного меню.

Рисунок 2 Окно редактора маски Mask Editor

Создание окна параметров

Окно параметров создается с помощью вкладки 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 При автоматическом изменении пиктограммы, зависящей от параметров блока.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.