From e7607481e1f68d70d284da398fd80b07c34d0b08 Mon Sep 17 00:00:00 2001 From: wangfq Date: Tue, 2 Jun 2026 17:20:11 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20DG430=E5=8D=8F=E8=AE=AE=20V2.0.3=20?= =?UTF-8?q?=E2=80=94=20=E6=B3=A2=E5=8A=A8=E6=B5=8B=E8=AF=95=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - TestMode=1 从模拟过车改为波动测试模式 - 0x4B/0x4C 新增6个波动参数:FarTol/NearTol/StepTol/BackForth/NearStay/FarStay - 新增 0xB4 波动测试上报指令 (16字节状态内容) - 新增第6章 波动测试模式流程说明 --- docs/DG430串口协议.md | 158 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 131 insertions(+), 27 deletions(-) diff --git a/docs/DG430串口协议.md b/docs/DG430串口协议.md index 41804ed..4db89f0 100644 --- a/docs/DG430串口协议.md +++ b/docs/DG430串口协议.md @@ -2,7 +2,7 @@ DG430地感测试工装协议说明 -(V2.0.1-20260522) +(V2.0.3-20260531) # 1 硬件介绍 @@ -157,7 +157,7 @@ Flag:是否故障标志           02-----DLD110系列; -测试模式:0 为灵敏度测试模式;1为模拟过车测试模式 +测试模式:0 为灵敏度测试模式;1为波动测试模式 是否正常完成测试:00-----正常; @@ -219,6 +219,40 @@ RFU:保留字节;   例: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=200mm,Speed=296dm/s,NearDist=800mm,FarDist=4000mm, +EnterDist=40mm,LeaveDist=60mm。 + ## 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 | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | -| 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 2B | 2B | 2B | 2B | 2B | 2B | 1B | 1B | +| 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接收到该指令后返回协议并更新测试参数。 -Addr:1Byte, 设备地址、485地址 +Addr:1Byte, 设备地址、485地址 -DevType:1Byte, 设备型号 +DevType:1Byte, 设备型号 -TestMode: 1Byte, 测试模式,0 灵敏度测试模式;1 模拟过车模式 +TestMode:1Byte, 测试模式,0 灵敏度测试模式;1 波动测试模式 -ResetDis: 复位距离,单位cm +ResetDis:复位距离,单位cm -MinusDis: 皮距,激光到线圈的距离,测算的实际高度要减去这个皮距,单位cm。 +MinusDis:皮距,激光到线圈的距离,测算的实际高度要减去这个皮距,单位cm -SensMin,SensMax: 2Byte, 灵敏度最小、最大值 +SensMin, SensMax:2Byte, 灵敏度最小、最大值(小端模式) -FreMin, FreMax: 2Byte, 频率最小、最大值 +FreMin, FreMax:2Byte, 频率最小、最大值(小端模式) -PeakMin, PeakMax: 2Byte, 峰峰值最小、最大值 +PeakMin, PeakMax:2Byte, 峰峰值最小、最大值(小端模式) -测试用例: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 + +NearTol:1Byte, 最近容差,皮距+最近容差=波动最近距离,单位cm + +StepTol:1Byte, 步进容差,默认0。非0时每次波动后最远容差递加该值,最多(波动次数-1)次,单位cm + +BackForth:1Byte, 来回次数,金属板从最远距离→最近距离→最远距离记为1次 + +NearStay:2Byte, 最近停留时间,到达波动最近距离后停留的时间,单位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 用例说明: -Addr:0x01, DevType: 0x01, 00: Sensity Test Mode, ResetDis: 48cm,  MinusDis: 13cm,  SensMin:  139, SensMax: 230, Fre\_Min:1910, FreMax: 1750, PeakMin: 2480, PeakMax: 3100。 +Addr:0x01, DevType:0x01, TestMode:1(波动测试), ResetDis:48cm, MinusDis:13cm, SensMin:139, SensMax:230, Fre_Min:1910, FreMax:1750, PeakMin:2480, PeakMax:3100, FarTol:3cm, NearTol:2cm, StepTol:0cm, BackForth:5次, NearStay:200ms, FarStay:500ms。 返回格式: @@ -372,19 +418,41 @@ Addr:0x01, DevType: 0x01, 00: Sensity Test Mode, ResetDis: 48cm,   测试用例: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 | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | -| 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 1B | 2B | 2B | 2B | 2B | 2B | 2B | 1B | 1B | + Flag:是否故障标志,00=正常,01=故障 - 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 @@ -413,11 +481,9 @@ eg: 7F 81 01 4D CD CF | 7Fh | 80H +ADD | LEN | 4Eh | XOR | SUM | | --- | --- | --- | --- | --- | --- | -获取控制卡的版本号 LEN: 0x01 - -eg: 7F 81 01 4E CA CC +eg: 7F 81 01 4E CE D0 返回格式: @@ -432,6 +498,43 @@ eg: 7F 81 01 4E CA CC      测试用例: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.1 | 2026-05-22 | | 增加出厂初始化指令、设备复位指令 | 王飞强 | | V2.0.2 | 2026-05-25 | | 增加测试模式,增加进入速度和离开速度 | 王飞强 | -| | | | | | \ No newline at end of file +| V2.0.3 | 2026-05-31 | | TestMode=1改为波动测试模式;0x4B/0x4C新增6个波动参数;新增0xB4波动测试上报指令 | 王飞强 | +| | | | | |