보일러 플랜트의 Fault Tree 자동합성을 위한 모델링

이 호균, 송한영, 허 보경, 황 규석

부산대학교 화학공학과

Modeling for Automatic Synthesis of

Fault Trees in Boiler Plants

Ho Kyun Lee, Han Young Song, Bo Kyeng Hou, Kyu Suk Hwang

Dept. of Chemical Eng., Pusan National University

서론

최근 재해가 대형화 되어가고 재해원인이 복잡화되어 시스템 안전에 관한 관심은 폭발적으로 증가하고 있으며, 여기에 FTA(Fault Tree Analysis)는 안전과 이상 진단 분석에서 주도적 역할을 수행해 오고 있다. FTA를 하기 이전에 모델링 기술로서 화학공장에서 자주 발생하는 사상(정상사상, Top Event)의 원인이 되는 밸브, 장치, 제어장치 등의 불량상태, 작업자의 error 등(fault event)을 Logic gate로 연결하는 Fault Tree의 작성이 요구된다. FT 작성을 수(手)작업으로 한다는 것은 아주 많은 시간을 요구하며, 지루하고, 실수하기 쉬운 일이다. 따라서, Fault Tree 작성을 자동화하는 것은 안전과 이상 진단 분석에 있어서 아주 중요한 의의를 가진다고 할 수 있다.

본 연구에서는 보일러 플랜트의 일부인 Purge Process를 대상으로 하여 FT 자동합성을 위한 새로운 알고리즘을 개발하였다. 먼저 분석할 대상 공정은 모든 장치와 Flow에 대해서 Semantic Network로 표현하였으며, 이러한 Semantic Net.로서 Flow Node, 밸브 Node, 일반적인 장치 Node사이에 일어날 수 있는 사상의 인과관계를 나타내었다. 기존에 주로 사용하던 일반적 Semantic Net.보다 단순화되었지만, 밸브나 장치에 대한 일반적인 Rule과 속성 Rule을 적용시켜서 각 장치에 대한 특성 및 역할을 구체적으로 표현하였다. 이러한 Rule은 Forward chaining법으로 사상의 원인들을 분석하여 단계적으로 FT를 자동 합성한다.

공정 표현을 위한 정의

<대상공정(Fig.1)은 Flow paths상의 flows와 equipments로 이루어져 있다>

□Flow의 정의: 시스템을 통하여 이동하거나 전파될 수 있는 어떤 물질, 정보,     에너지, 활동과 현상 등의 Flow을 가리킨다.

□Semantic Network상에 화살표는 어떤 Node에서 일어난 사상의 원인 Node를     가리키기 때문에 주어진 Node에서 발생한 사상은 이 화살표를 통하여 원인이     되는 Node를 찾는다.

□Node는 Flow, Equipment로 두가지로 나누고 장치 Node를 다시 밸브 Node와    일반적인 장치 Node로 분류하였으며, 또다시 일반적인 장치 Node는 속성 Rule    을 가진 장치 Node와 속성 Rule을 가지지 않은 장치 Node로 구분하였다.

<Flow node, valve node의 속성값>

□Flow Node의 속성값은 ZERO, LOW, CONS, HIGH로 나타내었으며,  ZERO     는 Flow가 전혀 흐르지 않음, LOW는 CONS보다 낮은 Flow, CONS는          LOW와 HIGH사이의 Flow, HIGH는 CONS보다 높은 Flow를 의미한다.

□Valve Node의 속성값도 ZERO, LOW, CONS, HIGH이며 ZERO는 완전잠김     상태, LOW은 CONS보다 적게 열린상태, CONS은 LOW와 HIGH사이, HIGH     는 CONS 기준보다 많이 열림을 의미한다.

□위의 둘 속성값에서 밸브로 부터 유출 Flow은 밸브의 속성과 밸브에 공급되     는 유입 Flow에 의해 결정된다. 즉, 예를들면 (if (유출 Flow이 zero이다)        then ((valve가 zero이다) or (유입Flow이 zero이다))

Fig.1 Purge process in Boiler Plants

<Equipment의 Semantic Network에 의한 정의 및 속성 Rules>

Fig.2  Semantic Networks for various equipments

일반적으로 대상공정을 표현함에 있어서 어떤 형태로든 얼마나 자세하게 대상의 구성 요소들을 표현하는가에 따라 FT상에서 나타날 수 있는 사상의 원인들이 얼마나 상세하고 정확할 수 있는지를 판가름할 수 있다. 대상의 상세한 표현을 위해 Semantic을 다양하게 분류하기 보다는 Fig.2의 (c), (d)와 같은 장치의 속성 규칙을 사용함으로써 대상의 구성요소를 상세하게 표현는 방법을 사용하였다. Flow Node는 원, 장치 노드는 사각형으로 나타내었으며, 화살표는 각 노드에서 발생할 수 있는 사상의 원인 Node를 가리킨다.

Fig.2 (a)는 어떤 물질이 F2 Flow Node에 유입되었다고 가정했을 때 밸브의 개/폐에 따라 F1 Flow Node의 유출상태를 결정한다. 즉 Semantic Net.상에서 F1 유출상태는 밸브의 개/폐 상태와 F2 Flow Node의 유입상태에 따라서 상태가 결정이 된다. 밸브의 Semantic Network 정의로 부터 Rules을 만들어 보면 다음과 같다. 예를 들어 어떤 Flow Node의 Flow 속성값이 ZERO인 경우는

VALVE RULE1[VR1]: (if ((valve에서 유출 Flow의 속성값은 zero이다) and (controller가 있다)) then ((controller에서 유출되는 flow의 속성값이 zero, 즉 열려라는 명령 Flow가 없다) or (valve에 유입 flow의 속성값이 zero이다) or (valve의 속성값이 zero이다)); VALVE RULE2[VR2]: (if ((valve에서 유출 Flow의 속성값이 zero이다) and (controller가 없다)) then ((valve에 유입 flow의 속성값이 zero이다) or (valve의 failure이다)). 마찬가지로 (b)는 general equipment도 속성이 없을 경우에 valve유사하게 나타낼 수 있다. 그러나, (b) equipment는 (c)나 (d)와 같은 속성 Rule을 가질 수도 있고 가지지 않을 수도 있다. 따라서, (b)는 다음과 같은 equip. Rule을 가진다. EQUIP. RULE1[ER1]: (if ((equip. node의 유출 flow의 속성값이 zero이다) and (equip. attrib. rule이 있다)) then (관계 되는 equip. attrib. rule을 call하라); EQUIP. RULE2[ER2]: (if ((equip. node의 유출 flow의 속성값이 zero이다) and (equip. attrib. rule이 없다)) then ((equip. node의 유입 flow가 zero이다) or (equip.가 failure)). (c)와 같은 속성 Rule을 가질 경우; EQUIPMENT ATTRIBUTE RULE1[EAR1]: (if (F1의 속성값이 zero이다) then ((F2의 속성값이 zero이다) or (F3의 속성값이 zero이다)) (d)와 같은 속성을 가진 경우; EQUIP. ATTRIB. RULE2[EAR2]: (if ((F1의 속성값이 zero이다) or (F2의 속성값이 zero이다)) then ((equip.가 failure이다) or (F3의 속성값이 zero이다))등으로 만들어질 수 있다.

Fig.2와 같은 각 장치에 대한 Semantic Net.들의 결합으로 Purge Process 전체에 대한 Semantic Network을 Fig.3과 같이 나타내었다.

Fig.3 Semantic Network Representation

Fault Tree 합성을 위한 Algorithm

대상공정에서 발생될 수 있는 정상사상은 forward-chaining rules를 이용하여 각 사상의 원인을 탐색한다. 먼저 Flow Node에서 사상이 발생 했을 때 모든 장치 Node를 찾아 그 장치 Rule과 장치 속성 Rule을 불러서 Fig.4와 같은 알고리즘을 따라 FT를 자동합성한다. 예를들어, 어떤 Flow Node에서 속성값이 zero일 때를 보면;

□  Semantic Network로 부터 대상공정의 연결관계와 Rule을 입력받는다.

□  IF ((flow node의 flow source의 속성값이 zero이다)

and (속성값이 이전의 값과 같지 않다))

THEN (모든 주변 장치들을 찾는다)

ELSE  (go to □)

ENDIF

□  IF (equip. node가 valve이다)

Then (valve rule을 call한다)

ENDIF

□  IF (equip. node가 general equip.이다)

THEN (equip. rule을 call한다)

ENDIF

□  IF  (equip. rule이나 equip. attrib. rule에서 flow node를 만나면)

THEN  (go to □)

ELSE   (go to □)

ENDIF

□  IF  (더 이상 원인을 찾을 수 없다)

THEN  (종료한다)

ENDIF

Fig.4  Algorithm for Fault Tree Synthesis

Rule을 통하여 원인들을 탐색하는 가운데 Flow Node를 찾게 되면 다시 Flow에 대한 Rule을 recursion한다. 이때 recursion된 Flow Node가 전의 Flow Node와 같다면 그 Flow Node의 바로 직전의 사상에서 멈추어 루프(Loop)를 끝내고 일반적인 알고리즘 따라 사상는 전개되어가다가 결국 최하위 사상이 발생하는 밸브, 장치, 제어장치들의 어떤 Failure을 찾아냄으로써 FT를 합성한다.

결론

본 연구에서는 FT를 자동 합성하기 위해서 대상공정인 보일러 플랜트의 Purge Process를 Semantic Network로 표현하였으며, 장치나 밸브의 구체적인 특성 및 역할을 Rule과 속성 Rule로써 나타내었다.

그리고, 이러한 Semantic Network과 장치에 대한 Rule를 이용하여 어떤 Node에 발생한 사상에 대한 원인을 Forward-chaining으로 탐색하여 FT를 자동으로 합성하는 알고리즘을 개발하였다

참고문헌

[1] Hiromitsu Kumamoto, E. J. Jenley, Automated fault tree synthesis by        semantic network modeling, rulebased development and recursive 3-value      procedure. Reliability Engineering and System Safety 49 (1995) p171-188

[2] A. Carpignano & A.Poucet, Computer assisted fault tree construction: a      review of methods and concerns. Reliability Engineering and System         Safety 44 (1994) p265-278