Modbus RTU HEX 프레임 파서
입력
디코드 요약
프레임을 붙여넣거나 예제를 선택해 디코딩을 시작하세요.
필드 파싱 결과
| 필드 | 값 |
|---|---|
| 아직 파싱된 결과가 없습니다. | |
RTU CRC는 low byte 먼저, high byte 다음 순서로 전송됩니다.
Modbus RTU HEX 프레임을 입력해 주소, 함수 코드, 데이터 필드, 예외 응답 여부, CRC16 Modbus 유효성을 확인하세요.
프레임을 붙여넣거나 예제를 선택해 디코딩을 시작하세요.
| 필드 | 값 |
|---|---|
| 아직 파싱된 결과가 없습니다. | |
RTU CRC는 low byte 먼저, high byte 다음 순서로 전송됩니다.
Modbus RTU 프레임은 주소, 함수 코드, 데이터, CRC16으로 구성되며 RS-485 기반 산업 통신에서 널리 사용됩니다.
RTU 프레임은 보통 HEX 바이트열로 표현합니다. 요청/응답 모두 주소와 함수 필드를 공유하고, 데이터 필드는 function code마다 달라집니다.
CRC16 Modbus는 다항식 0xA001, 초기값 0xFFFF를 사용합니다. 이 도구는 수신 CRC와 계산 CRC를 비교합니다.
Function 03/04 요청은 시작 주소와 개수로 해석되고, Function 06은 레지스터/값 쌍, Function 16은 범위와 쓰기 데이터로 해석됩니다.
예외 응답은 function code의 MSB가 설정됩니다(원래 함수 + 0x80). 예: 0x03 예외 응답 function byte는 0x83입니다.
| 프레임 | 의미 | 설명 |
|---|---|---|
| 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 6E | 0x0001부터 레지스터 2개(0x000A, 0x0014) 쓰기 | CRC 검증 가능한 Function 16 요청 예제 |
| 01 83 02 C0 F1 | Function 0x03의 예외 응답, 코드 0x02 | Illegal Data Address 예제 |
바이트를 주소, 함수, 데이터, CRC로 분리하고 function code에 맞게 데이터 필드를 해석한 뒤 CRC16을 확인합니다.
CRC16 Modbus(다항식 0xA001, 초기값 0xFFFF)를 CRC 바이트를 제외한 전체 바이트에 적용합니다.
RTU는 CRC low byte를 먼저 보내고 high byte를 나중에 보내기 때문에 16비트 표기와 순서가 달라 보일 수 있습니다.
function code가 0x80 이상이면 보통 예외 응답이며, 다음 바이트가 exception code입니다.
Function 03은 holding register를 읽는 요청입니다.