摘要:隨著技術的發(fā)展,原先互不相干的互聯網和現場總線,得以相互延伸與整合,大大豐富了工業(yè)控制的手段。在原先由軟PLC與現場總線技術構建的Web監(jiān)控系統(tǒng)中,再集成應用RIA技術,使得這種基于RIA架構的Web遠程監(jiān)控,既實現了現場總線網絡內網與Intemet外網之間的信息交換,又利用RIA和多層結構提高了系統(tǒng)的性能,改善了用戶體驗,形成了一種有效的工業(yè)控制與管理信息化的集成解決方案。
關鍵詞:RIA;軟PLC;Web監(jiān)控;現場總線
現場總線控制技術融合了最新的網絡技術,促進了從標準以太網延伸到工業(yè)控制領域的進程,這種進程使得通過Web對遠程或惡劣工業(yè)環(huán)境中的實時監(jiān)控成為可能"與此同時,RIA(riehInternetapplieation,富因特網應用)技術的發(fā)展改善了傳統(tǒng)的Web應用的體驗"為此,在Web遠程監(jiān)控中運用RIA架構,利用RIA的異步傳輸和局部刷新技術,可以改善數據快速交互,滿足實時性的要求,也提供了一種更直觀、更好的用戶體驗。
1系統(tǒng)結構
基于RIA架構和軟PLC技術的Web現場總線控制系統(tǒng)主要由3個模塊組成,分別是現場UO!監(jiān)控中心和Web應用"其結構如圖l所示".
系統(tǒng)模塊的邏輯功用是:現場FO采集控制現場設備的運行狀況數據,然后經現場總線交送給監(jiān)控中心,同時也可以接受監(jiān)控中心發(fā)回的邏輯控制指令;監(jiān)控中心由軟PLC構成,主要發(fā)送指令至現場FO,完成預設的邏輯控制動作,同時也接受由Web應用發(fā)來的干預指令"而Web應用則形成了遠程的監(jiān)控界面"其中涉及的主要技術包括用于控制邏輯的軟PLC!用于數據采集的遠程FO端子,以及帶來更好的用戶體驗的基于RIA的Web應用".
2系統(tǒng)硬件技術特點
2.1軟PLC
軟PLC即軟件形式的邏輯控制器,以軟件形式封裝實現硬件PLC的全部功能"相比于傳統(tǒng)的硬件PLC,軟PLC是基于PC機的,這使得它既能完成傳統(tǒng)PLC的邏輯控制功能,同時更易于融入現場總線網絡的體系結構,便于采用一系列開放的國際工業(yè)標準,實現真正意義上的工業(yè)自動化與信息化的無縫集成"目前,軟PLC的執(zhí)行標準是IEC61131一"該標準的定義涵蓋了PLc整個生命周期的各個部分,如設備調試!安裝維護!編程語言!設備通信等"該標準定義的PLC編程語言,包括了目前使用最廣泛的5種:梯形圖(ladderdia腳m)!結構文本(strueturelist)!J頃序功能圖(sequentialfunetionehart)!功能塊圖(funetionbloekdi聊m)和指令表(instruetionlist)[.]"軟PLe工作原理圖如圖2所示".
基于RIA和軟PLC的現場總線監(jiān)控系統(tǒng)采用了Bekhoff公司的軟PLC產品TwinCAT,TwinCAT軟件系統(tǒng)支持IEc61巧8公布的全部現場總線標準,其編程環(huán)境完全支持IEC61131一3,還可以根據不同需求和用戶喜好實現上述5種PLC編程語言的混合編程"使用時只需在PC機上插加對應不同現場總線協議的通信卡,就可以對連接在現場總線上的現場設備進行邏輯控制"為了實現控制現場物理FO節(jié)點與軟PLc中的FO控制變量的數據組態(tài)映射,TwinCAT提供了系統(tǒng)管理器(systemman路er),如圖3所示".
2.2OPC數據交換
本系統(tǒng)中,軟PLC與Web應用之間的數據交換是用oPe(o比fo:proeesseontrol)實現的,作為一種得到微軟公司支持的用于信息交換技術的標準接口,OPC的主要技術包括:
1.COM/nCOM(eomponentobjeetmodeFdistributedc0M,組件對象模型/分布式組件對象模型標準)".他是微軟公司開發(fā)的通信組件,支持不同網絡的不同對象之間的相互通信。
2.OLE(objeetlinkingandembedding,對象鏈接和嵌人技術)。定義和實現了一種允許應用程序作為軟件“對象”(數據集合和操作數據的函數)彼此進行“連接”的機制,也是由微軟公司制定的在應用程序之間傳輸和共享信息的一組綜合標準。
3.ActiveX。是一些以D幾(動態(tài)鏈接庫)為主要表現形式的組件或文檔,使用時以引用方式插人應用程序。ActiveX組件的應用技術基礎是組件對象模型(COM)。
4.TwinCAT軟件。在數據交換時提供了一個基于AetiveX技術的AdsOex.Oex控件,借助于該控件,TwinCAT可方便快捷地實現與VB、C#或Delphi之間的數據交換。軟PLC中對應實際FO的變量常采用變量數組進行定義,下面的代碼通過Adsocx聲明了變量數組ErmrRetl[20]。
2.3遠程I/O端子
遠程FO端子是分布于現場總線末端用來連接控制現場各種傳感器、操作終端和控制器的端子,用于收集現場監(jiān)控信號。其物理鏈路是:現場設備的各種I/0信號-總線端子-現場總線耦合器-計算機中的現場總線通信卡-PC機-軟PLC。對于不同的控制和監(jiān)控對象(如開關信號、模擬信號、轉速信號等),可以通過更換不同類型的I/O端子來實現。如需采用不同的總線協議,如profibus、InterbuS、CAN、ControlNET等,只需更換該物理鏈路中的總線通信卡和現場總線藕合器,同時對總線拓撲作相應調整即可"本系統(tǒng)中的TwinCAT軟件PLC支持IEC61158標準中包含的主要總線協議,無需針對不同總線協議作特別調整.
3軟件系統(tǒng)的實現
3.1RIA技術
與基于文本的傳統(tǒng)Web頁面相比,在基于RIA的Web應用中,由于數據能夠被異步緩存在客戶端,故可實現接口更健壯、反應更靈敏、響應速度更快并具有媲美桌面系統(tǒng)界面功能的Web應用。
RIA是基于XML、腳本語言和WebServiee的。對開發(fā)者而言,應用RIA技術有著多種途徑:基于Flash的Flex、基于.NET技術的SilverUght及基于Java技術的JavaFX等。相比較而言,Flash的強大影響使得Flex技術成為廣受青睞的解決方案,Flex編程模型、Flash等各個產品也構成了完整的RIA開發(fā)平臺。對用戶而言,使用Flex與使用Flash一樣,無系統(tǒng)平臺和瀏覽器兼容性問題,只需在客戶端運行環(huán)境中安裝有FlashPlayer就可以了。
由于RIA的應用模型是多層架構的,與此對應,本系統(tǒng)的結構被劃分成明顯的功能單元和多層邏輯結構:客戶層、表示層、業(yè)務邏輯層和資源層(見圖4)。這種多層架構可以降低系統(tǒng)各層之間的藕合度,使得客戶端與數據庫隔離,這樣既可有效地保證系統(tǒng)的安全可靠,又使系統(tǒng)具有較好的可擴展性與可維護性。
3.2多層邏輯結構
1.客戶層。由基于RIA的Web應用來實現。使用瀏覽器,系統(tǒng)可以顯示所有的動態(tài)監(jiān)控數據和完成控制指令設置等操作?;赗IA的Web應用采用Flex的開發(fā)語言ActionScriPt3.0和編譯器,使用時Flex會在weh服務器中生成和發(fā)布swf文件,并在客戶端Web瀏覽器訪問服務器時,由客戶端的FlashPlayer下載和運行。
2.表示層。Flex本身不能直接與數據庫通信,系統(tǒng)的表示層是用ASP.NET來完成的,當用戶需要進行數據交換時,AsP.NET服務器負責與數據庫的通信(由ASP.NET經由中間層提供的ServieeInterface接口進行訪問)。Flex本身可以通過多種方式和Socket進行數據交換,如WebService、HTTPSerVice、RemoteObject等。本系統(tǒng)采用了WebService方式。下面為使用webservice進行數據交互通信的一個簡單示例。
首先準備后臺服務端的WebService。
這里,使用wsdl設置WebServiee的URL,最終,由load的onRequest()方法指定testService調用webService的MyTest()。其中onSuccess()方法用于處理調用成功的信息,而onFault()用于處理調用失敗的信息。
3.中間層。所有與數據有關的處理,如并發(fā)操作,完整性和一致性控制、安全控制等都是在這一層完成。
4.業(yè)務層。完成控制系統(tǒng)需求的業(yè)務邏輯,由軟PLC對經由現場采集的I/O數據按照業(yè)務需求加工處理,并保存和更新數據庫數據。與常見的多層體系相同,在業(yè)務層中完成系統(tǒng)的數據庫訪問事務。如需要將系統(tǒng)整合到企業(yè)的信息管理系統(tǒng)中,可以通過業(yè)務層以定制方式組織各公用數據庫的連接。通常認為,這是一種值得推薦的企業(yè)生產信息管理模式。
5.資源層。資源層是為系統(tǒng)提供資源服務的,如數據庫的數據資源。開發(fā)者也可以利用該層集成與整合企業(yè)的其他信息資源。
3.3完成中間層
系統(tǒng)多層架構中的中間層的實現主要依托WebService。WebService主要利用HTTP和SOAP(simpleobjectaccessprotocol)協議使業(yè)務數據在Web傳輸,也就是說,webService在系統(tǒng)中形成了一種多層應用通信機制的規(guī)范。這樣,中間層可以做到:遠程監(jiān)控用戶可以從Web頁面直接調用中間層組件,從而不再需要建立某些相關的互動頁面,提高了系統(tǒng)開發(fā)效率。系統(tǒng)網頁的開發(fā)是基于C#的,使用WebService時,直接使用了.NET的SOAP客戶端。
系統(tǒng)運行時,用戶通過瀏覽器訪問遠程監(jiān)控現場的操控頁面并對控制節(jié)點發(fā)出控制信號。作為響應,web頁面以SOAP協議與WebService組件通信,將獲得的控制信號以參數形式傳遞給Webservice,再由webservice調用軟PLC中預設的業(yè)務控制邏輯(TwinCAT程序中的POU(programorganizationunit)并執(zhí)行,從而實現了對遠程現場節(jié)點的控制.
在本系統(tǒng)中,實現WebService的主要步驟是:首先需要生成SOAP代理類:在命令行使用Wsdl.EXE(webservicesDescriptionLanguage)生成代理類:Ws-dl.exe/l:C#/n:mywebservice/out:test.eshttp://292.168.0.4/myControl.asmx;然后,需要編譯并部署代理類,以便將代理類文件myControl.cs編譯為DLL文件,存放在bin文件夾下:CSC/t:libray/out:binmy-Control.dllmyControl.es/r:System.dll/r:System.Web.serviee.dll/r:system.XML,dll。一旦生成代理類后,Web服務就如同系統(tǒng)的內置類般,只需通過在Web應用程序項目中“添加Web引用”來建立與WebService的聯系,就可直接使用Web服務了。
系統(tǒng)運行時,Web頁面首先查詢對WebSercice進行分類和描述的UDDI(universaldeseription,discovery,andintegration)協議注冊表,在完成對指定WebServ-ice的定位后,由代理類對象實現與實際的遠程WebService以SOAP協議進行通信,然后由WebService完成相應的業(yè)務邏輯。這樣,WebService組件作為中間層,形成了與表示層和業(yè)務層之間的紐帶。
4結束語
軟PLC+現場總線+分布式遠程I/O的控制系統(tǒng)集成和利用了PC平臺上的硬件和軟件資源,簡化了工控系統(tǒng)的組成結構,提高了效率,也降低了系統(tǒng)成本。以此為基礎,再將其與基于RIA的Weh技術集成,借助RIA架構帶來的數據異步傳輸和局部刷新,可實現數據快速交互。這樣,只需通過瀏覽器,就可以在遠程對控制系統(tǒng)完成組態(tài)、診斷和實時監(jiān)控,其中的RIA技術又大大改善了Web監(jiān)控的可視化體驗性能與系統(tǒng)的響應性能。