docs: DG430协议 V2.0.3 — 波动测试模式

- TestMode=1 从模拟过车改为波动测试模式
- 0x4B/0x4C 新增6个波动参数:FarTol/NearTol/StepTol/BackForth/NearStay/FarStay
- 新增 0xB4 波动测试上报指令 (16字节状态内容)
- 新增第6章 波动测试模式流程说明
This commit is contained in:
wangfq
2026-06-02 17:20:11 +08:00
parent b67de6e9de
commit e7607481e1
+131 -27
View File
@@ -2,7 +2,7 @@
DG430地感测试工装协议说明 DG430地感测试工装协议说明
V2.0.1-20260522 V2.0.3-20260531
# 1 硬件介绍 # 1 硬件介绍
@@ -157,7 +157,7 @@ Flag:是否故障标志
          02-----DLD110系列;           02-----DLD110系列;
测试模式:0 为灵敏度测试模式;1为模拟过车测试模式 测试模式:0 为灵敏度测试模式;1为波动测试模式
是否正常完成测试:00-----正常; 是否正常完成测试:00-----正常;
@@ -219,6 +219,40 @@ RFU:保留字节;
  例:7F 81 02 B3 01 31 37   例: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 ## 5.5 电机前进指令,命令: 0xBA
  上位机发送格式:   上位机发送格式:
@@ -319,33 +353,45 @@ eg: 7F 81 08 4A 00 03 03 00 03 04 00 C4 E0, 表示硬件版本号3
  上位机发送格式:   上位机发送格式:
| 7Fh | 80h+ADD | 10h | 4Bh | Addr | DevType | TestMode | ResetDis | MinusDis | SensMin | SensMax | FreMin | FreMax | PeakMin | PeakMax | XOR | SUM | | 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 | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 2B | 2B | 2B | 2B | 2B | 2B | 1B | 1B | 1B | 1B | 2B | 2B | 1B | 1B |
说明:该指令为上位机发送给DG430。DG430接收到该指令后返回协议并更新测试参数。 说明:该指令为上位机发送给DG430。DG430接收到该指令后返回协议并更新测试参数。
Addr1Byte, 设备地址、485地址 Addr1Byte, 设备地址、485地址
DevType1Byte, 设备型号 DevType1Byte, 设备型号
TestMode: 1Byte, 测试模式,0 灵敏度测试模式;1 模拟过车模式 TestMode1Byte, 测试模式,0 灵敏度测试模式;1 波动测试模式
ResetDis: 复位距离,单位cm ResetDis复位距离,单位cm
MinusDis: 皮距,激光到线圈的距离,测算的实际高度要减去这个皮距,单位cm MinusDis皮距,激光到线圈的距离,测算的实际高度要减去这个皮距,单位cm
SensMin,SensMax: 2Byte, 灵敏度最小、最大值 SensMin, SensMax2Byte, 灵敏度最小、最大值(小端模式)
FreMin, FreMax: 2Byte, 频率最小、最大值 FreMin, FreMax2Byte, 频率最小、最大值(小端模式)
PeakMin, PeakMax: 2Byte, 峰峰值最小、最大值 PeakMin, PeakMax2Byte, 峰峰值最小、最大值(小端模式)
测试用例:7F 81 12 4B 01 01 00 30 0D 00 8B 00 E6 07 76 06 D6 09 B0 0C 1C 80 C8 FarTol:1Byte, 最远容差,波动测试时,离开高度+皮距-最远容差=波动最远距离,单位cm
NearTol1Byte, 最近容差,皮距+最近容差=波动最近距离,单位cm
StepTol1Byte, 步进容差,默认0。非0时每次波动后最远容差递加该值,最多(波动次数-1)次,单位cm
BackForth1Byte, 来回次数,金属板从最远距离→最近距离→最远距离记为1次
NearStay2Byte, 最近停留时间,到达波动最近距离后停留的时间,单位ms(小端模式)
FarStay:2Byte, 最远停留时间,到达波动最远距离后停留的时间,单位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 DevType: 0x01, 00: Sensity Test Mode, ResetDis: 48cm,  MinusDis: 13cm,  SensMin:  139, SensMax: 230, Fre\_Min:1910, FreMax: 1750, PeakMin: 2480, PeakMax: 3100。 Addr0x01 DevType0x01 TestMode1(波动测试), ResetDis48cm MinusDis13cm SensMin139 SensMax230 Fre_Min1910 FreMax1750 PeakMin2480 PeakMax3100 FarTol3cm NearTol2cm StepTol0cm BackForth5次, NearStay200ms FarStay500ms
返回格式: 返回格式:
@@ -372,19 +418,41 @@ Addr0x01 DevType: 0x01, 00: Sensity Test Mode, ResetDis: 48cm,  
测试用例:7F 81 01 4C CC CE 测试用例: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 |
| 7Fh | 80h+ADD | 13h | 4Ch | Flag | Addr | DevType | TestMode | ResetDis | MinusDis | SensMin | SensMax | FreMin | FreMax | PeakMin | PeakMax | XOR | SUM |  Flag:是否故障标志,00=正常,01=故障
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 2B | 2B | 2B | 2B | 2B | 2B | 1B | 1B |
 Flag:是否故障标志 Addr:设备地址
00----正常 DevType:设备型号
01----故障 TestMode:测试模式(0=灵敏度测试, 1=波动测试)
     测试用例:7F 81 13 4C 00 01 01 00 30 0D 00 8B 00 E6 07 76 06 D6 09 B0 0C 1C 86 CA 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 ## 5.11 出厂初始化指令,命令:0x4D
@@ -413,11 +481,9 @@ eg: 7F 81 01 4D CD CF
| 7Fh | 80H +ADD | LEN | 4Eh | XOR | SUM | | 7Fh | 80H +ADD | LEN | 4Eh | XOR | SUM |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
获取控制卡的版本号
LEN: 0x01 LEN: 0x01
eg: 7F 81 01 4E CE D0
eg: 7F 81 01 4E CA CC
返回格式: 返回格式:
@@ -432,6 +498,43 @@ eg: 7F 81 01 4E CA CC
     测试用例:7F 81 02 4E 00 CD D1       测试用例:7F 81 02 4E 00 CD D1 
# 6 波动测试模式说明
TestMode=1 为波动测试模式,用于模拟复杂的过车情况。
## 6.1 测试流程
电机前端有一个金属板,线圈在激光传感器和金属板之间,激光到线圈的距离为 `MinusDis` 皮距。线圈接到车检器上,车检器的输出信号接到测试工装的输入口。
1. **初始阶段** — 开始测试时,金属板从设定的**复位距离**开始向线圈侧前进。
2. **进入检测** — 金属板靠近线圈过程中,车检器输出信号(继电器吸合),此时测试工装记录激光检测的距离为**进入距离/进入高度**(需减去皮距)。电机立刻停止,然后反向运动(远离线圈)。
3. **离开检测** — 车检器输出信号消失(继电器释放),此时测试工装记录激光检测的距离为**离开距离/离开高度**(需减去皮距)。测试工装上报测试数据(0xB2),数码管显示进入高度和离开高度。
4. **计算波动范围**
- **波动最远距离** = 离开高度 + 皮距 − 最远容差
- **波动最近距离** = 皮距 + 最近容差
5. **波动测试** — 金属板从波动最远距离开始,前进到波动最近距离,电机停止 → 上报 0xB4 → 等待最近停留时间 → 反向运动到波动最远距离 → 电机停止 → 上报 0xB4 → 等待最远停留时间。记为**一次来回**。
6. **步进容差** — 若步进容差 ≠ 0,每次波动后最远容差递加步进容差值,最多递加 (波动次数 − 1) 次。
7. **完成阶段** — 最后一次波动结束后,电机继续远离线圈运动,检测到车检器输出信号释放后再次上报 0xB2,电机回到复位距离位置,等待下一次开始测试指令。
## 6.2 关键参数
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 最远容差 (FarTol) | 1B, cm | 离开高度 + 皮距 − 该值 = 波动最远距离 |
| 最近容差 (NearTol) | 1B, cm | 皮距 + 该值 = 波动最近距离 |
| 步进容差 (StepTol) | 1B, cm | 默认0。非0时每次波动后最远容差递加 |
| 来回次数 (BackForth) | 1B | 波动来回次数 |
| 最近停留时间 (NearStay) | 2B, ms | 到达最近距离时停留的时间 |
| 最远停留时间 (FarStay) | 2B, ms | 到达最远距离时停留的时间 |
## 6.3 0xB4 上报时机
0xB4 在以下三种情况下触发:
1. 金属板行驶到**波动最近距离**时上报
2. 金属板行驶到**波动最远距离**时上报
3. 波动的过程中**车检器输出状态有变化**时上报
# 更新记录 # 更新记录
| **版本号** | **更新日期** | **状态** | **更新内容** | **更新人** | | **版本号** | **更新日期** | **状态** | **更新内容** | **更新人** |
@@ -440,4 +543,5 @@ eg: 7F 81 01 4E CA CC
| V2.0.0 | 2026-05-21 | | 增加配置指令:电机前进、后退、停止指令,获取版本号、读写测试指令 | 王飞强 | | V2.0.0 | 2026-05-21 | | 增加配置指令:电机前进、后退、停止指令,获取版本号、读写测试指令 | 王飞强 |
| V2.0.1 | 2026-05-22 | | 增加出厂初始化指令、设备复位指令 | 王飞强 | | V2.0.1 | 2026-05-22 | | 增加出厂初始化指令、设备复位指令 | 王飞强 |
| V2.0.2 | 2026-05-25 | | 增加测试模式,增加进入速度和离开速度 | 王飞强 | | V2.0.2 | 2026-05-25 | | 增加测试模式,增加进入速度和离开速度 | 王飞强 |
| | | | | | | V2.0.3 | 2026-05-31 | | TestMode=1改为波动测试模式;0x4B/0x4C新增6个波动参数;新增0xB4波动测试上报指令 | 王飞强 |
| | | | | |