본 발명은 MPC 제어기로부터 PID 제어기의 다이나믹스를 제거하기 위해 모델 예측 제어와 함께 사용되는 방법에 관한 것이다.
MPC 공정 모델은 선형 방정식의 집합이며, 따라서 독립 변수와 종속 변수 사이에 어떠한 관계가 존재한다고 가정했을 때 임의의 독립 변수를 종속 변수와 교환하는 것이 수학적으로 가능하다.
이 변환에 대한 후보 세트는 PID 제어기에 대한 설정값(독립) 및 그 PID 제어기에 대한 관련 밸브 위치(종속)이다.
MPC 제어기는 흔히 공정 시스템의 선형 모델에 기초한다. 본 명세서에서 설명하는 본 발명은 많은 분야에서 응용되며, 예들은 화학 및 정유 공정 애플리케이 션으로부터 사용된다.
어떠한 시스템에도 독립 변수 및 종속 변수의 두 유형의 변수가 있다. 독립 변수는 시스템에 대한 입력이다. 독립 변수는 조작(manipulated) 변수 및 교란(disturbance) (피드포워드) 변수로 더 나누어진다. 조작 변수는 밸브 위치 또는 PID 제어기 설정값과 같은 휴먼 오퍼레이터(human operator)에 의해 변화될 수 있는 변수이다. 교란 변수는 시스템에 영향을 미치는 독립 변수이지만, 휴먼 오퍼레이터에 의해 변화될 수 없다. 공급 조성(feed composition), 공급 온도 및 주위 온도와 같은 변수들이 교란 변수의 예이다.
종속 변수는 시스템으로부터의 출력이다. 종속 변수는 독립 변수의 변화에 의해 영향을 받는다. 휴먼 오퍼레이터는 이들을 직접 변화시킬 수 없다. 그러나, 종속 변수의 값은 조작 변수의 값을 올바르게 변경시킴으로써 제어될 수 있다. 또한, 시스템에 교란이 발생하면, 조작 변수는 이 교란을 방해하도록 정확하게 조정되어야 한다.
선형 모델을 이용하면, 복잡하고 다변화 가능한 제어를 설명하는데 있어서 행렬 수학을 이용할 수 있다. MPC 모델의 일반적인 공식이 몇 개 있다. 제어에 대한 일반적인 모델은 스텝 응답 모델이다.
방정식 1 : 스텝 응답 동적 행렬, 블록 행렬 형식(Step Response Matrix, Block Matrix Form)
여기서,
, 각각의 타임 스텝(time step)에서 i번째 종속 변수에서의 누적 변화,
, 각각의 타임 스텝(time step)에서 j번째 독립 변수에서의 스텝 변화, 및
스텝 응답 방정식의 다른 형식은 유한 임펄스 응답(FIR; Finite Impulse Response) 형식이다. 이것은 아래에 설명하는 스텝 응답 형식으로부터 유도될 수 있다.
다음 정의로부터의 상기하라.
k=1에 대해 bi,j,k=ai,j,k,
k:2->ncoef에 대해 bi,j,k=ai,j,k-ai,j,(k-1)
k:1->ncoef에 대해 ΔOi,k=Oi,k-Oi,(k-1)
상기 방정식들의 시스템을 구별하여 다음의 결과를 가져올 수 있다.
방정식 2: 유한 임펄스 응답 방정식-블록 행렬 형식(Finite Impulse Response Equations-Block Matrix Form)
여기서
, 각각의 기간(time interval)에 걸친 i번째 종속 변수에서의 변화,
이들 방정식은 다섯 개의 형식이 있으며, 이상 첫 번째 두 형식만 나타내었다. 이들 형식은 수학적으로 등가이고, 모든 형식들이 식별 예측(identification prediction)에 사용될 수도 있지만, 이들은 아주 상이한 특성을 갖는다.
C. R. Cutler 및 C. R. Johnston은 1985년 10월판 Proceedings of the Instrument Society of America ISA 85 Advances in Instrumentation 제 40권 제 1호에서, 논문 "Analysis of the Forms of the Dynamic Matrix"에서 이들 형식의 행렬의 특성을 논의한다.
모델의 식별 및 제어를 위한 모델의 사용 및 제약 조건을 갖는 제어에서의 사용을 포함하여, 이들 선형 모델링 기술을 사용하는 것이 미국 특허 제 4,349,869 호 및 제 4,616,308 호에 기술되어 있다. 이들 특허는 참고로서 본 명세서에 포함된다.
이제 제어기로부터 PID 다이나믹스의 제거를 예증하기 위해 본 발명의 알고 리즘을 유도한다. 이 유도는 방정식 2의 FIR 모델로부터 이루어진다. 이 알고리즘을 유도하기 위해,
th 번째 독립 변수는 PID 제어기의 설정값이고,
th 번째 종속 변수는 설정값 변화에 대한 PID 밸브 응답이라고 가정한다. 우리는 밸브가 공정 모델에서의 독립 변수가 되도록 모델을 재구성하기를 원한다. 즉, 모든 영향을 받은 모델 응답으로부터 PID 제어기의 다이나믹스를 제거하기를 원한다. 이것은
th 번째 종속 변수를
th 번째 종속 변수와 교환함으로써 다음과 같이 수행될 수 있다.
이것은 항등 행렬에 ΔO를 곱한 상기 방정식 2에 불과하다.
로우 소거 연산(row elimination operation)(pivoting)을 수행함으로써, 다 음을 얻는다.
이것은 다음과 같이 재배열될 수 있으며,
또는 행렬 방정식을 재구성하여 다음을 얻는다.
및
은 이제 밸브 위치가 독립 변수가 되고 PID 설정값이 종속 변수가 되도록 서로 교환되었다. 이것은 단지 하나의 PID 제어기로부터 PID 다이나믹스를 제거하는 것을 예시하지만, 그 알고리즘은 다수의 독립/종속 변수 쌍이 다수의 제어기에 대한 다이나믹스를 제거하도록 서로 교환될 수 있다는 점에서 분명히 일반적이다.
다른 실례로서 이제 이 방법이 모델 예측 제어기에 어떻게 적용되어 특정 PID 제어기의 다이나믹스를 제거하는 지를 보여주기 위해 많은 전형적인 문제를 설명한다.
두 개의 독립 변수, 두 개의 종속 변수 및 네 개의 모델 계수를 갖는 FIR 모델이 주어지면(여기서 제 2 독립 변수는 PID 제어기의 설정값이고, 제 2 종속 변수는 PID 제어기의 밸브 위치임), PID 설정값 대신에 독립 변수로서 PID 밸브 위치로 상기 모델을 재구성하고자 한다. 이것은 PID 제어기의 다이나믹스가 앞서 논의한 알고리즘에 따라서 모든 시스템 응답으로부터 제거될 것을 요구한다. 이 예는 또한 ΔO=BΔIi, δO=BδI 및 ΔΔO=BΔΔI 방정식 형식에 대해 유효하다.
종속 변수 1
독립 변수 1 독립 변수 2
b1,1,1=1.5 b1,2,1=0.5
b1,1,2=0.6 b1,2,2=0.4
b1,1,3=0.2 b1,2,3=0.2
b1,1,4=0.1 b1,2,4=0.1
종속 변수 2
독립 변수 1 독립 변수 2
b2,1,1=-0.3 b2,2,1=0.75
b2,1,2=-0.4 b2,2,2=0.25
b2,1,3=-0.1 b2,2,3=0.15
b2,1,4=-0.05 b2,2,4=0.05
문제는 아래 행렬에 열거되어 있다.
피봇 엘리먼트 표시
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0.6 |
1.5 |
0 |
0 |
0.4 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0.2 |
0.6 |
1.5 |
0 |
0.2 |
0.4 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0.1 |
0.2 |
0.6 |
1.5 |
0.1 |
0.2 |
0.4 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
-0.3 |
0 |
0 |
0 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.4 |
-0.3 |
0 |
0 |
0.25 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.1 |
-0.4 |
-0.3 |
0 |
0.15 |
0.25 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
-0.05 |
-0.1 |
-0.4 |
-0.3 |
0.05 |
0.15 |
0.25 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
방정식_5에 (-1/0.75)를 곱한다(여기서 방정식_5는 5번째 방정식을 의미하는 것으로, 상기 행렬 형태(Matrix form)에 있어서의 5번째 행 라인에 대응한다. 동일하게 방정식_N은 N번째 방정식을 의미하는 것으로, 상기 행렬 형태에서 N번째의 행 라인에 대응한다).
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0.6 |
1.5 |
0 |
0 |
0.4 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0.2 |
0.6 |
1.5 |
0 |
0.2 |
0.4 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0.1 |
0.2 |
0.6 |
1.5 |
0.1 |
0.2 |
0.4 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
-0.4 |
-0.3 |
0 |
0 |
0.25 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.1 |
-0.4 |
-0.3 |
0 |
0.15 |
0.25 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
-0.05 |
-0.1 |
-0.4 |
-0.3 |
0.05 |
0.15 |
0.25 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
방정식_5에 0.5를 곱하고, 이것을 방정식 1에 더하여 방정식 1로 교체
방정식_5에 0.4를 곱하고, 이것을 방정식 2에 더하여 방정식 2로 교체
방정식_5에 0.2를 곱하고, 이것을 방정식_3에 더하여 방정식_3으로 교체
방정식_5에 0.1를 곱하고, 이것을 방정식_4에 더하여 방정식_4로 교체
방정식_5에 0.25를 곱하고, 이것을 방정식_6에 더하여 방정식_6으로 교체
방정식_5에 0.15를 곱하고, 이것을 방정식_7에 더하여 방정식_7로 교체
방정식_5에 0.05를 곱하고, 이것을 방정식_8에 더하여 방정식_8로 교체
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
0.76 |
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.533 |
0 |
0 |
0 |
0.28 |
0.6 |
1.5 |
0 |
0 |
0.4 |
0.5 |
0 |
0 |
0 |
1 |
0 |
-0.267 |
0 |
0 |
0 |
0.14 |
0.2 |
0.6 |
1.5 |
0 |
0.2 |
0.4 |
0.5 |
0 |
0 |
0 |
1 |
-0.133 |
0 |
0 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
-0.3 |
-0.3 |
0 |
0 |
0 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
-0.333 |
1 |
0 |
0 |
-0.04 |
-0.4 |
-0.3 |
0 |
0 |
0.25 |
0.75 |
0 |
0 |
0 |
0 |
0 |
-0.2 |
0 |
1 |
0 |
-0.03 |
-0.1 |
-0.4 |
-0.3 |
0 |
0.15 |
0.25 |
0.75 |
0 |
0 |
0 |
0 |
-0.067 |
0 |
0 |
1 |
방정식_6에 (-1/0.75)를 곱한다.
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
0.76 |
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.533 |
0 |
0 |
0 |
0.28 |
0.6 |
1.5 |
0 |
0 |
0.4 |
0.5 |
0 |
0 |
0 |
1 |
0 |
-0.267 |
0 |
0 |
0 |
0.14 |
0.2 |
0.6 |
1.5 |
0 |
0.2 |
0.4 |
0.5 |
0 |
0 |
0 |
1 |
-0.133 |
0 |
0 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0.444 |
-1.333 |
0 |
0 |
-0.04 |
-0.4 |
-0.3 |
0 |
0 |
0.25 |
0.75 |
0 |
0 |
0 |
0 |
0 |
-0.2 |
0 |
1 |
0 |
-0.03 |
-0.1 |
-0.4 |
-0.3 |
0 |
0.15 |
0.25 |
0.75 |
0 |
0 |
0 |
0 |
-0.067 |
0 |
0 |
1 |
방정식_5에 0.5를 곱하고, 이것을 방정식 2에 더하여 방정식 2로 교체
방정식_5에 0.4를 곱하고, 이것을 방정식_3에 더하여 방정식_3으로 교체
방정식_5에 0.2를 곱하고, 이것을 방정식_4에 더하여 방정식_4로 교체
방정식_5에 0.25를 곱하고, 이것을 방정식_7에 더하여 방정식_7로 교체
방정식_5에 0.15를 곱하고, 이것을 방정식_8에 더하여 방정식_8로 교체
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
0.96 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.311 |
-0.667 |
0 |
0 |
0.44 |
0.76 |
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0 |
-0.089 |
-0.533 |
0 |
0 |
0.22 |
0.28 |
0.6 |
1.5 |
0 |
0 |
0.4 |
0.5 |
0 |
0 |
0 |
1 |
-0.044 |
-0.267 |
0 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0.444 |
-1.333 |
0 |
0 |
0.06 |
-0.3 |
-0.3 |
0 |
0 |
0 |
0.75 |
0 |
0 |
0 |
0 |
0 |
-0.089 |
-0.333 |
1 |
0 |
0.03 |
-0.04 |
-0.4 |
-0.3 |
0 |
0 |
0.25 |
0.75 |
0 |
0 |
0 |
0 |
0 |
-0.2 |
0 |
1 |
방정식_7에 (-1/0.75)를 곱한다.
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
0.96 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.311 |
-0.667 |
0 |
0 |
0.44 |
0.76 |
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0 |
-0.089 |
-0.533 |
0 |
0 |
0.22 |
0.28 |
0.6 |
1.5 |
0 |
0 |
0.4 |
0.5 |
0 |
0 |
0 |
1 |
-0.044 |
-0.267 |
0 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0.444 |
-1.333 |
0 |
0 |
-0.08 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0.119 |
0.4444 |
-1.333 |
0 |
0.03 |
-0.04 |
-0.4 |
-0.3 |
0 |
0 |
0.25 |
0.75 |
0 |
0 |
0 |
0 |
0 |
-0.2 |
0 |
1 |
방정식_5에 0.5를 곱하고, 이것을 방정식_3에 더하여 방정식_3으로 교체
방정식_5에 0.4를 곱하고, 이것을 방정식_4에 더하여 방정식_4로 교체
방정식_5에 0.25를 곱하고, 이것을 방정식_8에 더하여 방정식_8로 교체
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
0.96 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.311 |
-0.667 |
0 |
0 |
0.4 |
0.96 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
-0.030 |
-0.311 |
-0.667 |
0 |
0.188 |
0.44 |
0.76 |
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0.003 |
-0.089 |
-0.533 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0.444 |
-1.333 |
0 |
0 |
-0.08 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0.119 |
0.444 |
-1.333 |
0 |
0.01 |
0.06 |
-0.3 |
-0.3 |
0 |
0 |
0 |
0.75 |
0 |
0 |
0 |
0 |
0.030 |
-0.089 |
-0.333 |
1 |
방정식_8에 (-1/0.75)를 곱한다.
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
0.96 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.311 |
-0.667 |
0 |
0 |
0.4 |
0.96 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
-0.030 |
-0.311 |
-0.667 |
0 |
0.188 |
0.44 |
0.76 |
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0.003 |
-0.089 |
-0.533 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0.444 |
-1.333 |
0 |
0 |
-0.08 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0.119 |
0.444 |
-1.333 |
0 |
-0.013 |
-0.08 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
-0.040 |
0.119 |
0.444 |
-1.333 |
방정식_5에 0.5를 곱하고, 이것을 방정식_4에 더하여 방정식_4로 교체
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
0.96 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.311 |
-0.667 |
0 |
0 |
0.4 |
0.96 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
-0.030 |
-0.311 |
-0.667 |
0 |
0.181 |
0.4 |
0.96 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
-0.017 |
-0.030 |
-0.311 |
-0.667 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0.444 |
-1.333 |
0 |
0 |
-0.08 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0.119 |
0.444 |
-1.333 |
0 |
-0.013 |
-0.08 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
-0.040 |
0.119 |
0.444 |
-1.333 |
방정식 재배열
1.7 |
0 |
0 |
0 |
0.667 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0.96 |
1.7 |
0 |
0 |
0.311 |
0.667 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0.4 |
0.96 |
1.7 |
0 |
0.030 |
0.311 |
0.667 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0.181 |
0.4 |
0.96 |
1.7 |
0.017 |
0.030 |
0.311 |
0.667 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0.4 |
0 |
0 |
0 |
1.333 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
-0.444 |
1.333 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.08 |
0.4 |
0.4 |
0 |
-0.119 |
-0.444 |
1.333 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
제거된 PID 다이나믹스를 갖는 새로운 모델 계수는 다음과 같다.
종속 변수 1
독립 변수 1 독립 변수 2
종속 변수 2
독립 변수 1 독립 변수 2
모든 계수 값은 변한다는 점에 주의하라. 이 새로운 제어기는 이제 제거된 제 2 독립 변수(PID 설정값)의 다이나믹스를 갖는다. 이 제어기는 이제 상기 공정을 제어하는데 사용될 수 있으며 이 제어기의 개발은 추가적인 시간 소모되는 그 공정에 대한 비용이 많이 드는 식별 테스트를 하지 않고 오프라인으로 행해졌다.
개방 루프 스텝 응답 형식의(Open-loop Step Response form) PID 다이나믹스를 제거하기 위한 알고리즘
상기 예에서, 방정식의 임펄스 또는 유도 형식에 기초한 FIR 모델로부터 PID 다이나믹스를 제거하는 알고리즘을 논의하였다. 유사한 알고리즘이 모델의 스텝 계수 형식(Step coefficient form), 즉 δO=AΔI에 대해서도 유도될 수 있으며, 이제 2 개의 독립 변수와 2 개의 종속 변수의 예를 통해 설명하기로 한다. 이 예에 있어서 제 2 독립 변수 및 제 2 종속 변수는 서로 교환 가능하다고 가정한다. 문제는 행렬 표시로 기록될 수 있다.
소거 연산(elimination operation)(pivoting)을 실시하여 다음을 얻는다.
임펄스 계수는 다음과 같이 정의됨을 상기하라.
k=1에 대해 bi,j,k=ai,j,k,
k:2->ncoef에 대해 bi,j,k=ai,j,k-ai,j,(k-1)=Δai,j,k
마찬가지로 제 2 차이 계수(the second difference coefficient)는 다음과 같이 정의된다.
k=1에 대해 ci,j,k=bi,j,k,
k:2->ncoef에 대해 ci,j,k=bi,j,k-bi,j,(k-1)=Δbi,j,k
다음에 주의하라.
이제 상기 행렬은 스텝 응답 계수(A), 임펄스 계수(B) 및 두 번째 차이 계수(C)의 혼합(mixed bag)임의 주의하라. 이것은 새로운 독립 변수가 "델타(delta)" 형식 대신에 "누적(accumulative)" 형식이며, 새로운 종속 변수가 "누적(accumulative)" 형식 대신에 "델타"형식이라는 사실에 기인한다. 이 방정식 체계를 스텝 형식으로 변환하여 스텝 계수를 복구하기 위하여 두 단계가 수행되어야 한다.
단계 1: 새로운 독립 변수를 "누적" 형식으로부터 "델타" 형식으로 변환, 즉,
단계 2: 새로운 종속 변수를 "델타" 형식으로부터 "누적" 형식으로 변환, 즉,
단계 1: 새로운 독립 변수를 "누적" 형식으로부터 "델타" 형식으로 변환.
이 단계는 단지 상기 방정식의 항들의 재정렬을 요구한다.
는 행렬의 두 부분에서 나타난다.
k=1에 대해 bi,j,k=ai,j,k,
k:2->ncoef에 대해 bi,j,k=ai,j,k-ai,j,(k-1)=Δai,j,k
이고,
k=1에 대해 ci,j,k=bi,j,k,
k:2->ncoef에 대해 ci,j,k=bi,j,k-bi,j,(k-1)=Δbi,j,k
이므로, 다음과 같이 표현할 수 있다.
이므로, 이 방정식 체계를 다음과 같이 표현할 수 있다.
이것은 단계 1을 완료한다.
단계 2: 새로운 종속 변수를 "델타" 형식으로부터 "누적" 형식으로 변환
새로운 제 2 종속 변수에 대한 방정식은 아래와 같이 표현된다. 이들 방정식을 "델타" 형식으로부터 "누적" 형식으로 변환할 필요가 있다.
정의에 의하면, bi,j,k=ai,j,k, Ij,i-Ij,0=ΔIj,1=δ
j,1이므로, 제 1 방정식은 다음과 같다.
제 2 스텝 계수 방정식을 얻기 위해, 첫 번째 두 임펄스 계수 방정식을 더한다.
또는,
세 3 스텝 계수 방정식을 얻기 위해, 첫 번째 세 개의 임펄스 계수 방정식을 더한다.
또는
제 4 스텝 계수 방정식을 얻기 위해, 첫 번째 네 개의 임펄스 계수 방정식을 더한다.
또는
따라서 새로운 두 번째 종속 변수에 대한 방정식 체계는 이제 다음과 같이 된다.
전체 방정식 체계는 다음과 같다.
이것은 다음과 같이 표현할 수 있다.
본 발명의 응용예를 더 설명하기 위해, 단지 개방 루프 스텝 응답 모델(open-loop step response model)을 위해 유도된 알고리즘의 사용을 예증하도록 다른 많은 예가 주어진다. 이 알고리즘은 δO=AΔI 형식의 방정식에 적용된다. 2개의 독립 변수, 2개의 종속 변수 및 4 개의 모델 계수를 갖는 모델이 주어지면(여기서 제 2 독립 변수는 PID 제어기의 설정값이고 제 2 종속 변수는 PID 제어기의 밸브 위치임), PID 설정값 대신에 독립 변수로서 PID 밸브 위치를 갖는 모델을 재구성하고자 한다. 이것은 PID 제어기의 다이나믹스가 사전에 논의한 알고리즘에 따라서 모든 시스템 응답으로부터 제거될 것을 요구한다. 이 예의 기본적인 모델은 부록 2에 사용된 것과 동일하다.
종속 변수 1
독립 변수 1 독립 변수 2
a1,1,1=1.5 a1,2,1=0.5
a1,1,2=2.1 a1,2,2=0.9
a1,1,3=2.3 a1,2,3=1.1
a1,1,4=2.4 a1,2,4=1.2
종속 변수 2
독립 변수 1 독립 변수 2
a2,1,1=-0.3 a2,2,1=0.75
a2,1,2=-0.7 a2,2,2=1.0
a2,1,3=-0.8 a2,2,3=1.15
a2,1,4=-0.85 a2,2,4=1.2
문제는 아래 행렬에 나타나 있다
피봇 엘리먼트 표시
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2.1 |
1.5 |
0 |
0 |
0.9 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
2.3 |
2.1 |
1.5 |
0 |
1.1 |
0.9 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
2.4 |
2.3 |
2.1 |
1.5 |
1.2 |
1.1 |
0.9 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
-0.3 |
0 |
0 |
0 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.7 |
-0.3 |
0 |
0 |
1 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.8 |
-0.7 |
-0.3 |
0 |
1.15 |
1 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
-0.85 |
-0.8 |
-0.7 |
-0.3 |
1.2 |
1.15 |
1 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
방정식_5에 (-1/0.75)를 곱한다.
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2.1 |
1.5 |
0 |
0 |
0.9 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
2.3 |
2.1 |
1.5 |
0 |
1.1 |
0.9 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
2.4 |
2.3 |
2.1 |
1.5 |
1.2 |
1.1 |
0.9 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
-0.7 |
-0.3 |
0 |
0 |
1 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.8 |
-0.7 |
-0.3 |
0 |
1.15 |
1 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
-0.85 |
-0.8 |
-0.7 |
-0.3 |
1.2 |
1.15 |
1 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
방정식_5에 0.5를 곱하고, 이것을 방정식 1에 더하여 방정식 1로 교체
방정식_5에 0.9를 곱하고, 이것을 방정식 2에 더하여 방정식 2로 교체
방정식_5에 1.1을 곱하고, 이것을 방정식_3에 더하여 방정식_3으로 교체
방정식_5에 1.2를 곱하고, 이것을 방정식_4에 더하여 방정식_4로 교체
방정식_5에 1.0을 곱하고, 이것을 방정식_6에 더하여 방정식_6으로 교체
방정식_5에 1.15를 곱하고, 이것을 방정식_7에 더하여 방정식_7로 교체
방정식_5에 1.2를 곱하고, 이것을 방정식_8에 더하여 방정식_8로 교체
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
2.46 |
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
-1.200 |
0 |
0 |
0 |
2.74 |
2.1 |
1.5 |
0 |
0 |
0.9 |
0.5 |
0 |
0 |
0 |
1 |
0 |
-1.467 |
0 |
0 |
0 |
2.88 |
2.3 |
2.1 |
1.5 |
0 |
1.1 |
0.9 |
0.5 |
0 |
0 |
0 |
1 |
-1.600 |
0 |
0 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
-0.3 |
-0.3 |
0 |
0 |
0 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
1 |
0 |
0 |
-0.34 |
-0.7 |
-0.3 |
0 |
0 |
1 |
0.75 |
0 |
0 |
0 |
0 |
0 |
-1.5 |
0 |
1 |
0 |
-0.37 |
-0.8 |
-0.7 |
-0.3 |
0 |
1.15 |
1 |
0.75 |
0 |
0 |
0 |
0 |
-1.600 |
0 |
0 |
1 |
방정식_6에 (-1/0.75)를 곱한다.
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
2.46 |
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0 |
-1.200 |
0 |
0 |
0 |
2.74 |
2.1 |
1.5 |
0 |
0 |
0.9 |
0.5 |
0 |
0 |
0 |
1 |
0 |
-1.467 |
0 |
0 |
0 |
2.88 |
2.3 |
2.1 |
1.5 |
0 |
1.1 |
0.9 |
0.5 |
0 |
0 |
0 |
1 |
-1.600 |
0 |
0 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
1.778 |
-1.333 |
0 |
0 |
-0.34 |
-0.7 |
-0.3 |
0 |
0 |
1 |
0.75 |
0 |
0 |
0 |
0 |
0 |
-1.533 |
0 |
1 |
0 |
-0.37 |
-0.8 |
-0.7 |
-0.3 |
0 |
1.15 |
1 |
0.75 |
0 |
0 |
0 |
0 |
-1.600 |
0 |
0 |
1 |
방정식_5에 0.5를 곱하고, 이것을 방정식 2에 더하여 방정식 2로 교체
방정식_5에 0.9를 곱하고, 이것을 방정식_3에 더하여 방정식_3으로 교체
방정식_5에 1.1을 곱하고, 이것을 방정식_4에 더하여 방정식_4로 교체
방정식_5에 1.0을 곱하고, 이것을 방정식_7에 더하여 방정식_7로 교체
방정식_5에 1.15를 곱하고, 이것을 방정식_8에 더하여 방정식_8로 교체
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
2.66 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.311 |
-0.667 |
0 |
0 |
3.1 |
2.46 |
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0.133 |
-1.200 |
0 |
0 |
3.32 |
2.74 |
2.1 |
1.5 |
0 |
0 |
0.9 |
0.5 |
0 |
0 |
0 |
1 |
0.356 |
-1.467 |
0 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
1.778 |
-1.333 |
0 |
0 |
0.06 |
-0.3 |
-0.3 |
0 |
0 |
0 |
0.75 |
0 |
0 |
0 |
0 |
0 |
0.244 |
-1.333 |
1 |
0 |
0.09 |
-0.34 |
-0.7 |
-0.3 |
0 |
0 |
1 |
0.75 |
0 |
0 |
0 |
0 |
0.444 |
-1.533 |
0 |
1 |
방정식_7에 (-1/0.75)를 곱한다.
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
2.66 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.311 |
-0.667 |
0 |
0 |
3.1 |
2.46 |
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0 |
0.133 |
-1.200 |
0 |
0 |
3.32 |
2.74 |
2.1 |
1.5 |
0 |
0 |
0.9 |
0.5 |
0 |
0 |
0 |
1 |
0.356 |
-1.467 |
0 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
1.778 |
-1.333 |
0 |
0 |
-0.08 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
-0.326 |
1.778 |
-1.333 |
0 |
0.09 |
-0.34 |
-0.7 |
-0.3 |
0 |
0 |
1 |
0.75 |
0 |
0 |
0 |
0 |
0.444 |
-1.533 |
0 |
1 |
방정식_5에 0.5를 곱하고, 이것을 방정식_3에 더하여 방정식_3으로 교체
방정식_5에 0.9를 곱하고, 이것을 방정식_4에 더하여 방정식_4로 교체
방정식_5에 1.0을 곱하고, 이것을 방정식_8에 더하여 방정식_8로 교체
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
2.66 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.311 |
-0.667 |
0 |
0 |
3.06 |
2.66 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
-0.030 |
-0.311 |
-0.667 |
0 |
3.248 |
3.1 |
2.46 |
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0.062 |
0.133 |
-1.200 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
1.778 |
-1.333 |
0 |
0 |
-0.08 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
-0.326 |
1.778 |
-1.333 |
0 |
0.01 |
0.06 |
-0.3 |
-0.3 |
0 |
0 |
0 |
0.75 |
0 |
0 |
0 |
0 |
0.119 |
0.244 |
-1.333 |
1 |
방정식_8에 (-1/0.75)를 곱한다.
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
2.66 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.311 |
-0.667 |
0 |
0 |
3.06 |
2.66 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
-0.030 |
-0.311 |
-0.667 |
0 |
3.248 |
3.1 |
2.46 |
1.5 |
0 |
0 |
0 |
0.5 |
0 |
0 |
0 |
1 |
0.062 |
0.133 |
-1.200 |
0 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
1.778 |
-1.333 |
0 |
0 |
-0.08 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
-0.326 |
1.778 |
-1.333 |
0 |
-0.013 |
-0.08 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
-0.158 |
-0.326 |
1.778 |
-1.333 |
방정식_5에 0.5를 곱하고, 이것을 방정식_4에 더하여 방정식_4로 교체
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
-0.667 |
0 |
0 |
0 |
2.66 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.311 |
-0.667 |
0 |
0 |
3.06 |
2.66 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
-0.030 |
-0.311 |
-0.667 |
0 |
3.241 |
3.06 |
2.66 |
1.7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
-0.017 |
-0.030 |
-0.311 |
-0.667 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1.333 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
1.778 |
-1.333 |
0 |
0 |
-0.08 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
0 |
-0.326 |
1.778 |
-1.333 |
0 |
-0.013 |
-0.08 |
0.4 |
0.4 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
0 |
-0.158 |
-0.326 |
1.778 |
-1.333 |
방정식 재배열
1.7 |
0 |
0 |
0 |
0.667 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2.66 |
1.7 |
0 |
0 |
0.311 |
0.667 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
3.06 |
2.66 |
1.7 |
0 |
0.030 |
0.311 |
0.667 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
3.241 |
3.06 |
2.66 |
1.7 |
0.017 |
0.030 |
0.311 |
0.667 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0.4 |
0 |
0 |
0 |
1.333 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0.4 |
0.4 |
0 |
0 |
-1.778 |
1.333 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
-0.08 |
0.4 |
0.4 |
0 |
0.326 |
-1.778 |
1.333 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
-0.013 |
-0.08 |
0.4 |
0.4 |
0.158 |
0.326 |
-1.778 |
1.333 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
새로운 두 번째 독립 변수에 대한 계수 누적(accumulate)
1.700 |
0.000 |
0.000 |
0.000 |
0.667 |
0.000 |
0.000 |
0.000 |
2.660 |
1.700 |
0.000 |
0.000 |
0.978 |
0.667 |
0.000 |
0.000 |
3.060 |
2.660 |
1.700 |
0.000 |
1.007 |
0.978 |
0.667 |
0.000 |
3.241 |
3.060 |
2.660 |
1.700 |
1.024 |
1.007 |
0.978 |
0.667 |
0.400 |
0.000 |
0.000 |
0.000 |
1.333 |
0.000 |
0.000 |
0.000 |
0.400 |
0.400 |
0.000 |
0.000 |
-0.444 |
1.333 |
0.000 |
0.000 |
-0.080 |
0.400 |
0.400 |
0.000 |
-0.119 |
-0.444 |
1.333 |
0.000 |
-0.013 |
-0.080 |
0.400 |
0.400 |
0.040 |
-0.119 |
-0.444 |
1.333 |
새로운 두 번째 독립 변수에 대한 계수 누적
1.700 |
0.000 |
0.000 |
0.000 |
0.667 |
0.000 |
0.000 |
0.000 |
2.660 |
1.700 |
0.000 |
0.000 |
0.978 |
0.667 |
0.000 |
0.000 |
3.060 |
2.660 |
1.700 |
0.000 |
1.007 |
0.978 |
0.667 |
0.000 |
3.241 |
3.060 |
2.660 |
1.700 |
1.024 |
1.007 |
0.978 |
0.667 |
0.400 |
0.000 |
0.000 |
0.000 |
1.333 |
0.000 |
0.000 |
0.000 |
0.800 |
0.400 |
0.000 |
0.000 |
0.889 |
1.333 |
0.000 |
0.000 |
0.720 |
0.800 |
0.400 |
0.000 |
0.770 |
0.889 |
1.333 |
0.000 |
0.707 |
0.720 |
0.800 |
0.400 |
0.810 |
0.770 |
0.889 |
1.333 |
제거된 PID 다이나믹스를 갖는 새로운 모델 계수는 다음과 같다.
종속 변수 1
독립 변수 1 독립 변수 2
a1,1,1=1.700 a1,2,1=0.667
a1,1,2=2.660 a1,2,2=0.978
a1,1,3=3.060 a1,2,3=1.007
a1,1,4=3.241 a1,2,4=1.024
종속 변수 2
독립 변수 1 독립 변수 2
a2,1,1=0.400 a2,2,1=1.333
a2,1,2=0.800 a2,2,2=0.889
a2,1,3=0.720 a2,2,3=0.770
a2,1,4=0.707 a2,2,4=0.810
모든 계수 값들이 변했다는 점에 주의하라.
대응하는 임펄스 계수가 FIR 예로 식별된 계수들과 일치하는 지를 검사한다.
종속 변수 1
독립 변수 1 독립 변수 2
b1,1,1=1.700 b1,2,1=0.667
b1,1,2=0.960 b1,2,2=0.311
b1,1,3=0.400 b1,2,3=0.030
b1,1,4=0.181 b1,2,4=0.017
종속 변수 2
독립 변수 1 독립 변수 2
b2,1,1=0.400 b2,2,1=1.333
b2,1,2=0.400 b2,2,2=-0.444
b2,1,3=-0.080 b2,2,3=-0.119
b2,1,4=-0.013 b2,2,4=0.040
컬럼 시뮬레이션 예
상기 알고리즘의 또 다른 사용예는 다음 예에서 설명한다. 이 예는 다음 사항을 설명할 것이다.
공정 시뮬레이트로서 밸브 기반의 FIR(Finite Impulse Response) 모델의 사용.
특정한 조절 제어 구성(specific regulatory control configuration)에 기초한 FIR 모델의 식별 및 플랜트 스텝 테스트
PID 제어기 다이나믹스를 제거하고 기본적인 밸브 기반 모델을 복구하기 위 해 제안된 알고리즘의 사용.
이 예에서, 밸브 위치에 기초한 FIR 모델은 복합 추출기(complex fractionator)의 동작을 시뮬레이트하기 위해 공정 모델로서 사용된다. 추출기에 대한 조절 제어(regulatory control for the fractionator)는 세 개의 PI(proportional/integral) 피드백 제어기로 이루어진다. 플랜트 스텝 테스트는 조절 제어기 설정값을 사용하여 시뮬레이션에 대해 행해진다. 그 다음에 PI 제어기의 설정값에 기초하여 추출기에 대한 FIR 모델이 얻어진다. 조절 제어 구성에 기초하는 이 모델은 그 다음에 상기 알고리즘에 입력되어 PI 제어기 다이나믹스를 제거하고 원래의 FIR 프로세스 모델을 복구한다.
FIR(Finite Impulse Response) 모델이라는 용어는, 스텝이 임펄스 계수로부터 직접 계산될 수 있기 때문에, 모델의 개방 루프 스텝 응답을 지칭하는데 사용된다는 점에 주의하라.
복합 추출기 개략도 설명(Description of Complex Fractionator Schematic)
도 1에 복합 추출기에 대한 개략도가 도시되어 있다. 공급 유속(feed flow rate)(5)은 업스트림 유닛(upstream unit)에 의해 제어되고 로(furnace)(6)에서 예열된다. 추출기(7)는 상부(top), 중간(middle), 하부(bottom) 제품을 갖는다. 추출기 오버헤드 온도는 상부 역류(top reflux)를 변화시키는 PI 제어기(8)로 제어된다. 중간 제품의 연신 온도(draw temperature)는 중간 제품의 연신율(draw rate) 을 변화시키는 PI 제어기(9)로 제어된다. 제 3 PI 제어기(10)는 하부 제품 비를 추출기 하부 레벨(bottom level)로 변화시킨다. 하부 조성(광 소자)은 분석기(11)에 의해 측정된다.
FIR(Finite Impulse Response) 모델의 설명
이 예에 사용된 공정 모델은 밸브 위치에 기초한 개방 루프 스텝 응답 모델이며 다음과 같이 요약된다.
모델 독립 변수
TIC-2001.OP - 상부 역류 밸브(Top Reflux Flow Valve)
TIC-2002.OP - 중간 제품 플로 밸브(Middle Product Flow Valve)
LIC-2007.OP - 하부 제품 플로 밸브(Bottoms Product Flow Valve)
FIC-2004.SP - 중간 역류율(Middle Reflux Flow Rate)
FI-2005.PV - 추출기 공급율(Fractionator Feed Rate)
모델 종속 변수
TIC-2001.PV - 추출기 오버헤드 온도(Fractionator Overhead Temperature)
TIC-2002.OP - 중간 제품 연신 온도(Middle Product Draw Temperature)
LIC-2007.OP - 추출기 하부 레벨(Fractionator Bottoms Level)
FI-2005.PV - 추출기 하부 조성(Fractionator Bottoms Composition)(광 성 분)(Light Component)
개방 루프 스텝 응답 모델은 이상적인 의미로 다음과 같이 생성되는 것으로 보여질 수 있다. 시스템이 안정 상태에 있으면, 제 1 독립 변수는 엔지니어링 유닛에 의해 시간=0에서 증가하고 그 동안 다른 모든 독립 변수는 일정하게 유지한다. 모든 종속 변수에 대한 값은 그 다음에 시스템이 다시 안정 상태에 도달할 때까지 동일한 간격의 시간에 측정된다. 제 1 독립 변수에 대한 각각의 독립 변수에 대한 모델 응답 곡선은 종속 변수에 대한 각각의 미래의 기간(time interval)에서 각각의 측정된 값으로부터 시간=0에서의 그 종속 변수의 값을 공제함으로써 계산된다. 본래, 스텝 응답 곡선은 독립 변수에서의 변화의 종속 변수에 대한 효과를 나타낸다. 이 공정은 그 다음에 완전한 모델을 생성하기 위해 모든 독립 변수에 대해 계속해서 반복된다. 모델에 대한 안정 상태 시간은 시스템 내의 가장 느린 응답 곡선의 안정 상태 시간에 의해 정의된다.
실제로는, 흔히 공정이 안정 상태에 있지 않기 때문에, 상기 모델은 이런 방식으로 생성될 수 없다. 또한, 독립 변수 스텝 동안 시스템의 영향으로부터 측정 및 측정하지 않은 교란을 방지하는 것은 불가능하다. 상기 모델의 생성은 다수의 스텝들이 각각의 독립 변수에서 이루어질 것을 요구한다(플랜트 스텝 테스트). 따라서 수집된 데이터는 그 다음에 Aspen Tech의 CMCplus 모델 프로그램과 같은 소프트웨어 패키지로 분석되어 개방 루프 스텝 응답 모델을 계산한다.
그러한 모델이 식별되면, 그 모델은 독립 변수에서의 과거의 변화에 기초하 여 미래의 시스템 응답을 예측하는데 사용될 수 있다. 즉, 모든 독립 변수가 과거로의 하나의 안정 상태의 시간 동안 어떻게 변화했는지를 알게 되면, 독립 변수가 더 이상 변하지 않는다고 가정했을 때, 그 모델을 사용하여 종속 변수가 미래로의 한 안정 상태 시간 동안 어떻게 변할 지를 예측할 수 있을 것이다. 이것은 예측에 대한 모델의 사용을 설명한다. (이것은 공정 시뮬레이터로서 FIR 모델을 사용하기 위한 기본이다.)
더 이상의 독립 변수의 변화가 없다는 것에 기초하여 예측된 장래의 시스템 응답이 주어지고 모든 독립 변수 및 종속 변수에 대한 제약 조건이 주어지면, 상기 모델은 제약 조건 내의 모든 독립 변수 및 종속 변수를 유지하기 위해 독립 변수의 변화의 전략을 계획하는데 사용될 수 있다.
공정 시뮬레이터로서 FIR(Finite Impulse Response) 모델 사용
이 예에 대한 모델은 90 분의 안정 상태 시간을 갖는다. 3 분의 기간(time interval)이 사용된다. 결과의 응답 곡선은, 모든 다른 종속 변수들은 일정하게 유지되는 동안 시간=0에서의 독립 변수에서의 스텝 변화에 대해 시간에 따른 종속 변수에서의 누적 변화를 나타내는 30 개의 벡터에 의해 각각 정의된다.
표 1에 도시되어 있는 모델 계수 및 모델 좌표(plot)는 도 2에 도시되어 있다. 밸브 위치에 기초한 이 모델은 과거와 현재의 모델 독립 변수의 변화 에 기초하여 모델 독립 변수의 장래의 시스템 동작을 예측하는데 사용된다.
표 1: 추출기 시뮬레이션 밸브 기반 모델 계수
독립 변수 1에 대한 스텝 응답 계수: TIC-2001.PV DEG F
|
TIC-2001.OP |
TIC-2002.OP |
LIC-2007.OP |
FIC-2004.SP |
FI-2005.PV |
|
+1 % Move |
+1 % Move |
+1 % Move |
+1 MBBL/D Move |
+1 MBBL/D Move |
Minutes |
at Time=0 |
at Time=0 |
at Time=0 |
at Time=0 |
at Time=0 |
0 |
0.000 |
0.000 |
0.0 |
0.00 |
0.0 |
3 |
-0.101 |
-0.048 |
0.0 |
-2.05 |
2.9 |
6 |
-0.175 |
-0.076 |
0.0 |
-3.58 |
6.1 |
9 |
-0.206 |
-0.088 |
0.0 |
-4.43 |
7.5 |
12 |
-0.227 |
-0.068 |
0.0 |
-5.03 |
7.8 |
15 |
-0.245 |
-0.040 |
0.0 |
-5.58 |
8.2 |
18 |
-0.262 |
-0.015 |
0.0 |
-6.16 |
8.5 |
21 |
-0.277 |
0.010 |
0.0 |
-6.65 |
8.6 |
24 |
-0.292 |
0.033 |
0.0 |
-7.04 |
8.9 |
27 |
-0.306 |
0.054 |
0.0 |
-7.37 |
9.0 |
30 |
-0.323 |
0.069 |
0.0 |
-7.67 |
9.3 |
33 |
-0.340 |
0.084 |
0.0 |
-7.95 |
9.5 |
36 |
-0.356 |
0.096 |
0.0 |
-8.18 |
9.6 |
39 |
-0.372 |
0.105 |
0.0 |
-8.37 |
9.8 |
42 |
-0.386 |
0.113 |
0.0 |
-8.52 |
9.8 |
45 |
-0.399 |
0.121 |
0.0 |
-8.65 |
9.8 |
48 |
-0.410 |
0.128 |
0.0 |
-8.75 |
9.9 |
51 |
-0.420 |
0.135 |
0.0 |
-8.84 |
10.0 |
54 |
-0.428 |
0.140 |
0.0 |
-8.92 |
10.1 |
57 |
-0.435 |
0.145 |
0.0 |
-8.98 |
10.3 |
60 |
-0.440 |
0.149 |
0.0 |
-9.04 |
10.4 |
63 |
-0.445 |
0.153 |
0.0 |
-9.09 |
10.5 |
66 |
-0.450 |
0.156 |
0.0 |
-9.13 |
10.5 |
69 |
-0.453 |
0.159 |
0.0 |
-9.17 |
10.5 |
72 |
-0.457 |
0.161 |
0.0 |
-9.21 |
10.5 |
75 |
-0.460 |
0.163 |
0.0 |
-9.24 |
10.4 |
78 |
-0.462 |
0.165 |
0.0 |
-9.26 |
10.4 |
81 |
-0.464 |
0.166 |
0.0 |
-9.28 |
10.4 |
84 |
-0.465 |
0.167 |
0.0 |
-9.29 |
10.4 |
87 |
-0.466 |
0.167 |
0.0 |
-9.29 |
10.4 |
90 |
-0.466 |
0.167 |
0.0 |
-9.29 |
10.5 |
종속 변수 2에 대한 스텝 응답 계수: TIC-2002.PV DEG F
|
TIC-2001.OP |
TIC-2002.OP |
LIC-2007.OP |
FIC-2004.SP |
FI-2005.PV |
|
+1 % Move |
+1 % Move |
+1 % Move |
+1 MBBL/D Move |
+1 MBBL/D Move |
Minutes |
at Time=0 |
at Time=0 |
at Time=0 |
at Time=0 |
at Time=0 |
0 |
0.000 |
0.000 |
0.0 |
0.00 |
0.00 |
3 |
-0.002 |
0.020 |
0.0 |
-0.28 |
0.46 |
6 |
-0.008 |
0.052 |
0.0 |
-0.73 |
1.06 |
9 |
-0.012 |
0.081 |
0.0 |
-1.26 |
1.62 |
12 |
-0.021 |
0.118 |
0.0 |
-1.77 |
2.63 |
15 |
-0.032 |
0.157 |
0.0 |
-2.23 |
3.12 |
18 |
-0.046 |
0.201 |
0.0 |
-2.64 |
3.34 |
21 |
-0.061 |
0.242 |
0.0 |
-3.06 |
3.50 |
24 |
-0.077 |
0.277 |
0.0 |
-3.40 |
3.69 |
27 |
-0.097 |
0.308 |
0.0 |
-3.67 |
4.05 |
30 |
-0.117 |
0.335 |
0.0 |
-3.93 |
4.18 |
33 |
-0.136 |
0.360 |
0.0 |
-4.19 |
4.22 |
36 |
-0.153 |
0.380 |
0.0 |
-4.42 |
4.26 |
39 |
-0.170 |
0.396 |
0.0 |
-4.62 |
4.33 |
42 |
-0.186 |
0.407 |
0.0 |
-4.78 |
4.46 |
45 |
-0.201 |
0.416 |
0.0 |
-4.90 |
4.55 |
48 |
-0.214 |
0.423 |
0.0 |
-4.99 |
4.61 |
51 |
-0.225 |
0.430 |
0.0 |
-5.07 |
4.64 |
54 |
-0.236 |
0.436 |
0.0 |
-5.13 |
4.70 |
57 |
-0.245 |
0.440 |
0.0 |
-5.19 |
4.77 |
60 |
-0.253 |
0.445 |
0.0 |
-5.23 |
4.85 |
63 |
-0.260 |
0.449 |
0.0 |
-5.27 |
4.90 |
66 |
-0.266 |
0.452 |
0.0 |
-5.30 |
4.94 |
69 |
-0.272 |
0.455 |
0.0 |
-5.33 |
4.96 |
72 |
-0.276 |
0.458 |
0.0 |
-5.36 |
4.98 |
75 |
-0.279 |
0.460 |
0.0 |
-5.38 |
4.98 |
78 |
-0.282 |
0.462 |
0.0 |
-5.40 |
4.99 |
81 |
-0.284 |
0.463 |
0.0 |
-5.42 |
5.00 |
84 |
-0.285 |
0.464 |
0.0 |
-5.44 |
5.01 |
87 |
-0.285 |
0.465 |
0.0 |
-5.45 |
5.02 |
90 |
-0.285 |
0.465 |
0.0 |
-5.46 |
5.04 |
독립 변수 3에 대한 스텝 응답 계수: LIC-2001.PV %
|
TIC-2001.OP |
TIC-2002.OP |
LIC-2007.OP |
FIC-2004.SP |
FI-2005.PV |
|
+1 % Move |
+1 % Move |
+1 % Move |
+1 MBBL/D Move |
+1 MBBL/D Move |
Minutes |
at Time=0 |
at Time=0 |
at Time=0 |
at Time=0 |
at Time=0 |
0 |
0.00 |
0.00 |
0.0 |
0.0 |
0.0 |
3 |
0.00 |
0.00 |
-0.8 |
0.0 |
2.3 |
6 |
0.00 |
0.00 |
-1.5 |
0.0 |
4.5 |
9 |
0.11 |
-0.23 |
-2.3 |
1.1 |
6.8 |
12 |
0.23 |
-0.45 |
-3.0 |
2.3 |
9.0 |
15 |
0.34 |
-0.68 |
-3.8 |
3.4 |
11.3 |
18 |
0.45 |
-0.90 |
-4.5 |
4.5 |
13.5 |
21 |
0.56 |
-1.13 |
-5.3 |
5.6 |
15.8 |
24 |
0.68 |
-1.35 |
-6.0 |
6.8 |
18.0 |
27 |
0.79 |
-1.58 |
-6.8 |
7.9 |
20.3 |
30 |
0.90 |
-1.80 |
-7.5 |
9.0 |
22.5 |
33 |
1.01 |
-2.03 |
-8.3 |
10.1 |
24.8 |
36 |
1.13 |
-2.25 |
-9.0 |
11.3 |
27.0 |
39 |
1.24 |
-2.48 |
-9.8 |
12.4 |
29.3 |
42 |
1.35 |
-2.70 |
-10.5 |
13.5 |
31.5 |
45 |
1.46 |
-2.93 |
-11.3 |
14.6 |
33.8 |
48 |
1.58 |
-3.15 |
-12.0 |
15.8 |
36.0 |
51 |
1.69 |
-3.38 |
-12.8 |
16.9 |
38.3 |
54 |
1.80 |
-3.60 |
-13.5 |
18.0 |
40.5 |
57 |
1.91 |
-3.83 |
-14.3 |
19.1 |
42.8 |
60 |
2.03 |
-4.05 |
-15.0 |
20.3 |
45.0 |
63 |
2.14 |
-4.28 |
-15.8 |
21.4 |
47.3 |
66 |
2.25 |
-4.50 |
-16.5 |
22.5 |
49.5 |
69 |
2.36 |
-4.73 |
-17.3 |
23.6 |
51.8 |
72 |
2.48 |
-4.95 |
-18.0 |
24.8 |
54.0 |
75 |
2.59 |
-5.18 |
-18.8 |
25.9 |
56.3 |
78 |
2.70 |
-5.40 |
-19.5 |
27.0 |
58.5 |
81 |
2.81 |
-5.63 |
-20.3 |
28.1 |
60.8 |
84 |
2.93 |
-5.85 |
-21.0 |
29.3 |
63.0 |
87 |
3.04 |
-6.08 |
-21.8 |
30.4 |
65.3 |
90 |
3.15 |
-6.30 |
-22.5 |
31.5 |
67.5 |
독립 변수 4에 대한 스텝 응답 계수: AI-2022.PV MOLE %
|
TIC-2001.OP |
TIC-2002.OP |
LIC-2007.OP |
FIC-2004.SP |
FI-2005.PV |
|
+1 % Move |
+1 % Move |
+1 % Move |
+1 MBBL/D Move |
+1 MBBL/D Move |
Minutes |
at Time=0 |
at Time=0 |
at Time=0 |
at Time=0 |
at Time=0 |
0 |
0.00000 |
0.0000 |
0.0 |
0.000 |
0.000 |
3 |
0.00004 |
0.0004 |
0.0 |
0.004 |
-0.010 |
6 |
0.00010 |
0.0005 |
0.0 |
0.008 |
-0.073 |
9 |
-0.00014 |
0.0008 |
0.0 |
0.017 |
-0.076 |
12 |
-0.00006 |
-0.0007 |
0.0 |
0.037 |
-0.105 |
15 |
-0.00003 |
-0.0034 |
0.0 |
0.060 |
-0.112 |
18 |
0.00013 |
-0.0062 |
0.0 |
0.090 |
-0.104 |
21 |
0.00033 |
-0.0087 |
0.0 |
0.114 |
-0.113 |
24 |
0.00075 |
-0.0109 |
0.0 |
0.134 |
-0.126 |
27 |
0.00125 |
-0.0125 |
0.0 |
0.152 |
-0.124 |
30 |
0.00193 |
-0.0137 |
0.0 |
0.165 |
-0.130 |
33 |
0.00277 |
-0.0145 |
0.0 |
0.175 |
-0.134 |
36 |
0.00368 |
-0.0151 |
0.0 |
0.183 |
-0.137 |
39 |
0.00459 |
-0.0157 |
0.0 |
0.189 |
-0.144 |
42 |
0.00542 |
-0.0161 |
0.0 |
0.194 |
-0.154 |
45 |
0.00615 |
-0.0164 |
0.0 |
0.199 |
-0.161 |
48 |
0.00679 |
-0.0167 |
0.0 |
0.203 |
-0.162 |
51 |
0.00733 |
-0.0170 |
0.0 |
0.206 |
-0.162 |
54 |
0.00778 |
-0.0172 |
0.0 |
0.208 |
-0.163 |
57 |
0.00815 |
-0.0174 |
0.0 |
0.211 |
-0.165 |
60 |
0.00846 |
-0.0175 |
0.0 |
0.213 |
-0.168 |
63 |
0.00872 |
-0.0177 |
0.0 |
0.214 |
-0.171 |
66 |
0.00893 |
-0.0178 |
0.0 |
0.216 |
-0.173 |
69 |
0.00911 |
-0.0179 |
0.0 |
0.217 |
-0.175 |
72 |
0.00926 |
-0.0180 |
0.0 |
0.218 |
-0.176 |
75 |
0.00938 |
-0.0181 |
0.0 |
0.219 |
-0.176 |
78 |
0.00948 |
-0.0182 |
0.0 |
0.220 |
-0.175 |
81 |
0.00956 |
-0.0182 |
0.0 |
0.221 |
-0.175 |
84 |
0.00962 |
-0.0183 |
0.0 |
0.222 |
-0.175 |
87 |
0.00966 |
-0.0184 |
0.0 |
0.222 |
-0.175 |
90 |
0.00967 |
-0.0185 |
0.0 |
0.223 |
-0.175 |
전술한 바와 같이, 시스템 내에 세 개의 PI(Proportional/Integral) 제어기가 있다. 이들 PI 제어기는 다음과 같이 구성된다.
표 2: 추출기 PID 제어기
PID 루프명 |
설정값 |
공정 변수 |
출력 |
Kp
|
Ki
|
상부 온도 |
TIC-2001.SP |
TIC-2001.PV |
TIC-2001.OP |
-2.0 |
3.0 |
중간 제품 연신 온도 |
TIC-2002.SP |
TIC-2002.PV |
TIC-2002.OP |
3.0 |
8.0 |
하부 레벨 |
LIC-2001.SP |
TIC-2001.PV |
TIC-2001.PV |
-1.0 |
4.0 |
플랜트 테스트는 공정을 조절하는 이들 PI 제어기 조절에 의해 수행되었다(도 3의 데이터 좌표 참조). 시스템에 대한 독립 변수 및 종속 변수는 다음과 같다.
모델 독립 변수
TIC-2001.SP - 상부 역류 밸브 SP(Top Reflux Flow Valve SP)
TIC-2002.SP - 중간 제품 플로 밸브 SP(Middle Product Flow Valve SP)
LIC-2007.SP - 하부 제품 플로 밸브 SP(Bottoms Product Flow Valve SP)
FIC-2004.SP - 중간 역류율(Middle Reflux Flow Rate)
FI-2005.PV - 추출기 공급율(Fractionator Feed Rate)
모델 종속 변수
TIC-2001.PV - 추출기 오버헤드 온도(Fractionator Overhead Temperature)
TIC-2002.PV - 중간 제품 연신 온도(Middle Product Draw Temperature)
LIC-2007.PV - 추출기 하부 레벨(Fractionator Bottoms Level)
TIC-2001.OP - 상부 역류 밸브(Top Reflux Flow Valve)
TIC-2002.OP - 중간 제품 플로 밸브(Middle Product Flow Valve)
LIC-2007.OP - 하부 제품 플로 밸브(Bottoms Product Flow Valve)
AI-2002.PV - 추출기 하부 조성(Fractionator Bottoms Composition)(광 성 분)(Light Component)
이것은 공정 시뮬레이터로서 밸브 기반의 FIR 모델의 사용을 나타낸다. 전술한 바와 같이, PID 제어 계산은 공정 시뮬레이션 외부에서 수행되었다.
결과의 데이터가 분석되었고 이 PID 구성에 기초한 모델은 도 4에 도시된 바와 같이 식별되었다.
PID 다이나믹스를 제거하기 위한 새로운 알고리즘이 도 4에 도시된 모델에 적용되었고, 제거된 PID 다이나믹스를 갖는 이 모델은 원래의 시뮬레이션 모델과 비교된다. 도 5에서 알 수 있는 바와 같이, 상기 알고리즘은 최초의 밸브 기반 모델을 성공적으로 복구한다. 복구된 모델의 안정 상태 시간은 원래의 모델의 안정 상태 시간보다 더 길다는 점에 주의하라. 이것은 PID 제어기를 갖는 모델에 대한 더 안정 상태 시간이 더 길기 때문이다. 원래의 밸브 기반의 시뮬레이션 모델은 90 분의 안정 상태 시간을 갖는다. PID 제어기가 구성되고 플랜트 스텝 테스트가 수행될 때, PID 피드백 제어가 올바르게 이루어지도록 기다려야 하기 때문에 그 공정이 안정 상태에 도달하는 데에 180 분이 걸린다. 복구된 밸브 기반 모델의 안정 상태 시간은 생성된 PID 다이나믹스를 포함하는 모델과 동일한 안정 상태 시간을 갖는다. 그러나, 복구된 모델은 90 분 내에 안정 상태에 도달했고, 그 시점에서 종결되면 원래의 밸브 기반 모델과 정확히 일치한다는 것을 알 수 있다.
산업상 이용가능성
과거에는, PID 제어기가 다시 튜닝될 때 또는 조절 제어 구조가 재구성될 때, 새로운 플랜트가 수행되거나 새로운 모델이 구축되었다. 본 발명은 다른 플랜트 테스트를 수행하지 않고 PID 제어기 다이나믹스를 제거한다.
PID 다이나믹스를 제거하는 이 능력은 PID 설정값 대신에 밸브 위치에만 기초하여 오프라인 공정 시뮬레이터의 생성을 허용한다. 플랜트 테스트는 임의의 안정된 조절 구성 및 PID 튜닝으로 수행될 수 있으며, 대응하는 모델이 얻어질 수 있다. 그러면 PID 다이나믹스를 제거하기 위한 알고리즘은 모든 PID 제어기의 다이나믹스를 제거하고 모델의 입력을 설정값으로부터 밸브로 변환시키기 위해 그 결과의 모델에 적용된다. 조절 제어 구성은 그 다음에 DCS 콘솔(console) EH는 콘솔 에뮬레이터(console emulator)를 통해 공정 모델 외부에서 에뮬레이터될 수 있다. 이것은 오퍼레이터가 PID 제어기를 수동 모드로 두거나, 캐스캐이드(cascade)를 차단하거나, PID 제어기를 재조정하거나 또는 조절 제어 구조를 재구성하도록 허용한다.
모델 기반의 제어 애플리케이션과 관련하여, 시스템 내의 PID 제어기의 PID 튜닝을 수정할 필요가 있을 때가 이TEk. PID 다이나믹스를 제거하는 능력이 있으면, 모델은 이 PID 제어기의 밸브에 기초하여 생성될 수 있다. 그러면, 오프라인 시뮬레이션 계산이 행해져서 새로운 PID 튜닝을 포함하는 새로운 공정 모델을 생성하고, 이 갱신된 모델은 모델 기반의 제어기 내로 포함될 수 있으며, 따라서 플랜트 스텝 테스트를 방지할 수 있다. 이 기술은 조절 제어 구조가 재구성되는 경우에도 적용될 수 있다. 우리의 모델에 대한 입력으로서 온도 조절기 설정값을 갖는 다고 가정해보자. 밸브가 고정되어 있고 그 유닛을 잠그지 않고는 수리될 수 없는 경우, 상기 알고리즘은 온도 조절기의 다이나믹스를 제거하는데 적용될 수 없고 상기 제어 애플리케이션은 온도 조절기 없이 계속해서 사용될 수 있을 것이다.
본 발명의 다른 이점은 공정이 하나의 조절 구성에서 테스트될 수 있고 모델 기반의 제어기가 다른 구성과 함께 사용될 수 있다는 것이다. 일례로는 시스템 압력이 습성 가스 압축기(wet gas compressor)의 속도를 변화시키는 PID 제어기로 제어되는 FCCU(Fluidized Bed Catalytic Cracking Unit)가 있다. 흔히 상기 유닛을 실행시키기 위한 가장 경제적인 환경은 압축기를 최대 속도로 하는 경우이며, 그러나 이 경우, 압력은 직접 제어되지 않는다. 그 해법은 제어시에 속도를 유지하면서 압축기의 속도를 변화시키는 PID 제어기로 플랜트를 테스트하는 것이다. 모델이 얻어지면, 압력 제어기 PID 다이나믹스는 제거되고 모델 기반의 제어 애플리케이션이 압축기의 속도를 직접 변화시킬 것이다. 이 예에서, 모델 기반 제어 애플리케이션은 압축기의 속도가 최대인 경우에 다른 입력을 조작함으로써 출력으로서 시스템의 압력을 제어한다.
흔히 유닛을 테스트할 때, PID 제어기의 밸브는 플랜트 테스트 동안 제어되지 않는다. 현재, 이 데이터는 공정 모델을 구축하는데 사용될 수 없다. 새로운 알고리즘에 의해, PID 제어기가 제어될 수 없는 경우에도 모든 데이터를 사용하는 것이 가능하다. 이것은 PID 제어기가 제어 상태에 있는 경우에만 데이터를 사용하여 전과 같이 모델을 먼저 식별함으로써 행해진다. 이 모델은 그 다음에 PID 다이나믹스를 제거하도록 수정되고 새로운 데이터가 그 모델로 필터링된다.
따라서, 본 발명은 높은 신뢰도를 구축할 수 있고, 오프라인 공정 시뮬레이터를 이용할 수 있으며, 모델 기반의 제어 애플리케이션을 구현하여 유지하는 능력을 향상시킨다.
본 발명의 바람직한 형태가 도면에 개시되어 있지만, 당업자에게는 자명한 바람직한 형태의 변화가 있을 수 있으므로, 본 발명은 예시된 특정 형태로 제한된 대로 해석되어서는 안되며, 대신에 전술한 내용에 비추어 첨부한 청구범위에 개시된 대로 해석되어야 한다.