TorqueWrench/文档.txt

425 lines
14 KiB
Plaintext
Raw Normal View History

2026-01-19 16:59:52 +08:00
App3定扭矩扳手通讯协议(C协议)
一、通讯参数说明
1、装置端与上位端以TCP/IP连接传输报文装置端可以是Server端也可以是Client端
二、报文格式说明
报文格式
报文头
2字节 地址码
1字节 功能码
1字节 保留
2字节 数据长度
1字节 数据内容
校验码(累加和)
1字节
0xC5 0xC5 0x01 0x01 0xFF 0xFF XX XX… XX XX
报文头: 0xC5 0xC5
地址码: 表示每台装置的地址
功能码:表示该帧报文的功能类型定义
保留保留2字节今后扩展使用
数据长度:表示后面数据内容的长度,不包含报文头、地址码、功能码、保留字节和校验码
数据内容:根据功能码有不同数据定义
校验码:从报文头开始到数据内容结束的单字节累加和
三、功能码说明
1、功能吗0x11启停远程控制启用远程控制后锂电扳手才会接受远程启停控制(App->扳手)
2、功能码0x01扳手启停控制 (App->扳手) 此指令在启动远程控制0x11帧后生效
3、功能码0x06作为接收方应答发送方使用
4、功能码0x10 参数设置 (App -> 扳手)
5、功能码0x12: 每秒钟扭矩角度数据(扳手->App)
6、功能吗0x15: 运行结果反馈,在锂电扳手每次运行结束后发出该报文(扳手->App)
7、功能码0x21: 扳手请求对时(扳手->App)
8、功能码0x22: App发送对时报文(App -> 扳手)
9、功能码 0x33: 设备延时自动关机心跳报文(App -> 扳手), 每分钟向设备发送,保证设备不自动断电
10、功能码0x44设备GPS定位周期发送上电后一直发送包含信息是否有效、经度、纬度、高度
11、功能码 0x04电池电量百分比数据 (此帧可作为心跳包定时发送)
12、功能码0x50: 脉冲、离合、冲击扳手参数设置
13、功能码0x55: 脉冲、离合、冲击扳手执行结果反馈
脉冲、离合、冲击扳手运行过程扭矩数据同0x12帧
14、功能码0x23扳手发送复位螺母个数选择项
15、功能码0x25查询扳手SN码
16、功能码0x26 应答扳手SN码
17、功能码0x17: 发送结果反馈帧0x15确认(App -> 扳手)
18、功能码0x05: 发状态到APP
四、报文内容
1、功能码0x11:启动/停止远程控制
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x11
5-6 保留 0xFF 0xFF
7 数据长度 0x01
8 数据内容 0xXX 0x00停止远程控制
0x01启用远程控制
9 校验码(累加和) 0xXX
报文示例:
C5 C5 01 11 FF FF 01 01 9C
2、功能码0x01:启停控制
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x01
5-6 保留 0xFF 0xFF
7 数据长度 0x01
8 数据内容 0xXX 0x00停止STOP
0x01正转启动RUN
0x02反转启动RUN
9 校验码(累加和) 0xXX
报文示例:
C5 C5 01 01 FF FF 01 02 8D
3、功能码0x06: 应答控制
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x06
5-6 保留 0xFF 0xFF
7 数据长度 0x01
8 数据内容 0xXX 0x00应答ACK
0x01应答NAK
9 校验码(累加和) 1字节
报文示例:
C5 C5 01 06 FF FF 01 00 90
4、 功能码0x10: 参数设置(App -> 扳手)
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x10
5-6 反退角 0xFF 0xFF
7 数据长度 0x50
8-17 产品ID 10字节 ASCII码,不足补0
18-37 工位名称 20字节 中英字符,不足补0
38-47 员工号 10字节 ASCII码,不足补0
48-57 工具系列号 10字节 ASCII码, 不足补0
58-67 控制器系列号 10字节 ASCII码, 不足补0
68-69 时间-年 2字节
70 时间-月 1字节
71 时间-日 1字节
72 时间-小时 1字节
73 时间-分钟 1字节
74 时间-秒 1字节
75 参数模式 1字节 M1模式0x01 M2模式0x02
76-77 目标扭矩高位
目标扭矩低位 2字节 此参数为目标扭矩 此参数为预设扭矩
78-79 扭矩下限高位
扭矩下限低位 2字节 目标扭矩下限值
次值为=目标扭矩*1-A
A为扭矩偏差百分比 扭矩下限值
目标角度执行过程中超出扭矩上下限值即停机如填0不受上下限扭矩控制
80-81 扭矩上限高位
扭矩上限低位 2字节 目标扭矩上限值
次值为=目标扭矩*1+A
A为扭矩偏差百分比 扭矩上限值
目标角度执行过程中超出扭矩上下限值即停机如填0不受上下限扭矩控制
82-83 目标角度高位
目标角度低位 2字节
0x00
0x00 目标角度值
84-85 角度上限高位
角度上限低位 2字节
角度上限值
实际转角超出角度上、下限值即停机如填0不受角度上下限控制 目标角度上限值
86-87 角度下限高位
角度下限低位 2字节
角度下限值
实际转角超出角度上、下限值即停机如填0不受角度上下限控制 目标角度下限值
88 校验码(累加和) 1字节
此帧中所有角度设定值需要乘10后填入协议 例如需要设置目标角度20° 协议中应填写目标角度 00 C8
报文示例1
时间2024/9/30 10:01:08 M1模式 目标扭矩500扭矩偏差A=10%(450Nm-550Nm)角度上限360角度下限1
C5 C5 01 10 FF FF 50 30 30 30 30 30 30 30 30 30 30 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 32 32 32 32 32 32 32 32 32 32 30 30 30 30 30 30 30 30 30 30 33 33 33 33 33 33 33 33 33 33 07 E8 09 1E 0A 01 08 01 01 F4 01 C2 02 26 00 00 0E 10 00 0A A1
报文示例2
时间2024/9/30 10:01:08 M2模式 目标扭矩180扭矩下限200Nm,扭矩上限400NM目标角度值90目标角度上限360目标角度下限1
C5 C5 01 10 FF FF 50 30 30 30 30 30 30 30 30 30 30 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 32 32 32 32 32 32 32 32 32 32 30 30 30 30 30 30 30 30 30 30 33 33 33 33 33 33 33 33 33 33 07 E8 09 1E 0A 01 08 02 00 B4 00 C8 01 F4 03 84 0E 10 00 0A BA
5、功能码0x12: 每秒钟扭矩角度数据
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x12
5-6 保留 0xFF 0xFF
7 数据长度 12+n*4
8-17 员工号 10字节 ASCII码
18-19 螺栓号 2字节
20-21 第1个点扭矩值高位
第1个点扭矩值低位
22-23 第1个点角度值高位
第1个点角度值低位
24-25 第2个点扭矩值高位
第2个点扭矩值低位
26-27 第2个点角度值高位
第2个点角度值低位
……
第n个点扭矩值高位
第n个点扭矩值低位
第n个点角度值高位
第n个点角度值低位
校验码(累加和) 1字节
报文示例:
螺栓号0001第1点扭矩值0角度值0第2点扭矩值16角度值2第3点扭矩值49角度值6第4点扭矩值66角度值10第5点扭矩值85角度值17
C5 C5 01 12 FF FF 20 30 30 30 30 30 30 30 30 30 30 00 01 00 00 00 00 00 10 00 02 00 31 00 06 00 42 00 0A 00 55 00 11 97
6、功能码0x15: 执行结果反馈
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x15
5 结果状态 0xFF 0x00 : 成功OK
0x01: OK-扭矩到达
0x02: OK-位置到达
0x10: 失败NG
0x11: NG-小于扭矩下限
0x12: NG-大于扭矩上限
0x13: NG-打滑
0x14: NG-小于角度下限
0x15: NG-大于角度上限
0x16: NG-2次拧紧
6 保留 0xFF
7 数据长度 0x24
8-17 员工号 10字节 ASCII码
18-19 螺栓号 2字节
20-21 时间-年 2字节
22 时间-月 1字节
23 时间-日 1字节
24 时间-小时 1字节
25 时间-分钟 1字节
26 时间-秒 1字节
27 参数模式 1字节 M1模式0x01 M2模式0x02
28-29 目标扭矩高位
目标扭矩低位 2字节 目标扭矩值 预设扭矩实际值
30-31 实际扭矩高位
实际扭矩低位 2字节 目标扭矩实际值 最终扭矩实际值
32-33 目标角度高位
目标角度低位 2字节
0x00
0x00 目标角度设置值
34-35 实际角度高位
实际角度低位 2字节 角度实际值 目标角度实际值
36-37 扭矩上限高位
扭矩上限低位 2字节
目标扭矩上限值
最终扭矩上限值
38-39 扭矩下限高位
扭矩下限低位 2字节
目标扭矩下限值
最终扭矩下限值
40-41 角度上限高位
角度上限低位 2字节 角度上限值 目标角度上限值
42-43 角度下限高位
角度下限低位 2字节 角度下限值 目标角度下限值
44 校验码(累加和) 1字节
报文示例:
时间2024/9/30 10:01:08 M2模式 预设扭矩实际值181最终扭矩实际值485目标角度设置值45目标角度实际值44最终扭矩上限值500最终扭矩下限值400, 目标角度上限 100目标角度下限1.
C5 C5 01 15 FF FF 24 30 30 30 30 30 30 30 30 30 30 00 01 07 E8 09 1E 0A 01 08 02 00 B5 01 E5 00 2D 00 2C 01 F4 01 90 00 64 00 01 AD
7、功能码0x21: 扳手请求对时(扳手->App)
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x21
5-6 保留 0xFF 0xFF
7 数据长度 0x01
8 数据内容 0x01 0x01请求对时
9 校验码(累加和) 1字节
报文示例:
C5 C5 01 21 FF FF 01 01 AC
8、 功能码0x22: App发送对时报文(App -> 扳手)
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x22
5-6 保留 0xFF 0xFF
7 数据长度 0x07
8-9 时间-年 2字节
10 时间-月 1字节
11 时间-日 1字节
12 时间-小时 1字节
13 时间-分钟 1字节
14 时间-秒 1字节
15 校验码(累加和) 1字节
报文示例:
C5 C5 01 22 FF FF 07 07 E8 09 1E 0A 01 08 DB
9、功能码0x33: 设备延时自动关机心跳报文
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x33
5-6 保留 0xFF 0xFF
7 数据长度 0x01
8 数据内容 0x00
9 校验码(累加和) 1字节
报文示例:
C5 C5 01 33 FF FF 01 00 BD
10、功能码0x44: GPS信息报文
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x44
5-6 保留 0xFF 0xFF
7 数据长度
(包含”是否有效”字节+”数据内容”)
8 是否有效 0x01有效
0x00无效
数据内容(纬度,N/S,精度,E/W,高度,)
3225.62461,N,11923.81795,E,14, ASCII格式,‘分隔
N 校验码(累加和) 1字节
11、功能码 0x04电池电量百分比数据
报文头 地址码 功能码 保留 数据长度 数据内容 校验码(累加和)
0xC5 0xC5 0x01 0x04 0xFF 0xFF 0x01 1字节 XX
电池电量范围 0-100 表示电量0 -100%
12、 功能码0x50: 脉冲、离合、冲击扳手参数设置(App -> 扳手)
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01 该字节用于区分同一组中不同的扳手
4 功能码 0x50
5-6 保留 0xFF 0xFF
7 数据长度 0x50
8-17 产品ID 10字节 ASCII码, 不足补0
18-37 工位名称 20字节 中英字符,不足补0
38-47 员工号 10字节 ASCII码, 不足补0
48-57 工具系列号 10字节 ASCII码, 不足补0
58-67 螺栓型号 10字节 ASCII码, 不足补0
68-69 时间-年 2字节
70 时间-月 1字节
71 时间-日 1字节
72 时间-小时 1字节
73 时间-分钟 1字节
74 时间-秒 1字节
75 参数模式 1字节 扭矩模式0x00
定点硬连接(H)0x01
定点软连接(S)0x02
76-77 目标扭矩高位
目标扭矩低位 2字节 0-65535表示0-6553.5NM
78-79 K1值高位
K1值低位 2字节 数值范围
50-350 K1K2K3值只在定点硬连接和软连接模式下有效扭矩模式下填0x00
80-81 K2值高位
K2值低位 2字节 数值范围
1-80
82-83 K3值高位
K3值低位 2字节 数值范围
1-3000
84 螺栓状态 1字节 0%-100%
85 误差精度 1字节
86-87 螺栓个数高位
螺栓个数低位 2字节
88 校验码(累加和) 1字节
13、功能码0x55 : 脉冲、离合、冲击扳手执行结果反馈
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x55
5 结果状态 0xXX 0x00 : 成功OK
0x10: 失败NG
6 保留 0xFF
7 数据长度 0x1C
8-17 员工号 10字节 ASCII码
18-19 螺栓号 2字节
20-21 时间-年 2字节
22 时间-月 1字节
23 时间-日 1字节
24 时间-小时 1字节
25 时间-分钟 1字节
26 时间-秒 1字节
27 参数模式 1字节 扭矩模式0x00
定点硬连接(H)0x01
定点软连接(S)0x02
28-29 目标扭矩高位
目标扭矩低位 2字节 0-65535表示0-6553.5NM
30-31 实际扭矩高位
实际扭矩低位 2字节 0-65535表示0-6553.5NM
32-33 实际角度高位
实际角度低位 2字节
34-35 保留 2字节
36 校验码(累加和) 1字节
14、功能码0x23: 扳手发送复位螺母个数选择项报文
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x23
5-6 保留 0xFF 0xFF
7 数据长度 0x01
8 数据内容 1字节 0x00: 退出螺母计数模式
0x01: 按原螺母数重新开始计数运行
9 校验码(累加和) 1字节
15、功能码0x25: 查询设备SN码
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x25
5-6 保留 0xFF 0xFF
7 数据长度 0x05
8-12 数据内容 00 00 00 00 00
13 校验码(累加和) 0xXX
报文举例查询SN码C5 C5 01 25 FF FF 05 00 00 00 00 00 B3
16、功能码0x26: 应答设备SN码
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x26
5-6 保留 0xFF 0xFF
7 数据长度 0x05
8-12 数据内容 设备SN码10位0-9数值 以压缩BCD码表示
13 校验码(累加和) 0xXX
报文举例应答SN码C5 C5 01 26 FF FF 05 12 34 56 78 90 58
设备SN码: 1234567890
17、功能码0x17: 发送结果反馈帧0x15报文的确认帧扳手在发送0x15结果帧后未在0.5S内收到该0x17帧结果帧将保存到扳手反之扳手收到0x17帧则扳手不保存结果帧。
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x17
5-6 保留 0xFF 0xFF
7 数据长度 0x01
8 数据内容 0x00
9 校验码(累加和) 1字节
8、功能码0x05 : (发状态:控制器→显示屏)
字节序号
1-2 报文头 0xC5 0xC5
3 地址码 0x01
4 功能码 0x05 发状态参数:控制器→显示屏
5-6 保留 0xFF 0xFF
7 数据长度 0x04
8-9 错误码 2字节 0 表示无错误,可以不显示;其余数值为错误码,
10-11 控制位 2字节 Bit1: 正向0
反向1 Bit2: 预留
Bit3: 预留 Bit4: 预留
Bit5: 预留 Bit6: 预留
Bit7: 预留 Bit8: 预留
Bit9---Bit16预留
12 校验码(累加和) 1字节