基于RIA和軟PLC的現場總線監控系統的設計
首先準備后臺服務端的WebService。
這里,使用wsdl設置WebServiee的URL,最終,由load的onRequest()方法指定testService調用webService的MyTest()。其中onSuccess()方法用于處理調用成功的信息,而onFault()用于處理調用失敗的信息。
3.中間層。所有與數據有關的處理,如并發操作,完整性和一致性控制、安全控制等都是在這一層完成。
4.業務層。完成控制系統需求的業務邏輯,由軟PLC對經由現場采集的I/O數據按照業務需求加工處理,并保存和更新數據庫數據。與常見的多層體系相同,在業務層中完成系統的數據庫訪問事務。如需要將系統整合到企業的信息管理系統中,可以通過業務層以定制方式組織各公用數據庫的連接。通常認為,這是一種值得推薦的企業生產信息管理模式。
5.資源層。資源層是為系統提供資源服務的,如數據庫的數據資源。開發者也可以利用該層集成與整合企業的其他信息資源。
3.3完成中間層
系統多層架構中的中間層的實現主要依托WebService。WebService主要利用HTTP和SOAP(simpleobjectaccessprotocol)協議使業務數據在Web傳輸,也就是說,webService在系統中形成了一種多層應用通信機制的規范。這樣,中間層可以做到:遠程監控用戶可以從Web頁面直接調用中間層組件,從而不再需要建立某些相關的互動頁面,提高了系統開發效率。系統網頁的開發是基于C#的,使用WebService時,直接使用了。NET的SOAP客戶端。
系統運行時,用戶通過瀏覽器訪問遠程監控現場的操控頁面并對控制節點發出控制信號。作為響應,web頁面以SOAP協議與WebService組件通信,將獲得的控制信號以參數形式傳遞給Webservice,再由webservice調用軟PLC中預設的業務控制邏輯(TwinCAT程序中的POU(programorganizationunit)并執行,從而實現了對遠程現場節點的控制。
在本系統中,實現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:bin\my-Control。dllmyControl。es/r:System。dll/r:System。Web。serviee。dll/r:system。XML,dll。一旦生成代理類后,Web服務就如同系統的內置類般,只需通過在Web應用程序項目中“添加Web引用”來建立與WebService的聯系,就可直接使用Web服務了。
系統運行時,Web頁面首先查詢對WebSercice進行分類和描述的UDDI(universaldeseription,discovery,andintegration)協議注冊表,在完成對指定WebServ-ice的定位后,由代理類對象實現與實際的遠程WebService以SOAP協議進行通信,然后由WebService完成相應的業務邏輯。這樣,WebService組件作為中間層,形成了與表示層和業務層之間的紐帶。
4 結束語
軟PLC+現場總線+分布式遠程I/O的控制系統集成和利用了PC平臺上的硬件和軟件資源,簡化了工控系統的組成結構,提高了效率,也降低了系統成本。以此為基礎,再將其與基于RIA的Weh技術集成,借助RIA架構帶來的數據異步傳輸和局部刷新,可實現數據快速交互。這樣,只需通過瀏覽器,就可以在遠程對控制系統完成組態、診斷和實時監控,其中的RIA技術又大大改善了Web監控的可視化體驗性能與系統的響應性能。
評論