基于LabVIEW的四通道多參數測試系統軟件設計
2.2 電路編程
根據每次試驗的不同情況,需要根據實驗的環境和實驗要求對硬件電路進行重新設置,電路編程模塊通過USB讀數口可以方便快捷地對硬件電路進行重新設置,電路編程模塊實現了設定電路的存儲器容量、延遲時間、環境控制和采樣策略選擇等。
2.3 定標讀值
定標讀值是指通過事先對電路和傳感器標定的靈敏度將各通道的數字量轉換成其具有物理意義的信號量,使波形圖顯示的原始曲線轉換成相應的加速度-時間等曲線。在定標界面中可以對標定了的數據進行相應的數據處理,例如數據轉換、打印等。
2.4 導出波形
通過導出波形模塊用戶可以將波形圖中顯現的曲線圖以圖片的形式保存在計算機中,方便用戶打印輸出、存檔保存以便日后查閱。該功能的實現通過波形圖的屬性節點調用實現。
2.5 多通道顯示
多通道顯示模塊允許用戶通過對通道的選擇來顯示某一通道的數據曲線,也可以同時顯示四個通道的數據曲線并以不同的顏色來顯示各個通道的數據曲線,方便用戶對曲線進行觀察和對比,在LabVIEW中通過復選框實現各個通道的選擇。
3 軟件的關鍵問題
3.1 通道數據分離和糾錯
在數據采集的過程中,四路信號是同時存儲的。當在存儲數據和顯示數據曲線時,需要對數據進行處理,防止讀取或存儲的數據發生錯位現象,同時便于對錯誤進行跟蹤查找,最終能使各通道數據能夠完整地整合到一起。因此采取了相應的措施,在每個數據存儲的過程中給每個通道的信號加上通道信息。
當多路信號采集完一個周期后,存儲一些通道信息作為區分每包數據的信號。這樣即使某包數據出了問題,也可以很容易地確定各個通道信號的數據,不會出現數據錯位現象。通過判斷數據的通道號來確定數據是否正確,當出現錯誤時用相對應的上一包的數據進行替換,具體步驟如圖3所示。本文引用地址:http://www.czjhyjcfj.com/article/172058.htm
3.2 動態鏈接庫的調用
動態鏈接庫(DLL)是存放在.dll文件中編譯過的小型庫文件,該文件封裝了一些功能和代碼及一組接口函數供LabVIEW調用,應用程序可以在運行時鏈接并使用它。在LabVIEW中提供了調用庫函數節點,通過該節點進行配置就可以調用DLL。
動態鏈接庫的工作原理如下:當它收到應用程序的數據傳輸請求后,會創建兩個線程:數據傳輸線程和記錄、顯示線程,其中數據傳輸線程負責將數據寫到應用程序要提交的內存;而記錄、顯示線程則負責給應用程序發送記錄和顯示消息。當應用程序接收到此消息后,便從它提交的內存中讀取數據并存。
用戶應用程序的主要功能是開啟或關閉USB設備、檢測USB設備、設置數據傳輸幀數、通過USB接口傳輸并顯示數據,本系統軟件調用DLL68013.dll庫文件對USB設備進行控制。下面就本系統信號采集關鍵DLL函數進行簡單的說明,這些都在調用庫函數節點的配置中進行設定,在配置過程中要注意調用規范,該系統采用stdcall(WINAPI)。
①TranVerCmmd(),該函數是向USB設備中發送控制命令,用于控制USB設備,該函數就一個參數,向這個函數發送HB4初始化讀數口控制命令。
②BulkWrite(),該函數是控制向設備中發送數據,包括三個參數,第一個參數是要操作的管道號,第二個參數是要寫入的數據,第三個參數是數據的大小。
③BulkRead(),該函數是控制向設備中發送數據,包括三個參數,第一個參數是要操作的管道號,第二個參數是要讀取的數據,第三個參數是數據的大小。
評論