인터넷 웹을 기반으로 한 공정규명과 공정제어 조업 훈련

Theories and Applications of Chem. Eng., 2002, Vol. 8, No. 1

김태언, 이범석

경희대학교 화학공학과

Process Identification and The Operation Training of Process Control Systems

in a web environment

Taeun Kim, Bomsock Lee

Dept. of Chemical Engineering, Kyunghee University

서론

대부분의 공학분야에서는 결과값의 정밀도와 편리성을 위해서 고가제품의 상용화되어 있는 소프트웨어들을 사용하고 있지만 이러한 소프트웨어를 구입할 수 없는 상황이라면 사용자들은 실험을 못하게 되는 경우가 생긴다. 이러한 점을 개선하기 위해 요즘 널리 사용되고 있는 인터넷을 이용함으로써 사용자들은 편리하게 실험을 하여 습득을 할 수 있도록 하였다. 본 연구에서는 JAVA라는 언어를 사용하여 프로그램을 개발하여 인터넷을 통해 사용자가 공정제어분야에서 실험을 할 수 있도록 하였다. 공정제어 실험은 사용자가 모르는 공정을 규명하고 규명된 공정과 PID제어기를 사용하여 나온 값과 최적의 조건에서 나온 값을 사용자가 비교, 분석하여서 사용자가 규명한 공정을 제어하도록 하였다.

본론

1. 프로그램 개발 배경 및 구성

본 실험을 위한 프로그램은 JAVA라는 프로그래밍언어를 사용하여 프로그램을 만들었다. JAVA는 자바가상머신(Java Virtural Machine)이 개인 컴퓨터에 설치되어 있으면 그 운영체제에 관계없이, 컴퓨터의 사양에 관계없이 사용자의 컴퓨터에서 공정제어 가상 실험을 할 수 있게 되어 있다. 이러한 공정제어실험은 고가제품의 프로그램을 사용하는데 힘들었던 사용자를 위해서 인터넷을 통해서 할 수 있게 되어 있다.

2. 공정제어실험

본 연구에서 다루는 공정제어실험은 세 단계로 나누어져 있다. 첫 번째 단계로는 사용자는 알지 못하는 Process를 접하게 되는데 이 Process를 사용자가 규명을 하게 된다. 두 번째 단계는 사용자가 규명한 Process와 PID제어기를 이용하여 출력값을 얻게 된다. 세 번째 단계는 사용자가 출력한 값과 최적화된 값을 비교, 분석하여서 규명한 Process를 다시 조절하거나 PID제어기의 조절변수를 조절하여 Error를 줄인다.

2-1. Process 규명

첫 번째 단계에서 사용자는 알지 못하는 Process를 접하게 되는데 이 Process를 규명해야 전체의 출력값을 알 수가 있게 된다. Process를 규명하기 위해서는 Fig. 1에서 보는 바와 같이 읿력값 X을 넣고 Process를 거쳐 나온 출력값 Y를 보고 사용자가 최소자승법

Theories and Applications of Chem. Eng., 2002, Vol. 8, No. 1

화학공학의 이론과 응용 제8권 제1호 2002년

(least squre method)를 사용하여 Process를 규명할 수 있게 된다. 대부분의 출력값은 형태가 S자 모양을 나타내고 어느 정도의 시간이 지난 다음에 나타나므로 본 실험에서는 사용자는 이 출력형태에 적합한 Process의 모델을 (1)과 같이 time-lag가 있고 이차계가 있는 Process로 가정하였고 입력값은 step input으로 하였다. 여기서 [eqn: rm G_p (s)]는 Process를 의미한다.

[eqn: rm G_p (s)= {K_p~ e^{-□_d s}} over {(□_1 s+1 )(□_2 s+1)}]	(1)

[eqn: rm K_p = { (Y의 최대값) } over {(X의 값)}]	(2)

2-2.  출력값 측정

두 번째 단계에서는 첫 번째 단계에서 사용자가 규명한 Process와 PID제어기를 이용하여 출력값을 구한다. Fig. 2에서 보는 바와 같이 사용자가 첫 번째 단계에서 규명한 Process를 [eqn: rm G_p (s)]라하고 [eqn: rm G_c (s)]를 공정제어분야에서 많이 쓰고 있는 PID Controller이라고 한다면 사용자는 PID의 조절변수 [eqn: rm K_c , □_I , □_D]를 조절해서 사용자가 원하는  출력값을 구할 수 있다.

2-3. Error 측정

세 번째 단계에서는 사용자가 구한 출력값과 프로그램 내에서 최적화해서 구한 값과의 Error를 측정, 비교, 분석하여서 사용자가 규명하였던 Process나 PID조절변수를 재수정하면서 원하는 값을 얻도록 한다.

3. 모의 실험 예제

이번 모의 실험에서는 Fig. 2 의 Block diagram을 기준으로 하였다. 첫 번째 단계로 사용자는 알지 못하는 Process를 규명하기 위해 step input를 통해 출력되는 y(t)의 data을 보고 Process를 규명하게 된다. Fig. 3에서 사용자는 입력 값을 step input으로 해서 Fig. 1의 Block diagram을 이용하면 Fig. 4와 같은 출력 값이 나오게 된다.

화학공학의 이론과 응용 제8권 제1호 2002년

출력 내용을 토대로 해서 사용자는 알지 못하는 Process를 규명하게 되고 이 규명된 Process는  Fig. 2의 [eqn: rm G_p (s)]로 사용하게 된다. Process를 구하기 위해 사용자는 최소자승법(least square method)를 사용하여 (1)의 식에서 [eqn: rm tau_1 , tau_2 , tau_D] 를 구할 수 있다. 이 [eqn: rm tau_1 , tau_2 , tau_D] 값을 구함으로써 Process를 규명할 수 있게 되고 [eqn: rm G_p (s)]에 사용할 수 있게 된다.

두 번째 단계로는 Fig. 2의 Block diagram을 사용하게 된다. 본 실험에서는 [eqn: rm G_p (s)]는 첫 번째 단계에서 구한 Process, [eqn: rm G_c (s)]는 공정제어분야에서 많이 쓰이고 있는 PID Contorller를 사용하였다. 사용자는 PID 조절변수 [eqn: rm K_c , □_I , □_D] 를 조절하여서 사용자가 원하는 출력 값이 나오게 한다. Fig. 5는 사용자가 규명한 Process와 PID Controller을 이용하여서 나온 출력 값을 나타낸 그림이다.

사용자가 구한 출력 값은 사용자의 판단착오로 인해 Error가 발생하여서 이를 사용자에게 알려줘야만 한다. 세 번째 단계가 이를 나타내는 단계이다. 최적화된 값으로 Process를 규명하고 PID Controller를 이용하여 나온 출력 값과 사용자가 직접 구한 출력 값을 비교하면서 사용자는 두 값의 차이를 최소화함으로써 최적의 Process를 구할 수 있게 된다. Fig. 6은 최적의 값으로 나타낸 출력값을 나타낸 그림이다. 사용자는 Fig. 5 와 Fig. 6을 서로 비교하면서 사용자가 규명한 Process나 PID Controller 조절변수를 조정하면서 좀 더 정확한 값을 구할 수 있게 된다.

화학공학의 이론과 응용 제8권 제1호 2002년

결론

화학공학의 이론과 응용 제8권 제1호 2002년

본 실험에서는 고가의 소프트웨어를 사용해서 공정제어모사실험을 하는 것이 아니라 누구나 사용할 수 있는 인터넷을 이용하여서 공정제어모사실험을 하였다.

사용자는 알지 못하는 Process를 추정을 하여서 Process를 구한 다음 이를 PID제어기와 연결시켜서 원하는 출력값을 알 수 있게 되었다. 하지만 이 출력값은 사용자의 판단착오에 의해서 Error가 생길 수 있기 때문에 최적화의 값을 이용하여서 구한 Process와 이를 PID제어기와 연결시켜서 구한 값을 사용자가 비교, 분석하여서 두 출력값의 Error범위를 줄이게 됨으로써 사용자는 더 쉽게 Process나 PID제어기 조절변수[eqn: rm K_c , □_I , □_D] 를 수정할 수 있게 된다. 이렇게 함으로써 사용자는 더 정확한 Process를 구할 수 있게 되며 사용자가 원하는 출력값을 얻을 수 있게 된다.

참고문헌

1. Donald R. Coughanowr : "Process Systems Analysis and Control", McGraw-Hill,      2nd, 296, 1991

2. Thomas E. Marlin : "Process Control", McGraw-Hill , 1995

3. Karl J. Ashtrom, BJorn Wittenmark : "Computer-Controlled Systems" ,	Prentice-Hall, 2nd, 416, 1990

4. Steve Potts : "Java 2 How-To" , SAMS, 1999