Modbus
测试工具:信捷 T-com
测试设备:信捷 PLC
PLC
Modbus
| 기능 코드(16 进制) | 기능 |
通讯格式:Baud rate 19200,even parity(EVEN), 데이터 bit 8 位,
注意: 以下测试地址都是十六进制地址, 实际操作需将十六进制地址转换成十
1 명 . 01
例如:读取线圈
0X4800~0X4807:PLC
send command: 01 01 48 00 00 10 2A
| 动作 | 设备号 (1 바이트) | 기능 코드 (1 바이트) | 시작ing 주소 高位(1 바이트) | 시작ing 주소 低位(1 바이트) | 总位数高位(1 바이트) | 总位数低位(1 바이트) | CRC(1 바이트) | (1 바이트) |
반환 명령 : 01 01 02 00 00 B 9 FC
| 动作 | 设备号 (1 바이트) | 기능 코드 (1 바이트) | byte count (2 Byte) | 位状态 (On/Off) | 位状态 (On/Off) | CRC(1 바이트) | (1 바이트) |
2. 03
例如
4X000~4X003 :PLC
4X00
send command:
| 동작 장치 번호 (1 바 이트) 기능 코드 (1 바 이트) 시작 주소 상 위 (1 바 이트) 시작 주소 하 위 (1 바 이트) 총 비트 상 위 (1 바 이트) 총 비트 하 위 (1 바 이트) CR C (1 바 이트) (1 바 이트) 보내 기 01 03 00 00 00 04 44 09 / / t body | ||||||||
send command: 01 03 08 00 04 00 05 00 01 00 02 CC
| 动 作 | 设备号(1 Byte) | 기능 코드(1 Byte) | byte count (1Byte) | 寄 存 器 值高位 4X00 | 寄 存 器 值低位 4X00 | register value 高位 4X01 | register value 低位 4X01 | 寄 存 器 值高位 4X02 | 寄 存 器 值低位 4X02 |
3. 05
例如
0X4800 :PLC
send command: 01 05 48 00 FF
| 动 作 | 设备号(1 바이트) | 기능 코드(1 바이트) | 起始地址高 位(1 바이트) | 起始地址低 位(1 바이트) | 总位数 高 位 (1 Byte) | 总位数 低 位 (1 Byte) | CRC(1Byte) | (1Byte) |
返回命令: 01 05 48 00 FF
| 动作 | 设备号(1 바이트) | 기능 코드(1 바이트) | 起始地址高位(1 바이트) | 起始地址低位(1 바이트) | 总位数高位(1 바이트) | 总位数低位(1 바이트) | CRC(1 바이트) | (1 바이트) |
例如:置
0X4800 :PLC
send command: 01 05 48 00 00 00 DA
| 动作 | 设备号 (1 바이트) | 기능 코드 (1 바이트) | 시작ing 주소 高位(1 바이트) | 시작ing 주소 低位(1 바이트) | 总位数高位 (1 바이트) | 总位数低位 (1 바이트) | CRC(1 바이트) | (1 바이트) |
返回命令: 01 05 48 00 00 00 DA
| 动作 | 设备号 (1 바이트) | 기능 코드 (1 바이트) | 시작ing 주소 高位(1 바이트) | 시작ing 주소 低位(1 바이트) | 总位数高位 (1 바이트) | 总位数低位 (1 바이트) | CRC(1 바이트) | (1 바이트) |
4. 06
例如
4X00 :PLC
명령 보내 기 : 01 06 00 00 00 08 88 0 C
| 动作 | 设备号 (1 바이트) | 기능 코드(1 바이트) | 시작ing 주소 高位(1 바이트) | 시작ing 주소 低位(1 바이트) | register value 高位(1 바이트) | register value 低位(1 바이트) | CRC (1 바이트) | (1 바이트) |
명령 반환 : 01 06 00 00 00 00 08 88 0 C
| 动作 | 设备号 (1 바이트) | 기능 코드(1 바이트) | 시작ing 주소 高位(1 바이트) | 시작ing 주소 低位(1 바이트) | register value 高位(1 바이트) | register value 低位(1 바이트) | CRC (1 바이트) | (1 바이트) |
5. 10
例如
4X00~4X02 :PLC
send command: 01 10 00 00 00 03 06 00 0A
| 动 作 |
| Byte) | Byte) | (1Byte) |
返回命令:
| 动作 | 设备号(1 바이트) | 기능 코드(1 바이트) | 起始地址高位(1 바이트) | 起始地址低位(1 바이트) | 寄存器总数高位(1 바이트) | 寄存器总数低位(1 바이트) | CRC(1 바이트) | (1 바이트) |
6. 0F
예 : 켜 기 0 X 48 00 ~ 0 X 480 3
0X4800~0X4807:PLC
send command: 01 0F
| 动作 | 设备号 (1 바이트) | 기능 코드 (1 바이트) | 시작ing 주소 高位(1 바이트) | 시작ing 주소 低位(1 바이트) | 位总数 高位 (1 바이트) | 位总数 低位 (1 바이트) | 寄位总 byte count (1 바이트) | 位的值 低位 (1Byte) | 位的值 高位 (1Byte) |
返回命令: 01 0F
| 动作 | 设备号 (1 바이트) | 기능 코드 (1 바이트) | 起始地址高位 (1 바이트) | 起始地址低位 (1 바이트) | 位总数高位(1 바이트) | 位总数低位(1 바이트) | CRC |
Leave a Reply