楊家榮
(上海電氣集團股份有限公司中央研究院,上海 200070)
直線度誤差是指直線上各點跳動或偏離此直線的程度,它是機械精度的一項重要指標,與尺寸精度、圓度和粗糙度統(tǒng)稱為影響產(chǎn)品質(zhì)量的4 大要素,同時也是其它形位誤差如平面度、平行度的基礎。機床、儀器導軌或其它窄而長的平面,為了控制其直線度誤差,常在給定平面(垂直平面、水平平面)內(nèi)進行檢測。直線度誤差的測量方法有很多,傳統(tǒng)的方法主要是采用直尺、檢測平臺等一系列工具進行測量,選用適當?shù)姆椒ǐ@得測量數(shù)據(jù)后,需進行數(shù)據(jù)處理,才能得到所測對象的直線度誤差。這種手工計算可以獲得相對精確的結(jié)果,但效率低,尤其在測點較多的情況下,嚴重制約了測量的效率。因此,開發(fā)和研究能夠自動測量和誤差評定的直線度誤差測量軟件具有十分重要的意義。本文利用Visual Basic(VB)軟件開發(fā)了一套直線度誤差測量系統(tǒng),系統(tǒng)會自動根據(jù)采集到的數(shù)據(jù),快速高效地進行分析,并判斷產(chǎn)品是否合格,給出相應的測量結(jié)果提示,并將合格數(shù)據(jù)記錄到數(shù)據(jù)庫中,便于產(chǎn)品的追溯,大大提高了測量的效率和準確度。
直線度誤差的評定方法很多,根據(jù)定義:在一個理想幾何形狀的平面上,當被測線每個點采到的數(shù)值相對理想基準直線的變動量小于等于指定的公差值時,被測線的直線度是恰當?shù)摹榱耸估硐牖鶞手本€到實際被測曲線的距離是最小的可能值,應該正確定位理想基準直線。因此直線度誤差就是計算實際測量曲線直線度時兩條平行線的最小距離。確定最小距離必須確定參考直線,確定參考直線的方法就是評價直線度的方法。一般而言,常用的數(shù)據(jù)處理方法有兩端點連線法、最小二乘法和最小區(qū)域法3 種[1]。
兩端點連線法:以測得的誤差曲線首尾兩點的連線作為理想要素,作平行于該連線的兩平行直線將被測要素包容,兩平行直線間的縱坐標距離即為直線度誤差。這種方法較簡單,但是精度較低。
最小二乘法:以各采樣點偏差值的最小二乘直線為評定基線,求得基線兩側(cè)的最遠點到基線的縱坐標距離,這兩者的絕對值之和為被測件的直線度誤差。由于其理論成熟,算法簡便,在包括直線度誤差在內(nèi)的形位誤差評定中得到了廣泛的應用。
最小區(qū)域法:其判別準則是,對于給定平面內(nèi)的直線度誤差,滿足最小包容區(qū)域的兩平行線應符合“相間準則”,即兩平行直線包容被測誤差折線時成“高—低—高”或“低—高—低”相間的三極點接觸,兩包容線間的距離即為符合最小條件的直線度誤差值[2]。此方法精度最高,一般評定結(jié)果小于或等于其它兩種方法。
本系統(tǒng)考慮到實際應用的綜合性,內(nèi)置了最小二乘法和最小區(qū)域法兩種評定標準,實際應用中,可根據(jù)需要進行選擇切換。
本系統(tǒng)主要由:實時數(shù)據(jù)采集模塊、顯示模塊、參數(shù)設置模塊、誤差評定模塊、數(shù)據(jù)存儲模塊以及故障檢測模塊組成。各功能模塊分別完成以下主要任務:
實時數(shù)據(jù)采集模塊:主要通過與下位PLC 之間約定的協(xié)議,進行交互通信,控制PLC 執(zhí)行數(shù)據(jù)采集任務,將不同位置點處采集到的傳感器數(shù)據(jù)讀取到PLC中。在完成1 個周期的動作后,發(fā)送指令給PLC,進行下一輪的采集。
顯示模塊:將采集到的水平面和垂直面數(shù)據(jù)信息,在界面上進行顯示,同時顯示系統(tǒng)的運行狀態(tài)、進度、檢測結(jié)果等信息。
參數(shù)設置模塊:設置產(chǎn)品信息,如批次、編號、班次、型號等,以及精度要求等參數(shù)。
誤差評定模塊:從PLC 的數(shù)據(jù)存儲區(qū)中分別讀取采集到的水平面和垂直面數(shù)據(jù)信息,并根據(jù)所設定的評定方法進行判斷是否合格。
數(shù)據(jù)存儲模塊:將檢測到的合格產(chǎn)品及不合格產(chǎn)品的采集到的數(shù)據(jù)寫入到數(shù)據(jù)庫中,便于隨時查詢及分析原因,同時對所檢測產(chǎn)品可在今后實施追溯。
故障檢測模塊:與PLC 通訊,對PLC 中檢測到的設備故障在軟件系統(tǒng)中進行顯示,輔助設備操作人員快速定位和排除系統(tǒng)故障。
VB 中提供了可與設備串口實現(xiàn)通訊的MSComm控件,從而實現(xiàn)與PLC 的通訊。在Visual Basic 所設計的工程中,單擊“工程”-“部件”菜單,選擇Microsoft Comm Control6.0,將其添加到所創(chuàng)建的工程中。
MSComm 控件有兩種通信方式,查詢方式和事件驅(qū)動方式。當采用事件驅(qū)動方式時,當有數(shù)據(jù)到達端口或者端口的狀態(tài)發(fā)生改變時,都將觸發(fā)MSComm 控件的OnComm 事件,這是處理串行端口交互作用的一種有效方法,可以捕獲和處理這些通信事件,通過查詢CommEvent 屬性值,可以獲得關于通信事件的完整信息。而采用查詢法時,則是查詢MSComm 控件的某些屬性,如CommEvent 屬性、InBufferCount 屬性的值等[3-4]。系統(tǒng)與下位PLC 之間的通信連接采用Host Link 協(xié)議,在一次交換中傳輸?shù)拿罨驊鸬臄?shù)據(jù)被稱為一幀,一幀最多可包含131 個數(shù)據(jù)字符,最后以校驗碼及結(jié)束符結(jié)束。數(shù)據(jù)傳送時的流程如圖1 所示。
命令可參考具體的PLC 的編程手冊[5],其基本格式如下:
測量軟件發(fā)給PLC 的命令格式:
其中:起始符為@;節(jié)點為指定與測量軟件通訊的PLC;命令碼為兩個字節(jié)的命令碼,即指定讀或?qū)?正文為設置的命令參數(shù);檢驗碼為@開始到正文結(jié)束的所有字符的ASCII 碼按位異或運算的結(jié)果;終止符表示命令的結(jié)束。
當PLC 收到測量軟件發(fā)送的命令后,將做如下應答:
其中,結(jié)束碼表示命令結(jié)束狀態(tài),如:00 表示正常完成;其余代碼與發(fā)送命令格式意義相同。
系統(tǒng)的開發(fā)使用Visual Basic6.0,并使用Access 2007 作為數(shù)據(jù)庫存儲采樣點的數(shù)據(jù)及相關產(chǎn)品信息。系統(tǒng)內(nèi)置了最小二乘法和最小區(qū)域法兩種評定標準,可根據(jù)需要在界面上通過單擊進行選擇切換,完成相關檢測參數(shù)如規(guī)格、型號、班次等信息的設置后,單擊開始檢測,系統(tǒng)即可讀取檢測數(shù)據(jù),將讀取到的數(shù)據(jù)采用圖形化顯示,同時,利用內(nèi)置的直線度誤差評定算法,對該零件的直線度誤差進行評定,合格數(shù)據(jù)自動記錄到ACCESS 數(shù)據(jù)庫中,便于產(chǎn)品的追溯和打印質(zhì)檢報告,若產(chǎn)品不合格,則發(fā)送相應的信號給PLC,由PLC 控制執(zhí)行機構(gòu),將不合格產(chǎn)品輸送到指定的位置,進行下一步的處理。在開發(fā)過程中,程序采用了模塊化設計的思想,將上述各功能模塊的功能在子程序中實現(xiàn),運行過程中通過主程序調(diào)用各功能模塊子程序。系統(tǒng)軟件的流程如圖2 所示。表1 所示為以一長約2.4 m 導軌為測試對象,測試間隔為200 mm,使用本測量程序檢測出直線度誤差,并判斷是否合格。系統(tǒng)實際執(zhí)行如圖3 所示。
本課題所開發(fā)的直線度誤差測量軟件,界面友好,可準確地測量和評定零件的直線度,不但可以作為零件驗收是否合格的依據(jù)、并提供質(zhì)檢報表,同時也可以對長期積累的誤差數(shù)據(jù)進行分析,找出誤差產(chǎn)生的原因,為提高零件加工精度和裝配精度提供可靠的依據(jù)。用普通測量器具進行直線度的測量,不但處理復雜,效率低,而且容易出錯,不易得到精確的結(jié)果。通過本課題開發(fā)的自動測量軟件,給測量工作帶來了極大的便利,配合相應的執(zhí)行系統(tǒng),可實現(xiàn)檢測、分揀系統(tǒng)的全自動化,為企業(yè)帶來大量的效益。
表1 2.4 m 長導軌各點測試數(shù)據(jù) mm
[1]王文龍.電梯導軌直線度自動檢測系統(tǒng)的實現(xiàn)與性能優(yōu)化[D].南京:南京理工大學,2010.
[2]王慧.計算機視覺技術在影像測量系統(tǒng)中的應用與研究[D].西安:西安理工大學,2008.
[3]張智杰,何芳,王玉茹.PLC 與微機的串行通訊[J].濟南大學學報:自然科學版,2002,16(3):302 -303.
[4]周海濤.用VB6.0 實現(xiàn)三菱PLC 與微機的通訊[J].制造業(yè)自動化,2002,24(1):53 -55.
[5]OMRON CPM1/CPM1A/CPM2A/CPM2AH/CPM2C/SRM1(-V2)可編程控制器編程手冊[Z].2003