← 전체 글
알람/약 12분 읽기/— 조회

알람 혼 정지는 알람 확인이 아니다 — 버튼을 나눠라

혼 정지를 확인(ack) 태그에 묶으면 HMI 이벤트 로그가 첫날부터 거짓말을 한다. 혼 정지, 확인, 리셋, shelve를 나누는 방법을 ISA-18.2 알람 상태와 시운전 테스트와 함께 정리한다.

HMISCADA알람운영문제 해결

버튼 하나로 묶는 함정

힘든 교대 뒤에 이벤트 저널을 열고, 알람이 active된 지 2초 안에 acknowledged로 바뀐 건이 몇 개인지 세어 보라. 그런 게 많다면 혼 정지와 확인이 같은 명령 태그에 묶여 있는 것이고, 그 로그는 패널이 살아난 첫날부터 거짓말을 하고 있었던 것이다.

혼 정지와 확인은 서로 다른 작업자 의도다. 정지는 "소리를 멈춰라"이고, 확인(acknowledge)은 "작업자가 이 알람을 봤고 대응 중이다"이다. ISA-18.2(그리고 그 전의 EEMUA 191)가 둘을 나눠 두는 데는 이유가 있다. acknowledged 상태는 교대 인수인계, 첫 대응 시간 지표, 사고 분석이 모두 읽어 가는 값이다. 이걸 혼이 시끄러워서 반사적으로 누르는 동작에 합쳐 버리면, 그 값들이 전부 틀어진다.

쓸 만한 HMI는 다음 명령을 나눠 둔다.

동작해야 할 일하면 안 되는 일
혼 정지현재 알람 조건이나 알람 그룹의 부저를 멈춤작업자 의도 없이 알람을 확인 처리함
알람 확인작업자가 알람을 봤다는 기록을 남김아직 위험한 active 상태를 화면에서 숨김
리셋공정이 정상으로 돌아온 뒤 래치된 알람을 해제함새로 들어온 알람까지 한꺼번에 조용하게 만듦
Shelve 또는 suppress규칙에 따라 알려진 불량 알람을 임시로 제외함사유 없는 영구 바이패스처럼 사용함

SCADA 제품마다 명칭은 다르다. 그래도 화면 문구와 이벤트 로그에서 의도는 분명해야 한다.

한 버튼으로 묶을 때 생기는 문제

"Silence/Ack" 버튼은 좋아 보인다. 혼이 시끄러우면 작업자는 먼저 누른다. 나중에 이력을 보면 알람은 확인된 것으로 남는다. 하지만 실제로 원인을 확인했는지는 알 수 없다.

현장에서 자주 보이는 증상은 이렇다.

  • 알람이 뜬 지 몇 초 안 됐는데 이미 acknowledged 상태다.
  • 교대 인수인계 때 어떤 알람을 확인했고 어떤 알람은 소리만 껐는지 구분이 안 된다.
  • 같은 설비에서 이어서 들어온 알람인데 혼이 다시 울리지 않는다.
  • 알람 폭주 분석에서 첫 대응 시간이 의미를 잃는다. 자동 확인이나 습관적인 버튼 누름이 섞였기 때문이다.

작은 단독 장비에서는 대충 넘어가기도 한다. 하지만 라인 HMI나 중앙 SCADA에서는 비정상 상황을 복기할 때 중요한 근거가 사라진다.

버튼을 그리기 전에 혼 적용 범위를 정한다

혼 정지 범위는 화면 배치로 정하면 안 된다. 운전 단위로 먼저 정해야 한다.

다음 중 어디까지 정지할지 결정한다.

  • 특정 알람 한 건.
  • 한 설비 영역.
  • 현재 HMI 클라이언트 한 대.
  • 운전 콘솔 그룹.
  • 전체 SCADA 시스템.

현장 로컬 패널은 로컬 부저만 멈추면 충분할 수 있다. 중앙 제어실은 두 콘솔이 같은 알람으로 계속 울리지 않도록 공유된 혼 정지 상태가 필요할 수 있다. 패키지 장비를 상위 SCADA에 붙인 경우에는 장비 부저 정지와 상위 알람 확인을 별도로 둬야 한다.

기능 설계서에 범위를 적어 둔다. 버튼에 "A구역 혼 정지"라고 쓰면 PLC나 SCADA 태그도 그 범위가 드러나야 한다.

다시 울리는 조건을 명확히 둔다

혼을 한 번 멈춘 뒤 언제 다시 울릴지 정해야 한다. 이 부분이 빠져서 현장 수정이 많이 나온다.

대부분은 단순한 규칙이 좋다.

  • 같은 audible group 안에 새 알람이 들어오면 다시 울린다.
  • 정상 복귀 후 같은 알람이 다시 active 되면 다시 울린다.
  • 우선순위가 높아지면 이전에 낮은 등급 알람을 정지했더라도 다시 울린다.
  • 계속 active이고 이미 확인된 알람은 별도 reminder 정책이 없으면 반복해서 울리지 않는다.

한 구역 전체를 무기한 조용하게 만드는 방식은 피하는 편이 안전하다. 현재 active 알람 집합에 대해서만 정지하거나, 제한된 시간 동안만 정지하도록 잡는 것이 낫다.

소리만 멈추고 화면 표시는 남긴다

혼을 껐다고 화면 알람 상태가 사라지면 안 된다. 작업자는 알람이 놓인 ISA-18.2 상태를 계속 봐야 한다 — 확인 전 active(UNACK-ALM), 확인된 active(ACK-ALM), 정상 복귀했지만 미확인(RTN-UNACK), shelved, suppressed. 혼은 피드백 한 비트일 뿐이고, 알람이 이 중 어느 상태에 있는지는 알려 주지 않는다.

시운전 때 확인할 항목은 구체적이다.

  • 혼 정지 후에도 알람 배너에 active unacknowledged 알람이 남아 있다.
  • 알람 리스트에 우선순위 색상, 상태 문구, 타임스탬프가 유지된다.
  • 배너 필터를 걸어도 페이스플레이트에서 해당 장비 알람 상태가 보인다.
  • 오버뷰 화면에서 영향받은 구역이 요약 표시로 드러난다.

혼만이 유일하게 눈에 띄는 알람 표시라면 HMI 설계가 약한 것이다. 소리는 화면 기반 알람 관리를 보조해야지 대신하면 안 된다.

이벤트 이력에 남길 것

이벤트 저널은 누가, 언제, 무엇을 했는지 답해야 한다. 최소한 아래 이벤트는 분리해서 남긴다.

  • 알람 active 발생 시각과 소스.
  • 혼 정지 명령, 작업자, 클라이언트 스테이션, 적용 범위.
  • 알람 확인, 작업자, 알람 인스턴스.
  • 정상 복귀 시각.
  • 리셋, shelve, unshelve, suppress, disable 같은 운전 개입.

규제 대상 설비나 위험도가 큰 설비라면 shelving과 장기 suppress에는 사유 코드를 요구하는 것이 좋다. 단순 혼 정지까지 매번 사유를 요구하면 작업자는 의미 없는 문구를 넣고 넘어간다. 절차상 필요한 경우가 아니라면 혼 정지는 빠르게 하게 두고, 확인과 억제 동작의 이력을 더 엄격히 보는 편이 낫다.

시운전 테스트 순서

실제 혼 출력이나 명확한 시뮬레이션 비트를 사용한다. 화면만 보고 테스트하면 타이밍 문제를 놓치기 쉽다.

  1. 고우선순위 알람 하나를 발생시킨다. 혼이 울리고, 배너가 active unacknowledged로 보이며, 이벤트 로그에 발생 기록이 남는지 본다.
  2. 혼 정지를 누른다. 혼만 멈추고 알람은 active unacknowledged로 남는지 확인한다.
  3. 알람 확인을 누른다. 확인 상태가 바뀌고 별도 작업자 이벤트가 남는지 확인한다.
  4. 같은 구역의 두 번째 알람을 발생시킨다. 요구사항대로 혼이 다시 울리는지 본다.
  5. 첫 번째 알람을 정상 복귀시킨 뒤 다시 발생시킨다. 재알람 동작이 문서와 맞는지 본다.
  6. 혼 상태를 공유하는 구조라면 다른 HMI 클라이언트에서도 반복한다.

자주 나오는 실패 형태

혼 정지가 확인 태그를 같이 쓴다

벤더 템플릿에 명령 태그가 하나뿐일 때 자주 생긴다. 현장 인수시험 전에 명령을 나눠야 한다. 그대로 두면 첫 운전일부터 이벤트 이력이 애매해진다.

확인을 누르면 그래픽 알람 표시가 사라진다

확인은 작업자가 봤다는 상태만 바꿔야 한다. 공정이 정상이라는 뜻이 아니다. active 조건이 해소될 때까지 장비 강조 표시는 유지한다.

HMI마다 혼 상태가 따로 논다

한 작업자가 혼을 껐는데 옆 콘솔에서는 계속 울린다. 독립 로컬 패널이면 의도한 동작일 수 있다. 중앙 제어실이면 대부분 소음과 혼란이다. 같은 운전 역할이면 공유 상태를 쓴다.

한 번 끄면 다시는 울리지 않는다

넓은 범위의 silence latch만 만들고 새 알람 비교를 하지 않으면 이런 문제가 생긴다. 데모 알람 하나로만 시험하지 말고 여러 알람 소스를 넣어서 확인한다.

실무 기준

빠른 동작은 소리만 멈추게 한다. 기록이 필요한 동작은 작업자가 의도적으로 확인하게 한다. 두 이벤트를 분리해서 남기면 교대 인수인계, 알람 리뷰, 사고 분석이 훨씬 쉬워진다.