Protocol/모드버스

모드 버스 패킷 분석

S210530 2021. 6. 6. 17:47

패킷 구성(Read)
- 마스터

Address : slave ID
Function : Function Code
Start H : 주소 High 바이트
Start L : 주소 Low 바이트
Count H : 데이터 High 바이트
Count L : 데이터 Low 바이트
CRC L : CRC Low 바이트
CRC H : CRC High 바이트

Start H + Start L : 몇번지의 값부터 요청 할 것인지에 대한 정보
Count H + Count L 해서 몇개의 데이터를 요청 할 것인지에 대한 정보
CRC L + CRC H : 마스터가 보내는 패킷의 CRC값

해석 : 슬레이브 ID가 0x01인 슬레이브에게 Function Code 0x04를 0000번지부터 000A만큼 데이터 개수를 요청한다

- 슬레이브

A : slave ID
F : Function Code
L : 데이터 길이
1~10 : 각 번지에 저장되어 있는 정보

패킷 구성(Write)
- 마스터

해석 : 슬레이브 ID가 1인 슬레이브에게 Function Code 10(16진수)을 0000번지부터 3개(0000, 0001, 0002)에 데이터를 6Byte를 쓰겠다. 0번지부터 0004, 0005, 0006값을 쓴다. + CRC 2Byte

- 슬레이브

해석 : 슬레이브 ID 01, Function Code 10(16진수), 0000 번지부터 3개 변경완료 + CRC 2Byte

cf) Function Code