В этом примере показано, как анализировать прогнозирующий контроллер модели с помощью cloffset. Эта функция вычисляет коэффициент усиления в установившемся состоянии с замкнутым контуром для каждого выходного сигнала, когда к каждому выходному сигналу добавляется устойчивое возмущение в 1 единицу. Предполагается, что никакие ограничения не активны.
Определите модель завода в пространстве состояний.
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;
Создайте контроллер MPC для определенного завода.
MPCobj = mpc(CSTR,1);
-->The "PredictionHorizon" property of "mpc" object is empty. Trying PredictionHorizon = 10. -->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.OutputVariables = [1 0];
Вычислите коэффициент усиления в установившемся режиме с замкнутым контуром для этого контроллера.
DCgain = cloffset(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 output disturbance added to measured output channel #1 is integrated white noise. Assuming no disturbance added to measured output channel #2. -->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.
DCgain = 2×2
0 0.0000
2.3272 1.0000
DCgain(i,j) представляет коэффициент усиления от устойчивого 1-единичного возмущения на выходе j на измеренный выход i.
Второй столбец DCgain показывает, что контроллер не реагирует на возмущение, приложенное ко второму выходу. Это нарушение игнорируется, поскольку вес настройки для этого канала равен 0.
Поскольку вес настройки для первого выхода ненулевой, контроллер реагирует, когда к этому выходу прикладывается возмущение, устраняя эффект возмущения (DCgain(1,1) = 0). Однако, поскольку вес настройки для второго выхода равен 0, эта реакция контроллера вносит коэффициент усиления для выхода 2 (DCgain(2,1) = 2.3272).