정상 데이터처럼 보이는 고장
아날로그 스케일링은 원시 카운트를 공학 값으로 바꾸지만, 그 신호를 믿을 수 있는지는 알려 주지 않는다. 배선이 끊어진 트랜스미터, 포화된 루프, 얼어붙은 출력도 여전히 숫자를 만든다. 그 숫자가 스케일링되면 진짜 계측값과 똑같이 보이고, 운전원도 알람 엔진도 히스토리언도 모두 그것을 진짜로 취급한다.
현장의 아날로그 문제 대부분은 스케일 계수가 틀린 게 아니다. SCADA가 감지하도록 설정되지 않아서 놓친 고장이다. 이제부터 진짜 계측값과 그럴듯해 보이는 가짜를 구분하는 점검들, 그리고 그 값이 운전원 화면이나 제어 루프에 닿기 전에 점검이 동작하도록 어디에 두어야 하는지를 다룬다.
스케일된 값이 아니라 원시 신호를 알아야 한다
공학 값만 봐서는 신호 결함을 감지할 수 없다. 수위 0.0 m는 빈 탱크일 수도, 죽은 트랜스미터일 수도 있다. 차이는 원시 신호에서만 보인다.
결함 감지를 설정하기 전에 각 아날로그 입력의 원시 범위를 적어 둔다.
| 신호 종류 | 라이브 제로 / 정상 대역 | 결함 표시 |
|---|---|---|
| 4-20 mA | 4-20 mA가 정상 공정 | 약 3.6 mA 미만 또는 21 mA 초과는 범위 밖 |
| 0-10 V | 0-10 V 공정 | 레일에 고정된 값은 다른 점검이 필요 |
| RTD / 열전대 | 센서별로 다름 | 개회로는 풀스케일 또는 드라이버 결함 코드로 읽힘 |
| 필드버스 / 디지털 | 값 + 품질 코드 | 크기 임계값이 아니라 품질 코드를 쓴다 |
4-20 mA 루프에서 가장 유용한 성질은 **라이브 제로(live zero)**다. 정상 신호는 절대 4 mA 아래로 내려가지 않으므로, 0 mA 근처의 값은 실제 공정 값 0이 아니라 단선, 죽은 트랜스미터, 루프 전원 상실을 뜻한다. 0-10 V나 0-20 mA 신호는 이 이점을 버린다. 0이 유효한 계측값이면서 동시에 배선 결함이기도 해서, 가장 값싼 결함 점검을 잃는다. "센서가 사라졌다"를 아는 것이 중요한 입력에는 4-20 mA를 우선한다.
범위 초과·과범위 감지
첫 번째 점검은 가장 단순하다. 원시 신호가 트랜스미터가 정당하게 낼 수 있는 범위 안에 있는가?
정상 신호 주위에 두 대역을 정의한다.
- 저범위 / 단선: 원시 신호가 라이브 제로 아래(4-20 mA면 대략 3.6 mA 미만). 이는 거의 항상 낮은 공정 값이 아니라 개회로를 뜻한다.
- 과범위 / 포화: 원시 신호가 풀스케일 위(대략 20.5-21 mA 초과). 공정이 트랜스미터 스팬을 넘었거나 트랜스미터가 고장으로 최대치에 붙었다는 뜻이다.
이 임계값들은 임의로 정한 게 아니다. 대부분의 트랜스미터 제조사가 4-20 mA 루프에서 고장을 알리기 위해 따르는 권고가 NAMUR NE 43이다. 3.6 mA 이하를 다운스케일(저) 고장, 21 mA 이상을 업스케일(고) 고장으로 예약하고, 3.8-20.5 mA 대역을 실제 계측값에 약간의 여유를 더한 구간으로 남긴다. 트랜스미터가 NE 43으로 설정되어 있다면, 결함 대역을 추측하지 말고 바로 그 경계를 쓴다. 어느 쪽이 고장이고 어느 쪽이 살아 있는 값인지 장비가 이미 알려 주고 있다.
여기서 흔한 실수는 두 가지다.
- 조용히 클램핑하기. 많은 드라이버가 스케일된 값을 범위 한계로 클램핑한다. 실제로 트랜스미터 스팬 위로 벗어난 압력이 정확히 100%로 표시되어 정상적인 높은 값처럼 보인다. 플래그 없는 클램핑은 결함을 숨긴다. 필요하면 클램핑하되, 운전원과 알람이 볼 수 있는 별도의 과범위 상태를 반드시 세운다.
- 원시 신호 대신 스케일된 값으로 알람하기. 공학 단위로만 알람하면, 스케일링 오프셋 때문에 그럴듯한 중간 값으로 스케일되는 단선 0 mA는 절대 걸리지 않는다. 결함은 원시 신호에서 감지하고, 그 뒤에 어떤 공학 값과 품질을 낼지 결정한다.
이 점검의 출력은 숫자가 아니다. 품질 결정이다. 값을 good으로 낼지, 아니면 하위 로직이 믿지 않도록 bad/uncertain으로 덮어쓸지다. 그 결정을 시스템이 이미 쓰는 태그 품질 처리에 넣는다.
얼어붙거나 고정된 값
단선은 쉽다. 마지막 값에 잠겨 버린 트랜스미터, 또는 같은 오래된 값을 계속 돌려주는 통신 경로는 더 어렵다. 값이 범위 안에 있어 살아 있는 것처럼 보인다.
두 가지 감지가 이를 잡는다.
- 정지 값 / 무변화 타임아웃. 평소 움직이는 아날로그가 신호 잡음 이상으로 예상 구간보다 오래 변하지 않으면 의심으로 표시한다. 타임아웃은 공정이 실제로 어떻게 움직이는지에서 정한다. 빠른 유량은 몇 초면 정지로 볼 수 있고, 느린 탱크 수위는 몇 분 동안 정당하게 유지될 수 있다. 이것은 종이 위에서 유도할 값이 아니라 실제 신호에 맞춰 조정하는 손잡이다.
- 오래된 데이터 / 타임스탬프 나이. 폴링이나 이벤트 기반 소스에서는 값의 타임스탬프를 현재 시각과 비교한다. 소스가 갱신을 멈추면 마지막 값이 메모리에 남아 현재처럼 보인다. 오래됨 점검은 "숫자가 더 오지 않는다"를 명시적 bad quality로 바꿔, 조용히 나이 먹는 값을 막는다.
두 점검 모두 같은 함정이 있다. 진짜로 안정된 공정이 정지 값 알람을 걸 수 있다. 데드밴드와 타임아웃을 실제 신호에 맞춰 함께 조정하고, 왜 그 포인트가 의심 상태가 됐는지 운전원이 볼 수 있게 해서, 정당하게 잔잔한 공정을 죽은 센서로 오인하지 않게 한다.
변화율·잡음 점검
고정 값 외에, 범위 점검을 통과하는 결함을 잡는 두 가지 신호 형태 점검이 있다.
- 변화율 / 스파이크 제거. 값이 샘플 사이에 공정이 물리적으로 가능한 것보다 크게 튀면, 그것은 진짜 계단 변화가 아니라 거의 확실히 잡음, 접지 문제, 잘못된 변환이다. 스파이크를 제어와 트렌드에 흘리지 말고 표시하거나 버린다. 한계는 공정 물리에서 정한다. 탱크 수위는 한 스캔에 1 m 오를 수 없다.
- 과도한 잡음. 평소보다 훨씬 크게 흔들리는 신호는 루프가 완전히 고장 나기 전에 배선·차폐·접지 문제가 자라고 있다는 뜻일 때가 많다. 알람할 일은 드물지만, 정비원이 느슨한 단자를 일찍 잡도록 트렌드로 남길 가치가 있다.
이 점검들은 정직하게 유지한다. 진짜 공정 과도 현상은 통과시켜야 한다. 목적은 물리적으로 불가능한 것을 버리는 것이지, 진짜 이벤트를 매끄럽게 지워 버리는 게 아니다. 애매하면 조용히 버리기보다 표시하고 통과시킨다. 버려진 진짜 이벤트가 표시된 잡음 있는 값보다 나쁘다.
점검을 어디에 둘 것인가
같은 결함을 여러 곳에서 감지할 수 있고, 어디에 두느냐가 시스템 전체가 이득을 보는지 화면 하나만 보는지를 정한다.
- 트랜스미터에서. 최신 스마트 트랜스미터는 HART나 필드버스로 자체 진단(센서 개방, 규격 이탈)을 보고한다. 가장 이르고 구체적인 감지다. 신호 경로가 이를 전달하는 곳에서 활용한다.
- PLC / RTU에서. 컨트롤러에서 범위·정지·변화율 결함을 감지하면 제어 로직 자체가 반응할 수 있다. 마지막 good 값을 유지하거나, 안전 상태로 페일하거나, 루프를 금지한다. 제어에 영향을 주는 것은 여기가 제자리다.
- SCADA / 히스토리언에서. SCADA 측 점검은 컨트롤러가 진단하지 않는 신호의 안전망이며, 트렌드·알람·리포트에 품질 코드를 채우는 자리다.
게으른 실수는 점검을 SCADA HMI에만 두는 것이다. 거기서는 페이스플레이트 하나만 색칠되고 PLC 제어 루프는 계속 잘못된 값을 쓴다. 결함 감지는 신호가 허락하는 한 제어 결정에 가깝게 두고, SCADA는 그 위에 운전원용 품질을 얹는다. 제어가 알아야 할 결함을 SCADA 하나에 의존하지 않는다.
감지된 결함이 해야 할 일
결함 감지는 일의 절반이다. 대응은 포인트별로 정의해야 하며, 기본값이 아니라 진짜 공학적 결정이다.
- bad/uncertain 품질을 낸다. 그래야 모든 소비자 — HMI, 알람, 트렌드, 계산 태그, 제어 — 가 그 값을 믿을 수 없음을 안다. 이건 최소한이며 타협 불가다.
- 대체 값을 정한다. 마지막 good 값 유지, 안전 값 강제, 또는 그대로 두고 품질에 의존. 마지막 값 유지는 편하지만 제어에는 위험하다. 펌프가 계속 믿는 얼어붙은 수위는 탱크를 넘치게 할 수 있다. 값이 무엇을 구동하는지에 따라 포인트별로 고른다.
- 적절히 알람한다. 신호 결함은 공정 알람이 아니라 정비 조건이다. 운전원이 조치해야 하는 공정 알람을 묻지 않으면서, 계기를 고치는 사람에게 보이도록 라우팅한다.
- 정비용으로 기록한다. 단선과 드리프트하는 트랜스미터는 물리적 고장이다. 포인트가 언제 bad가 됐다가 돌아왔는지의 기록이, 반복해서 우회하는 대신 계기 문제를 실제로 고치게 하는 길이다.
시운전 체크리스트
대표 샘플이 아니라 각 아날로그 입력을 하나씩 점검한다. 이는 캘리브레이터가 이미 루프에 연결되어 각 상태를 주입할 수 있는 전체 아날로그 루프 체크와 자연스럽게 함께 진행된다.
- 모든 아날로그 입력의 원시 신호 종류와 정상 대역을 기록하고, 단선 표시가 중요한 곳은 4-20 mA인지 확인한다.
- 루프를 분리해 포인트가 그럴듯한 0이 아니라 bad로 가는지 확인해 저범위(단선) 감지를 검증한다.
- 신호를 풀스케일 위로 몰아 100%로의 조용한 클램핑이 아니라 보이는 과범위 상태가 뜨는지 확인해 과범위 감지를 검증한다.
- 결함 결정이 HMI·알람·트렌드·계산 태그가 모두 존중하는 태그 품질을 구동하는지 확인한다.
- 정지 값 타임아웃과 변화율 한계를 실제 신호 거동에서 정하고, 안정된 공정이 오작동으로 걸리지 않는지 확인한다.
- 값이 무엇을 제어하는지에 따라 포인트별 대체 값 — 유지, 안전 값 강제, 그대로 둠 — 을 정하고 문서화한다.
- 신호 결함 알람이 운전원 공정 알람과 분리되어 정비로 라우팅되는지 확인한다.
- 신호가 복구되면 결함이 해제되고 품질이 good으로 돌아오는지, 그 이벤트가 기록되는지 확인한다.
목표는 운전원 화면의 어떤 아날로그 값도 결함이 위장한 것이 아니게 하는 것이다. good 값은 good으로, 죽은 센서는 죽은 것으로 보이고, 제어는 더 이상 의미를 잃은 숫자를 조용히 믿지 않는다.