3. 数据采集系统搭建:MES系统对接、SPC数据采集、AOI检测数据导入
数据采集,说白了就是给产线装「眼睛」和「耳朵」。
没有数据,良率提升就是空谈。我见过太多工厂,设备跑得飞起,但问起某个批次的缺陷分布,没人说得清。
嗯,这章我们就来搞定这件事。
核心目标:打通 MES、SPC、AOI 三大系统,让数据自动、准确、实时地汇聚到良率分析平台。
3.1 MES 系统对接:生产数据的「主动脉」
MES(制造执行系统)记录了每一片晶圆、每一个模组的完整生产履历。
对接 MES,就是要拿到这些信息:
- 批次信息:批次号、产品型号、数量、生产日期
- 工艺路线:经过哪些站点、每站开始/结束时间
- 设备参数:每步工艺使用的设备 ID、腔室、配方
- 量测数据:关键尺寸、膜厚、电阻等在线量测值
- 良率结果:CP 测试、FT 测试的 Pass/Fail 判定
我个人习惯用 中间表 + API 的方式对接。MES 厂商通常提供标准接口,但数据格式千奇百怪。我踩过一个坑:某家 MES 的时间字段居然用字符串存,格式还不统一,解析时差点崩溃。
避坑指南:对接前先做数据字典对齐。我曾经因为「Wafer ID」字段名不一致,导致数据关联失败,排查了整整两天。
对接流程示例(伪代码)
# 伪代码:MES 数据拉取与清洗
def fetch_mes_data(batch_id):
# 1. 调用 MES API
raw_data = mes_api.get_batch_detail(batch_id)
# 2. 字段映射与清洗
clean_data = {
'batch_id': raw_data['LOT_ID'],
'product': raw_data['PROD_NAME'],
'route': raw_data['ROUTE_ID'],
'steps': []
}
# 3. 解析工艺步骤
for step in raw_data['STEPS']:
clean_data['steps'].append({
'station': step['STATION'],
'equip': step['EQUIP_ID'],
'start_time': parse_time(step['START_TIME']),
'end_time': parse_time(step['END_TIME']),
'param': step.get('PARAM', {})
})
return clean_data
3.2 SPC 数据采集:过程稳定的「晴雨表」
SPC(统计过程控制)数据,是用来监控工艺是否稳定的。
你想想看,如果某个参数突然漂移,等良率掉下来再发现,损失已经造成了。
SPC 数据采集的关键点:
- 自动采集:从设备 SECS/GEM 接口直接读取,避免人工录入错误
- 实时上传:每笔量测数据生成后,立即推送到 SPC 服务器
- 规则判定:内置 Western Electric 规则,自动触发报警
- 数据归档:历史数据按产品、站点、参数分类存储
注意:SPC 数据采集频率要合理。太密浪费存储,太疏漏掉异常。一般建议:关键参数每片/每批采集,次要参数按频次抽检。
SPC 数据模型示例
| 字段 | 类型 | 说明 |
|---|---|---|
| measurement_id | string | 量测记录唯一 ID |
| product | string | 产品型号 |
| station | string | 量测站点 |
| param_name | string | 参数名称(如 CD、THK) |
| param_value | float | 量测值 |
| measure_time | datetime | 量测时间 |
| equip_id | string | 设备 ID |
| rule_flag | int | 触发的 SPC 规则编号(0 表示正常) |
3.3 AOI 检测数据导入:缺陷的「显微镜」
AOI(自动光学检测)是发现外观缺陷的主力。
但 AOI 设备厂商众多,数据格式五花八门。有的输出 CSV,有的用 XML,还有的自定义二进制。
我的做法是:统一数据格式。不管源头是什么,导入后都转成标准结构。
标准 AOI 数据字段
- 缺陷 ID:全局唯一
- 批次号:关联 MES
- 面板 ID:单片唯一标识
- 缺陷类型:划伤、脏污、崩边、缺角等
- 坐标:X/Y 位置,单位 μm
- 尺寸:长、宽、面积
- 灰度/颜色特征:辅助分类
- 检测时间:精确到毫秒
经验之谈:AOI 数据量巨大,一台设备一天可能产生几百万条缺陷记录。建议做数据压缩:同类型、同区域的缺陷合并为「缺陷簇」,大幅减少存储压力。
3.4 数据采集系统架构总览
下面这张图,是我在实际项目中用过的架构。它把 MES、SPC、AOI 的数据流串起来了。
3.5 数据质量保障
数据采回来了,但质量不行,分析结果就是垃圾。
我总结了几条必须做的检查:
- 完整性检查:关键字段不能为空,比如批次号、设备 ID
- 一致性检查:同一批次在不同系统的数据要能关联上
- 时效性检查:数据延迟不能超过设定阈值(比如 5 分钟)
- 异常值检查:量测值超出规格范围的要标记
血的教训:我曾经因为 AOI 的坐标原点设置不一致,导致缺陷位置分析全部偏移。后来强制要求所有设备在导入前做坐标校准,并记录原点信息。
3.6 小结
数据采集系统,是良率提升的基石。
MES 给骨架,SPC 给脉搏,AOI 给细节。三者打通,你才能看到完整的生产画像。
搭建时记住三点:标准化、自动化、可追溯。
别急着上高大上的分析算法,先把数据管道修扎实。数据干净了,后面的事就顺了。