Modbus RTU 통신 프로토콜

Apr 27, 2026 메시지를 남겨주세요

Modbus RTU 프로토콜은 산업용 장치 간의 "공통 언어"와 같아서 서로 다른 브랜드의 전기 계량기 및 센서와 같은 장치 간의 원활한 "통신"을 가능하게 합니다.

Modbus 통신 프로토콜 애플리케이션 시연

이 기사에서는 가장 간단하고 이해하기 쉬운 방식으로 에너지 계량기에 Modbus RTU를 적용하는 방법을 안내합니다. 기술적인 배경 지식이 전혀 없는 완전한 초보자라도 이 중요한 산업용 통신 프로토콜의 핵심 사항을 쉽게 파악할 수 있습니다.

The Modbus RTU protocol

Modbus RTU 프로토콜이란 무엇입니까?

Modbus RTU는 Modicon(현재 Schneider Electric의 일부)이 1979년에 PLC(Programmable Logic Controller)용으로 처음 개발한 직렬 통신 프로토콜입니다.

오늘날 이는 전 세계 400개 이상의 제조업체에서 지원하는 산업 자동화에서 가장 널리 사용되는 프로토콜 중 하나가 되었습니다.

왜 "RTU"라고 불리는가? RTU는 "Remote Terminal Unit"의 약어로, 이 프로토콜이 주로 원격 장치 간의 통신에 사용됨을 나타냅니다. 이는 간단한 요청 및 응답 메커니즘을 통해 데이터를 교환하는 전기 장비 간의 "문자 메시지 시스템"과 같습니다.

Modbus RTU는 어떻게 작동합니까?

Modbus RTU는 교실의 교사와 학생처럼 마스터{0}}슬레이브 통신 아키텍처를 사용합니다.

  • 마스터: 일반적으로 컴퓨터, PLC 또는 집중 장치인 "교사"는 질문과 명령을 시작하는 역할을 담당합니다.
  • 노예: 전기 계량기나 센서 같은 '학생'은 교사의 질문에만 대답할 수 있고 독립적으로 말할 수는 없습니다. (전기 계량기 응용 분야에서...)

Modbus RTU

Modbus RTU 메시지 형식

장치 간 "SMS 템플릿"

Modbus RTU 통신 메시지는 고정된 형식 요구 사항에 따라 세심하게 제작된 텍스트 메시지와 같습니다.

전체 Modbus RTU 메시지에는 다음 부분이 포함됩니다.

주소 코드 기능 코드 데이터 필드 코드 확인
8비트 8비트 N × 8비트 16비트
  • 주소 코드(1바이트): "수신자의 전화번호"와 동일하며 대상 에너지 측정기의 주소(1-247)를 식별하며 0은 브로드캐스트 주소입니다.
  • 기능 코드(1바이트): 에너지 측정기에 수행할 작업(예: 데이터 읽기, 데이터 쓰기 등)을 지시하는 "텍스트 메시지 유형"과 동일합니다.
  • 데이터 필드(N 바이트): 레지스터 주소, 데이터 값 등과 같이 전송될 특정 정보입니다.
  • CRC 체크섬(2바이트): 전송 중 오류를 확인하는 데 사용되는 "위조 방지 코드"와 동일합니다.

UBS 에너지 측정기에서 총 양의 활성 에너지 데이터를 읽는 일반적인 메시지는 다음과 같습니다.

[주소 00][기능 코드 03][시작 주소 00 0C][읽기 길이 00 02][CRC 체크섬 05 D9]

이는 "모든 미터, 레지스터 1부터 시작하여 레지스터 000C의 데이터를 읽으십시오."라고 말하는 것과 같습니다.

메시지를 받은 후 측정기 #1은 다음과 같이 응답합니다.

[주소 01][기능 코드 03][데이터 길이 04][데이터 00 00 00 00][CRC 체크섬 FA 33]
이는 "미터 #1이 응답했습니다. 읽은 총 양의 활성 에너지 데이터 값은 00 00 00 00(16진수)"입니다. (참고: 이 미터 #1은 사용되지 않은 새 미터입니다.) 아래 이미지는 테스트 데모입니다.

Modbus RTU Message Format

전기 계량기의 "데이터 북": 레지스터 설명

Modbus RTU 프로토콜에서 전기 계량기의 모든 데이터는 "스프레드시트"-레지스터에 저장됩니다. 레지스터는 크게 네 가지 유형으로 나뉜다.

레지스터 유형 읽기/쓰기 권한 기능 코드 일반적인 저장 콘텐츠
코일 레지스터 읽기/쓰기 01, 05 릴레이 상태, 스위치 제어
개별 입력 레지스터 읽기{0}}전용 02 디지털 입력(예: 경보 신호)
입력 레지스터 읽기{0}}전용 04 실시간{0}}측정 데이터(전압, 전류 등)
보유 명부 읽기/쓰기 03, 06 장치 매개변수, 축적된 에너지 등

전기 계량기 애플리케이션에서 가장 일반적인 레지스터는 다음과 같습니다.

입력 레지스터

(기능 코드 04H): 전압, 전류, 전력 등 실시간 측정된-데이터를 저장합니다.

보유 명부

(기능 코드 03H): 누적 전력 소비량, 장치 매개 변수 등을 저장합니다.

UBS 에너지 미터 Modbus 레지스터 주소 정보 테이블

Modbus 프로토콜 브로드캐스트 주소는 0x00입니다. UBS 에너지 미터에 대한 자세한 Modbus 프로토콜 레지스터 주소 정보는 아래 표를 참조하십시오.

레지스터(16진수) 변수 이름 속성(단위/R/W) 데이터 유형 세다 비고
0x0000 DC 전압 단위: V, R/W: RO S16 1 범위: -9999~9999;=유효값 × 10^(소수점) 읽기
0x0001 전압 소수점 단위: 없음, R/W: RO U16 1 고정값: 0
0x0002 DC 전류 값 단위: A, R/W: RO S16 1 범위: -9999~9999
0x0003 현재 소수점 단위: 없음, R/W: RO U16 1 고정값: 1
0x0008 전력 값 단위: kW, R/W: RO S16 1 범위: -9999~9999
0x0009 거듭제곱 소수점 단위: 없음, R/W: RO U16 1 고정값: 1
0x000C 총 순방향 활성 에너지 단위: 0.001kWh, R/W: RO U32 2 높은 바이트가 먼저, 낮은 바이트가 마지막에 옵니다. 예: 데이터를 읽으면=5000 소수점=2 → 실제값=5000 × 10^(2-3)=500.0
0x203C 채널 1 전압 단위: 0.0001V, R/W: RO I32 2 높은 바이트가 먼저, 낮은 바이트가 마지막에
0x203E 채널 2 전압 단위: 0.0001V, R/W: RO I32 2 항상 0
0x2040 채널 1 전류 단위: 0.0001A, R/W: RO I32 2 높은 바이트가 먼저, 낮은 바이트가 마지막에
0x2042 채널 2 전류 단위: 0.0001A, R/W: RO I32 2 항상 0
0x2044 채널 1 전원 단위: 0.0001kW, R/W: RO I32 2 높은 바이트가 먼저, 낮은 바이트가 마지막에
0x2046 채널 2 전원 단위: 0.0001kW, R/W: RO I32 2 항상 0
0x9A00 순방향 활성 총 에너지 단위: kWh, R/W: RO 뜨다 2
0xA001/0x8900 장치 주소 단위: 없음, R/W: RW U16 1 범위: 0~247

UBS 에너지 미터 메시지 읽기 시연

UBS 에너지 미터 호스트 컴퓨터 소프트웨어를 사용하여 DJZ1226 DC 스마트 에너지 미터에서 총 포지티브 활성 에너지, 전압, 전류, 전력 및 미터 주소와 같은 데이터를 읽습니다.

Demonstration Of Reading UBS Energy Meter Messages

위의 그림과 같이 호스트 컴퓨터가 주고받는 자세한 메시지 내용은 다음과 같습니다.

13:25:30.229 총양활성에너지(000C0002) ...

13:25:30.256 ▼보내기:00 03 00 0C 00 02 05 D9

13:25:30.344 ▲수신:01 03 04 00 00 00 00 FA 33

13:25:30.359 직류전압(00000002) ...

13:25:30.424 ▼보내기:00 03 00 00 00 02 C5 DA

13:25:30.428 ▲수신:01 03 04 00 17 00 03 0A 36

13:25:30.494 직류전류(00020002) ...

13:25:30.522 ▼보내기:00 03 00 02 00 02 64 1A

13:25:30.610 ▲수신:01 03 04 00 30 00 02 7B FD

13:25:30.621 전원(00080002) ...

13:25:30.682 ▼보내기:00 03 00 08 00 02 44 18

13:25:30.690 ▲수신:01 03 04 00 01 00 02 2A 32

13:25:30.702 통신주소 2(A0010001) ...

13:25:30.779 ▼보내기:00 03 A0 01 00 01 F6 1B

13:25:30.783 ▲수신:01 03 02 00 01 79 84

13:25:30.795 데이터 읽기가 종료되었습니다.

일반적인 문제 및 문제 해결 기술

Modbus RTU 프로토콜은 상대적으로 간단하지만 실제 응용 분야에서는 여전히 다양한 문제가 발생할 수 있습니다. 다음은 전기 계량기 통신의 일반적인 결함과 해결 방법입니다.

통신 응답 없음

● 물리적 연결을 확인하세요.

▪ RS-485 배선이 올바른지(A/B 선 반전)?

▪ 종단 저항이 일치합니까(일반적으로 버스의 각 끝에 120Ω 저항을 연결합니다)?

▪ 통신거리가 한도를 초과하였는가?(RS-485는 이론적으로 1200미터까지 도달할 수 있으나, 실제 거리는 환경요인에 따라 영향을 받음).

● 매개변수 설정 확인:

▪ 전송 속도, 데이터 비트, 정지 비트 및 패리티 설정이 전력량계와 일치합니까?

▪ 장치 주소가 올바르게 설정되어 있습니까(중복 주소 없음)?

간헐적인 통신

● 회선 간섭 확인:

▪ 연선-차폐 케이블을 사용하고 차폐의 한쪽 끝이 접지되었는지 확인하세요.

▪ 케이블을 고전압 케이블과 평행하게 연결하지- 마세요.

● 개별 장치 테스트:

▪ 각 전기 계량기를 개별적으로 연결하여 결함이 있는 장치의 문제를 해결합니다.

▪ UBS Electronics의 전용 호스트 컴퓨터 소프트웨어(예: AMS)를 사용하여 전력량계와 직접 통신하고 문제를 정확히 찾아냅니다.

데이터 오류

● CRC 확인 확인:

▪ 송수신된 CRC 코드가 일치하는지 확인하세요.

▪ 데이터 바이트 순서를 확인합니다(Modbus RTU는 일반적으로 리틀-엔디안입니다).

● 레지스터 매핑 확인:

▪ 사용된 레지스터 주소가 전기 계량기 설명서와 일치하는지 확인하십시오.

▪ 레지스터 주소 오프셋을 기록해 두십시오.

이 문서에 언급된 UBS 호스트 컴퓨터 소프트웨어(Modbus RTU 프로토콜)를 사용해야 하는 경우 UBS 전기 계량기 주문 담당자에게 문의하여 추가 판매 후 기술 지원을 받으세요.-

문의 보내기