Description of Modbus RTU Communication Protocol for Xinjie Human Machine Interface

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

Description of Modbus RTU Communication Protocol for Xinjie Human Machine Interface缩略图

Modbus-RTUfunction code

0X4800~0X4807:PLC Y0~Y7 0X4810 :PLC Y10

测试设备:信捷 PLC ;                                                              

PLC 的内部软元件编号与 Modbus-RTU 地址编号请参考信捷 PLC Modbus 通讯功能章节。

Modbus 功能代码:

功能码(16 进制)功能
01读多个位
03读多个寄存器
05写单个位
06写单个寄存器
0F写多个位
10写多个寄存器

通讯格式:波特率 19200,偶校验(EVEN), 数据位 8 位,  停止位 1 位。

注意: 以下测试地址都是十六进制地址, 实际操作需将十六进制地址转换成十 进制地址输入到触摸屏中。

1.    01 功能码:  读取多个线圈位操作

例如:读取线圈 0X4800~0X4815 的位状态。

0X4800~0X4807:PLC Y0~Y7       0X4808~0X4815:PLC Y10~Y17

发送命令: 01 01 48 00 00 10 2A 66

动作设备号 (1 Byte)功能码 (1 Byte)起始地址  高位(1 Byte)起始地址  低位(1 Byte)总位数高位(1 Byte)总位数低位(1 Byte)CRC(1 Byte) (1 Byte)
发送0101480000102A66

返回命令: 01 01 02 00 00 B9 FC

动作设备号 (1 Byte)功能码 (1 Byte)字节数 (2 Byte)位状态  (On/Off)位状态  (On/Off)CRC(1 Byte) (1 Byte)
返回 ON010102FF03B80D
返回 Off0101020000B9FC

2.    03 功能码:  读取多个字操作(数据显示)

例如:读取 4X00~4X02 的数据。

4X000~4X003 :PLC D0~D2

4X00 = 4, 4X01= 5, 4X001= 1, 4X02= 2

发送命令: 01 03 00 00 00 04 44 09

动作设备号 (1 Byte)功能码 (1 Byte)起始地址  高位(1 Byte)起始地址  低位(1 Byte)总位数高位(1 Byte)总位数低位 (1 Byte)CRC(1 Byte) (1 Byte)
发送0103000000044409

发送命令: 01 03 08 00 04 00 05 00 01 00 02 CC 16

动 作设备号(1 Byte)功能码(1 Byte)字节数 (1Byte)寄 存 器 值高位 4X00寄 存 器 值低位 4X00寄存器值 高位    4X01寄存器值 低位    4X01寄 存 器 值高位 4X02寄 存 器 值低位 4X02
返 回010308000400050001
      寄存器值 高位    4X023寄存器值 低位    4X023CRC 
      0002CC16

3.    05 功能码:  写单个位操作(按钮)

例如:  置 ON 0X4800

0X4800 :PLC Y0

发送命令: 01 05 48 00 FF 00 9B 9A

动 作设备号(1 Byte)功能码(1 Byte)起始地址高 位(1 Byte)起始地址低 位(1 Byte)总位数 高 位 (1 Byte)总位数 低 位 (1 Byte)CRC(1Byte)(1Byte)
发 送01054800FF009B9A

返回命令: 01 05 48 00 FF 00 9B 9A

动作设备号(1 Byte)功能码(1 Byte)起始地址高位(1 Byte)起始地址低位(1 Byte)总位数高位(1 Byte)总位数低位(1 Byte)CRC(1 Byte)(1 Byte)
返回01054800FF009B9A

例如:置 OFF    0X4800

0X4800 :PLC Y0

发送命令: 01 05 48 00 00 00 DA 6A

动作设备号 (1 Byte)功能码 (1 Byte)起始地址  高位(1 Byte)起始地址  低位(1 Byte)总位数高位 (1 Byte)总位数低位 (1 Byte)CRC(1 Byte)(1 Byte)
发送010548000000DA6A

返回命令: 01 05 48 00 00 00 DA 6A

动作设备号 (1 Byte)功能码 (1 Byte)起始地址  高位(1 Byte)起始地址  低位(1 Byte)总位数高位 (1 Byte)总位数低位 (1 Byte)CRC(1 Byte) (1 Byte)
返回010548000000DA6A

4.    06 功能码:  写单个字操作

例如:  地址 4X00 写数据 8

4X00 :PLC D0

发送命令: 01 06 00 00 00 08 88 0C

动作设备号 (1 Byte)功能码(1 Byte)起始地址 高位(1 Byte)起始地址 低位(1 Byte)寄存器值 高位(1 Byte)寄存器值 低位(1 Byte)CRC     (1 Byte) (1 Byte)
发送010600000008880C

返回命令: 01 06 00 00 00 08 88 0C

动作设备号 (1 Byte)功能码(1 Byte)起始地址 高位(1 Byte)起始地址 低位(1 Byte)寄存器值 高位(1 Byte)寄存器值 低位(1 Byte)CRC     (1 Byte) (1 Byte)
返回010600000008880C

5.    10 功能码:  写多个字操作(数据输入写双字 Dword)

例如:  分别给地址 4X00 写数据 10, 4X01 写数据 11, 4X02 写数据 12

4X00~4X02 :PLC D0~D2

发送命令: 01 10 00 00 00 03 06 00 0A 00 0B 00 0C 0F 46

动 作设 备 号(1功 能 码(1起始地址 高位(1 Byte)起始地址 低位(1 Byte)寄存器  总数高位 (1 Byte)寄存器  总数低位 (1 Byte)寄存器  总字节数 (1 Byte)寄存器 值高位寄存器值 低位(1 Byte)
 Byte)Byte)     (1Byte) 
发 送01100000000306000A
    寄存器值 高位(1 Byte)寄存器值 低位(1 Byte)寄存器值 高位(1 Byte)寄存器值 低位(1 Byte)CRC 
    000B000C0F46

返回命令: 01 10 00 00 00 03 80 08

动作设备号(1 Byte)功能码(1 Byte)起始地址高位(1 Byte)起始地址低位(1 Byte)寄存器总数高位(1 Byte)寄存器总数低位(1 Byte)CRC(1 Byte) (1 Byte)
发送0110000000038008

6.    0F 功能码:  写多个位操作

例如:  置 ON 0X4800~0X4803

0X4800~0X4807:PLC Y0~Y7 0X4810 :PLC Y10

发送命令: 01 0F 48 00 00 09 02 FF 01 AD 48

动作设备号 (1 Byte)功能码 (1 Byte)起始地址 高位(1 Byte)起始地址 低位(1 Byte)位总数 高位  (1 Byte)位总数 低位  (1 Byte)寄位总 字节数 (1 Byte)位的值 低位  (1Byte)位的值 高位  (1Byte)
发送数据010F4800000902FF01
        CRC 
        AD48

返回命令: 01 0F 48 00 00 09 82 6D

动作设备号 (1 Byte)功能码 (1 Byte)起始地址高位 (1 Byte)起始地址低位 (1 Byte)位总数高位(1 Byte)位总数低位(1 Byte)CRC 
返回010F48000009826D
Related Tags
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.