Программное обеспечение Model Predictive Control Toolbox™ поддерживает те же форматы модели LTI, что и программное обеспечение Control System Toolbox™. Вы можете использовать то, что наиболее удобно для вашего приложения и конвертировать из одного формата в другой. Дополнительные сведения см. в разделе Основные модели.
Передаточная функция (TF) относится к конкретной паре «вход-выход». Например, если u (t) является входным сигналом установки, а y (t) является выходным сигналом, передаточной функцией, связанной с ними, может быть:
+ s + 10e − 1 .5s
Этот TF состоит из многочлена числителя, s + 2, многочлена знаменателя, s2 + s + 10, и задержки, которая составляет здесь 1,5 единиц времени. Определить G можно с помощью панели инструментов системы управленияtf функция:
Gtf1 = tf([1 2], [1 1 10],'OutputDelay',1.5)
Transfer function:
s + 2
exp(-1.5*s) * ------------
s^2 + s + 10
Подобно формату TF, формат ZPK связывает пару «вход-выход». Разница в том, что числитель ZPK и многочлен знаменателя факторизованы, как в
7i) (s + 0,1 − 0 .7i)
(нули и/или полюса являются комплексными числами в целом).
Модель ZPK определяется путем указания нуля (нулей), полюса (полюсов) и коэффициента усиления, как в
poles = [-0.3, -0.1+0.7*i, -0.1-0.7*i]; Gzpk1 = zpk(-0.45,poles,2.5);
Формат state-space удобен, если модель представляет собой набор дифференциальных и алгебраических уравнений LTI. Например, рассмотрим следующую линеаризованную модель непрерывного реактора с мешалкой (CSTR), включающего экзотермическую (генерирующую тепло) реакцию [1].
где CA - концентрация ключевого реагента, T - температура в реакторе, Tc - температура хладагента, CAi - концентрация реагента в сырье реактора, aij и bij - константы. См. схему процесса в CSTR Schematic. Простые числа (например, C′A) обозначают отклонение от номинального установившегося состояния, при котором модель линеаризована.
Схема CSTR

Измерение концентраций реагентов часто затруднено, если не невозможно. Предположим, что T - измеренный выходной сигнал, CA - неизмеренный выходной сигнал, Tc - управляемая переменная, а CAi - неизмеренное возмущение.
Модель соответствует общему формату state-space
+ Bu
+ Du
где
]
= [0000]
Следующий код показывает, как определить такую модель для некоторых конкретных значений констант aij и bij:
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 матрица D равна нулю, и выходной сигнал не реагирует мгновенно на изменение входного сигнала. Программное обеспечение Model Predictive Control Toolbox запрещает прямой (мгновенный) проход от управляемой переменной к выходу. Например, модель CSTR может включать прямой проход от неизмеренного нарушения, CAi, к CA или T, но прямой проход от Tc к любому выходу нарушит это ограничение. Если модель имела прямой проход от Tc, можно добавить небольшую задержку на этом входе, чтобы обойти проблему.
ss функция в последней строке вышеуказанного кода создает модель state-space, CSTR, который является объектом LTI. tf и zpk команды, описанные в моделях передаточных функций и моделях нулевого/полюсного/усиления, также создают объекты LTI. Такие объекты содержат параметры модели, а также дополнительные свойства.
Следующий код устанавливает некоторые из CSTR необязательные свойства модели:
CSTR.InputName = {'T_c','C_A_i'};
CSTR.OutputName = {'T','C_A'};
CSTR.StateName = {'C_A','T'};
CSTR.InputGroup.MV = 1;
CSTR.InputGroup.UD = 2;
CSTR.OutputGroup.MO = 1;
CSTR.OutputGroup.UO = 2;
CSTR
Первые три строки определяют метки для переменных ввода, вывода и состояния. Следующие четыре задают тип сигнала для каждого входа и выхода. Обозначения MV, UD, MO, и UO средняя управляемая переменная, неизмеренное возмущение, измеренный выход и неизмеренный выход. (Определения см. в разделе Типы сигналов.) Например, код указывает, что вход 2 модели CSTR является неизмеренным нарушением. Последняя строка приводит к отображению объекта LTI, генерируя следующие строки в окне команд MATLAB ®:
A =
C_A T
C_A -0.0285 -0.0014
T -0.0371 -0.1476
B =
T_c C_Ai
C_A -0.085 0.0238
T 0.0802 0.4462
C =
C_A T
T 0 1
C_A 1 0
D =
T_c C_Ai
T 0 0
C_A 0 0
Input groups:
Name Channels
MV 1
UD 2
Output groups:
Name Channels
MO 1
UO 2
Continuous-time model
Дополнительное InputName и OutputName свойства влияют на отображение модели, как в приведенном выше примере. Программное обеспечение также использует InputName и OutputName свойства для маркировки графиков и таблиц. В этом контексте символ подчеркивания приводит к отображению следующего символа в виде подстрочного индекса.
Общее дело. Как упоминалось в разделе Типы сигналов, программное обеспечение Model Predictive Control Toolbox поддерживает три типа ввода и два типа вывода. В конструкции панели инструментов управления Model Predictive Control Toolbox назначение типов ввода и вывода определяет размеры контроллера и имеет другие важные последствия.
Например, предположим, что структура завода была следующей:
Заводские вводы | Заводские выходы |
|---|---|
Две управляемые переменные (MV) | Три измеренных выхода (MO) |
Одно измеренное возмущение (MD) | Два неизмеренных выхода (ОО) |
Два неизмеренных нарушения (UD) |
Результирующий контроллер имеет четыре входа (три MO и MD) и два выхода (MV). Она включает в себя обратную компенсацию измеренного возмущения и предполагает, что в конструкцию регулятора необходимо включить неизмеренные возмущения и выходные сигналы.
Если вы не хотите, чтобы определенный сигнал рассматривался как один из вышеперечисленных типов, можно выполнить одно из следующих действий:
Устраните сигнал перед использованием модели в конструкции контроллера.
Для вывода обозначьте его как неизмеренный, а затем установите его вес равным нулю.
Для ввода обозначьте его как неизмеренное нарушение, а затем определите пользовательский оценщик состояния, который игнорирует ввод.
Примечание
По умолчанию программное обеспечение предполагает, что неуточненные входные данные установки являются управляемыми переменными, а неуточненные выходные данные измеряются. Таким образом, если вы не указали типы сигналов в приведенном выше примере, контроллер будет иметь четыре входа (предполагая, что все выходы установки были измерены) и пять выходов (предполагая, что все входы установки были управляемыми переменными).
Для модели CSTR, предположения по умолчанию для панели инструментов управления «Прогнозирование модели» неверны. Необходимо установить его InputGroup и OutputGroup свойства, как показано в приведенном выше коде, или изменить настройки по умолчанию при загрузке модели в MPC Designer.
Использовать setmpcsignals для создания определения типа. Например:
CSTR = setmpcsignals(CSTR,'UD',2,'UO',2);
наборы InputGroup и OutputGroup к тем же значениям, что и в предыдущем примере. CSTR тогда отображение будет включать следующие строки:
Input groups:
Name Channels
Unmeasured 2
Manipulated 1
Output groups:
Name Channels
Unmeasured 2
Measured 1
Обратите внимание, что setmpcsignals устанавливает неуказанные входные данные в Manipulated и неуточненные результаты Measured.
Программное обеспечение Control System Toolbox предоставляет функции для анализа моделей LTI. Некоторые из наиболее часто используемых перечислены ниже. Введите код примера в подсказке MATLAB, чтобы узнать, как они работают для CSTR пример.
Пример | Предполагаемый результат |
|---|---|
dcgain(CSTR) | Вычислить матрицу усиления для |
impulse(CSTR) | График |
linearSystemAnalyzer(CSTR) | Откройте анализатор линейной системы с помощью |
pole(CSTR) | Вычислить |
step(CSTR) | График |
zero(CSTR) | Вычислить |
[1] Себорг, Д. Э., Т. Ф. Эдгар и Д. А. Mellichamp, Process Dynamics and Control, 2nd Edition, Wiley, 2004, pp. 34-36 и 94-95.
setmpcsignals | ss | tf | zpk