Большинство приложений MPC включают объекты с несколькими входами и выходами. Вы можете использовать ss
, tf
, и zpk
для представления модели объекта управления MIMO. Например, рассмотрим следующую модель дистилляционного столбца [1], которая использовалась во многих перспективных исследованиях по контролю:
Выходы y 1 и y 2 представляют собой измеренные чистоты продукта. Контроллер манипулирует входами, u 1 и u 2, чтобы удерживать каждый выход в заданной уставке. Эти входы представляют скорости потока жидкости рефлюксного и ребойлерного пара, соответственно. Вход u 3 является измеренной скоростью потока жидкости нарушения порядка питания.
Модель состоит из шести передаточных функций, по одной для каждой пары вход/выход. Каждая передаточная функция является формой первого порядка плюс задержки, часто используемой инженерами по управлению процессами.
Задайте отдельные передаточные функции для каждой пары вход/выход. Для примера, g12
- передаточная функция от входа u 1 до вывода y 2.
g11 = tf( 12.8, [16.7 1], 'IOdelay', 1.0,'TimeUnit','minutes'); g12 = tf(-18.9, [21.0 1], 'IOdelay', 3.0,'TimeUnit','minutes'); g13 = tf( 3.8, [14.9 1], 'IOdelay', 8.1,'TimeUnit','minutes'); g21 = tf( 6.6, [10.9 1], 'IOdelay', 7.0,'TimeUnit','minutes'); g22 = tf(-19.4, [14.4 1], 'IOdelay', 3.0,'TimeUnit','minutes'); g23 = tf( 4.9, [13.2 1], 'IOdelay', 3.4,'TimeUnit','minutes');
Определите систему MIMO путем создания матрицы моделей передаточных функций.
DC = [g11 g12 g13 g21 g22 g23];
Задайте имена входного и выходного сигналов и укажите третий вход как измеренное входное нарушение порядка.
DC.InputName = {'Reflux Rate','Steam Rate','Feed Rate'}; DC.OutputName = {'Distillate Purity','Bottoms Purity'}; DC = setmpcsignals(DC,'MD',3);
-->Assuming unspecified input signals are manipulated variables.
Проверьте получившуюся систему.
DC
DC = From input "Reflux Rate" to output... 12.8 Distillate Purity: exp(-1*s) * ---------- 16.7 s + 1 6.6 Bottoms Purity: exp(-7*s) * ---------- 10.9 s + 1 From input "Steam Rate" to output... -18.9 Distillate Purity: exp(-3*s) * -------- 21 s + 1 -19.4 Bottoms Purity: exp(-3*s) * ---------- 14.4 s + 1 From input "Feed Rate" to output... 3.8 Distillate Purity: exp(-8.1*s) * ---------- 14.9 s + 1 4.9 Bottoms Purity: exp(-3.4*s) * ---------- 13.2 s + 1 Input groups: Name Channels Measured 3 Manipulated 1,2 Output groups: Name Channels Measured 1,2 Continuous-time transfer function.
[1] Wood, R. K., and M. W. Berry, Chem. Eng. Sci., Vol. 28, pp. 1707, 1973.
setmpcsignals
| ss
| tf
| zpk