exponenta event banner

Управление толщиной для стальной балки

В этом примере показано, как сконструировать регулятор MIMO LQG для управления горизонтальной и вертикальной толщиной стальной балки в стане горячей прокатки стали.

Модель прокатного стана

На фиг.1 и 2 показан процесс формования балки из горячей стали путем сжатия ее с помощью прокатных цилиндров.

Рис. 1. Формирование балки с помощью цилиндров качения.

Рис. 2: Клеть прокатного стана.

Желаемая Н-форма впечатывается двумя парами цилиндров качения (по одному на ось), расположенных гидравлическими приводами. Зазор между двумя цилиндрами называется зазором между валками. Целью является поддержание толщины x и y в пределах заданных допусков. Изменения толщины возникают главным образом из-за изменений толщины и твердости входящего пучка (входное возмущение) и эксцентриситетов цилиндров качения.

Модель с разомкнутым контуром для осей x или y показана на рисунке 3. Возмущение эксцентриситета моделируется как белый шум w_e возбуждение полосового фильтра Fe. Возмущение входной толщины моделируется как белый шум w_i включение фильтра нижних частот Fi. Для противодействия таким нарушениям необходимо управление с обратной связью. Потому что зазор между валками delta невозможно измерить вблизи клети, усилие качения f используется для обратной связи.

Рис. 3. Модель с разомкнутым контуром.

Построение модели с разомкнутым контуром

Эмпирические модели для фильтров Fe и Fi для оси x

$$ F_{ex} = { 3 \times 10^4 s \over s^2 + 0.125 s + 6^2 } , \;\;\;
F_{ix} = { 10^4 \over s + 0.05 } $$

и коэффициент усиления между зазорами моделируются как

$$ H_x = { 2.4 \times 10^8 \over s^2 + 72 s + 90^2 } , \;\;\; g_x = 10^{-6} $$

Чтобы построить модель с разомкнутым контуром на рис. 3, начните с указания каждого блока:

Hx = tf(2.4e8 , [1  72  90^2] , 'inputname' , 'u_x');
Fex = tf([3e4 0] , [1 0.125 6^2] , 'inputname' , 'w_{ex}');
Fix = tf(1e4 , [1 0.05] , 'inputname' , 'w_{ix}');
gx = 1e-6;

Следующая конструкция передаточной функции из u,we,wi кому f1,f2 с использованием конкатенации и append следующим образом. Чтобы повысить числовую точность, переключитесь на представление состояния-пространства перед подключением моделей:

T = append([ss(Hx) Fex],Fix);

Наконец, примените сопоставление преобразования f1,f2 кому delta,f:

Px = [-gx gx;1 1] * T;
Px.OutputName = {'x-gap' , 'x-force'};

Постройте график величины частотной характеристики от нормированных возмущений w_e и w_i к выходам:

bodemag(Px(: , [2 3]),{1e-2,1e2}), grid

Обратите внимание на пик при 6 рад/с, соответствующий (периодическому) возмущению эксцентриситета.

Конструкция регулятора LQG для оси X

Сначала сконструировать регулятор LQG для ослабления изменений толщины из-за эксцентриситета и возмущений входной толщины w_e и w_i. Регуляторы LQG формируют команды исполнительного механизма u = -K x_e где x_e - оценка состояний установки. Эта оценка получена на основе имеющихся измерений силы качения. f с помощью наблюдателя под названием «фильтр Калмана».

Рис. 4: Структура управления LQG.

Использовать lqry для вычисления подходящего коэффициента усиления обратной связи по состоянию K. Коэффициент усиления K выбирается для минимизации функции стоимости формы.

$$ C(u) = \int_0^{\infty} \left( \delta^2 (t) + \beta u^2(t) \right) dt $$

где параметр beta используется для компромисса между производительностью и усилиями по управлению. Для beta = 1e-4, вы можете вычислить оптимальное усиление, введя

Pxdes = Px('x-gap','u_x');      % transfer u_x -> x-gap
Kx = lqry(Pxdes,1,1e-4)
Kx =

    0.0621    0.1315    0.0222   -0.0008   -0.0074

Далее используйте kalman разработать оценщик Калмана для состояний растения. Установите ковариацию шума измерения на 1e4, чтобы ограничить усиление на высоких частотах:

Ex = kalman(Px('x-force',:),eye(2),1e4);

Наконец, используйте lqgreg для сборки регулятора LQG Regx от Kx и Ex:

Regx = lqgreg(Ex,Kx);
zpk(Regx)
ans =
 
  From input "x-force" to output "u_x":
       -0.012546 (s+10.97) (s-2.395) (s^2 + 72s + 8100)
  ----------------------------------------------------------
  (s+207.7) (s^2 + 0.738s + 32.33) (s^2 + 310.7s + 2.536e04)
 
Input groups:              
       Name        Channels
    Measurement       1    
                           
Output groups:          
      Name      Channels
    Controls       1    
                        
Continuous-time zero/pole/gain model.

bode(Regx),
grid, title('LQG Regulator')

Оценка регулятора LQG

Замкните контур регулирования, показанный на рисунке 4:

clx = feedback(Px,Regx,1,2,+1);

Обратите внимание, что в этой команде в + 1 учитывается тот факт, что lqgreg вычисляет компенсатор положительной обратной связи.

Теперь можно сравнить отклики с разомкнутым и замкнутым контуром с возмущениями эксцентриситета и входной толщины:

bodemag(Px(1,2:3),'b',clx(1,2:3),'r',{1e-1,1e2})
grid, legend('Open Loop','Closed Loop')

График Боде показывает ослабление эффектов возмущения на 20 дБ. Вы можете подтвердить это, моделируя изменения толщины, вызванные возмущениями, с регулятором LQG и без него, следующим образом:

dt = 0.01;  % simulation time step
t = 0:dt:30;
wx = sqrt(1/dt) * randn(2,length(t));    % sampled driving noise

h = lsimplot(Px(1,2:3),'b',clx(1,2:3),'r',wx,t);
h.Input.Visible = 'off';
legend('Open Loop','Closed Loop')

Двухосное проектирование

Можно сконструировать аналогичный регулятор LQG для оси Y. Используйте следующие модели привода, усиления и возмущения:

Hy = tf(7.8e8,[1 71 88^2],'inputname','u_y');
Fiy = tf(2e4,[1 0.05],'inputname','w_{iy}');
Fey = tf([1e5 0],[1 0.19 9.4^2],'inputn','w_{ey}');
gy = 0.5e-6;

Модель с разомкнутым контуром можно построить путем ввода

Py = append([ss(Hy) Fey],Fiy);
Py = [-gy gy;1 1] * Py;
Py.OutputName = {'y-gap' 'y-force'};

Затем можно вычислить соответствующий регулятор LQG, набрав

ky = lqry(Py(1,1),1,1e-4);
Ey = kalman(Py(2,:),eye(2),1e4);
Regy = lqgreg(Ey,ky);

Предполагая, что оси x и y разъединены, можно использовать эти два регулятора независимо для управления двухосным прокатным станом.

Эффекты перекрестного соединения

Обработка каждой оси отдельно действительна, пока они достаточно разъединены. К сожалению, прокатные станы имеют некоторое поперечное соединение между осями, поскольку увеличение силы вдоль х сжимает материал и вызывает относительное уменьшение силы вдоль оси y.

Эффекты перекрестного соединения смоделированы, как показано на фиг.5, с gxy = 0,1 и gyx = 0,4.

Рис. 5. Модель кросс-муфты.

Чтобы изучить влияние перекрестной связи на разъединенные петли SISO, создайте двухосную модель на рис. 5 и закройте петли по оси x и y с помощью ранее разработанных регуляторов LQG:

gxy = 0.1;
gyx = 0.4;
P = append(Px,Py);                % Append x- and y-axis models
P = P([1 3 2 4],[1 4 2 3 5 6]);   % Reorder inputs and outputs
CC = [1   0    0    gyx*gx  ;...  % Cross-coupling matrix
      0   1  gxy*gy    0    ;...
      0   0    1      -gyx  ;...
      0   0   -gxy     1  ];
Pxy = CC * P;                     % Cross-coupling model
Pxy.outputn = P.outputn;

clxy0 = feedback(Pxy,append(Regx,Regy),1:2,3:4,+1);

Теперь смоделируйте промежутки толщины x и y для двухосной модели.

wy = sqrt(1/dt) * randn(2,length(t));     % y-axis disturbances
wxy = [wx ; wy];

h = lsimplot(Pxy(1:2,3:6),'b',clxy0(1:2,3:6),'r',wxy,t);
h.Input.Visible = 'off';
legend('Open Loop','Closed Loop')

Обратите внимание на большие изменения толщины вдоль оси X. Обработка каждой оси по отдельности является неадекватной, и для правильной обработки эффектов перекрестного соединения необходимо использовать конструкцию оси соединения MIMO.

Разработка MIMO

Конструкция MIMO состоит из одного регулятора, который использует оба измерения силы fx и fy для вычисления команд привода, u_x и u_y. Эта архитектура управления изображена на фиг.6.

Рис. 6: Структура управления MIMO.

Можно спроектировать регулятор MIMO LQG для двухосной модели, используя те же шаги, что и для более ранних конструкций SISO. Сначала вычислите коэффициент усиления обратной связи состояния, затем вычислите блок оценки состояния и, наконец, соберите эти два компонента, используя lqgreg. Выполните следующие действия с помощью следующих команд:

Kxy = lqry(Pxy(1:2,1:2),eye(2),1e-4*eye(2));
Exy = kalman(Pxy(3:4,:),eye(4),1e4*eye(2));
Regxy = lqgreg(Exy,Kxy);

Чтобы сравнить производительность конструкций MIMO и SISO с несколькими контурами, закройте цикл MIMO на рис. 6:

clxy = feedback(Pxy,Regxy,1:2,3:4,+1);

Затем смоделируйте промежутки толщины x и y для двухосной модели:

h = lsimplot(Pxy(1:2,3:6),'b',clxy(1:2,3:6),'r',wxy,t);
h.Input.Visible = 'off';
legend('Open Loop','Closed Loop')

Конструкция MIMO не показывает потерь рабочих характеристик по оси x, и уровни ослабления возмущений теперь совпадают с уровнями, полученными для каждой отдельной оси. Улучшение также очевидно при сравнении основных коэффициентов усиления откликов по замкнутому контуру от входных возмущений до зазоров по толщине. x-gap, y-gap:

sigma(clxy0(1:2,3:6),'b',clxy(1:2,3:6),'r',{1e-2,1e2})
grid, legend('Two SISO Loops','MIMO Loop')

Обратите внимание на то, как регулятор MIMO лучше справляется с задачей поддержания коэффициента усиления одинаково низким во всех направлениях.

Модель Simulink ®

Если вы являетесь пользователем Simulink ®, нажмите на ссылку ниже, чтобы открыть сопутствующую модель Simulink ®, которая реализует как многоконтурную архитектуру управления SISO, так и MIMO. Эту модель можно использовать для сравнения обеих конструкций путем переключения между конструкциями во время моделирования.

Откройте модель Simulink двухосного прокатного стана.