Design and Realization of the Online Detection System
for Large Diameter Work Pieces
代永俊 李欽奉 蘇世杰 錢慧潔
(江蘇科技大學機械工程學院,江蘇 鎮(zhèn)江 212003)
大直徑工件在線檢測系統(tǒng)的設計與實現
Design and Realization of the Online Detection System
for Large Diameter Work Pieces
代永俊李欽奉蘇世杰錢慧潔
(江蘇科技大學機械工程學院,江蘇 鎮(zhèn)江212003)
摘要:針對大直徑工件的幾何誤差和外部尺寸的檢測,采用Microsoft Visual Studio.Net 2010為開發(fā)平臺,設計了大直徑工件在線檢測系統(tǒng)。通過計算機、傳感器以及數控立車三者之間相互通信以及不同測量項目對應數控程序的自動生成,實現固定在數控立車刀架上的高精度激光位移傳感器的數據采集。測量結束后調用Matlab優(yōu)化工具箱模塊對測量數據進行處理,從而保證了計算結果的準確性。經實際應用得出,該套檢測系統(tǒng)可應用于大直徑工件的多項目測量,實現了在線檢測的功能,具有較高精度。
關鍵詞:大直徑工件在線檢測Matlab優(yōu)化檢測系統(tǒng)
Abstract:For detecting the geometric error and external dimensions for large diameter work pieces, with Microsoft Visual Studio.Net 2010 as the developing platform, the online detection system for large diameter work pieces is designed. Through achieving the inter-communication among computer, sensor, and CNC vertical lathe, and automatic generation of NC program in different measurement project, thus the data acquisition of high precision laser displacement sensor fixed on the turret of vertical lathe is implemented. After measurement completed, the measured data are processed by calling Matlab optimization toolbox module, to ensure the accuracy of the calculation results. The practical application shows that the detection system can be applied in multiple project measurement of large diameter work pieces, it implements online detection and offers higher accuracy.
Keywords:Large diameter work piecesOnline detectionMatlab optimizationDetection system
0引言
目前,工業(yè)上對于工件檢測大多是通過品質檢測人員使用傳統(tǒng)的測量方法來完成。隨著大型機械設備向著復雜化、精密化方向發(fā)展,對于這些設備所需要的大尺寸工件的檢測要求也越來越嚴格。采用人工進行大直徑工件品質檢測存在著不足,主要體現在檢測效率低、檢測一致性差、檢測結果容易受檢測人員的主觀因素影響。特別是當大直徑工件在移至專用檢測工作臺時,不僅會產生二次定位誤差,而且效率低,甚至可能對工件造成損壞[1]。隨著工業(yè)控制技術的迅速發(fā)展,工業(yè)自動化控制技術和非接觸檢測技術越來越成熟。與傳統(tǒng)的品質檢測相比,自動控制和非接觸檢測技術具有諸多優(yōu)勢,可以做到實時在線、非接觸、無損和高精度的檢測,省時省力,并可以避免測量過程中檢測人員主觀因素造成的錯誤。對于工件的在線檢測系統(tǒng)開發(fā),國內一些專家學者也做過研究。劉川、季洪彪開發(fā)了中小型金屬工件在線檢測系統(tǒng)[2];馮占軍、王磊等研究了基于激光傳感器的工件外徑尺寸檢測系統(tǒng)[3];賁春雨、鄭宇等研究了大尺寸直徑非接觸光電檢測系統(tǒng)[4]。上述研究的系統(tǒng)都存在一定的局限性。
本文開發(fā)了一種大直徑工件在線檢測系統(tǒng)。該系統(tǒng)將數控立車、高精度激光傳感器以及計算機串聯在一起,并融合了Matlab的計算,不僅能夠完成大直徑工件的多種檢測項目,還能使整個系統(tǒng)達到實時在線、非接觸檢測。
1檢測系統(tǒng)的硬件設計
大直徑工件在線檢測系統(tǒng)硬件原理圖如圖1所示,主要由以下部分組成。
① 數控立車,如圖2所示,實現加工、檢測的基礎,測量過程中大直徑工件與激光位移傳感器的運動都是由機床本體驅動的。
② 激光位移傳感器,采用的是KEYENCE開發(fā)的CMOS激光位移傳感器IL-065,它的測量范圍為20 mm,基準距離為65 mm,顯示分辨率為2 μm,檢測性能穩(wěn)定。
③ 數控系統(tǒng),采用西門子802d SL數控系統(tǒng),使用DIN 或ISO標準編程,具有如下優(yōu)點:易于操作使用、高可靠性、適用于工業(yè)環(huán)境、控制系統(tǒng)結構緊湊、布線簡單、抗干擾能力強、模塊化設計可根據需求提供各種組合[5]。
④ 計算機,作為整個系統(tǒng)的載體,與數控立車、激光位移傳感器進行通信,完成發(fā)送或獲取有效數據。
圖1 在線檢測系統(tǒng)硬件原理圖
圖2 數控立車簡圖
2檢測系統(tǒng)軟件設計及開發(fā)
大直徑工件在線檢測系統(tǒng)的設計目標如下。
① 實現測量參數管理,主要包括待加工工件的種類及尺寸參數、數控立車參數以及傳感器參數。對這些參數建立數據庫,為后續(xù)檢測做準備。
② 實現測量項目管理,需要對加工工件外部尺寸和幾何公差進行檢測,將其進行統(tǒng)一管理,方便生成數控測量程序。
③ 實現數控程序管理,根據輸入的工件測量參數、測量項目自動生成數控測量程序,為發(fā)送模塊做好數據準備。數控程序發(fā)送模塊包括串口設置和測量程序發(fā)送兩部分。前者主要設置與機床進行串口通信的基本參數,后者負責將生成的測量文件通過串口傳輸至數控系統(tǒng)。
④ 系統(tǒng)數據庫,保存采集得到的數據文件、數據處理結果、相應的測量參數以及數控程序。
根據上述目標設計的控制系統(tǒng)總體結構如圖3所示。
圖3 在線檢測系統(tǒng)總體結構
根據在線檢測系統(tǒng)的結構,系統(tǒng)的具體流程如圖4所示。
圖4 系統(tǒng)流程圖
數控程序的生成是整個在線檢測系統(tǒng)的關鍵部分。對于不同的測量項目和測量參數,數控程序會有所不同,但是由于不同測量項目的數控程序格式一致,可能會有相同的部分。根據這種情況,在線檢測系統(tǒng)在處理數控程序生成時,將程序分成程序頭、主程序、程序尾三部分進行處理,最后將三個部分合并,形成總的數控程序。對于三部分程序分別建立三個模板文件,保存至相應目錄,模板文件中有可替換的關鍵字,在生成數控程序時,根據測量項目和測量參數調用模板文件并將關鍵字替換,生成相應的數控程序。
不同的工件和不同的測量項目,測量的起始點會有所不同,對于程序頭模板,將起始坐標作為關鍵字并替換生成新的程序頭文件。在起始點坐標確定后,根據不同的測量項目,傳感器移動方向、移動距離、停頓時間以及M指令是一個重復的過程,可以通過循環(huán)程序將上述各關鍵字進行替換,生成新的主程序文件。最后在整個工件測量完成時,傳感器停放位置等作為關鍵字進行替換,完成新的程序尾文件。由此,將三個新文件在另一個文件里合并,整個數控程序完成。下面給出主程序模板文件。
G04U%time%
∥停頓時間
M56M
∥指令執(zhí)行
X%coordinatex%Y%coordinatey%Z%coordinatez%
∥傳感器移動坐標
系統(tǒng)通信主要包括三部分,分別是計算機與傳感器、計算機與數控系統(tǒng)以及傳感器與數控系統(tǒng)。以下具體介紹三部分通信的內容。
傳感器控制器的接觸端子與數控立車的PLC某一繼電器觸點連接,數控系統(tǒng)需要在內部PLC增加特殊的M指令。該M指令執(zhí)行時,控制PLC的某一輸出繼電器觸點閉合。在數控程序運動到指定的待測點時,便執(zhí)行M指令。當該M指令執(zhí)行時,數控系統(tǒng)即通過內部PLC對應的輸出繼電器觸點向傳感器控制器發(fā)出觸發(fā)信號,控制傳感器即進行一次采樣,如圖5所示。
圖5 M指令的執(zhí)行過程
傳感器控制器的控制端子通過RS-232轉USB與計算機進行連接。為了能將傳感器采集的數據發(fā)送給Microsoft Visual Studio.Net 2010編寫的系統(tǒng)控制軟件中,使用Microsoft Visual Studio.Net 2010提供的串口通信控件SerialPort。在程序中將SerialPort的各個參數設置成與傳感器和計算機之間連接的串口的各個參數相同,這樣就完成了兩者之間的通信。在完成通信后,SerialPort需要發(fā)送一串特定的字符串,才能完成對傳感器的測量數據進行提取,具體程序如下。
SerialPort1.RtsEnable = True
∥啟用請求發(fā)送
SerialPort1.DtrEnable = True
∥True接就緒
tmpByte(0) = 83
tmpByte(1) = 82
…
tmpByte(10) = 10
SerialPort1.Write(tmpByte, 0, 10)
∥發(fā)指令
本文采用的數控立車的數控系統(tǒng)為西門子802d SL,數控系統(tǒng)與計算機之間進行數據通信是在線檢測的基礎[6]。同樣,用RS-232轉USB將數控立車與計算機進行硬件連接,在程序中繼續(xù)添加SerialPort控件并進行相應的參數設置。由于生成的數控程序不能直接發(fā)送,需要將數控程序轉化為ASCII碼才能發(fā)送,具體通程序如下。
SerialPort2.RtsEnable = True
∥啟用請求發(fā)送
SerialPort2.DtrEnable = True
∥接就緒
NC =System.IO.File.ReadAllText(…)
∥讀取數控程序
NCAsc = AsciiStringToHexString(NC)
∥生成數控程序的ASCII碼
n =Len(NCAsc) / 2 - 1
ReDimtmpByte(n)
Fori = 0 To n
tmpByte(i) = Mid(NCAsc, i * 2 + 1, 2)
Next
SerialPort2.Write(tmpByte, 0, 10)
∥發(fā)指令
在線檢測系統(tǒng)利用Microsoft Visual Studio.Net 2010進行編程。但是由于在線檢測的過程中采集的數據比較多,其數學計算能力不強,編程復雜,對程序設計人員要求高,開發(fā)效率低,故聯合對數據處理能力較強的Matlab進行混合編程。為了使混合編程方法能夠脫離Matlab運行環(huán)境,也能夠供其他編程語言調用,本文采用生成COM組件的方法供Microsoft Visual Studio.NET 2010調用。此方法生成過程簡單,并且便于模塊化[7]。
利用Matlab的優(yōu)化工具箱,可以求解線性規(guī)劃、非線性規(guī)劃和多目標規(guī)劃問題[8]。該優(yōu)化方法可以應用于本系統(tǒng)所采集到數據的大量計算,得出相應測量項目。在本系統(tǒng)測量項目的M函數編寫完成后,利用deploytool命令生成工程名為fun.prj、類名為funClass、函數名為myfun的通用COM組件。當函數編譯正確后,會在相對路徑的distrib文件出現后綴名為.dll的文件,至此COM組件就已成功生成。此時,在Microsoft Visual Studio.Net 2010編寫的系統(tǒng)控制軟件中,將之前生成的.dll文件添加引用,這樣COM組件就添加到程序中。
Microsoft Visual Studio.Net 2010在調用組件函數時需要通過程序聲明,才能完成調用,簡單的聲明調用程序如下:
Dim function As New funNative.funclass
∥聲明組件
…
fval=function.myfun(x,y)
∥調用組件
3應用實例
以某型大直徑缸套的檢測為例,說明該系統(tǒng)的實用性和快捷性。
① 參數輸入。某型缸套的具體測量部分關鍵參數輸入如表1所示。
表1 測量參數輸入
② 數控程序的發(fā)送。在線檢測系統(tǒng)會根據測量參數自動生成數控測量程序,此時需要將數控程序發(fā)送給數控立車。由于數控系統(tǒng)一般遵循“接收數據方先做好準備”的原則,點擊數控系統(tǒng)面板上的Program Manager鍵,系統(tǒng)界面切換到程序管理界面,在此界面上按下讀入鍵,系統(tǒng)進入接收等待狀態(tài)。此時,在系統(tǒng)控制軟件的界面按發(fā)送鍵,即可完成數控程序的傳輸。
③ 數據采集。在數控程序發(fā)送完成后,便可以開始運行程序。在運行的過程中系統(tǒng)控制軟件會自動讀取測量數據并實時顯示。
④ 數據處理。在所有數據采集完成后,系統(tǒng)控制軟件將測量數據進行簡單的處理,然后通過Matlab進行計算,最后在系統(tǒng)控制軟件中顯示計算結果,并保存生成報表。
4結束語
本文研究的檢測系統(tǒng)對大直徑工件多項目進行了在線、非接觸測量,通過將數控系統(tǒng)、激光傳感器及其控制器以及計算機融為一體,完成了整個系統(tǒng)的實現。在實現過程中,通過采用Microsoft Visual Studio.Net 2010和Matlab混合編程,大幅提高了系統(tǒng)對采集數據進行處理的計算精度。該系統(tǒng)具有操作簡單快捷、結構簡單、成本低、現場運行可靠等特點,理論上對于測量大直徑工件的尺寸不受限制。
參考文獻
[1] 孫佳,張鐳.大直徑工件的測量方法[J].機械與電子2006(3):13-16.
[2] 劉川,季洪彪.中小型金屬工件在線檢測系統(tǒng)的設計[J].機械制造與研究,2012,41(3):9-11.
[3] 馮占軍,王磊.基于激光傳感器的工件外徑尺寸檢測系統(tǒng)[J].電子測量與儀器學報,2007,21(6):82-85.
[4] 賁春雨,鄭宇.大尺寸直徑非接觸光電檢測系統(tǒng)研究[J].儀器儀表學報,2006,27(1):71-74.
[5] 張建維.802D.sl數控系統(tǒng)多主軸技術在立磨中的應用[J].機械工程師,2014(3):133-134.
[6] 朱傳福,趙娟.PC與SIEMENS數控系統(tǒng)通信技術[J].機床電氣,2010(6):8-11.
[7] 施金花,王斌.MATLAB與VB.NET混合編程方法在伺服機構動態(tài)測試中的應用[J].機電工程技術,2013,42(4):73-76.
[8] 戴彧虹,劉新為.線性與非線性規(guī)劃算法與理論[J].運籌學學報,2014(1):69-92.
中圖分類號:TH73;TP273+.5
文獻標志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201507021
修改稿收到日期:2015-01-09。
第一作者代永俊(1990-),男,現為江蘇科技大學機械電子工程專業(yè)在讀碩士研究生;主要從事先進制造系統(tǒng)及其適能技術方面的研究。