龍璽宇 高宏力 王耀琦 王振剛
(西南交通大學(xué)機(jī)械工程學(xué)院,四川成都 610031)
在工業(yè)迅速發(fā)展的今天,計(jì)算機(jī)技術(shù)的發(fā)展,其中一個(gè)重要的方面就是在工業(yè)生產(chǎn)過(guò)程中對(duì)生產(chǎn)數(shù)據(jù)進(jìn)行采集、分析和保存[1]。本文介紹了研華公司開(kāi)發(fā)的一款多功能、高效能數(shù)據(jù)采集卡PCI-1715U在數(shù)據(jù)采集上的應(yīng)用,利用VC進(jìn)行采集系統(tǒng)的開(kāi)發(fā),和該系統(tǒng)在一臺(tái)實(shí)際數(shù)控機(jī)床主軸和絲杠等關(guān)鍵機(jī)械部件故障診斷中的應(yīng)用。應(yīng)用這一系統(tǒng)為提高產(chǎn)品質(zhì)量、降低成本提供重要信息和手段。
PCI-1715U高速采集卡的安裝過(guò)程比較簡(jiǎn)單,在正確安裝了設(shè)備驅(qū)動(dòng)程序后,關(guān)機(jī)→插卡→開(kāi)機(jī),使用Device Manager工具來(lái)添加板卡并進(jìn)行簡(jiǎn)單的測(cè)試。PCI-1715U數(shù)據(jù)采集卡是一個(gè)帶有PCI總線的隔離保護(hù)的高速模擬輸入卡,能夠?qū)iT針對(duì)高速數(shù)據(jù)進(jìn)行采集。PCI-1715U 主要特性如下[3]:
(1)模擬量的輸入可以單獨(dú)采用32路單端或16路差分方式,或者利用單端和差分兩種不同組合方式輸入完成傳感器多通道采樣。
(2)自動(dòng)通道/增益掃描。
(3)各輸入通道的增益,輸入范圍包括±10 V,±5 V,±2.5 V以及0~5 V,0~10 V等??筛鶕?jù)實(shí)際采集信號(hào)的電壓范圍分別進(jìn)行變換。
(4)12位A/D轉(zhuǎn)換器,對(duì)于采集數(shù)據(jù)A/D轉(zhuǎn)換,支持三種觸發(fā)方式:外部定時(shí)器觸發(fā)、內(nèi)部定時(shí)器觸發(fā)以及軟件觸發(fā)。
(5)采集卡最高采樣速率可達(dá)到500 kHz。具備1 k的FIFO緩沖器。支持32位PCI總線控制DMA數(shù)據(jù)傳送方式。
(6)具備研華專屬板卡和板卡裝置識(shí)別碼,一旦用戶同時(shí)插入了多張板卡,每張板卡都能夠被輕易辨識(shí),方便了系統(tǒng)的通道擴(kuò)展。
通過(guò)在數(shù)控機(jī)床的主要運(yùn)動(dòng)部件絲杠副、主軸以及導(dǎo)軌滑塊上安裝傳感器來(lái)采集數(shù)據(jù),達(dá)到對(duì)數(shù)控機(jī)床運(yùn)行的實(shí)時(shí)監(jiān)測(cè)。采集硬件是由傳感器、采集卡、工控機(jī)以及信號(hào)調(diào)理儀組成,其連接示意圖如圖1所示。
合同還尤其注重對(duì)維保服務(wù)提供方進(jìn)行服務(wù)質(zhì)量考核以及確保信息數(shù)據(jù)安全。這也是此前雙方合同中從未設(shè)置過(guò)的,唐通軍表示。
傳感器把機(jī)械振動(dòng)狀態(tài)信號(hào)轉(zhuǎn)變?yōu)橐幌盗须妷耗M信號(hào),由于傳感器信號(hào)受到實(shí)際現(xiàn)場(chǎng)和環(huán)境的影響有很多噪聲信號(hào)的干擾,信號(hào)調(diào)理儀就是對(duì)傳感器的信號(hào)進(jìn)行放大、濾波、包絡(luò)等預(yù)處理,使其轉(zhuǎn)換為采集卡能夠識(shí)別的信號(hào)。一共需要55個(gè)信號(hào)采集通道,所以同時(shí)使用兩塊板卡進(jìn)行采集。在這個(gè)采集系統(tǒng)中一共采用了27只傳感器,其中電流傳感器4只,溫度傳感器6只,單向振動(dòng)傳感器有6只,三向振動(dòng)傳感器10只,聲發(fā)射傳感器1只。
采集數(shù)據(jù)之前要先設(shè)置好相關(guān)的數(shù)據(jù)采集參數(shù),其中有:采樣長(zhǎng)度、最高分析頻率、觸發(fā)方式、采樣頻率、放大倍數(shù)等等。根據(jù)Shannon采樣定理,帶限信號(hào)(信號(hào)中的頻率成分f<fmax)不丟失信息的最低采樣頻率為fs≥2fmax。式中,fmax為原信號(hào)中最高頻率成分的頻率[4]。最高分析頻率Fm與采樣頻率Fs之間的關(guān)系為[5]:Fs=2.56Fm。設(shè)備的轉(zhuǎn)速和故障性質(zhì)決定了最高分析頻率Fm的選擇。
在數(shù)控機(jī)床加工過(guò)程中最常用的主軸最高轉(zhuǎn)速能達(dá)到1.0×104r/min左右,為了方便計(jì)算,可取轉(zhuǎn)速為R=12 000 r/min=200 Hz。最高分析頻率計(jì)算公式為:Fm=10×R=10×200 Hz=2 000 Hz。則采樣頻率計(jì)算公式為:Fs=2.56×Fm=2.56×2 000=5 120 Hz,取采樣頻率為5 000 Hz;
要求頻率分辨率ΔF=1 Hz,則采樣點(diǎn)數(shù)為N=Fs/ΔF=5 120,取為 5 120;
放大參數(shù)和觸發(fā)方式可以在采集的時(shí)候根據(jù)實(shí)際研究情況進(jìn)行調(diào)整,使信號(hào)便于傳輸和處理。
對(duì)數(shù)據(jù)采集板卡進(jìn)行編程使用的方式主要有以下三種:軟件觸發(fā)方式,中斷方式,DMA方式。
由于系統(tǒng)采集高速性和實(shí)時(shí)性的要求,數(shù)據(jù)采集方式采用 DMA(Direct Memory Access,直接內(nèi)存存取)。DMA傳輸不通過(guò)處理器,直接進(jìn)行數(shù)據(jù)交換,是一種較為快速的數(shù)據(jù)傳輸方式,適合于大量數(shù)據(jù)的傳輸[1]。通過(guò)不斷查詢驅(qū)動(dòng)程序中的緩存,更改事件消息通知來(lái)控制緩存的變換以及數(shù)據(jù)的傳輸。同時(shí)利用停止事件通知來(lái)控制數(shù)據(jù)傳輸?shù)耐V购筒蓸拥慕K止。DMA高速采集數(shù)據(jù)流程如圖2所示。
因?yàn)楸敬螖?shù)據(jù)采集的信號(hào)為電壓信號(hào),所以主要采集程序代碼如下:
第一步:打開(kāi)設(shè)備
第二步:取得設(shè)備設(shè)置
第三步:確定中斷事件類型
第四步:開(kāi)始DMA模式數(shù)據(jù)傳輸
整個(gè)軟件系統(tǒng)中,實(shí)時(shí)大量數(shù)據(jù)的采集和存儲(chǔ)設(shè)計(jì)為開(kāi)機(jī)自動(dòng)運(yùn)行,能自動(dòng)進(jìn)行采集和存儲(chǔ)。采集的數(shù)據(jù)以文本文件的方式存儲(chǔ)在計(jì)算機(jī)里。服務(wù)程序包含以下三個(gè)主要函數(shù):
(1)服務(wù)程序主函數(shù)(main):調(diào)用系統(tǒng)函數(shù)Start-ServiceCtrlDispatcher,連接程序主線程到服務(wù)控制管理程序。
(2)服務(wù)入口點(diǎn)函數(shù)(ServiceMain):執(zhí)行服務(wù)初始化任務(wù),同時(shí)執(zhí)行多個(gè)服務(wù)的服務(wù)進(jìn)程,有多個(gè)服務(wù)入口函數(shù)。
(3)控制服務(wù)處理程序函數(shù)(Handle):在服務(wù)程序接收到控件請(qǐng)求時(shí),由控制分發(fā)線程引用(Service_Ctrl)。
主要程序代碼:
服務(wù)程序編寫完成后,系統(tǒng)在運(yùn)行此服務(wù)之前需要使用InstallService函數(shù)安裝登記服務(wù)程序,刪除服務(wù)程序則需要利用removeService函數(shù)先刪除服務(wù)安裝登記。本服務(wù)程序包括三個(gè)子應(yīng)用程序,如圖3。
Data.exe用于新服務(wù)的實(shí)現(xiàn),將其拷貝至c:目錄下,供安裝程序調(diào)用。
Install.exe用于新服務(wù)的安裝,將其拷貝至:c:目錄中,然后在Windows NT中單擊“開(kāi)始”,再單擊“運(yùn)行”。輸入以下命令進(jìn)行安裝(圖4):c:install.exe DataService“Date”c:Data.exe。
安裝完畢后,可在控制面板的服務(wù)程序中看到新增的服務(wù)Data,點(diǎn)擊右鍵選擇“屬性”,可設(shè)置服務(wù)的啟動(dòng)類型、服務(wù)的狀態(tài)和啟動(dòng)參數(shù)。如圖5所示。
uninstall.exe用于新服務(wù)的卸載,如圖6所示。將其拷貝至c:目錄中,然后在Windows NT中單擊“開(kāi)始”,再單擊“運(yùn)行”。輸入以下命令進(jìn)行卸載:c:un-install.exe DataService。其中 DataService就是在安裝服務(wù)生成的供SCM內(nèi)部使用服務(wù)。
Visual C++是Microsoft公司開(kāi)發(fā)的可視化編程工具,由于C++具有強(qiáng)大的功能及可靠性、可擴(kuò)充性、可維護(hù)性等優(yōu)點(diǎn),在數(shù)據(jù)采集領(lǐng)域得到廣泛應(yīng)用[7]。
將采集所得的數(shù)據(jù)轉(zhuǎn)化為在軟件界面上進(jìn)行實(shí)時(shí)顯示。圖7則是通過(guò)Visual Studio 2005設(shè)計(jì)的采集界面,通過(guò)選擇不同的傳感器列表即可觀察到所采集的電壓信號(hào)變化情況。
該系統(tǒng)通過(guò)在數(shù)控機(jī)床重要零部件上安裝傳感器,利用研華PCI-1715U板卡進(jìn)行采集數(shù)據(jù),用VC為主要開(kāi)發(fā)語(yǔ)言,Visual Studio 2005為程序開(kāi)發(fā)平臺(tái)設(shè)計(jì)和管理線程以及界面,數(shù)據(jù)采集和存儲(chǔ)作為一個(gè)系統(tǒng)服務(wù)在開(kāi)機(jī)之前啟動(dòng),通過(guò)這個(gè)采集系統(tǒng)的設(shè)計(jì)達(dá)到對(duì)機(jī)床加工過(guò)程的實(shí)時(shí)監(jiān)控。其可廣泛應(yīng)用于多種高速數(shù)據(jù)采集領(lǐng)域,具有良好的通用性和可擴(kuò)展性。
[1]張朋,張振東.PCI-1718數(shù)據(jù)采集卡在VB工程中的應(yīng)用[J].制造業(yè)自動(dòng)化,2011(10).
[2]ADVANTECH 公司.PCI-1715U User's Manual[Z].Taiwan,2001.
[3]修有峰.電液比例調(diào)速閥計(jì)算機(jī)測(cè)試實(shí)驗(yàn)系統(tǒng)的研究[D].濟(jì)南:濟(jì)南大學(xué),2008.
[4]吳希曦.高檔數(shù)控機(jī)床關(guān)鍵部件故障智能診斷技術(shù)研究[D].成都:西南交通大學(xué),2011.
[5]IOS,IOS 4336:1981,Numerical control of machine-specification of interface signals between the numerical control unit and the electrical equipment of an NC machine[Z].USA,ISO,2000.
[6]王琳,陳健,闊永紅.PCI數(shù)據(jù)采集卡的DMA和中斷實(shí)現(xiàn)[J].電子科技,2007(2).
[7]王星,蔡廷文.基于VC++的數(shù)據(jù)采集系統(tǒng)[J].計(jì)算機(jī)應(yīng)用技術(shù),2008(11).