曾敏,王永華,余松森,林東華,尹璐琳,
(1.廣東工業大學自動化學院,廣東廣州,510006;2.華南師范大學軟件學院,廣東佛山,510631;3.中興通訊股份有限公司,廣東深圳,518057)
MODBUS通訊協議在光伏發電能源管理控制器中的應用研究
曾敏1,王永華1,余松森2,林東華3,尹璐琳,2
(1.廣東工業大學自動化學院,廣東廣州,510006;2.華南師范大學軟件學院,廣東佛山,510631;3.中興通訊股份有限公司,廣東深圳,518057)
針對光伏產業以及工業過程控制技術的迅猛發展,本文探討了MODBUS通訊協議在能源管理控制器與后臺模擬工具之間的應用研究。闡述了MODBUS RTU通訊協議的工作機制以及相關的流程圖,實現了python語言開發的后臺模擬工具和能源管理控制器之間的通訊,并得到了準確的實驗驗證。同時,簡要敘述了光伏發電系統的總體設計和工作原理。
嵌入式系統; 數據采集;MODBUS RTU; 能源管理控制器
隨著現代化工業過程控制技術的迅猛發展以及ARM處理器的普及,用微型處理器來代替單片機技術對工業現場的監測控制已經成為一種必然的趨勢。而且在未來的這個領域中,我們在數據采集方面對它的可靠性、實時性以及告警等要求都比較高。為實現上述的這些功能業務需求,本文實現了運用MODBUS RTU通訊協議在光伏發電能源管理控制器與后臺模擬工具之間的正常通訊,并且在光伏發電產品的開發中得到了廣泛的應用,可以驗證開發過程中對MODBUS RTU協議運用的正確性。
整個監控系統主要包括與子設備之間的通信、能源管理控制器、與模擬工具(LCD顯示器)之間的通訊、與客戶端之間的通訊模塊。它的總體架構如下圖1所示。
能源管理控制器是基于ARM和LINUX操作系統開發的,通過MODBUS協議與各類子設備進行通訊,采集子設備的各類信息并將其存放到共享內存,對數據進行處理之后,客戶端可以進行實時訪問,同時也可以對采集的數據進行進一步的分析、處理后達到監控現場各設備的目的。本文主要探討了在開發過程或者后期維護中,通過與MODBUS RTU通訊的LCD模塊(模擬工具)對設備進行開發驗證或者后期維護的內容。

圖1 系統總體設計
能源管理控制器擁有256MB Nand Flash、128MB DDR2 SDRAM,為操作系統LINUX提供硬件平臺,同時為大容量非易失性數據存儲提供硬件支持,并提供大量的外圍硬件資源,如USB、UART、Ethernet、CAN、干接點等。
Modbus是由Modicon(現為施耐德電氣公司的一個品牌)在1979年發明的,是全球首個真正用于工業現場監控的總線協議,其硬件便宜、通用性強、使用方便等優點,能對各種設備進行數據的采集和過程監控,使它在工業控制領域得到了廣泛的應用。Modbus網絡只有一個主機,所有通信都由它發出。網絡可支持255個之多的遠程從屬控制器,但實際所支持的從機數要由所用通信設備決定。MODBUS通訊協議分為ASCII模式和RTU兩種模式,在光伏發電能源管理控制器中由于對數據傳輸的效率和準確度要求高,所以本文采用的是MODBUS RTU傳輸機制。它的工作模式是一種主從方式,其數據幀格式如下表1所示。

表 1 MODBUS RTU數據幀格式
通過MODBUS RTU協議進行通訊的能源管理控制器與LCD模塊的設計模塊中,用到了如下MODBUS RTU功能碼,如表2所示。

表2 MODBUS RTU功能碼
能源管理控制器與后臺模擬工具之間采用的MODBUS RTU通訊協議,它是一種主—從技術,即只有一個設備(主設備)能初始化查詢,與它通訊的其他設備(從設備)都處于被動狀態,只能根據主設備查詢提供的數據作出相應的反應。
主設備與從設備之間的通訊有兩種方式,第一種為單獨與從設備進行通信,其二以廣播的方式與所有從設備通信。如果是第一種通訊方式,從設備返回一消息作為回應;如果是以廣播方式查詢的,則不需要作任何回應。MODBUS協議建立了查詢的格式:設備地址、功能碼、所要發送的數據、CRC校驗。所有從設備回應的消息也由MODBUS協議構成,包括確認要行動的域、任何要返回的數據和CRC校驗。如果在消息傳輸過程中發生了錯誤,或者從設備不能識別主設備發來的命令,那么從設備就會建立一幀錯誤的數據并把它作為對主設備進行的回應。
MODBUS的查詢—回應周期表如下圖2所示。
主設備的查詢消息中的功能碼傳輸給相應的從設備要執行何種功能,數據段會告知從設備需要執行功能的任何附加信息,還必須包含有告訴從設備的寄存器地址,CRC校驗是給從設備在主設備獲取的消息幀是否正確的驗證方法;如果從設備能產生正常的回應,在響應幀中的功能碼是在查詢消息中的功能碼的應答,數據段包括了從設備收集的數據消息,比如寄存器值或者狀態,如果有錯誤發生,功能碼將自動被修改來用于指出回應消息是錯誤的,同時數據段包含了描述此錯誤消息的代碼,CRC校驗域允許主設備確認消息內容的正確性。

圖2 MODBUS的查詢回應周期表
通過用Python實現的后臺模擬工具,設置完串口或者網口通信、波特率9600、校驗位等參數,可以模擬客戶端,通過MODBUS RTU通訊模式訪問該控制器來子設備的實時數據信息。

圖3 實時數據信息a

圖4 實時數據信息b
在圖3中,輸入01 04 75 02 00 02 CA 07這一幀數據包給監控模塊獲取總發電量,得到響應01 04 04 00 00 00 00 FB 84,由于沒有接入子設備,所以它的總發電量輸出為0;圖4中,輸入01 03 65 00 00 06 DB 04這一幀數據包給監控模塊獲取系統時間,得到響應數據幀01 03 0C 00 3A 00 2F 00 09 0006 00 01 07 E1 17 21,其中01是對應的設備地址,03是讀取保持寄存器,0C是根據發送數據幀06(字)得到的響應數據幀的字節數,00 3A對應就是秒,00 2F對應的是47分,00 09對應9時,00 06對應6日,00 01對應1月,07 E1對應2017年,17 21是這一幀數據的CRC校驗。
通過以上兩個實驗,對比查看數據記錄和協議解析結果,獲取總發電量、系統時間等,可以得到MODBUS RTU在通訊過程中的準確應用,并得到正確的結論。
本文簡要介紹了光伏發電系統的總體框架,主要研究了MODBUS RTU協議在能源管理控制器與后臺模擬工具之間的應用,并且通過串口實驗能實現數據的正確傳輸,同時該控制器是在linux操作系統開發的,具有穩定性好、實時性好、抗干擾能力強等特點,通過后臺模擬工具可以方便驗證開發成果以及售后服務可以接入LCD進行后期維護。另外,在以后的研究與探討中,可以對該能源管理控制器作進一步的完善,比如實現CAN總線、工業以太網等與客戶端或者設備之間的通信,也可以對子設備的數據采集通道進行擴展,實現更強的采集功能。
[1]海濤,梁挺興,彭瞬杰等,一種基于串口服務器的光伏監控系統的設計[J],自動化儀表2015年12月,第36卷第12期.87-90.
[2]許龍虎,張浩,彭道剛,李輝,基于Modbus的嵌入式數據采集系統設計[J],華東電力,2009.37(2),311-313.
[3]周立功.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出版社.2005.
[4]張宇,陳明.基于ARM7的嵌入式數據采集系統設計[J].電子測量技術,2007,30(1):99-101.
Research on Application of Modbus Communication Protocol in Photovoltaic Power Management Controller
Zeng Min1,Wang YongHua1,Yu SongSen2,Lin DongHua3,Yin LuLin2
(1.School of Automation, Guangdong University of Technology,Guangzhou Guangdong, 510006;2.School of Software, South China Normal University,Foshan Guangdong,510631;ZTE Corporation,Shenzhen Guangdong,518057)
In view of the rapid development of PV industry and industrial process control technology, this paper discusses the application of MODBUS communication protocol between energy management controller and background simulation tool. This paper expatiates the working mechanism of MODBUS RTU communication protocol and the related flow chart, realizes the communication between the background simulation tool developed by python language and the energy management controller, and obtains the accurate experimental verification. At the same time, the overall design and working principle of the photovoltaic power generation system are briefly described.
embedded system; data acquisition; MODBUS RTU; energy management controller
廣東省應用型科技研發專項資金項目(2016B020244003)、佛山市科技創新項目(2014AG100162)。
曾敏,碩士研究生,主要從事光伏發電和物聯網研究。余松森,教授,博士,主要從事物聯網研究。
王永華,博士,主要從事物聯網、RFID組網研究。