陸 宇
(上海電氣集團股份有限公司中央研究院,上海 200070)
日益突出的環(huán)境問題和資源問題促進了新能源技術(shù)的迅猛發(fā)展。目前,這些可再生能源的發(fā)展面臨電力品質(zhì)差和并網(wǎng)難的瓶頸問題。同時,現(xiàn)階段用戶對電能質(zhì)量和電力品質(zhì)的要求越來越高,傳統(tǒng)的電力系統(tǒng)已經(jīng)不能很好地滿足用戶需求,因而智能電網(wǎng)和微電網(wǎng)等電網(wǎng)新技術(shù)應(yīng)運而生。儲能技術(shù)是解決新能源發(fā)電并網(wǎng)、建設(shè)智能電網(wǎng)和微電網(wǎng)的關(guān)鍵技術(shù)之一,將迎來巨大的市場機遇。為了分析整個儲能系統(tǒng)運行過程中電池各項參數(shù)的變化情況,提高儲能系統(tǒng)運行的可靠性、穩(wěn)定性,本文基于LABVIEW設(shè)計了一套電池數(shù)據(jù)采集系統(tǒng),通過Modbus協(xié)議將采集到的電池信息存儲至數(shù)據(jù)庫中,為今后分析電池特性提供依據(jù)。
基于LABVIEW的儲能電池數(shù)據(jù)采集系統(tǒng)由1塊BCU、23塊BMU、上位監(jiān)控計算機組成。每塊BMU均由MSP430單片機來控制,MSP430通過與AD芯片BQ76PL536級聯(lián)的方式來采集電池模組的電壓及溫度信息,然后再以串口的方式將數(shù)據(jù)傳送至主板。主板是由DSP28335芯片來控制,通過AD7656采集電流信息,并將子板所傳送的數(shù)據(jù)進行匯總,最終通過串口的方式傳送至上位監(jiān)控計算機。系統(tǒng)基本框架如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)
LABVIEW庫中提供了基于標準I/O應(yīng)用程序接口的VISA庫,VISA除了具有很好的兼容性、擴展性和獨立性外,它還有一個顯著的特點是平臺可移植性。任何使用了VISA控件的VI函數(shù)都能夠輕易地在其他平臺上進行使用[1,2]。
VISA庫中最常用的串口通信函數(shù)有:VISA Configure Serial Port(串口配置)、VISA Write(寫)、VISA Read(讀)、VISA Close(關(guān)閉)。
VISA Configure Serial Port函數(shù)用于對串口進行配置,包括設(shè)置串口的波特率、數(shù)據(jù)位、奇偶校驗等參數(shù)。在進行串口通信前,只有先設(shè)置好串口的各項參數(shù)才能保持正常通信。本文中主板與上位監(jiān)控計算機之間采用的是Modbus通信協(xié)議,所以在進行通信前先要對串口進行Modbus初始化。Modbus初始化程序框圖如圖2所示。
利用VISA實現(xiàn)Modbus通信可以分為以下幾個步驟:按照Modbus協(xié)議規(guī)則設(shè)置串口的通信參數(shù);向下位機發(fā)送Modbus請求指令;延時1.75 ms,等待下位機主板執(zhí)行命令,并返回相應(yīng)的數(shù)據(jù)包;從串口中讀取主板返回的數(shù)據(jù)包,并進行命令解析;每隔一個掃描周期依次向下位機發(fā)送查詢命令。Modbus發(fā)送報文幀格式如圖3所示。
圖3 Modbus發(fā)送幀格式
例如,Modbus發(fā)送命令為01 03 00 20 00 04 45 C6,其中01表示地址,03表示功能碼讀取,00 20表示寄存器起始地址,00 03表示連讀3個寄存器,45 C6表示CRC校驗。當(dāng)下位機主板收到上位機發(fā)送的Modbus指令后也會返回相應(yīng)的數(shù)據(jù)幀01 03 06 02 2B00 01 00 64 F4 FD,其中01表示地址,03表示功能碼讀取,06表示返回字節(jié)數(shù),02 2B00 01 00 64分別表示三個返回寄存器的數(shù)值,F(xiàn)4 FD表示CRC校驗。本文中Modbus發(fā)送接收模塊如下:
(1)MODBUS發(fā)送模塊:在LABVIEW中由于用到了Modbus協(xié)議和串口通信,自然就需要對其相應(yīng)的參數(shù)進行相關(guān)設(shè)置,內(nèi)容包括:端口號、波特率、檢驗方式、傳輸?shù)臄?shù)據(jù)位數(shù)、停止位數(shù)、超時時間、Modbus功能碼等參數(shù)。
(2)MODBUS接收模塊:當(dāng)按照Modbus協(xié)議回送數(shù)據(jù)時,需要用到VISA Bytes at serial port模塊,當(dāng)VISA Read讀取的字節(jié)數(shù)超過緩沖區(qū)的字節(jié)數(shù)時,VISA Read則一直處于等待狀態(tài),直到緩沖區(qū)的字節(jié)數(shù)達到所要求的字節(jié)數(shù)。
下位機返回的數(shù)據(jù)包由設(shè)備地址、寄存器數(shù)量、返回數(shù)據(jù)信息和校驗位組成。為了得到電池數(shù)據(jù)(即電池的電壓、電流、溫度等信息),則需要通過字符串轉(zhuǎn)數(shù)據(jù)模塊來實現(xiàn),從返回的字符串中截取有效地數(shù)據(jù)信息并進行解碼。同時,由于返回的數(shù)據(jù)均是整數(shù),為了正確的顯示最終的電池信息,需對獲取的電池數(shù)據(jù)按照主板和子板的不同情況進行計算與處理。字符串轉(zhuǎn)數(shù)據(jù)模塊如圖4所示。
為了分析電池在整個儲能系統(tǒng)運行過程中的變化情況,在LABVIEW中需添加數(shù)據(jù)保存功能。盡管通過Excel也能將數(shù)據(jù)保存下來,但當(dāng)所存儲的數(shù)據(jù)達到65536行后,數(shù)據(jù)會被刷新(即新添加的數(shù)據(jù)將會逐漸覆蓋原先存儲的數(shù)據(jù))。因此,本文中通過ACCESS數(shù)據(jù)庫來實現(xiàn)數(shù)據(jù)的存儲[3]。
LABVIEW數(shù)據(jù)庫工具包只提供了關(guān)于數(shù)據(jù)庫的操作而無法創(chuàng)建數(shù)據(jù)庫,所以必須使用第三方數(shù)據(jù)庫管理系統(tǒng),如:ACCESS。在使用數(shù)據(jù)庫之前,先要使用LABVIEW數(shù)據(jù)庫工具包和數(shù)據(jù)庫進行連接,如圖5所示。ODBC(開放數(shù)據(jù)互連)是微軟公司開放服務(wù)結(jié)構(gòu)中有關(guān)數(shù)據(jù)庫的一個組成部分,它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標準API。這些API利用SQL來完成其大部分任務(wù)。而且,ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。在使用ODBC API函數(shù)時,需要提供數(shù)據(jù)源名Data Source Names才能連接到實際數(shù)據(jù)庫,所以需要首先創(chuàng)建DSN[4]。
圖4 字符串轉(zhuǎn)數(shù)據(jù)模塊
圖5 LABVIEW數(shù)據(jù)庫工具包基于ODBC技術(shù)
根據(jù)設(shè)計方案,利用LABVIEW圖形化處理方便、快捷等特點,開發(fā)出了一套基于MODBUS通信協(xié)議的電池數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)集數(shù)據(jù)采集、處理、計算、存儲于一體,程序界面顯示直觀,用戶操作方便,數(shù)據(jù)傳輸正確率在98%以上。系統(tǒng)界面如圖7所示。
本文針對儲能電池系統(tǒng)平臺,基于LABVIEW開發(fā)了一套電池數(shù)據(jù)采集系統(tǒng),成功實現(xiàn)了LABVIEW基于MODBUS通信協(xié)議的數(shù)據(jù)采集、傳輸、處理、存儲與顯示功能。目前,該系統(tǒng)已成功投入使用中,可對運行中的電池數(shù)據(jù)進行實時采集存儲。LABVIEW技術(shù)較為成熟,所以該系統(tǒng)具有高可靠性、良好的穩(wěn)定性、可維護性強等特點。在實際使用中,不僅可以降低成本,還具有良好的應(yīng)用前景。
圖6 數(shù)據(jù)庫存儲
圖7 系統(tǒng)程序界面
[1] 唐麗嬋,齊 亮,王慶東,陳江洪.基于Labview的無線遠程溫度監(jiān)控系統(tǒng)[J].上海電氣技術(shù),2009,2(1):20-24.
[2] 孟武勝,朱劍波,黃 鴻,等.基于Labview數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].電子測量技術(shù),2008,31(11):63-65.
[3] 楊樂平,李海濤,肖相生,等.Labview程序設(shè)計與應(yīng)用[M].北京:電子工業(yè)出版社,2001.
[4] 朱洪波,康龍云,楊會州.基于Labview的復(fù)合能源電動汽車數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].測控技術(shù),2011,30(8):19-22.