Программное обеспечение Model Predictive Control Toolbox™ поддерживает те же форматы модели LTI, как делает программное обеспечение 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) показывают в Модели CSTR. В модели первые переменные с двумя состояниями являются концентрацией реагента (здесь называемый CA и измеренный в kmol/m3) и температура реактора (здесь называемый T, измеренный в K), в то время как первые два входных параметров являются температурой хладагента (Tc, измеренный в K, раньше управлял объектом), и концентрация реагента канала притока CAf, измеренный в kmol/m3, (часто рассматриваемый как неизмеренное воздействие).
Модель в пространстве состояний может определиться следующим образом:
A = [ -5 -0.3427; 47.68 2.785]; B = [ 0 1 0.3 0]; C = [0 1 1 0]; D = zeros(2,2); CSTR = ss(A,B,C,D);
Это задает модель в пространстве состояний непрерывного времени, сохраненную в переменной CSTR
. Модель является непрерывным временем, потому что никакое время выборки не было задано, и поэтому значение выборки значения по умолчанию нуля (что означает, что модель является непрерывным временем), принят. Можно также задать модели в пространстве состояний дискретного времени. Можно задать задержки обоих моделей непрерывного и дискретного времени.
ss
функция в последней линии вышеупомянутого кода создает модель в пространстве состояний, CSTR
, который является объектом LTI. tf
и zpk
команды, описанные в Моделях Передаточной функции и Нулевых/Полюсах/Усилениях Моделях также, создают объекты LTI. Такие объекты содержат параметры модели, а также дополнительные свойства.
Следующие кодовые наборы некоторый дополнительный вход и выходные имена и свойства для CSTR
объект пространства состояний:
CSTR.InputName = {'T_c', 'C_A_f'}; % set names of input signals CSTR.OutputName = {'T', 'C_A'}; % set names of output signals CSTR.StateName = {'C_A', 'T'}; % set names of state variables % assign input and output signals to different MPC categories CSTR=setmpcsignals(CSTR,'MV',1,'UD',2,'MO',1,'UO',2)
Первые три линии задают метки для входа, выходных переменных и переменных состояния. Следующие четыре задают тип сигнала для каждого ввода и вывода. Обозначения MV
, UD
, MO
, и UO
среднее значение управляло переменным, неизмеренным воздействием, измеренным выходом и неизмеренным выходом. (См. Типы Сигнала MPC для определений.), Например, код указывает, что вводит 2 из модели CSTR
неизмеренное воздействие. Последняя линия заставляет объект LTI быть отображенным, генерируя следующие линии в MATLAB® Командное окно:
CSTR = A = C_A T C_A -5 -0.3427 T 47.68 2.785 B = T_c C_A_f C_A 0 1 T 0.3 0 C = C_A T T 0 1 C_A 1 0 D = T_c C_A_f T 0 0 C_A 0 0 Input groups: Name Channels Manipulated 1 Unmeasured 2 Output groups: Name Channels Measured 1 Unmeasured 2 Continuous-time state-space model.
Дополнительный InputName
и OutputName
свойства влияют на отображения модели, как в вышеупомянутом примере. Программное обеспечение также использует InputName
и OutputName
свойства пометить графики и таблицы. В том контексте символ подчеркивания заставляет следующий символ быть отображенным как индекс.
Как упомянуто в Типах Сигнала MPC, программное обеспечение Model Predictive Control Toolbox поддерживает три входных типа и два выходных типа. В проекте Model Predictive Control Toolbox обозначение типов ввода и вывода определяет размерности контроллера и имеет другие важные последствия.
Например, предположите, что ваша структура объекта была следующие:
Входные параметры объекта | Объект Выходные параметры |
---|---|
Две переменные, которыми управляют (MVS) | Три измеренных выходных параметров (MOS) |
Одно измеренное воздействие (MD) | Два неизмеренных выходных параметров (UOs) |
Два неизмеренных воздействия (UDs) |
У получившегося контроллера есть четыре входных параметров (три MOS и MD) и два выходных параметров (MVS). Это включает компенсацию прямого распространения за измеренное воздействие и принимает, что вы хотели включать неизмеренные воздействия и выходные параметры как часть проекта регулятора.
Если бы вы не хотели, чтобы конкретный сигнал был обработан как один из вышеупомянутых типов, вы могли выполнить одно из следующих действий:
Устраните сигнал перед использованием модели в проектировании контроллера.
Для выхода определяйте его как неизмеренный, затем обнулите его вес.
Для входа определяйте его как неизмеренное воздействие, затем задайте пользовательское средство оценки состояния, которое игнорирует вход.
Примечание
По умолчанию программное обеспечение принимает, что незаданные входные параметры объекта являются переменными, которыми управляют, и измеряются незаданные выходные параметры. Таким образом, если бы вы не указывали, что сигнал вводит вышеупомянутый пример, у контроллера было бы четыре входных параметров (принимающий весь объект, выходные параметры были измерены) и пять выходных параметров (принимающий, что все входные параметры объекта были переменными, которыми управляют).
Примечание
Поскольку матрица D является нулем, выход немедленно не отвечает на изменение во входе. Программное обеспечение Model Predictive Control Toolbox запрещает прямое (мгновенное) сквозное соединение от переменной, которой управляют, до выхода. Например, модель в пространстве состояний CSTR могла включать прямое сквозное соединение от неизмеренного воздействия, CAf, или к CA или к T, но прямое сквозное соединение от Tc или до (измеренный или до не) выход нарушит это ограничение. Когда модель имеет прямое сквозное соединение от Tc, можно добавить маленькую задержку в этом входе, чтобы обойти проблему.
Для 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) | Строит модульные импульсные характеристики |
step(CSTR) | Модульные переходные процессы графиков |
pole(CSTR) | Вычисляет полюса |
tzero(CSTR) | Вычисляет нули передачи |
pzmap(CSTR) | Строит полюса и нули |
bode(CSTR) | Строит Предвещать частотные характеристики |
nyquist(CSTR) | Строит частотные характеристики Найквиста |
nichols(CSTR) | Строит частотные характеристики Николса |
sigma(CSTR) | Строит сингулярные значения частотной характеристики |
linearSystemAnalyzer(CSTR) | Открывает Linear System Analyzer с |
tf
| zpk
| ss
| setmpcsignals