# 测试工装DG430串口协议 DG430地感测试工装协议说明 (V2.0.3-20260531) # 1 硬件介绍    接口: IN1和GND:接地感的存在信号; IN2和GND:接地感的脉冲信号; IN3和COM:接按钮,按下开始测试; IN4和COM:接按钮,按下复原位置; PU+/PU-/DR+/DR-/MF+/MF-:接电机驱动器; +5V/GND/NO/NC:接限位开关,有信号电机停转; 485A/485B:485信号,USB转485接电脑; VCC/GND:电源输入,直流9-36V; +5V/GND:5V直流电输出; 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串口 通信波特率19200bps;8位数据位,1位停止位,无校验位。 TTL串口 通信波特率 115200;8位数据位,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=200mm,Speed=296dm/s,NearDist=800mm,FarDist=4000mm, EnterDist=40mm,LeaveDist=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 | 16h | 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 | 1B | 1B | 1B | 说明:该指令为上位机发送给DG430。DG430接收到该指令后返回协议并更新测试参数。 Addr:1Byte, 设备地址、485地址 DevType:1Byte, 设备型号 TestMode:1Byte, 测试模式,0 灵敏度测试模式;1 波动测试模式 ResetDis:复位距离,单位cm MinusDis:皮距,激光到线圈的距离,测算的实际高度要减去这个皮距,单位cm SensMin, SensMax:2Byte, 灵敏度最小、最大值(小端模式) FreMin, FreMax:2Byte, 频率最小、最大值(小端模式) PeakMin, PeakMax:2Byte, 峰峰值最小、最大值(小端模式) FarTol:1Byte, 最远容差,波动测试时,离开高度+皮距-最远容差=波动最远距离,单位cm NearTol:1Byte, 最近容差,皮距+最近容差=波动最近距离,单位cm StepTol:1Byte, 步进容差,默认0。非0时每次波动后最远容差递加该值,最多(波动次数-1)次,单位cm BackForth:1Byte, 来回次数,金属板从最远距离→最近距离→最远距离记为1次 NearStay:2Byte, 最近停留时间,到达波动最近距离后停留的时间,单位ms(小端模式) FarStay:1Byte, 最远停留时间,到达波动最远距离后停留的时间,单位ms(范围 0-255) 测试用例:7F 81 18 4B 01 01 01 30 0D 00 8B 00 E6 07 76 06 D6 09 B0 0C 1C 03 02 00 05 C8 00 90 FB E8 用例说明: 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:144ms。 返回格式: | 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 | 1Ah | 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 | 1B | 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(范围 0-255) 测试用例:7F 81 1A 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 90 10 7A ## 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 波动测试模式说明 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. 波动的过程中**车检器输出状态有变化**时上报 # 更新记录 | **版本号** | **更新日期** | **状态** | **更新内容** | **更新人** | | --- | --- | --- | --- | --- | | 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波动测试上报指令 | 王飞强 | | | | | | |