Skip to content

8. 附录-UFACTORY私有协议控制 ​

Modbus协议是一项应用层报文传输协议,有ASCII、RTU、TCP三种报文类型。标准Modbus协议物理层接口有RS232、RS422、RS485和以太网接口,采用master/slave方式通信。

机械爪G2使用UFACTORY私有TCP协议,与标准Modbus TCP类似但不完全相同。

私有TCP通信过程: (1)建立TCP连接 (2)准备私有TCP报文 (3)使用send命令发送报文 (4)在同一连接下等待应答 (5)使用recv命令读取报文,完成一次数据交换 (6)通信任务结束时,关闭TCP连接

参数: 默认TCP端口:502 协议标识:0x00 0x02 控制(当前只有这一个) 在本章节中,数据解析均为大端解析。

8.1 读取寄存器 ​

读取寄存器
请求指令格式
Modbus TCP 包头事务标识2 Bytes0x00,0x01
协议标识2 Bytes0x00,0x02
长度2 Bytes0x00,0x08
寄存器1 Byte0x7C
参数状态1 Byte0x00
内部使用主机 ID1 Byte0x09
Modbus RTU 数据机械爪 ID1 Byte0x08
功能码1 Byte0x03
寄存器起始地址2 BytesAddress
寄存器数量2 BytesN*
响应指令格式
Modbus TCP 包头事务标识2 Bytes0x00,0x01
协议2 Bytes0x00,0x02
长度2 Bytes6+N*x2
寄存器1 Byte0x7C
状态1 Byte0x00
内部使用主机 ID1 Byte0x09
Modbus RTU 数据机械爪 ID1 Byte0x08
功能码1 Byte0x03
字节数1 ByteN*x2
寄存器值Nx2 BytesValue

注: N* = 寄存器数量

8.2 写入寄存器 ​

写入寄存器
请求指令格式
Modbus TCP 包头事务标识2 Bytes0x00,0x01
协议2 Bytes0x00,0x02
长度2 Bytes9+Nx2
寄存器1 Byte0x7C
内部使用主机 ID1 Byte0x09
Modbus RTU 数据机械爪 ID1 Byte0x08
功能码1 Byte0x10
寄存器起始地址2 BytesAddress
寄存器数量2 BytesN*
字节数1 ByteN*x2
寄存器N*x2 BytesValue
响应指令格式
Modbus TCP 包头事务标识2 Bytes0x00,0x01
协议2 Bytes0x00,0x02
长度2 Bytes0x00,0x09
寄存器1 Byte0x7C
参数状态1 Byte0x00
内部使用主机 ID1 Byte0x09
Modbus RTU 数据机械爪 ID1 Byte0x08
功能码1 Byte0x10
寄存器起始地址2 BytesAddress
寄存器数量2 BytesN*

8.3 私有TCP协议示例 ​

  1. 写机械爪使能。地址(0x0100)
发:00 01 00 02 00 0B 7C 09 08 10 01 00 00 01 02 00 01
收:00 01 00 02 00 09 7C 00 09 08 10 01 00 00 01
  1. 写机械爪位置为400。地址(0x0700)
发:00 01 00 02 00 0D 7C 09 08 10 07 00 00 02 04 00 00 01 90
收:00 01 00 02 00 09 7C 00 09 08 10 07 00 00 02
  1. 读取报警代码。地址(0x000F)
发:00 01 00 02 00 08 7C 09 08 03 00 0F 00 01
收:00 01 00 02 00 08 7C 30 09 08 03 02 00 00
  1. 写机械爪使能,位置(850),速度(3000),力(50)。地址(0x0Cxx)
发:00 01 00 02 00 11 7C 09 08 10 0C 00 00 05 0A 00 01 0B B8 00 32 03 52
收:00 01 00 02 00 09 7C 30 09 08 10 0C 00 00 05