吳 韌,蔡偉義
WU Ren, CAI Wei-yi
(南京林業(yè)大學(xué) 汽車及交通工程學(xué)院,南京 210037)
尺寸公差是機(jī)械零件生產(chǎn)制造中的重要檢測項目。傳統(tǒng)人工檢測速度慢和效率低,使用專用檢測設(shè)備成本高,并且難以實現(xiàn)通用性?;贚abVIEW的零件尺寸公差檢測儀,將尺寸公差檢測儀虛擬化,通過傳感器、信號采集板和PC機(jī)完成整個測量工作,操作方便快捷、顯示直觀、精度高且容易實現(xiàn)通用性。LabVIEW和數(shù)據(jù)采集板卡相配合,能構(gòu)成整套復(fù)雜的測試測量系統(tǒng),但由于數(shù)據(jù)采集板卡價格昂貴且安裝不方便,本文使用單片機(jī)作為前端數(shù)據(jù)采集系統(tǒng),將采集數(shù)據(jù)通過單片機(jī)串口發(fā)送至PC機(jī),在LabVIEW平臺上完成數(shù)據(jù)的分析、顯示和人機(jī)交互[1]。
下位機(jī)系統(tǒng)主要包括單片機(jī)、電源模塊、信號輸入及調(diào)理模塊、串口發(fā)送模塊等。單片機(jī)采用Atmel公司生產(chǎn)的ATmega16型8位處理器。傳感器檢測零件尺寸,輸出電壓信號為-5V~+5V,輸入調(diào)理模塊將信號隔離并抬高至0V~+10V,經(jīng)電阻分壓后接入單片機(jī)。單片機(jī)使用自帶的10位ADC將調(diào)理好的電壓信號進(jìn)行模數(shù)轉(zhuǎn)換,并將轉(zhuǎn)化后的結(jié)果通過串口發(fā)送模塊發(fā)送至上位機(jī),MAX232芯片完成TTL和RS-232的電平轉(zhuǎn)換[2]。
下位機(jī)的程序主要包括三個部分:模塊初始化子程序、A/D轉(zhuǎn)換子程序和串口發(fā)送子程序。軟件流程圖如圖1所示。由于本例中需要不停的采集傳感器信號并通過串口向PC機(jī)發(fā)送實時數(shù)據(jù),故自行設(shè)計了簡單的應(yīng)用層通訊協(xié)議,將數(shù)據(jù)按幀格式發(fā)送,通過LabVIEW程序?qū)ふ規(guī)^,以實現(xiàn)數(shù)據(jù)的可靠交付傳輸。串口數(shù)據(jù)幀格式如圖2所示。
圖1 下位機(jī)軟件流程圖
圖2 串口數(shù)據(jù)幀格式
采用LabVIEW的VISA(Virtual Instrument Software Architecture)串行通訊子VI來開發(fā)串行通信模塊。主要包括VISA Configure Serial Port.vi:將指定的串口按特定設(shè)置初始化,包括波特率、數(shù)據(jù)格式等。VISA Write.vi:將寫入緩沖區(qū)的數(shù)據(jù)寫入指定的設(shè)備或接口中。VISA Read.vi:從指定的設(shè)備或接口中讀取指定數(shù)量的字節(jié),并將數(shù)據(jù)返回至讀取緩沖區(qū)。VISA Close.vi:將打開的串口關(guān)閉[3,4]。由于在LabVIEW平臺中串行通信數(shù)據(jù)是以字符串為格式,故將串口得到的數(shù)據(jù)通過字符串至字節(jié)數(shù)組轉(zhuǎn)換控件轉(zhuǎn)換成十六進(jìn)制數(shù)組。為了滿足自行制定的應(yīng)用層協(xié)議,在LabVIEW串口接受子模塊中,加入了由搜索一維數(shù)組(Search 1D Array)和while循環(huán)構(gòu)成的數(shù)據(jù)幀的解析功能模塊,由此尋找出數(shù)據(jù)幀幀頭,最終提取出傳感器電壓信號的數(shù)字量,具體程序如圖3所示[5]。
圖3 串口模塊程序圖
LabVIEW按鍵模塊完成對六個按鍵的監(jiān)測和識別,不同按鍵相組合,實現(xiàn)不同的功能,主要有標(biāo)準(zhǔn)上下公差的設(shè)定、分辨率的設(shè)定和設(shè)置密碼等。功能狀態(tài)通過模擬6位8段數(shù)碼管的字符串控件顯示。設(shè)計時將按鍵封裝成簇,當(dāng)有按鍵按下后,簇的值將發(fā)生改變,同時觸發(fā)事件結(jié)構(gòu),在事件結(jié)構(gòu)中完成按鍵的識別和按鍵指令的編寫。按鍵識別通過將簇結(jié)構(gòu)轉(zhuǎn)化成數(shù)組,再搜索數(shù)組中數(shù)據(jù)的值來實現(xiàn)。不同的按鍵激活不同的case結(jié)構(gòu),在case結(jié)構(gòu)中完成按鍵功能的編寫。由于按鍵所需實現(xiàn)的功能較多,故使用了基于狀態(tài)機(jī)的編程思路,即按鍵內(nèi)部的邏輯通過引入狀態(tài)標(biāo)志來轉(zhuǎn)換,狀態(tài)標(biāo)志和數(shù)碼管控件通過移位寄存器傳遞至下一個循環(huán)。具體程序如圖4所示。
圖4 按鍵輸入模塊程序圖
燈光柱顯示模塊使用布爾數(shù)組模擬了一百個三色LED燈,通過燈光柱高度的變化,實時的顯示了傳感器所測得零件的尺寸和設(shè)定的標(biāo)準(zhǔn)尺寸的偏差:中間位置為零刻度,表示無偏差;往上往下分別表示為上偏差和下偏差。同時,通過燈光柱顏色的改變,直觀的反映了零件是否符合公差要求:當(dāng)燈光柱為綠色時,表示符合;為黃色時,說明所測零件尺寸已接近最大公差值,表示警告;為紅色時,說明所測零件尺寸已超出最大公差值,表示不符合。顏色的改變可通過調(diào)用布爾數(shù)組的顏色屬性節(jié)點來完成。LabVIEW公式節(jié)點(Formula Node)完成了通過LabVIEW串口通信模塊得到的傳感器電壓值和按鍵模塊輸入的標(biāo)準(zhǔn)尺寸值的比較計算,公式節(jié)點中使用C語言編程,將計算結(jié)果用狀態(tài)標(biāo)識符返回,來控制case結(jié)構(gòu)的跳轉(zhuǎn),實現(xiàn)對燈光柱的控制。子模塊程序框圖如圖5所示[6]。
圖5 等光柱顯示模塊程序圖
系統(tǒng)上電復(fù)位后,即可通過LabVIEW界面中的按鍵輸入模塊輸入標(biāo)準(zhǔn)零件的尺寸,當(dāng)參數(shù)設(shè)置完成后,系統(tǒng)自動進(jìn)入測量狀態(tài)。此時,將待測零件置于傳感器測量的規(guī)定位置,傳感器便測出了該零件的實際尺寸,以電壓值的方式傳送至下位機(jī)信號調(diào)理系統(tǒng),該系統(tǒng)將所測信號通過串口發(fā)送至上位機(jī)LabVIEW軟件,最終以燈光柱的方式給出測試結(jié)果。顯示界面如圖6所示。
圖6 前面板顯示界面
通過LabVIEW軟件將零件尺寸公差測試儀虛擬化,運用PC機(jī)強(qiáng)大的運算能力完成工業(yè)測試測量。它的優(yōu)點是:1)LabVIEW所使用的G語言方便快捷,便于項目初期定型和快速研發(fā),提高了開發(fā)效率;2)使用軟件作為測試手段,可以減少昂貴的專用設(shè)備投資,同時降低了設(shè)備維護(hù)成本,使經(jīng)濟(jì)效益大為提高;3)軟件便于維護(hù)升級,為儀器功能擴(kuò)展提供了廣闊的空間。同時,虛擬儀器也面臨著一些問題和不足,諸如系統(tǒng)精度、抗干擾能力等。在后續(xù)研究中,嘗試把互聯(lián)網(wǎng)絡(luò)通訊引入系統(tǒng),即通過TCP/IP協(xié)議,把數(shù)據(jù)傳送至Internet網(wǎng)或另一臺計算機(jī)。這樣,工程技術(shù)人員即使不在控制現(xiàn)場,也可以通過網(wǎng)絡(luò)隨時了解現(xiàn)場的控制系統(tǒng)運行情況和系統(tǒng)參數(shù)的實時變化,并可根據(jù)具體情況通過網(wǎng)絡(luò)在客戶計算機(jī)上對在控制現(xiàn)場運行于服務(wù)器計算機(jī)的控制系統(tǒng)發(fā)出命令,及時調(diào)整現(xiàn)場控制系統(tǒng)運行狀況,從而達(dá)到遠(yuǎn)程控制的目的[7]??墒箿y試系統(tǒng)更加靈活方便,檢測儀產(chǎn)品更具有競爭力。
[1]于禎,王秀清.基于LabVIEW與單片機(jī)串口的信號處理的研究[J].天津科技大學(xué)學(xué)報,2004:35-38.
[2]馬潮.AVR單片機(jī)嵌入式系統(tǒng)原理與應(yīng)用實踐[M].北京:航空航天大學(xué)出版社,2009:13-14.
[3]楊樂平,李海濤,趙勇,等.LabVIEW高級程序設(shè)計[M].北京:清華大學(xué)出版社,2003:326-336.
[4]陳錫輝,張銀宏.LabVIEW8.20程序設(shè)計從入門到精通[M].北京:清華大學(xué)出版社,2007:296-302.
[5]鄭雁階,黃惟公,張丹.基于LabVIEW與USB接口的實時數(shù)據(jù)采集系統(tǒng)[J].電子技術(shù),2009:77-79.
[6]祁寧,陳慶官.運用LabVIEW編程模擬PIC單片機(jī)A/D轉(zhuǎn)換[J].微計算機(jī)信息,2009:117-118.
[7]閻世棟.在虛擬儀器LabVIEW平臺中串行通信模塊的應(yīng)用[J].國外電子測量技術(shù),2004:39-40.