基于Wonderware平台的分布式报警系统的设计与实现
2014-11-07张桐浩赵丽敏赵士达
张桐浩+赵丽敏+赵士达
摘 要: 深入研究了Wonderware平台下的分布式报警系统的原理,设计并实现了一套适用于铁路电力远动系统的实时报警软件。该系统具有根据用户需求进行报警信息过滤和报警方式设置等优点,有效解决了Wonderware平台原有报警控件的缺陷,实现了对铁路电力远动系统实时报警的监测。
关键字: Wonderware; 分布式报警系统; 电力远动系统; 信息过滤
中图分类号: TN911.7?34 文献标识码: A 文章编号: 1004?373X(2014)21?0104?03
Design and implementation of a distributed alarm system based on Wonderware platform
ZHANG Tong?hao1, ZHAO Li?min2, ZHAO Shi?da1
(1. Beijing Systems Control International Inc., Beijing 100083, China;
2. Department of Computer Science and Technology, Dezhou University, Dezhou 253023, China)
Abstract: The principle of distributed alarm system based on Wonderware platform is deeply studied this paper. A set of real?time alarm software applicable to railway power telecontrol system was designed and implemented. This system has the advantages of alarm information filtering and alarm mode set according to user's requirements. It effectively overcame the defects of the original alarm control provided by Wonderware platform, and implemented the real?time alarm monitoring of the railway power telecontrol system.
Keywords: Wonderware; distributed alarm system; power telecontrol system; information filtering
0 引 言
Wonderware公司是一家领先的工业自动化与信息软件解决方案供应商,在制造及工业操作管理方面可大大降低安全标准化应用的设计、创建、实施及维护成本。目前,全球有超过三分之一的工业现场应用该公司的软件解决方案,涵盖了铁路、电力、轨道交通、石油天然气等多个行业领域。2009年,Wonderware与中国铁道部合作,在中国铁路客运专线中应用该公司的电力远动系统解决方案。但该平台原有的报警控件并不能满足电力远动系统的功能需求,且用户操作不够方便,例如不能对报警信息进行过滤,不能灵活地设置报警方式和不能方便地确认报警等。针对以上问题,本文深入研究了基于Wonderware平台的分布式报警系统的原理,设计了一套适用于铁路电力远动系统的分布式报警系统。该系统可为铁路电力远动系统提供直观的报警信息显示和便捷的确认功能,并可以对报警方式进行灵活配置。
1 系统功能设计
报警是代表可能出现问题并要求操作员做出响应的过程条件警告。报警通常在过程值超过用户定义的极限时触发,以通知操作员有问题发生。当对报警信息进行查看或者认为该条报警信息已经得到处理后,可以对该条报警信息进行确认操作。当报警信息被确认了以后,该报警信息会从列表中删除。综合系统和用户的需求,分布式报警系统应具备以下功能:
(1) 对监控设备进行监视,为值班员提供日常生产中的报警信息;
(2) 当紧急报警发生时,可以自动进行语音报警及事故推图,及时提醒值班人员,防止事故的进一步扩大;
(3) 可对报警系统进行配置,如监视范围、报警方式等,兼容不同操作台的不同需求;
(4) 与Wonderware平台兼容。
在一些应用场合下,调度员可能只希望看到某个或某些厂站的报警信息而隐藏其他信息,因此需要报警信息的过滤功能。而Wonderware自带的控件,虽然能简单地区分报警的显示颜色,但不能按照用户想要的方式划分不同的报警级别。一般工程现场的实际需求是调度员需要着重关注的紧急报警信息,而忽略次要的事件信息,所以不同级别的报警信息要呈现不同的系统反馈。
报警方式设置的功能是对不同类型的报警信息进行设置以确定是否需要文字提示、语音报警或事故推图。报警事故推图功能是指随着报警信号的发生,调度员操作主界面将自动显示发生报警事件的厂站的主接线图画面。实时报警记录还提供打印功能,在实时报警窗口点击右键菜单中选择“打印”,可以方便用户打印相关报警信息。
为了实现报警信息的分类和过滤,需要为每个报警设定一个报警优先级。优先级通常取决于报警的严重程度,并综合考虑现场环境、设备性质、安全性、损害成本等因素。报警在定义标记时为其指定报警优先级,优先级范围从1~999,其中1表示最严重。本报警系统创建了四个优先级范围,表示四种严重程度级别,通过指定优先级范围来进行报警的分类。从全部报警中过滤出关键报警,设置语音报警或事故推图等相关报警动作,这些功能都要基于报警优先级范围的划分。本报警系统的报警级别划分的方法如表1所示。
表1 报警级别的划分
[报警级别\&优先级范围\&报警信息\&报警方式\&显示颜色\&
关键\&
1~249\&故障报告
保护动作\&自动弹出报警框
语音报警
事故推图\&
红色
\&主要\&250~499\&厂站通信状态
遥信变位\&自动弹出报警框\&粉色\&次要\&500~749\&遥测越限\&不自动弹框\&蓝色\&提示性\&750~999\&操作记录\&不自动弹框\&灰色\&]
2 分布式报警系统的原理
2.1 报警供应器与报警接收器
分布式报警系统由多个节点组成,系统以查询为基础,支持使用一个计算机节点来记录多个其他节点的报警。在任何给定的节点上,都会有一组报警供应器(发布者)与报警接收器(预订者)。分布式报警系统提供通信链接,在节点与软件组件之间传递报警信息。
报警供应器跟踪报警项(即可进入报警状态的项目)并向分布式报警系统提供这些项目的列表,包括有关任何项目分组层次结构的信息。在报警项的状态改变时,报警供应器通知分布式报警系统。状态改变包括项目是进入还是脱离报警状态以及是否已确认最新的报警;报警项在被禁用的时候,报警供应器负责跟踪。
报警接收器是一个提供报警接收和显示的组件,基本功能是获取报警信息,使此信息在显示器或日志文件中显示,并进行确认。报警接收器向分布式报警系统提供一组查询,确定希望收到通知的报警项;在报警接收器更改或删除查询之前保持活动状态,并指定报警供应器或报警组。只要报警供应器发出变化通知,分布式报警系统便查询匹配的报警,然后将更新传递给相应的报警接收器;在收到更新时,报警接收器显示或记录项目的状态或转换的有关信息;确认报警后,报警接收器发送确认通知给分布式报警系统。
2.2 分布式报警组列表
分布式报警系统使用报警组将报警整理到本地目录树视图中,使用目录树视图过滤报警,可以从网络上的多个节点来查看这些报警组;使用一个报警组列表将本地与远程节点上的报警组合并到一起。报警组列表是一个有名称的列表,由调度台节点以及节点中定义的每一个报警组所组成;也可以包含其他报警组列表名与本地报警组。报警接收器使用此列表查询报警。
在Wonderware分布式报警系统中,报警以组为单位进行划分,以便更轻松地进行跟踪与管理。报警组可以是生产的不同区域,设备的各个部件,操作员的责任或生产过程的逻辑区分。在Wonderware平台中,以区域(area)对象为报警组的最小单位,其可以有嵌套;而在铁路牵引供电远动监控系统中,一般按照线为单位划分监控单元,因此,报警组划分为三个层次,分别为调度中心、调度台、特定线路。
2.3 分布式报警系统数据储存
分布式报警系统使用的数据存储形式为内部报警内存(缓冲区)。系统使用两个内存位置,一个用于摘要(当前)报警,另一个用于历史报警与事件。摘要报警的内存可根据需要进行扩展,以容纳当前的所有报警,直至达到可用内存的极限;历史报警的内存只能增长到预设的极限。在历史内存达到此极限之后,随着新的报警记录添加进来,最旧的报警记录会被丢弃。在多节点环境中,各节点上的报警内存构成一个报警内存集合。
分布式报警系统中的通信大部分是由在节点之间发送的报警查询与报警记录组成。在节点内部,报警查询与记录存储在内部报警内存中,以最大程度减少网络流量。报警缓冲区大小是节点可以为摘要或历史报警查询存储的最大报警数,删除最旧的记录以便为新记录腾出空间。只有存储在内存中的报警事件才可以显示在应用程序窗口中。对于分布式报警系统,将一个很大的数值指定给报警缓冲区可能会影响节点性能。
2.4 报警数据传输
报警信息通过TCP/IP协议在不同节点间进行传输。每个报警接收器节点上设置有一个报警查询,可从一个或多个报警供应器上查询报警信息。图1为分布式报警系统的结构框图(以两节点为例)。
对于一个远端节点A的报警供应器,首先分布式报警系统建立一个与该节点通信的通道,然后将节点B上对这个远端节点A的报警查询拷贝到节点A上,即将节点B报警接收器的报警显示下的“查询”拷贝到节点A的报警供应器本地查询的“远端”下;接下来在节点A上,缓冲区中的每一条报警记录与拷贝过来的报警“查询”进行比对;如果查询条件匹配,则将报警记录复制并发送到节点B报警供应器下的远端缓冲区;在节点B上,不直接将报警接收器的报警记录从缓冲区中拷贝出来,而是在一个“报警列表”中跟踪报警接收器查询的每个报警记录,而这个“报警列表”本质上就是缓冲区的一个索引表。
分布式报警系统中的大部分通信活动是将报警查询与报警记录从一个节点发送到另一个节点。但在节点内,报警查询与报警记录由内部报警内存进行跟踪并缓存,以最大限度减少网络流量。
图1 分布式报警系统的结构框图
3 分布式报警系统设计
分布式报警系统程序的核心是利用Wonderware平台的系统开发包来检测报警信息,包括报警描述、报警优先级、报警限、报警值等,利用这些信息综合判断可得出其报警类型;然后根据优先级范围分别对不同类型的报警信息进行设置,以确定是否需要文字提示、语音报警或事故推图,针对每种报警类型处理其报警行为。下面介绍基于Wonderware平台的分布式报警系统的基本开发流程。
(1) 初始化报警系统
程序启动时,要先向分布式报警系统调用初始化函数,使报警管理器开始运行并使报警系统初始化。只有报警管理器开始运行,报警信息才能从报警供应器向报警接收器通告。
(2) 注册报警接收器
为了实现报警接收器的功能,首先必须要向报警系统登记。报警接收器调用注册函数进行注册后,才能从分布式报警系统检索报警信息或发送报警确定请求。
(3) 提交报警查询
提交报警查询,从一个或多个报警供应器上获得和更新报警信息。通常查询由两部分组成:
① 一个指示要查询的报警供应器和报警组的字符串;
② 一组配置信息的设置,指示过滤器的查询条件,例如最小和最大优先级。
一旦报警查询被提交,分布式报警系统将在报警接收器上“冲掉”当前所有的报警列表并向指定的报警供应器所在节点传送这个查询。初始时分布式报警系统将获取当前匹配查询的全部报警记录以完成查询,接下来如果报警状态改变,系统将只报告更新的部分。
(4) 获取报警记录
报警接收器可以检索实际的报警记录,与报警列表中的条目相对应,用来显示状态信息、检验事件时间戳、检查报警的存取名称等。报警记录一旦被检索,报警接收器就可以对信息进行显示、记录等。
(5) 选定/取消选定
报警接收器一旦得到报警条目的列表,就可以选定条目进行随后的操作,如进行确定。一个单独的调用就能完成所有被选定条目的操作。报警可以由类表索引或报警GUID进行选定。报警接收器也可以对目前选定的条目取消选定。
(6) 确认报警
报警接收器是分布式报警系统中用来确认报警的主要组件,可以通过选择函数选定一个或多个报警进行确认。确认报警不会改变报警条件本身的真假,只是向报警供应器表明报警已经被“看到”,然后在报警供应器上该报警的状态改变为“已确认”。报警控件通过鼠标右键菜单,能够确认单条报警及全部报警。
图2 分布式报警系统的程序流程图
4 结 论
本文设计的分布式报警系统可以根据不同的需求选择多种报警方式,报警列表能够按优先级和类别等分类显示报警信息,并可以方便地进行报警确认和打印报警信息。该系统灵活控制实时报警的查询与显示,对异常运行状态提供报警提示,完整地实现了铁路电力远动系统的报警功能。
图3 报警系统的显示窗口
参考文献
[1] Invensys Systems, Inc. Alarm toolkit guide [R]. UK: Invensys Systems, Inc, 2009.
[2] 魏丙涛.基于Wonderware平台的铁路牵引供电远动监控系统的设计与实现[D].北京:华北计算机系统工程研究所,2012.
[3] Invensys Systems, Inc. IT alarms and events [R]. UK: Invensys Systems, Inc, 2009.
[4] Anon. Wonderware [EB/OL]. [2013?12?19]. http://www.baike.baidu.com.
[5] Invensys Systems, Inc. Wonderware information server administration help [R]. UK: Invensys Systems, Inc, 2009.
[6] 高强,资伟,金晓婷.基于Wonderware系统平台的电网监控系统的设计与实现[J].云南大学学报:自然科学版,2011(3):289?293.
(2) 注册报警接收器
为了实现报警接收器的功能,首先必须要向报警系统登记。报警接收器调用注册函数进行注册后,才能从分布式报警系统检索报警信息或发送报警确定请求。
(3) 提交报警查询
提交报警查询,从一个或多个报警供应器上获得和更新报警信息。通常查询由两部分组成:
① 一个指示要查询的报警供应器和报警组的字符串;
② 一组配置信息的设置,指示过滤器的查询条件,例如最小和最大优先级。
一旦报警查询被提交,分布式报警系统将在报警接收器上“冲掉”当前所有的报警列表并向指定的报警供应器所在节点传送这个查询。初始时分布式报警系统将获取当前匹配查询的全部报警记录以完成查询,接下来如果报警状态改变,系统将只报告更新的部分。
(4) 获取报警记录
报警接收器可以检索实际的报警记录,与报警列表中的条目相对应,用来显示状态信息、检验事件时间戳、检查报警的存取名称等。报警记录一旦被检索,报警接收器就可以对信息进行显示、记录等。
(5) 选定/取消选定
报警接收器一旦得到报警条目的列表,就可以选定条目进行随后的操作,如进行确定。一个单独的调用就能完成所有被选定条目的操作。报警可以由类表索引或报警GUID进行选定。报警接收器也可以对目前选定的条目取消选定。
(6) 确认报警
报警接收器是分布式报警系统中用来确认报警的主要组件,可以通过选择函数选定一个或多个报警进行确认。确认报警不会改变报警条件本身的真假,只是向报警供应器表明报警已经被“看到”,然后在报警供应器上该报警的状态改变为“已确认”。报警控件通过鼠标右键菜单,能够确认单条报警及全部报警。
图2 分布式报警系统的程序流程图
4 结 论
本文设计的分布式报警系统可以根据不同的需求选择多种报警方式,报警列表能够按优先级和类别等分类显示报警信息,并可以方便地进行报警确认和打印报警信息。该系统灵活控制实时报警的查询与显示,对异常运行状态提供报警提示,完整地实现了铁路电力远动系统的报警功能。
图3 报警系统的显示窗口
参考文献
[1] Invensys Systems, Inc. Alarm toolkit guide [R]. UK: Invensys Systems, Inc, 2009.
[2] 魏丙涛.基于Wonderware平台的铁路牵引供电远动监控系统的设计与实现[D].北京:华北计算机系统工程研究所,2012.
[3] Invensys Systems, Inc. IT alarms and events [R]. UK: Invensys Systems, Inc, 2009.
[4] Anon. Wonderware [EB/OL]. [2013?12?19]. http://www.baike.baidu.com.
[5] Invensys Systems, Inc. Wonderware information server administration help [R]. UK: Invensys Systems, Inc, 2009.
[6] 高强,资伟,金晓婷.基于Wonderware系统平台的电网监控系统的设计与实现[J].云南大学学报:自然科学版,2011(3):289?293.
(2) 注册报警接收器
为了实现报警接收器的功能,首先必须要向报警系统登记。报警接收器调用注册函数进行注册后,才能从分布式报警系统检索报警信息或发送报警确定请求。
(3) 提交报警查询
提交报警查询,从一个或多个报警供应器上获得和更新报警信息。通常查询由两部分组成:
① 一个指示要查询的报警供应器和报警组的字符串;
② 一组配置信息的设置,指示过滤器的查询条件,例如最小和最大优先级。
一旦报警查询被提交,分布式报警系统将在报警接收器上“冲掉”当前所有的报警列表并向指定的报警供应器所在节点传送这个查询。初始时分布式报警系统将获取当前匹配查询的全部报警记录以完成查询,接下来如果报警状态改变,系统将只报告更新的部分。
(4) 获取报警记录
报警接收器可以检索实际的报警记录,与报警列表中的条目相对应,用来显示状态信息、检验事件时间戳、检查报警的存取名称等。报警记录一旦被检索,报警接收器就可以对信息进行显示、记录等。
(5) 选定/取消选定
报警接收器一旦得到报警条目的列表,就可以选定条目进行随后的操作,如进行确定。一个单独的调用就能完成所有被选定条目的操作。报警可以由类表索引或报警GUID进行选定。报警接收器也可以对目前选定的条目取消选定。
(6) 确认报警
报警接收器是分布式报警系统中用来确认报警的主要组件,可以通过选择函数选定一个或多个报警进行确认。确认报警不会改变报警条件本身的真假,只是向报警供应器表明报警已经被“看到”,然后在报警供应器上该报警的状态改变为“已确认”。报警控件通过鼠标右键菜单,能够确认单条报警及全部报警。
图2 分布式报警系统的程序流程图
4 结 论
本文设计的分布式报警系统可以根据不同的需求选择多种报警方式,报警列表能够按优先级和类别等分类显示报警信息,并可以方便地进行报警确认和打印报警信息。该系统灵活控制实时报警的查询与显示,对异常运行状态提供报警提示,完整地实现了铁路电力远动系统的报警功能。
图3 报警系统的显示窗口
参考文献
[1] Invensys Systems, Inc. Alarm toolkit guide [R]. UK: Invensys Systems, Inc, 2009.
[2] 魏丙涛.基于Wonderware平台的铁路牵引供电远动监控系统的设计与实现[D].北京:华北计算机系统工程研究所,2012.
[3] Invensys Systems, Inc. IT alarms and events [R]. UK: Invensys Systems, Inc, 2009.
[4] Anon. Wonderware [EB/OL]. [2013?12?19]. http://www.baike.baidu.com.
[5] Invensys Systems, Inc. Wonderware information server administration help [R]. UK: Invensys Systems, Inc, 2009.
[6] 高强,资伟,金晓婷.基于Wonderware系统平台的电网监控系统的设计与实现[J].云南大学学报:自然科学版,2011(3):289?293.