摘 要: 提出了一種適合工業(yè)自動化的無線傳感器的網絡結構,,設計了無線傳感器網絡的終端節(jié)點模塊以及工業(yè)現(xiàn)場常用的二次儀表的通信問題,實現(xiàn)了工業(yè)無線網絡和有線網絡的靈活配置,、網關節(jié)點的開發(fā),,解決了無線傳感器網關節(jié)點與上位機之間關鍵的可靠通信問題,并開發(fā)了上位機的監(jiān)控組態(tài)軟件,,實驗結果證實了提出的方法是有效的,。
關鍵詞: 無線傳感器網絡;二次儀表,;網關
無線傳感器網絡綜合了現(xiàn)代傳感器技術,、微電子技術、通信技術,、嵌入式計算技術和分布式信息處理技術等多個學科,,是新興的交叉研究領域。它的出現(xiàn)引起了全世界范圍的廣泛關注,,被稱為二十一世紀最具影響的技術之一,。隨著研究的不斷深入,無線傳感器網絡在環(huán)境監(jiān)測,、軍事應用,、醫(yī)療監(jiān)測和家庭應用等方面表現(xiàn)出強大的生命力。近年來,,人們開始日益關注無線傳感器網絡技術在工業(yè)自動化和工業(yè)測控領域的應用,,以便實現(xiàn)大多數(shù)工業(yè)儀表和自動化產品都嵌入無線傳輸功能,完成從有線到無線的過渡,。無線方案的靈活性必將大大簡化工業(yè)自動化領域的監(jiān)控網絡的配置,、維護等工作,大大改善工廠的運行條件。
本文將采用TI公司的CC1110芯片實現(xiàn)無線傳感器的終端節(jié)點,、路由節(jié)點及網關節(jié)點設計,。并實現(xiàn)了終端節(jié)點與傳感器節(jié)點的接口設計以及終端節(jié)點與本地的智能儀表或二次儀表之間的通信接口設計。為了無線傳感器網絡系統(tǒng)能夠與工業(yè)自動化領域的現(xiàn)有的技術無縫連接,,本文針對網關節(jié)點設計了常用的現(xiàn)場總線協(xié)議,。
1 系統(tǒng)設計結構
圖1是一個典型的工業(yè)用無線傳感器網絡示意圖,核心部分是低功耗的傳感器節(jié)點(可以使用電池長期供電,、太陽能電池供電,,或風能、機械振動發(fā)電等),,網絡路由器和無線網關(將信息傳輸?shù)焦I(yè)以太網和控制中心,,或者通過互聯(lián)網傳輸)。無線傳感器網絡中的終端節(jié)點模塊直接和各種各樣的傳感器節(jié)點相連接,,通過路由節(jié)點和網關節(jié)點把傳感器的數(shù)據(jù)傳輸?shù)缴衔粰C,以進行進一步的數(shù)據(jù)處理,。為了更方便地使用無線傳感器網絡把工業(yè)現(xiàn)場的數(shù)據(jù)傳遞出來,,圖1中的工業(yè)用無線傳感器網絡增加了傳輸智能儀表數(shù)據(jù)的能力,大大增強了方案的靈活性,。
由圖1可以看出,,多個傳感器可以和本地的智能儀表連接實現(xiàn)本地數(shù)據(jù)的顯示等功能,并通過無線傳感器網絡的終端節(jié)點把智能儀表采集到的多個傳感器的數(shù)據(jù)轉發(fā)出去,,這樣就能夠大大減少無線傳感器網絡中的終端節(jié)點個數(shù),,更有效地利用終端節(jié)點。這種方案本質上是通過智能儀表使用有線方式采集與本地相距較近的幾個傳感器的數(shù)據(jù),,接著使用終端節(jié)點轉發(fā)數(shù)據(jù),。可見這種方案在實際應用中可以根據(jù)現(xiàn)場的實際情況,,靈活使用有線和無線的方案,,使得系統(tǒng)配置更加靈活,能夠滿足對各種傳感器和二次儀表的數(shù)據(jù)輸出和輸入控制命令,,使得現(xiàn)有的工業(yè)網絡無線化,。
硬件模塊主要分為終端節(jié)點發(fā)射模塊、路由器模塊,、網關模塊三部分,,如圖1所示。第一部分為終端節(jié)點模塊,,由傳感器模塊,、數(shù)據(jù)處理模塊、與其他單片機相連接的通信接口模塊和發(fā)射模塊組成。第二部分是路由器模塊,,包括無線發(fā)射,、單片機信號輸入與輸出電路。第三部分是無線網關模塊,,包括無線信號接收與發(fā)射,,無線接收與無線接收端與PC機的通信電路。
從圖1中可以看出,,無線傳感器網絡的數(shù)據(jù)最終都匯集到網關上,,進而通過工業(yè)以太網傳輸給上位機,所以網關和工業(yè)以太網的接口設計也非常重要,。
2 系統(tǒng)實現(xiàn)
2.1 終端節(jié)點設計
終端節(jié)點的核心是片上系統(tǒng)CC1110芯片,,CC1110集成了支持315/433/868/915 MHz射頻收發(fā)芯片,性能可達8倍標準8051性能的微處理器,,以及32 KB閃存,、4 KB RAM。芯片運行溫度范圍為-40℃~85℃,,電壓為2.0~3.6 V,。能耗非常低,最低電流消耗為0.6 μA,,最大為31 mA,,而且可編程數(shù)據(jù)率范圍從1.2 Kb/s-500 Kb/s,特別適合傳送大批量數(shù)據(jù)[1-2],。
無線傳感器的終端節(jié)點如圖2所示,,終端節(jié)點模塊實現(xiàn)了三大功能:處理傳感器的數(shù)據(jù);與二次儀表通信,,處理二次儀表的數(shù)據(jù),;最后把相關的數(shù)據(jù)通過發(fā)送模塊發(fā)射出去。而且由圖1可以看到,,作為終端節(jié)點的的單片機必須帶有兩個串口,,一個與網關通信用,另一個與二次儀表進行通信,。軟件設備流程如圖3所示,。
由于在工業(yè)應用中,二次儀表占了很大的比重,,所以CC1110與二次儀表的通信及其相關的數(shù)據(jù)處理是一個重要的部分,。下面給出兩者之間的通信接口設計。
2.2 通信接口設計
2.2.1 硬件連接
硬件連接方式可采用兩種連接方式:串口的TTL電平直接相連和RS-232相連,。
如果采用串口的TTL電平直接相連,,TTL電平信號對于計算機處理器控制的設備內部的數(shù)據(jù)傳輸是很理想的,,首先計算機處理器控制的設備內部的數(shù)據(jù)傳輸對于電源的要求不高且熱損耗也較低;其次,,計算機處理器控制的設備內部的數(shù)據(jù)傳輸是在高速下進行的,,而TTL接口的操作恰能滿足這個要求。
如果采用RS-232相連(簡單的連接如圖4所示),,接口的信號電平值較高,,易損壞接口電路的芯片,又因為與TTL電平不兼容,,故需使用電平轉換電路才能與TTL電路連接,。而電平轉換電路需要采用MAX232。
根據(jù)兩類單片機的實際情況可以靈活地選擇這兩種通信接口方式,,下面以TTL直接相連為例介紹通信接口的軟件開發(fā),。
2.2.2 軟件設計
無線單片機與二次儀表進行通信包括:無線單片機的通信程序及二次儀表的通信程序。在編寫程序之前,,制定雙方的通信協(xié)議是非常重要的,,否則將無法保證通信數(shù)據(jù)的可靠性,從而失去通信的意義[3],。約定其通信協(xié)議如下:
(1)串行通信波特率為38 400 b/s,;
(2)幀格式為:幀頭0x68AA,1位起始位,,n位數(shù)據(jù)位,1位停止位,,校驗位,;
(3)無奇偶校驗位;
(4)通信可以有中斷傳送方式和查詢方式,,這里采用中斷方式通信,。
無線單片機與二次儀表通信流程圖如圖5和圖6所示。
2.3 網關節(jié)點設計
終端節(jié)點處理完智能儀表和二次儀表的相關數(shù)據(jù)之后,,通過發(fā)送模塊發(fā)送數(shù)據(jù),,網關節(jié)點負責接收所有終端節(jié)點發(fā)過來的數(shù)據(jù),再把數(shù)據(jù)傳送給上位機中,,上位機的監(jiān)控軟件(如組態(tài)軟件)對這些數(shù)據(jù)進行進一步的處理(如存儲,,圖表顯示,打印等),。這里有一個關鍵的問題就是網關節(jié)點與上位機的可靠性通信問題,。一般使用成熟的現(xiàn)場總線模式來實現(xiàn)網關節(jié)點與電腦之間的通信,如Modbus總線協(xié)議,。網關節(jié)點及其相關模塊如圖7所示,。
2.3.1 Modbus現(xiàn)場總線協(xié)議設計
Modbus協(xié)議是應用于電子控制器上的一種通用語言,。通過此協(xié)議,控制器之間,、控制器經由網絡(例如以太網)和其他設備之間可以通信,。此協(xié)議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網絡進行通信的,。它描述了控制器請求訪問其他設備的過程,,如何回應來自其他設備的請求,以及怎樣偵測錯誤并記錄,。它制定了消息域格局和內容的公共格式[4-5],。
當在一Modbus網絡上通信時,此協(xié)議決定了每個控制器需要知道它們的設備地址,,識別按地址發(fā)來的消息,,決定要產生何種行動。如果需要回應,,控制器將生成反饋信息并用Modbus協(xié)議發(fā)出,。在其他網絡上,包含了Modbus協(xié)議的消息轉換為在此網絡上使用的幀或包結構,。這種轉換也擴展了根據(jù)具體的網絡解決節(jié)地址,、路由路徑及錯誤檢測的方法。
Modbus協(xié)議主要分為ASCII和RTU兩種,。本文采用RTU的方式,,其信息幀格式如表1所示。
當控制器設為在Modbus網絡上以遠程終端單元(RTU)模式通信時,,在消息中的每個8 bit的字節(jié)包含2個4 bit的十六進制字符,。這種方式的主要優(yōu)點是:在同樣的波特率下,可比ASCII方式傳送更多的數(shù)據(jù),。
代碼系統(tǒng):8位二進制,,十六進制數(shù)0…9,A…F,。
消息中的每個8位域都是由2個十六進制字符組成,。
每個字節(jié)的位:1個起始位;8個數(shù)據(jù)位,,最小的有效位先發(fā)送,;1個奇偶校驗位(無校驗則無);1個停止位(有校驗時),,2個bit(無校驗時),;錯誤檢測域;CRC(循環(huán)冗長檢測),。
2.3.2 組態(tài)軟件設計
組態(tài)軟件是指一些數(shù)據(jù)采集與過程控制的專用軟件,,它們是在自動控制系統(tǒng)監(jiān)控層一級的軟件平臺和開發(fā)環(huán)境,,使用靈活的組態(tài)方式,為用戶提供快速構建工業(yè)自動控制系統(tǒng)監(jiān)控功能的,、通用層次的軟件工具,。
三維力控組態(tài)軟件是國產監(jiān)控組態(tài)軟件唯一的完整的冗余與熱備體系設計,完整的分布式網絡結構,;支持控制設備冗余,、多重網絡冗余,多客戶端冗余,、冗余的主從站都可以操作,;人機監(jiān)控圖形界面與過程數(shù)據(jù)處理分離,內置獨立的實時歷史數(shù)據(jù)庫,。
方便,、靈活的開發(fā)環(huán)境,提供各種工程,、畫面模板,、可嵌入各種格式(BMP、GIF,、JPG,、JPEG、CAD等)的圖片,,方便畫面制作,,大大降低了組態(tài)開發(fā)的工作量。
高性能實時,、歷史數(shù)據(jù)庫,,快速訪問接口在數(shù)據(jù)庫4萬點數(shù)據(jù)負荷時,訪問吞吐量可達到20 000次/s,。
強大的分布式報警、事件處理能力,,支持報警,、事件網絡數(shù)據(jù)斷線存儲,恢復功能,;支持操作圖元對象的多個圖層,,通過腳本可靈活控制各圖層的顯示與隱藏;強大的ACTIVEX控件對象容器,,定義了全新的容器接口集,,增加了通過腳本對容器對象的直接操作功能,通過腳本可調用對象的方法,、屬性,。
全新的,、靈活的報表設計工具提供豐富的報表操作函數(shù)集、支持復雜腳本控制,,包括:腳本調用和事件腳本,,可以提供報表設計器,可以設計多套報表模板,。
支持控制設備冗余,、控制網絡冗余、監(jiān)控服務器冗余,、監(jiān)控網絡冗余,、監(jiān)控客戶端冗余等多種系統(tǒng)冗余方式。全新的高性能實時,、歷史數(shù)據(jù)庫,。
3 實驗結果
以溫度監(jiān)測系統(tǒng)為例,本文采用上面提到的方案開發(fā)了一套如圖1所示工業(yè)用的無線傳感器網絡,,其實驗結果如圖8和圖9所示,。
本文重點介紹了工業(yè)無線傳感器網絡部分的實現(xiàn)。在已經實現(xiàn)工業(yè)無線傳感器網絡和節(jié)點間雙向通信的前提下,,很容易實現(xiàn)對工業(yè)設備的無線控制控制,,包括繼電器、I/O,、開關控制,、電機控制,只需要在軟件和硬件上進行一些小的擴展就可以了,。
參考文獻
[1] 吳光榮,,章劍雄.基于CC2430的無線傳感器網絡的實現(xiàn)[J].現(xiàn)代電子技術,2008(12):121-124.
[2] 毛君,,劉克銘,,徐廣明.基于C8051F020單片機的串口通信應用[J].煤礦機械,2005(5):79-81.
[3] 李文仲,,段朝玉.CC1110/CC2510無線單片機和無線自組織網絡入門與實踐[M].北京:北京航空航天大學出版社,,2008.
[4] 封亞斌.采用串口通信技術實現(xiàn)Modbus數(shù)據(jù)通信[J].自動化儀表,2004,,25(10):56-58.
[5] 余向陽.無線傳感器網絡研究綜述[J].單片機與嵌入式應用,,2008(8):8-12.