張 豪 曾鐵城 鐘旺茂
(博敏電子股份有限公司,廣東 梅州 514768)
在印制電路板(printed circuit boards,PCB)制作過程中,為使有限的資源得到最大化利用,部分工序可能需要在不同的廠間進行加工。按計劃需要手動整理互調料號打印清單并發(fā)送,耗時較長且容易出錯。通過開發(fā)關聯(lián)模塊,將需要搜集及整理的資料壓包發(fā)送郵件給相應的廠間,設計步驟如下。
(1)檢索模塊:實時監(jiān)控將企業(yè)資源規(guī)劃(enterprise resource planning,ERP)數(shù)據(jù)庫中已審核的廠間互調記錄插入到廠間互調數(shù)據(jù)庫中。
(2)整理資料模塊:自動按要求制作需要發(fā)送的資料,并壓包到指定的目錄下。
(3)郵件發(fā)送模塊:自動將已整理的資料按廠間互調記錄的郵箱地址發(fā)送。
(4)前端顯示模塊:將后臺數(shù)據(jù)庫記錄的信息、系統(tǒng)遠行狀態(tài)、運行結果等信息顯示在前端,并支持前端手動錄入廠間互調信息。
(5)預警模塊:將運行中的異常報警以列表形式顯示,方便值班人員查看。
系統(tǒng)通過調用以上模塊,實現(xiàn)廠間互調自動檢索、整理、發(fā)送到指定的廠間,整合形成一套完整的自動廠間互調系統(tǒng)(以下簡稱系統(tǒng)),以達到省去人工操作、提高工作效率、大幅降低出錯概率的目的。
(1)在192.168.XXX.XXX的服務器上搭建用于存放廠間互調郵箱的清單,如圖1所示。
圖1 數(shù)據(jù)庫關聯(lián)表單分布
(2)存放從ERP 中檢索到的廠間互調記錄的資料登記表。
(3)《廠間互調郵箱表》,設計字段如圖2所示。
圖2 郵箱表字段信息
(4)《自動廠間互調資料登記表》設計字段如圖3所示。
圖3 資料登記表字段
開發(fā)登錄界面,并設置注冊功能,在管理員已經注冊用戶并賦予部分或全部權限情況下,可錄入用戶名、密碼登錄客戶端,如圖4所示。
圖4 系統(tǒng)登錄界面
用戶登錄后,可查看后臺從ERP 中下載的需要廠間互調料號的信息。在過濾設置區(qū)設置過濾條件,包括輸入料號、數(shù)據(jù)狀態(tài)、報警日志、輸入ID、輸出狀態(tài)、光繪狀態(tài)、開始時間和結束時間等信息,如不設置,則默認查看所有信息。點擊開始查詢后即可顯示查詢結果,如圖5所示。
圖5 前端主界面
1.4.1 編寫實現(xiàn)更新下載模塊
當ERP 中計劃部門有錄入外協(xié)記錄且數(shù)據(jù)狀態(tài)為“已發(fā)”狀態(tài),如圖6所示,自動更新到廠間互調數(shù)據(jù)庫的《自動廠間互調資料登記表》中,如圖7所示。
圖6 ERP外協(xié)記錄
圖7 廠間互調發(fā)送郵件成功記錄
安裝軟件、配置及開發(fā)后臺監(jiān)測更新、項目檢測、關聯(lián)資料輸出模塊。
在192.168.XXX.XXX 的服務器上安裝用于輸出廠間互調資料的Genesis軟件,配置d:/genesis/yss/scripts/hooks/ncd 目錄下的配置文件,搭建輸出廠間互調資料的基礎平臺。
(1)在檢索模塊將ERP 數(shù)據(jù)庫中已審核的廠間互調記錄插入到廠間互調數(shù)據(jù)庫中時,將“sendMailType”字段的默認值設置為“null”。
(2)啟動實時監(jiān)測模塊,查詢SQL 數(shù)據(jù)庫中“sendMailType“字段的值,如為“null”,則自動引導后臺檢測模塊;如檢測出前工序CAM 制作的資料有問題,將“sendMailType”自動更新為“報警”,并上傳相應錯誤信息到“sengdMailLog”字段中,前端的sendMailType 顯示“報警”,如圖8所示。
圖8 后臺數(shù)據(jù)庫報警記錄
當檢測到sendMailType 為“null”時,自動導入TGZ 到genesis 軟件內,進行關鍵項目檢測,檢測模塊如發(fā)現(xiàn)未按照工藝要求制作,將“sendMailType”更新為“報警”,并上傳報警日志到相應的字段內,供值班人員查看,并刪除已導入的TGZ,再次介入實時監(jiān)測SQL數(shù)據(jù)庫更新狀態(tài)。
2.3.1 資料審核檢測
根據(jù)料號名查詢《CAM 資料審核記錄表》中的審核狀態(tài),若CAM 資料為未審核狀態(tài),上傳報警信息并退出當前料號,如圖9所示。
圖9 鉆埋孔檢測報警記錄
2.3.2 壓包前檢測所需資料是否完整
壓包前檢測所需資料是否按照廠間工序要求進行提供,若在整理過程中發(fā)現(xiàn)缺失文件,上傳報警信息并退出當前料號,如圖10所示。
圖10 鉆通孔檢測報警記錄
2.3.3 關聯(lián)genesis軟件輸出異常
部分資料需要關聯(lián)到genesis 軟件自動輸出,如在輸出中未按設計的規(guī)范正確輸出,上傳報警信息并退出當前料號,如圖11所示。
圖11 外層銑邊報警記錄
2.3.4 檢測輸出層是否審核
在跑板邊程序時將需輸出的工具層添加“nocheck”元素標記,如審核人員審核完后,將此元素標記刪除;否則,系統(tǒng)判斷為未審核;如果檢測模塊檢測到輸出的關聯(lián)層存在“nocheck”元素,上傳報警信息并不給予輸出資料,如圖12所示。
圖12 未審核報警記錄
2.3.5 電子備注檢測
創(chuàng)建電子備注數(shù)據(jù)庫,開發(fā)前端錄入模塊,針對僅部分工序不能輸出的工具,錄入電子備注信息并上傳到電子備注的數(shù)據(jù)庫中,輸出資料前檢測是否存在輸出層關聯(lián)工序的電子備注,如存在報警,則不給予輸出相應的廠間互調資料。
(1)錄入料號名、設置影響工序及選擇備注內容,如圖13所示。
圖13 添加TGZ備注信息界面
(2)根據(jù)實際需求自定義錄入備注信息。
(3)點擊“預覽錄入數(shù)據(jù)”,系統(tǒng)生成即將上網(wǎng)的電子備注信息。
(4)點擊“上傳TGZ 備注”,自動將錄入的信息上傳到電子備注信息的數(shù)據(jù)庫中。
(5)檢測輸出層是否存在關聯(lián)的電子備注信息,若存在報警并不給予輸出相應的廠間互調文件,如圖14所示。
圖14 電銑報警記錄
2.4.1 下載LOT卡
編寫下載批量管制編號(lot number,LOT No)卡模塊,實現(xiàn)自動下載關聯(lián)的LOT 卡文件,步驟如下:
(1)應用Python 語言中的win32api 模塊,發(fā)送信息給ERP軟件的窗口句柄;
(2)ERP 軟件接到信息后,根據(jù)傳送的參數(shù)自動運行ERP數(shù)據(jù)庫的創(chuàng)建水晶報表過程;
(3)創(chuàng)建水晶報表過程根據(jù)此料號ERP 數(shù)據(jù)庫的關聯(lián)記錄,自動生成所需的LOT卡文件到指定的目錄下,供下一環(huán)節(jié)壓包使用,如圖15所示。
圖15 發(fā)送附件文件清單
2.4.2 下載中文MI圖紙
自動獲取192.168.0.9 服務器\192.168.XXX.XXX工程資料二廠工程部生產制作指示組(manufacturing instruction,MI)資料備用資料目錄下的MI資料,下載到指定的目錄下,供下一環(huán)節(jié)壓包使用。
2.4.3 下載工具文件
自動下載廠間互調關聯(lián)工序所需的工具文件,按要求下載到指定的目錄下,分以下2 種情況處理:
(1)192.168.0.9 服務器\192.168.XXX.XXX工程資料二廠工程部camGroup 目錄下,相應的工具文件夾下已存在廠間互調的工具文件,直接下載到指定的目錄下,供下一環(huán)節(jié)壓包使用;
(2)當服務器中未檢測到所需的工具文件,自動運行自動輸出系統(tǒng),將相應的工具文件按要求輸出到指定的目錄下,供下一環(huán)節(jié)壓包使用。
2.4.4 Genesis軟件自動輸出資料
部分資料須在廠間互調時從Genesis 軟件中導出,針對此環(huán)節(jié)單獨開發(fā)Genesis 軟件輸出模塊,在指定的節(jié)點由系統(tǒng)調用并傳入相應的參數(shù)。模塊根據(jù)傳入的參數(shù)執(zhí)行對應的邏輯分支,主要功能包括:① 自動根據(jù)傳入的參數(shù)制作并輸出關聯(lián)工序的gerber 文件;② 按部分工序要求制作文件并導出TGZ到指定的目錄下。
系統(tǒng)運行輸出關聯(lián)資料模塊后,按照相應工序所提供的所需工具資料的清單,相應檢測資料是否已全部下載,如需廠間互調的資料均存在,且數(shù)據(jù)完整,自動將此料號的所有工具及關聯(lián)文件壓縮成一個壓縮包。若數(shù)據(jù)量超出郵箱限制時,自動按單個附件50 Mb分段壓縮。
2.6.1 自動將關聯(lián)文件發(fā)送到指定的郵箱
主要功能:① 根據(jù)料號關聯(lián)ERP 及客戶規(guī)范的信息,在郵件中編寫郵件內容;② 發(fā)送關聯(lián)附件到指定的郵箱;③ 把發(fā)送狀態(tài)上傳到自動廠間互調資料登記表中;④ 批量發(fā)送。
自動生成發(fā)送郵件包括以下內容:① 郵件主題;② 根據(jù)從ERP 中下載的廠間互調信息,自動設置發(fā)件人、收件人、抄送相關聯(lián)的郵箱地址;③ 自動將需要發(fā)送的壓包插入郵件附件中;④ 根據(jù)ERP 中的信息自動填寫加工規(guī)范及注意事項;⑤ 自動發(fā)送郵箱簽名,如圖16所示。
圖16 發(fā)送郵件內容
2.6.2 自動發(fā)送模塊開發(fā)步驟
(1)設置發(fā)送郵件服務器,指定郵箱地址,可以批量發(fā)送郵件,如圖17所示。
圖17 郵件服務器設置
(2)傳送附件的上限限制為50 Mb(限制數(shù)據(jù)量防止批量發(fā)送時占用帶寬過大,影響其他業(yè)務的正常使用)。
(3)開發(fā)后臺發(fā)送郵件模塊,實現(xiàn)能夠根據(jù)下載的廠間互調登記表內的信息自動生成郵件。內容包括:主題、發(fā)件箱、收件箱、抄送郵箱、附件、郵件內容、郵件簽名等信息。
(4)模塊設置為可被主程序導入方式調用。
不同工序廠間互調時,工序要求提供的資料不同,廠間互調主程序根據(jù)已介定好的規(guī)則進行文檔下載、Genesis 軟件輸出,相應關聯(lián)的文件均放入指定的文件夾下,由自動壓包模塊壓包成需要發(fā)送的附件。不同工序所需的文件如表1所示。
表1 廠間互調工序與關聯(lián)文件匹配表
文件主要分為以下3類:
(1)LOT 卡,由ERP 中的數(shù)據(jù)通過下載LOT卡模塊獲取;
(2)MI圖紙,運用FTP模塊在服務器指定目錄下獲??;
(3)CAM 工具,包括鉆孔、銑帶、銑邊、TGZ、鋁片、激光程式、gerber文件等。如此類文件在服務器指定目錄下已存在,使用FTP 模塊下載相應文件;若不存在,廠間互調主程序自動運行Genesis 軟件的輸出模塊,將所需的工具輸出到相應的目錄下。
2.8.1 監(jiān)測報警信息及提示值班人員
針對輸出時進行后臺檢測,并上傳數(shù)據(jù)庫的報警信息,開發(fā)實時預警模塊,用于實時監(jiān)測報警信息,當預警模塊監(jiān)測到后臺數(shù)據(jù)庫有報警信息更新時,??吭陔娔X右下角的預警圖標閃爍以提醒值班人員,如圖18所示。值班人員雙擊閃爍的圖標,預警模塊展開報警信息,如圖19所示。圖19中區(qū)域a 為報警項目的清單;點擊b 處將此窗口隱藏;點擊c 處將數(shù)據(jù)庫的報警信息重新加載。
圖18 監(jiān)測報警信息提示閃爍標志
圖19 報警日志提示窗口
2.8.2 異常處理及后臺再次重新輸出
針對報警信息,值班人員可根據(jù)報警的提示分析,輸出相關聯(lián)的資料到網(wǎng)絡盤中,并在錄入前端選中此條記錄,右擊后點擊“清除輸出狀態(tài)”,如圖20所示,系統(tǒng)將再次檢測并輸出此條記錄的關聯(lián)資料,發(fā)送郵件到指定的郵箱。郵件正常發(fā)送后此條異常信息不再顯示。
圖20 清除輸出狀態(tài)功能菜單
針對值班人員手動處理,步驟繁瑣,存在資料輸出錯誤、漏發(fā)、錯發(fā)等現(xiàn)象。本文系統(tǒng)地設置了一整套的檢測流程,預定檢測節(jié)點逐一檢測,確保資料的正確性。
之前計劃部手動寫單給工程、工程根據(jù)申請單手動處理,從發(fā)出需求到工序接到文件約需20 min,現(xiàn)由系統(tǒng)自動處理,檢測到有審核記錄即刻處理約5 min后工序即可收到關聯(lián)資料,提升效率約4倍。
之前手動模式的廠間互調數(shù)據(jù)、工程MI組的圖紙、LOT 卡、ERP 數(shù)據(jù)、CAM 組Gensis 輸出的數(shù)據(jù),均是從不同地方獲取,數(shù)據(jù)不流通,無法有效關聯(lián),形成了數(shù)據(jù)孤島。通過編寫不同功能模塊,由系統(tǒng)逐一按預設的規(guī)則觸發(fā),將關聯(lián)的數(shù)據(jù)有效利用起來,消除數(shù)據(jù)孤島,從而產生價值。
結合該公司的實際情況,形成一套自動廠間互調的智慧解決方案,廢除之前舊模式的申請流程。新方案申請廠間互調工具,完全替代工程值班人員手動處理的工作。使計劃部門廠間互調時更加順暢、快捷、嚴謹、合理。新的方案能夠滿足實際生產中工序對工具的快速接收,有效降低關聯(lián)工具手動處理時的出錯率,提高工程及關聯(lián)工序的生產效率,確保工具管控的安全性、時效性、系統(tǒng)性。