基于组态的大坝安全监测任务系统
2015-12-04杨志峰花胜强
高 岚,杨志峰,李 艳,花胜强
(国网电力科学研究院/南京南瑞集团公司,江苏省南京市 210003)
基于组态的大坝安全监测任务系统
高 岚,杨志峰,李 艳,花胜强
(国网电力科学研究院/南京南瑞集团公司,江苏省南京市 210003)
随着大坝安全监测技术的发展和行业信息化建设的加速,如何进一步提高大坝安全的监测效率,降低运管人员的工作负担,就成为了一个现实的问题。本文从大坝监测自动化运行管理和使用的角度出发,探讨建立一套自动化的大坝监测任务系统,解决大坝安全监测的定时周期测量、监测成果计算、在线实时报警等业务需求,并提供任务执行发生异常时候的重试、日志及通知机制,以及可视化的任务监视、管理视图。实践表明,本系统具有按需组态、运行稳定、易于扩展等特点,是一种具有良好工程应用价值的轻量级的自动化任务框架。
大坝安全监测;监测自动化;任务框架
0 引言
随着大坝安全监测技术的不断发展,行业信息化水平的不断提高,越来越多的大坝安全运管单位提出了“无人值班”(少人值守)自动化监测系统的需求,以提高运管水平以及降低人力负荷。特别是,大坝安全自动化监测装置的发展水平已经非常成熟,各种自动化测量设备在行业中得到了较为普遍的应用,因此相应提出的一个自动化软件监测系统,就显得必要而且急迫了[1-2]。
基于组态的大坝安全监测任务系统是大坝安全监测自动化的一个重要组成部分,提供了一个完整的自动化运行机制,以支撑大坝安全监测日常运行管理的各种事务需求,如定时周期测量、监测成果计算、在线实时报警、自动年/月/日报表生成等,并可提供任务执行发生异常时候的重试、日志及通知机制,此外,系统也提供了可视化界面,实时显示和刷新各个任务的执行状态,并提供挂起、取消指定任务的功能,故能满足大坝安全自动化监测的各种需求,是大坝监测信息化及建设智能水电厂系统的重要基础[3-4]。
1 系统架构和设计方案
1.1 系统定义
本任务系统用于实现本地化的大坝安全监测中,日常运行维护所涉及的多种业务需求的手工/周期性的操作执行。
本系统以任务的方式,来抽象和定义大坝安全监测的各项业务操作,如数据采集、成功计算、实时报警、报表制作等,任务是一种具备原子性的业务操作包装,即任务可以被执行、被终止,但不可被分割、回滚,任务是任务系统管理的最小单位。
任务的种类主要包括即时任务、定时任务,其特点如表1所示。
以上述任务对象为基础,本系统提供了统一的管理机制和视图。
表1 任务的种类
1.2 系统架构
本系统内置了事件消息总线,各子任务对象可按需监听、产生、接收和处理各种系统事件,进行任务间以及与系统外通信。系统架构如图1所示。
图1 系统架构图
1.3 设计方案
1.3.1 基于XML的任务对象描述和存储
本系统任务对象的描述、存储以XML为载体。XML是一种跨平台的,依赖于内容的标准通用标记语言,是当前处理结构化文档信息的有力工具[5]。
任务的基本属性如表2所示。
表2 任务的基本属性
续表
1.3.2 延迟和重试机制
根据大坝安全监测业务的特点,本系统特别考虑了任务的延迟执行和重新执行机制。
在大坝安全监测的生成实践中,与监测设备间进行先测量、后取数是较为常见的操作,通常情况下,监测设备测量需要一定的时间,因此取数操作因进行适当的自动延时;此外,由于通信的不稳定性,例如基于GSM/GPRS的无线采集,取数操作易于失败,这时候自动重复取数,直到正确取回就显得必要了。
在本系统中,任务可以设定延迟执行时间间隔,在任务可以执行时,将延迟至指定的时间间隔后;此外,本系统提供了多种重试样式,如表3所示。
表3 任务重试的样式集
通过延迟和重试机制,可以满足大坝安全监测中各种业务需求对于时序上的要求。
1.3.3 串行、并行设计
根据大坝安全监测业务的实际需求,本系统提供了可组态的串行/并行任务执行的机制。
在大坝安全监测测量中,由于普遍的存在基于RS485/RS232的串口采集方式,其半双工的通信特性,使得系统对于采集类型任务的串行执行有了硬性需求,否则将导致系统召测的紊乱和异常;此外,在监测量成果计算中,由于计算间存在彼此依赖关系,如果基于引张线的大坝水平位移监测,其绝对位移量依赖于基于垂线的监测量成果,这也体现了一种先后串行的时序关系;而其他业务需求,如实时报警、数据整编、报表制作等,则不存在此类制约关系,应可并发执行,以提高系统的工作效率。
本系统实现了一种可组态的串行/并行执行机制,借由任务的种类和属性,自动实现任务的串行、并行共存的执行方式,既保证了业务的稳定性,也极大提高了效率。
1.3.4 定时周期设计
根据大坝安全监测业务的实际需求,本系统提供了多种定时周期任务执行的样式,见表4。
表4 任务定时方式
通过本系统如上几种定时方式,可以满足大坝安全监测中各种业务需求对于定时周期执行上的要求。
1.3.5 任务实时管理
根据大坝安全监测业务的实际需求,本系统提供了任务实时监视和管理机制,所有任务的运行状态可实时的被查看,并可对任务进行管理,管理操作包括:
(1)挂起。停止正在运行的任务。
(2)移除。将任务删除掉。
(3)恢复。将挂起的任务恢复成初始状态,等待重新执行。
所有任务的执行时间点、执行结果,以及人工任务管理明细等,都将被记录入日志库,以备回放查询。
2 系统实现
本系统包含三个主要功能子模块,分别为:
(1)任务的定义与存储子模块。
(2)定时任务自动化周期执行子模块。
(3)即时任务触发和执行子模块。
此外,还包括一些辅助功能模块,如系统日志、系统消息通知、人机界面等。
2.1 任务的定义和存储
本模块的主要功能,是实现任务的组态和存储。大坝安全监测的各种业务需求,只要符合本系统的接口标准进行包装,均可抽象成被系统统一管理和存储的业务对象。
任务定义的时序,在运行期会成为串行执行时候的时序;任务的各种与业务无关的属性,如重试样式、延迟间隔等,均在本模块内统一定义和管理。
本模块如图2所示。
图2 任务的定义和存储
2.2 定时样式的设置
如上所述,本系统提供了多种定时周期执行的方式,此外,本系统还支持多定时机制,即可对一组任务施加多种定时周期方式。
定时设置如图3所示。
图3 定时设置
2.3 任务监视和管理
本系统提供了可视化的任务监视和管理视图,即时任务和定时任务的实时运行状态在视图上进行刷新;通过挂起、移除、恢复等功能按钮,可对系统内的任务进行管理。
任务监视如图4所示。
图4 任务的监视和管理
3 结束语
本文提出了一种基于组态的大坝安全监测任务系统,阐述了系统的原理、架构和设计方案,总结了本系统各关键技术点,并给出了具体实现,并且在多个大坝安全监测系统中得到了实际应用,取得了良好的工程效益。
展望下一步工作,是本系统可以拓展成基于SOA的构件,可以更为标准的任务管理服务,方便与系统监测的集成。
[1] 郑健兵,向南,周锡琅.分布式工程安全监测采集通信软件的功能及实现.水电自动化与大坝监[J].2010,(3):46-49.
[2] 向南,高磊.分布式大坝安全信息系统集成.水电自动化与大坝监测[J].2010,(3):42-45.
[3] 吴骏.利用COM+组件技术实现工程监测系统集成.水电自动化与大坝监测[J].2010,(5):39-42.
[4] 王卫列,向南,花胜强,等.基于可扩展置标语言的大坝通用远程数据采集服务,水电自动化与大坝监测[J].2010,(5).
[5] 花胜强,向南,张轩,纪菁.基于工作流和数理统计的引供水事故应急预案系统.水电自动化与大坝监测[J].2011,35(2).
高 岚(1965—),女,硕士,高级工程师,主要研究方向:电力系统计算机应用。E-mail:gaolan@sgepri.sgcc.com.cn
花胜强, 通讯作者,男,工程师,主要研究方向:计算机软件技术及应用。
Customizable Dam Safety Monitoring Mission System
GAO Lan,YANG Zhifeng,LI Yan, HUA Shengqiang
(State Grid Electric Power Research Institute,Nanjing 210003,China)
With the improvement of dam safety monitoring technology, a new requirement to further improve the efficiency of dam safety monitoring is proposed. In this paper, a dam monitoring task system, providing regular operation task mechanism, as well as retry and delay function, is explored. This system also offers a visual task monitoring and management view. It is proved that the system is customizable, stable, and scalable, and a good lightweight task framework.
dam safety monitoring; automation; task framework