Вычислите установившееся усиление

В этом примере показано, как анализировать установившуюся эффективность прогнозирующего контроллера модели, использующего cloffset. Эта команда принимает, что никакое ограничение не активно, и вычисляет установившуюся выходную матрицу чувствительности замкнутого цикла, который является усилением DC от объекта выходные воздействия (использующий длительный шаг воздействия с 1 модулем) к управляемому объекту выходные параметры. Когда эта матрица является нулем, контроллер может отклонить постоянные выходные воздействия и отследить постоянное заданное значение с нулевыми смещениями в установившемся.

Задайте модель объекта управления пространства состояний с двумя входными параметрами и двумя выходными параметрами. Этот объект представляет линеаризовавшую модель Постоянно реактора смесителя (CSTR), где первый измеренный выход является концентрацией ключевого реагента, второй измеренный выход является температурой в реакторе. Для получения дополнительной информации см. Модель CSTR.

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 

Когда последняя выходная линия задает, значение по умолчанию функции стоимости, выходными весами является 1 для первого выхода и 0 для второго:

MPCobj.W.OutputVariables
ans = 1×2

     1     0

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

getoutdist(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.

ans =
 
  A = 
       x1
   x1   1
 
  B = 
       u1
   x1   1
 
  C = 
        x1
   MO1   1
   MO2   0
 
  D = 
        u1
   MO1   0
   MO2   0
 
Sample time: 1 seconds
Discrete-time state-space model.

Вычислите установившуюся матрицу усиления с обратной связью для системы замкнутого цикла.

DCgain = cloffset(MPCobj)
DCgain = 2×2

    0.0000   -0.0000
    2.3272    1.0000

DCgain(i,j) замкнутый цикл статическое усиление от выходного воздействия j к управляемому объекту выход i. Первый столбец DCgain показывает, что воздействие применилось к первому измеренному выходу (ключевая концентрация реагента) только влияет на второй выход (реакторная температура). Второй столбец показывает, что воздействие применилось к вторым измеренным выходным передачам, полным через замкнутый цикл, и полностью измеряется на втором объекте выход. Другими словами, замкнутый цикл не может компенсировать воздействие, применился к второму выходу.

То, что обе записи в первой строке DCgain нулевые средние значения, что контроллер может полностью отклонить воздействия, которые влияют на этот выход (и поэтому отслеживание любой данной ссылки заданного значения на этом выходе было бы совершенно). Это происходит, потому что вес функции стоимости для первого выхода является ненулевым, и потому что встроенное средство оценки включает интегратор, добавленный как возмущение на первом выходе.

С другой стороны, поскольку весом функции стоимости для второго выхода является 0, (и также потому что нет никакого интегратора, добавленного как возмущение на этом выходе), диспетчер не пытается отклонить воздействия, влияющие на второй выход, как показано второй строкой DCgain. Это также означает, что контроллер не мог бы отследить любое ссылочное заданное значение на этом выходе.

Смотрите также

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте