一种综合监控联动模块设计和实现方法
技术领域
本发明涉及综合监控领域,尤其涉及轨道交通综合监控系统的跨专业、流程化的控制管理,藉由脚本技术,多线程技术等,实现统一的软件平台及人机交互界面处理多个子系统的流程化的控制管理功能。
背景技术
随着国内城市轨道交通的迅速发展,各种自动化技术在地铁机电设备管理上得到了广泛应用。早期地铁的各机电系统比如环境监控系统、火灾监控系统、供电系统、视频监控系统、广播控制系统、售检票系统、安全门系统、门禁系统等等,一般是分立设置,独立管理,各系统有自己的人机界面系统。而轨道交通运营中的日常调度管理是通过多个子系统协调配合完成的。分立的子系统对于轨道交通日常运营带来了极大的不便,并且在突发灾害中,该模式的自动化系统难以有效迅速地保障乘客安全,降低经济损失。
随着自动化技术的发展,越来越多的地铁线路开始考虑和实施综合监控系统,通过综合监控系统统一的软硬件平台, 统一的人机交互界面,实现资源共享,互联互通,有利于紧急情况下的事件处理,提高地铁整体运营调度管理水平。
发明内容
本发明要解决的技术问题是克服现有技术中的缺陷,基于轨道交通运营中,调度员的操作是规范化、流程化的,如果能够将某个特定运营场景执行的涉及多个子系统的一系列步骤抽象成一个联动,并且在综合监控软件中以程控的方式展现给调度员,使调度员可以在一个统一友好的人机界面中实现调度功能,提高管理效率和应对突发情况的能力。依托综合监控的联动功能,使地铁公司能有效的提高运营管理的效率。
为达到上述发明目的,本发明提供了一种综合监控联动模块设计和实现方法,联动就是设定一种触发条件,当满足该条件触发时,各个子系统按照定义的具体动作进行动作,其特征在于,包含以下步骤:
(1) 定义各个子系统通用的控制动作描述语言;各个子系统通用的控制动作描述语言设计了语法解释器,支持跨平台。
(2) 定义一个支持Unix、Linux、Windows等操作系统平台的系统框架;各操作系统下同一套代码各自编译实现的跨平台系统,在各个平台下,界面完全一致,操作一致。
(3) 开发与监控系统实时数据库相结合的公式计算功能;公式计算功能结合监控系统实时数据库与lua脚本实现。
(4) 定义联动触发方式,或为自动触发,或为半自动触发,或为全自动触发;自动触发方式是由公式计算并根据监控系统中的点的实时状态和lua脚本定义的逻辑自动触发联动,半自动触发联动中除了包含公式计算步骤之外,还包含人工确认执行的步骤触发联动,人工触发是由人工确认执行联动。
(5) 定义动作执行流程,至少包括闭锁逻辑、事后逻辑;联动在执行时可以根据预设条件自动选择执行和/或循环执行。
(6) 定义联动执行方式,或为并行执行,或为串行执行,或为串并行执行方式;在触发条件下,联动执行时,各动作间、功能间或功能与动作间是串行或者并行的关系。
(7) 定义调度员控制联动方式,包括单步、多步、断点、跳过、暂停以及终止的控制方式。
本发明主要采用如下技术方案:
1、完善的跨平台支撑软件Qt和CORBA组件技术;
2、多线程技术和递归的程序设计方法;
3、模块化的软件设计方法;
4、子系统统一的控制动作描述语言;
5、计算功能,即实时库与lua脚本引擎相结合,使用脚本语言可以描述跟监控系统中的点有关的、复杂的闭锁逻辑、事后逻辑和触发逻辑;
6、灵活的流程控制功能,操作员可以暂停,终止联动;单步,多步执行联动动作,跳过联动动作;对联动设置断点。在一定的前提条件下,联动动作可以并行、串行或者混合执行。
7、联动触发方式:包括全自动触发,即实时公式计算条件满足;半自动触发,即实时公式计算条件满足,并且需要人工确认;手动触发,即只需人工确认。
本发明采用成熟的跨平台支撑软件Qt和CORBA组件技术,Qt是一套跨平台的界面库,屏蔽了绝大部分与特定操作系统相关的接口,CORBA组件保证了网络调用的与平台无关性;采用标准C++语言,面向对象技术,标准C++的移植性很好,在不同操作系统下都具有良好的兼容性,与操作系统相关的操作,比如文件操作、目录操作、绘图操作、网络通讯等均被封装在公共的模块库当中,对上层软件来说是透明的,不关心的,这样实现一套软件代码,在不同平台各自编译。
本发明的人界界面,包括联动运行人机界面、联动定义人机界面和联动报告人机界面,均采用MVC设计架构,及Qt GUI框架。联动运行人机界面包含调度员的对联动的控制方法:暂停,终止联动;单步、多步执行联动动作,跳过联动动作;对联动设置断点;并且显示了每个动作和功能的执行情况。联动定义人机界面可以实现在线自定义联动的功能,可以分别对应每个车站、中心定义联动。每一个联动在写入时会带有时标信息,这种方式能够保证联动运行人机界面和后台服务的数据一致性。联动报告人机界面显示联动执行的历史信息。
本发明所达到的有益效果:联动模块作为综合监控的高级应用,体现了综合监控的核心价值。本发明在分析了多个城市轨道交通运营需求的基础上,基于国产综合监控平台设计并实现了联动功能。系统的联动功能具有实时性,实用性,易用性以及开放性,提高管理效率和应对突发情况的能力。依托综合监控的联动功能,地铁公司能有效的提高运营管理的效率。另外,联动功能在综合监控平台和数据挖掘等高级应用之间搭建了桥梁。
附图说明:
图1 为本发明综合监控联动模块的计算机模型;
图2 为本发明综合监控联动模块结构示意图;
图3 为联动事后逻辑和闭锁逻辑流程图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,本发明是以多叉树的数据结构对联动建立模型。一个联动是由一个功能、一个触发条件、若干描述组成。触发条件由lua脚本定义,满足此条件时触发联动。联动描述包括触发类型、所属车站、优先级等。联动功能是由多个联动动作或者其他功能组成的。联动动作是子系统的基本控制单元。联动动作是多叉树的叶节点。联动功能是非叶节点。
如图2、图3所示,为本发明联动功能的相互关系,本发明采用模块化设计思路,联动功能包含四个程序模块,分别是联动运行人机接口、联动后台服务、联动定义人机接口、联动报告工具。联动后台服务程序封装了lua脚本引擎。在联动执行过程中,自定义的lua脚本可以以实时库中的数据作为操作数,脚本本身的逻辑作为联动的触发条件和联动动作的闭锁逻辑和事后逻辑,从而实现了联动的多种触发方式和自动流程控制功能。联动后台服务程序通过应用服务模块与子系统进行信息交换。联动后台服务采用多线程技术和递归的程序设计方法,可以同时接受多个联动执行请求。
下面以本发明的一个实际案例的实施方式,包括了采用本发明的方法实现的一个具体的地铁综合监控系统多子系统的联动,说明本发明的综合监控联动的实现方法。
某地铁综合监控系统,包含环境监控系统、火灾监控系统、供电系统、视频监控系统、广播控制系统、售检票系统、安全门系统、门禁系统等子系统,综合监控系统硬件组成包括服务器采用Sun公司的Sun Fire X4200服务器,工作站采用IBM的Think Center A52 PC机。这是一个典型的Unix/Windows混合操作系统平台。
一个非常典型的联动需求是站台火灾联动。该联动的触发条件是站台火灾信号或者行车调度的人工确认火灾。联动的主要步骤有CCTV(视频监控系统)摄像头控制,PA(广播控制系统)广播指令下发,PIDS(乘客信息显示系统)指令下发,停止下行电扶梯,释放闸机,切断电源及若干提示信息等等。
本发明的联动支持在线定义。用户可以随时增加新的联动,不会影响轨道交通正常运营。联动后台服务可以自动重新读取新定义的联动。联动运行人机界面执行联动时会使用时标保证前后台数据一致性。定义一个联动并实现联动的方法,按照以下步骤进行:
1、定义联动动作
在联动定义人机界面的动作定义界面中,定义该联动的所有动作。
2、定义闭锁公式及触发公式
在联动定义人机界面的公式定义界面中,定义该联动的所有公式。公式的操作数采用实时数据库中的点。使用lua脚本表示公式逻辑。
3、定义联动功能
在联动定义人机界面的功能定义界面中,定义该联动的功能。首先将之前定义好的动作和闭锁公式拖拽至联动功能树中。其次,定义并行区、动作延迟时间、功能名称等等。
4、定义联动
在联动定义人机界面的联动定义界面中,定义联动的属性。首先定义联动名称、描述、优先级、触发类型、车站。其次,从已经定义好的功能中拖拽出对应的功能。如果联动的触发类型是半自动联动或者全自动联动,则还需要定义触发条件。
5、执行联动
在联动运行人机界面中选中刚刚定义的开站联动,就可以执行了。调度员可以暂停,终止联动;单步,多步执行联动动作,跳过联动动作;对联动设置断点。联动的执行流程的依据是调度员的控制、闭锁公式的计算结果以及并行区的设置。