李 冰 張賽橋
(1.南瑞集團公司(國網(wǎng)電力科學研究院),210003,南京;2.國電南瑞科技股份有限公司,210061,南京∥第一作者,工程師)
基于BPMN (業(yè)務(wù)流程建模與標注)標準實現(xiàn)新型綜合監(jiān)控聯(lián)動模型的探討
李 冰1,2張賽橋1,2
(1.南瑞集團公司(國網(wǎng)電力科學研究院),210003,南京;2.國電南瑞科技股份有限公司,210061,南京∥第一作者,工程師)
傳統(tǒng)的綜合監(jiān)控系統(tǒng)聯(lián)動方式已無法滿足地鐵運營的需求。提出了一種基于BPMN (業(yè)務(wù)流程建模與標注) 2.0標準的聯(lián)動設(shè)計方案,通過對業(yè)務(wù)活動、網(wǎng)關(guān)及事件等抽象組件的建模,運用狀態(tài)機方式靈活組態(tài)執(zhí)行流程來實現(xiàn)復雜的聯(lián)動功能。該方案可實現(xiàn)聯(lián)動建模的復用性,提高自動化建模的程度,并解決了傳統(tǒng)聯(lián)動方式無法描述及實現(xiàn)復雜邏輯的應用場景的問題,增加了地鐵運營的可靠性及安全性。
綜合監(jiān)控系統(tǒng); 聯(lián)動功能; 業(yè)務(wù)流程建模與標注; 狀態(tài)機; 網(wǎng)關(guān); 觸發(fā)事件
First-author′s address NARI Group Corporation (State Grid Electic Power Research Institute),210003,Nanjing,China
近年來,綜合監(jiān)控系統(tǒng)朝著越來越集約化及結(jié)構(gòu)復雜化方向發(fā)展,組織各子系統(tǒng)協(xié)同操作的聯(lián)動功能顯得越來越突出,其應用也越來越廣泛。傳統(tǒng)的聯(lián)動功能基于綜合監(jiān)控系統(tǒng),其所有的觸發(fā)條件來源于狀態(tài)點的變位。根據(jù)運營需求,通過時刻表來觸發(fā)等功能很難實現(xiàn);而且目前的方案都是由不同的廠商采用不同的軟件定制化實現(xiàn),如工程不同則不能復用,可移植性很差。而地鐵均希望采用同一標準,即使是不同的廠家,其聯(lián)動功能協(xié)議也能統(tǒng)一,以期為后期的軌道交通網(wǎng)狀統(tǒng)一調(diào)度實現(xiàn)提供技術(shù)支持及可能。本文提出一種基于工作流設(shè)計,采用BPMN (業(yè)務(wù)流程建模與標注)標準,抽象化所有聯(lián)動相關(guān)業(yè)務(wù),完全構(gòu)造化建模,通過后期配置屬性,完成定制化的方案。應用此方案,可大大提高復用性,降低設(shè)計及施工成本。
工作流是部分或者全部可以計算機實現(xiàn)的業(yè)務(wù)流程。工作流過程模型是可由計算機實現(xiàn)的業(yè)務(wù)流程模型,能跨越業(yè)務(wù)流程設(shè)計與實現(xiàn)鴻溝,便于分析,并由IT(信息技術(shù))人員和流程管理人員共同設(shè)計、實現(xiàn)和監(jiān)管業(yè)務(wù)流程。
使用BPMN建模語言可描述基本的BPMN符號(即圖元),還可用圖元組合成業(yè)務(wù)流程圖(Business Process Diagram)。
1.1 聯(lián)動功能的框架結(jié)構(gòu)
SCADA (數(shù)據(jù)采集與監(jiān)視控制系統(tǒng))平臺是基于C++語言平臺的。BPMN開源的協(xié)議及框架是基于java語言的,可生成xml(可擴展標記語言)文件。目前采用上層自己實現(xiàn)C++代碼的模版設(shè)計,然后歸一化為標準的xml文件,并根據(jù)特殊的屬性需求,擴展xml文件來實現(xiàn)模型設(shè)計。
此聯(lián)動的框架支持復雜流程,還可通過有向圖的方式,讓用戶根據(jù)需求靈活組態(tài)。
BPMN標準的流對象包括事件、業(yè)務(wù)活動及網(wǎng)關(guān)。其中,事件決定了聯(lián)動的觸發(fā)及結(jié)束;業(yè)務(wù)活動為具體SCADA操作,一系列業(yè)務(wù)活動組成聯(lián)動;網(wǎng)關(guān)為聯(lián)動的業(yè)務(wù)邏輯和控制流程,即業(yè)務(wù)鎖。
1.2 流對象的介紹
1.2.1 事件
BPMN2.0提供3種通用事件,相應的符號見圖1。
圖1 通用事件符號
根據(jù)軌道交通應用需求,總結(jié)出5類軌道交通基本事件功能表
表1 軌道交通基本事件類型及功能表
(1) 消息事件:可來源于腳本,也可來源于具體服務(wù)。由于聯(lián)動服務(wù)采用訂閱方式,故可通過定義具體的消息通道及消息類型觸發(fā)相應聯(lián)動。此類事件模式靈活方便,是由具體服務(wù)或者操作員打開某聯(lián)動的開關(guān)。
(2) 定時事件:傳統(tǒng)的軌道交通運營按照周末及非周末采用不同的列車運行時刻表。列車要按照時刻表運行,需觸發(fā)一系列聯(lián)動(諸如打開風機及扶梯等)。目前觸發(fā)聯(lián)動都是采用時間表定時的方式,工程量大,且與綜合監(jiān)控系統(tǒng)聯(lián)系不大,實時控制效果差。采用定時事件可靈活配置觸發(fā)聯(lián)動的條件。(具體配置界面見圖2)
(3) 條件觸發(fā):條件觸發(fā)基于某些點的變位,與傳統(tǒng)綜合監(jiān)控觸發(fā)模式相同。傳統(tǒng)綜合監(jiān)控系統(tǒng)采用狀態(tài)點變位觸發(fā)聯(lián)動,通過采集1個或多個子系統(tǒng)接口的觸發(fā)點在系統(tǒng)內(nèi)部進行邏輯運算,當滿足預定義的邏輯公式時觸發(fā)聯(lián)動。
(4) 多條件觸發(fā):通過對以上3種方式采用“與”或者“或”等方式的有機組合,集成多種可能的觸發(fā)。
圖2 定時事件屬性配置菜單
1.2.2 業(yè)務(wù)活動
業(yè)務(wù)活動主要分為任務(wù)和過程(見表2)。任務(wù)為具體業(yè)務(wù)活動,主要有表2描述的4類。過程是一系列任務(wù)集合的模板化輸出。
表2 業(yè)務(wù)活動內(nèi)容表
(1) User Task:即人機交互界面,接受用戶指令業(yè)務(wù);通過比較當前用戶及操作用戶的權(quán)限,選擇執(zhí)行通道及任務(wù)。
(2) Send Task:是主要的業(yè)務(wù)類型,也是聯(lián)動的核心任務(wù),集成了各種SCADA操作。目前,對用戶開放所有子系統(tǒng)的控制動作(如PSCADA (電力監(jiān)控系統(tǒng))和BAS (環(huán)境與設(shè)備監(jiān)控系統(tǒng))的遙控及遙調(diào);PA (廣播)系統(tǒng)和PIS (乘客信息系統(tǒng))的廣播、乘客信息的發(fā)布等),使用戶可根據(jù)其需求選擇相應業(yè)務(wù)來配置聯(lián)動。
(3) Receive Task:為接受消息任務(wù)。通過交互式訂閱及發(fā)布方式來接受消息。所接收的消息來源不唯一,可以來自具體服務(wù),也可以由指定操作員發(fā)起。
(4) Script Task:通過運行腳本其模塊化獨立性強,目前支持python、lua及shell等語言。
(5) Subprocess:即過程。用戶可以把重復度高的流程派生成模板,下次時直接調(diào)用操作即可。例如,軌道交通常用的各站早間送電聯(lián)動,由于各站的控制流程及業(yè)務(wù)邏輯均一樣,只是Send Task控制的開關(guān)各站不同,此時,可通過組態(tài)模板Subprocess,即可在每站復現(xiàn),有效地實現(xiàn)了模型的復用。
1.2.3 網(wǎng)關(guān)
網(wǎng)關(guān)用于控制流程的分支和聚合,其具體符號表示如圖3所示。通過網(wǎng)關(guān)可以改變聯(lián)動有向圖的拓撲結(jié)構(gòu),達到實現(xiàn)聯(lián)動的差異化及多樣性。網(wǎng)關(guān)的類型和功能見表3。
圖3 網(wǎng)關(guān)模型符號示意圖
網(wǎng)關(guān)類型功能Exclusive跳轉(zhuǎn)Parallel并行區(qū)
1.3 狀態(tài)機的組態(tài)
聯(lián)動從開始到消亡都伴隨著實時狀態(tài)信息。此狀態(tài)信息由狀態(tài)機來維持。狀態(tài)機從uml流程圖(即前文討論的,通過事件、業(yè)務(wù)活動及網(wǎng)關(guān)組態(tài)以表示聯(lián)動的有向圖)生成的xml文件(支持jBPM4 xml文件),或數(shù)據(jù)庫中讀取狀態(tài)轉(zhuǎn)換信息,維護聯(lián)動。狀態(tài)機維護聯(lián)動的工作流程見圖4。
圖4 聯(lián)動引擎工作流程示意圖
狀態(tài)機表示著聯(lián)動的實時狀態(tài)。這是此設(shè)計方案的核心指標之一。聯(lián)動設(shè)計好后,可保存成xml格式。xml的展開可通過通用的JBPM4 格式的xml來擴展SCADA業(yè)務(wù)特有的需求。
2.1 傳統(tǒng)聯(lián)動
由于傳統(tǒng)的聯(lián)動功能在電力順控的基礎(chǔ)上進行擴展。所以,不管是控制方式,還是操作流程,傳統(tǒng)業(yè)務(wù)界面都延續(xù)了電力順控的模式,采用程控卡片方式。這種方式雖專業(yè)性強,但可移植性差,其應用模型也相對單一。但是面對聯(lián)動日益復雜的需求,傳統(tǒng)方式的不足和局限性越來越明顯。聯(lián)動組態(tài)作為聯(lián)動的新方式即應運而生。
2.2 聯(lián)動組態(tài)過程
某軌道交通系統(tǒng)早間開站聯(lián)動場景見表4。聯(lián)動場景為早間開站聯(lián)動,由環(huán)境控制調(diào)度員發(fā)起;聯(lián)動觸發(fā)條件采用定時事件觸發(fā);聯(lián)動類型為自動觸發(fā)。
表4 某軌道交通系統(tǒng)早間開站聯(lián)動步驟及內(nèi)容
根據(jù)表4即可通過設(shè)計工具、應用事件、業(yè)務(wù)活動及網(wǎng)關(guān)組態(tài)出滿足用戶需求的聯(lián)動方案。
2.3 聯(lián)動組態(tài)具體方案
圖5即為早間開站聯(lián)動的組態(tài)方案。定時事件表示早間開站觸發(fā)的方式,是事件輸入。當滿足設(shè)定時間時此聯(lián)動觸發(fā)。腳本任務(wù)模塊聯(lián)動是由環(huán)境控制調(diào)度員發(fā)起的,而開站時涉及的接觸網(wǎng)送電等操作應由電力控制調(diào)度員完成。因此,電力控制調(diào)度員的操作一般都是在環(huán)境控制早間開站聯(lián)動之前完成。腳本任務(wù)就是完成于電力控制調(diào)度員的交互,且確認送點操作已完成。并行區(qū)并聯(lián)了CCTV (閉路電視)云臺輪詢、開站廣播及開站PIS發(fā)布等功能,完成預設(shè)定的邏輯。最后,每個操作模塊均串接1個結(jié)束事件以表示結(jié)束。只有當所有的結(jié)束事件都完成時此聯(lián)動才結(jié)束。
圖5 早間開站聯(lián)動組態(tài)方案
近年來,綜合監(jiān)控系統(tǒng)不斷朝著集約化和結(jié)構(gòu)復雜化的方向發(fā)展。于是,組織各子系統(tǒng)協(xié)同操作的聯(lián)動功能越來越突出,其應用也越來越廣泛。本
文介紹的聯(lián)動組態(tài)方案不僅解決了地鐵工程實施中聯(lián)動定制的方式,還解決了不同工程的復用要求,而且,通過組態(tài)描述還能完成閉環(huán)及反饋等原先無法描述及實現(xiàn)的聯(lián)動功能。目前,應用此方案的聯(lián)動模塊已經(jīng)安全穩(wěn)定地運行在南京地鐵3號線上。此方案的實施,可大大提高綜合監(jiān)控系統(tǒng)在應對突發(fā)事件的能力,并有效提升軌道交通運營整體水平。
[1] 劉孟覺,李冰,胡波.一種新型綜合監(jiān)控聯(lián)動功能模型的設(shè)計與實現(xiàn)[J].自動化與儀表,2012(11):33-34.
[2] 許漫江,許濤,李冰.軌道交通綜合監(jiān)控在線決策支持功能研究[J].自動化與儀表,2013(7):35-38.
[3] 杜軍威,萬思軍,朱中,等.基于案例推理的綜合監(jiān)控系統(tǒng)輔助決策系統(tǒng)研究[J].青島大學學報:(工程技術(shù)版),2011,26(4):39-42.
[4] 羅華永,張敏杰,楊寧,等,基于BPMN2.0標準的電力系統(tǒng)業(yè)務(wù)流程管理平臺[J].電力系統(tǒng)自動化,2012(18):148-152.
[5] 蔡章利,易樹平.基于BPMN的業(yè)務(wù)流程一體化建模方法[J].計算機集成制造系統(tǒng),2010(3):25-27.
[6] 陳儒,肖剛.基于事務(wù)規(guī)則的面向服務(wù)工作流模型研究[J].計算機應用與軟件,2014(6):55-58.
[7] 武曉春,高雪娟.基于UML的計算機連鎖軟件的分析與建模[J].計算機科學,2014(2):222-226.
Establishment of New ISCS Linkage Function Model Based on BPMN Language Standard
LI Bing, ZHANG Saiqiao
The traditional ISCS linkage method can not satisfy the demands of rail transit operation.A new linkage design method based on BPMN (business process modeling & note) 2.0 standard is proposed,which could achieve complex functions of linkage through the modeling of abstract components,such as business activities,gateway and trigger events,and carry out flexible configuration process by using the state machine.The application of this program could realized the reusability linkage modeling,greatly improve the automatic modeling degree,and solve scenarios of complex logic problems that the traditional linkage can not describe and apply,thus increase the reliability and safety of metro operation.
ISCS (integrated supervisory control system); linkage function; BPMN (business process modeling & note); state machine; gateway; trigger event
U 284.48
10.16037/j.1007-869x.2016.12.007
2015-11-04)