去年上半年,一家做精细化工中间体的工厂找到我们。他们的问题很典型——反应釜出来的每一批产品,质量时好时坏。合格的批次放行出货,不合格的降级处理或报废。我看了他们记录:前一年平均批次合格率73%。也就是说每生产4批就有1批不合格。

老板说他们已经折腾了3年:试过让工艺工程师蹲现场调参数,试过换原料厂家,试过换搅拌桨型号——效果都不持续。好的时候合格率能到85%,过两个月又掉回去。

这篇文章记录我们是怎么用边缘AI网关采集反应釜的工艺数据,通过数据关联分析找到关键变量,把批次合格率拉到约92%的整个过程。不能说所有问题都解决了,但至少找到了方向。

一、现场情况摸底

去厂里待了三天,跟工艺工程师、操作工、质检的人都聊了一遍。情况比想象中复杂:

以前他们觉得问题是原料不稳定。后来换了三家原料供应商,问题依旧。也有工艺工程师怀疑是搅拌速度的问题,但手工记录的数据质量太差,没法验证。

当时我就觉得这其实是个数据问题——不是缺数据,是数据都在但又连不上。DCS记录的温度压力曲线、操作工手写的升温记录表、质检报告Excel——3套数据互相独立。

二、方案设计

跟老板和技术团队反复聊了几轮,确定的目标很具体:找到影响批次合格率的关键变量,给操作工提供一个实时可参考的工艺窗口。

方案分层

采集层:从DCS和现场传感器取数据

DCS本身已经在采集温度和压力数据。问题是怎么把这些数据捞出来。DCS厂家要价比较贵,最后决定从DCS的OPC Server走——虽然数据刷新频率有限(约2秒一次),但对批次级别的分析来说足够了。

除了DCS已有的测温点,我们在反应釜外壁又加了2个贴片式温度传感器。原因:DCS用的是套管式热电偶,响应有一定延迟。外壁贴片式传感器反应更快,能够捕捉一些升温阶段的细微变化。

搅拌电流也需要。反应过程中物料粘度会变,电流变化反映了反应进程。但DCS没有直接记录这个参数,我们在电机控制柜上加了一个电流互感器模块。

边缘层:现场部署边缘AI网关

在车间控制室放了一台边缘AI网关,通过OPC协议读取DCS数据、通过RS485读取搅拌电流和贴片温度传感器的数据。边缘网关本地做了三件事:

分析层:关联分析找变量

把半年内的历史批次数据整理出来:一共147批,每批大约20个工艺参数特征,对应质检结果(合格/不合格)。用了一组统计分析方法做变量筛选——不是上来就用深度学习,那个对数据量要求太高。先做相关性分析、PCA降维和决策树,找哪些参数对结果影响大。

三、实施过程

第一周:DCS数据对接的坑

最花时间的事情是数据对接——不是技术难,是DCS厂家配合度低。OPC Server的配置文档不全,很多参数是厂家现场工程师凭记忆设的。我们花了3天才搞清楚数据标签的命名规则,不少标签名用的是缩写(比如TIC-102代表Temperature Indicator Controller - 102号),跟工艺流程图上的编号对不上。

踩了个坑:DCS的数据采集频率虽然设的是2秒一次,但实际写入数据库时做了均值压缩——每10秒才写一条。这意味着我们要的是原始数据的瞬时值,但DCS给的是10秒均值。这个差异在恒温阶段影响不大,但在升温/降温阶段会把一些细节平滑掉。

解决方案:改用OPC DA协议直接读实时值,绕过DCS的历史数据库压缩。这样能拿到每2秒的真实值,代价是网关需要持续在线。

教训:不要相信DCS上配的采样频率——要实际抓一段数据看一下时间戳间隔,确认有没有中间做了压缩。这个坑浪费了3天调试时间。

第二周:历史批次数据对齐

梳理147批历史数据是最吃力的事情。

DCS那边用时间窗口标记批次(操作工在界面上点"开始批"和"结束批"按钮),但操作工经常忘记点。结果是有些批次的开始时间对不上,需要人工根据进料阀打开的时间戳去反推。

质检Excel的数据更乱。批号没有统一格式——有人写"B20250101-3",有人写"2025/1/1-3号釜"。日期格式混用(2025/1/1和2025-01-01混着来)。做了两天的数据清洗才把147批数据对齐。

这一步真的很枯燥,但做完了就发现了一些有意思的事情——后面说。

第三周:工艺参数分析

对齐后的数据导入了分析管道。对每小时生成约1800条原始记录,按维度缩成每批约25个统计特征(升温速率、峰值温度、恒温段均值、恒温段标准差、降温速率、搅拌电流均值/标准差等)。

跑了几轮分析之后,两个变量跳了出来:

关键变量1:恒温段温度波动幅度
合格批次的恒温段温度标准差平均约1.2°C,不合格批次约2.8°C。温度波动超过2.5°C的批次,合格率急剧下降。

关键变量2:升温速率的一致性
升温阶段如果中途停顿超过一次(操作工手动调节蒸汽阀导致升温曲线不平滑),合格率也明显偏低。

后来又用决策树验证了一下:恒温段温度波动和升温平稳性两个特征,足以把合格和不合格批次区分开,分类准确率约87%。

以前所有人都觉得是原料问题或配方问题。数据告诉我们——是温度控制精度的问题。

第四周:实时监控和操作指导

基于分析结果,在边缘网关上做了两件事:

第一,恒温段波动实时告警。在网关里写了一个简单逻辑:恒温阶段每30秒计算一次过去5分钟的温度标准差,如果超过2.0°C就弹黄灯提示,超过2.5°C弹红灯并推送到车间看板。操作工看到告警后可以微调蒸汽阀门或冷却水流量。

第二,升温曲线引导。根据合格批次的历史升温曲线,算出了一个比较理想的升温包络线(上限和下限)。操作工按照这个包络线手动调节蒸汽阀,如果偏离太多,看板会提示。

原本想的是全自动控温——让边缘网关直接控制蒸汽调节阀——但工厂不敢试,怕搞砸了毁了一整批。退了一步,做成操作工辅助模式:系统建议、人工执行。

踩坑:操作工一开始不太信任屏幕上的提示,觉得"我干了20年还要屏幕教我升温?"。后来让做得好的师傅和做得差的师傅对比了一下数据——同一台反应釜、同一个配方,温度控制精度的差异确实会影响结果。师傅看了数据后说"哦,我明白了"。之后配合度明显改善。

四、实际效果

系统上线后跑了3个月,统计了62批数据:

批次合格率:从73%提升到约92%
62批中57批合格。关键改善来自恒温段温度控制——之前的温度波动明显收窄。
操作一致性提升明显
4台反应釜的升温曲线标准差下降了约55%。以前白班和夜班操作工的手法差异大,现在有参考标准后,不同班次之间的操作一致性明显提高。
质检等待时间缩短
以前要等4-6小时出质检结果才能判断。现在边缘网关在批次结束后1分钟内给出"合格可能性",准确率约87%。操作工可以提前决定是否切换到下一批、是否需要降级处理。

当然也有没解决的问题。

有一类不良批次至今没有找到原因——大概占比约5%。这些批次的温度曲线、搅拌电流、原料批次都没问题,但成品纯度就是偏低。怀疑是微量杂质或者原料内部批次差异,但现有传感器精度不够,没法验证。

另一个问题是:升温包络线的指导功能在换产品时失灵了。化工中间体工厂经常换不同的产品(不同的温度曲线要求),上线初期只做了主打产品的模型,新产品需要重新积累数据。

五、我的思考

做完这个项目有几个体会:

化工厂的数据问题不是"没有数据",是"数据在不同系统里对不上"。DCS有温度压力、操作工有手写记录、质检有Excel——3套数据各自独立。打通它们花的力气比建模大得多。但一旦打通了,发现的往往不是新问题,而是用数据验证了老问题。

温度波动这个结论,很多老工程师其实心里隐约知道,但没有数据去证明。以前跟工艺工程师聊天,他说"温度稳不稳肯定有影响,但不知道影响多大"。数据给出的答案是:波动超过2.5°C,合格率下降接近一半。这个数字够具体了,老板看了就知道该投钱改造控温方案还是继续凑合。

自动控制不是方案的目标。最开始老板想直接上自动控温——边缘AI网关直接控制蒸汽调节阀。幸好没这么做。操作工不信任,工艺工程师怕出事,项目可能会因为这个卡住。从辅助模式开始,让人在环路里,慢慢建立信任,后面再考虑闭环。

批次数据的价值会随着时间增长而增大。现在积累了62批完整数据,每个批次都有工艺参数+质检结果。后续可以训练更好的预测模型、分析工艺窗口的边界条件、优化升温曲线。数据越积越多,能做的事情也越来越多。

六、给你的建议

如果你也在化工行业面对类似的批次质量问题:

  1. 先把DCS的历史数据导出来,跟质检结果做一下关联——哪怕只是温度和合格率画个散点图。花半天时间可能就找到方向了
  2. 别一上来就上自动控制。先做辅助决策,让操作工在环里。数据够多、信任建立起来之后,再考虑闭环
  3. 数据清洗要做好心理准备。不同系统的数据格式差异很大,批号不统一是常态。多花两天在这上面是值得的
  4. 温度波动往往是批次质量差异的关键因素——这个在化工行业几乎是个通用结论。但具体到你的产品,波动阈值多少,需要自己跑数据才知道
  5. 让操作工参与分析过程。数据告诉他们什么、他们告诉你为什么——结合起来效率比较高