Modbus RTU 프레임 디코더

Modbus RTU HEX 프레임을 입력해 주소, 함수 코드, 데이터 필드, 예외 응답 여부, CRC16 Modbus 유효성을 확인하세요.

Modbus RTU HEX 프레임 파서

입력

디코드 요약

프레임 상태-
바이트 수-
슬레이브/서버 주소-
함수 코드-
함수 이름-
프레임 타입-
원래 함수 코드-
예외 코드-
예외 이름-
수신 CRC-
계산 CRC-
CRC 확인-

프레임을 붙여넣거나 예제를 선택해 디코딩을 시작하세요.

필드 파싱 결과

필드
아직 파싱된 결과가 없습니다.

RTU CRC는 low byte 먼저, high byte 다음 순서로 전송됩니다.

Modbus RTU 프레임이란?

Modbus RTU 프레임은 주소, 함수 코드, 데이터, CRC16으로 구성되며 RS-485 기반 산업 통신에서 널리 사용됩니다.

Modbus RTU 프레임 형식

RTU 프레임은 보통 HEX 바이트열로 표현합니다. 요청/응답 모두 주소와 함수 필드를 공유하고, 데이터 필드는 function code마다 달라집니다.

CRC16 Modbus 확인

CRC16 Modbus는 다항식 0xA001, 초기값 0xFFFF를 사용합니다. 이 도구는 수신 CRC와 계산 CRC를 비교합니다.

Function 03, 06, 16 디코딩

Function 03/04 요청은 시작 주소와 개수로 해석되고, Function 06은 레지스터/값 쌍, Function 16은 범위와 쓰기 데이터로 해석됩니다.

예외 응답 디코딩

예외 응답은 function code의 MSB가 설정됩니다(원래 함수 + 0x80). 예: 0x03 예외 응답 function byte는 0x83입니다.

Modbus RTU 프레임 예제

프레임 의미 설명
01 03 00 00 00 02 C4 0B시작 주소 0x0000부터 holding register 2개 읽기Function 03 요청 예제
01 06 00 01 00 64 D9 E1레지스터 0x0001에 값 0x0064 쓰기Function 06 요청/에코 응답 예제
01 10 00 01 00 02 04 00 0A 00 14 12 6E0x0001부터 레지스터 2개(0x000A, 0x0014) 쓰기CRC 검증 가능한 Function 16 요청 예제
01 83 02 C0 F1Function 0x03의 예외 응답, 코드 0x02Illegal Data Address 예제

FAQ

Modbus RTU 프레임은 어떻게 디코딩하나요?

바이트를 주소, 함수, 데이터, CRC로 분리하고 function code에 맞게 데이터 필드를 해석한 뒤 CRC16을 확인합니다.

Modbus RTU CRC는 어떻게 계산하나요?

CRC16 Modbus(다항식 0xA001, 초기값 0xFFFF)를 CRC 바이트를 제외한 전체 바이트에 적용합니다.

Modbus RTU에서 CRC 바이트 순서가 왜 반대로 보이나요?

RTU는 CRC low byte를 먼저 보내고 high byte를 나중에 보내기 때문에 16비트 표기와 순서가 달라 보일 수 있습니다.

프레임이 예외 응답인지 어떻게 알 수 있나요?

function code가 0x80 이상이면 보통 예외 응답이며, 다음 바이트가 exception code입니다.

Function code 03은 무엇을 의미하나요?

Function 03은 holding register를 읽는 요청입니다.

관련 도구