exponenta event banner

Извлечь контроллер

В этом примере показано, как получить представление LTI неограниченного контроллера MPC с помощью ss. Это можно использовать для анализа частотной характеристики и производительности контроллера.

Определите модель завода. Для этого примера используйте модель CSTR, описанную в разделе Design Controller Using MPC Designer.

A = [-0.0285 -0.0014; -0.0371 -0.1476];
B = [-0.0850 0.0238; 0.0802 0.4462];
C = [0 1; 1 0];
D = zeros(2,2);
CSTR = ss(A,B,C,D);

CSTR.InputGroup.MV = 1;
CSTR.InputGroup.UD = 2;
CSTR.OutputGroup.MO = 1;
CSTR.OutputGroup.UO = 2;

Создайте контроллер MPC для определенной установки с использованием того же времени выборки, горизонта прогнозирования и веса настройки, которые описаны в разделе Проектирование контроллера MPC в командной строке.

MPCobj = mpc(CSTR,1,15);
-->The "ControlHorizon" property of the "mpc" object is empty. Assuming 2.
-->The "Weights.ManipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000.
-->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000.
-->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.
   for output(s) y1 and zero weight for output(s) y2 
MPCobj.W.ManipulatedVariablesRate = 0.3;
MPCobj.W.OutputVariables = [1 0];

Извлеките представление состояния-пространства LTI контроллера.

MPCss = ss(MPCobj);
-->Converting model to discrete time.
-->The "Model.Disturbance" property of "mpc" object is empty:
   Assuming unmeasured input disturbance #2 is integrated white noise.
   Assuming no disturbance added to measured output channel #1.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.

Преобразование оригинала CSTR модель в дискретную форму с использованием того же времени выборки, что и контроллер MPC.

CSTRd = c2d(CSTR,MPCss.Ts);

Создание модели LTI системы с замкнутым контуром с использованием feedback. Используйте управляемую переменную и измеренный выходной сигнал для обратной связи, указывая на положительную обратную связь. Использование отрицательной обратной связи привело бы к нестабильной системе с замкнутым контуром, поскольку контроллер MPC предназначен для использования положительной обратной связи.

CLsys = feedback(CSTRd,MPCss,1,1,1);

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

poles = eig(CLsys)
poles = 6×1 complex

   0.5513 + 0.2700i
   0.5513 - 0.2700i
   0.6131 + 0.1110i
   0.6131 - 0.1110i
   0.9738 + 0.0000i
   0.9359 + 0.0000i

Также можно просмотреть частотную характеристику системы.

bode(CLsys)

Figure contains 8 axes. Axes 1 with title From: In(1) contains an object of type line. This object represents CLsys. Axes 2 contains an object of type line. This object represents CLsys. Axes 3 contains an object of type line. This object represents CLsys. Axes 4 contains an object of type line. This object represents CLsys. Axes 5 with title From: In(2) contains an object of type line. This object represents CLsys. Axes 6 contains an object of type line. This object represents CLsys. Axes 7 contains an object of type line. This object represents CLsys. Axes 8 contains an object of type line. This object represents CLsys.

См. также

| |

Связанные темы