张 豪 曾铁城 钟旺茂
(博敏电子股份有限公司,广东 梅州 514768)
在印制电路板(printed circuit boards,PCB)制作过程中,为使有限的资源得到最大化利用,部分工序可能需要在不同的厂间进行加工。按计划需要手动整理互调料号打印清单并发送,耗时较长且容易出错。通过开发关联模块,将需要搜集及整理的资料压包发送邮件给相应的厂间,设计步骤如下。
(1)检索模块:实时监控将企业资源规划(enterprise resource planning,ERP)数据库中已审核的厂间互调记录插入到厂间互调数据库中。
(2)整理资料模块:自动按要求制作需要发送的资料,并压包到指定的目录下。
(3)邮件发送模块:自动将已整理的资料按厂间互调记录的邮箱地址发送。
(4)前端显示模块:将后台数据库记录的信息、系统远行状态、运行结果等信息显示在前端,并支持前端手动录入厂间互调信息。
(5)预警模块:将运行中的异常报警以列表形式显示,方便值班人员查看。
系统通过调用以上模块,实现厂间互调自动检索、整理、发送到指定的厂间,整合形成一套完整的自动厂间互调系统(以下简称系统),以达到省去人工操作、提高工作效率、大幅降低出错概率的目的。
(1)在192.168.XXX.XXX的服务器上搭建用于存放厂间互调邮箱的清单,如图1所示。
图1 数据库关联表单分布
(2)存放从ERP 中检索到的厂间互调记录的资料登记表。
(3)《厂间互调邮箱表》,设计字段如图2所示。
图2 邮箱表字段信息
(4)《自动厂间互调资料登记表》设计字段如图3所示。
图3 资料登记表字段
开发登录界面,并设置注册功能,在管理员已经注册用户并赋予部分或全部权限情况下,可录入用户名、密码登录客户端,如图4所示。
图4 系统登录界面
用户登录后,可查看后台从ERP 中下载的需要厂间互调料号的信息。在过滤设置区设置过滤条件,包括输入料号、数据状态、报警日志、输入ID、输出状态、光绘状态、开始时间和结束时间等信息,如不设置,则默认查看所有信息。点击开始查询后即可显示查询结果,如图5所示。
图5 前端主界面
1.4.1 编写实现更新下载模块
当ERP 中计划部门有录入外协记录且数据状态为“已发”状态,如图6所示,自动更新到厂间互调数据库的《自动厂间互调资料登记表》中,如图7所示。
图6 ERP外协记录
图7 厂间互调发送邮件成功记录
安装软件、配置及开发后台监测更新、项目检测、关联资料输出模块。
在192.168.XXX.XXX 的服务器上安装用于输出厂间互调资料的Genesis软件,配置d:/genesis/yss/scripts/hooks/ncd 目录下的配置文件,搭建输出厂间互调资料的基础平台。
(1)在检索模块将ERP 数据库中已审核的厂间互调记录插入到厂间互调数据库中时,将“sendMailType”字段的默认值设置为“null”。
(2)启动实时监测模块,查询SQL 数据库中“sendMailType“字段的值,如为“null”,则自动引导后台检测模块;如检测出前工序CAM 制作的资料有问题,将“sendMailType”自动更新为“报警”,并上传相应错误信息到“sengdMailLog”字段中,前端的sendMailType 显示“报警”,如图8所示。
图8 后台数据库报警记录
当检测到sendMailType 为“null”时,自动导入TGZ 到genesis 软件内,进行关键项目检测,检测模块如发现未按照工艺要求制作,将“sendMailType”更新为“报警”,并上传报警日志到相应的字段内,供值班人员查看,并删除已导入的TGZ,再次介入实时监测SQL数据库更新状态。
2.3.1 资料审核检测
根据料号名查询《CAM 资料审核记录表》中的审核状态,若CAM 资料为未审核状态,上传报警信息并退出当前料号,如图9所示。
图9 钻埋孔检测报警记录
2.3.2 压包前检测所需资料是否完整
压包前检测所需资料是否按照厂间工序要求进行提供,若在整理过程中发现缺失文件,上传报警信息并退出当前料号,如图10所示。
图10 钻通孔检测报警记录
2.3.3 关联genesis软件输出异常
部分资料需要关联到genesis 软件自动输出,如在输出中未按设计的规范正确输出,上传报警信息并退出当前料号,如图11所示。
图11 外层铣边报警记录
2.3.4 检测输出层是否审核
在跑板边程序时将需输出的工具层添加“nocheck”元素标记,如审核人员审核完后,将此元素标记删除;否则,系统判断为未审核;如果检测模块检测到输出的关联层存在“nocheck”元素,上传报警信息并不给予输出资料,如图12所示。
图12 未审核报警记录
2.3.5 电子备注检测
创建电子备注数据库,开发前端录入模块,针对仅部分工序不能输出的工具,录入电子备注信息并上传到电子备注的数据库中,输出资料前检测是否存在输出层关联工序的电子备注,如存在报警,则不给予输出相应的厂间互调资料。
(1)录入料号名、设置影响工序及选择备注内容,如图13所示。
图13 添加TGZ备注信息界面
(2)根据实际需求自定义录入备注信息。
(3)点击“预览录入数据”,系统生成即将上网的电子备注信息。
(4)点击“上传TGZ 备注”,自动将录入的信息上传到电子备注信息的数据库中。
(5)检测输出层是否存在关联的电子备注信息,若存在报警并不给予输出相应的厂间互调文件,如图14所示。
图14 电铣报警记录
2.4.1 下载LOT卡
编写下载批量管制编号(lot number,LOT No)卡模块,实现自动下载关联的LOT 卡文件,步骤如下:
(1)应用Python 语言中的win32api 模块,发送信息给ERP软件的窗口句柄;
(2)ERP 软件接到信息后,根据传送的参数自动运行ERP数据库的创建水晶报表过程;
(3)创建水晶报表过程根据此料号ERP 数据库的关联记录,自动生成所需的LOT卡文件到指定的目录下,供下一环节压包使用,如图15所示。
图15 发送附件文件清单
2.4.2 下载中文MI图纸
自动获取192.168.0.9 服务器\192.168.XXX.XXX工程资料二厂工程部生产制作指示组(manufacturing instruction,MI)资料备用资料目录下的MI资料,下载到指定的目录下,供下一环节压包使用。
2.4.3 下载工具文件
自动下载厂间互调关联工序所需的工具文件,按要求下载到指定的目录下,分以下2 种情况处理:
(1)192.168.0.9 服务器\192.168.XXX.XXX工程资料二厂工程部camGroup 目录下,相应的工具文件夹下已存在厂间互调的工具文件,直接下载到指定的目录下,供下一环节压包使用;
(2)当服务器中未检测到所需的工具文件,自动运行自动输出系统,将相应的工具文件按要求输出到指定的目录下,供下一环节压包使用。
2.4.4 Genesis软件自动输出资料
部分资料须在厂间互调时从Genesis 软件中导出,针对此环节单独开发Genesis 软件输出模块,在指定的节点由系统调用并传入相应的参数。模块根据传入的参数执行对应的逻辑分支,主要功能包括:① 自动根据传入的参数制作并输出关联工序的gerber 文件;② 按部分工序要求制作文件并导出TGZ到指定的目录下。
系统运行输出关联资料模块后,按照相应工序所提供的所需工具资料的清单,相应检测资料是否已全部下载,如需厂间互调的资料均存在,且数据完整,自动将此料号的所有工具及关联文件压缩成一个压缩包。若数据量超出邮箱限制时,自动按单个附件50 Mb分段压缩。
2.6.1 自动将关联文件发送到指定的邮箱
主要功能:① 根据料号关联ERP 及客户规范的信息,在邮件中编写邮件内容;② 发送关联附件到指定的邮箱;③ 把发送状态上传到自动厂间互调资料登记表中;④ 批量发送。
自动生成发送邮件包括以下内容:① 邮件主题;② 根据从ERP 中下载的厂间互调信息,自动设置发件人、收件人、抄送相关联的邮箱地址;③ 自动将需要发送的压包插入邮件附件中;④ 根据ERP 中的信息自动填写加工规范及注意事项;⑤ 自动发送邮箱签名,如图16所示。
图16 发送邮件内容
2.6.2 自动发送模块开发步骤
(1)设置发送邮件服务器,指定邮箱地址,可以批量发送邮件,如图17所示。
图17 邮件服务器设置
(2)传送附件的上限限制为50 Mb(限制数据量防止批量发送时占用带宽过大,影响其他业务的正常使用)。
(3)开发后台发送邮件模块,实现能够根据下载的厂间互调登记表内的信息自动生成邮件。内容包括:主题、发件箱、收件箱、抄送邮箱、附件、邮件内容、邮件签名等信息。
(4)模块设置为可被主程序导入方式调用。
不同工序厂间互调时,工序要求提供的资料不同,厂间互调主程序根据已介定好的规则进行文档下载、Genesis 软件输出,相应关联的文件均放入指定的文件夹下,由自动压包模块压包成需要发送的附件。不同工序所需的文件如表1所示。
表1 厂间互调工序与关联文件匹配表
文件主要分为以下3类:
(1)LOT 卡,由ERP 中的数据通过下载LOT卡模块获取;
(2)MI图纸,运用FTP模块在服务器指定目录下获取;
(3)CAM 工具,包括钻孔、铣带、铣边、TGZ、铝片、激光程式、gerber文件等。如此类文件在服务器指定目录下已存在,使用FTP 模块下载相应文件;若不存在,厂间互调主程序自动运行Genesis 软件的输出模块,将所需的工具输出到相应的目录下。
2.8.1 监测报警信息及提示值班人员
针对输出时进行后台检测,并上传数据库的报警信息,开发实时预警模块,用于实时监测报警信息,当预警模块监测到后台数据库有报警信息更新时,停靠在电脑右下角的预警图标闪烁以提醒值班人员,如图18所示。值班人员双击闪烁的图标,预警模块展开报警信息,如图19所示。图19中区域a 为报警项目的清单;点击b 处将此窗口隐藏;点击c 处将数据库的报警信息重新加载。
图18 监测报警信息提示闪烁标志
图19 报警日志提示窗口
2.8.2 异常处理及后台再次重新输出
针对报警信息,值班人员可根据报警的提示分析,输出相关联的资料到网络盘中,并在录入前端选中此条记录,右击后点击“清除输出状态”,如图20所示,系统将再次检测并输出此条记录的关联资料,发送邮件到指定的邮箱。邮件正常发送后此条异常信息不再显示。
图20 清除输出状态功能菜单
针对值班人员手动处理,步骤繁琐,存在资料输出错误、漏发、错发等现象。本文系统地设置了一整套的检测流程,预定检测节点逐一检测,确保资料的正确性。
之前计划部手动写单给工程、工程根据申请单手动处理,从发出需求到工序接到文件约需20 min,现由系统自动处理,检测到有审核记录即刻处理约5 min后工序即可收到关联资料,提升效率约4倍。
之前手动模式的厂间互调数据、工程MI组的图纸、LOT 卡、ERP 数据、CAM 组Gensis 输出的数据,均是从不同地方获取,数据不流通,无法有效关联,形成了数据孤岛。通过编写不同功能模块,由系统逐一按预设的规则触发,将关联的数据有效利用起来,消除数据孤岛,从而产生价值。
结合该公司的实际情况,形成一套自动厂间互调的智慧解决方案,废除之前旧模式的申请流程。新方案申请厂间互调工具,完全替代工程值班人员手动处理的工作。使计划部门厂间互调时更加顺畅、快捷、严谨、合理。新的方案能够满足实际生产中工序对工具的快速接收,有效降低关联工具手动处理时的出错率,提高工程及关联工序的生产效率,确保工具管控的安全性、时效性、系统性。