摘要:為改善人力環境監管存在的局限性及GPRS—PLC監測系統的高成本等缺陷,設計可自組網絡的遠程環境監測系統。設計中構建了遠程環境監測系統網絡結構,采用西門子S7—200系列PLC作為采集儀控制器,TI CC2530 ZigBee無線網絡模塊作為現場組網模塊,采用GPRS DTU傳輸數據,采用X86架構計算機構建監測平臺。論述采集儀、無線網絡模塊程序設計的一般問題和程序設計流程,論述基于Winsock的監測中心軟件平臺設計方法。
關鍵詞:遠程環境監測;ZigBee;GPRS DTU;PLC;自組網
中圖分類號:TP 274 文獻標識碼:A
Design of PLC Remote Environmental Monitoring System Based on ZigBee and GPRS
CHEN Liding, WEN Lveqin, ZHANG Liangbin
(College of Automation, South China University of Technology, Guangzhou510640, China)
Abstract:A selfnetworking REMS (remote environmental monitoring system) has been designed to improve the limitations of human environmental regulatory and GPRSPLC monitoring system. A REMS network structure has been designed, using Siemens S7—200 series PLC as the logger controller, TI CC2530 ZigBee module as field wireless network device, GPRS DTU to transfer data, X86—based computer to build the monitoring platform. Discussed the general problem and programing method of PLC and CC2530 program design, also discussed the way to build the software platform based on Winsock.
Key words:remote environmental monitoring; ZigBee; GPRS DTU; PLC; Selfnetworking
1序言
傳統的環境監測需要依靠工作人員到工業現場采集數據。在廠家眾多,位置分散的情況下,無疑耗費了大量的人力物力,且存在廠家偷排污染物等許多不可控現象。
為改善這一問題,基于GPRS與PLC的無線環境監測系統被設計并投入使用[1]。該設備為減少人力耗費和實時監控起到了積極意義。但由于該設備只允許單個PLC與GPRS模塊通信,其應用范圍受到了局限。比如說在大型的工業現場,設備之間距離較遠,單個采集器IO端口有限且長距離布線施工成本較高,僅能在每個設備使用一個完整采集儀,這樣就使得終端設備成本較高,且GPRS流量所產生的費用也較高。
這些問題對系統設計提出了新的要求。改進的系統以每個工業現場為單位,與數據中心進行GPRS數據傳遞;現場的采集儀之間能夠自行組成通信網絡,將數據集中到具備GPRS數據傳遞功能的節點;除了設備的開關狀態,在某些情況下,采集儀還需采集污水、廢氣等的參數,因此需要配置可選的模擬信號采集通道;數據中心起到存儲歷史數據,顯示實時數據的作用,人性化的用戶界面能大大提高工作效率。
2硬件系統結構
根據需求,整體系統結構如圖1所示。每個工業現場具備一臺連接了GPRS DTU的采集儀;采集儀由PLC作為控制核心;對于像本文設計的,需要組建無線通信網絡的工業現場,則每個采集儀上均要連接無線通信模塊。多個工業現場的GPRS DTU通過GPRS網絡將數據傳遞到Internet,并由數據中心接收處理。
圖1環境監測系統組成
2.1采集儀控制器
采集儀在工業現場主要采集治污設備的開關狀態,根據需求采集治理前后污染物的濃度參數,進行數據打包傳遞處理。較大型的工業設備在生產過程中往往會排放出包括氣體和液體等多種污染物,在每個污染物產生處都有相應的治污設備。因此,采集儀需要有多個開關量采集點。對污染物的濃度等信息的采集是根據需求來設計的。一般的污染源只需強制治污設備運行即可保證治污合格,僅有對需要跟蹤觀察的污染物才要配備模擬量采集點。采集儀需要配備一定的模擬量采集能力,并在開關/模擬采集點的數量上具有可擴展的能力。為了讓控制器能夠同時與GPRS DTU和無線網絡模塊通信,必須選用有兩路串行通信口的型號。
西門子S7—200CN CPU 224XP CN是一款工業上常用的PLC,具備兩路RS—485通信接口,符合設計需求。該PLC還具備14入/10出的開關量I/O,及2入/1出的模擬量I/O,以及實時時鐘,且最大可擴展168點開關量、38點模擬量。該PLC滿足通信需求,也滿足數據采集需求,且具備足夠的擴展性[2—3]。
2.2現場無線網絡模塊
大型工業現場的生產設備距離較遠,障礙物、電磁屏蔽物分布隨機,采集儀每次采集的信號量較少,因此無需過高的速率,而需要保證網絡暢通,靈活可配置。ZigBee是基于IEEE802.15.4標準的低功耗個域網(Personal Area Network,PAN)協議,是一種新興的短距離、低速率無線網絡技術。相同設備模塊經過不同的設置,可作為協調器、路由器、末端節點工作于網絡中,組成星形、樹形、網狀拓撲網絡。其中,網狀網絡通信靈活,路由器節點之間可互相通信,可保障整個局域網的通信暢通。協調器作為網絡的中心,可協調管理6000個以上的子節點。路由器節點(加裝了路由器模塊的采集儀)采集現場參數,通過網狀網絡最終將數據傳遞到協調器節點(加裝了協調器的采集儀,并加裝了GPRS DTU)。
TI公司的CC2530 ZigBee解決方案在2.4GHz頻段下的波特率為250kbps。通過調節收發功率,CC2530之間的通信距離可以達到300m,若增加CC2591功率放大模塊,通信距離可以達到1Km。將CC2530組建成網狀網絡,可以滿足設計需求[4—7]。
2.3GPRS無線通信模塊
協調器節點連接GPRS DTU。協調器節點將從各路由器節點接收的實時數據及本身數據處理打包后,通過GPRS DTU將數據傳遞到GPRS網絡,由監測服務器接收處理。工業級的GPRS DTU模塊提供串口,可進行模特率、數據位、校驗位等設置,可與PLC等串口設備通信。內嵌TCP/IP協議,設置IP地址、端口信息后,可透明地將串口數據通過GPRS網絡發送到Internet,通過局域網傳送到監測中心服務器上。
2.4監測中心服務器
監測中心服務器需要通過Internet接收GPRS DTU發來的數據,存儲歷史數據,顯示實時數據,以友好簡便的方式與監測工作人員互動。為了方便軟件系統設計開發以及GPRS DTU模塊的驅動連接,可采用X86架構的計算機作為服務器,并配備Windows操作系統,服務器終端操作平臺采用可觸控的一體機,通過Internet讀取服務器數據,方便工作人員操作[8]。
計算技術與自動化2012年9月
第31卷第3期陳立定等:基于ZIGBEE和GPRS的PLC遠程環境監測系統設計
3程序設計方法
3.1PLC程序設計
PLC程序設計的重點在于與無線模塊的通信程序設計。西門子S7—200 CPU224XP CN具有4種通信方式:點對點(PPI)方式、多點接口協議(MPI)方式、DP方式、自由端口通信方式。其中自由端口通信方式允許自定義通信協議,數據收發模式自由切換,方便與外設通信。
協調器節點中PLC通過Port0串口與CC2530通信,采用自由端口通信方式。大部分時間中PLC作為從機,從CC2530接收數據,僅當有查詢指令時,通過CC2530向路由器節點發送查詢指令。協調器每30s收集完路由器節點數據后,將數據送給PLC,PLC將數據打包后送至GPRS DTU模塊,每隔5min存儲一次實時數據以供查詢。協調器PLC程序流程圖如圖2所示。
圖2協調器節點PLC程序流程圖
協調器節點還連接GPRS DTU模塊。PLC通過Port1串口與GPRS DTU模塊連接,同樣采用自由端口通信方式。在與GPRS DTU通信過程中,大部分情況下PLC作為主機向GPRS模塊發送數據,僅在接收查詢指令時作為從機。協調器節點每隔30s將個域網內所有數據打包發送給數據中心。其工作流程如圖3所示。
圖3PLC與GPRS通訊程序框圖
路由器節點中大部分時間PLC作為主機,向CC2530發送數據,僅當CC2530收到歷史數據查詢信息時,作為從機接受查詢并返回信息。PLC每隔30s將數據送給CC2530,每五分鐘存儲一次實時數據以供查詢。路由器節點PLC程序流程圖如圖4所示。
圖4路由器節點PLC程序流程圖
3.2CC2530程序設計
CC2530內嵌了增強型單周期指令51核心,相比傳統的12周期指令8051單片機,執行速度大為提升。CC2530模塊開發可采用IAR EW8051集成開發環境,并下載安裝TI ZigBee協議棧。該集成開發環境具備C/C++編譯器,十分方便開發使用。
為了合理管理系統事件,ZigBee模塊軟件系統采用TI Z—Stack軟件架構。無線模塊開始運行后,系統設備進行初始化,然后Z—Stack開始執行,輪詢事件以快速響應。在通信網絡中,協調器主要負責建立網絡和維護網絡,并接收網絡信息。整個協調器程序流程如圖5所示。其中節點處理請求包括了節點的入網請求和數據傳送請求。
圖5CC2530協調器節點程序流程圖
路由器在總體的任務調度等方面上與協調器相似,只是少了建立網絡和處理節點請求的任務。對無線數據的接收處理方法無論是在協調器還是在路由器都是比較核心的部分。網狀網絡決定了數據處理方法較為復雜。路由器在接收到信息時,首先判斷是否廣播信息。對廣播信息則保存其數據并進行下一步處理,否則判斷信息目標地址是否本機。整個信息處理流程如圖6所示。
圖6CC2530路由器節點信息處理流程圖
3.3監測軟件設計
Winsock控件是微軟提供的windows下網絡編程接口,它集成了Socket技術,具備基于TCP/IP協議的接口實現方法。Winsock將通信相關的API封裝成一個整體,只要通過對控件相關屬性的設置和方法的調用就可以實現網絡通信。本系統具有多個GPRS DTU終端,數據中心要為每臺終端建立一個線程,以實時高效接收和發送數據。
數據中心服務器每次接收終端數據都是以數據包形式接收,每個數據包包括了該地點n個檢測節點的信息。以某檢測節點的數據為例,00 01 01 12 04 12 13 25 24 A3 7D 2F。其中00 01是終端機器碼;01是節點在該終端網絡中的節點碼;12 04 12表示12年4月12日;13 25 24表示13點25分24秒;A3表示該節點中開關量信息為10100011;7D 2F表示該節點中兩個模擬量,以FF為100%,則其值分別為49.02%和18.43%。將這些數據記錄在數據庫中,并以曲線或靜態圖形表示出來,可以給監督執法機關直觀的數據依據。
圖7所示的節點信息查詢界面實現了某網絡中某節點信息的實時更新和歷史信息查詢,點擊實時數據,界面將顯示當前節點信息,包括開關信號和模擬信號。在相應信號指示器上點擊,可以在曲線框中顯示一個小時內的曲線變化。顯示數據部分表示當前正在顯示的數據信息,包括時間和信號量。通過設置歷史時間可以查詢歷史信息。
圖7某節點信息的用戶界面
4結語
本文利用CC2530 ZigBee模塊、西門子S7—200 CPU 224XP CN、GPRS DTU數據通信和VB6.0 Winsock控件,成功實現了自組網的遠程環境在線監測系統的設計。本設計對已在佛山市南海環保局運行的上一代采集儀提出了有參考意思的升級更新思路,使采集儀自身能夠無線組網,擴大應用范圍,降低通信等持續投資的費用,對其他監控系統的設計也能起一定的參考意義。
參考文獻
[1]陳立定,馮景輝.基于PLC和GPRS的遠程環境監測系統設計[J].自動化與儀表,2010,04:26—28.
[2]李江全,劉榮.西門子S7—200 PLC數據通信及測控應用[M].北京:電子工業出版社,2011.
[3]西門子公司. S7—200編程手冊[Z], 2005: 108—115
[4]鐘永峰,劉永俊.ZigBee無線傳感器網絡[M].北京:北京郵電大學出版社,2011.
[5]高守瑋,吳燦陽.ZigBee技術實踐教程[M].北京:北京航空航天大學出版社,2009.
[6]林瑤瑤.基于ZigBee的現場參數無線檢測裝置的研究與設計[D].大連:大連理工大學,2009.
[7]張敏,海博奇,鄒鵬.基于ZigBee無線網絡的電源電壓監控系統[J],通信技術,2012,45(02):10—13.
[8]郭家虎.基于VB6.0的PC與PLC實時通信技術[J].煤礦機械, 2004(9): 56—57.