AOI 编程效率低,很多时候不是设备算法不够,而是元件库没有按封装沉淀、模板没有按产品族复用。同样是 0603 电容,在不同机种里重复建档;同样是电源板区域,换一个料号就重新画框。这样编程时间自然下不来。下面从元件库和模板复用两个方向拆开讲。
一、先定位 AOI 编程效率低的三个真实原因
先把问题拆开,不然容易陷入“设备参数全调一遍”的误区。AOI 编程效率低通常卡在三点:
第一,元件库只按物料编码建档。同一颗 0603 电阻,因为料号不同建了十几个检测窗,维护时根本分不清哪些能合并。按封装建档才能复用。
第二,模板只存图像,不存检测逻辑。很多工厂所谓模板就是截图文件,没有保存光源、曝光、阈值、搜索范围,导致换线后还要重新调参。
第三,换线时没有区分相似板和全新板。相似板可以走区域模板覆盖加局部修改;全新板才需要从元件库重新搭。没有分类,就会把时间浪费在重复劳动上。
以一块 120 个检测点的电源板为例,未做复用时新程序平均要 35-50 分钟;元件库和模板跑顺后,通常可以压到 12-18 分钟。先把这个基准记住,后面优化才有方向。
二、元件库建立:把一次性编程变成可复用资产
元件库不是“元件图片+名字”,它至少要把下面这些字段补齐。缺少任何一个,复用时都会重新判断一次。
| 库字段 | 说明 | 复用要点 | 维护周期 |
|---|---|---|---|
| 封装类型 | 0603 / 0805 / SOT-23 / QFP / QFN 等 | 按封装建主键,不按物料编码建键 | 新封装出现时补充 |
| 极性/方向特征 | 正极标记、丝印点、缺口方向 | 同极性封装可共用检测逻辑 | 新器件导入时 |
| 本体尺寸公差 | 长宽高公差,如 0603 长 1.6±0.15 mm | 尺寸窗口按公差带设置,不宜过紧 | 季度抽检 |
| 焊端颜色/反光 | 喷锡、沉金、OSP 等焊端表现 | 反光差异超 8% 单独建库 | 工艺变更时 |
| 检测算法 | 图像比对、二值化、边缘提取等 | 按引脚间距和焊盘类型选算法 | 设备软件升级时 |
| 光源/曝光 | 同轴光、环形光、曝光时间 | 按板面工艺分版本,不混用 | 光源衰减检查时 |
| 阈值上下限 | 偏移、少锡、桥接、错件等阈值 | 保留上下限区间,不做单点值 | 按月评审 |
这张表里最关键的是“封装类型+焊端颜色”做主键。同封装不同容值电容,如果焊端反光差异不超过 8%,可以共用检测窗;超过 8% 再单独建库。这样元件库不会越建越碎。
三、模板复用的核心:从单板调试到产品族模板
模板要按三个层级存:单板模板、拼板模板、区域模板。真正能提升换线速度的是区域模板,比如电源区、BGA 区、连接器区、屏蔽框区、按键区。换线时不是从零开始,而是调取相同产品族模板后,只改坐标和拼板原点。
| 模板类型 | 适用场景 | 复用条件 | 注意事项 |
|---|---|---|---|
| 单板模板 | 同板不同版本 | BOM 变化小于 5% | 注意版本号,别覆盖旧程序 |
| 拼板模板 | 同拼板尺寸 | 定位点到板边距离一致 | 拼板角度要重新校验 |
| 区域模板 | 同功能区域 | 封装排布相似 | 区域边界别压到相邻器件 |
| 产品族模板 | 电源板/驱动板/LED 板 | 板厚、表面工艺、主芯片平台相近 | 不要跨族硬套,误报会飙升 |
产品族模板最好绑定板厚、表面工艺和主芯片平台。比如喷锡板和沉金板灰度差异大,硬套会误报飙升。板厚不同时,光源高度和焦距补偿也要跟着改,不是只改坐标。
四、元件库与模板的联动维护流程
这一步是落地顺序。不要一上来就重建整个库,按下面五步走,停产风险最低。
第一步:拆板建库。拿到新板先按 BOM 导出的封装列表,把未入库封装补进元件库。这一步只建档、只给基础参数,不要边建边调误报,否则会拖慢节奏。
第二步:区域套模板。按板面功能块调用已有区域模板,先套电源、连接器、BGA 等区域,只修改坐标、角度和拼板原点。
第三步:整板参数继承。光源亮度、曝光时间、搜索范围、定位点参数从同产品族模板继承,不要逐点设置。整板级参数统一后,局部差异再单独调。
第四步:误报收敛。先跑 5 块首件,把误报点位按“元件库字段”回写。比如某个 0603 电容误报,不要直接删检测窗,而是看是焊端反光差异还是丝印干涉,改库字段让同类器件一起生效。
第五步:版本固化。把修改后的元件库和模板一起升版本,上传共用路径,备注适用机型、板厚、拼板方式。下次同产品族换线直接调用。
五、入库参数怎么设才不易误报漏报
参数不是越紧越好,也不是越松越好。建议按封装和检测项分开设,以下参数可作为基础值,再根据板面颜色和工艺微调。
| 检测项 | 推荐阈值/范围 | 误报常见原因 | 调整方向 |
|---|---|---|---|
| 极性电容正极标记 | 对比度 60-75,搜索范围 ±0.15 mm | 丝印偏移、板面划伤 | 放宽搜索范围或改识别区域 |
| QFP 引脚桥接 | 桥接阈值 45%-55% | 引脚间助焊剂残留 | 提高阈值前先查清洗效果 |
| QFP 引脚少锡 | 引脚宽度偏差 ±20% | 引脚氧化发暗 | 调整光源角度后再判 |
| BGA 焊点直径异常 | 直径变化超过 12% 触发 | 绿油反光差异 | 按批次做灰阶补偿 |
| OCR/极性文字 | 最小字符高度 0.6 mm,低于则豁免 | 字符模糊、被遮蔽 | 误报多时直接设为豁免 |
这里要注意,AOI 不是所有缺陷都适合硬抓。BGA 内部气泡、底部填充空洞这些靠 AOI 很难稳定识别,强行设严只会增加误报。建议把 AOI 定位在“外露焊点形态、极性、桥接、少锡、移位、错件”等可光学判断的项。
六、换线效率对比:复用前后的数据差距
某家电控制板工厂做了 3 周元件库和产品族模板试点,对比数据如下:
| 指标 | 未复用 | 复用后 | 说明 |
|---|---|---|---|
| 单板编程时间 | 42 min | 17 min | 减少约 25 分钟 |
| 首件误报点位 | 23 个 | 6 个 | 主要来自极性电容和连接器区域 |
| 漏检异常 | 0 起 | 0 起 | 未出现因删检测窗导致的漏检 |
| 换线培训时间 | 35 min | 10 min | 区域模板定位后上手更快 |
这里的关键不是“快了多少”,而是误报点从 23 个降到 6 个。误报多会吃掉产线复判时间,还容易让检验员疲劳后漏看真缺陷。编程快几十分钟,不如首件顺几十分钟。
七、落地顺序:先试点,别全厂铺开
建议第一周只做三件事:
1)导出最近 20 个程序的元件参数,按封装合并重复项,形成基础库清单;
2)挑 3 个产品族,每个族建立 1 套区域模板;
3)下一轮换线时试用,把误报原因回写到库字段。
如果基础库里常用封装少于 120 个,不要急着推广到全厂,先继续积累 2-3 周。模板套用后如果误报数没有下降 30% 以上,优先检查区域边界是否压到相邻器件、光源高度是否一致。
最后总结:AOI 编程效率低,本质是元件库没有沉淀成可复用规则,模板没有按产品族管理。先把封装库主键建对,再用区域模板替代逐点编程,换线时间会明显缩短。