В процессе моделирования часто возникает задача замены группы блоков на один (создание подсистемы), с целью повышения наглядности, разгрузки рабочей области окна. При двойном нажатии на подсистему в отдельном окне можно увидеть ее структуру. Изменение параметров возможно при непосредственном редактировании отдельных блоков. Если же модель сложна и (или) необходима в дальнейшем, то следует ее реализация в виде маскированной подсистемы. Маскирование подсистемы – это, по сути, блок Simulink, имеющий собственное окно настройки параметров, иконку, помощь и (или) описание. Прямого пути включения ее в состав стандартных библиотек не найдено.
Рис.2. Simulink-модель двигателя постоянного тока с независимым возбуждением
Входные и выходные координаты представим в виде элементов In и Out, соответственно. Переменные величины (для разных вариантов систем) зададим в буквенном виде (рис.3).
Рис.3. Simulink-модель ДПТ перед использованием маскирования
Координаты на входах системы – напряжение, приложенное к якорной цепи, статический момент. Координаты на выходе – скорость, момент и ток якоря. Выходная величина разделяется на составляющие путем вставки элемента Demux. Выделив все элементы, вызываем контекстное меню, выбираем пункт, создание подсистемы (Createsubsystem). Результатом выполнения команды является блок, представленный на рис.4.
Рис.4. Блок, созданный командой Create subsystem
Для редактирования созданного блока необходимо создать диалоговое окно с помощью редактора маски (MaskEditor), при запуске которого на экран выводится форма, содержащая 4 вкладки:
Icon (пиктограмма) отвечает за прорисовку пиктограммы блока;
Parameters (параметры) позволяет создать окно диалога для ввода необходимых параметров;
Initialization (инициализация) содержит команды инициализации;
Documentation (документация) создает справочную систему к модели.
На рис.5 представлено окно MaskEditor с активной вкладкой Icon, которая в свою очередь содержит несколько групп элементов.
Рис.5. Окно MaskEditor с активной вкладкой Icon
Группа IconOptions:
Icon frame – список, позволяющий выбрать способ отображения рамки пиктограммы (Visible – рамка видна, Invisible – рамка не видна);
Icon transparency – список, позволяющий установить прозрачность пиктограммы (Opaque – пиктограмма не прозрачна, Transparent – пиктограмма прозрачна);
Icon rotation – список, позволяющий задать возможность вращения пиктограммы (Fixed – положение пиктограммы фиксировано, Rotates – пиктограмма может вращаться вместе с блоком).
Группа Examplesofdrawingcommands по сути носит справочный характер и не влияет на отображение пиктограммы.
Группа Drawingcommands отвечает за прорисовку пиктограммы блока. Из множества возможных команд использованы следующие:
port_label – отображение на пиктограмме метки порта;
port_label('input',1,'Ua') – вход номер 1 получит метку «Ua».
text– вывод на пиктограмму (определенные координаты) текста;
plot– отображает рисунок с координатным заданием позиций линий.
На рис.6 представлено окно MaskEditor с активной вкладкой Parameters, которая в свою очередь содержит несколько групп элементов.
Группа Dialogparameters служит для добавления переменных, каждая из которых содержит пять полей:
Promt – имя переменной в окне параметров модели;
Variable – буквенное обозначение переменной в маскируемой модели;
Type – тип задания переменной (edit – численное значение, checkbox - флаг, popup – всплывающее меню);
Evaluate – параметр обладает свойством «вычисляемый», а при отсутствии выделения - «текстовый»;
Tunable – позволяет переменной изменять свое значение в процессе моделирования.
Рис.6. Окно MaskEditor с активной вкладкой Parameters
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.