自动判定系统架构:四层结构与数据流转

自动判定系统听起来挺玄乎,说白了就是把人的判断力,拆成几个清晰的功能模块。我个人习惯,先把整个系统的骨架搭出来。一共四层:数据采集、特征提取、决策、执行。每一层干自己的活,又互相配合。

你想想看,一条产线上传感器、摄像头那么多。如果所有数据都堆到一个模块里处理,不乱才怪。分层架构的核心思想就一条:各司其职,接口清晰。

我在项目中发现,很多新手工程师喜欢把所有逻辑写在一个大循环里。刚开始调试没问题,一上线就崩。为什么?因为耦合太紧,改一处要牵动全身。

自动判定系统四层架构与数据流 数据采集层 传感器 · 相机 · PLC · 扫码枪 特征提取层 时域分析 · 频域变换 · 图像处理 决策层 阈值判断 · 分类器 · 逻辑引擎 执行层 分拣机械臂 · 报警灯 · MES 接口 反馈/重检信号 数据同步是关键 时间戳对齐不能省 特征要选对 别把噪音当信号

1. 数据采集层

这一层是系统的眼睛和耳朵。传感器、工业相机、PLC、扫码枪,都归它管。原始数据从这里进入系统。我见过很多项目采集层做得稀烂,后面三层再牛也白搭。

核心要求就三个:全、准、快。

  • 全:所有相关测点别遗漏。装配线上的扭矩值、温度、振动,一个都不能少。
  • 准:采集频率要够,精度要达标。别拿10Hz的采样去抓100Hz的振动特征,那叫盲人摸象。
  • 快:数据时效性。尤其是高速产线,数据晚到一秒,结果就是灾难。
我的经验:采集层建议单独做个“健康看门狗”。我曾经遇到一个项目,传感器线缆接触不良,数据每隔半小时跳一次野值。决策层不断误判,折腾了两天才定位到采集层。后来加了信号质量标记,这类坑就好躲了。

2. 特征提取层

原始数据太糙,直接扔给决策层它看不懂。特征提取层就是做“翻译”的。把一维波形变成具体数值,把图像变成缺陷尺寸。

常用的提取方法就这些:

数据类型 常用特征 提取方法
振动信号 RMS、峰值因子、峭度 时域统计、FFT、包络分析
图像 边缘梯度、面积、纹理 Sobel算子、模板匹配、直方图
温度曲线 斜率、稳态偏差、超调量 微分拟合、滑动窗口
电流波形 谐波分量、相位差 傅里叶变换、小波变换

特征不是越多越好。我见过有人一口气提了80个特征,决策层反而糊涂了。这叫“维度灾难”。做特征筛选是必修课。

避坑指南:特征提取层一定要做归一化。不同量纲的特征直接比较,结果会偏向数值大的那个。举个例子,振动幅值0.5mm和温度偏差0.2℃,数字上差一倍,但实际重要程度可能截然相反。

3. 决策层

这是整个系统的“大脑”。特征提取层送来的数值,在这里一锤定音:Pass,还是Fail?

决策逻辑有几种主流方式:

  • 阈值判断法:最简单,最常用。特征值超出上下限就算Fail。适合单指标判定。
  • 加权评分法:多个特征加权求和。权重靠工程经验和实验标定。
  • 机器学习模型:SVM、随机森林、神经网络。适合复杂非线性关系。我建议先从简单模型开始。
  • 规则引擎:if-then-else逻辑树。透明、可解释,适合有行业标准的场景。
注意:决策层的输出不要只有Pass/Fail。我习惯输出三个状态:Pass、Fail、Uncertain。Uncertain就是“拿不准,请人工复检”。别小看这个中间态,它能减少大批量误杀。我在一条电子装配线上把误判率从3.2%降到0.6%,就靠加了Uncertain分流。

4. 执行层

决策做完了,得落地。执行层就是动手的。动作包括:

  • 分拣挡板动作(Fail产品推入NG料道)
  • 报警灯闪烁或蜂鸣器响起
  • 在MES系统里打上NG标记
  • 触发相机再次拍照复核

执行层我遇到最多的故障是“误动作”或“不动作”。尤其是气动分拣机构,气压波动会导致执行延迟。所以做自动判定系统,我一定会在执行层加反馈确认——气缸到底推没推到位?传感器必须回报信号。

小窍门:执行层的响应速度要明确写在设计文档里。比如:决策输出后50ms内,执行机构必须完成动作。超时就报“执行超时”,产线直接停机。别让不确定的延迟把判定时序搞乱。

5. 四层之间的数据交互

各层不是孤岛。它们通过数据总线通信。我推荐用消息队列或者共享内存,而不是直连函数调用。为什么?因为产线要求高可靠性,一层崩溃不能带崩其他层。

数据流的典型时序是这样的:

  1. 采集层收到编码器触发信号,采集一组数据,打上时间戳,塞入队列。
  2. 提取层从队列拉数据,计算特征,写入共享内存。
  3. 决策层读取特征,运行判定逻辑,输出结果到结果队列。
  4. 执行层监听结果队列,看到新结果立刻执行动作,并反馈执行状态。

每层之间用一个超时阈值来保证系统健壮。我一般设100ms,超了就报错。这样做的好处是,就算某层卡死,其他层也能独立恢复。

核心原则:每一层只对上一层负责,只处理自己擅长的数据形态。采集层不管特征是什么,特征层不管决策怎么用,决策层不关心执行器怎么动。松耦合,高内聚——做自动判定系统,这八个字是铁律。

好了,架构就是这样。不复杂,但每个细节都需要责任心。下一块咱们会深入讲特征提取层的具体算法实现。不过那是后面的事了,先把这四层结构吃透,后面的路就好走多了。