4. 追溯数据采集与边缘协同
多工厂追溯体系里,数据不是从ERP或MES“自动长出来”的,真正决定追溯粒度、时效与可信度的,是车间层的数据采集与边缘协同能力。车间层负责把物理世界的加工、装配、检验、包装、出入库等事件转成带时间戳、带工位/设备/批次标识的数据;边缘计算节点负责在靠近产线的地方完成协议适配、数据清洗、事件聚合、规则判断与本地留存;云端则承担跨工厂汇聚、全局追溯查询与长期归档。三者之间不是简单的“上传—存储”,而是一条有缓冲、有判断、有回退路径的数据链。
车间层数据采集:先解决“采什么、从哪采、怎么标识”
车间层采集对象通常分四类:设备信号(PLC寄存器、CNC状态字、机器人节拍、扭矩/温度/压力等过程参数)、条码/RFID标识(物料批次、托盘、载具、工单、序列号)、人工工位事件(扫码上料、首检确认、返修登记、包装封箱)以及检测设备结果(视觉判定、气密测试、电性能测试)。采集方式上,PLC常用S7、Modbus TCP、OPC UA;老旧设备可通过IO点位或串口转以太网网关接入;扫码枪与RFID读写器多走TCP/串口;检测设备常提供CSV落盘、数据库写入或HTTP回调。
采集的关键不是“连上”,而是建立统一的追溯主键。建议在边缘侧为每个生产事件生成event_id,并强制携带factory_id、line_id、station_id、equipment_id、work_order、batch_no、serial_no、event_time、event_type、payload。其中event_time应优先取设备时间或边缘网关时间,避免依赖人工录入时间。对于没有序列号的产品,至少要用“工单+批次+托盘号+时间窗”形成可回溯的最小关联。
边缘计算节点部署:位置、职责与资源边界
边缘节点不是“小服务器”这么简单,它承担的是车间级数据网关与轻量计算角色。部署位置通常有三种:产线级边缘盒(靠近PLC/工位,负责协议采集与实时缓存)、车间级边缘服务器(负责多产线汇聚、规则计算、本地数据库与断网续传)、厂区级边缘节点(负责跨车间汇聚与上云通道)。对于多工厂追溯,建议至少做到“车间级边缘节点+产线级采集网关”两级结构,避免单点故障导致整条线数据丢失。
边缘节点的核心职责包括:协议适配与采集调度、数据清洗与单位归一、事件聚合(如将“上料扫码+设备启动+加工完成”聚合成一个工序事件)、本地规则判断(如批次混料校验、工艺参数超限标记)、本地缓存与断网续传、以及向上游云端提供批量或流式上传接口。资源上,一个车间级节点通常需要4核CPU、8GB内存、256GB以上SSD,并预留至少7天原始事件缓存空间;若涉及视觉检测结果或高频振动信号,应单独规划存储与带宽。
断网续传:把“网络不可靠”当成常态来设计
车间网络抖动、交换机重启、运营商链路中断、云端维护窗口,都会造成上传失败。断网续传的核心不是“重试”,而是“不丢、不重、不乱序”。建议在边缘节点为每条待上传事件分配单调递增的seq_no,并维护一个本地发送队列。上传成功后记录ack_seq,失败则保留在队列中;网络恢复后从最小未确认seq_no开始补传。云端按event_id做幂等去重,避免重复入库。
续传策略上,建议采用“指数退避+最大间隔封顶”:首次失败后等待2秒,之后4、8、16、32秒,最大不超过300秒;连续失败超过阈值时切换为低频探测,避免无效请求打满链路。对于高优先级事件(如质量异常、批次混料告警),可单独走一条优先队列,不与普通过程数据争抢带宽。边缘节点还应记录last_success_time、pending_count、oldest_pending_time三个指标,用于判断积压是否超过缓存容量。
本地缓存策略:容量、淘汰与恢复
本地缓存要回答三个问题:存多久、存多少、满了怎么办。以某汽车零部件车间为例(示例假设):单条工序事件约1.2KB,单线日均事件约8万条,则单线日增约96MB;车间级节点按4条线、7天缓存计算,约需2.7GB,加上索引与日志,预留8~10GB即可。若包含视觉图片或波形文件,应按“元数据长期保留、大文件短期保留”分层处理:事件元数据保留7~30天,图片/波形保留24~72小时,超期后仅保留文件路径与校验值。
缓存淘汰建议按“时间+优先级”双维度:普通过程数据按时间滚动删除;质量异常、返修、报废、批次切换等关键事件标记为high_priority,在容量允许时优先保留。当磁盘使用率超过85%时,触发告警并开始淘汰低优先级历史数据;超过95%时,停止接收非关键高频信号,仅保留事件级数据,防止节点写满导致采集进程崩溃。恢复上传后,应校验云端已接收的seq_no范围,清理本地已确认数据,并保留最近一段时间的发送日志用于排障。
pending_count是否长期大于0;oldest_pending_time是否超过缓存窗口;云端是否出现同一event_id重复入库。前两个指向链路,后两个指向幂等与缓存策略。多工厂协同中的一致性要点
多工厂场景下,各车间边缘节点可能使用不同的采集频率、时间精度和编码规则。建议在边缘侧统一做三件事:时间统一到UTC或统一时区并保留毫秒;批次号、工单号、设备编码按集团主数据映射后再上传;事件类型使用统一字典(如MATERIAL_IN、PROCESS_START、PROCESS_END、INSPECT_PASS、INSPECT_FAIL、REWORK、PACK_OUT)。这样云端在做跨工厂追溯时,才能按同一语义拼接出完整链路,而不是面对一堆“同名不同义”的字段。
最后需要强调:边缘节点不是云端的临时替代品,而是追溯数据链的第一道质量关口。采集标识是否完整、时间戳是否可信、断网期间是否有序缓存、恢复后是否幂等补传,决定了追溯结果能不能经得起审计和召回验证。把这几件事在车间层做扎实,后续的跨工厂查询与合规输出才有可靠基础。