杜紀魁
(無錫商業職業技術學院物聯網技術學院,江蘇 無錫214153)
隨著信息技術和物聯網技術的快速發展,施耐德電氣公司出于保障用戶投資金安全,順應新技術發展的大趨勢,首先推出了采用開放的TCP/IP以太網技術和Modbus TCP/IP協議應用于工業控制領域的工業網絡數據技術。該技術應用了 TCP/IP協議,底層協議使用開放的Modbus協議,率先實現了信息網絡和工業數據采集、控制網絡融為一體,使用戶擺脫了各種行業的數據采集技術與控制網絡的限制和束縛,使工業控制技術進入到了一種新境界。
隨著電子信息技術的快速發展,目前通過軟硬件方式可以將TCP(UDP)/IP等相關通信協議嵌入到各種物理傳感器中。目前網絡智能化傳感器在國內外應用日益廣泛,并且交換式以太網技術的出現大大提高了網絡的穩定性。利用數據交換技術,可以將一個大型的網絡分隔成為各個相對獨立的網絡區域,使沖突限制在一個較小的范圍內,這樣就可以很明顯地減少沖突的發生,從而保證和提高了網絡的實時性和穩定性性。 目前來看以太網所已經能夠滿足數據采集和控制對實時、抗干擾和可靠性等方面的要求。它己經被證明是目前乃至未來數據采集與工業行業控制網絡的較好的解決途徑,而以太網應用在工業現場中設備監控方面也是工業控制網絡發展的趨勢。
該項目綜合了江蘇省無線傳感系統應用工程技術研究開發中心在物聯網方面的各方面研發能力開發基于無線傳感網的工業數據管理網絡系統。該系統包括:工業設備(調試中可模擬)、設備數據采集節點、無線群控通信節點(基站)、群控服務器組成,系統組成如圖1所示。

圖1 系統整體結構圖
通用工業網絡的數據平臺并不直接于硬件設備打交道,也不直接處理來自工業網絡的數據信息,在基于Web的工業網絡數據平臺和工業現場傳感網絡之間(主要指下位機)加入中間件,中間件是連接兩個獨立應用程序或獨立系統的軟件。相連接相互通信的系統,即使它們具有不同的接口,但通過規范的中間件仍然能夠進行信息的交換。執行中間件的一個關鍵途徑是信息傳遞。通過中間件,應用程序可以工作于多平臺或OS環境。通過中間件為工業網絡數據平臺屏蔽面向設備的流信息,提供相應的數據信息,以便平臺數據的持久化。中間件在這里的主要作用在于數據格式的轉換及與下位機的通信。
本項目的軟件系統結構模式如圖2所示。

圖2 軟件系統結構模式圖
本項目的研究方法上根據信息系統的特點,從系統結構化分析,結構分層,逐層分析解決實施,Web應用實現結構、內容、表現分離,以便整個平臺能夠無縫嵌入具體的業務應用。根據在項目自身的特點,平臺擬采用.NET為主要實現技術,使用數據庫存放各類傳感器信息。數據格式如表1所示:

表1 通信數據格式
數據實例:

總之,整個項目充分利用了軟件分層來降低問題復雜性,并使整個系統的軟件與硬件的耦合度降低,軟件模塊之間的耦合也降低,結合中間件技術構建了一個通用的Web網絡數據平臺。考慮今后工業網絡的發展,肯定與業務系統會高度融合,因此在平臺中提供相應的Web Service接口,可以對其他系統支持跨平臺的調用,這也是平臺可擴展性的一個。
1)Ajax與 JQuery
JQuery是一個優秀的Javascript庫。它是輕量級的js庫 ,它兼容CSS3。jQuery方便用戶處理HTML、實踐,并且能夠實現動畫效果,還能夠為網站提供Ajax交互。jQuery較大優勢還有各種參考資料齊全,應用示例廣泛并且豐富,同時還有許多開源的成熟插件可以使用。Query能夠使用戶的html頁面保持代碼和html內容分離,也就是說,不用再在html里面插入一堆js來調用命令了,只需要定義id即可。
Ajax是一種主要用于創建需要及時刷新頁面數據的技術。這項技術通過在后臺與相關服務器進行較少的通信,就可以使所創建的網頁實現異步更新。即可以不用重新加載頁面所有內容,而只對頁面內部部分數據區域進行更新。
在數據展示方面,本項目利用Ajax技術實時刷新頁面表格中的各個儀器終端的數據,提高也頁面的穩定性,并利用JQuery技術提高了代碼的可維護性和刷新效率。
2)數據庫分頁技術
在使用中間件處理數據存儲在數據庫中。由于實時數據量在積累一段時間后,如果每次直接進行數據查詢耗時較多,因此使用數據庫分頁技術,同時把較新數據放在臨時的數據集合里動態更新,提高數據檢索效率。
比較常用的數據分頁技術是ADO記錄集進行分頁。這項技術使用ADO自帶的功能通過游標來達到分頁的目的。現在流行的分頁方法一般是檢索頁面大小的塊區的數據,而非檢索所有的數據,然后單步執行當前行。
根據該項目中的數據特點,采用top(max)及top min來進行分頁。也就是現在通用的分頁算法和分頁存儲過程的算法。
select top@PageSize*from (@strsql)a where@pk>(select max(@pk)from(select top@startpos@pk from(@strsql)order by@pk)a)and @pk<=(select min(@pk)from select top@endpos@pk from(@strsql)order by@pk)a)order by@pk
@PageSize每一頁的條數。
@strsql,即選擇數據的語句,如select*from aa。
@pk,即主鍵,或者唯一字段。
@startpos.分頁下標。@startpos=(@pageNums)*(@page-1)
@endpos。分頁上標 @endpos=(@pageNums*@page)-1;
該算法要求使用唯一字段來進行分頁,適用于大量數據,并且是根本唯一值字段排序的地方。如果這些數據中有重復值,但是重復值數量較少,比如低于一頁的記錄數,那么也可以正常獲取數據。在這個項目中由于主要區別數據值為數據發生時間,因此基本沒有數據重復,非常適合采用這種方法。
經過測試,數據沒有明顯延遲。實時數據顯示如圖3所示。

圖3 實時數據顯示
隨著網絡技術的快速發展,基于網絡通信的數據管理系統得到了大量應用,本課項目在查閱文獻的基礎上提出了基于WEB的工業網絡通信的數據平臺系統,通過中間件技術以及TCP/IP協議實現了工業現場傳感器與后臺服務器之間的網絡通信,本課題研究具有較強的工程背景和實際價值。
本項目設計了基于WEB的工業網絡通信數據平臺的上位機軟件。基于TCP/IP協議以及Windows Socket方法,在Visual Studio平臺上開發工業網絡通信數據平臺的上位機軟件,實現數據采集、顯示和控制。對于工業電子設備網絡化,實現遠程監測和控制設備儀器的運行等方面具有借鑒和推廣意義。
由于在進行圖形化顯示數據時采用了JavaScript編寫實際顯示效果,雖然執行效率較高,顯示界面簡潔,但是由于代碼局限性顯示效果的多樣性上有所欠缺。因此如果有需要,可以在后續改進中使用第三方圖形化控件來完成圖形化顯示功能。
[1]郝雅青.明渠污水智能流量計量WEB監測平臺軟件實現[D].太原:太原理工大學,2010.
[2]趙海艷.面向服務的傳感器網絡關鍵技術的研究[D].大連:大連理工大學,2011.
[3]徐輝.基于Internet技術的嵌入式數據采集與控制系統的研究[J].現在電子技術,2008:26-32.
[4]李運濤,王庸貴.一種實時數據采集系統網絡接口設計[J].計算機測量與控制,2011:7-10.
[5]任泰明.TCP/IP協議與網絡編程[J].西安電子科技大學出版社,2013,4:22-23.
[6]jQuery 1.11 and 2.1 Released .jQuery.2015-03-29[Z].
[7]Ajax.百度百科[OL].2015-9-22.
[8]http://blog.csdn.net/fibona/article/details/1519480[OL].2015-05-13.