本文關鍵字:
摘要:
SMT設備要達到最大的產量,必須要考慮生產線的效率。點膠機是SMT生產線中的重要設備,因此提高點膠機的生產效率具有十分重要的意義。本文以CAMALOT 5000系統為例,介紹了點膠機離線編程軟件的設計與開發中的思想、方法和經驗,本文著重探討了坐標數據的處理和轉換,同時針對基于點膠系統優化的TSP問題進行了分析和研究,對程序優化進行了系統分析設計,并編程實現了基本方案。最后在CAMALOT 5000系統上使用本解決方案,大幅度提高了生產效率,證明了本解決方案的優越性和高效性,也為其他SMT設備的離線編程軟件的設計提供了一種可參考的思路。
關鍵詞:
離線編程;優化;點膠機;旅行商問題
Abstract: To achieve maximum output from SMT equipment, equipment efficiency should be take into account. Dispensing system is a important equipment in SMT line, so it is important to improve the dispensing system''s efficiency. Take CAMALOT 5000 for example, this paper introduces thought, method, experience of designing and developing optimization software for dispensing system, especially X-Y data''s processing and conversion, analyse and research is given about TSP bade on SMT optimization. System analysis design scheme is provided and realized by programming. Finally, this solve scheme is applied to CAMALOT 5000 system, it has greatly improved the produce efficiency, and proved superiority and efficiency of scheme. At the same time, it may provide a referable way of design of off-line programming software for other SMT equipment.
Key words: Off-line programming ; Optimization; Dispensing system; TSP
點膠機是SMT混裝生產工藝流程中經常用到的設備之一。使用貼片膠的典型焊接過程包括點膠貼片固化翻面插件波峰焊接五個步驟。點膠是整個流程的第一步,其生產效率的高低將會左右著整條線的產量,因而要提高點膠機的生產效率,避免成為瓶頸,這就是我們研究點膠機離線編程軟件的意義所在。
1. 設備介紹
為了滿足SMT混裝生產的要求,我公司于今年5月引進一臺CAMALOT 5000點膠機,CAMALOT 5000屬聯線液體點膠系統,可應用于表面貼裝技術 (SMT)。這些系統在業界應用極為廣泛,其特點是可靠、耐用、新穎、適應性強,可以處理各種電路板和基板。5000 平臺在全部三個軸上均采用了滾珠絲杠和伺服電動機(帶有閉環編碼器),可以確保用戶能夠流暢、精準、正確地點膠。為了便于您操作,它們還提供了易用的增強型圖形用戶界面。這些點膠機專為電路板方面的應用而設計,它們使用一種特殊的傳送系統,可容納面積達19" x 19" (483mm x 483mm)的電路板,每小時點膠數最多達 25,000點,但這需要在一種理想的情況下實現,本文將在后面探討程序如何優化以使設備接近這種理想工作狀態。
其工作過程包括以下幾步:
1)PCB(印制電路板)由進口傳送帶被裝載到X-Y工作臺上。
2)視覺系統讀取PCB基準點,并將PCB定位。
3) 點膠頭依次將膠水點到PCB上指定位置上直至所有位置全部點完。
4) PCB由出口傳送帶卸載。
2. 設備的不足及解決
2.1 設備的不足之處
作為點膠設備的第一品牌,CAMALOT 5000優點很多,但也有它的不足之處,主要體現在以下幾個方面:
1)軟件沒有導入CAD數據的功能。一般通過利用機器的人工示教方式,移動攝像頭在電路板上找出所有膠點的坐標位置,但這種方式會占用設備的生產時間,而且采用人工示教方式找點對于普通的一塊有幾百個貼片元件的電路板來講是一件費時費力而又極易出現差錯的工作。同時由于人為的必然誤差,元件位置偏差等原因導致的修復及返工的成本上升。
2)某一膠點位置的查找不方便。機器軟件坐標數據中沒有元件位號(如C1),僅有X坐標和Y坐標,這樣在對某一膠點調整時將無從判斷其具體位置,只能一個個通過移動攝像頭在電路板上查找需調整膠點的坐標位置,相當麻煩。
3)程序優化有瑕疵。只依據最短路徑優化而不考慮膠量大小的影響,這樣有可能比較大的膠量會對后面比較小的膠量造成不良影響。
2.2 解決辦法
針對上述不足,我著手編寫了CAMALOT點膠機離線編程軟件(CAMALOT Programming System,簡稱CPS)來解決這些問題。CPS采用VB6.0開發,具有典型的WINDOWS風格,界面簡潔,操作簡便,具有以下特點:
1)可快速將CAD數據轉換為點膠程序,只需幾秒鐘時間,大幅度提高編程效率。
2)處理的數據中包含元件位號,可以很方便的查找及修改某一膠點數據,包括坐標位置和膠量大小。
3)有程序優化功能,除了依據最短路徑法,還依據膠量大小排序,膠量小的排在前面,膠量大的排在后面。
4) 可對坐標數據格式進行自動處理,只保留小數點后2位。
3. 軟件開發思路及過程
CPS主要包含兩方面的功能:CAD數據的轉換和程序編輯;程序優化。下面本文將圍繞這兩個方面逐一介紹。
3.1 CAMALOT 5000點膠程序格式分析
現在SMT設備的程序一般都是文本格式,用記事本可以打開,CAMALOT 5000也不例外,圖1所示的是CAMALOT 5000程序的文本格式??梢詫Ⅻc膠程序大致劃分為兩個數據段:第一個是程序控制語句段,主要是一些點膠時的機器參數設置,針對所有的點膠程序都是通用的;第二個是點膠數據段,包括點膠程序名,從圖1可以看出該程序名為TEST.CAM,坐標數據的前兩行為MARK坐標數據,從第三行開始是膠點坐標數據,包括X坐標,Y坐標,S列為膠量控制參數,參數值為1到4,我們定義4為標準膠量,數值越小,膠量越大。
3.2 將坐標數據轉換為CAMALOT程序文本格式
由于程序控制語句段為通用字段,所以我們在坐標數據轉換過程中根本不用考慮,只需在導出CAMALOT程序時直接添加在程序字段的最前面就可以了。我們考慮的重點就是如何將CAD坐標數據轉換為CAMALOT點膠數據格式。為了簡化起見,我們首先用EXCEL對CAD坐標數據進行處理,只保留X坐標和Y坐標,并另存為CSV格式(逗號分割)。CAD數據的轉換包括兩個過程:坐標數據的讀取和數據格式的轉換。下面將分別進行介紹:
3.2.1 坐標數據的讀取
采用VB6編寫讀取文本數據的代碼,首先介紹幾個個非常有用的函數:
1)InStr(string1,string2)。返回string2在string1字符串中最先出現的位置。例如InStr("30.56", ".")返回3。
2)Len(string)。返回string字符串包含的字符數。
3)Left(string, length)。返回字符串string中從左邊算起指定length長度的字符。例如Left("30.56",2)返回"30"。
4)Right(string, length)。返回字符串string中從右邊算起指定length長度的字符。例如Left("30.56",2)返回"56"。
下面我們編寫一段代碼來讀取一行坐標數據:
Dim tabPos As Integer
Dim x As Variant
Dim y As Variant
Dim strRow As Variant
strRow = "20.8666,30.8666" ''設定strRow為待讀取的一行坐標數據
tabPos = InStr(strRow, ",") ''定出逗號位置
x = Left(strRow, tabPos - 1) ''取出X坐標數據
tabPos = InStr(x, ".") ''定義X坐標數據小數點位置
X= Left(x,tabPos + 2)''X坐標數據只保留小數點后兩位
StrRow = Right(strRow,Len(strRow)-Len(x)-1)''去掉已讀取的X坐標數據部分
tabPos = InStr(strRow, ".") ''定義Y坐標數據小數點位置
Y = Left(strRow, tabPos + 2) ''Y坐標數據只保留小數點后兩位
最后的運算結果就是x為20.86,y為30.86。
3.2.2 數據格式的轉換
在這里我們編寫一段代碼來將前面讀取的x和y坐標轉換camalot的mark坐標格式:
Open "d:/camalot/test.txt" For Output As #1
str = " " & 1 & "; REFPT; " & x & "; " & y& ";"
Print #1, str
最后的執行結果就是在d盤的camalot目錄下生成了一個test.txt的文本文件,該文本文件包含這樣的內容:“1; REFPT ; 20.86; 30.86;”,這樣也就將x和y坐標轉換camalot的mark坐標格式。
3.3 點膠機程序的優化
我們仔細觀察點膠機的工作過程,就會發現膠機的點膠速度還是很快的,它的大部分時間都花在點膠頭的移動上了。我們要考慮的主要因素就成了如何盡量減少點膠頭的移動距離問題,即尋求最短路徑的問題。假設總共有PCB板上有n個需要點膠位置,從一個特定的起始點出發,如何才能尋找一條最優的路徑,使得其能遍歷所有的點而運動的總距離最短。數學描述如下:
假設{1,2,3,…,i…,n}為一系列要遍歷的點,其坐標位置分別為{(X1,Y1),(X2,Y2),…,(Xi,Yi),…,(Xn,Yn)},我們的目標是尋求一個序列{(i1,i2,…,in)}使得:
1) 每個點在序列中僅出現一次;
2) 滿足ikik+1(1≤k≤n)兩點間距離最小。
我們稱這個問題是電路板問題,這個問題實質上就是一個典型的旅行商問題(Traveling Salesman Pro-blem,簡稱TSP)。TSP是一個圖論的經典問題,就是說有一個旅行售貨商要從他所在的村子出發,到周圍的幾個村子售貨,每個村子去一次,最后回到出發點,求他的一條最短路徑。作為圖論的經典問題,TSP問題一直是一個在工程規劃、地理信息系統、軍事等領域應用十分廣泛的問題,對該問題的研究有著重要的理論和應用價值。下面從以TPS問題為基礎介紹一種點膠程序優化算法:
1) 確定初始出發位置,我們設定離坐標原點最近距離的膠點為初始點。
2) 依據膠量的大小,先從膠量小的膠點開始,在所有還沒有放置到PCB上的膠點位置中,尋找一個距離上一個膠點位置最近的膠點,以此作為下一個要放置的膠點,同時將此膠點從未放置膠點序列中除去;
3) 重復步驟2)直至所有膠點都被放置完畢。
3.4 工程實際應用
應用本文中介紹的方法于實際,產生出了良好的效果。依據上述介紹的優化算法編寫的CPS優化軟件,已經運用于實際生產過程中,該軟件的程序界面如圖2所示。
該軟件采用典型windows風格界面,操作簡單。具有對每一元件項進行修改、增加、刪除、替換、瀏覽等功能,并且該軟件所處理文件數據格式與CAMALOT 5000程序格式一致,其優化處理后的點膠程序可直接拿到CAMALOT 5000上運行,從而可以實現離線編程,極大提高程序編制效率及可靠性,減輕編程人員負擔。
4. 結束語
通過對SMT設備程序的優化,可以在一定程度上減少機器的生產周期時間,但對于生產效率的提高來說,這僅僅是其中的一部分,更多的時候要依靠科學的管理,優秀的操作工,良好的設備維護與保養來實現,這些更是應該引起我們注意的地方。