7.2 KiB
测试工装EDC服务
1 文档说明
EDC : Edge Data Center 边缘数据中心、主机
《自动化工装EDC网络接口协议》: 测试工装EDC服务支持的网络接口协议说明
2 数据库表结构
2.1**dnt_info** — 联网终端信息表
DNT(Data Network Terminal)是连接子设备的联网终端。
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
id |
int | PK, AUTO_INCREMENT | 主键 |
serial |
varchar(45) | UNIQUE | 序列号(唯一) |
name |
varchar(45) | 名称 | |
ip |
varchar(45) | IP 地址 | |
port |
int | 端口 | |
mac |
varchar(45) | MAC 地址 | |
subnet |
varchar(45) | 子网掩码 | |
gateway |
varchar(45) | 路由地址 | |
msgport |
int | 消息端口 | |
version |
varchar(45) | 固件版本 | |
dtype |
varchar(5) | DEFAULT '0' | 设备类型(重要) |
poll_duration |
int | DEFAULT 0 | 轮询间隔 |
reset_duration |
int | DEFAULT 0 | 重启间隔 |
state |
tinyint | DEFAULT 0 | 在线状态:1 online, 0 offline |
last_login |
datetime | 最后上线 | |
last_off |
datetime | 离线时间 | |
online_total |
int | DEFAULT 0 | 累计在线时长 |
dtype 设备类型枚举:
| 值 | 说明 |
|---|---|
| 1 | 区位 有线 |
| 2 | 超声波车位 有线 |
| 3 | 4G_1 |
| 4 | 4G_2 |
| 5 | LoRa 区位主机 |
| 6 | LoRa 区位从机 |
| 7 | LoRa 车位主机 |
| 8 | LoRa 车位从机 |
| 9 | LoRa 广播模式 |
| 10 | LoRa 中继 |
| 11 | 中继模式(485-2) |
| 12 | 4G 上报传感数据(MQTT) |
| 13 | 有线 上报传感数据(MQTT) |
| 14 | 有线 显示发布(MQTT) |
| 20 | DLD950 流量计数 |
| 30 | 测试工装 |
2.2 **tb_loop_test_info** 车检器测试参数信息表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
id |
int | PK, AUTO_INCREMENT | 主键 |
name |
varchar(45) | 名称 | |
dev_model |
varchar(24) | 设备型号 | |
model_code |
tinyint | 型号代号 | |
hard_ver |
varchar(10) | 硬件版本 | |
soft_ver |
varchar(10) | 固件版本 | |
relay_exist |
tinyint | 是否有存在继电器 | |
relay_pluse |
tinyint | 是否有脉冲继电器 | |
sens_min |
int | 灵敏度最小值 | |
sens_max |
int | 灵敏度最大值 | |
freq_min |
int | 频率最小值 | |
freq_max |
int | 频率最大值 | |
peak_min |
int | 峰峰值最小值 | |
peak_max |
int | 峰峰值最大值 | |
create_time |
datetime | 创建时间 | |
update_time |
datetime | 更新时间 |
2.3 **tb_state_tst** — 设备测试状态表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
id |
int | PK, AUTO_INCREMENT | 主键 |
dnt_id |
int | FK → dnt_info.id | 所属 DNT |
dpg430_addr |
tinyint | 测试工装DPG430地址 | |
pcnum |
varchar(10) | 批次号: 年月,如202605 | |
serialnum |
int | 流水号,当月测试的流水号 | |
sub_type |
tinyint | 子设备类型:1 DLD110, | |
str_type |
varchar(30) | 设备类型 | |
iffinish |
varchar(5) | 是否测试完成 | |
fault_info |
varchar(100) | 故障信息 | |
relay_out |
varchar(24) | 继电器输出信息 | |
ppvalue |
float | 峰峰值 | |
idle_freq |
float | DEFAULT 0 | 开始工作频率 |
enter_freq |
float | DEFAULT 0 | 进入工作频率 |
exit_freq |
float | DEFAULT 0 | 离开工作频率 |
enter_dist |
int | DEFAULT 0 | 进入高度/距离 |
exit_dist |
int | DEFAULT 0 | 离开高度/距离 |
enter_speed |
int | DEFAULT 0 | 进入速度 |
exit_speed |
int | DEFAULT 0 | 离开速度 |
create_time |
datetime | 记录时间 |
外键: dnt_id → dnt_info.id
2.4 **tb_collect_template** —原始数据采集表模板
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
id |
int | PK, AUTO_INCREMENT | 主键 |
dat_type |
tinyint | DEFAULT 0 | 数据类型 : 0 心跳包, 1 流量传感数据,2 探头传感数据,3 其他, 4 同步时间戳,7 RS485数据,8 串口主动上报数据,9 配置返回指令,11 异常事件 |
raw_data |
varchar(380) | 原始数据 | |
state |
tinyint | DEFAULT 0 | 0 未处理, 1 已经处理 |
create_time |
datetime | DEFAULT CURRENT_TIMESTAMP | 原始数据 |
update_time |
datetime | DEFAULT CURRENT_TIMESTAMP | 原始数据 |
3 流程描述
主机UDP服务,监听端口:5500,5505
主机TCP服务,监听端口:5550
1 设备上电后,设备通过TCP连接上主机后,会发出同步时间请求("TimeStamp"),主机返回时间同步信息,设备收到后,会立刻通过UDP上报 发现设备指令("Count_Off") 返回数据,以让主机获取设备的详细信息。主机获取到设备的详细信息后,设备的唯一编码是 Device_id字段,在 dnt_info表格里检查有没有改设备的信息,主要是根据设备的串码、设备唯一编码: serial。主机通过UDP获取到的设备的 Device_id在 数据库表 dnt_info的 serial里面,表示已经注册了该设备的信息,只比较该表格相应记录里面的IP、网关信息,如果一致,就只更新 last_login上线时间信息;如果不一致,就更新该表格里相应记录im的IP、网关信息,同时更新 last_login上线时间信息。如果主机通过UDP获取到的设备的 Device_id不在 数据库表 dnt_info的 serial里面,那么需要根据 该设备唯一编码 和 原始数据采集表模板 创建新的原始数据采集表,表名的格式为 tb_collect_[Device_id],例:如果Device_id 为 A123456,那么该设备的原始数据采集表名为:tb_collect_A123456。
2 设备主动上报子设备传感数据指令(方法名为 TSReport) 和 设备返回的串口透传指令信息(方法名为SerialNet) 会存放到该 设备所关联的原始数据采集表里面。主动上报子设备传感数据包对应的 dat_type是 8,将传感数据包的 Sub_Dat对应的内容插入到 原始数据采集表的 raw_data字段里面。设备返回的串口透传指令的数据包对应的 dat_type是 9,将该透传数据包的 SerialDat对应的内容插入到 原始数据采集表的 raw_data字段里面。
3 业务解析服务,当原始数据采集表有未处理的记录时(state字段的值为0),业务解析服务马上提取该记录进行解析,只解析该记录的 dat_type为8时的记录,该原始数据为测试工装的上报数据,具体的解析方法参考《测试工装DG430串口协议》文档有关数据包的格式说明,将解析后的内容插入到表格 tb_state_tst。只要业务解析服务 提取过的记录,最后都要将记录状态置位(state字段的值置为1)。
修订说明
| 版本 | 修订日期 | 说明 | 修订人 |
|---|---|---|---|
| V1.0 | 2026-05-27 | 初始版本 | wangfq |