基于LabVIEW的電池管理系統監控平臺開發
圖2 監控平臺功能模塊
3 軟件設計
采用N I公司的LabV IEW8. 2作為監控平臺軟件的開發平臺, 既能很方便的實現監控平臺需要的功能, 又能使軟件設計變得直觀、快捷, 同時軟件兼具有靈活性、可擴展性、可維護性、代碼重用性和可讀性。
為實現上述監控平臺的各個功能, 同時保證平臺高效的性能, 軟件設計應用了LabV IEW 的多線程技術。所謂線程( thread)是指由進程進一步派生出來的一組代碼(指令組) 的運行過程。多線程技術可以使同一個程序有幾個并行運行的路徑, 從而提高程序的運行速度, 線程所占用的系統資源比進程要小。在一個程序中, 線程并不是越多越好, 也并不是越多程序執行得越快。針對計算機的CPU 只有一個的情況, 當一個線程在執行的時候, 其它的線程就處于掛起或者阻塞狀態, 那么程序使用內存的效率就會很低。針對監控平臺的功能, 要求同時考慮平臺的高效運行, 軟件設計了四個線程, 即通過CAN 總線的數據采集與顯示; 平臺參數配置; 數據存儲; 系統標定和故障診斷。
3. 1 數據采集及顯示
平臺采用了USBCAN - II智能CAN 接口卡連接PC 與電池管理系統, 實時接收電池管理系統CAN 總線的數據并進行顯示。USBCAN - II智能CAN 接口卡為應用程序提供了可調用的動態鏈接庫, 利用LabV IEW 中的調用庫函數節點( Ca llL ibraryFunction, 簡稱CLF ) 可實現對USBCAN - II智能CAN 接口卡的靈活操作, 應用CLF 需要對其進行配置, 配置主要根據接口函數設定調用規范為stdca ll(W INAPI) , 同時根據函數參數設定CLF的參數。最終設置好的CLF為編程提供了便捷的接口,也為平臺參數配置功能提供了方便, 通過設備類型號和設備索引號可靈活在USBCAN - II智能CAN卡的COM1和COM2之間進行選擇。按類似的設置規則配置好USBCAN - II的其他接口函數的調用,可對USBCAN- II智能CAN進行靈活的操作。
根據USBCAN- II操作要求, 數據采集流程如圖3。為了操作方便, 接收數據被封裝成子V I。
LabV IEW 中的子V I類似于C 語言中的子函數, 可以被其他V I調用。數據接收子V I也為平臺參數配置提供了配置接口, 接收到的數據被打包成LabV IEW 中的簇變量, 簇是LabV IEW 中的一種數據類型, 它可以包含多個不同數據類型的元素, 類似C語言中的結構體。數據的打包方便了對接收到的數據進行顯示與存儲。數據接收采用循環接收模式,直至收到停止接收命令。
圖3 數據采集流程。
評論