李勇
(中煤科工集團重慶研究院有限公司, 重慶 400039)
?
基于WCF的綜合自動化系統聯動控制模式
李勇
(中煤科工集團重慶研究院有限公司, 重慶400039)
結合綜合自動化在煤礦企業的實際應用,對聯動控制模式的類型和特點進行了歸納和分類,提出了基于WCF的綜合自動化系統聯動控制模式,并實現了聯動控制接口的規范。該模式將WCF服務寄宿于采集模塊中,為平臺終端提供聯動控制服務,由采集模塊實現平臺終端和被控制子系統之間交互信息的傳遞和轉換,遵循了原有平臺架構,充分利用了采集模塊的專職職能。
綜合自動化; 聯動控制;WCF; 插件; 接口規范
網絡出版地址:http://www.cnki.net/kcms/detail/32.1627.TP.20160429.1135.019.html
目前我國大中型煤礦企業大多已經建立了各類監控系統和生產過程管理系統,有些已經建立了綜合信息集成平臺。隨著信息的集成和共享,生產過程控制與策略優化、智能調度協同管理與指揮、應急救援與模擬等協同控制[1]應用要求逐漸被提出來。因此,實現聯動控制成為解決這些應用要求的新課題。
WCF(WindowsCommunicationFoundation)是基于SOA(Service-OrientedArchitecture,面向服務的架構)的網絡通信API(ApplicationProgrammingInterface,應用程序編程接口)。WCF統一了現有的多種Microsoft分布式技術,提供了對跨供應商互操作性的支持,顯式的面向服務特性使其成為Microsoft新一代分布式開發的核心技術[2]。WCF具有統一性、互操作性、兼容性、安全與可信賴的特點,適用于構建跨平臺、安全、可靠和支持事務處理的企業級互聯應用解決方案。
在綜合自動化系統平臺出現之前,各子系統之間是相互獨立的,信息交互時存在很大的局限性。為了實現子系統之間的信息交互,出現了各種各樣的橋接程序或接口,但不統一、不規范,效果也參差不齊。平臺出現后,利用其基礎服務,可為所有接入的子系統提供信息交互標準協議和接口,實現了各子系統之間的數據無縫連接。
1.1應用分類
綜合自動化系統實現聯動控制的情況基本分為3類:
(1) 全自動:在管理員進行配置后,由數據處理后臺自動分析和執行聯動,無需人工干涉。
(2) 半自動:在管理員進行配置后,由數據處理后臺自動分析和提示可能的聯動操作,管理員根據提示項選擇操作。
(3) 手動:綜合自動化系統平臺對各子系統進行實時監測和顯示,管理員根據顯示內容分析判斷,手動控制相關系統。
1.2控制模式比較
綜合自動化系統的5種聯動控制模式如圖1所示。

A模式B模式C模式D模式E模式
圖1綜合自動化系統的5種聯動控制模式
A模式:由子系統提供控制,供平臺集成用于手動控制。該模式雖然簡便,但由于各個子系統提供的Web頁面風格不統一,且由于插件限制,在多瀏覽器使用上存在問題。
B模式:由WinCC集成每個子系統的數據,然后由WinCC為每個子系統提供Web控制界面,供平臺集成用于手動控制。該模式增加了集成交互的復雜度和工作量。
C模式:通過消息隊列來傳遞控制命令數據,手動或半自動控制時Web終端將命令傳給解析軟件,由解析軟件寫入下發控制命令的消息隊列中,然后由采集軟件讀取并執行。該方案雖然事務性高,但由于傳遞環節多和異步執行的特點,導致控制命令的及時性得不到保證。
D模式:由解析程序為每個子系統提供個性化的WCF控制接口,并直接寫控制命令給子系統。該模式違反了規范和統一的要求。
E模式:由子系統的采集轉換模塊為平臺提供適用的個性化WCF控制接口,直接寫控制命令給子系統。該模式的優點在于采集轉換模塊本來就是實現數據轉換的環節,不會為整個系統帶來過多負擔。
在實際的項目應用中,應當根據實際情況采取適合的模式來實現??偟膩碚f,首先得保證及時性、可靠性和事務性,且從技術上來講較容易實現,其次再考慮界面風格統一和美觀。5種控制模式性能比較見表1。

表1 5種控制模式性能比較
以瓦斯監測參數超限時需要進行的一系列聯動控制為例進行分析,并提出設計方案。
2.1聯動控制數據流
當平臺監測到膠帶運輸巷的瓦斯超限時,需要通過人員定位卡發出警告,通知相關人員緊急避險;通過廣播系統播放預先設置好的語音預案內容;局部可能需要停止膠帶。這里假設礦方設定的聯動方案里出現這個情況時,希望綜合自動化系統能自動對局部膠帶系統進行停止運行操作,通過半自動的方式通知管理員進行人員定位緊急避險報警,通過廣播播放語音預案?;赪CF的聯動控制模式數據流如圖2所示。

圖2 基于WCF的聯動控制模式數據流
考慮到不同系統由不同廠家提供,包括數據交互方式、數據結構等都不一樣。因此,本文提出以下設計思路:由負責從每個具體子系統采集和轉換數據的適配插件[3]來完成平臺與子系統的聯動控制交互,針對每個子系統個性化的聯動控制交互特點,提供定制化的WCF接口給上層的解析和Web終端調用;采集插件提供的WCF接口盡量從數據結構、交互接口、交互方式方面進行規范。
2.2聯動控制接口規范
聯動控制接口規范主要從系統的角度去規范數據結構和交互接口,具體實現代碼如下。
/// 聯動控制接口
publicinterfaceILinkageControl
{
/// 〈summary〉
/// 發送命令
/// 〈/summary〉
/// 〈paramname="identity"〉發送者標志〈/param〉
/// 〈paramname="conmmand"〉發送的命令數據〈/param〉
/// 〈returns〉采集模塊接收命令是否成功〈/returns〉
boolSend(stringidentity,ControlCommandconmmand);
/// 〈summary〉
/// 查詢控制結果
/// 〈/summary〉
/// 〈paramname="identity"〉發送者標志〈/param〉
/// 〈paramname="ID"〉要查詢的控制記錄ID,為Send接口傳遞的ControlCommand對象的ControlCommandID字段〈/param〉
/// 〈returns〉返回聯動控制命令操作的結果〈/returns〉
ControlResultInquiry(stringidentity,GuidID);
}
/// 聯動控制數據
publicclassControlCommand
{
/// 控制命令記錄標志
publicGuidControlCommandID{get;set; }
/// 控制對象
publicstringTarget{get;set; }
/// 控制命令
publicstringCommand{get;set; }
/// 控制優先級。0-高優先級;1-普通優先級;2-低優先級
publicintPriority{get;set; }
/// 命令發送時間戳
publicDateTimeTimeStamp{get;set; }
}
/// 聯動控制數據
publicclassControlResult
{
/// 控制命令記錄標志
publicGuidControlCommandID{get;set; }
/// 處理狀態:0-未接收到對應控制命令;1-準備操作;2-正在操作;3-操作完成
publicuintState{get;set; }
/// 處理結果:在State為3時有效。0-操作失??;1-操作成功;2-不能確認操作結果
publicuintResult{get;set; }
/// 處理結果描述,在State為3時有效。用于描述處理結果,返回正?;虍惓ee誤信息
publicstringResultDescribe{get;set; }
/// 處理結束時間。在State為3時,為處理結束時間;其他為查詢結果時間
publicDateTimeTimeStamp{get;set; }
}
2.3采集端聯動控制WCF設計
在采集端根據每個子系統的特點,并在與廠家溝通協商的基礎上,為子系統實現一個聯動控制WCF服務,而且該服務必須繼承和實現ILinkageControl接口。ILinkageControl接口從一定程度上規范了數據結構和交互方式,為平臺的自動、半自動和手動控制提供了一個較為規范的操作方式,減小了系統耦合性。在ControlCommand類中的控制對象(Target)和控制命令(Command)都是string類型,每個具體的系統可能會采用不同格式,這個由采集模塊規范后提供給平臺上層,由解析和Web終端按照具體系統的格式調用傳輸命令。采集端聯動控制序列如圖3所示。

圖3 采集端聯動控制序列
采集端聯動控制WCF主要完成3項工作:① 通過Send接口接收命令,并進行身份驗證,再將通過驗證的控制命令記錄放置到命令列表。② 從命令列表里按命令記錄的優先級和排隊順序取命令(高優先級的將被優先執行),根據子系統具體控制協議進行控制。③ 處理通過身份驗證的解析和終端的Inquiry接口,以查詢聯動控制結果狀態。
2.4解析和Web終端的調用
在解析端實現自動控制,或在Web終端實現半自動或手動控制時,都需要根據每個具體的子系統聯動控制業務設計界面、流程和展現方式,通過用戶的配置調用采集端的WCF接口,進行聯動控制命令的下發和控制狀態的查詢。
在下發命令的ControlCommand對象中,Target和Command屬性的格式需要遵循具體實現的聯動控制WCF接口的說明。
介紹了綜合自動化系統聯動控制應用的幾種模式,并加以比較分析,提出了基于WCF的異構系統聯動控制模式,采用服務的模式將所有子系統聯動交互掛接到采集模塊上,從而從系統角度對聯動控制的數據接口和交互方式進行了規范和統一,減少了與子系統之間的耦合性,為綜合自動化系統聯動控制提出了一種可行的實現方案。
[1]許金.基于物聯網的煤礦安全監控系統體系架構研究[J].工礦自動化,2013,39(12):97-100.
[2]陳茹.WCF框架下分布式系統的集成技術研究[D].大連:大連海事大學,2010.
[3]李勇,鐘宇,梁強,等.企業服務總線和插件技術在煤礦綜合自動化系統中的應用[J].中州煤炭,2015(8):96-98.
[4]徐敏,黃強.礦山安全生產聯動設計[C]//第18屆全國煤礦自動化與信息化學術會議,杭州,2008.
[5]李志,范佩磊.煤礦安全監控系統與“一通三防”管理的預警聯動[J].工礦自動化,2010,36(4):71-72.
[6]嚴商.基于WCF的分布式程序的研究與實現[D].武漢:武漢理工大學,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;責任編輯:胡嫻。
李勇(1981-),男,重慶人,助理研究員,主要研究方向為煤礦安全監控系統、綜合自動化等,E-mail:ace2007@163.com。
TD67
A網絡出版時間:2016-04-29 11:35
李勇.基于WCF的綜合自動化系統聯動控制模式[J].工礦自動化,2016,42(5):85-88.