보일러 플랜트의 shutdown 운전에 대한 조작절차의 자동합성

송한영, 허보경, 황규석, 윤인섭*

부산대학교 화학공학과

서울대학교 화학공학과*

Automatic Synthesis of Shutdown Procedures in Boiler Plants

Han Young Song, Bo Kyeng Hou, Kyu Suk Hwang, En Sup Yoon*

Dept. of Chemical Engineering, Pusan National University

Dept. of Chemical Engineering, Seoul National University*

서 론

근래에 보일러 플랜트가 대형화, 복잡화되면서 안전하고 효율적인 운전을 위해 자동 제어 시스템이 고도로 발달하게 되었다. 그러나 이러한 제어 시스템도 정상상태에서만 이용할 수 있는 것에 불과하다. 실제 비정상 상태인 Start-up 및 Shutdown 운전은 대단히 복잡하고 제약조건이 많아 운전원의 경험적인 지식에 의해서 이루어지고 있다. 그런데 보일러 플랜트는 Fuel Gas나 Oil을 사용하여 Steam을 발생시키는 장치로서 폭발이나 화재의 위험이 크므로 Start-up/ Shutdown 운전시 운전원의 오조작 및 오판단으로 인한 사고가 큰 문제로 부각되고 있다.

특히, 플랜트의 Shutdown시 운전원이 오조작 또는 오판단할 경우에 Drum의 과열 및 Furnace내 연소되지 않은 연료가 축적되어 폭발이나 화재 등과 같은 사고가 발생하는 경우가 있다. 또한, 플랜트가 정상적으로 Shutdown되지 않았을 경우, 당시에는 문제가 되지 않더라도 재 Start-up시 큰 사고로 이어질 수 있다. 그러므로 Shutdown 운전시 공정의 정상운전상태에서 최종 shutdown 상태에 정상적으로 도달할 수 있게 하는 일련의 조작순서를 결정하여 운전원에게 제시해 주는 운전지원 시스템 및 컴퓨터가 자동으로 조작하여 운전목표에 달성하는 운전 자동화 시스템의 개발이 필요하게 되었다.

본 론

임의로 조작절차를 합성할 경우, 조작단 N개에 대하여 on/off 조작만 고려한다면  2N×N! 가지의 경우가 발생하게 된다. 그런데, 실제 보일러 플랜트의 경우에 조작단의 수가 400개정도 존재하므로 무작위로 조작절차를 합성했을 때, 조합 폭발의 문제가 생기게 된다. 그래서 무작위로 조작을 탐색하는 것은 불가능하다. 또, 일반적으로 조작절차를 합성하는데 있어서 임의의 조작을 했을 경우 목적상태에 이르기 전에 위험상태에 이르거나, 조작자가 더 이상 조작할 수 없는 상태에 빠지게 된다. 그래서 본 연구에서는 운전원의 경험지식과 조작단의 제약조건을 이용하여 조작을 탐색할 수 있도록 하였다. 보통 운전원들은 최종목표에 대한 중간목표들을 설정하고, 각각의 중간목표를 달성하기 위한 적절한 조작단들을 찾아서 각 장치 및 조작단의 제약조건을 범하지 않는 한도 내에서 조작을 실시하여 목표를 달성한다. 이러한 운전원의 사고과정을 지식에 대한 계층적인 모델 및 Rule-based 모델, 그리고 searching, rule matching, forward chaining과 같은 인공지능기법으로 대체하여, 중간목표와 후보조작을 추론하고, 제약조건을 자동 생성함으로써 초기상태에서 목적상태까지의 조작절차를 합성하였다.

STEP 1. 중간목표의 계층화

최종목표를 이루기 위한 중간목표들을 계층화하면 FIG. 1와 같다. 여기서 로마자 Ⅰ, Ⅱ, Ⅲ, ... 는 중간목표의 Level를 나타내며, i, j, k, ...는 각각 최종목표, LevelⅠ중간목표, Level Ⅱ 중간목표에 대한 하위 중간목표들의 순서를 나타내고 있다. 여기서 최종목표에 도달하기 위해서는 LevelⅠ의 중간목표들을 모두 달성해야 하며 , LevelⅠ의 중간목표를 달성하기 위해서는 Level Ⅱ의 중간목표를 달성해야 함을 알 수 있다. 결국, 가장 하위 Level의 중간목표들을 모두 달성하게 될 때 최종목표에 이르게 된다. 보일러 플랜트의 Shutdown 운전도 이와 같이 계층화할 수 있다.

FIG 1. 중간목표의 계층적 구조

STEP 2. 중간목표의 순서결정

중간목표들을 아무 순서 없이 달성해 갈 경우 플랜트가 위험 상태에 이르거나 환경에 악영향을 끼칠 수 있으며, 에너지도 효율적으로 사용할 수 없게 된다. 그래서 운전원이 경험적인 지식을 사용하여 순서를 적절히 결정해 주어야 한다. 이때 운전 제약조건, 환경오염 방지 조건, 에너지 효율적인 사용법 등과 같은 지식이 사용된다. FIG. 2의 (a)는 Fuel의 Firing이 중지되지 않았는데, 전기집진기(EP)가 먼저 shutdown되었을 경우 매연이 발생하게 된다는 것을 의미하고 있다. (b)는 Fuel의 Firing이 중지되지 않았는데, 보일러의 급수 펌프가 shutdown되었을 경우 드럼이 과열되어 파열하는 사고가 발생하게 된다는 것을 의미한다. 이러한 사실을 통해서 전기집진기, 보일러의 feed water 펌프보다 fuel의 firing을 먼저 중지시켜야 한다는 것을 알 수 있다. 또 어떤 경우에는 에너지 효율 등을 고려해 볼 때 순서를 바꾸어서는 안되는 경우도 있다. 이런 지식을 다음과 같이 RULE로 표현하였다.

① 발생한 상황에 대한 표현

(Rule01 (IF ((Fuel-Burner firing-stop nil)

(EP shutdown t))

THEN (Release of flue gas)))

② 상황의 평가에 대한 표현

(Rule02 (IF (Release of flue gas)

THEN (Environmental pollution)))

③ 순서 결정에 대한 표현

(Rule03 (IF (Environmental pollution)

THEN (Change the Sequence of Subgoals)))

FIG 2. 중간목표의 순서결정 지식

이렇게 표현하면 Rule Matching과 Forward Chaining법으로 임의의로 중간목표를 달성했을 때 어떤 상황이 발생했는지 알게 되고, 발생한 상황에 대한 지식을 얻으면 그 상황이 과연 안전상, 에너지 효율상 어떠한가를 평가하게 되며, 그 평가의 결과에 따라 그 중간목표의 순서를 바꾸어야 하는가 그렇지 않은가 판별하게 된다.

STEP 3. 조작후보의 탐색

중간목표의 순서가 결정되었으면, 각 중간목표에 대한 조작후보를 찾아야 한다.  이 조작후보를 찾기 위해서 FIG. 3과 같은 방법으로 최말단 조작단을 찾게 된다. 그림과 같이 □fuel gas의 #1 버너를 중지□라는 중간목표가 있으면 대상공정지식으로부터 positive한 관계에 있는 line 및 조작단들을 찾아간다. 즉, fuel gas의 #1 버너를 중지하려면 먼저 #1 버너 Line를 close하면 된다. 또, #1 버너 line을 close하려면, #1 버너 line상에 있는 cock 밸브나 trip 밸브를 잠그면 된다. 여기서 □fuel gas의 #1 버너를 중지□라는 중간목표에 대한 조작후보는 v1, v2, v3가 된다.

FIG 3. 조작후보 탐색방법

STEP 4. 제약조건의 생성

중간목표에 대한 조작후보가 조작후보 Tree에 의해 탐색되었으면, 그 탐색된 조작후보(조작단-밸브, controller, switch)에 대한 제약조건을 생성함으로써 제약조건을 범하지 않고 목적상태에 이를 수 있는 조작들을 합성할 수 있다. 탐색된 조작단에는 조작전 제약조건(Pre-constriant), 조작중 제약조건(Op-constraint), 조작후 제약조건(Post-constraint)이 있다.

(Op-1

(Name fuel-gas-cock-valve)

(Constraints  (Pre-Constraint (Check FG-burner-pressure))

(Op-Constraint (Check Close-speed))

(Post-Constraint (Check FG-burner-pressure))))

만일 조작후보로서 조작단 Op-1이 선택되었다면, 조작절차 합성기에서 Op-1의 제약조건을 확인한다. 확인한 결과를 보면, 조작단 Op-1에 대한 제약조건으로는 위의 표현에서 보는 바와 같이 Pre-Constraint로 fuel gas 버너의 압력을 체크하라는 제약조건이 있고, Op-Constraint로 close 속도를 체크하라는 제약조건이 있으며, Post-Constraint로 Fuel Gas의 버너 압력을 체크하라는 제약조건이 있다. 여기서 제약조건의 대상인 Fuel Gas의 버너 압력 및 Close 속도 등은  상한값과 하한값이 있게 된다. 이러한 상한값 및 하한값을 결정하기 위해 Check 대상에 따른 상황의 전개과정 및 인과관계를 IF.. THEN.. rule로써 표현하였다. 이렇게 상황의 전개과정을 Rule로 표현할 경우 rule matching과 forward chaining 방법으로 상·하한값을 결정하여 FIG. 4의 STEP 4에서 보는 바와 같이 제약조건을 생성할 수 있다. 조작후보로 탐색된 조작단에 대한 제약조건이 생성되면, 이 제약조건에 의해 조작단의 조작속도(Speed)와 조작범위(Range) 및 조작목표(Target)가 결정된다.

STEP 5. 조작절차 합성

조작단의 조작방향, 조작속도, 조작범위가 결정되었으면, Discrete Operating Time동안 조작을 실시하여 상태모사기로부터 그 조작으로 인한 공정 상태의 변화를 모사하게 된다. 모사한 후 조작범위를 벗어났는지의 여부를 확인한다. 벗어났을 경우 조작후보 탐색기로부터 대처 조작을 찾는다. 벗어나지 않았을 경우는 조작목표에 도달할 때까지 계속 Discrete Operating Time동안 단계적으로 조작한다. 이와 같이 임의의 한 개의 조작단의 조작목표를 달성했을 경우 그 다음 조작단도 이와 같은 방법으로 조작을 실행한다. 이렇게 반복적인 과정을 통해 결국에 운전의 최종목적상태까지 도달하기 위한 조작단의 조작절차를 모두 합성하게 된다.

결 론

위의 조작절차 합성 방법으로 Programming하여 다음과 같이 제약조건을 범하지 않는 조작을 얻을 수 있었다. 여기서 합성된 조작은 조작단이 조작 방향뿐만 아니라 제약조건을 범하지 않기 위해 조작속도 및 조작시간까지 가지고 있다는 점이다. (FIG. 4)

STEP 1. SUBGOAL의 계층화 > (goaltree *final-state*) (FUEL-BURNER FIRING-STOP T) (FUEL-GAS-BURNER FIRING-STOP T) (NO1-FUEL-GAS-BURNER FIRING-STOP ... (FUEL-OIL-BURNER FIRING-STOP T) (NO1-FUEL-OIL-BURNER FIRING-STOP ... (AUXILIARY-INSTRUMENTS SHUTDOWN T) (EP SHUTDOWN T) ... STEP 2. SUBGOAL의 순서결정 > (subgoals-sequence-maker *final-state*) Subgoal STEP * 1 * (NO4-FUEL-GAS-BURNER FIRING-STOP) Subgoal STEP * 2 * (NO3-FUEL-GAS-BURNER FIRING-STOP) ... Subgoal STEP * 13 * (AH SHUTDOWN) ... Subgoal STEP * 15 * (SAMPLE-AND-ANALYZERS SHUTDOWN) STEP 3. 조작후보 탐색 > (positive-operators-searcher) Subgoal STEP * 1 * : (NO4-FUEL-GAS-BURNER ...	Positive-Operator[1] ==> (NO4-FUEL-GAS-BURNER -COCK-VALVE APVAL NIL) Positive-Operator[2] ==> (NO4-FUEL-GAS-BURNER -TRIP-VALVE-BEFORE-VENT-LINE APVAL NIL) Positive-Operator[3] ==> (NO4-FUEL-GAS-BURNER -TRIP-VALVE-AFTER-VENT-LINE APVAL NIL) ... STEP 4. 제약조건 생성 > (pre-constraints-formulator '(no4-fuel-gas-burner -cock-valve)) ****** Constraints-Path [1] ************ (< FUEL-GAS-BURNER-PRESSURE FURNACE- PRESSURE) (FLOWING BACKWARD OF BURNER FIRING) (EXPLOSION OF PIPES) (HAZARDOUS ACCIDENT) ... ((> FUEL-GAS-BURNER-PRESSURE FUNRNACE- PRESSURE) (...)) STEP 5. 조작절차 합성 > (operating-procedures-synthesizer) ((V26 VALVE) CLOSE) ... ((V28 VALVE) CLOSE) ... ((V29 VALVE) CLOSE) ... ((V19 VALVE) CLOSE) ...

FIG. 4 조작절차 자동합성 과정

참고문헌

1. Rivas J. R & D. F. Rudd, Synthesis of Fail-Safe Operations. AIChE Journal 20, pp. 311-319, 1974.

2. R. Lakshmanan & G. Stephanopoulos, Synthesis of Operating Procedures for Complete Chemical Plants - Ⅰ. Hierarchical, Structured Modelling for Nonlinear Planning. Comput. Chem. Engng 12, pp. 985-1002, 1988.