張國榮,茍 輝,李 堅,馮 波
(中國航空工業集團公司西安航空計算技術研究所,陜西 西安 710068)
在印制電路板(Printed circuit boards,簡稱PCB )生產過程中,為降低生產難度,減少生產成本,會對客戶提供的設計文件進行拼片,加板邊工藝孔、工藝焊盤、工藝邊、附連條、尾孔等處理[1-3]。在使用CAM350 軟件進行以上處理時,軟件功能菜單基本操作能夠實現拼版操作,但由于板邊添加元素較多,操作過程繁雜,手動處理較多且大部分操作是重復性,導致工程處理人員浪費大量時間[4-7]。利用CAM350 軟件自帶類Basic 語言編寫自動拼版腳本可以實現自動拼版過程,減少拼版時間,同時降低人為出錯率,提高印制板生產穩定性。通過Cam350 軟件提供了強大的類Basic 語言及查詢分析功能,通過簡單語句的應用或多個語句的組合可以實現很多功能,解決人為操作問題。針對目前存在的問題,可以利用多個語句組合的方式實現自動拼版的功能。自動拼版腳本流程如下:
一是各單位根據生產條件,制作拼版模板,模板應包括工藝邊、定位孔(焊盤)、定位靶標、阻流塊、同心圓、附連條等元素。制作多種元素并適當組合,導出成Gerber 文件。二是設置層屬性,并按疊層-阻焊-字符-外形-鉆孔順序調整層序號。三是根據各生產單位生產印制板工藝能力的強弱,調整客戶提供的設計文件。四是借助Panel Editor 功能中Size 模塊,設置參數,調整間距,最大數量拼片。
整個自動拼版過程,腳本程序較復雜,包含多個子程序,現根據拼版過程逐一解釋說明。
一般印制板內沒有邊框線,為了規定圖形有效區域,避免操作人員誤傷印制板,需在印制板四角添加角標角線。具體實現步驟[8]:新建兩個D 碼;查詢Border 層最大最小X、Y 方向坐標并定義如下:
maxx#=vismaxx! '最大點坐標#
maxy#=vismaxy!
minx#=visminx! '最小點坐標#
miny#=visminy!
分別利用add_flash@和add_line@語句在離邊框線一定距離四角處添加角標焊盤和角線。借助edit_copy@語句將角標角線復制到需要圖層。
在Cam350 軟件中,添加層標識,可通過Cam Editor-Add-Text 操作完成,緊接著利用Edit-Copy 和Edit-Change-Text 操作復制到其他層并更改其他層標識內容,通過重復以上操作實現所有圖層層標識的添加,整個過程步驟較多,且全部為手動操作,容易出現手誤。借助Cam350 軟件自帶類Basic 語言中Addtext@語句可實現自動添加層標識的操作。腳本編制思路如下:由于每種印制板生產編號、層數、及綠油覆蓋情況,絲印字符情況存在差異,在編制腳本程序時,需要將這些情況都考慮進去[9-10]。點擊左鍵利用Getmousepos@ 語句確定層標識位置基準點,手動輸入生產編號,利用Addtext@ 語句添加文字標識,標識內容和格式在編制腳本時已設計好,如0001 TOP;0001 Masktop;0001 Silktop,視印制板情況,選擇層數、單面/雙面/無綠油和單面/雙面/無字符,利用嵌套式If 語句,實現多種情況的選擇,點擊OK 運行腳本。而且通過以上腳本可以實現任意位置、任意文字的自動添加。詳細流程見圖1,生成主界面見圖2。

圖1 添加層標識流程圖

圖2 添加層標識界面
在Cam350 軟件中,導入附連條/同心圓,可通過Cam Editor-File-Import 操作實現,但需要人為判斷層類型后,手動選中對應附連條/同心圓導入,再利用Edit-Move 操作移動附連條到合適位置,然后再利用Edit-Move 操作將附連條/同心圓移動到對應層,再將導入的附連條/同心圓模板層一一刪除。通過以上所有步驟完成添加附連條/同心圓操作。但借助Cam350軟件自類Basic 語言編寫腳本程序,將importgbrfile@、LayerType!、edit_move@、edit_delete @四個語句組合可實現自動判斷層類型、自動導入附連條/同心圓、自動移動及自動刪除層功能。腳本編寫思路如下:將前期制作的附連條/同心圓模板放入指定文件夾,利用importgbrfile@語句導入,但由于設計印制板時包含信號層和電源地層,附連條/同心圓在兩種層屬性中存在形式不一樣,所以在導入前需判斷層類型(LayerType!)。利用LayerType!=1或者LayerType!=2 語句進行判斷,若LayerType!=1,導入對應層信號層圖形;當LayerType!=2,導入對應層電源地層圖形。附連條位置一般放置在角標以外,由角標位置決定,即角標位置一旦固定,附連條導入后會自動移動(edit_move@ 語句)至角標附近位置,如果不使用腳本,因為每種印制板拼版不會完全一致,就需要手動輸入每一種印制板移動的位置,而后才能移動,過程復雜,浪費時間。同心圓位置固定導入后無需再進行移動操作,直接復制到需要層。最后利用edit_delete @將導入的附連條/同心圓模板層刪除。具體流程見圖3。

圖3 添加附連條/同心圓流程圖
利用Auto_Import@語句將拼版模板Gerber 文件從指定文件夾導入,使用軟件自帶類Basic 語言中:
edit_copy@
edit_selectall2@
setcoplayer@
copy_to_layer@語句,
依據層類型不同,將工藝邊,四角定位焊盤、外形框一一復制到對應層,自動完成導入和復制操作。
工程處理過程中,會對內層根據層數不同進行不同程度的放大補償,Cam350 軟件中通過Edit-Layers-Scale 操作可以實現補償,但必須手動操作,每次操作前需要手動查閱,手動輸入補償系數,同時無法批量操作,即每一層補償都必須重復以上操作。借助類Basic 語言中edit_scale@語句和edit_removelyr@語句的組合能夠實現以下三個功能:a.選中層數自動批量補償至要求補償系數;b.補償結束自動刪除原圖層,c.所有圖層自動排序。以上所有操作完成用時不到1s,但如果使用CAM350 軟件功能菜單基本操作用時需要用時5-10min。利用腳本程序可節省大量時間,提高工作效率,同時減少人為出錯率。
將以上子程序腳本合并到一起即可完成印制板自動拼版操作,該腳本已在CAM350 軟件9.5.2 版本和10.5 版本試驗成功。隨著技術的不斷進步,對印制板制作過程會更加嚴格地把控,同時在印制板板邊會添加更多的元素,但只要充分掌握CAM350 軟件自帶類Basic 語言,將語句合理組合形成腳本程序,將拼版過程簡化,起到事半功倍的效果。當然各印制板生產單位由于生產工藝能力、生產設備及工程人員操作習慣等方面存在不同,在編寫腳本時也應該根據實際情況進行適當調整,合理安排元素位置、制作拼版模板,調整子程序順序。如果后期需添加和刪除元素,只需要重新制作拼版模板,不需要更改腳本程序,這大大減少了編制腳本的成本。