Main Content

화학 반응기의 선형 시스템 특성 플로팅하기

이 예제에서는 시뮬레이션 중에 특정 조건에서 Simulink® 모델의 선형화를 플로팅하는 방법을 보여줍니다. Simulink Control Design™은 시뮬레이션 중에 선형 시스템을 계산하고 플로팅하기 위해 Simulink 모델에 추가할 수 있는 블록을 제공합니다. 이 예에서는 연속적으로 교반되는 화학 반응기에 대한 선형화된 모델을 계산하고 플로팅합니다. 특히 다양한 동작점을 통해 천이되는 반응기 모델을 선형화합니다.

화학 반응기 모델

화학 반응기의 Simulink 모델을 엽니다.

open_system('scdcstr')

반응기에는 세 개의 입력과 두 개의 출력이 있습니다.

  • FeedCon0, FeedTemp0, Coolant Temp 블록은 각각 공급 농도 입력, 공급 온도 입력, 냉각수 온도 입력을 모델링합니다.

  • CSTR 블록의 T 포트와 CA 포트는 각각 반응기 온도 출력과 잔류 농도 출력을 모델링합니다.

이 예에서는 공급 농도와 공급 온도가 일정할 때 냉각수 온도 Coolant Temp에서 잔류 농도 CA까지의 반응에 초점을 맞춥니다.

반응기 모델링에 대한 자세한 내용은 [1] 항목을 참조하십시오.

반응기 선형 응답 플로팅하기

반응기 모델에는 Simulink Control Design Linear Analysis Plots 라이브러리의 Bode Plot 블록이 포함되어 있습니다. 블록은 다음으로 구성되어 있습니다.

  • 냉각수 온도 Coolant Temp에서의 선형화 입력

  • 잔류 농도 CA에서의 선형화 출력

Bode Plot 블록은 외부 트리거 신호의 상승 에지에서 선형화를 수행하도록 구성되어 있습니다. Linearization trigger signal 블록은 트리거 신호를 계산하고, 잔류 농도가 다음 조건 중 하나를 만족할 때 상승 에지를 산출합니다.

  • 정상 상태 값이 2일 때

  • 5에 인접한 범위일 때

  • 정상 상태 값이 9일 때

Bode Plot 블록 구성을 보기 위해 블록을 더블 클릭합니다.

모델 시뮬레이션을 시작하기 전에 플롯 창을 열어 놓아야 시뮬레이션 중에 블록에 대한 보드 플롯을 볼 수 있습니다. 플롯 창을 열기 위해 플롯 표시를 클릭합니다.

모델을 시뮬레이션합니다.

sim('scdcstr')

보드 플롯은 Linearization trigger signal 블록에 의해 생성된 트리거 신호에 대응하는 세 가지 동작점에서 선형화된 반응기를 보여줍니다.

  • 5초 동작점에서 낮은 잔류 농도에 대한 선형화

  • 38초 동작점에서 높은 잔류 농도에 대한 선형화

  • 27초 동작점에서 반응기가 낮은 잔류 농도에서 높은 잔류 농도로 천이됨에 따라 발생하는 선형화

낮은 잔류 농도에서의 선형화와 높은 잔류 농도에서의 선형화는 유사하지만, 천이 중에 일어나는 선형화는 DC 이득과 위상 특성이 상당히 다릅니다. 저주파수에서는 위상이 180도 달라지는데, 이는 불안정한 극점이나 영점이 있음을 나타냅니다.

반응기 선형 응답 기록하기

계산된 선형 시스템을 모델 작업 공간에 저장할 수 있습니다. 이를 위해 블록의 기록 탭에 있는 파라미터를 사용합니다.

이 예제에서 Bode Plot 블록은 계산된 응답을 MATLAB® 작업 공간에 LinearReactor 구조체로 저장하도록 구성되어 있습니다.

LinearReactor
LinearReactor = 

  struct with fields:

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

이 구조체에서 values 필드는 선형 시스템을 LTI 상태공간 모델로 구성된 배열로 저장합니다. 자세한 내용은 Model Arrays 항목을 참조하십시오. 선형화하는 동안 해당 시뮬레이션 시간은 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, Dale, Thomas Edgar, and Duncan Mellichamp. Process Dynamics and Control, Second Edition. John Wiley & Sons, Ltd, 2006.

참고 항목

| | | | |

관련 항목