Files
vd_test_fixture/docs/VD测试工装V2.0培训手册.md
wangfq 92c2c2b408 docs: V2.0.0 培训手册
V2 vs V1 新增内容:
- 波动测试模式 (B4) 及完整流程说明
- 线圈参数管理 + 模拟车辆参数管理
- 工装配置关联线圈/车辆 + 新设备配置检查清单
- 测试信息三视图 + ECharts 图表
- 精确时间筛选(日期+时分秒)
- 自动化测试间隔/超时配置
- Admin 数据删除、继电器状态重构
- 全量操作日志覆盖
2026-06-08 12:04:50 +08:00

33 KiB
Raw Blame History

VD 测试工装 V2.0.0 培训手册

版本: V2.0.0 日期: 2026-06-08 作者: wangfq 适用对象: 测试工程师、生产操作员、系统管理员


目录

  1. 项目概述
  2. V2.0.0 新增功能总览
  3. 系统架构
  4. 硬件环境
  5. EDC 服务
  6. EDC 管理系统
  7. 通信协议
  8. 操作指南
  9. 常见问题
  10. 附录

1. 项目概述

1.1 项目简介

VD 测试工装vd_test_fixture是一套车检器自动化测试系统用于批量检测车检器Vehicle Detector的核心性能指标

核心能力:

  • 灵敏度测试B2: 检测车检器对不同信号强度的响应,含峰峰值、频率、距离、速度等指标
  • 波动测试B4 🆕: 模拟车辆往复运动,动态检测车检器在工作范围内的距离/频率/速度波动
  • 产品一致性测试: 批量产品之间的性能差异分析
  • 自动化测试: 支持设定间隔时间和超时时间,自动循环执行,实时进度反馈
  • 工装配置管理: 支持 DG430 V2.0.x 协议的设备参数配置、版本查询、出厂初始化,可关联线圈参数和模拟车辆参数 🆕
  • 数据可视化 🆕: 测试数据图表视图ECharts支持多 Y 轴、缩放、图片导出

1.2 术语说明

术语 全称 说明
EDC Edge Data Center 边缘数据中心,系统的核心服务
DNT Data Network Terminal 联网终端PGLC连接设备与 EDC
DG430 地感测试工装硬件,执行实际测试动作
VD Vehicle Detector 车检器(被测设备)
SerialNet Serial Network 串口网络透传,通过 UDP 将指令转发到 DG430 串口
B2 灵敏度测试数据来源标识0xB2 指令上报)
B4 波动测试数据来源标识0xB4 指令上报) 🆕
线圈参数 Coil Info 地感线圈的物理参数(形状、尺寸、电感量、圈数等) 🆕
模拟车辆 Simulate Car 用于模拟车辆通过的金属板参数(形状、尺寸、材质) 🆕

1.3 V2.0.0 vs V1.0 对比

功能 V1.0 V2.0.0
灵敏度测试
波动测试 新增
测试信息查询 单表显示 三视图标签页 + ECharts 图表
工装配置 基本参数 +波动参数 +线圈/模拟车辆关联
线圈参数管理 新增
模拟车辆参数管理 新增
时间筛选 仅日期范围 日期 + 时分秒
Admin 数据删除 新增
继电器状态 文本 编码值 + 解码显示 + 图表系列
自动化测试 固定间隔 可配置间隔/超时
操作日志 部分 全覆盖(创建/更新/删除)

2. V2.0.0 新增功能总览

2.1 波动测试模式

V2.0.0 最重要的新增功能。在原有灵敏度测试B2基础上增加了波动测试模式B4

测试原理: 工装控制电机驱动金属板(模拟车辆)在地感线圈上方往复运动,通过车检器在不同位置的工作频率、距离、速度等指标变化,评估车检器性能的稳定性。

与灵敏度测试的区别:

对比维度 灵敏度测试 (B2) 波动测试 (B4)
运动方式 单次进入→离开 多次往复运动
测试指标 峰峰值、进入/离开频率、距离、速度 工作频率、当前距离、速度、剩余次数、最近/最远距离
完成判定 一次进入离开 达到设定来回次数
继电器 存在+脉冲 实时变化

2.2 线圈参数管理

新增线圈参数管理功能,用于记录和维护测试环境中的地感线圈信息:

  • 线圈编号、名称
  • 电感量μH
  • 形状(矩形/圆形),尺寸(长宽/半径 cm
  • 圈数、电阻(Ω)
  • 材质(铜线等)、备注

线圈参数在工装配置页可关联到具体工装,测试数据中自动记录关联的线圈信息,为后续数据分析提供环境参考。

2.3 模拟车辆参数管理

管理用于模拟车辆通过的金属板参数:

  • 模拟编号、名称
  • 形状(矩形/圆形),尺寸(长宽/半径 cm
  • 材质(铁板、合金等)、备注

模拟车辆参数同样可关联到工装配置,测试记录时自动写入。

2.4 测试信息三视图 + 图表

测试信息查询页面拆分为三个标签页:

  • 全部数据: 所有测试记录汇总视图
  • 灵敏度测试0xB2: B2 专用列布局(含故障信息、继电器、进入/离开频率等)
  • 波动测试0xB4: B4 专用列布局(含工作频率、当前距离、剩余次数、最近/最远距离等)

图表视图: 点击「📈 图表」按钮可切换为 ECharts 交互式图表,支持:

  • B2峰峰值、频率4条、距离2条、速度2条+ 继电器状态
  • B4工作频率、当前距离、速度、最近/最远距离、进入/离开高度 + 继电器状态
  • 四 Y 轴独立刻度
  • dataZoom 滑块缩放
  • 图例切换显隐
  • 2x 高清图片导出

2.5 精确时间筛选

搜索栏时间筛选从"仅日期"升级为"日期 + 时分秒"

  • 只填日期不填时间 → 行为不变date_to 自动取 23:59:59
  • 日期 + 时间都填 → 精确到秒过滤

3. 系统架构

3.1 整体架构图

┌──────────────────┐         浏览器 HTTP
│    edc-web       │ ◄────────────────────── 操作人员
│  Flask (Flask-Login) │
│  前端管理界面      │
└────────┬─────────┘
         │ pymysql (同步)
         ▼
┌──────────────────┐
│     MySQL        │
│  数据库: edc      │
│  (共享存储)       │
└────────┬─────────┘
         │ aiomysql (异步)
         ▼
┌──────────────────┐    UDP :4900     ┌──────────────┐   RS485/TTL   ┌────────────┐
│   edc_server     │ ◄──────────────► │ PGLC 联网终端  │ ◄───────────► │ DG430 工装  │
│  Python/uvloop   │  SerialNet 透传   │  (DNT)        │  串口协议      │ (测试硬件)  │
│                  │                  └──────────────┘               └──────┬─────┘
│ UDP :5500/:5505  │                                                       │
│ TCP :5550        │                                                       ▼
└──────────────────┘                                               ┌──────────────┐
                                                                    │   车检器(VD) │
                                                                    │  (被测设备)   │
                                                                    └──────────────┘

3.2 通信链路

操作员浏览器 → edc-web (Flask, port 5000) → MySQL → edc_server (asyncio) → DNT → DG430 → 车检器
                                                                              ↕
                                                                         MySQL (共享)

关键点:

  • edc_server 和 edc-web 共享同一 MySQL 数据库
  • edc_server 使用 aiomysql (异步)edc-web 使用 pymysql (同步),互不冲突
  • 前端通过 edc-web 的 REST API 下发指令,实际执行由 edc_server 的轮询任务完成

3.3 端口分配

端口 方向 协议 说明
5500 监听 UDP EDC 设备发现 / 心跳
5505 监听 UDP EDC 消息监听
5550 监听 TCP EDC 时间同步 / 数据上报 / 串口透传
4900 发送 UDP 向设备发送 SerialNet 透传指令
5550 发送 TCP 向设备发送 TCP 数据
5000 监听 HTTP edc-web Flask 管理界面

3.4 项目结构

vd_test_fixture/
├── edc_server/          # EDC 边缘数据中心(后端服务)
│   └── src/
│       ├── server.py    # UDP/TCP 异步网络服务
│       ├── handlers.py  # 业务处理 + parse_loop/serialnet_loop 轮询
│       ├── models.py    # 数据库 DDL + aiomysql CRUD
│       ├── dg430.py     # DG430 二进制协议解析 (B2/B4/4C/4B)
│       └── protocol.py  # PGLC JSON 协议解析
├── edc-web/             # Flask Web 管理系统(前端)
│   └── app/
│       ├── models.py    # pymysql 同步数据库操作
│       ├── auth.py      # Flask-Login 认证
│       ├── routes/      # 页面路由 (fixture/test_data/test_op/devices/users/logs)
│       ├── templates/   # Jinja2 HTML 模板
│       │   ├── fixture.html         # 工装配置页(含线圈/车辆关联)
│       │   ├── test_data.html       # 测试信息查询页(三视图 + 图表)
│       │   ├── test_op.html         # 测试操作页(自动化 + 波动数据显示)
│       │   ├── coil_info.html       # 线圈参数管理页 🆕
│       │   ├── simulate_car.html    # 模拟车辆管理页 🆕
│       │   └── vehicle_base_test.html # 车检器基准管理页
│       └── static/
│           ├── css/style.css
│           └── js/
│               ├── fixture.js       # 工装配 JS线圈/车辆选择联动)
│               ├── test_data.js     # 测试信息 JS三视图/图表/分页)
│               ├── coil_info.js     # 线圈管理 JS 🆕
│               ├── simulate_car.js  # 模拟车辆管理 JS 🆕
│               └── ...
└── docs/                # 协议文档 + 培训手册

4. 硬件环境

4.1 DG430 地感测试工装

DG430 是执行测试的核心硬件,负责控制电机驱动模拟车辆经过地感线圈,并采集车检器的响应数据。

接口:

接口 连接 说明
IN1/GND 地感存在信号 检测线圈是否有车
IN2/GND 地感脉冲信号 检测脉冲继电器
IN3/COM 按钮 按下开始测试
IN4/COM 按钮 按下复原位置
PU+/PU-/DR+/DR-/MF+/MF- 电机驱动器 控制电机前进/后退
+5V/GND/NO/NC 限位开关 有信号电机停转
485A/485B RS485 接 PGLC 联网终端
GND/LP 地感线圈 模拟车辆通过
SW3 激光探头 检测进入/离开

拨码开关:

  • DIP1=OFF, DIP2=OFF → 测试 132 系列地感
  • DIP1=ON, DIP2=OFF → 测试 110 系列地感

声音提示:

声音 含义
2 声 工作频率/峰峰值异常
3 声 灵敏度异常
4 声 灵敏度提升异常 (132 DIP5)
5 声 非离开脉冲
6 声 脉冲继电器无输入

4.2 PGLC 联网终端 (DNT)

PGLC 终端是连接 EDC 服务和 DG430 工装的网络桥接设备:

  • 通过 RS485/TTL 串口 连接 DG430 工装
  • 通过 TCP/UDP 网络 连接 EDC 服务
  • 负责串口数据与网络数据的双向透传

4.3 测试环境准备 🆕

V2.0.0 新增了测试环境记录能力。在实际测试中,需要准备的硬件包括:

  1. 地感线圈: 安装在地面的感应线圈,需记录形状/尺寸/电感量/圈数等参数
  2. 模拟车辆(金属板): 安装在工装电机上的金属板,用于模拟车辆通过线圈

以上两类参数需要在 edc-web 中预先录入,并在工装配置页关联到具体设备。


5. EDC 服务 (edc_server)

5.1 功能概述

EDC 服务是整个系统的数据中枢,负责:

  1. 设备管理: 发现、注册、心跳检测、在线状态维护
  2. 数据采集: 接收设备上报的测试数据、原始传感数据
  3. 协议解析: 解析 DG430 二进制协议提取测试结果B2 + B4
  4. 指令透传: SerialNet 透传机制,将前端指令下发给设备
  5. 后台轮询: 自动化测试调度、超时检测、状态流转

5.2 启动方式

cd edc_server
source .venv/bin/activate

# 配置环境变量
export EDC_MYSQL_HOST=127.0.0.1
export EDC_MYSQL_USER=dg
export EDC_MYSQL_PASSWORD=123456
export EDC_MYSQL_DB=edc

# 启动
python run.py

⚠️ 启动时自动执行数据库表创建和 ALTER TABLE 迁移,无需手动建表。

5.3 数据库表结构

表名 用途 关键字段
dnt_info 联网终端信息 serial(唯一), ip, state(在线/离线)
tb_state_tst 设备测试状态 dnt_id, test_mode, data_source, ppvalue, idle_freq, …, coil_id, simulate_car_id 🆕
tb_serialnet 透传发送队列 dnt_id, send_pkg, rcv_pkg, state(0未发→1已发→2完成→3超时)
tb_fixture_param 工装测试参数 dnt_id(UNIQUE), DevType, TestMode, FarTol…, coil_id, simulate_car_id 🆕
tb_coil_info 🆕 线圈参数 coil_num, name, induct, shape, length/width/radius, turns, resistance, material
tb_simulate_car 🆕 模拟车辆参数 simulate_num, name, shape, length/width/radius, material
tb_vechicle_base_test 车检器基准参数 type_num(编码), SensMin/SensMax, FreMin/FreMax, PeakMin/PeakMax
tb_user 用户账号 username, password_hash, role(admin/operator)
tb_log 操作日志 user_id, action_type, target, detail, result, ip
tb_collect_{DeviceID} 设备原始数据采集表 dat_type, raw_data, state(0未处理/1已处理)

5.4 关键流程

设备注册流程

设备上电 → TCP 时间同步 → UDP 上报 Count_Off → EDC 检查 serial
    ├─ 已注册 → 更新 IP/网关 + last_login
    └─ 未注册 → 插入 dnt_info + 创建 tb_collect_{DeviceID}

SerialNet 透传流程

前端 → edc-web → INSERT tb_serialnet (state=0)
    → serialnet_loop 轮询 → UDP 发送到设备 (state=1)
    → 设备回复 TSReport(dat_type=8 或 9)
    → parse_loop 解析 → UPDATE tb_serialnet (state=2, rcv_pkg=...)
    → 前端轮询 api/fixture/serialnet/{id} → 显示结果

测试数据写入流程 🆕

parse_loop 解析 B2/B4 数据 → 查询 tb_fixture_param
    ├─ B2: 提取 coil_id, simulate_car_id → 写入 tb_state_tst
    └─ B4: 提取 coil_id, simulate_car_id + DevType → 写入 tb_state_tst (含 sub_type, str_type)

6. EDC 管理系统 (edc-web)

6.1 功能概述

edc-web 是基于 Flask 的 Web 管理系统,提供图形化操作界面。

功能模块:

模块 URL 功能 V2 变化
登录 /login 用户认证 (Flask-Login)
设备管理 / 联网终端列表、在线状态、名称修改
测试操作 /test-op/<dnt_id> 单次测试、手动控制、自动化测试、波动数据显示 🆕 新增波动测试区
测试信息 /test-data 三视图(全部/B2/B4+ ECharts 图表 + 时间精筛 + Admin 删除 🆕 大幅增强
工装配置 /fixture/<dnt_id> DG430 参数配置 + 波动参数 + 线圈/车辆关联 🆕 新增关联
线圈参数 🆕 /coil-info 线圈参数增删改查 🆕 新增
模拟车辆 🆕 /simulate-car 模拟车辆参数增删改查 🆕 新增
车检器基准 /vehicle-base-test 车检器测试基准参数管理
用户管理 /users 账号管理 (admin only)
操作日志 /logs 操作记录审计 🆕 覆盖更全

6.2 启动方式

cd edc-web
source .venv/bin/activate

# 配置环境变量(与 edc_server 相同)
export EDC_MYSQL_HOST=127.0.0.1
export EDC_MYSQL_USER=dg
export EDC_MYSQL_PASSWORD=123456
export EDC_MYSQL_DB=edc

# 启动(默认 5000 端口)
python run.py

首次启动: 自动创建默认管理员 admin / admin123

6.3 用户角色

角色 权限
admin 全部功能:设备管理、测试操作、数据删除、用户管理、日志查看、参数管理
operator 受限功能:设备管理、测试操作、数据查看(无删除权限)

7. 通信协议

7.1 DG430 串口协议

DG430 与 PGLC 终端之间的通信协议,采用一问一答方式。

数据包格式 (7 字节):

┌──────┬──────┬──────┬──────┬──────┬──────┬──────┐
│ STX  │ ADDR │ LEN  │ CMD  │ DATA │ XOR  │ SUM  │
│ 0x7F │ 1B   │ 1B   │ 1B   │ LEN-1│ 1B   │ 1B   │
└──────┴──────┴──────┴──────┴──────┴──────┴──────┘

测试操作指令

指令 CMD Hex (addr=0x01) 说明
开始测试 B0 7F 81 01 B0 30 32 启动一次测试流程
测试复原 B1 7F 81 01 B1 31 33 恢复到初始位置
电机前进 BA 7F 81 01 BA 3A 3C 电机正转
电机后退 BB 7F 81 01 BB 3B 3D 电机反转
电机停止 BC 7F 81 01 BC 3C 3E 电机停止

工装配置指令 (V2.0.x)

指令 CMD 说明
获取版本号 4A 查询 DG430 固件和硬件版本
配置测试参数 4B 下发工装参数(含波动参数),动态构造
查询测试参数 4C 查询当前全部参数
出厂初始化 4D 恢复出厂设置
设备复位 4E 重启 DG430 设备

⚠️ 端序注意: B2 上报和 0x4B/0x4C 的 2 字节字段统一用小端 (_le16)。

B2 状态上报(灵敏度测试)

字段 说明 范围
State 设备状态 正常/故障
Mode 工作模式
Sens 灵敏度 实际值
PPValue 峰峰值 mV
IdleFreq 开始工作频率 kHz
EnterFreq 进入工作频率 kHz
EnterDist 进入距离 mm
ExitDist 离开距离 mm
EnterSpeed 进入速度 dm/s
ExitSpeed 离开速度 dm/s

B4 状态上报(波动测试)🆕

字段 说明 范围
RemainCount 剩余波动次数
WorkFreq 当前工作频率 Hz
CurrDist 当前距离 mm
Speed 当前速度 dm/s
NearDist 最近距离 mm
FarDist 最远距离 mm
EnterDist 进入高度 mm
LeaveDist 离开高度 mm
RelayOut 继电器输出 0x00~0x03

0x4B 配置参数结构 (V2.0.3)

字段 字节 说明
Addr 1 工装设备地址
DevType 1 被检设备型号类型编码1=PD132, 2=DLD110
TestMode 1 0=灵敏度测试, 1=波动测试
RestDis 1 复位距离 cm
MinusDis 1 皮距/开始距离 cm
SensMin/Max 2+2 LE 灵敏度范围
FreMin/Max 2+2 LE 频率范围 Hz
PeakMin/Max 2+2 LE 峰峰值范围
FarTol 1 最远容差 cm 🆕
NearTol 1 最近容差 cm 🆕
StepTol 1 步进容差 cm 🆕
BackForth 1 来回次数 🆕
NearStay 2 LE 最近停留时间 ms 🆕
FarStay 2 LE 最远停留时间 ms 🆕

7.2 PGLC 网络接口协议

EDC 服务与 PGLC 终端之间的 JSON 协议。

Method 方向 说明
TimeStamp 设备→EDC 时间同步请求
Count_Off 设备→EDC 设备注册/发现
TSReport 设备→EDC 子设备数据上报
SerialNet EDC→设备 串口透传指令下发
Heartbeat 设备→EDC 心跳包

8. 操作指南

8.1 登录系统

  1. 浏览器访问 http://<服务器IP>:5000/login
  2. 默认账号: admin / admin123
  3. 登录后跳转到设备管理页

8.2 设备管理

查看设备列表:

  • 首页展示所有联网终端
  • 显示序列号、名称、IP、在线状态

修改设备名称:

  • 点击设备行的名称编辑图标
  • 输入新名称后提交保存

进入测试: 点击设备行右侧的「测试」按钮 进入工装配置: 点击「工装配」按钮 🆕

8.3 工装配置(重要:新设备必做)🆕

⚠️ 新设备首次使用,必须先完成工装配置并保存到数据库,然后才能进行测试。

8.3.1 配置前置准备

  1. 进入「线圈参数管理」页面(/coil-info),录入测试使用的线圈参数
  2. 进入「模拟车辆参数管理」页面(/simulate-car),录入金属板参数
  3. 进入「车检器测试基准参数管理」页面(/vehicle-base-test),录入车检器型号基准

8.3.2 工装参数配置

从设备页面点击「工装配」进入配置页:

左侧 - 工装测试参数:

  1. 设置工装设备地址(默认 1
  2. 选择测试模式:灵敏度测试(0) 或 波动测试(1)
  3. 设置复位距离、皮距
  4. 从下拉框选择被检设备型号(自动填充灵敏度/频率/峰峰值范围)
  5. 如选择波动测试模式,还需配置 6 个波动参数:
    • 最远容差 / 最近容差 / 步进容差cm
    • 来回次数
    • 最近停留时间 / 最远停留时间ms

右侧 - 关联参数: 6. 在「关联线圈参数」下拉框选择使用的线圈 7. 在「关联模拟车辆参数」下拉框选择使用的金属板

8.3.3 保存配置

点击 💾 保存」 按钮将参数保存到数据库。

保存会自动记录操作日志。线圈和模拟车辆关联不需要下发透传到工装硬件,仅记录在数据库中用于测试环境追溯。

8.3.4 其他工装操作

按钮 指令 说明
📋 获取版本号 0x4A 查询 DG430 固件/硬件版本
🔍 查询参数 0x4C 从设备读取当前参数(结果自动更新表单)
📤 配置参数 0x4B 下发配置到 DG430 设备(同时自动保存到数据库)
🏭 出厂初始化 0x4D 恢复 DG430 出厂设置
🔄 设备复位 0x4E 重启 DG430 设备

通信日志: 每次操作后自动显示 hex 收发记录和结果。

8.4 手动测试操作

在测试操作页面(点击设备行的「测试」按钮):

  1. 单次测试: 点击「开始测试」按钮DG430 执行一次完整测试流程
  2. 手动控制 (仅 admin):
    • 测试复原: 恢复初始位置
    • 电机前进/后退/停止: 手动控制电机
  3. 实时数据: 页面自动显示设备上报的最新测试数据

8.5 自动化测试 🆕

V2.0.0 自动化测试支持可配置的间隔和超时:

  1. 设置间隔时间(秒,默认 100 表示无间隔连续测试)
  2. 设置超时时间(秒,默认 5单次测试最大等待时间
  3. 填入测试次数
  4. 点击「开始」按钮
    • 进度条显示 已完成/总数
    • 成功/失败计数实时更新
    • 平均值区域持续刷新
    • 波动测试数据区实时显示 B4 上报 🆕
  5. 如需中途停止,点击「结束」按钮

自动化流程:

开始 → INSERT tb_serialnet (0xB0, state=0)
     → serialnet_loop 发送 UDP (state=1)
     → 等待设备 B2/B4 上报
     → parse_loop 解析存入 tb_state_tst含线圈/车辆关联)
     → 匹配 serialnet 记录 (state=2)
     → 前端轮询进度 → 等待间隔 → 自动发送下一次 0xB0
     → ...重复...
     → 全部完成 / 超时(fail) / 手动结束

超时处理: 单次测试超时计入失败,跳过间隔时间立即发送下一条。连续超时不阻塞。

8.6 测试数据查询 🆕

8.6.1 三视图切换

进入「测试信息」页面,顶部三个标签页:

  • 全部数据: 显示所有测试记录(灵敏度+波动),通用列布局
  • 灵敏度测试 (0xB2): 仅显示 B2 来源数据,含故障信息、继电器、进入/离开频率等专属列
  • 波动测试 (0xB4): 仅显示 B4 来源数据,含工作频率、当前距离、剩余次数等专属列

8.6.2 搜索筛选

筛选项 说明
设备编码 模糊搜索 serial
时间范围 日期 + 时分秒(可选),只填日期不填时间则 date_to 自动取 23:59:59
每页 20 / 50 / 100 条

「测试环境」列显示关联的线圈编号和模拟车辆编号。 🆕

8.6.3 图表视图

点击「📈 图表」按钮切换为 ECharts 交互式图表:

  • B2 图表: 峰峰值(V)、开始/进入/离开频率(Hz)、进入/离开距离(mm)、进入/离开速度(dm/s) + 继电器状态
  • B4 图表: 工作频率(Hz)、当前距离(mm)、速度(dm/s)、最近/最远距离(mm)、进入/离开高度(mm) + 继电器状态
  • 操作: dataZoom 缩放、图例点击显隐、右键保存为 2x PNG

图表切换到「全部」视图时自动跳转到 B2 视图。

8.6.4 导出 CSV

点击「导出 CSV」按钮下载当前筛选条件下的全部数据为 CSV 文件。

8.6.5 Admin 数据删除 🆕

仅 admin 可见「🗑 删除」按钮:

  1. 设置筛选条件(设备编码 / 时间范围 / 数据来源)
  2. 点击「🗑 删除」
  3. 确认框显示筛选条件,确认后执行删除
  4. 删除操作记录到 tb_log
  5. ⚠️ 无筛选条件时不删除任何数据

8.7 参数管理 🆕

线圈参数管理 (/coil-info)

支持线圈参数的全生命周期管理:

  • 新增: 填写线圈编号、名称、电感量、形状、尺寸、圈数、电阻、材质、备注
  • 编辑: 点击表格行的「编辑」按钮修改
  • 删除: 点击「删除」按钮(需确认)
  • 搜索: 按编号或名称模糊搜索
  • 所有操作自动记录到操作日志

模拟车辆参数管理 (/simulate-car)

支持模拟车辆(金属板)参数的全生命周期管理:

  • 模拟编号、名称、形状、尺寸、材质、备注
  • 操作方式和线圈管理一致

车检器测试基准管理 (/vehicle-base-test)

管理不同型号车检器的测试基准参数:

  • 类型编码、型号名称
  • 灵敏度/频率/峰峰值范围
  • 备注

8.8 用户管理 (admin only)

  1. 点击「用户管理」菜单
  2. 功能: 添加新用户、修改角色、删除用户

8.9 操作日志

  1. 点击「操作日志」菜单
  2. V2.0.0 覆盖更全的操作类型:
    • login / logout: 登录/登出
    • command: 指令下发(工装配/测试操作)
    • create / update / delete: 参数管理操作(线圈/车辆/基准/工装)

9. 常见问题

9.1 新设备如何开始测试?

  1. 确保设备在线(设备列表显示"在线"
  2. 录入线圈参数/coil-info 添加测试使用的线圈
  3. 录入模拟车辆参数/simulate-car 添加金属板参数
  4. 录入车检器基准/vehicle-base-test 添加车检器型号
  5. 配置工装参数 → 进入工装配页,设置参数、关联线圈和车辆,点击「💾 保存」
  6. 进入测试操作页开始测试

9.2 波动测试和灵敏度测试有什么区别?

维度 灵敏度测试 波动测试
目的 检测车检器灵敏度、峰峰值等静态指标 检测车检器在工作范围内的动态稳定性
运动方式 单次进入→离开 多次往复运动
数据标识 data_source=B2 data_source=B4
配置 TestMode=0 TestMode=1需配波动参数
查询 选「灵敏度测试」标签 选「波动测试」标签

9.3 线圈/模拟车辆关联有什么用?

线圈和模拟车辆关联不会下发到硬件,仅记录在数据库中。当测试记录写入 tb_state_tst 时,会自动带上当时的线圈和车辆信息,方便后续数据分析时了解测试环境(例如"某批次测试用了哪种线圈、哪种金属板")。

9.4 设备离线

现象: 设备列表显示"离线"

排查:

  1. 检查设备供电是否正常
  2. 检查网络连接ping 设备 IP
  3. 查看 edc_server 日志,确认是否收到心跳
  4. 设备超时阈值: 默认 120 秒(EDC_DEVICE_TIMEOUT

9.5 测试超时

现象: 自动化测试中连续超时

排查:

  1. 检查 DG430 工装是否正常上电
  2. 检查 RS485 连接是否正确
  3. 在工装配页发送「获取设备版本号」(0x4A),验证通信链路
  4. 可调整超时时间(默认 5 秒)

9.6 速度显示异常

现象: 速度值看起来偏大 10 倍

原因: DG430 协议存储的是 dm/s分米/秒),系统已自动转换为 m/s米/秒)。如果发现显示值异常,检查转换逻辑。

9.7 时间显示偏移 8 小时

现象: 测试数据时间比实际晚 8 小时

已修复: V2.0.0 已修复 Flask jsonify 的 "GMT" 后缀导致的时区偏移问题所有时间按服务器本地时间UTC+8显示。


10. 附录

A. DG430 指令速查

┌──────────────────────────────────────────────────────────────────┐
│                     DG430 指令速查表                               │
├────────┬──────────┬──────────────────────────────────────────────┤
│  CMD   │  指令     │  Hex (addr=0x01)                            │
├────────┼──────────┼──────────────────────────────────────────────┤
│  0xB0  │ 开始测试  │  7F 81 01 B0 30 32                          │
│  0xB1  │ 测试复原  │  7F 81 01 B1 31 33                          │
│  0xBA  │ 电机前进  │  7F 81 01 BA 3A 3C                          │
│  0xBB  │ 电机后退  │  7F 81 01 BB 3B 3D                          │
│  0xBC  │ 电机停止  │  7F 81 01 BC 3C 3E                          │
│  0x4A  │ 版本查询  │  7F 81 01 4A CA CC                          │
│  0x4B  │ 配置参数  │  动态构造(含波动参数)                        │
│  0x4C  │ 查询参数  │  7F 81 01 4C CC CE                          │
│  0x4D  │ 出厂初始化 │  7F 81 01 4D CD CF                          │
│  0x4E  │ 设备复位  │  7F 81 01 4E CE D0                          │
└────────┴──────────┴──────────────────────────────────────────────┘

B. 数据库快速参考

-- 查看在线设备
SELECT serial, name, ip, state, last_login FROM dnt_info WHERE state=1;

-- 查看最近灵敏度测试数据
SELECT s.*, d.serial 
FROM tb_state_tst s JOIN dnt_info d ON s.dnt_id = d.id 
WHERE s.data_source='B2' ORDER BY s.create_time DESC LIMIT 20;

-- 查看最近波动测试数据
SELECT s.*, d.serial 
FROM tb_state_tst s JOIN dnt_info d ON s.dnt_id = d.id 
WHERE s.data_source='B4' ORDER BY s.create_time DESC LIMIT 20;

-- 查看测试环境(线圈+车辆关联)
SELECT t.create_time, d.serial, c.coil_num, c.name as coil_name, 
       sc.simulate_num, sc.name as car_name
FROM tb_state_tst t
JOIN dnt_info d ON t.dnt_id = d.id
LEFT JOIN tb_coil_info c ON t.coil_id = c.id
LEFT JOIN tb_simulate_car sc ON t.simulate_car_id = sc.id
ORDER BY t.create_time DESC LIMIT 20;

-- 查看待发送指令
SELECT * FROM tb_serialnet WHERE state=0;

-- 查看操作日志
SELECT l.*, u.username 
FROM tb_log l JOIN tb_user u ON l.user_id = u.id 
ORDER BY l.create_time DESC LIMIT 50;

C. 环境变量速查

变量 默认值 说明
EDC_MYSQL_HOST 127.0.0.1 MySQL 地址
EDC_MYSQL_PORT 3306 MySQL 端口
EDC_MYSQL_USER dg 数据库用户
EDC_MYSQL_PASSWORD 123456 数据库密码
EDC_MYSQL_DB edc 数据库名
EDC_UDP_PORT 5500 UDP 设备发现
EDC_UDP_MSG_PORT 5505 UDP 消息监听
EDC_TCP_PORT 5550 TCP 数据上报
EDC_DEVICE_UDP_PORT 4900 设备端 UDP
EDC_DEVICE_TCP_PORT 5550 设备端 TCP
EDC_DEVICE_TIMEOUT 120 设备离线超时(秒)
EDC_PARSE_POLL_INTERVAL 0.5 解析轮询间隔(秒)
EDC_LOG_LEVEL INFO 日志级别
EDC_WEB_PORT 5000 Web 管理端口

D. 新设备配置检查清单

  • 设备上电,确认在线状态
  • /coil-info 录入线圈参数
  • /simulate-car 录入模拟车辆参数
  • /vehicle-base-test 录入车检器基准
  • 工装配页:设置测试模式、被检设备型号
  • 工装配页:关联线圈和模拟车辆
  • 工装配页:点击「💾 保存」
  • (可选)「📤 配置参数」下发到 DG430
  • 进入测试操作页开始测试

E. 修订历史

版本 日期 说明 作者
V1.0 2026-05-31 初始版本(灵敏度测试 + 基本工装配置) wangfq
V2.0.0 2026-06-08 新增波动测试、线圈/车辆管理、三视图图表、时间精筛、自动化增强 wangfq