В этом примере показано, как построить линеаризацию модели 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.
Bode Plot | Gain and Phase Margin Plot | Linear Step Response Plot | Nichols Plot | Pole-Zero Plot | Singular Value Plot