貼片機是用來實現高速、高精度地貼放元器件的設備。貼片機編程是指通過按規定的格式或語法編寫一系列的工作指令,讓貼片機按預定的工作方式進行貼片工作。一般每個工廠都有自己的編程方式,這個很靈活,可以自己編寫的小軟體、可以購買專業的離線軟體、可以設備廠家自帶的編程軟體。
機器程式詳解 自動裝著設備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程式編輯管理軟體。 |