Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Пакеты расширения MATLAB. Control System Toolbox и Robust Control Toolbox
.pdf
Глава 1. Способы описания линейных динамических систем 31
то получим передаточную матрицу 5*5, на диагонали которой находятся передаточные функции
2
1/(s
+ 2e(i)s + 1), e(i) = 0.2*i,
а остальные элементы нулевые.
Команда series осуществляет последовательное соединение
двух систем. Ее синтаксис
sys = series(sys1, sys2)
èëè
sys = series(sys1, sys2, outputs1, inputs2).
В первом случае эта команда равносильна умножению систем:
sys = sys1*sys2, с чем мы уже встречались ранее. Размерности
выхода первой системы и входа второй должны быть одинаковы.
Вторая команда реализует более общий случай, когда часть выходов первой системы и часть входов второй могут быть задействованы отдельно (рис. 1.11). Тогда outputs1 — вектор номеров (индексов) выходов первой системы, которые должны быть подсоединены к номерам (индексам) входов второй системы, указанным в
векторе inputs2 (например, outputs1 = [1 2], inputs2 = [1 3], если выходы 1 и 2 первой системы должны быть соединены со входами 1
и 3 второй системы). Размерности обоих векторов должны быть
одинаковы.
Ðèñ. 1.11. К команде series
Команда parallel осуществляет параллельное соединение двух
систем. Ее синтаксис
sys = parallel(sys1, sys2)
èëè
sys = parallel(sys1, sys2, inp1, inp2, out1, out2).
В первом случае эта команда равносильна сложению систем:
sys = sys1 + sys2, входы систем соединяются между собой и на

32 Глава 1. Способы описания линейных динамических систем
Ðèñ. 1.12. К команде parallel
них подаются одинаковые сигналы, а выходы суммируются. Во
втором случае inp1, inp2 — векторы, содержащие индексы входов
первой и второй систем, соединяемых между собой, а out1,out2 —
векторы, содержащие индексы выходов, которые суммируются
друг с другом (рис. 1.12). Пусть, например, каждая система имеет
по три входа и по четыре выхода, и мы хотим, чтобы на вход 1
первой системы и вход 2 второй подавался один и тот же сигнал, и
то же самое относительно входов 2 и 3. Далее мы хотим, чтобы
первые выходы систем суммировались друг с другом, и то же самое относительно вторых входов. Тогда команда запишется так:
sys = parallel(sys1, sys2, [1 2], [2 3], [1 2], [1 2]).
При построении системы важное значение имеет команда
feedback. По команде, общий вид которой
sys = feedback(sys1, sys2, feedin, feedout, sign),
строится система с sys1 в прямой связи и sys2 в обратной, причем
знак обратной связи +1 èëè −1 определяется полем sign. Без указания знака система имеет отрицательную обратную связь (рис. 1.13).
Обе системы должны быть либо непрерывные, либо дискретные с одинаковыми периодами квантования. Третье и четвертое
поля команды используются в тех случаях, когда на регулятор
подается только часть выходов первой системы, и для управления (выход регулятора) также используется только часть входов
объекта. Тогда feedout — вектор номеров (индексов) выходов объекта и feedin — вектор индексов входа объекта, участвующих в
организации обратной связи. Размерность этих векторов должна
быть равна размерностям входа и выхода регулятора соответственно.

Глава 1. Способы описания линейных динамических систем 33
Ðèñ. 1.13. К команде feedback
Рассмотрим пример. Пусть скорость вращения первой инерционной массы в системе, описываемой уравнениями (1.3)...(1.5),
должна регулироваться интегро-пропорциональным регулятором с
передаточной функцией
= (KpTrs + 1)/Trs. (1.43)
W
r
Создадим файл (П. 1.8). Вначале создадим систему 1:
J1 = 21.5; J2 = 7; C = 243;
sys1 = tf([J2 0 C], [J1*J2 0 C*(J1+J2) 0]). (Ï. 1.8)
Затем сформируем регулятор:
Tr = 1/350; Kp = 156;
sys2 = tf([Kp*Tr 1],[Tr 0]). (Ï. 1.8.1)
Теперь соединим обе системы последовательно:
sys3 = series(sys2, sys1). (Ï. 1.8.2)
Для создания замкнутой системы можно поступить двояким
образом: или создать систему в обратной связи с коэффициентом 1: sysf = tf(1), а затем применить команду
sys4à=feedback(sys3,sysf), (Ï. 1.8.3)
или просто написать
sys4b=feedback(sys3,1). (Ï. 1.8.4)
Результат в обоих случаях будет одинаков: будет получена передаточная функция замкнутой системы в виде:
32
ss s
++ +
3 2 7 1111 243
F
=
0433226791111
..
43 2
ss s s
++ + +
... .
. (1.44)
243

34 Глава 1. Способы описания линейных динамических систем
Реакция системы на единичный толчок, вычисленная командой step(sys4a), приведена на рис. 1.14.
Ðèñ. 1.14. Процесс в системе с эластичной муфтой
и ПИ регулятором
Пусть теперь для уменьшения перерегулирования регулятор
выполняется чисто интегральным с подчиненным пропорциональным регулятором (рис. 1.15). Такая система реализуется командами:
sys5 = feedback(sys1, Kp)
sys2a = tf([1], [Tr 0])
sys6 = series(sys2a, sys5)
sys7 = feedback(sys6,1)
step(sys7). (Ï. 1.8.5)
Ðèñ. 1.15. Система с И-регулятором
и подчиненным контуром скорости

Глава 1. Способы описания линейных динамических систем 35
Передаточная функция системы sys7 получается в виде
2
s
+
F
=
43 2
... .
ss s s
0433226791111243
++ + +
7 243
, (1.45)
а переходный процесс при толчке задания приведен на рис. 1.16.
Ðèñ. 1.16. Переходный процесс в системе с И-регулятором
и подчиненным контуром скорости
Рассмотрим остальные команды из табл. 1.2. Команда
sys = lft (sys1,sys2,n,m)
образует перекрестное соединение двух моделей как это показано
на рис. 1.17. Петля обратной связи соединяет первые n выходов
sys2 с последними n входами sys1 и последние m выходов sys1 с
первыми m входами sys2. Åñëè æå n, m не указаны, то получается
одна из двух систем, приведенных на рис. 1.18, в зависимости от
того, какая из систем имеет большее число входов и выходов.
Если это первая система, то получается система рис. 1.18 а, а если
вторая, то формируется система рис. 1.18 б.
Команда augstate расширяет выход системы, добавляя к y фазовые координаты x, т. е. выход становится равным
y
⎡
⎤
=
y
1
⎢
⎥
x
⎣
⎦
(1.46)

36 Глава 1. Способы описания линейных динамических систем
Ðèñ. 1.17. К команде lft (простой случай)
Ðèñ. 1.18. К команде lft (сложный случай):
à — размерность второй системы меньше первой,
á — размерность второй системы больше первой
Эта команда может быть применена как предшествующая замыканию системы по полному состоянию с матрицей обратной
связи K (u =−Kx) с использованием команды feedback. Команда
применима только к виду системы SS.
Команда ñonnect имеет формат
sysc = connect(sys, Q, inputs, outputs)
и используется для формирования уравнений состояния сложных
систем. Предполагается, что система управления состоит из ряда
подсистем, каждая из которых описывается системой уравнений
типа (1.1), (1.2), сложным образом связанных между собой. Вначале выполняется команда append, которую мы уже рассматривали,
с этими подсистемами, в результате чего образуется система sys
подсистем, не связанных между собой, а затем уже выполняется

Глава 1. Способы описания линейных динамических систем 37
команда connect. В этой команде inputs è outputs есть векторы,
содержащие индексы тех входов и соответственно выходов sys,
которые будут назначены как входы и выходы окончательной системы sysc. Матрица Q содержит указания на соединения выходов
со входами sys. Она состоит из ряда строк, первый элемент которых указывает на индекс входа, а остальные элементы указывают
индексы выходов, с которыми этот вход соединен по схеме суммирования, причем, если какой-либо выход вычитается, он указывается со знаком минус. Все строки должны иметь одинаковое
число элементов, недостающие позиции заполняются нулями. Эта
команда не работает при наличии запаздывания.
Рассмотрим пример. Привод вращающейся печи (Kiln) осуществляется от двух двигателей, имеющих равные моменты инерции
J
, через эластичные муфты с коэффициентами жесткости Ñ1è Ñ2,
1
создающими на валах двигателей упругие моменты Ì
менты двигателей обозначены M
ω
Вращающаяся печь имеет момент инерции J2и скорость вра-
d2
щения ω
(рис. 1.19). Все величины приведены к скорости враще-
m
d1,Md2
, их скорости вращения ωd1,
, Ìó2.Ìî-
ó1
ния валов двигателей. Упругий момент пропорционален разности
угловых положений вала двигателя и печи. Регулирование вращения осуществляется интегро-пропорциональным регулятором скорости, на входе которого сравниваются заданное значение скорости ω
и скорость вращения первого двигателя ωd1. Выход регуля-
ref
тора задает моменты двигателей. Будем пренебрегать динамикой
регуляторов момента двигателей, так что фактические моменты
двигателей равны заданным. Кроме того, момент второго двигателя корректируется в функции разности скоростей вращения двигателей. Смысл этого будет ясен позже.
Ðèñ. 1.19. Двухдвигательный электропривод вращающейся печи
Всю систему можно представить состоящей из 4-х подсистем
(рис. 1.20), где первые две — это двигатели с полумуфтами, третья — вращающаяся печь, четвертая — регулятор скорости. На основании уравнений (1.3), (1.4), (1..5) можно записать:

38 Глава 1. Способы описания линейных динамических систем
Ðèñ. 1.20. Структурная схема системы электропривода
вращающейся печи
sys1:
d
ω
d
1
MMJ
=−(),
dt
dM
y
1
=−(),ωω
C
dt
ref y
11
11
dm
(1.47)
(1.48)
sys2:
sys3:
sys4:
d
ω
d
2
MKpi MJ
=+ −−(()),
dt
ref d d y
dM
y
dt
d
ω
m
dt
dy
=+
dt
=+ −()ωω
MyK
ref p ref d
ωω
12 21
2
=−(),ωω
C
dm
22
MMJ
=+(),
122
yy
−
()ωω
01*
y
ref d
T
r
. (1.52)
1
(1.49)
(1.50)
(1.51)

Глава 1. Способы описания линейных динамических систем 39
Нетрудно видеть, что уравнения (1.52) дают передаточную
функцию регулятора W
, приведенную выше (1.43). Создадим
r
файл (П. 1.9), предполагая, что все состояния измеримы, т. е. матрицы с — единичные.
Tr = 1/350; Kp = 160; J1 = 21.5; J2 = 2*7; C2 = 243*0.7; C1=243;
Kpi = 120;%Kpi=0;
a1 = [0 -1/J1;C1 0]; b1 = [1/J1 0;0 -C1];c1 = [1 0;0 1];
sys1 = ss(a1, b1, c1, 0);
set(sys1, 'StateName',{'Wd1';'My1'},'InputName',...
{'Md';'Wm'},'OutputName',{'Wd1';'My1'});
a2 = [0 -1/J1; C2 0]; b2 = [1/J1 Kpi/J1 0;0 0 -C2];
sys2 =ss(a2, b2, c1, 0, 'StateName',{'Wd2';'My2'},...
'InputName',{'Md2';'delw';'Wm'}, 'OutputName',{'Wd2';'My2'});
a3 = 0;b3 = [1/J2]; c3 = [1];
sys3=ss(a3, b3, c3, 0, 'StateName', 'Wm',...
'InputName', 'My1+My2', 'OutputName', 'Wm');
b4 = [1/Tr -1/Tr]; d4=[Kp -Kp];
sys4 =ss(a3, b4, c3, d4, 'InputName',{'Uref';'Wd1'},...
'OutputName','Ureg');
sys = append(sys1, sys2, sys3, sys4);
Q=[160;250;360;41-3;550;624;810];
Inputs = [7]; outputs = [1 3];
sysc = connect(sys, Q, inputs, outputs)
step(sysc, 4)
grid (Ï. 1.9)
Вначале создаются описанные выше четыре подсистемы. Затем они объединяются в одну систему командой append. Система
sys имеет матрицы (при K
= 120, C1= C2):
pi
a = Wd1 My1 Wd2 My2 Wm ?
Wd1 0 -0.0465 0 0 0 0
My1 243 0 0 0 0 0
Wd2 0 0 0 -0.0465 0 0
My2 0 0 243 0 0 0
Wm 0 0 0 0 0 0
?00 0 0 00
b =Μd Wm Md2 delw Wm My1+My2 Uref Wd1
Wd1 0.0465 0 0 0 0 0 0 0
My 0 -243 0 0 0 0 0 0
Wd2 0 0 0.0465 5.58 0 0 0 0
My2 0 0 0 0 -243 0 0 0
Wm 0 0 0 0 0 0.0714 0 0
? 0 0 0 0 0 0 350 -350

40 Глава 1. Способы описания линейных динамических систем
c = Wd1 My1 Wd2 My2 Wm ?
Wd1 1 0 0 0 0 0
My1 0 1 0 0 0 0
Wd2 0 0 1 0 0 0
My2 0 0 0 1 0 0
Wm 0 0 0 0 1 0
Ureg 0 0 0 0 0 1
d = Md Wm Md2 delw Wm My1+My2 Uref Wd1
Wd100000 0 00
My100000 0 00
Wd200000 0 00
My200000 0 00
Wm00000 0 00
Ureg 0 0 0 0 0 0 160 −160
Назначим вход объединенной системы ω
и выходы ωd1è ω
ref
d2
(первый и третий). Соответственно сформированы векторы inputs
è outputs. Остальные входы связаны с выходами так, как это следует из приведенных выше уравнений, что и зафиксировано в
матрице Q. После выполнения команды connect получаем sysc
â âèäå:
a = x1 x2 x3 x4 x5 x6
x1 -7.44 -0.0465 0 0 0 0.0465
x2 243 0 0 0 -243 0
x3 -1.86 0 -5.58 -0.0465 0 0.0465
x4 0 0 243 0 -243 0
x5 0 0.0714 0 0.0714 0 0
x6 -350 0 0 0 0 0
b = Uref c = x1 x2 x3 x4 x5 x6
x1 7.442 Wd1 1 0 0 0 0 0
x2 0 Wd2 0 0 1 0 0 0
x3 7.442
x4 0
x5 0
x6 350 d = 0.
На рис. 1.21 показаны переходные процессы при толчке задания при C
= C2è Kpi= 0. Видно, что скорости обоих двигателей из-
1
меняются одинаково. Причем переходный процесс такой же, как
на рис. 1.14, что неудивительно, так как система, процесс в которой показан на рис. 1.14, представляет собой «половину» рассмат-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
