WirelessHART 데이터를 SCADA로 가져올 때 멈춘 값에 속지 않는 법
WirelessHART 게이트웨이 데이터를 SCADA에 올리는 법. 업데이트 주기와 폴링, stale 값 검출, Modbus 매핑 함정, join 문제, 네트워크 점검.
글
HMI/SCADA, 산업 통신, 알람, 태그, 히스토리언을 현장 업무 흐름에 맞춰 정리한 노트입니다.
WirelessHART 게이트웨이 데이터를 SCADA에 올리는 법. 업데이트 주기와 폴링, stale 값 검출, Modbus 매핑 함정, join 문제, 네트워크 점검.
SCADA에서 가스 유량의 압력·온도 보정을 다룹니다. 어떤 유량계에 필요한지, 절대압 함정, 계산을 어디에 둘지, 압력 트랜스미터가 죽으면 어떻게 할지.
strapping table을 SCADA에 넣는 실무 — 원형 세그먼트 기하, 보간 간격, 계산을 어느 계층에 둘지, 그리고 정수압 레벨이 재고를 속이는 밀도 함정까지.
리밋 스위치 두 개와 이송 타이머로 SCADA에서 정직한 밸브 상태를 만드는 법 — 이동 중 처리, 불일치 알람, 그리고 느려지는 액추에이터를 몇 달 먼저 잡아내는 방법.
LTE 위 SCADA의 poll 주기·timeout·keepalive 정하기. 바이트 계산, 통신사 NAT timeout, report-by-exception.
비율 제어는 한 스트림이 속도를 정하고 다른 하나가 따라간다. 곱셈기 위치, 비율이 벗어나는 이유, 규격 이탈 없이 기동하는 법.
PID 하나로 가열·냉각 밸브를 구동하면 전환점에서 루프가 멈추거나 헌팅한다. 스플릿 지점을 mA로 잡는 법, 지점을 옮기면 게인이 어떻게 변하는지, ANSI/FCI 70-2 Class IV 밸브가 닫혀도 닫힌 게 아닌 이유.
캐스케이드 제어는 튜닝 순서가 틀리거나 슬레이브 한계를 마스터가 모르면 실패한다. 두 PID 루프가 싸우지 않게 시운전하는 법.
오리피스 DP는 유량의 제곱에 비례하므로 누군가는 제곱근을 취해야 한다 — 트랜스미터, PLC, 아니면 SCADA. 두 번 취하거나 저유량 컷오프를 빼먹으면 값이 거짓말을 한다.
NTP는 SCADA 시계를 몇 ms 안에 맞추고 대개 그걸로 충분하다. 변전소 간 1 ms SOE가 필요할 때 PTP가 값을 하는 곳과 과잉인 곳.
센서와 SCADA 태그 사이 어디에서 온도 선형화와 냉접점 보상이 실제로 일어나는지, 그리고 엉뚱한 곳에서 처리하면 왜 믿고 쓰는 값이 조용히 편향되는지.
떨리는 4-20 mA 값을 1차 필터와 이동 평균으로 다듬는 법, 필터를 어디에 둘지, 그리고 엉뚱한 태그를 필터링하면 왜 정작 필요한 알람이 늦어지는지.
가동 중인 PLC 래더를 안전하게 바꾸는 법. 온라인 편집과 다운로드, 스캔 순서 함정, seal-in 글리치, 포스, 사전 점검표.
SCADA가 BACnet 장치를 찾고 present-value를 읽고 쓰는 법. 객체 식별자, 16슬롯 우선순위 배열, COV 대 폴링, BBMD.
GOOSE stNum/sqNum, allowedToLive, VLAN 우선순위, ConfRev가 차단기 트립이 SCADA에 닿을지 정한다. 구독이 살아 있는지 증명하는 법.
BRCB와 URCB가 변전소 데이터를 SCADA로 보내는 방식. 데이터셋, 트리거 옵션, 버퍼 시간, ConfRev, 클라이언트를 굶기는 reservation 다툼.
DNP3 double-bit input(group 3·4)은 52a/52b 접점을 네 상태로 인코딩해 동작 중 OPEN/CLOSED 깜빡임을 없앤다. 매핑·시운전·경보 설정.
DNP3 SAv5 시운전: critical 기능 지정, 느린 회선의 challenge-response와 aggressive mode, update·session key.
포화, 수동→자동 전환, 기동 램프 뒤 오버슈트는 reset windup이다. anti-windup, external reset, bumpless transfer로 잡는다.
PLC UDT가 OPC UA 클라이언트에서 ByteString으로 보인다. ExtensionObject 안에 든 것과 구조화 DataType 디코딩법.
SCADA 드라이버가 EtherNet/IP로 Logix 태그를 읽는 방식. connected와 unconnected CIP, RPI, 연결 예산, 배열 읽기가 나은 이유.
포트 2404로 TCP가 붙었고 RTU도 살아 있는데 SCADA의 모든 포인트가 여전히 정지 상태다. 해답은 대개 보내지 않은 STARTDT와 총괄 심문(GI)이다.
모든 DNP3 응답에 붙는 두 옥텟의 IIN은 재시작, 잃어버린 이벤트, 없는 시간, 로컬 제어를 알려준다. 이 비트를 읽는 법과 사라지지 않는 비트를 지우는 법을 정리한다.
멀티플렉서, HART 지원 I/O, WirelessHART 게이트웨이로 4-20 mA 루프 너머의 HART 보조 변수와 진단 정보를 SCADA로 끌어오는 방법.
VFD control word나 status word를 하나만 잘못 매핑해도 기동이 안 되거나 고장이 latch된다. bit 단위 해석과 전이 증명법.
데드밴드는 아날로그 변화를 이벤트로 만들지 정하고, Group 32 변형은 형식을 정한다. 이벤트 버퍼 넘침과 쓸모없는 타임스탬프를 막는 튜닝.
Hot-standby PLC는 전환이 증명되고 동기화 상실에 알람이 있어야 값을 한다. CPU 이중화가 막는 것과 못 막는 것, 양방향 전환 시험.
현장 계기에서 PLC를 거쳐 SCADA까지 모든 4-20 mA 포인트를 처음부터 끝까지 검증하고, 뒤바뀐 두 트랜스미터를 시운전 후가 아니라 전에 잡아내는 방법.
단선, 포화, 얼어붙은 입력도 그럴듯한 숫자가 된다. 과범위·저범위·정지된 4-20 mA 신호를 운전원과 제어 루프 전에 감지하는 법.
DNP3 Class 0/1/2/3 배정, 아날로그 데드밴드, 비요청 응답, 이벤트 버퍼, 통신 두절 때 마스터 판단을 바꾸는 IIN 비트까지.
멈추는 DNP3 회선, 흘린 프레임, CRC 오류는 데이터 링크 계층에서 잡는다. 주소, 확인 서비스, 재시도·타임아웃, keep-alive 튜닝.
DNP3 제어 시운전: SBO와 direct operate 선택, CROB 코드 읽기, 느린 회선의 select 타임아웃, 피드백으로 검증하는 법.
DNP3 outstation이 이벤트에 직접 타임스탬프를 찍는 이유, Need Time(IIN1.4)과 지연 보정 시각 쓰기, 시각 동기 불량이 SOE를 망치는 과정.
OPC UA HistoryRead로 누락 구간 복구: 구간 지정, returnBounds 경계 샘플, Bad 품질 보존, continuation point 페이징.
알람 priority를 결과 영향과 운전자 대응 시간으로 매기는 법. High priority를 드물게 지키는 EEMUA 191, ISA-18.2 목표치까지.
Exception과 periodic 수집은 서로 다른 사실을 저장한다. 300 ms interlock을 잃지 않게 tag별로 고르고 시운전에서 증명하는 법.
Modbus는 32-bit 값의 endianness를 정하지 않아 register 두 개가 엉뚱하게 디코딩된다. byte/word order를 현장에서 증명하는 법.
ping도 되고 4840도 열렸는데 OPC UA 접속이 실패하면 대개 endpoint URL, SAN, ApplicationUri 불일치다. status code로 고친다.
SCADA 시운전에서 태그, 화면, 알람, 트렌드, 권한, 장애 상황을 확인하는 실무 체크리스트입니다.