Рис. 2.33 Связь между параметрами маскированной подсистемы и параметрами
блоков, входящих в ее состав, реализуется через упоминавшуюся уже рабочую область подсистемы (Mask Workspace). Таким образом, чтобы увязать параметр Порог с параметром настройки блока Hit Crossing, необходимо ввести в поле параметра Hit Crossing offset имя переменной porog.
Чтобы изменить значение параметра блока, входящего в маскированную подсистему, требуется «заглянуть ей под маску» (т. е. открыть окно блокдиаграммы подсистемы). Это можно сделать с помощью команды Look Under Mask из раздела Edit меню пользователя.
Несколько слов о том, что собой представляет рабочая область маскированной подсистемы.
Mask Workspace
это локальная рабочая область исполняемой подсистемы. Она создается SIMULINK в следующих случаях:
если маска подсистемы содержит команды инициализации;
если при описании маски заданы параметры настройки подсистемы (как в нашем примере).
Переменные, содержащиеся в рабочей области маскированной подсистемы, доступны всем блокам, входящим в ее состав. Другими словами, при создании маски можно определять параметры, которые должны иметь одинаковое значение для всех блоков, входящих в состав маскированной подсистемы (например, дискретность шага моделирования).
Продолжим создание маски для подсистемы «Умножитель» и опишем второй параметр, выполнив следующие действия:
«нажать» кнопку Add для добавления второй строки в список параметров;
в поле Prompt ввести Коэффициент;
в поле Variable указать имя переменной, например k.
Значения полей Control type и Assignment следует оставить без изменения. После «нажатия» кнопки Apply можно открыть скорректированное окно
настройки параметров подсистемы «Умножитель».
Чтобы изменить взаимное расположение полей «Коэффициент» и «Порог», следует поменять местами соответствующие строки в списке параметров окна Редактора Маски (с помощью кнопок Up или Down).
Параметр Коэффициент, как и параметр Порог, необходимо связать с соответствующим блоком подсистемы (блоком Коэффициент). Чтобы создать связь, требуется ввести в окне настройки этого блока имя переменной k.
Вкладка Icon содержит средства создания индивидуальной иконки для маскируемой подсистемы:
1.Строка редактирования Mask type, дублирующая одноименную строку на закладке Initialization.
2.Поле ввода Drawing commands (Команды рисования), предназначенное для ввода команд, создающих графическое изображение на иконке.
3.Выпадающее меню Icon frame, которое позволяет устанавливать способ вывода прямоугольной рамки иконки:
Visible рамка выводится,
Invisible рамка не выводится (Невидима).
4. Выпадающее меню Icon transparance, устанавливающее «прозрачность» нового образа иконки:
Opaque изображение, выводимое на иконке, скрывает стандартный
«образ»;
Transparent
новая иконка является «прозрачной», т. е. и новое, и стандартное изображения выводятся одновременно; например, если маскируемая подсистема имеет входной и выходной порты, то их названия (In и Out) будут «просвечивать» через новое изображение.
5. Выпадающее меню Icon rotation определяет, будет ли поворачиваться изображение на иконке при повороте блока подсистемы:
Rotates
изображение выводится с учетом поворота блока;
Fixed
изображение не корректируется.
6. Выпадающее меню Drawing coordinates позволяет выбрать систему координат для вывода изображения на иконке:
Autoscale
автоматическая установка масштаба осей; при использовании данной опции размер иконки изменяется пропорционально изменению размеров контура блока;
Normalized
для вывода иконки устанавливается постоянный масштаб; при этом нижний левый угол рамки иконки (контура блока) имеет
координаты (0, 0), а правый верхний угол координаты (1, 1); соответственно при выводе графика на иконке значения координат х и у должны находиться в пределах [0,1]; при изменении размеров блока размер иконки изменяется автоматически;
Pixel
значения координат х и у для выводимого графика должны быть указаны в пикселах; при изменении размеров блока иконка не масштабируется; чтобы обеспечить ее автоматическое масштабирование, необходимо в командах «рисования» указывать дополнительные параметры: текущую высоту и ширину блока (height и width).
Теперь подробнее о том, какие именно Команды рисования могут быть введены в поле Drawing Commands.
Для вывода текста на иконке может использоваться одна из трех команд:
disp( 'текст') вывод указанного текста в центре иконки;
text(x,y, 'текст')
вывод текста, начиная с позиции, задаваемой координатами x и y;
fprintf ( 'текст') вывод форматированного текста по центру иконки. Во всех трех командах выводимый текст может быть указан не
непосредственно, а через имя переменной, в которой хранятся символьные данные. Например, команда disp может быть использована для вывода в иконке слова 'Подсистема' двумя способами:
disp('Подсистема'),
disp(variable), где variable
имя переменной, в которую предварительно был записан выводимый текст; эта переменная должна храниться в Mask Workspace, a ее значение может быть задано в поле
Initialization commands (на закладке Initialization), например так: variable =
'Подсистема'.
Если выводимый в иконке текст должен быть размещен в виде нескольких строк, то конец каждой строки обозначается символом табуляции (\п). Например, чтобы вывести надпись «Маскированная подсистема» на двух строках, команда disp должна выглядеть следующим образом: disp('Маскированная\nподсистема').
Для вывода графиков на иконке могут быть использованы стандартные средства MATLAB, т. е. библиотечные функции рисования графиков. Наиболее универсальной из них является функция plot, которая в простейшем случае
имеет формат plot(x, у), где х и у
векторы, содержащие равное число элементов. При создании иконки аргументы функции должны храниться в рабочей области подсистемы, а их значения могут быть заданы в поле
Initialization Commands, например так:
x = [0 1 2 3]; y = [1 4 1 4].
Если на иконке требуется отобразить вид функции, выполняющей преобразование входного сигнала (реализуемой с помощью данной подсистемы), то для этого используется функция dpoly с соответствующими параметрами.
SIMULINK позволяет также создавать иконки с изображениями, нарисованными «вручную». Такая иконка создается с помощью специального графического редактора. Для его запуска необходимо в командном окне MATLAB ввести команду iconedit.
Если данная команда вводится без параметров, то MATLAB запрашивает дополнительную информацию: название окна блок-диаграммы, в котором находится редактируемый блок (Name of block window) и имя блока, под которым он используется в диаграмме (Name of block).
Замечание. Для корректной работы редактора iconedit редактируемый *.mdl-файл обязательно должен находиться в активной директории;
соответствующая настройка производится с помощью опции Set Path из командного окна MATLAB.
При запуске редактора iconedit открывается окно, содержащее координатную сетку и визир, перемещаемый с помощью «мыши». Нажатие ЛКМ приводит к появлению точки в выбранной позиции. Очередная точка соединяется с предыдущей прямой линией.
При работе с редактором iconedit используются следующие команды, вводимые с клавиатуры:
d удаление последней точки;
п создание новой точки, не связанной с предыдущей;
q выход из редактора с автоматическим обновлением иконки блока. После закрытия окна iconedit в поле Drawing Commands выводится команда plot
спараметрами, соответствующими созданному изображению. При необходимости ее можно скопировать в буфер обмена Clipboard и использовать для создания аналогичного изображения на какой-либо другой иконке.
Вкладка Documentation Редактора Маски содержит три области ввода:
Mask type, дублирующее одноименные поля двух других закладок редактора;
Block description, предназначенное для ввода пояснения к маскируемой подсистеме (это пояснение будет отображаться в окне настройки параметров подсистемы); форматирование текста в этом поле выполняется автоматически;
Block help, обеспечивающее ввод информации, которая впоследствии будет доступна при «нажатии» кнопки Help в окне настройки параметров подсистемы; эта информация сохраняется в формате html, включается SIMULINK в состав его справочной системы и может быть просмотрена,
например, с помощью Internet Explorer.
Созданная маска может быть впоследствии изменена с помощью того же Редактора Маски. Его вызов в этом случае производится по команде Edit Mask, заменяющей для маскированной подсистемы команду Mask Subsystem.
Наличие в составе SIMULINK механизма маскирования делает его, как сейчас принято говорить, «открытой системой», т. е. доступной для доработки и расширения самими пользователями в соответствии с их потребностями. Именно этот механизм лежит в основе создания пользователями SIMULINK собственных библиотек блоков.
3. РАБОТА С ПАКЕТОМ
CONTROL SYSTEM TOOLBOX
3.1. Линейные стационарные объекты (lti-объекты)
Для описания непрерывных и дискретных динамических моделей систем управления с постоянными параметрами при моделировании электромеханических систем используют реализацию математического
описания элементов в виде передаточных функций (tf-форму). При реализации такой математической модели на ЭВМ передаточная функция записывается в виде отношения многочленов, которые задаются в виде векторов-строк, составленных из их коэффициентов:
|
N sm |
N |
sm 1 |
... |
N |
m |
s |
N |
m 1 |
|
H s |
1 |
2 |
|
|
|
|
|
, m n . |
||
D sn |
D sn 1 |
... |
D s |
D |
|
|||||
|
|
|
||||||||
|
1 |
2 |
|
|
n |
|
n 1 |
|
||
Вместе с тем известны другие формы представления математических моделей: представление модели нулями, полюсами и обобщенным коэффициентом передачи (zpk-форма)
H s K |
s |
z1 |
s |
z2 |
... s |
zm |
, |
m |
n, |
|
|
|
|
|
|
||||
|
s |
p1 |
s |
p2 |
... s |
pn |
|
|
|
а также в форме пространства состояний в виде системы дифференциальных или разностных (в случае построения модели дискретной системы) уравнений
dx dt |
Ax Bu, . |
y Cx |
Du |
Все вышеназванные формы представления моделей реализованы в пакете прикладных программ Control System Toolbox, входящим в состав системы инженерных расчетов MATLAB. В пакете реализованы:
полный набор средств для анализа MIMO и SISO линейных систем;
временные характеристики: передаточная и переходная функция, реакция на произвольное воздействие;
частотные характеристики: диаграммы Боде, Николса, Найквиста и
др.;
разработка обратных связей;
проектирование LQR и LQE регуляторов;
характеристики объекта: управляемость, наблюдаемость, понижение порядка моделей;
поддержка систем с запаздыванием.
Недостатком предыдущих версий системы MATLAB было отсутствие возможности получения частотных характеристик моделей, построенных в подсистеме SIMULINK. Пакет Control System Toolbox устраняет этот недостаток, так как включает в себя функции извлекающие данные, необходимые для расчета характеристик объекта, из структурных моделей подсистемы SIMULINK.
В пакете Control System Toolbox введен новый класс объектов
ltiобъекты линейные системы с постоянными параметрами, которые могут быть заданы в одной из вышеназванных форм. Команда P = tf([1 2], [1 1 10]) создает объект Р подкласса tf с передаточной функцией
P s |
s 2 / s 2 s 10 , |