• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Silverlight、WCF和OPC UA的2級系統(tǒng)B/S架構(gòu)

      2012-01-25 07:59:12王海濤孫明軍
      制造業(yè)自動化 2012年12期
      關(guān)鍵詞:服務(wù)端瀏覽器應(yīng)用程序

      王 威,王海濤,孫明軍

      (北京機(jī)械工業(yè)自動化研究所 機(jī)器人中心,北京 100120)

      0 引言

      2級系統(tǒng)(Level 2 system)是制造業(yè)實現(xiàn)信息自動化的基礎(chǔ)平臺,可用于實現(xiàn)生產(chǎn)數(shù)據(jù)采集、生產(chǎn)實時監(jiān)控、生產(chǎn)調(diào)度、數(shù)據(jù)統(tǒng)計分析、工藝配方管理、能耗管理、實驗室及倉庫信息管理等功能。2級系統(tǒng)能有效地提高生產(chǎn)率,降低操作工勞動強(qiáng)度。2級系統(tǒng)是一種較為典型的分布式系統(tǒng)。

      1 總體結(jié)構(gòu)

      傳統(tǒng)分布式系統(tǒng)采用C/S結(jié)構(gòu)實施。C/S體系結(jié)構(gòu)雖然能夠利用客戶端的計算能力,但由于每個客戶端都需要安裝客戶端軟件,并且C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,所以C/S結(jié)構(gòu)代價高, 效率低。

      B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是對C/S結(jié)構(gòu)的一種變化或者改進(jìn)。在這種結(jié)構(gòu)下,用戶圖形界面是通過WWW瀏覽器來實現(xiàn),極少部分業(yè)務(wù)邏輯在前端(Browser)實現(xiàn),主要業(yè)務(wù)邏輯在服務(wù)器端(Server)實現(xiàn)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本。

      雖然B/S結(jié)構(gòu)有種種結(jié)構(gòu)上的優(yōu)點,但傳統(tǒng)的Web應(yīng)用程序?qū)τ谌绾呜S富用戶體驗還存在問題。技術(shù)的限制使得Web應(yīng)用程序無法像客戶端應(yīng)用程序一樣,提供豐富、多樣化且快速響應(yīng)的用戶體驗。Silverlight技術(shù)有效的彌補(bǔ)了這個不足。

      MicroSoft Silverlight是微軟公司在.NET Framework平臺上實現(xiàn)的一個跨平臺、跨瀏覽器的插件。主要用于創(chuàng)建和分發(fā)用于Web和移動設(shè)備的下一代多媒體應(yīng)用,以及具有豐富交互式的應(yīng)用程序。Silverlight是一種表現(xiàn)層技術(shù),通過結(jié)合音視頻、 動畫、交互性以及眩目的用戶界面,為Web應(yīng)用程序提供精彩的多媒體創(chuàng)意和豐富的交互式環(huán)境(RIA)。

      圖1 B/S結(jié)構(gòu)圖

      2級系統(tǒng)B/S基本結(jié)構(gòu)如圖1所示。2級客戶端圖形用戶界面(GUI)完全采用Silverlight設(shè)計編寫,2級服務(wù)端為采用C#設(shè)計編寫的WPF應(yīng)用程序。該服務(wù)端應(yīng)用程序負(fù)責(zé)實現(xiàn)所有需要的業(yè)務(wù)邏輯。

      2級客戶端使用的silverlight頁面寄宿在2級服務(wù)器的IIS中,每當(dāng)有客戶端瀏覽器申請調(diào)用該頁面時,IIS將用戶請求的頁面發(fā)送至該客戶端瀏覽器中。用戶使用該界面處理日常業(yè)務(wù)。

      2 結(jié)構(gòu)實現(xiàn)

      所有的業(yè)務(wù)邏輯都在2級服務(wù)端處理,2級客戶端silverlight作為用戶界面采用WCF(Windows Communication Foundation)技術(shù)與2級服務(wù)端進(jìn)行數(shù)據(jù)交互。

      Windows 通信基礎(chǔ)(Windows Communication Foundation)是基于Windows 平臺下開發(fā)和部署服務(wù)的軟件開發(fā)包(Software Development Kit,SDK)。WCF 為服務(wù)提供了運(yùn)行時環(huán)境(Runtime Environment),使得開發(fā)者能夠?qū)LR 類型公開為服務(wù),又能夠以CLR 類型的方式使用服務(wù)。理論上講,創(chuàng)建服務(wù)并不一定需要WCF,但實際上,使用WCF 卻可以使得創(chuàng)建服務(wù)的任務(wù)事半功倍。WCF是微軟對一系列產(chǎn)業(yè)標(biāo)準(zhǔn)定義的實現(xiàn),包括服務(wù)交互、類型轉(zhuǎn)換、封送(Marshaling)以及各種協(xié)議的管理。正因為如此,WCF 才能夠提供服務(wù)之間的互操作性。WCF 還為開發(fā)者提供了大多數(shù)應(yīng)用程序都需要的基礎(chǔ)功能模塊,提高了開發(fā)者的效率。WCF的第一個版本為服務(wù)開發(fā)提供了許多有用的功能,包括托管、服務(wù)實例管理、異步調(diào)用、可靠性、事務(wù)管理、離線隊列調(diào)用以及安全性。WCF服務(wù)類不能憑空存在。每個WCF服務(wù)都必須托管。此處采用的是自托管方式,即由開發(fā)者提供和管理宿主進(jìn)程的生命周期。WCF服務(wù)有3種模式:單調(diào)服務(wù)、會話服務(wù)和單例服務(wù)。單調(diào)服務(wù)會為每次方法調(diào)用重建實例狀態(tài),這必然影響系統(tǒng)的性能,但換來的卻是良好的系統(tǒng)可伸縮性。一般而言,單調(diào)服務(wù)是最佳的服務(wù)實例管理模式(Instance-ContextMode = InstanceContextMode.PerCall)。

      在工業(yè)生產(chǎn)中,2級系統(tǒng)需要處理的數(shù)據(jù)其來源是多種多樣的:有來自1級的數(shù)據(jù)需要監(jiān)控,有來自3級的數(shù)據(jù)需要接收(如生產(chǎn)計劃),同時2級服務(wù)端還需響應(yīng)2級客戶端的操作以決定是否向3級發(fā)送數(shù)據(jù)。由于操作員使用的是基于silverlight的2級客戶端用戶界面而不是直接操作2級服務(wù)端,因此數(shù)據(jù)交互分為兩種操作模式:

      1)采用請求應(yīng)答操作模式

      這與C/S編程類似:首先客戶端發(fā)送請求,隨后客戶端進(jìn)程等待,服務(wù)端收到該請求后根據(jù)具體的業(yè)務(wù)邏輯進(jìn)行處理,然后返回操作結(jié)果。如果在指定的時間之后服務(wù)仍然沒有應(yīng)答,客戶端就會獲得一個超時的異常。該模式主要用于處理一般性業(yè)務(wù)邏輯。客戶根據(jù)需求主動向服務(wù)端提交請求,服務(wù)端被動處理。

      例如鋼卷上開卷機(jī)操作可使用請求應(yīng)答模式。首先定義服務(wù)契約:

      在2級服務(wù)端應(yīng)用程序中開啟該服務(wù):

      這樣,當(dāng)2級服務(wù)端應(yīng)用程序啟動后,就開啟了OperatorService服務(wù)。接下來在服務(wù)端程序的配置文件(App.config)的 <system.serviceModel>節(jié)點中加入OperatorService服務(wù)對應(yīng)的終結(jié)點:

      2級客戶端通過終結(jié)點獲取該服務(wù)信息后,可異步調(diào)用該服務(wù):

      2)采用事件訂閱-發(fā)布模式

      WCF支持回調(diào)(CallBack)操作,所謂回調(diào)就是服務(wù)端調(diào)用客戶端的操作。如圖2所示,在回調(diào)時:服務(wù)端成為客戶端,客戶端成為服務(wù)端。

      圖2 回調(diào)示意圖

      利用回調(diào)操作,服務(wù)端可以主動向某指定客戶端發(fā)送該客戶端感興趣的數(shù)據(jù):客戶端(訂閱者)向服務(wù)端(發(fā)布者)提出訂閱某服務(wù)的請求,服務(wù)端對該客戶端進(jìn)行登記。當(dāng)有滿足該服務(wù)的事件發(fā)生時,服務(wù)響應(yīng)所有對該服務(wù)登記的客戶端,并通過回調(diào)客戶端上的操作來通知各個客戶端。該操作模式可用于生產(chǎn)數(shù)據(jù)采集、生產(chǎn)實時監(jiān)控等功能的實現(xiàn)。該模式與以往的輪詢模式相比,效率更高,整個系統(tǒng)包括帶寬開銷更小。

      2級服務(wù)端與2級客戶端連接的心跳可采用事件訂閱-發(fā)布模式實現(xiàn)。首先定義服務(wù)契約:

      2級服務(wù)端通過終結(jié)點獲取L2EventsPubService服務(wù)。定時調(diào)用該服務(wù)后,該服務(wù)得以發(fā)布:

      2級客戶端通過終結(jié)點獲取L2EventsSubService服務(wù)并訂閱L2Events:

      需要注意的是,當(dāng)服務(wù)端為silverlight提供服務(wù)時,其對應(yīng)的綁定類型只能是“customBinding”綁定類型。使用net.tcp通訊協(xié)議。

      2級系統(tǒng)除內(nèi)部服務(wù)端與客戶端存在通訊外,與1級PLC和ERP也必須進(jìn)行通訊。與1級采用Opc UA進(jìn)行通訊。OPC UA有效地將現(xiàn)有的OPC規(guī)范 (DA、A&E、HDA、命令、復(fù)雜數(shù)據(jù)和對象類型) 集成進(jìn)來,成為現(xiàn)在的新的OPC UA規(guī)范。OPC UA提供了一致、完整的地址空間和服務(wù)模型,解決了過去同一系統(tǒng)的信息不能以統(tǒng)一方式被訪問的問題。運(yùn)用OPC UA,2級系統(tǒng)能夠?qū)ιa(chǎn)進(jìn)行監(jiān)控,如若需要也可對生產(chǎn)過程進(jìn)行干預(yù)。比如對生產(chǎn)配方的修改等等。與ERP采用Socket套接字進(jìn)行通訊。一般采用兩個通道:一個用于向ERP發(fā)送數(shù)據(jù),另一個用于接收ERP發(fā)送的數(shù)據(jù)。

      3 總體示例

      完整的2級系統(tǒng)示意圖如下:

      圖3 系統(tǒng)整體圖

      如圖3所示結(jié)構(gòu),當(dāng)4級有生產(chǎn)任務(wù)時,通過Socket通訊將PDI數(shù)據(jù)下發(fā)至2級,2級存儲該數(shù)據(jù)并通過OpcUA通訊下發(fā)至1級.若在生產(chǎn)過程中發(fā)覺該P(yáng)DI中有數(shù)據(jù)需修改,則可通過2級客戶端瀏覽器進(jìn)行修改。2級支持對未進(jìn)行生產(chǎn)的數(shù)據(jù)進(jìn)行修改。在生產(chǎn)過程中,2級通過OpcUA通訊持續(xù)對生產(chǎn)數(shù)據(jù)進(jìn)行采集,并在生產(chǎn)結(jié)束時匯成PDO數(shù)據(jù)。2級將該類數(shù)據(jù)存儲至Oracle數(shù)據(jù)庫,同時通過Socket通訊將數(shù)據(jù)送至4級。Server App是2級系統(tǒng)的服務(wù)器端,該APP與2級客戶端采用Microsoft WCF進(jìn)行數(shù)據(jù)交互。

      當(dāng)2級系統(tǒng)被用于全廠級信息化時,需要在系統(tǒng)中加入基于角色的訪問控制(Role-Based Access Control)模塊,以實現(xiàn)對數(shù)據(jù)請求的權(quán)限管理。

      [1]Juval Lowy.Programming WCF Services.United States:O'Reilly Media,2007.

      [2]丁士鋒.精通Silverlight—RIA開發(fā)技術(shù)詳解[M].北京:人民郵電出版社,2008.

      猜你喜歡
      服務(wù)端瀏覽器應(yīng)用程序
      刪除Win10中自帶的應(yīng)用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      反瀏覽器指紋追蹤
      電子制作(2019年10期)2019-06-17 11:45:14
      云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
      新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
      在Windows Server 2008上創(chuàng)建應(yīng)用
      環(huán)球瀏覽器
      再見,那些年我們嘲笑過的IE瀏覽器
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      “鴿子”玩升級 黑你沒商量
      三星電子將開設(shè)應(yīng)用程序下載商店
      南昌市| 莲花县| 博湖县| 河北省| 平凉市| 建始县| 浮山县| 武功县| 普格县| 余干县| 敖汉旗| 浦北县| 昭平县| 宁都县| 隆德县| 木兰县| 平阳县| 城固县| 虹口区| 雷州市| 吴江市| 巩义市| 蓬莱市| 衡南县| 乌什县| 莱芜市| 随州市| 普格县| 河间市| 山丹县| 新巴尔虎右旗| 昌吉市| 新宾| 东港市| 巴南区| 新乡县| 武鸣县| 青神县| 大新县| 封开县| 象州县|