본문으로 건너뛰기

Modbus TCP

Modbus 는 가장 오래되고 가장 널리 쓰이는 산업 통신 규약입니다. 거의 모든 계측기 / 인버터 / 일반 산업 장비가 Modbus 를 지원합니다.

이 게이트웨이는 Modbus TCP (이더넷) 와 Modbus UDP 를 지원합니다. 시리얼 (RS-485) 만 있는 장비는 Modbus 게이트웨이 (RS-485 → 이더넷) 를 거쳐야 합니다.


등록 폼 입력값

입력 칸무엇을 적나요예시
IP 주소Modbus 슬레이브의 IP192.168.0.50
포트Modbus 포트502 (표준)
응답 타임아웃 (request-timeout)슬레이브 응답을 기다릴 최대 시간 (ms)5000 (5초)

Modbus 는 사용자 / 비밀번호 개념이 없습니다. IP 가 닿으면 누구나 값을 읽을 수 있습니다.


태그의 PLC 주소 표기

Modbus 는 메모리 영역별로 다음 4 가지 종류가 있습니다.

영역표기 시작의미
Holding Registerholding-register:N16-bit, 읽기/쓰기 — 가장 흔함
Input Registerinput-register:N16-bit, 읽기 전용
Coilcoil:N1 비트, 읽기/쓰기
Discrete Inputdiscrete-input:N1 비트, 읽기 전용

N 은 슬레이브 매뉴얼에 적힌 주소 번호입니다 (보통 1 부터 시작).

자료형까지 명시한 표기

같은 메모리 영역이라도 16-bit / 32-bit / 실수 / 문자열 등으로 해석이 다를 수 있어 자료형을 함께 적어줄 수 있습니다.

표기의미
holding-register:1그냥 16-bit 정수 (signed)
holding-register:1:UINT16-bit 부호없는 정수
holding-register:1:DINT32-bit 정수 (메모리 두 칸 차지)
holding-register:1:REAL32-bit 실수 (메모리 두 칸 차지)
holding-register:1:LREAL64-bit 실수 (메모리 네 칸 차지)
holding-register:100:STRING[10]100~109 의 ASCII 문자열
coil:1코일 1번 (1 비트)

자료형을 명시하지 않으면 16-bit 정수로 해석됩니다. 32-bit 이상 값이면 반드시 명시하세요.


데이터 형식 / 형식 보조

태그 등록 의 [데이터 형식] 과 [형식 보조] 칸은 다음과 같이 매칭하시면 편합니다.

PLC 의 값데이터 형식형식 보조PLC 주소 예
코일 / 비트 입력Boolean(비움)coil:1 또는 discrete-input:1
16-bit 정수Integer(비움)holding-register:1
16-bit 부호없는 정수IntegerUIholding-register:1:UINT
32-bit 정수IntegerDWholding-register:1:DINT
32-bit 실수 (가장 흔함)FloatREALholding-register:1:REAL
64-bit 실수DoubleLREALholding-register:1:LREAL
문자열 N 글자StringSTR[N]holding-register:10:STRING[N]

흔한 문제와 해결

증상 / 메시지가능한 원인해결
“Read timeout” / 응답이 늦음슬레이브 응답 지연, 케이블 / 방화벽 / 포트(502) 막힘ping, telnet <ip> 502 으로 도달성 확인. 응답 타임아웃을 늘려 시도
잘못된 주소 표기 (Invalid address)형식 오타holding-register:1 처럼 콜론 정확히
값이 항상 0 만 나옴영역 종류 mismatch (holding 인데 input 으로 읽음 등)슬레이브 매뉴얼에서 “FC 03 / 04 / 01 / 02” 중 어느 것인지 확인
32-bit 실수가 깨져서 나옴슬레이브의 byte / word 순서가 다름슬레이브가 little-endian 이면 자료형을 :UDINT_LSWORD_FIRST 등으로 변경

byte 순서 문제는 슬레이브 제조사마다 달라 매뉴얼을 보거나 다른 도구 (Modbus Poll 등) 로 비교 검증하시는 게 가장 빠릅니다.


시뮬레이터로 시험해보기

PLC 가 없어도 Modbus 시뮬레이터로 동작 검증을 할 수 있습니다.

  • [연결 추가] 시 카드 목록에서 시뮬레이터 → Modbus 시뮬레이터 를 선택하면 게이트웨이가 자동으로 시뮬레이터 프로세스를 띄우고 연결합니다.
  • 별도의 외부 도구 없이 곧바로 holding register 에 가짜 값이 들어옵니다.

더 자세한 예제 / 자동화 등록

고급 — REST API 의 Modbus 예제를 참고하세요.