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