SCADA에서 인버터가 기동하지 않는 이유 — control word는 이렇게 동작한다
인버터(VFD)는 packed control word로 명령을 받고 status word로 상태를 보고한다. 둘 중 하나만 잘못 매핑해도 드라이브가 기동하지 않거나, HMI가 계속 latch하는 고장을 만든다. 둘 다 bit 단위로 해석하고 모든 전이를 증명하는 법.
글
HMI/SCADA, 산업 통신, 알람, 태그, 히스토리언을 현장 업무 흐름에 맞춰 정리한 노트입니다.
인버터(VFD)는 packed control word로 명령을 받고 status word로 상태를 보고한다. 둘 중 하나만 잘못 매핑해도 드라이브가 기동하지 않거나, HMI가 계속 latch하는 고장을 만든다. 둘 다 bit 단위로 해석하고 모든 전이를 증명하는 법.
Modbus RTU를 실어 나르는 serial-to-Ethernet 디바이스 서버를 시운전할 때 동작 모드, packing timer, TCP framing, idle timeout, half-duplex 제어를 정리한 실무 노트.
랩어라운드하는 카운터에서 가짜 유량을 만들지 않고 사용량을 계산하는 법. 레지스터 폭 정하기, 델타 보정을 한 곳에 두기, 롤오버와 리셋 구분하기, 그리고 적산이 절대 음수가 되지 않게 하기.
SCADA 드라이버가 Modbus 레지스터를 블록 읽기로 묶는 방식, gap tolerance와 블록 크기가 중요한 이유, 그리고 매핑 안 된 주소 하나가 어떻게 블록 안 모든 태그를 한꺼번에 무너뜨리는지.
Modbus TCP-RTU 게이트웨이는 Ping이 되면서도 요청을 버릴 수 있다. Stale 값 뒤에 숨은 큐 포화를 찾고, 배선 탓 대신 SCADA 드라이버를 먼저 손보는 방법.
느린 시리얼 장비가 응답할 기회를 갖도록 SCADA 링크에서 Modbus RTU baud rate, silent interval(t3.5), turnaround delay를 잡는 방법입니다.
Modbus TCP 장비의 동시 연결 수는 생각보다 적다. Client를 미리 세고, 실제 socket 동작을 확인하고, historian이 HMI를 밀어내지 않게 하는 법.
잘못 처리된 transaction ID 때문에 Modbus TCP 게이트웨이가 SCADA 드라이버에 엉뚱한 register 값을 넘겨주는 과정과, capture로 이를 증명하는 방법.
Modbus는 32-bit 값의 endianness를 표준으로 정하지 않는다. 그래서 16-bit register 두 개가 엉뚱한 값으로 디코딩된다. Driver에서 추측하지 말고 현장에서 byte/word order를 증명하는 방법.
HMI, PLC, OPC UA, Modbus TCP 통신이 끊겼다가 아무도 못 보는 사이 복구될 때, 어디서 잡고 무엇을 필터하고 첫 30초를 어떻게 읽을 것인가.
Register map을 건드리기 전에 극성, 종단, bias, grounding부터 증명하는 Modbus RTU over RS-485 시운전 방법. 실제로 중요한 숫자까지 정리했다.
Modbus unit identifier는 TCP에서는 '쓸모없다'고 하지만, gateway가 끼면 얘기가 달라진다. Serial gateway 뒤에서 unit ID routing이 어떻게 동작하는지, 그리고 내가 부른 slave가 아니라 다른 slave가 대답했을 때 원인을 찾는 법.
Modbus TCP write 응답은 transaction이 접수됐다는 의미일 뿐, 설비가 실제로 동작했다는 뜻이 아니다. Function code, permissive, readback, retry 함정까지 Modbus write에 command discipline을 붙이는 방법.
SCADA, PLC, HMI, 히스토리언, OPC UA, Modbus TCP, MQTT 방화벽 룰을 데이터 흐름에서 시작해 시운전하는 법 — 커트오버 때 터지는 보조 서비스 경로를 잡고, 각 룰을 실제 애플리케이션 시험으로 증명하는 방법.
장치 한 대가 멈추거나 RTU 게이트웨이가 포화돼도 SCADA 드라이버 전체가 같이 느려지지 않도록 Modbus TCP 폴링 주기, 타임아웃, 재시도, 스캔 그룹을 정하는 법.
Modbus 예외 응답을 프레임 단위로 읽고, 통신 불량과 요청 거절을 구분하며, 잘못된 주소·게이트웨이·폴링 부하 원인을 좁히는 방법.
소켓은 열리고 unit ID도 응답하고 폴도 정상인데 화면 값만 틀린 경우. SCADA와 히스토리안이 신뢰하기 전에 레지스터 맵을 검증하는 방법.
SCADA 네트워크 장애를 장비, 케이블, IP, 포트, 프로토콜 순서로 좁혀 가는 점검 절차입니다.
개별 태그 값을 작업자가 이해할 수 있는 설비 운영 상태로 묶는 방법을 설명합니다.
Modbus TCP를 처음 붙일 때 주소, 레지스터 타입, 워드 순서, 폴링 주기에서 자주 틀리는 지점을 정리합니다.