Gw21x 在集中監控系統中的應用方案
在傳統的集中監控系統中,一般通過Modem或E1等進行數據傳輸,隨著網絡技術的發展和網絡在各行各業的普及,通過網絡進行遠程監控和遠程數據采集成為一種最經濟最可靠的方式。但由于網絡跟傳統通訊方式的工作模式和工作原理相比具有更好的優勢,因此為了充分發揮網絡通訊的優勢,基于網絡的遠程監控和遠程數據采集可以采用一些更加高效和可靠的軟件設計方案。本文以下以北京市金招牌技術有限公司生產的Gw21x轉換器為例,對基于網絡的遠程監控和遠程數據采集的系統設計方案進行一些探討。
首先我們了解一下Gw21x 的功能:Gw21x 是一個RS232與TCP/IP的協議轉換器,它提供RS232到網絡和網絡到RS232的透明數據傳輸 ,Gw21x 向上提供10M以太網接口,向下提供1個標準RS232串行口,內部集成ARP,IP,ICMP,TCP,UDP,DHCP,SOCK5等協議,支持網關和代理服務器。
Gw21x 有三種工作模式: 1. 作為TCP服務器,轉換器在指定的TCP端口上監聽平臺程序的連接請求;2. 作為TCP客戶端,轉換器上電時主動向平臺程序請求連接。 3. 自動方式,轉換器一般工作在TCP服務器模式,當轉換器收到串口數據時自動切換到TCP客戶端模式,轉換器向平臺程序請求連接,并將數據傳送到平臺,傳送完后轉換器自動切換回TCP服務器模式。
監控中心應用程序可以通過三種方式和Gw21x轉換器進行數據通訊:1.使用Socket(套接字);2.本公司提供的ActiveX控件(EDSockServer.ocx);3.虛擬串口。
一.系統結構
使用Gw21x的基于網絡的遠程監控和遠程數據采集的系統結構如下:
監控平臺負責與現場設備通訊,接收各種現場設備信息和控制現場設備,并把經過處理后的數據保存到數據庫;數據服務器運行數據庫系統,同時通過WEB服務器向數據查詢終端提供數據;數據查詢終端通過瀏覽器或專用查詢工具查詢所需要的信息。
二.軟件設計方案
由于監控中心應用程序可以通過三種方式和Gw21x轉換器進行數據通訊,本文以使用控件(EDSockServer.ocx)與Gw21x通訊為例說明平臺軟件的設計方案(使用Windows Socket與Gw21x通訊與使用控件與Gw21x通訊可以采用相同的軟件設計方案):
1. 首先監控中心軟件要能識別現場設備,現場設備必須具有一個唯一的標識。一般來講可以采用以下三種方式標識現場設備:
(1)使用Gw21x的MAC地址標識現場設備。(該方式只適用于使用控件的情況)
(2)使用現場設備自己的序列號。(該序列號對于每個現場設備必須是唯一的,這種方式可以同時適用于使用控件和使用Win Socket的情況)
(3)使用Gw21x 的IP地址標識現場設備,但這樣要求每個現場設備分配一個固定的IP地址,這樣做在很多情況下會帶來網絡資源浪費和網絡管理及維護的困難。一般不推薦使用此方式。(這種方式可以同時適用于使用控件和使用Win Socket的情況)
2. 在傳統的遠程監控和分布式數據采集細途中,一般采用主機輪詢的方式進行數據通訊,這樣做的目的主要是為了解決總線和資源(如串口,Modem)競爭的問題,但總線和資源競爭的問題在網絡環境中已經不存在了,因此在網絡條件下完全可以采用基于事件驅動的更加高效的通訊方式,具體來說就是:
Gw21x 和平臺軟件建立TCP連接的過程中,將平臺軟件作為TCP服務器時,與平臺軟件連接的Gw21x設置為TCP客戶端的工作方式,平臺軟件在指定TCP端口上被動的等待Gw21x的連接請求,Gw21x上電時主動向監控平臺請求建立TCP連接,監控平臺軟件在收到連接請求后建立TCP連接,并且連接一旦建立,除非監控平臺軟件主動要求斷開連接,否則連接一直保持,這樣可以保證監控平臺軟件和Gw21x之間的數據通訊管道一直存在,由于TCP連接建立后如果不進行數據通訊,它不占用任何網絡資源,因此采用這種方式不但可以保證用戶程序和Gw21x之間的通訊可以時實進行,而且不會增加任何網絡負擔。
由于監控平臺軟件和Gw21x 之間的TCP連接一直存在,因此現場設備如果有數據需要傳送到監控平臺時,它隨時可以與監控平臺進行通訊,即使有兩個或多個現場設備同時向監控平臺發送數據也不會造成任何問題,因為監控平臺與每個Gw21x的TCP連接都分別由不同的Win Socket進行管理,當某個TCP連接收到數據時相應的Win Socket會通過“接收數據事件”通知平臺軟件進行數據處理,當同時從幾個連接收到數據時,這些TCP連接相對應的Win Socket會分別產生“接收數據事件”,這些事件進入平臺軟件的事件隊列,由平臺軟件分別進行處理。當監控平臺有數據需要傳送到現場設備時,監控平臺隨時可以向現場設備發送數據,而不必理會其它現場設備和平臺軟件的通訊狀態。
通過這種基于事件驅動方式設計的遠程監控系統,當現場設備產生報警信息時,現場設備可以立即將這個信息傳送到監控平臺,而不必等到監控平臺輪詢到該現場設備時才傳送。這樣就大大提高了系統的響應速度,特別是當系統中現場設備數量較大時,效果更加明顯。同時由于避免了輪詢點名,系統中網絡通訊的數據量大大減少,節約了網絡帶寬,也就意味著節約了網絡資源和網絡投資。(雖然點名時傳送的數據很少,但在網絡通訊中,即使只有一個字節的有效數據,它產生的一個以太網數據包也超過512字節,因為不足512個字節時協議自動用無用數據填充,而在輪詢點名的系統中會產生大量的這種數據包,使網絡的效率下降。)
3. 平臺軟件基于事件驅動時的通訊處理流程如下:
(1)通過Gw21x 的MAC地址標識設備
(2)通過現場設備序列號標示設備
將Gw21x 的工作方式設置成“TCP客戶端”。
文章版權歸西部工控xbgk所有,未經許可不得轉載。