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