목차

Modbus RTU Slave Address Mapping

내부 절대 주소(I, Q, D 등)를 아래와 같이 MODBUS 주소 공간에 매핑하였습니다.

주소 체계 : 0-base와 1-base

예 (1-base 기준):

즉, 주소의 앞자리 숫자만 보고도 어떤 메모리 영역인지 바로 구분할 수 있습니다.

이중 CUBLOC2에서는 Coil과 Holding Register만 사용합니다.


Coil (Bit 영역)

CUBLOC2의 비트 데이터(I, Q, M 등)는 Modbus Coil 주소로 매핑됩니다. 타이머(T), 카운터(C)는 내부적으로 32bit 데이터이지만, 접점으로 사용할 경우 완료 상태(Done Bit)가 Coil 영역에 별도 매핑됩니다.

주소 (1-base) 내부 주소 (0-base) 영역 설명
000001 ~ 000016 0 ~ 15 I Physical Input (Read Only)
000017 ~ 000032 16 ~ 31 Q Physical Output
000101 ~ 000228 100 ~ 227 S Special Relay (Read Only)
001001 ~ 001731 1000 ~ 1731 X Expansion Input (Read Only)
002001 ~ 002731 2000 ~ 2731 Y Expansion Output
004001 ~ 006048 4000 ~ 6047 M Internal Relay
007001 ~ 009048 7000 ~ 9047 R Retain Bit (Read Only)
010001 ~ 011000 10000 ~ 10999 T Timer Done Bit
011001 ~ 012000 11000 ~ 11999 C Counter Done Bit

Holding Register (Word 영역)

모든 Word 및 32bit 데이터는 Holding Register(4xxxx)에 매핑되며, 5~6 digit 표기로 통일합니다.

주소 (1-base) 내부 주소 (0-base) 영역 타입 설명
400001 ~ 408000 0 ~ 7999 D 16bit 일반 데이터
409001 ~ 409100 9000 ~ 9099 SD 16bit 시스템 데이터
410001 ~ 412000 10000 ~ 11999 T 32bit 타이머 현재값
415001 ~ 417000 15000 ~ 16999 C 32bit 카운터 현재값
420001 ~ 436000 20000 ~ 35999 DD 32bit 더블워드
440001 ~ 456000 40000 ~ 55999 DF Float 실수 데이터

Retain 영역 (정전시 유지)

Retain 영역(RD, RDD, RDF)은 Modbus에서 읽기 전용(Read Only) 입니다.

주소 (1-base) 내부 주소 (0-base) 영역 타입 설명
460001 ~ 460100 60000 ~ 60099 RD 16bit Retain (Read Only)
460301 ~ 460500 60300 ~ 60499 RDD 32bit Retain Double (Read Only)
460501 ~ 460700 60500 ~ 60699 RDF Float Retain Float (Read Only)

32bit 데이터 표현

32bit 데이터는 2개의 Holding Register를 사용합니다.

하위 워드 (Low Word) → 낮은 주소
상위 워드 (High Word) → 다음 주소

예:

DD0 = [420001, 420002]

주의 사항 : HMI(또는 SCADA)는 대부분 1-base 주소를 사용하지만, 일부 장비나 설정에 따라 0-base 주소를 요구하기도 합니다.

← CUBLOC2 목차로 돌아가기