PCB成本数据智能搜集的应用研究
2019-01-17李云萍
张 豪 丁 建 李云萍
(博敏电子股份有限公司电子 薄膜与集成器件国家重点实验室梅州HDI工程部, 广东 梅州 514768 )
0 前言
由于公司在生产及报价时需要计算生产成本,故需要搜集大量的工艺参数及成本数据进行汇总及分析,之前部分数据需要人工导入相应的CAM软件中进行计算,耗时且效率低下。故开发相关联的程序模块:(1)计算并搜集相应的参数;(2)上传指定的数据到ERP(Enterprise Resourse Planning的缩写,企业资源规划)数据库中;(3)ERP根据数据库中的数据生成报表;(4)设计商业智能模块相应分析数据,得出精确而全面的数据。由系统定时自动而快速的搜集相关数据,为有效节约公司成本提供数据依据。
1 数据搜集
1.1 CAM350总孔数
1.1.1 现状分析
由于之前外协加工单的孔数是按照genesis2000(PCB的CAM软件)的钻孔信息生成的,而外协厂商是以CAM350软件(一种计算机辅助制造软件)统计孔数的,造成外协加工单的钻孔孔数与外协厂商的不一致(正常情况下槽孔在genesis2000中的个数是按条数计算,CAM350是按照孔密度计算出具体需要钻出多少个圆孔,而公司与外协厂商的合同中是按照CAM350算法对帐),以致使每次财务对帐时都将外协加工单给到工程部,工程安排人员手动回读外发时的钻孔文件,在CAM350中读出孔数,然后手工抄到外协加工单上,财务再次按照手抄的数据重新对帐,往返操作,浪费大量人力成本。
1.1.2 计算函数模块
针对原genesis2000的孔数与外协厂商不一致情况,专门设计计算公式,应用perl(Practical Extraction and Report Language的编写),是一种功能丰富的计算机程序语言)语言编写计算函数,做到计算的孔数和外协厂商在CAM350中提取的一致。
(1)设计计算公式
①重叠值公式(注:r为槽孔半径)
②求CAM350孔数公式:Total = ( Len/ lap + 1 ) × n(注:Len为槽孔两端中心到中心的长度、lap为重叠值公式计算出的重叠值、n为槽孔条数);
(2)编写槽孔孔数计算函数
应用设计的计算公式及perl语言中指令编写槽孔孔数计算函数(如图1)。
(3)汇总机械钻带的总孔数
单一孔径总孔数 = 圆孔数 + 槽孔孔数
钻带中总孔数 = 所有单一孔径总孔数相加求和
按照以上公式运用perl语言计算出用于计算成本的CAM350总孔数。
1.1.3 创建相关栏位
在ERP中创建“基板厚度”、“最小钻头”、“CAM350孔数”、栏位(如图2),用于存放相应的参数值。
1.1.4 上传关联数据
将计算出的CAM350孔数及外协时所需的参数通过编写上传模块上传到ERP对应的参数栏位内。供ERP导出外协加工单时按照工程提供的参数直接生成。
1.1.5 设定上传节点
搜集CAM350总孔数模块设定在审核人员归档
图1 CAM350槽孔孔数计算函数代码图示
图2 ERP中新建参数栏位
TGZ(TGZ是以tar.gz为扩展名的一种压缩文件,“归档TGZ”是在工程制作当中设计的一个流程环节)时自动运行此功能,将获取的参数项上传到指定的ERP栏位中。
1.1.6 生成外协加工单
根据ERP中外协申请记录、最小孔径、CAM350孔数、基板厚度、最小钻头等信息自动生成外协加工单(见图3)。
1.1.7 搜集CAM350总孔数小结
通过编写相应的程序模块将外协加工单所需的参数在输出TGZ时自动上传到ERP的数据库,在申请外协时自动生成外协加工单,有效达到以下效果:
(1)提供参数项目的值同外协厂商通过CAM350软件查询的孔数及相关参数一致,无须每月月底二次对帐,有效解决了原本公司与外协厂商对帐时孔数不一致的问题;
(2)在输出TGZ时一并上传相应数据,省掉另外将钻带文件导入CAM350软件里查询孔数及手动记录数据的环节,提高了搜集CAM350总孔数及相关数据的效率。
(3)系统性的处理及解决问题有效降低了出错机率,大幅提升孔数及相关数据的一次准确率,准确程度接近100%。
1.2 电铣铣程
1.2.1 目前现状分析
针对小于50.8 mm的短槽,公司与外协厂商合同中是按照短槽的个数对帐,而ERP中只有铣程,需手动将电铣程式回读到CAM350软件中用测量工具逐个量出短槽的个数,浪费人力成本且时效性差。原操作流程:(1)用genesis2000软件输出电铣程式;(2)将输出的电铣程式导入cam350软件内;(3)执行CAM350当中的测量铣程指令逐个测量铣槽的长度,手动计算出短槽的个数(图4);(4)将短槽个数录入到ERP数据库中。此种方法动作繁琐,效率低下,容易出错。
图3 开料钻通孔外协加工单
图4 手动计算短槽个数流程图
1.2.2 设计上传铣程方案
为了解决这一问题,根据实际情况开发自动上传电铣核算铣程功能模块,具体开发步骤如下:
(1)介定规则
公司与外协厂商达成协议,核算规则调整为:①计算小于50.8 mm;短槽的个数及短槽的长度;②对帐时统一以核算铣程为准,核算铣程计算公式设定为:核算铣程=基础铣程-ERP中的pnl短槽总长度(m)+槽孔个数(pnl)×50.8/ 1000铣程单位为m。
(2)编写上传关联铣程模块
①上传基础铣程。编写程序模块,根据实际制作的电铣程式,后台计算出铣程信息并上传到ERP的数据库中(如图5)。②上传短槽个数及pnl短槽总长度。开发上传短槽个数及pnl(panel的缩写,实际PCB厂在制作PCB时的作业板)短槽总长度模块:具体步骤如下:
(A)运行genesis2000软件,以set(set就是出货单位。也就是成品。一个set中可能只有一个单只(pcs,也称unit),也有可能有多个单只)为单位,输出电铣程式。
(B)解析电铣程式,计算出set短槽的个数及长度:解析模块步骤(如图6);解析程式说明(如图7):短槽长度计算拆解
通常短槽存在几种:走单刀的直线短槽,此种直接计算短槽链的长度(如图8);
图5 ERP中电铣基础铣程
图6 解析模块流程图
图7 解析电铣程序说明图
图8 单刀短槽图(左:效果图;右:骨架图)
②方槽(包括正方槽及长方槽),此种槽长为组成方槽链长度的总合(如图9);③异形槽,槽长为组成异形槽所有链的总合,通常包括铣直线与铣弧(如图10)。(3)从panel step中获取set的拼版个数,计算出工作板的短槽个数。(4)自动上传至ERP数据库,供计算核算铣程使用。
图9 方槽图(左:效果图; 右:骨架图)
图10 异形槽拆解图
1.3.1 生成外协加工单
(A)根据核算铣程计算公式(公式见1.2.2中)计算出核算铣程;
(B)从ERP中获取外协申请中的生产型号、规格、数量、面积、基板厚度、压合厚度及公差、核算铣程、板材厚度自动生成电铣工序的外协加工单(如图11)。
2.2.3 搜集电铣铣程小结
通过开发计算并上传电铣铣程,ERP自动生成电铣外协加工单有效的省略了人工核对电铣铣程的工作,并避免了因核算失误而导致多算或少算的现象。新方案产生的效果明显,具体体现在以下方面:(1)上传电铣铣程的模块绑定在输出电铣的节点,即上传电铣铣程相应的参数不用人工参与,在输出电铣程式时自动生成并上传ERP;(2)完全省掉将输出的电铣程式回读到cam350软件,人工运用指令逐个数出短槽个数的环节,大幅提高工作效率;(3)设计核算铣程公式、ERP自动生成外协加工单,使生成的铣程更为合理、准确度更高;(4)此方案已导入一年时间,根据实际使用效果未出现计算错误现象,能够满足执行简单、数据正确、效率大幅提升的效果。
图11 ERP图
2.3 印制插头数据
原财务与外协厂商核对镀印制插头的面积、条数、印制插头内斜边、外斜边的条数,均为财务将外协加工单给到,工程人员手动调出工程资料进行查询,再写到外协加工单上给财务对帐,人工操作动作繁琐,且易出错,浪费人力。
2.3.1 设计解决方案
(1)针对印制插头面积服务器在每天24 h自动运行上传面积程序模块,将相关的金手指面积上传到ERP数据库。
(2)印制插头条数原手动查询调整为和外协厂商达成协议,介定用镀印制插头的面积为7mm²(以单pcs双面数的总和为准)。在ERP中创建栏位“pcs印制插头数(条)”(如图12),将参数在上传面积时自动带出,省去人工查询环节。
(3)印制插头内斜、外斜条数,在ERP中创建“斜边方式”栏位,制作MI人员根据客户要求录入“内斜”或“外斜”参数。
(4)ERP自动根据工程提供的镀印制插头的面积、条数、斜边方式(若需斜边)等参数,生成外协加工单(如图13)。
2.3.2 搜集印制插头条数小结
通过设计计算工式,创建ERP栏位,自动生成镀印制插头的外协加工单,省去原打开TGZ文件人工数印制插头条数的环节,提高了数据搜集的效率,有效降低出错机率。
2.4 表面处理面积
2.4.1 现状分析
图电、化金、化学银、铅热风整平等以及表面处理面积数据在实际生产中也是需要提供的,是安排人员运行程序上传,需占用人力。现调整并实施新的做法,省去人为参与部分,利用系统后台处理并上传相关联的参数。
2.4.2 具体实施步骤
(1)编写自动上传面积模块在genesis中计算相应的面积,并将相应的参数上传到ERP的数据库中,化学银与沉锡制板以set为准上传面积、其它制板以pnl为准上传面积。
图12 框内为新建的"PCS金手指数(条)
图13 镀印制插头工序外协加工单
(2)审核人员将CAM资料确认正确后TGZ归档时,系统自动将信息上传到数据库中的《TGZ输出记录》表中,设置“uploading_staus”字段的状态为空,以备后序上传面积时判断上传状态。
(3)此模块设置在每天24 h定时执行,根据审核人员输出TGZ的记录。当“uploading_staus”字段的状态为空时计算并上传面积,上传完成后将状态更新为“已上传”(如图14)。
1.4.3 表面处理面积搜集小结
(1)通过开发上传面积模块及关联模块整合,由原来的需要人为参与升级为由系统自动运行,同等达到人为操作的效果,以达到节省人力效果。
(2)上传面积的计算占用系统资源非常大,故将自动上传时间调整为每日的24 h(这个时间电脑使用频率低或处于空闲状态),从而充分的利用了公司的资源,将有限资源最大化。
(3)系统根据《TGZ输出记录》的“uploading_staus”字段的状态运行上传面积子程序模块,从而有效避免漏上传相关面积的问题,保证ERP参数的完整性,为产线生产及计算加工成本提供了有力保障。
2 商业智能
商业智能模块,将ERP数据库中的后台数据按要求整合,按照一定的规则进行查询、生成excel报表,供产线及成本会计部使用。
2.1 ERP前端查询
设计查询窗口,可以将前期上传的基础数据,按照选择的不同报表及设置的条件进行查询(如图15),选择需查询的项目,并设置查询的日期范围,“执行”后即可生成需查询的内容(如图16)。
2.2 导出excel
根据后台基础数据的字段,前端可以自定义所需excel的列(如图17),根据设置自动生成excel。(如图18)。
图14 TGZ输出记录及面积上传状态
图15 可查询数据列表
图16
图17 自定义设置excel格式窗口
图18 梅一常用物料之消耗之化金盐
图19 按月分析金盐面积折线图
2.3 数据分析
根据不同类别数据类型建立分析类库,使相关人员可以简单明了的查看不同时段数据的变化情况,根据数据的变化优化或调整即定方案(如图19)。
3 结论
(1)通过建立相应的数据库、编写相应的上传数据模块、设置不同情况的上传数据的节点,形成一个完整的自动上传数据系统。实现了外发数据的自动搜集。从而省去了人工查询的繁重工作,提升了录入数据效率,方便了财务对帐。为公司创建智能数据搜集提供了有效的基础数据。以达到ERP生成外协加工单时能够带出需要的数据,提高了数据的准确性。有效杜绝了公司与外协厂商提供参数不一致的现象。
(2)数据查询模块,将搜集的数据按照用户的需求自定义不同模式进行查询;导出excel,根据设置的时间区间及所需的字段导出excel供工序及财务使用,使相关人员获取数据更加简单快捷;数据分析,根据已上传的基础数据,以折线图的方式显示出来,以方便阶段性观察及分析相应数据的变化状态,以便提醒相关人员分析变化原因,及调整因时间及环境变化而需优化或调整的方案。