说实话,干了十二年车间信息化,最怕听到的就是“不就是拉个数据嘛”。这句轻飘飘的话,背后踩过多少坑,只有经历过接口调试到半夜三点的人懂。车间系统对接,本质上是把物理世界的节拍挪进数字世界,但每个车间都有自己的脾气——设备老旧程度、网络稳定性、操作工的习惯,都会成为变量。
今天想聊的不是理论,是实操,是那种被现场工程师用扳手敲过的经验。
一、对接的起点:搞清数据从哪里来到哪里去
很多项目一上来就写代码,这是大忌。你连数据从哪来、到哪去、长什么样都没搞清,写出来的接口必然是废的。举个例子,ERP要产量报工数据,但车间统计是按班组小时产量,而MES里是按工序工单报工,口径不一致,结果对不上账,业务部门天天扯皮。
所以,对接第一件事是画数据流图,不是画拓扑图,是数据流转图。要明确每个字段的源头、频次、粒度、单位,甚至精度。别嫌麻烦,这些信息在接口文档里缺一不可。

另外,一定要搞清楚“谁做主数据”。物料编码、工艺路线、设备编号,这些主数据必须统一。否则,MES说设备A,ERP说设备A01,你对接个寂寞。
二、接口设计:别被“标准接口”忽悠了
供应商都爱说“我们支持标准接口”。可现实是,设备端的MTConnect和MES端的OPC UA,虽然都叫标准,但实现细节千差万别。你指望买两个支持标准接口的设备就能直连?做梦。现场总有老古董设备,只带个串口,还得翻协议。
设计接口时,除了功能性字段,一定要考虑“非功能性”的元数据。比如,数据产生时间、接收时间、时区、单位制。我见过一个案例,传感器输出距离用毫米,MES里默认厘米,结果整个批次的产品全部偏位,报废率百分之三十。
还有心跳包和超时机制。别以为网线插上就万事大吉,车间电磁干扰、网线松动都可能导致连接中断。接口必须能自我诊断,该告警就告警。
三、实时性 vs 一致性:PLC数据采集的博弈
MES要秒级数据,但PLC扫描周期是毫秒级,你直接轮询,网络带宽分分钟爆炸。再说,大量的实时数据直接写数据库,磁盘根本扛不住。这种问题,得靠边缘计算网关来缓冲。网关先把数据打上时间戳存在本地,再按照MES需要的粒度聚合上传。既保证了实时性,又不增加网络负担。

这里有个坑:时间同步。如果设备时钟和服务器时间不一致,数据时序就乱了,做统计分析毫无意义。所以,建议所有设备通过NTP统一校时,别偷懒。
另外,事务一致性。对接不是一个接口调用就完事。比如,MES报工后要扣减ERP库存,这是两个系统的操作,必须保证原子性。现实中实现方式一般是最终一致性,引入消息队列,做好重试和补偿。别傻乎乎用同步调用,一旦ERP挂了,MES整个堵死。
四、踩坑案例:一次MES-ERP对接的失败复盘
去年做的一个机加工车间项目,规划得很漂亮,结果一上线就崩。问题出在计划对接。MES从ERP拉工单,但只拉了工单头,没有拉工艺路线。结果,车间工人按工单生产,但物料领用要按工艺路线走,BOM匹配不上,仓库发不了料,产线停了两个小时。
根子在哪?接口设计时只看了业务需求,没看底层数据依赖。工单下的物料需求,实际上是由工艺路线决定的,不拉工艺路线,等于让MES闭着眼干活。后来整改,把工艺路线、物料清单都同步过来,并增加了数据校验,才恢复。
这告诉我们,对接不只是两个系统之间的键对键,更是业务流的贯通。技术实现前,必须拉着计划、生产、仓库一起过一遍数据链。
五、验收与运维:别让接口成为黑箱

最后验收的时候,别只看接口响应时间,还要看异常处理。比如,数据延迟了怎么缓存,格式错了怎么报错,重试多少次之后转人工。这些都要有明确规则。
运维方面,一定要有接口日志平台。每次数据同步,记录请求ID、时间戳、载荷大小、状态码。否则出问题连定位都难。另外,接口版本管理要跟上,不能改了个字段名就无人知晓,导致下游报错。
说实话,车间系统对接听起来是个技术活,但实际是体力活、沟通活。多留点冗余,多设计几个回旋余地,总比上线后焦头烂额强。
就先写这么多吧。想听具体哪一部分,欢迎留言聊。