杜紀(jì)魁
(無錫商業(yè)職業(yè)技術(shù)學(xué)院物聯(lián)網(wǎng)技術(shù)學(xué)院,江蘇 無錫214153)
隨著信息技術(shù)和物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,施耐德電氣公司出于保障用戶投資金安全,順應(yīng)新技術(shù)發(fā)展的大趨勢,首先推出了采用開放的TCP/IP以太網(wǎng)技術(shù)和Modbus TCP/IP協(xié)議應(yīng)用于工業(yè)控制領(lǐng)域的工業(yè)網(wǎng)絡(luò)數(shù)據(jù)技術(shù)。該技術(shù)應(yīng)用了 TCP/IP協(xié)議,底層協(xié)議使用開放的Modbus協(xié)議,率先實現(xiàn)了信息網(wǎng)絡(luò)和工業(yè)數(shù)據(jù)采集、控制網(wǎng)絡(luò)融為一體,使用戶擺脫了各種行業(yè)的數(shù)據(jù)采集技術(shù)與控制網(wǎng)絡(luò)的限制和束縛,使工業(yè)控制技術(shù)進(jìn)入到了一種新境界。
隨著電子信息技術(shù)的快速發(fā)展,目前通過軟硬件方式可以將TCP(UDP)/IP等相關(guān)通信協(xié)議嵌入到各種物理傳感器中。目前網(wǎng)絡(luò)智能化傳感器在國內(nèi)外應(yīng)用日益廣泛,并且交換式以太網(wǎng)技術(shù)的出現(xiàn)大大提高了網(wǎng)絡(luò)的穩(wěn)定性。利用數(shù)據(jù)交換技術(shù),可以將一個大型的網(wǎng)絡(luò)分隔成為各個相對獨立的網(wǎng)絡(luò)區(qū)域,使沖突限制在一個較小的范圍內(nèi),這樣就可以很明顯地減少沖突的發(fā)生,從而保證和提高了網(wǎng)絡(luò)的實時性和穩(wěn)定性性。 目前來看以太網(wǎng)所已經(jīng)能夠滿足數(shù)據(jù)采集和控制對實時、抗干擾和可靠性等方面的要求。它己經(jīng)被證明是目前乃至未來數(shù)據(jù)采集與工業(yè)行業(yè)控制網(wǎng)絡(luò)的較好的解決途徑,而以太網(wǎng)應(yīng)用在工業(yè)現(xiàn)場中設(shè)備監(jiān)控方面也是工業(yè)控制網(wǎng)絡(luò)發(fā)展的趨勢。
該項目綜合了江蘇省無線傳感系統(tǒng)應(yīng)用工程技術(shù)研究開發(fā)中心在物聯(lián)網(wǎng)方面的各方面研發(fā)能力開發(fā)基于無線傳感網(wǎng)的工業(yè)數(shù)據(jù)管理網(wǎng)絡(luò)系統(tǒng)。該系統(tǒng)包括:工業(yè)設(shè)備(調(diào)試中可模擬)、設(shè)備數(shù)據(jù)采集節(jié)點、無線群控通信節(jié)點(基站)、群控服務(wù)器組成,系統(tǒng)組成如圖1所示。
圖1 系統(tǒng)整體結(jié)構(gòu)圖
通用工業(yè)網(wǎng)絡(luò)的數(shù)據(jù)平臺并不直接于硬件設(shè)備打交道,也不直接處理來自工業(yè)網(wǎng)絡(luò)的數(shù)據(jù)信息,在基于Web的工業(yè)網(wǎng)絡(luò)數(shù)據(jù)平臺和工業(yè)現(xiàn)場傳感網(wǎng)絡(luò)之間(主要指下位機)加入中間件,中間件是連接兩個獨立應(yīng)用程序或獨立系統(tǒng)的軟件。相連接相互通信的系統(tǒng),即使它們具有不同的接口,但通過規(guī)范的中間件仍然能夠進(jìn)行信息的交換。執(zhí)行中間件的一個關(guān)鍵途徑是信息傳遞。通過中間件,應(yīng)用程序可以工作于多平臺或OS環(huán)境。通過中間件為工業(yè)網(wǎng)絡(luò)數(shù)據(jù)平臺屏蔽面向設(shè)備的流信息,提供相應(yīng)的數(shù)據(jù)信息,以便平臺數(shù)據(jù)的持久化。中間件在這里的主要作用在于數(shù)據(jù)格式的轉(zhuǎn)換及與下位機的通信。
本項目的軟件系統(tǒng)結(jié)構(gòu)模式如圖2所示。
圖2 軟件系統(tǒng)結(jié)構(gòu)模式圖
本項目的研究方法上根據(jù)信息系統(tǒng)的特點,從系統(tǒng)結(jié)構(gòu)化分析,結(jié)構(gòu)分層,逐層分析解決實施,Web應(yīng)用實現(xiàn)結(jié)構(gòu)、內(nèi)容、表現(xiàn)分離,以便整個平臺能夠無縫嵌入具體的業(yè)務(wù)應(yīng)用。根據(jù)在項目自身的特點,平臺擬采用.NET為主要實現(xiàn)技術(shù),使用數(shù)據(jù)庫存放各類傳感器信息。數(shù)據(jù)格式如表1所示:
表1 通信數(shù)據(jù)格式
數(shù)據(jù)實例:
總之,整個項目充分利用了軟件分層來降低問題復(fù)雜性,并使整個系統(tǒng)的軟件與硬件的耦合度降低,軟件模塊之間的耦合也降低,結(jié)合中間件技術(shù)構(gòu)建了一個通用的Web網(wǎng)絡(luò)數(shù)據(jù)平臺??紤]今后工業(yè)網(wǎng)絡(luò)的發(fā)展,肯定與業(yè)務(wù)系統(tǒng)會高度融合,因此在平臺中提供相應(yīng)的Web Service接口,可以對其他系統(tǒng)支持跨平臺的調(diào)用,這也是平臺可擴(kuò)展性的一個。
1)Ajax與 JQuery
JQuery是一個優(yōu)秀的Javascript庫。它是輕量級的js庫 ,它兼容CSS3。jQuery方便用戶處理HTML、實踐,并且能夠?qū)崿F(xiàn)動畫效果,還能夠為網(wǎng)站提供Ajax交互。jQuery較大優(yōu)勢還有各種參考資料齊全,應(yīng)用示例廣泛并且豐富,同時還有許多開源的成熟插件可以使用。Query能夠使用戶的html頁面保持代碼和html內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需要定義id即可。
Ajax是一種主要用于創(chuàng)建需要及時刷新頁面數(shù)據(jù)的技術(shù)。這項技術(shù)通過在后臺與相關(guān)服務(wù)器進(jìn)行較少的通信,就可以使所創(chuàng)建的網(wǎng)頁實現(xiàn)異步更新。即可以不用重新加載頁面所有內(nèi)容,而只對頁面內(nèi)部部分?jǐn)?shù)據(jù)區(qū)域進(jìn)行更新。
在數(shù)據(jù)展示方面,本項目利用Ajax技術(shù)實時刷新頁面表格中的各個儀器終端的數(shù)據(jù),提高也頁面的穩(wěn)定性,并利用JQuery技術(shù)提高了代碼的可維護(hù)性和刷新效率。
2)數(shù)據(jù)庫分頁技術(shù)
在使用中間件處理數(shù)據(jù)存儲在數(shù)據(jù)庫中。由于實時數(shù)據(jù)量在積累一段時間后,如果每次直接進(jìn)行數(shù)據(jù)查詢耗時較多,因此使用數(shù)據(jù)庫分頁技術(shù),同時把較新數(shù)據(jù)放在臨時的數(shù)據(jù)集合里動態(tài)更新,提高數(shù)據(jù)檢索效率。
比較常用的數(shù)據(jù)分頁技術(shù)是ADO記錄集進(jìn)行分頁。這項技術(shù)使用ADO自帶的功能通過游標(biāo)來達(dá)到分頁的目的。現(xiàn)在流行的分頁方法一般是檢索頁面大小的塊區(qū)的數(shù)據(jù),而非檢索所有的數(shù)據(jù),然后單步執(zhí)行當(dāng)前行。
根據(jù)該項目中的數(shù)據(jù)特點,采用top(max)及top min來進(jìn)行分頁。也就是現(xiàn)在通用的分頁算法和分頁存儲過程的算法。
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每一頁的條數(shù)。
@strsql,即選擇數(shù)據(jù)的語句,如select*from aa。
@pk,即主鍵,或者唯一字段。
@startpos.分頁下標(biāo)。@startpos=(@pageNums)*(@page-1)
@endpos。分頁上標(biāo) @endpos=(@pageNums*@page)-1;
該算法要求使用唯一字段來進(jìn)行分頁,適用于大量數(shù)據(jù),并且是根本唯一值字段排序的地方。如果這些數(shù)據(jù)中有重復(fù)值,但是重復(fù)值數(shù)量較少,比如低于一頁的記錄數(shù),那么也可以正常獲取數(shù)據(jù)。在這個項目中由于主要區(qū)別數(shù)據(jù)值為數(shù)據(jù)發(fā)生時間,因此基本沒有數(shù)據(jù)重復(fù),非常適合采用這種方法。
經(jīng)過測試,數(shù)據(jù)沒有明顯延遲。實時數(shù)據(jù)顯示如圖3所示。
圖3 實時數(shù)據(jù)顯示
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,基于網(wǎng)絡(luò)通信的數(shù)據(jù)管理系統(tǒng)得到了大量應(yīng)用,本課項目在查閱文獻(xiàn)的基礎(chǔ)上提出了基于WEB的工業(yè)網(wǎng)絡(luò)通信的數(shù)據(jù)平臺系統(tǒng),通過中間件技術(shù)以及TCP/IP協(xié)議實現(xiàn)了工業(yè)現(xiàn)場傳感器與后臺服務(wù)器之間的網(wǎng)絡(luò)通信,本課題研究具有較強的工程背景和實際價值。
本項目設(shè)計了基于WEB的工業(yè)網(wǎng)絡(luò)通信數(shù)據(jù)平臺的上位機軟件?;赥CP/IP協(xié)議以及Windows Socket方法,在Visual Studio平臺上開發(fā)工業(yè)網(wǎng)絡(luò)通信數(shù)據(jù)平臺的上位機軟件,實現(xiàn)數(shù)據(jù)采集、顯示和控制。對于工業(yè)電子設(shè)備網(wǎng)絡(luò)化,實現(xiàn)遠(yuǎn)程監(jiān)測和控制設(shè)備儀器的運行等方面具有借鑒和推廣意義。
由于在進(jìn)行圖形化顯示數(shù)據(jù)時采用了JavaScript編寫實際顯示效果,雖然執(zhí)行效率較高,顯示界面簡潔,但是由于代碼局限性顯示效果的多樣性上有所欠缺。因此如果有需要,可以在后續(xù)改進(jìn)中使用第三方圖形化控件來完成圖形化顯示功能。
[1]郝雅青.明渠污水智能流量計量WEB監(jiān)測平臺軟件實現(xiàn)[D].太原:太原理工大學(xué),2010.
[2]趙海艷.面向服務(wù)的傳感器網(wǎng)絡(luò)關(guān)鍵技術(shù)的研究[D].大連:大連理工大學(xué),2011.
[3]徐輝.基于Internet技術(shù)的嵌入式數(shù)據(jù)采集與控制系統(tǒng)的研究[J].現(xiàn)在電子技術(shù),2008:26-32.
[4]李運濤,王庸貴.一種實時數(shù)據(jù)采集系統(tǒng)網(wǎng)絡(luò)接口設(shè)計[J].計算機測量與控制,2011:7-10.
[5]任泰明.TCP/IP協(xié)議與網(wǎng)絡(luò)編程[J].西安電子科技大學(xué)出版社,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.