Этот пример показывает, как анализировать прогнозирующий контроллер модели с помощью 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
).