封面为 AI 概念示意。
工业设备断网后怎样继续做数据追溯
先在工位完成可确认的本地保存,再把待上传事件交给后台同步。网络恢复后按稳定事件编号补传,由服务端返回业务确认,工位保存对账状态。应在开工前定义哪些工单允许离线、哪些依赖实时授权,以及本地存储满时停在哪一步。本文以公开的连接器插拔寿命测试机方案中的测试记录为参考,扩展成适用于工业上位机的离线追溯设计。
先确定扫码工位的业务规则
断网可能来自车间 Wi-Fi、工控机、服务端或账户权限。单次接口超时无法判断服务端是否已经保存,界面也不能根据网络图标直接显示数据已提交。上位机要区分本地结果已保存、等待同步、服务端已确认和人工复核。一个测试从绑定工件、下发任务、接收结果到生成报告,需要有可恢复的中间状态。先画一张责任图,明确设备、工控机和平台分别能确认什么。
| 工位场景 | 离线策略 | 复核点 |
|---|---|---|
| 已授权工单继续测试 | 使用仍有效的本地工单与配方 | 校验版本及离线许可范围 |
| 新工单无法校验 | 按业务约定暂停或进入授权流程 | 避免错误条码进入下一工序 |
| 设备已完成但主机重启 | 根据任务号查询并补录结果 | 缺失时进入人工复核 |
| 上位机保存后断网 | 保留本地结果和待同步事件 | 网络恢复后按事件号去重 |
| 本地容量接近上限 | 告警、停接新任务或按约定降级 | 保护已完成记录与关键附件 |
不同行业对离线权限有不同要求。工件首次出现、质量放行和返修复测往往需要额外权限。设计时把权限与业务动作绑定,明确身份过期如何处理,不能让缓存的任意工单长期可执行。质量团队要先确认测试无效、产品不合格、流程中断和网络未同步四者的区别,避免将流程异常直接写成产品不合格,也避免将未测试的产品显示为通过。
总体架构与工位装配
flowchart LR A[条码与任务] --> B[工位应用] C[测试仪或PLC] --> B B --> D[本地事务与附件索引] D --> E[后台同步队列] E --> F[服务端写入与去重] F --> G[查询与对账] G --> B
工位先布置操作者能看到和能触及的部件。扫码器的安装方向要覆盖真实标签位置和工件姿态,防止旁边的工装条码抢读。显示屏应同时看清工件号、工序和本地保存状态,测试异常时提示应指向可操作事项。工控机、电源和网络设备留出检修空间。生产区如有油污、振动或长期粉尘,应在实际工位验证连接器、散热和操作界面。紧急停止、限位与设备保护由专用控制设计承担,上位机负责呈现状态和记录业务结果。
工控机可放在侧柜、面板或工作台下方,布局取决于实际接线和维修方式。触摸屏和扫码窗口应便于清洁,避免线束跨过工件通道。扫码动作往往发生在装夹前后,若操作员需要反复绕开传感器或夹具,会诱发跳过扫码、贴错标签或人工代录。样机阶段可用普通支架先跑真实操作,调整高度与角度后再固化金属件。对于由条码定位到工装位的系统,逐一验证同屏多个位置的对应关系,工件移位时记录工位事件而非直接修改旧条码。
线束与端子标签应和应用中的设备标识对应。把示波器或维护电脑接入时不能拆掉关键传感链路,维护模式要保留可诊断的串口或网络信息。使用多个扫码器时,应用要保存输入来源,禁止依赖系统键盘焦点识别工位。定制扫描触发前先确认相邻工位互相照明或读码不会串扰,实际样件中条码损伤和反光也应纳入读码试验。
在操作台上区分等待区、测试区和复测区。若有两个工装轮流工作,应定义工件移交时的识别步骤。夹具拆装后,重新测读码范围、标签视线和工件放置方向。确认一线人员戴手套时能选到正确操作,同时检查提示是否被设备、周转箱或工具遮挡。测试站需要有固定的样品和标签暂存位置,允许临时停机时保留工件对应关系。需要移动周转时,工位应显示哪些工件可离开,哪些还等待复核。样机验证可由现场操作员试做完整的一次交接,观察是否需要记忆屏幕外信息。
工控机、电气和通信接口
| 部分 | 硬件与接口 | 验证重点 |
|---|---|---|
| 工控机 | 处理器、内存、固态盘与网络 | 持续写入、温升及磁盘容量 |
| 扫码与工装 | 扫码器、到位信号、现场标识 | 重复扫码、错件和读码时序 |
| 仪器与控制 | PLC、测试仪、串口或工业以太网 | 任务编号、结果缓存和重连 |
| 供电与网络 | 电源分配、网络接入、可选后备电源 | 掉电顺序与链路切换 |
| 维护 | 独立诊断、日志导出与备份 | 故障可定位、换机可恢复 |
电气联调应先验证每条设备链路再跑完整流程。PLC 与仪器如果通过串口接入,记录协议版本、波特率、设备地址及超时,核对 USB 转串口重新插入后是否换号。以太网接入时要区分工位设备网与外部业务网络,现场交换设备断电时确认仪器仍按约定完成或中止当前测试。把到位、急停、设备忙和结果有效分别建模,避免把一个继电器状态误当所有条件满足。
硬件侧掉电时序会影响数据语义。用台架模拟测试仪先掉电、工控机先掉电、供电短暂波动与网络独立中断,观察结果缓存能否被读取。后备电源可以给主机留出保存和关机时间,仍需确认实际负载、切换时间、剩余容量和维护责任。选择固态存储时估算每天测试次数、每条结果大小、波形附件和保留周期,并结合写放大、工业环境和可更换性制定维护计划。测试站跑一天没问题,无法推断一月后持续写入的效果。
对于质量数据保留,要分工位本地、集中存储与备份三个层次。多工位数据库不要直接共享同一网络文件作并发写入,跨主机记录使用服务或明确同步接口。工控机更换后,由授权人员恢复设备身份和最近未确认的事件,设备身份重新绑定前不应自动将新事件归到其他工位。打印或扫码标签上的身份只用于识别,还应配合现场权限控制及审计记录。
联调时分别记录接收超时、校验失败和协议拒绝。用现场长度的线缆、完整扫码器与工装组合复测,确认负载切换时采集链路仍可工作。遇到偶发异常,保存供电波形与链路错误的对应时间,再定位接地、网络、线束或应用时序。必要时核对扫码器重连后的输入焦点与端口绑定。工控机有多个相同外设时,用实际端口拓扑或设备标识固定来源。换机或拔插后,应用应能够识别映射是否发生变化,并要求复核关键接口。配置表应明确每个通道属于哪个物理工位,便于维护人员检查。
本地数据、状态机与同步
一次测试结果生成后,把主结果与待发送事件在同一事务中保存。大波形、图片或附件可以独立存储,通过摘要和相对索引关联,并明确临时文件写完、校验和确认入库的次序。应用异常退出后扫描未完成的附件与事务状态,保留需人工复核的记录,避免创建没有结果的上传事件。SQLite 可作为单工位本地存储候选。若启用 WAL,备份应遵照数据库的安全备份机制并验证恢复,不能仅随手复制运行中的主文件。SQLite WAL 官方文档
| 数据对象 | 标识 | 保留内容 |
|---|---|---|
| 工单与配方 | 工单号、工序、配方版本 | 本次测试实际使用的快照 |
| 测试运行 | 工位号与运行 ID | 结果、测量单位、操作者角色 |
| 补传事件 | 稳定事件 ID | 内容摘要、重试次数、确认状态 |
| 附件 | 附件 ID 与内容摘要 | 路径、长度、完整性和同步状态 |
| 复测与更正 | 新运行 ID、关联原记录 | 原因、审核人、决定时间 |
配方与判定规则需要跟结果一起追溯,不能查询当前配置来推断当时使用的限值。工单缓存包括版本、有效范围和最后同步时刻。设备离线时,使用约定版本继续运行,生产主管确认升级后再切换,避免同一测试的前半段和后半段采用不同配方。复测保存成新运行,通过原始运行 ID 建立关系。统计报表分别显示首测和最终判定,保留原始不合格的证据。
同步接口要能区分接收与确认。服务端处理完成才给业务确认,网络层或代理的成功响应并不一定表示记录已经入库。客户端发送稳定事件号,服务端在唯一约束和事务下判重。同 ID 同内容可以返回已经确认,同 ID 不同内容应标为冲突并交给人工处理。批量上传要允许按条返回结果,成功的条目不随失败项反复重传。附件同步按业务选择先上传附件再确认结果,或分开标记并允许后补。每种策略都需验证掉电与中断恢复。
现场时间和平台时间可能不一致。系统至少记录采样时间、服务端接收时间及设备时钟可信度。本地排序使用工位内单调序号或运行事件关系,时钟回拨后也能复盘先后。服务端报表按业务日期归属时,要明确跨班、夜班和历史补传的处理,不能按收到的时间直接算当日产量。若客户需要报表与 MES 一致,交付时拿同一批真实脱敏记录做独立对账。
上位机建议让采集、业务状态、数据事务、同步和界面各自有清晰接口。界面通过状态查询或事件订阅刷新,避免在主线程等待网络重试。设备测试完成但本地保存失败时,提示保留工件状态与原始设备结果,待维护后补录。测试结果成功写盘后,可以继续接受下一个任务,是否允许离线应由工单策略判断。对重启、并发扫码和重复点击,使用同一运行 ID 及状态约束避免创建多个活动任务。
{"event_id":"demo-station-01-run-0042","work_order":"DEMO-07","recipe_rev":"A","attempt":1,"result":"pass","sync_state":"pending"}
并发联调时模拟两个工位同时扫描同一工件。若工序不允许并行,需要由业务系统判定唯一执行权。离线条件下无法确认全局状态时,应由本地许可和工艺规则共同决定能否继续。同步后发现重复运行,保留两次实际测量,把冲突交给质量团队处理并记录处置原因。
运行流程与异常恢复
flowchart LR
A[扫码并校验工单] --> B[执行测试]
B --> C[本地保存结果和待发事件]
C --> D[发送并等待业务确认]
D --> E{确认结果}
E -->|已入库| F[标记完成并可对账]
E -->|暂时不可达| G[保留队列并退避重试]
G --> D
E -->|业务冲突| H[人工复核并保留原记录]
| 风险 | 验证操作 | 验收重点 |
|---|---|---|
| 回执丢失 | 服务端写入后断开网络 | 补传不产生第二条业务结果 |
| 断电丢记录 | 在测试结束与保存的不同阶段掉电 | 可恢复或明确标记待复核 |
| 磁盘不足 | 写满预设阈值并继续扫码 | 状态可见,既有结果可读 |
| 记录错版 | 在线切换配方并在离线复测 | 能还原每次测试所用版本 |
| 批量补传卡住 | 一批混合正常、冲突和暂时失败 | 各条独立处理,冲突可诊断 |
样机、人员和后续扩展
| 阶段 | 交付物 | 参与方 |
|---|---|---|
| 工位梳理 | 流程、工单权限、离线规则 | 生产、质量和软件 |
| 软件联调 | 设备模拟器、本地事务和扫码闭环 | 上位机、PLC 与硬件 |
| 联网与异常测试 | 接口文档、补传日志和对账结果 | 后端、MES 与测试 |
| 小范围试用 | 安装包、恢复指南、报表和问题记录 | 现场维护与质量 |
工期主要取决于已有设备的接口质量、工单规则、需要保存的附件及平台联调排期。可以先用一台工位、一种工序做离线闭环,再扩展多工位、角色权限、集中备份和审计。交付时保存安装版本、数据库版本、设备映射与导出流程,确保工位换机后能恢复尚未同步的数据。系统接入 MES 后,还需要为报表口径、重复数据和冲突修正设置可操作的维护方式。
一笔测试怎样在断电后对账
假设工位接受工单后生成运行编号,仪器也能保存对应编号和最终结果。主机先记录开始事件,再等仪器返回实际结果。若主机在结果落库前掉电,恢复后先查看本地是否已有完成事件,再向仪器查询运行编号。如果仪器有记录,可以按原编号补录并标明恢复来源。如果仪器也没有记录,工件进入复核队列,系统给出待办和最后可确认动作。即使操作员能重新运行测试,也应给复测新的运行编号,保留与原运行的关联和重测原因。
| 恢复位置 | 本地证据 | 允许的下一步 |
|---|---|---|
| 扫码后,设备未接受 | 有运行编号,无设备确认 | 校验工件后取消或继续 |
| 设备完成,本地未落库 | 仪器有相同运行编号的结果 | 补录并标记恢复来源 |
| 本地已保存,平台未确认 | 主结果与待发事件均存在 | 按原事件编号重发 |
| 平台确认,工位状态丢失 | 对账接口查到同编号与内容摘要 | 写回同步状态,保留日志 |
| 两边均无结果 | 仅有开始记录或信息不全 | 人工复核,禁止推断质量结论 |
容量预算可以从每天五千条、每条元数据约两千字节的假设开始。元数据一天约十兆字节,七天约七十兆字节。若每条另带四十万字节波形,一天就约二吉字节,七天约十四吉字节,还要预留临时文件、索引、数据库日志、重试和备份空间。这个估算的用途是确定试验量级,不是承诺具体磁盘容量。项目可以用真实运行样本测平均值、峰值和长期增长,设置容量预警,明确哪类结果需要长期保留。若只能控制附件体积,应和质量团队确认哪种抽样或压缩策略仍满足追溯要求。
数据库变更应在样机阶段做一次恢复演练。升级前确认有没有未同步事件,保留可恢复备份,升级后重新扫描待发队列并核对旧事件编号是否还有效。界面和数据库升级可以分阶段,旧工位仍使用约定字段,平台先处理兼容期数据。若发现单条历史数据损坏,系统应标明无法验证的范围,并保留可读数据与修复记录。遇到主机换机,从备份恢复工位身份需要能阻止旧机同时继续上报,或者确保两台机器产生的事件编号域不重叠。
交付前建议用同一批工单分别走在线、离线和恢复三种工况,最后导出首测、复测、附件和同步事件。质量团队核对工件数量、处理状态和被归入的班次。软件团队核对设备日志、去重记录和队列剩余。维护人员按交付文档完成一次换机恢复,确认配方、设备映射、未同步结果都能正确恢复。只有参与方能复现这些操作,才适合放大到更多工位。
只有 Excel 检测记录,可以先做吗?
可以从真实表头、工单样例、扫码流程和仪器输出开始。先定义一笔结果怎样唯一对应工件、工位和配方,再考虑自动采集与联网。延伸阅读见物联网开发怎么选 MQTT 和 HTTP。联系初拓科技



近期评论