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