本文關鍵字:
1. 在機器參數中有一項設定:Mark Pos Fix和Mark Pos Alt.當設成前者時,更改program offset時,Mark座標位置固定,即可更改PCB整個的components shift.如果設成后者,Mark座標位置與元件座標位置相對固定,更改program offset不會對元件偏位產生影響,只會改變照Mark時的位置。有些PANASERT機型可能沒有這一項參數設定。
2. 自動裝著設備NC程序的分析
目前電子行業的自動裝著包含自動插件(AI)和表面貼裝(SMT)兩大類。該行業在我國雖然屬于較新的課題,經過近些年的實際生產總結仍然涌現了許多專業方面的技術人才。但基本上各自動裝著廠家目前自動裝著設備的NC程序編制和管理依然完全依賴進口設備廠家或由臺灣、新加坡等地區編制的管理軟件。首先,購買原廠軟件及相關設施是一筆不小的費用,從普通編程電腦到專用編程機電設備其價格也從USD5000至USD100000不等;其次,由其他公司提供的安裝軟件一旦出現問題或自身再引進新設備,那么往往又必須重新購買。所以許多中小型企業寧愿直接在裝著設備上編制程序,這當然影響了設備的利用率。為此,我們希望針對自動裝著設備使用的NC程序進行內部結構分析,從而為生產的順利進行打下先行基礎。
第一單元:NC程序的存儲方式
無論是自插還是貼片機它們都是靠不斷循環執行其所需的各項設定參數來完成每個元件的裝著過程,而這些參數就記錄在我們的NC數據當中。盡管各類型的設備有著不同的NC數據格式,但首先我們可以發現它們往往都能用您計算機Windows中的“寫字板”來將其打開,換句話說,它們都是以文本文件的形式予以紀錄存儲,只不過使用了不同的擴展名來給予標示。NC數據的存儲又分為單一文件存儲和多文件存儲兩類,所謂單一文件存儲是指設備所需的全部NC數據都包含在一個文件當中,如三洋等SMT設備用*.NCZ數據,多文件存儲的方式往往是為了方便管理和靈活運用而將一條NC數據存放在兩個或多個文件當中,這一類程序以松下自插、貼片機用*.NCD和*.UDR數據為代表。了解NC程序的存儲方式是編制程序的基礎,也是相互轉換不同設備用NC數據工作所必須了解的前提。
第二單元:NC程序的內容
前面提到NC程序是以文本文件的形式予以紀錄存儲,在此我們就利用Windows中的“寫字板”來分別分析松下自插機和三洋貼片機用的NC程序。
以下是一條僅有2個元件自插的松下RH6用程序,假設它分別由
CF000000.NCD和CF000000.UDR構成。其中CF000000.NCD是RH6的數據文件,如下:
N 0001/0G 1M 000T 004X+000000Y+000000Z-00000V+00000W+00000 +00000D
N 0002/0G 0M 001T 001X+004950Y-020000Z+00001V+00000W+00000 +00000D
N 0003/0G 0M 011T 002X-006250Y-003950Z+00002V+00000W+00000 +00000D
N 0004/7G 0M 001T 002X-006750Y-003570Z+00003V+00000W+00000 +00000D
N 0005/0G 0M 000T 000X-006750Y-003570Z+00003V+00000W+00000 +00000D
熟悉松下自插機的技術人員馬上就可以看出其中的“X、Y、Z”后面跟的分別是設定自插用的X、Y坐標和自插材料位號Z,對!并且X、Y是絕對坐標。那么其中的N0001至N0004是程序的序號;“/”是條件跳越參數;“G”是自插機的軸類型區分參數;“M”是自插動作控制參數;“T”是角度、速度和換板等參數;“V”是部品高度參數;“W”是部品寬度參數;“+00000D”是程序行結束,具有固定性;最后程序以“*”符號標志結尾。當然V和W僅適用于RHⅢ、AV系列等插件機而RH6設備中不要求,所以它們都是“0”。由于松下機是以多文件存儲的方式存,它還需要一個擴展名為*.UDR的目錄文件才能被數據終端(PDT)識別。其中CF000000.UDR文件內容如下:
0001P014 ABCDE M3 CF000000.NCD.NCD RH6 200104130 i
A 00200B8.NCT C008 31
同樣讓我們對其中內容進行逐段分析。文件開頭以“0001”表示該目錄文件中僅有一條NC數據;“P014 ABCDE
M3”是用戶定義的程序名,可以根據不同的PCB板任意起名方便用戶區分,但規則是第一位必須為“P”,后面的三位應是非“000”的任意數字,否則部分插件機會認定為非法名稱;“CF000000.NCD.NCD”是NC數據的DOS名稱,它是目錄文件中唯一不重復的區分標示;“RH6”當然就是代表程序適用于的設備名稱;“200104130”表示程序做成的日期;“i”是increment相對坐標的縮寫代碼;“A00200B8.NCT
C008”是NC數據的標注信息,可以根據用戶需要任意給予標注;“31”表示該NC數據有3個裝著點(后面的1為固定,不代表裝著點數據),其中一點被設為無效。
好了,現在我們可以根據以上兩個數據文件和目錄文件做一個總結:
其一、如果把以上兩例中的代碼原文分別拷貝到對應的CF000000.NCD和CF000000.UDR文件中(由于格式固定原因,其中的空格也必須包括在內),你會在PDT終端上發現這已經是一個完整可用的RH6機NC程序,到此為止就可以算是具有編寫NC程序的能力了。當然,一個實用的NC程序還應由相關的開發應用軟件和優化軟件來支持,這部分將在第三單元進一步討論。
其二、你完全可以通過修改其中的數據或代碼來改變程序的特征,例如除了修改坐標、料位號改變插件位置外,你還可以通過簡單的修改目錄文件中的“i”為“a”(絕對坐標absolute縮寫代碼)來改變其相對坐標為絕對坐標的特性,甚至修改“RH6”為“AE”實現NC程序的兼容移植。
其三、對于單一文件存儲的NC程序(如三洋最新高速貼片機TCM-3000系列)也可觸類旁通,只不過此類型NC程序將所有的信息按固定格式存儲在一個文件當中。由于TCM-3000Z型貼片機用單一文件存儲NC程序以及其自身內容的復雜性,即使是少量的貼裝實例也包含了各類繁瑣的參數,在此難以寫下整個程序的內容,但只要通過打開其中的內容加以分析,其實也不難理解它的NC程序是用分段方式來進行逐項數據管理。
“程序內容首行”段:記錄的是程序名、做成日期、版本信息等數據;
“:CORE”段:記錄了方便用戶識別的標示數據、線路板尺寸數據和各類OFFSET(偏移量)數據;
“:RECOG”段:識別點數據,用于選擇識別點坐標和特征代碼;
“:MARK”段:記錄了線路板校示識別點的內容特征數據;
“:SETUP” 段:工作臺、軌道傳送方向等數據;
“:OPE-C”&&“:OPE-D”段:貼片機操作數據,用于記錄設備運轉速度、臨時原點、補件方式等數據;
“:PARTS && :PLT1”段:元件ID名數據;
“:PLT2 && :M-DAT01” 段:貼裝坐標、角度位置等數據;
“:A-DAT01” 段:多面板重復偏移量數據。
需要提醒大家的是以上內容是由數字代碼“1”、
“0”等等來區分“開”、“關”或“數量級”,并用“逗號”作為分隔符。而且并非所有程序都要一一對應,如工作臺、軌道傳送方向數據在客戶選擇設備訂單的生產方式時就已經決定其內容,而我們的程序通常是為正常生產方式而編制,所以類似“設備運轉速度”等一般固定為高速不變。
第三單元:用于開發NC程序的軟件制作
了解了NC程序的各項內容特征后,要開發一套屬于自己的軟件編輯管理系統就不再是遙遠的事。對于多文件存儲(以前面松下RH6等設備為例)可以直接采取后臺數據庫調用編輯與導出,對于單一文件存儲(以前面三洋TCM3000Z等設備為例)除了以上步驟外,在導出到NC程序時還應分別將各程序段進行匯總,還記得DOS時代的“COPY
File1+File2
File3”命令么?你所要做的正是在你的程序中實現這一命令的結果。就筆者而言,我認為一套優秀的開發NC程序軟件制作關鍵不在于如何生成可用的NC程序,真正的難點在于實現程序的靈活性以及如何優化生成的NC程序,其中涉及到復雜的邏輯算法,這就要求我們的程序員既要有相應的編程能力,又要對自動裝著有一定的了解,甚至可以成立相關成員小組聯合開發。
了解對應裝著設備的一些重要參數是實現一套實用NC程序管理軟件的基礎。這類數據大致有以下:
1、 Tact數據:它是設備在裝著一個元件運轉周期中所允許的最大移動范圍。合理的限定Tact數據有助于我們的程序在最短時間內完成一塊線路板的裝著??紤]到實際生產時存在非理想狀態,Tact數據應具有不完全限制性;
2、 Limit數據:是針對各類裝著設備中的各項極限參數,例如材料的最大裝載數、工作臺允許線路板的大小極限尺寸、適用元件的大小極限尺寸等等。原則上Limit數據是采取嚴格限制,否則最終生成的NC程序可能會出現不可用,但考慮到各類型設備程序的兼容性移植,所以仍然建議設計成可修改形式;
3、 Speed數據:該數據是設備的能力數據的經驗值。自動裝著生產線的工序平衡是影響效率的重要原因,不同的設備搭配應有不同的工作量分配,否則會出現后面工序等前面或前道工序半成品嚴重堆積現象。所以Speed數據也應在一定程度上可調;
4、 PartsID數據:這是一個描述裝著元件形態尺寸的數據庫。雖然它和NC程序相對獨立,早些年的自動裝著設備也不需要PartsID數據,但現在卻已廣泛的采用在了SMT生產當中。就連松下臥式自插機AVF的改進型機AVKⅡ也加入了PartsID管理。其實即便是用于舊式自插機,PartsID數據還是能在工藝區分、死區(Dead Space)防止等方面發揮它的作用。
這類數據在計算機生成各類NC程序的過程中會被隨時調用,我們稱之為基礎數據,所以建議用專門的數據庫給予保存管理,并在一定程度上允許高級用戶修改,如此一來我們軟件的靈活性會大大得以增強。
至于NC程序的優化方式可以說是計算機編程的軟肋,有點像“深藍”與卡斯帕羅夫的人機大戰,似乎電腦永遠無法超越人腦,但對于繁重而匆忙的編程任務時它又往往會優勝。不難想象一塊兩三百點的普通線路板其裝著路徑方案早已是接近無窮大。即使目前許多著名自動裝著設備廠家銷售的NC程序管理軟件,其最終“優化”結果也實在讓人不敢恭維,甚至存在優化后材料排列錯亂的嚴重BUG。正因如此,眾多的第三方軟件提供商都會著重強調自己的軟件在優化方面的杰出,同時也被當成商業機密而難以在業界內相互交流。其實NC程序的優化方式沒有最好,只有更好或者說各有長處。相信在實際應用的過程中不斷加以完善才能做出最符合本單位的專用NC程序編輯管理軟件。