滾動軸承強化壽命試驗的數(shù)據采集系統(tǒng)設計
1.2 數(shù)據采集卡
由于采集系統(tǒng)要求實時快速多通道數(shù)據采集,且滾動軸承的失效是個慢變化的信號,所以要求A/D轉換的分辨率高,以提高檢測數(shù)據的精度。鑒于以上要求,本系統(tǒng)選用北京雙諾測控公司生產的數(shù)據采集卡AC6622,AC6622其是一款基于PCI總線中速采集卡,支持全速實時不間斷采集。主要性能參數(shù)如下:
(1)16路單端輸入。輸入電壓:5/10 V、±5 V,軟件控制。
(2)A/D轉換器:16位A/D,采樣頻率可達250 kHz。
(3)通道輸入阻抗:10 MΩ。
(4)輸入通道支持任意起始到任意結束通道的自動掃描。
(5)系統(tǒng)精度:0.02%FSR。
(6)卡上內置4 kB采樣FIFO緩沖器。
2 系統(tǒng)軟件設計
本系統(tǒng)要求界面友好、操作方便、實時多通道采集大量數(shù)據,特別是為了準確測定失效時間和故障的診斷和預測提供可靠的數(shù)據,要求準確記錄數(shù)據及時間。根據以前統(tǒng)計經驗一般一次實驗持續(xù)約為30天,連續(xù)采樣數(shù)據達幾百GB,所以準確記錄數(shù)據及時間是本系統(tǒng)設計的關鍵技術。
系統(tǒng)在Windows XP下采用VC++6.0軟件實現(xiàn)數(shù)據采集。Microsoft Visual C++是一款功能強大的可視化應用程序開發(fā)工具。憑借其強大的功能和易學等特點受到了廣大程序員的歡迎,在數(shù)據采集和工業(yè)控制領域得到了廣泛應用。雖然VC++自身無法對計算機的底層硬件進行訪問以及利用各種接口板進行數(shù)據采集和時間控制,但是通過調用驅動程序提供的動態(tài)鏈接庫函數(shù),就可以實現(xiàn)對I/O口的訪問和控制。
AC6622采集卡以動態(tài)鏈接庫的方式封裝了用戶在Windows環(huán)境下編程需要的函數(shù),無需用戶編寫驅動程序,這樣就大大縮短了整個數(shù)據采集系統(tǒng)的開發(fā)周期。在這些函數(shù)中,幾個重要的函數(shù)如表2所示。本文引用地址:http://www.biyoush.com/article/194941.htm
數(shù)據采集程序設計的關鍵問題是在實現(xiàn)連續(xù)采集的同時以固定時間間隔保存固定時間長度的振動數(shù)據。AC6622采集卡是在FIFO半滿時產生一次中斷,驅動接收中斷后自動將2 kB數(shù)據保存在內部緩沖中,而后用戶通過調用Read_A/D()函數(shù)讀取內部緩沖中的采集數(shù)據。采集卡沒有提供用戶使用的中斷源,要實現(xiàn)精確定時寫入定量的數(shù)據到存儲設備中,無法通過采集卡硬件中斷實現(xiàn)。
實現(xiàn)定時數(shù)據存儲有兩種方案,第1種方案是利用Windows下提供直接使用的定時器函數(shù)控制數(shù)據采集卡定時自動保存數(shù)據。第2種方案是根據采樣率一定情況下,每個采樣點所用時間是固定的,通過查詢采集卡讀回數(shù)據的長度進行時間換算,進而通過控制每次讀回數(shù)據的長度進行時間上的定時。
第1種方案雖然有編程簡單,容易實現(xiàn)的優(yōu)點,但是利用VC6++編程時,Windows下提供直接使用的定時器函數(shù)SetTimer()、KillTimer()和()nTimer()函數(shù)的定時精度只有55 ms,而且通過SetTimer()函數(shù)設置的常規(guī)定時器的定時事件是由消息引發(fā)的,而Windows是一個多任務的操作系統(tǒng),在其消息隊列中的定時器消息WM_TIMER的優(yōu)先級很低,所以較難保證所發(fā)出的定時消息能及時得到響應和處理。此外Windows的工作方式為搶占式,其內部的時間管理函數(shù)并不能實現(xiàn)等間隔的時間控制。因此第1種方案只適用于定時精度不高的地方,這樣就不能滿足本系統(tǒng)精確定時的要求。
評論