Главы     1     2     3     4     5     6     7     8     9     10     11     12     13     14     15     16     17     18   

Основы моделирования в Simulink

Глава 13 Маскирование подсистем



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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

В нижней части окна имеется 5 кнопок управления редактором:

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

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

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

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

Apply – Сохранить внесенные изменения без закрытия окна редактора. Повторный вызов редактора маски для уже маскированной

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

 

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

 

 

    Создание окна параметров
    Окно параметров создается с помощью вкладки Initialization (Инициализация) редактора маски. Для создания поля ввода параметра с его описанием необходимо выполнить следующие действия: Нажать кнопку...
    Создание окна параметров 2
    Выбрать формат параметра из списка Assiggment: Evaluate – Вычисляемый. Выбирается, если параметр должен иметь числовое значение. В данное поле можно будет ввести выражение в соответствии с правила...
    Создание окна параметров 3
    Модель генератора обладает следующими возможностями: Значения амплитуды и частоты сигнала могут задаваться либо как параметры генератора в его окне диалога, либо от внешних источников через входны...
    Создание окна параметров 4
    Название параметра, идентификатор связанной с ним переменной, тип элемента интерфейса и формат параметра приведены в ниже лежащей таблице. Prompt Variable Control Type Assiggment Назначение Intern...
    Создание окна параметров 5
    Выбор формы выходного сигнала выполняется также с помощью блока Selector. Треугольный, прямоугольный и синусоидальный сигналы объединяются в вектор с помощью блока Mux, а затем в зависимости от чи...
    Создание пиктограммы подсистемы
    Пиктограмма подсистемы создается с помощью вкладки Icon (Пиктограмма) редактора маски. Окно редактора маски с открытой вкладкой Icon показано на рисунке 9.10.5. Вкладка содержит следующие элементы...
    Создание пиктограммы подсистемы 2
    Icon transparency -Список позволяющий установить прозрачность пиктограммы: Opaque – Пиктограмма не прозрачна. Transparent– Пиктограмма прозрачна. Icon rotation -Список позволяющий задать возможнос...
    Создание пиктограммы подсистемы 3
    Примеры маскированных подсистем с различными вариантами текстовых надписей даны на рисунке 9.10.6. Значения текстовых переменных заданы на вкладке Initialization в графе Initialization commands....
    Команды построения графиков
    Для построения графиков на пиктограмме могут использоваться следующие команды: plot(Y) – В том случае, если Y является вектором, то строится график по оси абсцисс которого откладывается значение и...
    Команды отображения передаточных функций
    Для отображения на пиктограмме передаточной функции используются следующие команды: dpoly(num, den) – Отображение дробно-рациональной передаточной функции (num – вектор коэффициентов числителя, de...
    Команды отображения рисунка из графического файла
    Для отображения на пиктограмме рисуннка из графического файла используются следующие команды: image(imread('filename')) – Отображение рисунка из файла с полным именем filename. Для правильной рабо...
    Использование редактора пиктограмм iconedit
    Для создания пиктограмм можно также использовать редактор пиктограмм iconedit. Для его вызова используется команда: iconedit('modelname','Subsystem'), где modelname – имя файла модели (без расшире...
    Создание автоматически обновляемых пиктограмм
    Создание автоматически обновляемой пиктограммы рассмотрим на примере функционального генератора (рисунок 9.10.2). Генератор может вырабатывать сигнал трех видов: треугольный, прямоугольный и синус...
    Создание автоматически обновляемых пиктограмм 2
    Реализация поставленной задачи обеспечивается указанными ниже командами, которые необходимо ввести в графе Initialization commands редактора маски: switch Wave_form case 1 % треугольный сигнал x=[...
    Создание справки маскированной подсистемы
    Для создания описания и справки маскированной подсистемы служит вкладка Documentation (Документация). Вкладка Documentation содержит две графы: Block description (Описание блока) и Block Help (Спр...
    Создание справки маскированной подсистемы 2
    Для правильной работы справочной системы необходимо, чтобы файл справки находился в той же папке, что и файл модели, и данная папка являлась рабочей. Допускается также вместе с именем файла указыв...
    Создание динамически обновляемых окон диалога
    Динамически обновляемое окно диалога это такое окно, внешний вид которого изменяется в зависимости от значения параметров заданных в самом окне. Например, для рассматриваемого в данной главе функц...
    Создание динамически обновляемых окон диалога 2
    Разработать функции обработки. Для рассматриваемого примера функция call_back_freq (файл call_back_freq.m) выглядит следующим образом: Freq_param=get_param(gcb,'Internal_freq'); % Присвоение перем...
    Создание динамически обновляемых окон диалога 3
    Для правильной работы такого окна диалога необходимо чтобы файл модели и файлы функций обработки находились в одной папке, и данная папка являлась рабочей. Согласно документации по Simulink текст...
    Управление портами маскированной подсистемы
    В предыдущем параграфе рассматривалась методика создания динамически обновляемых окон диалога. В приведенном примере задание на амплитуду или частоту генератора сигналов может задаваться как парам...
    Управление портами маскированной подсистемы 2
    На рисунке 9.10.16 приведена модель генератора для случая, когда источник задания на амплитуду сигнала является внутренним, а источник задания на частоту – внешним. На рисунке видно, что при выбор...