李勇
(中煤科工集團(tuán)重慶研究院有限公司, 重慶 400039)
?
基于WCF的綜合自動化系統(tǒng)聯(lián)動控制模式
李勇
(中煤科工集團(tuán)重慶研究院有限公司, 重慶400039)
結(jié)合綜合自動化在煤礦企業(yè)的實(shí)際應(yīng)用,對聯(lián)動控制模式的類型和特點(diǎn)進(jìn)行了歸納和分類,提出了基于WCF的綜合自動化系統(tǒng)聯(lián)動控制模式,并實(shí)現(xiàn)了聯(lián)動控制接口的規(guī)范。該模式將WCF服務(wù)寄宿于采集模塊中,為平臺終端提供聯(lián)動控制服務(wù),由采集模塊實(shí)現(xiàn)平臺終端和被控制子系統(tǒng)之間交互信息的傳遞和轉(zhuǎn)換,遵循了原有平臺架構(gòu),充分利用了采集模塊的專職職能。
綜合自動化; 聯(lián)動控制;WCF; 插件; 接口規(guī)范
網(wǎng)絡(luò)出版地址:http://www.cnki.net/kcms/detail/32.1627.TP.20160429.1135.019.html
目前我國大中型煤礦企業(yè)大多已經(jīng)建立了各類監(jiān)控系統(tǒng)和生產(chǎn)過程管理系統(tǒng),有些已經(jīng)建立了綜合信息集成平臺。隨著信息的集成和共享,生產(chǎn)過程控制與策略優(yōu)化、智能調(diào)度協(xié)同管理與指揮、應(yīng)急救援與模擬等協(xié)同控制[1]應(yīng)用要求逐漸被提出來。因此,實(shí)現(xiàn)聯(lián)動控制成為解決這些應(yīng)用要求的新課題。
WCF(WindowsCommunicationFoundation)是基于SOA(Service-OrientedArchitecture,面向服務(wù)的架構(gòu))的網(wǎng)絡(luò)通信API(ApplicationProgrammingInterface,應(yīng)用程序編程接口)。WCF統(tǒng)一了現(xiàn)有的多種Microsoft分布式技術(shù),提供了對跨供應(yīng)商互操作性的支持,顯式的面向服務(wù)特性使其成為Microsoft新一代分布式開發(fā)的核心技術(shù)[2]。WCF具有統(tǒng)一性、互操作性、兼容性、安全與可信賴的特點(diǎn),適用于構(gòu)建跨平臺、安全、可靠和支持事務(wù)處理的企業(yè)級互聯(lián)應(yīng)用解決方案。
在綜合自動化系統(tǒng)平臺出現(xiàn)之前,各子系統(tǒng)之間是相互獨(dú)立的,信息交互時存在很大的局限性。為了實(shí)現(xiàn)子系統(tǒng)之間的信息交互,出現(xiàn)了各種各樣的橋接程序或接口,但不統(tǒng)一、不規(guī)范,效果也參差不齊。平臺出現(xiàn)后,利用其基礎(chǔ)服務(wù),可為所有接入的子系統(tǒng)提供信息交互標(biāo)準(zhǔn)協(xié)議和接口,實(shí)現(xiàn)了各子系統(tǒng)之間的數(shù)據(jù)無縫連接。
1.1應(yīng)用分類
綜合自動化系統(tǒng)實(shí)現(xiàn)聯(lián)動控制的情況基本分為3類:
(1) 全自動:在管理員進(jìn)行配置后,由數(shù)據(jù)處理后臺自動分析和執(zhí)行聯(lián)動,無需人工干涉。
(2) 半自動:在管理員進(jìn)行配置后,由數(shù)據(jù)處理后臺自動分析和提示可能的聯(lián)動操作,管理員根據(jù)提示項(xiàng)選擇操作。
(3) 手動:綜合自動化系統(tǒng)平臺對各子系統(tǒng)進(jìn)行實(shí)時監(jiān)測和顯示,管理員根據(jù)顯示內(nèi)容分析判斷,手動控制相關(guān)系統(tǒng)。
1.2控制模式比較
綜合自動化系統(tǒng)的5種聯(lián)動控制模式如圖1所示。
A模式B模式C模式D模式E模式
圖1綜合自動化系統(tǒng)的5種聯(lián)動控制模式
A模式:由子系統(tǒng)提供控制,供平臺集成用于手動控制。該模式雖然簡便,但由于各個子系統(tǒng)提供的Web頁面風(fēng)格不統(tǒng)一,且由于插件限制,在多瀏覽器使用上存在問題。
B模式:由WinCC集成每個子系統(tǒng)的數(shù)據(jù),然后由WinCC為每個子系統(tǒng)提供Web控制界面,供平臺集成用于手動控制。該模式增加了集成交互的復(fù)雜度和工作量。
C模式:通過消息隊(duì)列來傳遞控制命令數(shù)據(jù),手動或半自動控制時Web終端將命令傳給解析軟件,由解析軟件寫入下發(fā)控制命令的消息隊(duì)列中,然后由采集軟件讀取并執(zhí)行。該方案雖然事務(wù)性高,但由于傳遞環(huán)節(jié)多和異步執(zhí)行的特點(diǎn),導(dǎo)致控制命令的及時性得不到保證。
D模式:由解析程序?yàn)槊總€子系統(tǒng)提供個性化的WCF控制接口,并直接寫控制命令給子系統(tǒng)。該模式違反了規(guī)范和統(tǒng)一的要求。
E模式:由子系統(tǒng)的采集轉(zhuǎn)換模塊為平臺提供適用的個性化WCF控制接口,直接寫控制命令給子系統(tǒng)。該模式的優(yōu)點(diǎn)在于采集轉(zhuǎn)換模塊本來就是實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換的環(huán)節(jié),不會為整個系統(tǒng)帶來過多負(fù)擔(dān)。
在實(shí)際的項(xiàng)目應(yīng)用中,應(yīng)當(dāng)根據(jù)實(shí)際情況采取適合的模式來實(shí)現(xiàn)。總的來說,首先得保證及時性、可靠性和事務(wù)性,且從技術(shù)上來講較容易實(shí)現(xiàn),其次再考慮界面風(fēng)格統(tǒng)一和美觀。5種控制模式性能比較見表1。
表1 5種控制模式性能比較
以瓦斯監(jiān)測參數(shù)超限時需要進(jìn)行的一系列聯(lián)動控制為例進(jìn)行分析,并提出設(shè)計(jì)方案。
2.1聯(lián)動控制數(shù)據(jù)流
當(dāng)平臺監(jiān)測到膠帶運(yùn)輸巷的瓦斯超限時,需要通過人員定位卡發(fā)出警告,通知相關(guān)人員緊急避險(xiǎn);通過廣播系統(tǒng)播放預(yù)先設(shè)置好的語音預(yù)案內(nèi)容;局部可能需要停止膠帶。這里假設(shè)礦方設(shè)定的聯(lián)動方案里出現(xiàn)這個情況時,希望綜合自動化系統(tǒng)能自動對局部膠帶系統(tǒng)進(jìn)行停止運(yùn)行操作,通過半自動的方式通知管理員進(jìn)行人員定位緊急避險(xiǎn)報(bào)警,通過廣播播放語音預(yù)案?;赪CF的聯(lián)動控制模式數(shù)據(jù)流如圖2所示。
圖2 基于WCF的聯(lián)動控制模式數(shù)據(jù)流
考慮到不同系統(tǒng)由不同廠家提供,包括數(shù)據(jù)交互方式、數(shù)據(jù)結(jié)構(gòu)等都不一樣。因此,本文提出以下設(shè)計(jì)思路:由負(fù)責(zé)從每個具體子系統(tǒng)采集和轉(zhuǎn)換數(shù)據(jù)的適配插件[3]來完成平臺與子系統(tǒng)的聯(lián)動控制交互,針對每個子系統(tǒng)個性化的聯(lián)動控制交互特點(diǎn),提供定制化的WCF接口給上層的解析和Web終端調(diào)用;采集插件提供的WCF接口盡量從數(shù)據(jù)結(jié)構(gòu)、交互接口、交互方式方面進(jìn)行規(guī)范。
2.2聯(lián)動控制接口規(guī)范
聯(lián)動控制接口規(guī)范主要從系統(tǒng)的角度去規(guī)范數(shù)據(jù)結(jié)構(gòu)和交互接口,具體實(shí)現(xiàn)代碼如下。
/// 聯(lián)動控制接口
publicinterfaceILinkageControl
{
/// 〈summary〉
/// 發(fā)送命令
/// 〈/summary〉
/// 〈paramname="identity"〉發(fā)送者標(biāo)志〈/param〉
/// 〈paramname="conmmand"〉發(fā)送的命令數(shù)據(jù)〈/param〉
/// 〈returns〉采集模塊接收命令是否成功〈/returns〉
boolSend(stringidentity,ControlCommandconmmand);
/// 〈summary〉
/// 查詢控制結(jié)果
/// 〈/summary〉
/// 〈paramname="identity"〉發(fā)送者標(biāo)志〈/param〉
/// 〈paramname="ID"〉要查詢的控制記錄ID,為Send接口傳遞的ControlCommand對象的ControlCommandID字段〈/param〉
/// 〈returns〉返回聯(lián)動控制命令操作的結(jié)果〈/returns〉
ControlResultInquiry(stringidentity,GuidID);
}
/// 聯(lián)動控制數(shù)據(jù)
publicclassControlCommand
{
/// 控制命令記錄標(biāo)志
publicGuidControlCommandID{get;set; }
/// 控制對象
publicstringTarget{get;set; }
/// 控制命令
publicstringCommand{get;set; }
/// 控制優(yōu)先級。0-高優(yōu)先級;1-普通優(yōu)先級;2-低優(yōu)先級
publicintPriority{get;set; }
/// 命令發(fā)送時間戳
publicDateTimeTimeStamp{get;set; }
}
/// 聯(lián)動控制數(shù)據(jù)
publicclassControlResult
{
/// 控制命令記錄標(biāo)志
publicGuidControlCommandID{get;set; }
/// 處理狀態(tài):0-未接收到對應(yīng)控制命令;1-準(zhǔn)備操作;2-正在操作;3-操作完成
publicuintState{get;set; }
/// 處理結(jié)果:在State為3時有效。0-操作失??;1-操作成功;2-不能確認(rèn)操作結(jié)果
publicuintResult{get;set; }
/// 處理結(jié)果描述,在State為3時有效。用于描述處理結(jié)果,返回正常或異常錯誤信息
publicstringResultDescribe{get;set; }
/// 處理結(jié)束時間。在State為3時,為處理結(jié)束時間;其他為查詢結(jié)果時間
publicDateTimeTimeStamp{get;set; }
}
2.3采集端聯(lián)動控制WCF設(shè)計(jì)
在采集端根據(jù)每個子系統(tǒng)的特點(diǎn),并在與廠家溝通協(xié)商的基礎(chǔ)上,為子系統(tǒng)實(shí)現(xiàn)一個聯(lián)動控制WCF服務(wù),而且該服務(wù)必須繼承和實(shí)現(xiàn)ILinkageControl接口。ILinkageControl接口從一定程度上規(guī)范了數(shù)據(jù)結(jié)構(gòu)和交互方式,為平臺的自動、半自動和手動控制提供了一個較為規(guī)范的操作方式,減小了系統(tǒng)耦合性。在ControlCommand類中的控制對象(Target)和控制命令(Command)都是string類型,每個具體的系統(tǒng)可能會采用不同格式,這個由采集模塊規(guī)范后提供給平臺上層,由解析和Web終端按照具體系統(tǒng)的格式調(diào)用傳輸命令。采集端聯(lián)動控制序列如圖3所示。
圖3 采集端聯(lián)動控制序列
采集端聯(lián)動控制WCF主要完成3項(xiàng)工作:① 通過Send接口接收命令,并進(jìn)行身份驗(yàn)證,再將通過驗(yàn)證的控制命令記錄放置到命令列表。② 從命令列表里按命令記錄的優(yōu)先級和排隊(duì)順序取命令(高優(yōu)先級的將被優(yōu)先執(zhí)行),根據(jù)子系統(tǒng)具體控制協(xié)議進(jìn)行控制。③ 處理通過身份驗(yàn)證的解析和終端的Inquiry接口,以查詢聯(lián)動控制結(jié)果狀態(tài)。
2.4解析和Web終端的調(diào)用
在解析端實(shí)現(xiàn)自動控制,或在Web終端實(shí)現(xiàn)半自動或手動控制時,都需要根據(jù)每個具體的子系統(tǒng)聯(lián)動控制業(yè)務(wù)設(shè)計(jì)界面、流程和展現(xiàn)方式,通過用戶的配置調(diào)用采集端的WCF接口,進(jìn)行聯(lián)動控制命令的下發(fā)和控制狀態(tài)的查詢。
在下發(fā)命令的ControlCommand對象中,Target和Command屬性的格式需要遵循具體實(shí)現(xiàn)的聯(lián)動控制WCF接口的說明。
介紹了綜合自動化系統(tǒng)聯(lián)動控制應(yīng)用的幾種模式,并加以比較分析,提出了基于WCF的異構(gòu)系統(tǒng)聯(lián)動控制模式,采用服務(wù)的模式將所有子系統(tǒng)聯(lián)動交互掛接到采集模塊上,從而從系統(tǒng)角度對聯(lián)動控制的數(shù)據(jù)接口和交互方式進(jìn)行了規(guī)范和統(tǒng)一,減少了與子系統(tǒng)之間的耦合性,為綜合自動化系統(tǒng)聯(lián)動控制提出了一種可行的實(shí)現(xiàn)方案。
[1]許金.基于物聯(lián)網(wǎng)的煤礦安全監(jiān)控系統(tǒng)體系架構(gòu)研究[J].工礦自動化,2013,39(12):97-100.
[2]陳茹.WCF框架下分布式系統(tǒng)的集成技術(shù)研究[D].大連:大連海事大學(xué),2010.
[3]李勇,鐘宇,梁強(qiáng),等.企業(yè)服務(wù)總線和插件技術(shù)在煤礦綜合自動化系統(tǒng)中的應(yīng)用[J].中州煤炭,2015(8):96-98.
[4]徐敏,黃強(qiáng).礦山安全生產(chǎn)聯(lián)動設(shè)計(jì)[C]//第18屆全國煤礦自動化與信息化學(xué)術(shù)會議,杭州,2008.
[5]李志,范佩磊.煤礦安全監(jiān)控系統(tǒng)與“一通三防”管理的預(yù)警聯(lián)動[J].工礦自動化,2010,36(4):71-72.
[6]嚴(yán)商.基于WCF的分布式程序的研究與實(shí)現(xiàn)[D].武漢:武漢理工大學(xué),2008.
LinkagecontrolmodeofintegratedautomationsystembasedonWCF
LIYong
(CCTEGChongqingResearchInstitute,Chongqing400039,China)
Combiningwithpracticalapplicationofintegratedautomationsystemincoalmineenterprises,typesandcharacteristicsoflinkagecontrolmodeswereconcludedandclassified,thenlinkagecontrolmodeofintegratedautomationsystembasedonWCFwasproposed,andlinkagecontrolinterfacespecificationswereachieved.ThelinkagecontrolmodeputWCFserviceintotheacquisitionmoduletoprovidelinkagecontrolservicesforplatformterminal.Theacquisitionmoduleachievestransmissionandconversionofinteractiveinformationbetweenplatformterminalandcontrolledsubsystem;meanwhile,itfollowsoriginalplatformstructureandfullyutilizesthespecialfunctionsoftheacquisitionmodule.
integratedautomation;linkagecontrol;WCF;Plug-in;interfacespecification
1671-251X(2016)05-0085-04DOI:10.13272/j.issn.1671-251x.2016.05.019
2016-01-28;
2016-03-14;責(zé)任編輯:胡嫻。
李勇(1981-),男,重慶人,助理研究員,主要研究方向?yàn)槊旱V安全監(jiān)控系統(tǒng)、綜合自動化等,E-mail:ace2007@163.com。
TD67
A網(wǎng)絡(luò)出版時間:2016-04-29 11:35
李勇.基于WCF的綜合自動化系統(tǒng)聯(lián)動控制模式[J].工礦自動化,2016,42(5):85-88.