Files
vd_test_fixture/docs/DG430串口协议.md
wangfq 3509caf79d docs: V2.0.4 — 第6章拆分为灵敏度测试+波动测试流程说明
- 6.1 灵敏度测试模式 (TestMode=0): 初始→进入→离开→上报0xB2
- 6.2 波动测试流程 (TestMode=1): 增加波动范围计算+步进容差
- 6.3 波动测试关键参数
- 6.4 0xB4上报时机
2026-06-04 17:06:56 +08:00

569 lines
20 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 测试工装DG430串口协议
DG430地感测试工装协议说明
V2.0.4-20260601
# 1 硬件介绍
   接口:
IN1和GND接地感的存在信号
IN2和GND接地感的脉冲信号
IN3和COM接按钮按下开始测试
IN4和COM接按钮按下复原位置
PU+/PU-/DR+/DR-/MF+/MF-:接电机驱动器;
+5V/GND/NO/NC接限位开关有信号电机停转
485A/485B485信号USB转485接电脑
VCC/GND电源输入直流9-36V
+5V/GND5V直流电输出
GND/LP接地感线圈
SW3接激光探头
拨码开关(对应地感测试正常不报警):
    DIP1---OFF,DIP2---OFF测试132系列地感
    DIP1---ON,DIP2---OFF测试110系列地感
数码管显示:
进入和离开对应地感的触发和释放距离单位mm
# 2 声音提示说明
2声-----工作频率和峰峰值不对,可能不在最低频;
3声-----灵敏度不对,可能不是最低灵敏度;
4声-----灵敏度提升不对132的DIP5不在OFF
5声-----不是离开脉冲;
6声-----脉冲继电器无输入;
# 3 数据显示
   安装软件“dg430\_tool”可显示峰峰值、工作频率、出发距离、释放距离、故障信息、继电器输出等。
# 4 通讯方式
通信采用一问一答方式。即主机发送一个命令,从机返回应答;主机发送下一条命令,从机当前命令的应答。
RS485串口 通信波特率19200bps8位数据位1位停止位无校验位。
TTL串口 通信波特率 1152008位数据位1位停止位无校验位。
# 5 通讯数据包格式
| | 起始字节 | 地址 | 数据长度 | 命令 | 命令数据 | 异或 | 和校验 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 字段值 | STX | ADDR | LEN | CMD | DATA | XOR | SUM |
| 数据类型 | INT8U | INT8U | INT8U | INT8U | INT8U | INT8U | INT8U |
| 字节数 | 1字节 | 1字节 | 1字节 | 1字节 | LEN-1 | 1字节 | 1字节 |
STX  单字节表示数据包开始信息用0x7F 表示。
ADDR单字节表示通信地址。
LEN  单字节表示数据包的有效数据长度即命令和命令数据的总和。
CMD 单字节表示数据包的命令。
DATA 多字节表示数据包的命令数据一个数据包中可以没有命令数据。
XOR  异或校验校验从地址开始命令数据的最后一个字节结束。
SUM 和校验校验从地址开始命令数据的最后一个字节结束。
## 5.1 开始测试指令命令 0xB0
  上位机发送格式:
| 7Fh | 80h + ADD | 01h | B0h | XOR | SUM |
| --- | --- | --- | --- | --- | --- |
       说明该指令为上位机发送给DG430。DG430接收到该指令后返回协议并开始测试。
测试用例7F 81 01 B0 30 32 
设备返回格式:
| 7Fh | 80h + ADD | 02h | B0h | Flag | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- |
 说明:无论是按键开始测试还是发送协议开始测试都会返回该协议;
Flag:是否故障标志
00----正常
01----故障
     测试用例7F 81 02 B0 00 33 33 
## 5.2 测试复原位置指令命令 0xB1
  上位机发送格式:
| 7Fh | 80h + ADD | 01h | B1h | XOR | SUM |
| --- | --- | --- | --- | --- | --- |
说明该指令为上位机发送给DG430。DG430接收到该指令后返回协议并开始复原位置。
测试用例7F 81 01 B1 31 33 
返回格式:
| 7Fh | 80h + ADD | 02h | B1h | Flag | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- |
 Flag:是否故障标志
00----正常
01----故障
     测试用例7F 81 02 B1 00 32 34 
## 5.3 上报状态指令命令 0xB2
  设备上报格式:
| 7Fh | 80h + ADD | 15h | B2h | 状态内容 | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- |
状态内容详细说明20字节
| | 设备型号 | 测试模式 | 是否正常完成测试 | 是否有故障 | 继电器输出 | 峰峰值 | 开始工作频率 | 进入工作频率 | 离开工作频率 | 进入高度 | 离开高度 | 进入速度 | 离开速度 | RFU |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 字节数 | 1字节 | 1字节 | 1字节 | 1字节 | 1字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 |
 7F 81 18 B2 01 00 00 0F 03 2F 0D EC C9 CC C9 EC C9 18 01 28 01 37 00 30 00 00 00 36 42  
说明该协议为每次测量完成后DG430主动上报上位机无回复
设备型号01-----PD132系列
          02-----DLD110系列
测试模式0 为灵敏度测试模式1为波动测试模式
是否正常完成测试00-----正常;
01----不正常,可能是复原位置或者继电器存在信号无输出;
02\----地感死机,有进入高度,到复原位置的距离时地感死机导致继电器还没有断开;
是否故障: 00-----无故障;
         BIT0-----为1时表示工作频率不是最低频
         BIT1-----为1时表示灵敏度不是最低灵敏度
         BIT2-----为1时表示灵敏度提升拨码没有在OFF
         BIT3-----为1时表示脉冲输出不是离开脉冲
继电器输出:表示存在继电器信号和脉冲继电器信号是否有输出;
            BIT0-----为1时表示存在继电器信号有输出接DG430的IN1
            BIT1-----为1时表示脉冲继电器信号有输出接DG430的IN2
峰峰值线圈无车LC震荡的峰峰值误差±10%,小端模式,低字节在前,
高字节在后计算公式单位V峰峰值=((X\*3.3)/4095)\*4
开始工作频率刚开始测试时线圈无车LC震荡的工作频率无误差低字节在前高字节在后计算公式单位HZ工作频率=10\*X
进入工作频率:线圈从无车到有车时的工作频率;
离开工作频率:线圈从无车到有车时的工作频率;
进入高度刚进入线圈有车时的高度单位mm小端模式
离开高度刚离开线圈无车时的高度单位mm小端模式
进入速度:单位 分米/每秒,小端模式;
离开速度:单位 分米/每秒,小端模式;
RFU保留字节
## 5.4 更改RTC时间和日期命令 0xB3 (弃用)
  上位机发送格式:
| 7Fh | 80h + ADD | 09h | B3h | 时间(4字节) | 日期(4字节) | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- | --- |
 说明时间和日期按照RTC寄存器格式发送发送格式为上位机发给DG430收到后DG430更改自己的RTC时间,小端模式,低字节在前,高字节在后;
7F 81 09 B3 00 12 14 00 28 67 21 00 53 13时间14:12:00日期2021-07-28
     返回格式:
| 7Fh | 80h + ADD | 02h | B3h | 01h | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- |
  7F 81 02 B3 01 31 37
## 5.4.1 波动测试上报指令命令0xB4 (V2.0.3 新增)
  设备主动上报格式:
| 7Fh | 80h+ADD | 11h | B4h | 状态内容(16字节) | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- |
| 1B | 1B | 1B | 1B | 16B | 1B | 1B |
说明:该协议为波动测试过程中 DG430 主动上报,上位机无回复。在以下三种情况触发上报:
1. 金属板行驶到波动**最近距离**时
2. 金属板行驶到波动**最远距离**时
3. 波动的过程中**车检器的输出状态发生变化**时
状态内容详细说明16字节除 RemainCount 外均为小端模式):
| 字段 | 字节数 | 说明 |
| --- | --- | --- |
| RemainCount | 1B | 当前剩余波动次数 |
| Relay | 1B | 继电器输出状态(同 0xB2 继电器输出字段BIT0=存在继电器信号BIT1=脉冲继电器信号 |
| WorkFreq | 2B | 工作频率,单位 Hz计算公式Freq = 10 × X |
| CurrDist | 2B | 当前距离/高度(激光检测值,未减皮距),单位 mm |
| Speed | 2B | 当前速度,单位 dm/s |
| NearDist | 2B | 波动最近距离(皮距 + 最近容差),单位 mm |
| FarDist | 2B | 波动最远距离(离开高度 + 皮距 - 最远容差),单位 mm |
| EnterDist | 2B | 进入高度(已减皮距),单位 mm |
| LeaveDist | 2B | 离开高度(已减皮距),单位 mm |
7F 81 13 B4 03 01 2F 0D 00 C8 01 28 64 00 20 03 A0 0F 28 00 3C 00 XX XX
解析:
RemainCount=3还剩3次波动Relay=01存在继电器有信号WorkFreq=3375Hz
CurrDist=200mmSpeed=296dm/sNearDist=800mmFarDist=4000mm
EnterDist=40mmLeaveDist=60mm。
## 5.5 电机前进指令命令 0xBA
  上位机发送格式:
| 7Fh | 80h + ADD | 01h | BAh | XOR | SUM |
| --- | --- | --- | --- | --- | --- |
说明该指令为上位机发送给DG430。DG430接收到该指令后返回协议并驱动电机前进。
测试用例7F 81 01 BA 3A 3C 
返回格式:
| 7Fh | 80h + ADD | 02h | BAh | Flag | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- |
 Flag:是否故障标志
00----正常
01----故障
     测试用例7F 81 02 BA 00 39 3D
## 5.6 电机后退指令命令 0xBB
  上位机发送格式:
| 7Fh | 80h + ADD | 01h | BBh | XOR | SUM |
| --- | --- | --- | --- | --- | --- |
说明该指令为上位机发送给DG430。DG430接收到该指令后返回协议并开始复原位置。
测试用例7F 81 01 BB 3B 3D
返回格式:
| 7Fh | 80h + ADD | 02h | BBh | Flag | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- |
 Flag:是否故障标志
00----正常
01----故障
     测试用例7F 81 02 BB 00 38 3E 
## 5.7 电机停止指令命令 0xBC
  上位机发送格式:
| 7Fh | 80h + ADD | 01h | BCh | XOR | SUM |
| --- | --- | --- | --- | --- | --- |
说明该指令为上位机发送给DG430。DG430接收到该指令后返回协议并开始复原位置。
测试用例7F 81 01 BC 3C 3E 
返回格式:
| 7Fh | 80h + ADD | 02h | BCh | Flag | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- |
 Flag:是否故障标志
00----正常
01----故障
     测试用例7F 81 02 BC 00 3F 3F 
## 5.8 获取设备版本号指令命令0x4A
| 7Fh | 80H +ADD | LEN | 4Ah | XOR | SUM |
| --- | --- | --- | --- | --- | --- |
获取控制卡的版本号
LEN: 0x01
eg: 7F 81 01 4A CA CC
返回格式::
| 7Fh | 80H +ADD | LEN | 4Ah + 00 + 硬件版本号+软件版本 | XOR | SUM |
| --- | --- | --- | --- | --- | --- |
LEN:0x08
硬件版本号3个字节
软件版本号3个字节
eg: 7F 81 08 4A 00 03 03 00 03 04 00 C4 E0, 表示硬件版本号3.3.0固件版本为3.4.0
## 5.9 配置设备测试参数命令 0x4B
  上位机发送格式:
| 7Fh | 80h+ADD | 17h | 4Bh | Addr | DevType | TestMode | ResetDis | MinusDis | SensMin | SensMax | FreMin | FreMax | PeakMin | PeakMax | FarTol | NearTol | StepTol | BackForth | NearStay | FarStay | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 2B | 2B | 2B | 2B | 2B | 2B | 1B | 1B | 1B | 1B | 2B | 2B | 1B | 1B |
说明该指令为上位机发送给DG430。DG430接收到该指令后返回协议并更新测试参数。
Addr1Byte, 设备地址、485地址
DevType1Byte, 设备型号
TestMode1Byte, 测试模式0 灵敏度测试模式1 波动测试模式
ResetDis复位距离单位cm
MinusDis皮距激光到线圈的距离测算的实际高度要减去这个皮距单位cm
SensMin, SensMax2Byte, 灵敏度最小、最大值(小端模式)
FreMin, FreMax2Byte, 频率最小、最大值(小端模式)
PeakMin, PeakMax2Byte, 峰峰值最小、最大值(小端模式)
FarTol1Byte, 最远容差,波动测试时,离开高度- 最远容差= 波动最远距离不包含皮距单位cm
NearTol1Byte, 最近容差,最近容差=波动最近距离不包含皮距单位cm
StepTol1Byte, 步进容差默认0。非0时每次波动后最远容差递加该值最多(波动次数-1)次单位cm
BackForth1Byte, 来回次数金属板从最远距离→最近距离→最远距离记为1次
NearStay2Byte, 最近停留时间到达波动最近距离后停留的时间单位ms小端模式
FarStay2Byte, 最远停留时间到达波动最远距离后停留的时间单位ms小端模式
测试用例7F 81 19 4B 01 01 01 30 0D 00 8B 00 E6 07 76 06 D6 09 B0 0C 1C 03 02 00 05 C8 00 F4 01 2B 9F
用例说明:
Addr0x01 DevType0x01 TestMode1波动测试 ResetDis48cm MinusDis13cm SensMin139 SensMax230 Fre_Min1910 FreMax1750 PeakMin2480 PeakMax3100 FarTol3cm NearTol2cm StepTol0cm BackForth5次 NearStay200ms FarStay500ms。
返回格式:
| 7Fh | 80h + ADD | 02h | 4Bh | Flag | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- |
 Flag:是否故障标志
00----正常
01----故障
     测试用例7F 81 02 4B 00 C8 CE 
## 5.10 查询设备测试参数命令 0x4C
  上位机发送格式:
| 7Fh | 80h + ADD | 01h | 4Ch | XOR | SUM |
| --- | --- | --- | --- | --- | --- |
| 1B | 1B | 1B | 1B | 1B | 1B |
说明该指令为上位机发送给DG430。DG430接收到该指令后返回协议并开始复原位置。
测试用例7F 81 01 4C CC CE
| 7Fh | 80h+ADD | 1Bh | 4Ch | Flag | Addr | DevType | TestMode | ResetDis | MinusDis | SensMin | SensMax | FreMin | FreMax | PeakMin | PeakMax | FarTol | NearTol | StepTol | BackForth | NearStay | FarStay | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 2B | 2B | 2B | 2B | 2B | 2B | 1B | 1B | 1B | 1B | 2B | 2B | 1B | 1B |
 Flag是否故障标志00=正常01=故障
Addr设备地址
DevType设备型号
TestMode测试模式0=灵敏度测试, 1=波动测试)
ResetDis复位距离单位cm
MinusDis皮距单位cm
SensMin, SensMax灵敏度最小、最大值小端模式
FreMin, FreMax频率最小、最大值小端模式
PeakMin, PeakMax峰峰值最小、最大值小端模式
FarTol最远容差单位cm
NearTol最近容差单位cm
StepTol步进容差单位cm
BackForth来回次数
NearStay最近停留时间单位ms小端模式
FarStay最远停留时间单位ms小端模式
测试用例7F 81 1B 4C 00 01 01 01 30 0D 00 8B 00 E6 07 76 06 D6 09 B0 0C 1C 03 02 00 05 C8 00 F4 01 8A 5E
## 5.11 出厂初始化指令命令0x4D
| 7Fh | 80H +ADD | LEN | 4Dh | XOR | SUM |
| --- | --- | --- | --- | --- | --- |
上位机发送该指令后DG430进行出厂初始化操作
LEN: 0x01
eg: 7F 81 01 4D CD CF
| 7Fh | 80h + ADD | 02h | 4Dh | Flag | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- |
 Flag:是否故障标志
00----正常
01----故障
     测试用例7F 81 02 4D 00 CE D0 
## 5.12 设备复位指令命令0x4E
| 7Fh | 80H +ADD | LEN | 4Eh | XOR | SUM |
| --- | --- | --- | --- | --- | --- |
LEN: 0x01
eg: 7F 81 01 4E CE D0
返回格式:
| 7Fh | 80h + ADD | 02h | 4Eh | Flag | XOR | SUM |
| --- | --- | --- | --- | --- | --- | --- |
 Flag:是否故障标志
00----正常
01----故障
     测试用例7F 81 02 4E 00 CD D1 
# 6 测试模式流程说明
DG430 支持两种测试模式,通过 TestMode 参数切换。
## 6.1 灵敏度测试模式
TestMode=0 为灵敏度测试模式,用于模拟基本的过车情况。
**物理布局**
电机前端有一个金属板,线圈在激光传感器和金属板之间,激光到线圈的距离为 `MinusDis` 皮距。线圈接到车检器上,车检器的输出信号接到测试工装的输入口。
**测试流程**
1. **初始阶段** — 开始测试时,金属板从设定的**复位距离**开始向线圈侧前进。
2. **进入检测** — 金属板靠近线圈过程中,车检器输出信号(继电器吸合),此时测试工装记录激光检测的距离为**进入距离/进入高度**(需减去皮距),记录此前金属板运行的**进入速度**、**进入频率**等参数。电机立刻停止,等待一个延时后再反向运动(远离线圈)。
3. **离开检测** — 车检器输出信号消失(继电器释放),此时测试工装记录激光检测的距离为**离开距离/离开高度**需减去皮距。离开到接近复位距离时测试工装上报测试数据0xB2数码管显示进入高度和离开高度。电机回到复位距离位置等待下一次开始测试指令。
**上报数据 (0xB2)**
每次完成一次完整测试后上报 0xB2 状态数据,包含:设备型号、峰峰值、工作频率、进入/离开高度、进入/离开速度、故障信息、继电器状态等。详见 [5.3 上报状态指令](#53-上报状态指令命令-0xb2)。
## 6.2 波动测试流程
TestMode=1 为波动测试模式,用于模拟复杂的过车情况。
电机前端有一个金属板,线圈在激光传感器和金属板之间,激光到线圈的距离为 `MinusDis` 皮距。线圈接到车检器上,车检器的输出信号接到测试工装的输入口。
1. **初始阶段** — 开始测试时,金属板从设定的**复位距离**开始向线圈侧前进。
2. **进入检测** — 金属板靠近线圈过程中,车检器输出信号(继电器吸合),此时测试工装记录激光检测的距离为**进入距离/进入高度**(需减去皮距)。电机立刻停止,然后反向运动(远离线圈)。
3. **离开检测** — 车检器输出信号消失(继电器释放),此时测试工装记录激光检测的距离为**离开距离/离开高度**需减去皮距。测试工装上报测试数据0xB2数码管显示进入高度和离开高度。
4. **计算波动范围**
- **波动最远距离** = 离开高度 最远容差,实际计算的时候要加上皮距 来比较。
- **波动最近距离** = 最近容差,实际计算的时候要加上皮距 来比较。
5. **波动测试** — 金属板从波动最远距离开始,前进到波动最近距离,电机停止 → 上报 0xB4 → 等待最近停留时间 → 反向运动到波动最远距离 → 电机停止 → 上报 0xB4 → 等待最远停留时间。记为**一次来回**。
6. **步进容差** — 若步进容差 ≠ 0每次波动后最远容差递加步进容差值最多递加 (波动次数 1) 次。
7. **完成阶段** — 最后一次波动结束后,电机继续远离线圈运动,检测到车检器输出信号释放后再次上报 0xB2电机回到复位距离位置等待下一次开始测试指令。
## 6.3 波动测试关键参数
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 最远容差 (FarTol) | 1B, cm | 离开高度 + 皮距 该值 = 波动最远距离 |
| 最近容差 (NearTol) | 1B, cm | 皮距 + 该值 = 波动最近距离 |
| 步进容差 (StepTol) | 1B, cm | 默认0。非0时每次波动后最远容差递加 |
| 来回次数 (BackForth) | 1B | 波动来回次数 |
| 最近停留时间 (NearStay) | 2B, ms | 到达最近距离时停留的时间 |
| 最远停留时间 (FarStay) | 2B, ms | 到达最远距离时停留的时间 |
## 6.4 0xB4 上报时机
0xB4 在以下三种情况下触发:
1. 金属板行驶到**波动最近距离**时上报
2. 金属板行驶到**波动最远距离**时上报
3. 波动的过程中**车检器输出状态有变化**时上报
# 更新记录
| **版本号** | **更新日期** | **状态** | **更新内容** | **更新人** |
| --- | --- | --- | --- | --- |
| V1.0.6 | 2021-07-30 | | 发布测试工装V1的协议。 | 何燕山 |
| V2.0.0 | 2026-05-21 | | 增加配置指令:电机前进、后退、停止指令,获取版本号、读写测试指令 | 王飞强 |
| V2.0.1 | 2026-05-22 | | 增加出厂初始化指令、设备复位指令 | 王飞强 |
| V2.0.2 | 2026-05-25 | | 增加测试模式,增加进入速度和离开速度 | 王飞强 |
| V2.0.3 | 2026-05-31 | | TestMode=1改为波动测试模式0x4B/0x4C新增6个波动参数新增0xB4波动测试上报指令 | 王飞强 |
| V2.0.4 | 2026-06-01 | | 第6章重构拆分为灵敏度测试(6.1)和波动测试(6.2-6.4)流程说明 | 王飞强 |
| | | | | |