999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SpringBoot的工控組態軟件Web發布系統設計與實現*

2019-04-24 08:16:00李之奇封成玉徐一鳳王毅璇
網絡安全與數據管理 2019年4期
關鍵詞:頁面系統

李之奇,封成玉,徐一鳳,王毅璇,王 皓

(華北計算機系統工程研究所,北京 100083)

0 引言

在現代化的工業現場中,往往需要遠程對工業過程中的各種儀器、儀表,控制器等進行集中管理。數據采集與監視控制系統(Supervisory Control And Data Acquisition,SCADA)又稱工業組態軟件,可實現這樣的功能。用戶根據現場對象和控制要求,利用組態軟件搭建出能夠反映并控制被控對象實時狀態的畫面,通過對畫面中數據的動態更新,達到實時監控和控制的目的。由于工業現場的高度復雜性和Web技術的飛速發展,應用Web技術實現工控組態軟件的Web發布因其便利性和高效性也成為組態軟件的重要功能。利用Web發布系統,用戶只需要瀏覽器便可以實現便捷又安全的遠程監控和控制操作,這無疑能夠大大提升工業現場的管理水平,實現數字資源共享,同時提高組態軟件系統的可擴展性和應用范圍[1]。

工控組態軟件的Web發布,即在已有工控組態軟件的基礎上添加Web監控功能,其基本任務為:(1)實現瀏覽器端畫面與軟件客戶端畫面一致并在監控過程中動態更新;(2)滿足監控過程中對信息量、響應速度及安全性的要求。因此,要實現一個完整的Web發布系統,往往需要畫面顯示技術、通信技術等多種Web技術的融合,并隨著各種技術的不斷發展而同步進化。目前國內外對此的研究還沒有形成完整的標準體系,研究方向主要針對客戶端畫面的生成方式、實時數據的傳送方式、歷史數據的讀取顯示以及報警信息推送等[1]。

在近年來Web開發技術的快速發展中,Spring框架以其獨特的優勢越來越受到開發者的青睞,SpringBoot則使Spring更加易于開發和維護[4]。本文通過對傳統工控組態軟件Web發布系統和SpringBoot框架的分析和研究,提出了一種基于SpringBoot的工控組態軟件Web發布系統解決方案,該方案具有高度的可移植性、系統開發擴展與維護方便、跨平臺等多項優勢,并在國產PLC上位機組態軟件中實現并成功應用。

1 技術分析

在工控組態軟件的Web發布系統中,客戶端畫面的生成方式和實時數據的傳送方式是系統的核心技術。其中,客戶端畫面的生成方式是指將工控組態軟件中所組態的畫面轉化為瀏覽器中的畫面所采用的方式。由于不同的工控組態軟件所采用的畫面存儲格式、圖元變化邏輯等各不相同,導致各種Web發布系統中所采用的客戶端畫面生成方式也不盡相同。而實時數據的傳送方式是指Web系統中服務器與瀏覽器和數據庫的通信方式。

1.1 客戶端畫面的生成方式

要在瀏覽器中生成與組態軟件中相同的畫面,需要讀取組態軟件中的畫面數據格式,將其轉化并嵌入HTML中,同時各個圖元控件包含和原組態軟件相同的變化邏輯和功能邏輯。當前Web發布系統中客戶端畫面的生成方式所采用的技術有如下幾種:

(1)ActiveX技術:它是基于組件對象模型(Component Object Model,COM)的一種開放式組件編程技術,包括控件、動態鏈接庫和ActiveX文檔等組件[2]。通過ActiveX,可以復用組態軟件中已有的圖元控件,從而生成和軟件中完全相同的畫面,并通過動態鏈接庫開發相應的拓展功能。但該技術的缺點也是明顯的:①ActiveX控件都基于Windows開發,無法實現跨平臺應用;②運行ActiveX需要安裝ActiveX控件,但控件的開發和維護都比較復雜,導致其系統升級和維護較為繁瑣。

(2)Applet:一種運行在客戶端的Java小程序,它可以實現圖形繪制、人機交互、動態更新等功能。這種將瀏覽器端的Applet與服務器端的Servlets/JSP相結合的Web發布系統稱為基于Java的組態軟件Web發布系統。其體系結構如圖1所示。由于Applet程序都是解釋型的,運行速度慢,且該結構中Web頁面的顯示邏輯和后臺數據的處理邏輯均由Servlets/JSP來完成,這樣開發的代碼量大,程序實現復雜,且不易維護,因此并不適合要求高的工業應用環境。

圖1 基于Java的Web發布系統

(3)WPF:WPF是微軟公司推出的基于.NET的用戶界面框架,它提供了統一的編程模型、語言和框架[2]。通過靈活使用WPF提供的頁面控件,便可以實現客戶端畫面的再現。應用WPF技術實現的Web應用程序需要安裝.NET Framework,而.NET Framework安裝包的下載和安裝都相對復雜,且與平臺相關,這成為WPF技術的一個缺點。

(4)SliverLight:這是WPF的一個輕量版本,但它基于瀏覽器插件,服務器端不需要部署任何環境,客戶端也無需安裝.NET Framework,只需要安裝Runtime插件,可以實現跨平臺應用。然而,Silverlight的動態屬性計算較為復雜,對客戶端計算機有較高要求,同時會造成監控畫面的延時問題。

(5)SVG:是W3C制定的一種基于XML的矢量圖形標準,它可以在網頁上顯示出各種各樣的高質量矢量圖形,支持數據驅動的動態變化且具有良好的交互性,而且可以很好的實現圖形顯示的跨平臺應用。這也是本文所設計Web發布系統中所采用的方法,已有研究將SVG應用于組態軟件Web發布中,但由于采用傳統的Web交互方式,在響應速度和用戶體驗方面仍有待改進[2]。

1.2 實時數據的傳送方式

在工控組態軟件中,數據量大、更新頻繁,實時性要求高,因此對于Web發布系統中實時數據的傳送方式有較高要求。當前Web發布系統中實時數據的傳送方式有以下幾種:

(1)通用網管接口(Common Gateway Interface,CGI):它是最早的Web數據庫連接技術,負責數據庫與服務器之間的通信并提供應用程序服務。基于CGI的Web發布系統結構如圖2所示。Web服務器接收來自瀏覽器帶有CGI串的HTTP請求,服務器根據指令啟動CGI程序訪問數據庫,訪問結束后將處理結果再通過服務器返回瀏覽器。它雖然實現了瀏覽器與服務器之間的動態交互,但是運行效率很差,難以滿足日趨復雜的工業現場信息交流。

圖2 基于CGI的Web發布系統

(2)動態服務器頁面(Active Server Pages,ASP):它是一種令網頁上的腳本在服務器上運行的技術。當瀏覽器請求某個ASP頁面時,IIS(Internet信息服務)會將請求傳遞至ASP引擎,ASP引擎逐行讀取該文件并執行其中的腳本,最后返回HTML文件給瀏覽器。雖然ASP在安全性上有較大優勢,但ASP頁面開發復雜,而且只能在Windows平臺下運行。

(3)異步JavaScript和XML(AJAX):它是一種無需重新加載整個網頁而更新部分網頁的技術,瀏覽器通過AJAX引擎與服務器端通信,返回結果再由AJAX引擎決定數據插入頁面的位置。AJAX通過輪詢的方式實現瀏覽器與服務器的異步通信,其原理是客戶端定時向瀏覽器發送AJAX請求,服務器街接到請求后返回相應信息并關閉連接。雖然AJAX實現較簡單,但比較浪費服務器資源,效率不高。

(4)WebSocket:它是一種在單個TCP連接上進行全雙工通信的協議,瀏覽器和服務器只需要完成一次握手,兩者之間就可以創建持久性的連接,并進行雙向數據傳輸。圖3展示了AJAX輪詢和WebSocket握手之間的差別。

圖3 AJAX輪詢與WebSocket連接方式

由于在工控組態軟件Web發布系統中,往往需要瀏覽器和服務器頻繁的雙向通信,顯然WebSocket比AJAX更加簡易高效,這也是本文Web發布系統中所采用的方式。

2 系統設計與實現

在已有的工控組態軟件Web發布系統中,基于以上技術,所采用的開發框架有ASP.NET、WCF、J2EE等。其中,ASP.NET不能實現跨平臺系統,WCF和J2EE開發應用都有配置復雜等問題。Spring框架是現在市場占有率最高的基于J2EE框架的研發型軟件產品,而SpringBoot項目是Pivotal團隊開發的一個全新Spring框架,其目的就在于解決Spring開發中的復雜配置操作,使開發人員只需要專注于業務邏輯代碼的實現[3]。

本文所設計的基于SpringBoot的Web發布系統,采用了SpringBoot中高效便捷的SVG、Contoller等技術,結合WebSocket、Hibernate等通信技術,結構清晰,其總體架構如圖4所示。

圖4 基于SpringBoot的Web發布系統

2.1 顯示模塊

在該Web發布系統中,顯示模塊用以顯示組態畫面并根據數據動態更新。該過程首先需要用組態軟件的畫面信息文件生成SVG格式文件,服務器將其加入JSP頁面后再將HTML發布給瀏覽器。采用SVG作為組態軟件與Web系統交互的畫面文件格式,其優勢在于:(1)矢量圖可以適應瀏覽器端畫面大小不同的縮放而不破壞清晰度;

(2)基于XML標準具有較好的開放性和拓展性;

(3)豐富的動畫支持能夠實現原組態軟件中全部圖形元素屬性的動態變化。

在Web系統運行時,瀏覽器根據從服務端獲取的組態配置信息和實時數據,通過JavaScript腳本動態更新SVG文件的DOM,進而實時更新瀏覽器中的畫面顯示[2]。該過程步驟為:(1)獲取圖形文件中各圖形元素的動畫方式及變量,編寫好根據變量值改變圖形顯示的JavaScript代碼;(2)頁面定時獲取數據變量的實時數據值;(3)根據JavaScript執行結果修改SVG文件,進而動態更新頁面。

2.2 交互模塊

由于瀏覽器需要實時獲取服務器數據以更新畫面,采用WebSocket進行服務器與瀏覽器之間的數據交互。WebSocket是目前瀏覽器中最通用和靈活的傳輸技術,不僅可以將整個通信過程建立在一次連接中,也可以實現服務器主動推送信息給客戶端,非常適合工控Web系統實時快速的數據交流。同時WebSocket提供了簡單輕量級的程序開發接口,可以顯著降低系統開發復雜程度[5]。

為了保證Web系統中數據交互的安全性,同時使用了WebSocket中的加密傳輸(Web Socket Secure,WSS),它利用安全套接層(Secure Socket Layer,SSL)建立安全的通信鏈路,不需要擔心數據被竊取。

當服務器收到來自瀏覽器的數據請求時,服務器需要向組態軟件數據庫查詢變量點實時數據,而工控系統中變量點規模龐大,因此采用Hibernate(開放源代碼的對象關系映射框架)來進行服務器與數據庫的交互操作。Hibernate對JDBC(Java數據庫連接)進行了輕量級的對象封裝,可以自動生成SQL語句,是一個高性能的對象關系型持久化存儲和查詢的服務。因此,采用Hibernate能夠很好地提升工控組態軟件Web發布系統的性能[6]。

2.3 功能模塊

在該Web系統中,功能模塊主要指服務器中用來完成功能業務邏輯的Controller(控制器),之所以采用SpringMVC中的Controller來代替傳統JavaWeb中的Servlets,是為了簡化開發與維護工作,同時使邏輯更加清晰。Controller的基本原理是采用前端控制器模式,由DispacherServlet分發請求到Controller[2],其主要處理來自畫面的顯示邏輯、下發請求等。

除了對組態軟件畫面的同步顯示和操作功能,工控組態軟件Web發布系統還應具備歷史數據展示、報警顯示等功能,其中歷史數據顯示通過Web服務器中的Controller與組態軟件中的歷史數據庫通信獲得,當收到歷史數據請求時,將數據統一用新的頁面發送給瀏覽器,該頁面同時具有與組態軟件相似的查詢等功能。報警功能則既可以嵌入在頁面信息中,可定時查詢數據再通過判定邏輯決定是否報警,也可以由服務器主動向瀏覽器推送,并通過瀏覽器端彈窗來顯示,這是通過WebSocket實現的服務器瀏覽器雙向通信完成的,系統將根據用戶在組態軟件中的選擇來選取具體的報警方式。

2.4 系統應用

本系統的設計與實現均基于全國產化SCADA系統,支持在國產麒麟和Windows操作系統上跨平臺運行,且提供方便的數據組態、畫面組態、歷史和實時趨勢等功能。利用本文所實現的Web發布系統,只需要在現場控制中心運行組態軟件,現場其余各處聯網機只需配備瀏覽器即可申請訪問組態畫面,通過用戶驗證后,可以執行下發與組態軟件相同的監控控制等操作。之后的軟件更新等操作,也只需在控制中心維護即可。

3 結束語

本文主要分析了工控組態軟件Web發布系統中的相關技術,并設計了基于當前流行Web框架SpringBoot的新型工控組態軟件Web發布系統,并在基于國產PLC的工控上位機組態軟件中實現并成功應用,該系統不僅具有跨平臺、高效性、開發與維護方便等優勢,同時具有很好的靈活性、拓展性和安全性,滿足了國產PLC系統工控組態軟件在工程中的應用要求。

猜你喜歡
頁面系統
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 97在线国产视频| 99ri精品视频在线观看播放| 婷婷六月综合| 第九色区aⅴ天堂久久香| 亚洲欧洲日产国码无码av喷潮| 国产在线观看一区精品| 三上悠亚一区二区| 999国内精品久久免费视频| 青草视频久久| 日韩中文欧美| 国产www网站| 四虎精品国产AV二区| 成人国产精品一级毛片天堂 | 国产高清无码麻豆精品| av色爱 天堂网| 国产在线欧美| 亚洲精品在线观看91| 亚洲精品第一页不卡| 99视频精品全国免费品| 中文无码影院| 色综合中文| 亚洲中文在线看视频一区| 日韩欧美中文字幕在线韩免费| 一级看片免费视频| 999精品视频在线| 国产超碰一区二区三区| 日韩精品成人在线| 亚洲国产欧美目韩成人综合| 国产在线精品美女观看| 国产剧情无码视频在线观看| 国产精品免费久久久久影院无码| 亚州AV秘 一区二区三区| 国产成人乱码一区二区三区在线| 国产精品成人免费综合| 日本精品视频一区二区| 日本国产在线| 中文字幕 日韩 欧美| 91麻豆久久久| 欧美A级V片在线观看| 国产极品嫩模在线观看91| 国产精品入口麻豆| 狠狠色婷婷丁香综合久久韩国 | 国产亚洲美日韩AV中文字幕无码成人| 一级毛片免费观看不卡视频| 亚洲精品无码日韩国产不卡| 精品無碼一區在線觀看 | 久久国产高潮流白浆免费观看| 老司机aⅴ在线精品导航| 99re在线视频观看| 无码有码中文字幕| 九九香蕉视频| 亚洲精品卡2卡3卡4卡5卡区| 日本不卡在线| 国产无码在线调教| 亚洲男人的天堂久久香蕉网| 国产日韩欧美中文| 国产国拍精品视频免费看 | 国产人免费人成免费视频| 国产微拍精品| 四虎影视无码永久免费观看| 精品视频第一页| 999福利激情视频| 夜精品a一区二区三区| 亚洲精品动漫| 色偷偷男人的天堂亚洲av| 人妻夜夜爽天天爽| 毛片免费高清免费| 毛片网站观看| 57pao国产成视频免费播放| 五月天香蕉视频国产亚| 国产AV毛片| 99视频在线免费观看| 国产高潮流白浆视频| 国产尹人香蕉综合在线电影| 成人国产一区二区三区| 国产欧美精品一区aⅴ影院| 亚洲自偷自拍另类小说| 国产h视频免费观看| 色综合久久综合网| 国产精品v欧美| 欧美日韩国产在线人成app| 国产精品美女在线|