轨道交通监控系统联动模块设计

时间:2022-06-19 08:20:00

导语:轨道交通监控系统联动模块设计一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

轨道交通监控系统联动模块设计

1联动的意义

综合监控系统的联动是指包含多个子系统控制操作的流程管理功能。城市轨道交通的运营管理主要通过综合监控系统实现。综合监控系统的重要职责包括以下5个方面[1]:1)维护全线路重要机电设备,保持设备良好运行。2)监控正常工况下机电设备按时间表运行。3)城市轨道交通每天运营开始及停运时的全线停送电,以及其他机电设备的启动。4)城市轨道交通正常运营时围绕运营管理的联动功能。5)城市轨道交通运营遇到火灾、阻塞等异常情况下的紧急联动。上述的3)、4)、5)项均与联动相关。因此,综合监控系统的联动功能在城市轨道交通运营中发挥着重要的作用。在城市轨道交通的运营中,调度员的操作是规范化、流程化的。如果能够将某个特定运营场景执行的涉及多个子系统的一系列步骤变成一个联动,并且在综合监控软件中以程控的方式展现给调度员,那么调度员在操作时就可以避免因自身经验不足而造成的操作失误,以便能更好地处理日常事务及灾害情况下的紧急情况。依托综合监控的联动功能,城市轨道交通可以有效地提高运营管理的效率。为满足用户的联动需求,综合监控系统的联动功能必需支持串行、并行和混合的执行方式,以及自动、半自动和人工触发的触发方式。联动中的每个控制动作执行前需要判断闭锁逻辑;执行控制动作后,需判断事后逻辑。在联动执行过程中,调度员可以实时干预联动执行。

2RT21-ISCS综合监控软件平台介绍

RT21—ISCS综合监控软件是由国电南瑞科技股份有限公司开发的、拥有自主知识产权的国产综合监控软件[2]。联动模块的实现对综合监控软件平台的实时性有很高的要求[3]。RT21—ISCS综合监控软件平台主要从以下入手提高系统的实时性:首先,对于实时性要求较高的子系统,如PSCADA(电力监控与数据采集)和BAS(环境与设备监控系统),RT21—ISCS选择在设备层进行集成,以减少中间层,提高综合监控系统的实时性[4];其次,对于地域跨度非常大的轨道交通线路,RT21—ISCS采用车站分域自治的、车站和中心分层管理的架构,这样不但可以提高系统的实时性,并且降低了联动实现的逻辑复杂性。最后,经过测试,RT21—ISCS内部的响应时间满足实时控制的要求。

3软件设计

3.1整体设计

3.1.1设计难点从软件设计的角度开发综合监控系统联动功能有三个难点:1)对联动的模型建立需分为两层,第一层是抽象联动的每一个步骤,然后在第一层的基础上建立联动的模型。2)联动执行是一个动态的过程,在运行时,联动步骤如何执行,是依赖当时的运营场景的机电设备、乘客的情况等客观条件。这些逻辑关系是多种多样的,有简有繁,随着需求而不断变化。另外,调度员对联动运行具有最高指挥权,因为执行控制动作是有一定风险的和责任的。3)联动包括联动定义工具、联动报告工具、联动运行HMI(人机界面)、联动服务程序等,还要保证多个模块之间的数据一致性和统一性。

3.1.2联动建模联动的最小逻辑单元是子系统的一个最小的控制动作。例如,在电力子系统的最小控制动作通常是指遥控,在BAS子系统中最小控制动作是指PLC(可编程逻辑控制器)的模式控制或者设备的单点控制(取决于综合监控的BAS子系统的控制设置)。在联动模块中,使用“联动串”来表征每个子系统的最小控制动作。联动串就是使用特定语法格式的字符串,它描述了最小控制动作所需要的全部信息。以BAS的一个AO(模拟量输出)控制为例:某车站B端水泵房水泵转速设置为1000r/min,它的联动串为:ao_ctrlbas.dt.[ao].bdsbf.kzfs.value1000。其中ao_ctrl是控制类别,bas.dt.[ao].bdsbf.kzfs.value表征该点在实时库中的位置信息,1000是目标值。将相关的最小控制动作按照一定的顺序和相互关系联接起来,以完成一个相对复杂的“功能”。简单的“功能”可以组合成更复杂的“功能”。联动就是一个“功能”外加若干属性,比如联动类型、触发逻辑等。联动模块采用多叉树存储联动。多叉树的叶节点为子系统最小控制动作,而非叶节点存储“功能”。每个节点包含了该节点和同层的右兄节点的相互关系,以及执行前的闭锁逻辑和执行后的事后逻辑。相互关系是指同层两个节点是同时并行执行,还是先后串行执行。

3.1.3动作执行流程闭锁逻辑是一个逻辑表达式,它的运算数是现场相关设备点的状态。在该节点执行前,首先计算闭锁逻辑表达式,只有计算结果为真时,该节点才能执行,否则跳过该节点或者结束整个联动。事后逻辑是指“动作”执行失败时的三个选项:联动继续,自动重做,人工干预。执行联动即按照先序遍历的方法遍历整个多叉树。每个节点执行时,首先计算闭锁逻辑;其次,如果是“动作”则下发控制命令,如果是“功能”则遍历其子节点;最后根据事后逻辑继续执行。联动动作执行流程见图1所示。图1联动动作执行流程图另外,当联动执行时,很多情况下需要调度员的人工干预。现以广州珠江新城APM(旅客自动输送系统)项目开站联动为例:在执行打开出入口卷闸门、开启上下行电扶梯及测试站台屏蔽门动作前,调度员必须使用CCTV(闭路电视)子系统查看现场的情况,确认没有人员可能受到伤害时才能够执行。这些步骤必须一步一步执行,即“单步执行”。而有些联动不需要人工干预,比如列车进站联动。当列车到站时,站台广播、PIS(乘客信息显示系统)信息等步骤都是自动执行,无需人工干预。此时,联动是自动执行,即“多步执行”。更复杂的情况下,联动的某些步骤是“多步执行”,而某些步骤是“单步执行”。所以,调度员在执行联动时,需要使用单步执行、多步执行,以及执行断点、暂停和中止等功能。

3.2程序实现联动模块使用

c++语言和脚本语言,运用多线程技术,依托综合监控平台的实时数据库、消息总线以及历史数据库服务。界面设计采用跨平台GUI(图形用户界面)Qt框架。联动模块采用模块化设计思想,由联动服务程序、联动自定义HMI、联动执行HMI和联动报告HMI等四部分构成。其中,联动服务程序是整个联动模块的核心,它串联了各个应用的服务模块与联动HMI,负责联动触发、联动执行,并且负责记录每一次联动的执行情况。联动自定义HMI是用户录入新的联动的人机交互程序。联动执行HMI是用户执行联动时,实时监视和控制联动的人机交互程序。联动报告HMI是用户查看和分析联动历史信息的人机界面。联动模块的架构示意见图2所示。

3.2.1联动后台服务程序后台服务程序采用多线程技术和递归的设计方法。当收到前台启动联动的申请时,就启动一个线程执行该联动。多个联动同时执行其实就是多个线程同时执行。线程的执行函数是递归函数。当联动的多叉树的第一层节点是非叶节点时,就启动同样的线程来执行该“功能”。这样,一个联动中的多个功能的并行执行也是通过多线程实现的。闭锁逻辑和事后逻辑是一段脚本语言,脚本中的操作数取自实时库。脚本语言语法简单,执行效率高。用户在联动定义HMI中根据逻辑要求编写脚本语言,定义闭锁逻辑和事后逻辑。闭锁逻辑和事后逻辑的脚本由公式计算动态库调用,并给出结果。

3.2.2联动运行HMI联动运行HMI是调度员使用联动功能时的界面程序。联动运行HMI提供联动暂停、联动终止、单步运行、多步运行及多步断点等功能。调度员可以灵活地控制联动的运行。联动运行HMI左侧是联动列表,右侧是联动执行区。调度员首先从左侧联动列表中选择欲执行的联动,联动执行区会弹出标签;调度员在联动执行区可以看到联动的每一个节点的执行情况,包括动作开始、动作成功、动作失败及失败原因等。调度员可以使用运行HMI提供的单步、多步、断点、暂停以及中止功能来控制联动执行。

3.2.3联动自定义HMI联动自定义HMI是给综合监控系统高级维护人员开放的。在城市轨道交通运营中,如果调度员总结出新的联动需求,那么就可以使用联动自定义HMI录入新的联动。联动自定义HMI要兼顾综合监控集成和互联的各个子系统,并且要具备对用户的友好性。联动模块采用“动作串”抽象各个子系统的单控动作。动作串的解析和录入都由动作解析动态库来负责。用户使用联动自定义HMI时,主要是拖拽和选择操作。联动自定义HMI提供联动模板、单控动作模板和脚本模板,以简化用户的输入。图3是广播子系统的“联动串”自定义界面。图3广播子系统的联动串自定义界面在图3中,当用户选择播放区域、播放次数、语音内容后,点击“生成”按钮就可以生成“联动串”了。对于用户来说,语法相对复杂的“联动串”是透明的。另外,联动模块支持在线自定义。联动模块使用时标的技术,保证联动运行HMI与联动服务程序的一致性。当联动运行HMI执行某联动时,发送给后台服务程序的报文中含有联动的时标,后台服务程序会将自己的时标与报文中的时标做对比,如果不相等则联动服务程序拒动,发送联动失败报文给联动运行HMI。

3.2.4联动报告HMI联动后台服务程序将每个执行过的联动写入商用库。用户可以使用联动报告HMI来读取和分析联动的执行情况。

4结语

联动模块作为综合监控的高级应用,体现了综合监控的核心价值。在分析了多个城市轨道交通运营需求的基础上,基于国产RI21—ISCS综合监控平台设计,实现了联动功能。RT21系统的联动功能具有实时性、实用性、易用性以及开放性。另外,联动功能在综合监控平台和数据挖掘等高级应用之间搭建了桥梁。例如,对综合监控的历史操作数据做数据挖掘,自动生成日常管理联动和灾害联动。此时数据挖掘的结果按照联动的表结构直接写入数据库中供联动模块使用,经过联动自定义界面修改完善后,该联动就可以投入使用了。