Постройте характеристики линейной системы химического реактора

В этом примере показано, как построить линеаризацию модели Simulink® при конкретных условиях в процессе моделирования. Программное обеспечение Simulink Control Design™ обеспечивает блоки, которые можно добавить в модели Simulink, чтобы вычислить и построить линейные системы в процессе моделирования. В этом примере вы вычисляете и строите линеаризовавшую модель для постоянно размешиваемого химического реактора. А именно, вы линеаризуете реакторную модель, когда она переходит через различные рабочие точки.

Химическая реакторная модель

Откройте модель Simulink химического реактора.

open_system('scdcstr')

Реактор имеет три входных параметров и два выходных параметров.

  • FeedCon0, FeedTemp0, и Coolant Temp блоки моделируют концентрацию канала, питают температуру и входные параметры температуры хладагента, соответственно.

  • T и CA порты CSTR блокируйтесь моделируют реакторную температурную и остаточную концентрацию выходные параметры, соответственно.

Этот пример фокусируется на ответе от температуры хладагента, Coolant Temp, к остаточной концентрации, CA, когда концентрация канала и температура канала являются постоянными.

Для получения дополнительной информации о моделировании реакторов см. [1].

Постройте реакторный линейный ответ

Реакторная модель содержит блок Bode Plot из библиотеки Simulink Control Design Linear Analysis Plots. Блок сконфигурирован с:

  • Вход линеаризации при температуре хладагента Coolant Temp

  • Линеаризация выход при остаточной концентрации CA

Блок Bode Plot сконфигурирован, чтобы выполнить линеаризацию на возрастающих ребрах внешнего триггерного сигнала. Триггерный блок сигнала Линеаризации вычисляет триггерный сигнал и производит возрастающее ребро, когда остаточная концентрация удовлетворяет любому из следующих условий.

  • В значении устойчивого состояния 2

  • В узком диапазоне приблизительно 5

  • В значении устойчивого состояния 9

Чтобы просмотреть настройку блока Bode Plot, дважды кликните блок.

Чтобы просмотреть Диаграмму Боде для блока во время симуляции, необходимо открыть окно графика прежде, чем симулировать модель. Для этого нажмите Show Plot.

Симулируйте модель.

sim('scdcstr')

Диаграмма Боде показывает линеаризовавший реактор в трех рабочих точках, соответствующих триггерным сигналам, сгенерированным триггерным блоком сигнала Линеаризации.

  • В 5 секунд линеаризация для низкой остаточной концентрации.

  • В 38 секунд линеаризация для высокой остаточной концентрации.

  • В 27 секунд линеаризация как реакторные переходы от минимума до высокой остаточной концентрации.

Линеаризация при низких и высоких остаточных концентрациях подобна, но линеаризация во время перехода имеет существенно отличающееся усиление DC и характеристики фазы. В низких частотах фаза отличается 180 градусами, указывая на присутствие или нестабильного полюса или нуля.

Регистрируйте реакторный линейный ответ

Можно сохранить вычисленные линейные системы в рабочее пространство модели. Для этого используйте параметры на вкладке Logging блока.

В данном примере блок Bode Plot сконфигурирован, чтобы сохранить вычисленные ответы в рабочей области MATLAB® как LinearReactor структура.

LinearReactor
LinearReactor = 

  struct with fields:

         time: [3x1 double]
       values: [1x1x3x1 ss]
    blockName: 'scdcstr/Bode Plot'

В этой структуре, values поле хранит линейные системы как массив моделей в пространстве состояний LTI. Для получения дополнительной информации смотрите Массивы моделей. Соответствующие времена симуляции для линеаризации зарегистрированы time поле .

Получите вычисленные линейные модели.

P1 = LinearReactor.values(:,:,1);
P2 = LinearReactor.values(:,:,2);
P3 = LinearReactor.values(:,:,3);

Диаграмма Боде линейной системы во время 27 секунд, когда реакторные переходы от низко до высокой остаточной концентрации, указывает, что система могла быть нестабильной. Подтвердить этот результат, отображая линейные системы в формате нулей, полюсов и усиления.

zpk(P1)
zpk(P2)
zpk(P3)
ans =
 
  From input "Coolant Temp" to output "CSTR/2":
         -0.1028
  ----------------------
  (s^2 + 2.215s + 2.415)
 
Continuous-time zero/pole/gain model.


ans =
 
  From input "Coolant Temp" to output "CSTR/2":
        -0.07514
  ---------------------
  (s+0.7567) (s-0.3484)
 
Continuous-time zero/pole/gain model.


ans =
 
  From input "Coolant Temp" to output "CSTR/2":
        -0.020462
  ---------------------
  (s+0.8542) (s+0.7528)
 
Continuous-time zero/pole/gain model.

Закройте модель Simulink.

bdclose('scdcstr')

Ссылка

[1] Seborg, долина, Томас Эдгар и Дункан Мелличамп. Динамика процесса и управление, второй выпуск. John Wiley & Sons, Ltd, 2006.

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

| | | | |

Похожие темы