Программное обеспечение Model Predictive Control Toolbox™ поддерживает те же форматы модели LTI, как делает программное обеспечение Control System Toolbox™. Можно использовать, какой бы ни является самым удобным для приложения, и преобразуйте от одного формата до другого. Для получения дополнительной информации смотрите Базовые модели (Control System Toolbox).
Передаточная функция (TF) связывает конкретную пару ввода/вывода. Например, если u (t) является входом объекта, и y (t) является выход, передаточная функция, связывающая их, может быть:
Этот TF состоит из полинома numerator, s +2, полином знаменателя, s2 +s+10, и задержка, которая является 1,5 единицами измерения времени здесь. Можно задать G с помощью Control System Toolbox 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 учтен, как в
(нули и/или полюса являются комплексными числами в целом).
Вы задаете модель ZPK путем определения нуля (нулей), полюса (полюсов) и усиления как в
poles = [-0.3, -0.1+0.7*i, -0.1-0.7*i]; Gzpk1 = zpk(-0.45,poles,2.5);
Формат пространства состояний удобен, если ваша модель является набором LTI дифференциальные и алгебраические уравнения. Например, рассмотрите следующую линеаризовавшую модель непрерывного реактора смесителя (CSTR), включающего экзотермическое (производство тепла) реакция [1].
где CA является концентрацией ключевого реагента, T является температурой в реакторе, Tc является температурой хладагента, CAi является концентрацией реагента в реакторном канале, и aij и bij являются константами. Смотрите процесс, схематичный в Схематичном CSTR. Начала (например, C ′A) обозначают отклонение от номинального установившегося условия, при котором линеаризовалась модель.
Схематичный CSTR
Измерение концентраций реагента часто затрудняет, если не невозможно. Давайте примем, что T является измеренный выход, CA является неизмеренный выход, Tc является переменной, которой управляют, и CAi является неизмеренным воздействием.
Модель соответствует общему формату пространства состояний
где
Следующий код показывает, как задать такую модель для некоторых определенных значений констант bij и aij:
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
функция в последней линии вышеупомянутого кода создает модель в пространстве состояний, 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 обозначение типов ввода и вывода определяет размерности контроллера и имеет другие важные последствия.
Например, предположите, что ваша структура объекта была следующие:
Входные параметры объекта | Объект Выходные параметры |
---|---|
Две переменные, которыми управляют (MVS) | Три измеренных выходных параметров (MOS) |
Одно измеренное воздействие (MD) | Два неизмеренных выходных параметров (UOs) |
Два неизмеренных воздействия (UDs) |
У получившегося контроллера есть четыре входных параметров (три MOS и MD) и два выходных параметров (MVS). Это включает компенсацию feedforward за измеренное воздействие и принимает, что вы хотели включать неизмеренные воздействия и выходные параметры как часть проекта регулятора.
Если бы вы не хотели, чтобы конкретный сигнал был обработан как один из вышеупомянутых типов, вы могли выполнить одно из следующих действий:
Устраните сигнал перед использованием модели в проектировании контроллера.
Для выхода определяйте его как неизмеренный, затем обнулите его вес.
Для входа определяйте его как неизмеренное воздействие, затем задайте пользовательское средство оценки состояния, которое игнорирует вход.
По умолчанию программное обеспечение принимает, что незаданные входные параметры объекта являются переменными, которыми управляют, и измеряются незаданные выходные параметры. Таким образом, если бы вы не указывали, что сигнал вводит вышеупомянутый пример, у контроллера было бы четыре входных параметров (принимающий весь объект, выходные параметры были измерены) и пять выходных параметров (принимающий, что все входные параметры объекта были переменными, которыми управляют).
Для модели CSTR
, предположения Model Predictive Control Toolbox по умолчанию являются неправильными. Необходимо установить его 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) | Откройте Linear System Analyzer с |
pole(CSTR) | Вычислите |
step(CSTR) | График |
zero(CSTR) | Вычислите |
[1] Seborg, D. E. Т. Ф. Эдгар, и Д. А. Мелличамп, Динамика Процесса и Управление, 2-й Выпуск, Вайли, 2004, стр 34–36 и 94–95.
setmpcsignals
| ss
| tf
| zpk