PortDock

Modbus 응답이 없을 때 — 점검 순서 (RTU·TCP)

타임아웃만 날 때 무엇부터 볼까. 통신 기록에 무엇이 돌아오는지로 범위를 좁히고 국번·속도·패리티·배선, IP·포트·Unit ID, 장비 쪽 Modbus 설정 순서로 확인합니다.

마스터가 요청을 보냈는데 아무것도 오지 않으면 화면에는 «타임아웃» 한 줄만 남습니다. 원인은 배선부터 장비 설정까지 여러 층에 있으므로, 통신 기록을 보고 범위부터 좁히는 것이 빠릅니다. 아래 순서는 PortDock Modbus Master 도움말의 문제 해결 항목과, 이 사이트의 장비 레지스터 맵을 만들며 매뉴얼에서 확인한 사례를 묶은 것입니다.

0. 먼저: 무엇이라도 돌아오는가

통신 기록뜻볼 곳
TX 만 있고 RX 가 전혀 없음장비가 요청을 못 알아들었거나, 자기 것이 아니라고 봄1 ~ 5
RX 는 오는데 CRC 오류바이트는 오가지만 깨짐2(속도·패리티), RS-485 배선
보낸 바이트가 그대로 돌아옴2선식 RS-485 변환기의 에코변환기 설정(PortDock Modbus Master 는 에코를 알아서 건너뜀)
예외 응답(함수 + 0x80)통신은 정상, 요청 내용이 장비와 안 맞음6
가끔만 타임아웃타이밍·잡음7

1. 국번(슬레이브 ID)

요청의 첫 바이트가 장비 국번과 다르면 장비는 오류도 없이 조용히 무시합니다. 장비 설정 메뉴의 국번을 확인하고, 모르면 국번을 차례로 물어봅니다(PortDock Modbus Master «찾기… → 국번 찾기», 국번마다 기다림 기본 200 ms — 예외로 답해도 «장비 있음» 으로 봅니다). 국번 0 은 브로드캐스트라서 장비가 받아도 답하지 않습니다.

2. 속도·데이터 비트·패리티·정지 비트

하나라도 다르면 장비가 바이트를 제대로 읽지 못해 답하지 않거나, 답이 와도 CRC 가 틀립니다. 출하값은 장비마다 다릅니다. 이 사이트의 장비 10종만 봐도 9600 bps 가 많지만 LS ELECTRIC GIMAC1000 은 38400 bps, 루텍 Accura 3300E·2300 은 짝수 패리티, 오토닉스 TK·TX·MT4W 는 정지 비트 2 가 출하값입니다.

Modbus 시리얼 규격은 짝수 패리티를 기본으로 하고 패리티를 쓰지 않으면 정지 비트 2 를 쓰도록 정하지만, 8N1 로 출하되는 장비도 많습니다. 규격이 아니라 장비 매뉴얼 값을 따르세요. 장비 페이지 맨 위 «통신 기본값» 표에 매뉴얼 쪽 번호와 함께 정리해 두었습니다.

3. 배선과 변환기 (RTU)

4. 장비 쪽 Modbus 설정

통신 포트가 있어도 출하 때 Modbus 가 아닌 프로토콜로 맞춰진 장비가 있습니다. 예를 들어 한영넉스 VX 는 공장 초기값이 PC Link 이고, Modbus RTU 로 쓰려면 프로토콜 설정(PRS)을 3 으로 바꿔야 합니다(매뉴얼 p.103~104). LS ELECTRIC LSLV-S100 은 통신 그룹 CM.01~CM.04 에 국번·프로토콜·속도·데이터 형식이 있고 출하값은 국번 1, Modbus-RTU, 9600 bps, 8N1 입니다(매뉴얼 p.281). 설정 메뉴의 이름과 위치는 장비 페이지의 «통신 기본값» 아래 메모에 쪽 번호와 함께 있습니다.

5. Modbus TCP 라면

6. 예외 응답이 온다면

예외뜻흔한 원인
01지원하지 않는 함수장비에 없는 함수 코드. 예: 루텍 Accura 3300E 는 03·06·16 만 지원
02없는 주소0 기준과 1 기준·40001 표기 혼동, 개수가 범위를 넘음, 사이에 빈 주소
03잘못된 값개수가 한도를 넘음(규격상 레지스터 읽기 125개, 장비가 더 적은 경우도 있음), 쓴 값이 범위 밖
04장비 내부 오류장비 상태·매뉴얼의 오류 항목 확인
06장비 바쁨요청 간격을 늘림

읽기는 되는데 쓰기만 예외가 난다면 장비의 쓰기 잠금을 봅니다. 한영넉스 LC 는 통신 쓰기 금지(CWP)가 출하 때 ON 이라, 앞판에서 OFF 로 바꾸기 전까지 쓰기 요청에 예외로 답합니다(매뉴얼 p.31·p.34). 한 번에 읽는 개수도 장비마다 한도가 따로 있습니다 — LS ELECTRIC GIMAC1000 은 124개, 한영넉스 VX 는 FC03 으로 31개까지입니다.

7. 가끔만 타임아웃이 난다면

장비 없이 마스터부터 확인하기

마스터 프로그램 쪽이 의심되면 실제 장비 대신 PortDock Modbus Slave 를 상대로 붙여 봅니다. 같은 PC 라면 Slave 를 Modbus TCP 서버(포트 502 또는 1502)로 켜고 마스터를 127.0.0.1 로 연결합니다. Slave 의 장애 주입(응답 지연·무응답·예외·CRC 틀림)으로 마스터가 타임아웃·재시도를 어떻게 처리하는지도 미리 볼 수 있습니다.

작성 2026-10-19