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