基于ASRM可靠性评估的多途径SCADA远程报警监控模型

2015-06-12 12:32:22杨小健许潇珑李荣雨
自动化仪表 2015年9期
关键词:短信组件报警

杨小健 许潇珑 李荣雨

(南京工业大学电子与信息工程学院,江苏 南京 211816)

基于ASRM可靠性评估的多途径SCADA远程报警监控模型

杨小健 许潇珑 李荣雨

(南京工业大学电子与信息工程学院,江苏 南京 211816)

为了实现多样化远程报警和独立功能扩展,提出了以SCADA为软件平台的自动化远程报警监控模型(RAMM)。从设备连接、误报消除以及人员可靠性等多个方面,提高RAMM模型的可靠性和安全性;使用基于架构的可靠性模型(ASRM),对基于RAMM模型开发的远程报警监控系统(RAS)进行了可靠性验证。实际应用案例表明,RAMM模型提供了短信、电话、邮件、局域网等多种远程报警方式,通过对报警信息的统一管理,实现了远程监控和无人现场值守的功能,具有良好的应用前景。

远程报警 监控 软件可靠性 ASRM模型 远程自动化 SCADA

0 引言

在自动化控制应用越来越普遍的情况下,很多领域都采用SCADA远程报警监控系统作为远程自动化解决方案。目前,国内SCADA远程报警监控系统尚不能保证软件系统的可靠性。随着计算机技术的成熟,硬件作为实现整个系统功能所必须的部分,其成本在迅速降低且可靠性具有保证,而软件作为实现整个系统核心功能部分,其可靠性却不能得到很好的保证,软件故障比硬件故障所造成的损失更大[1]。同时,大部分远程报警监控模型都是只采用短消息或者电话单一报警的途径远程报警[2-6],极大地限制了远程监控报警系统的使用。

根据远程监控报警系统的研究现状,本文以拥有自主知识产权的SCADA软件为平台,提出了具有可靠性保证和多样化报警方式的远程报警监控模型(remote alarm monitoring model,RAMM),并且依此开发实现了远程报警监控系统(remote alarm system, RAS)。RAMM模型不仅在复杂软件开发层次上简化了开发流程,完成模块化开发,而且实现了报警方式多样化(短信报警、电话报警、邮件报警、局域网报警、现场语音报警),具备了统一配置管理的报警信息、远程监控甚至无人值守的目标工程功能。同时,根据IEEE协会制定的有关软件可靠性的相关规范[7-8]和软件可靠性评价模型相关的研究[9-14],使用了基于架构的软件可靠性(architecture-based software reliability model, ASRM)模型[15-20]对RAS系统软件可靠性进行了评估,并给出了实际使用案例。

1 RAMM模型架构设计

SCADA远程报警监控模型是为了丰富SCADA在远程监控报警上应用而设计的,由SCADA获取数据、提供组态环境,RAMM模型负责监控、远程报警与远程反馈。RAMM远程报警监控模型架设在原有SCADA平台上,对原有平台进行功能扩展,在逻辑上实现了远程报警与组态数据获取这两种功能的分离。

一般来说,在原有系统上进行功能扩展与功能隔离,从很多方面都会提高原有系统的复杂性,这是毋庸置疑的。功能扩展系统具备良好的可靠性,尽可能地对原有系统不产生影响并降低耦合性,在整体模型上进行分析和抽象是非常必要的[21-22]。SCADA组态系统核心的过程就是对数据进行获取、监测、处理、控制和反馈,会产生相对应的数据信息、控制信息、反馈信息、设备数据信息等,而要实现功能分离,就必须对这些信息区别对待。监控信息和相关配置信息等是RAMM模型需要的,由此可以明确RAMM模型对主系统数据信息的需求。

1.1 RAMM模型体系结构设计

为了降低系统间的耦合性,RAMM模型只需取原系统的监控数据信息以及相关的配置信息,并以此为基础进行功能扩展应用。

RAMM模型设计是SCADA系统的应用扩展,所以在权限操作和操作员管理方面需要和原系统保持一致。RAMM模型的架构设计如图1所示。

从图1可看出,RAMM模型需要主系统应用层的数据,即RAMM模型是原系统在应用层面上的扩展。

图1 RAMM层次体系结构

RAMM体系结构分成4层,分别是数据接口层、数据层、业务交互层和应用层。数据接口层是将原SCADA系统的必需数据获取到RAMM模型之中;数据层是对RAMM模型的数据进行记录存储和再现;业务交互层实现RAMM模型相关业务交互;应用层是由RAMM模型提供的具体功能。通过实时数据库能够获取实时信息,通过历史数据库则所够方便地查询历史报警信息。

1.2 RAMM模型功能模型

RAMM模型对原SCADA系统实现功能扩展,具体实现了远程报警与反馈等相关的功能。RAMM功能模型如图2所示。

图2 RAMM功能模型

由图2可以看出,RAMM模型的核心功能是实时报警功能,即根据报警配置实时地对报警进行相应处理。其他功能则基本上是辅助实时报警功能而产生的。实时报警功能是否可靠很大程度上决定了RAMM模型的可靠性。

2 RAMM模型的容错性与可靠性

系统在设计开发的过程中应尽量避免系统引入错误,同时在系统出现故障时能够自行检测与诊断,使系统具有良好的可修复性。这就要求系统应当具有良好的容错性和可靠性。

2.1 预防性监测

预防性监测的基本功能是检测设备或者软件模块的运行状态并保证其可用性。预防性监测是对系统进行最少次数的维修或更换系统的全部部件甚至整个系统的维修行为[1]。RAMM模型是一种远程报警监控模型,监控是RAMM模型的一个重要部分,在监控过程中监测报警设备是否出现故障是非常必要的。预防性监测的目的就是避免报警设备在空闲期间出现故障,并且能够进行预防性更换和维修。

RAMM模型短信远程预防性监测示意图如图3所示。首先,远程操作员向短信设备发送RAMM模型的操作码,短信设备识别请求码后进行相关处理,短信设备发送查询信息;并在接收到反馈信息后将信息转发给操作员,实现远程监测。这样的预防性监测可以让操作员了解短信设备的SIM卡余额、短信剩余数等信息。同时,操作员可以主动请求查询信息。RAMM模型每月定时向操作员手机发送短信,实现预防性监测,避免出现因短信设备欠费等原因造成系统无法提供服务。

图3 短信远程预防性监测示意图

2.2 提高电话与短信报警可靠性

在远程报警中,远程报警设备起到了至关重要的作用,电话设备和短信设备分别实现了RAMM模型中电话语音与短信报警通知的功能,是连接人与系统远程通信的纽带,是实现RAMM模型远程报警功能的关键。

电话语音设备与短信设备处理信息都有延时,且具有单个请求处理时间较长的特点,如电话语音设备经历电话拨打、接通和挂断几个过程,会持续比较长的时间。因此,当一个系统产生大量报警时,电话语音设备与短信设备将承载很大的负载,出现短信发送失败、电话漏拨等问题。如在系统断电切换至UPS供电的情况下,会产生大量的报警,这样的情况将造成大量的报警通知信息积存在电话设备与短信设备端,产生漏发和漏拨的问题。

对此,RAMM模型使用缓冲技术来解决这样的短时间内出现高负荷的问题。缓冲技术就是在短时间内出现大量负载的时候,使用队列缓冲实现信息有次序的处理,以防止出现漏发漏拨的情况,提高整体系统的QOS服务质量。

使用队列缓冲技术处理短信信息的原理图如图4所示。由于使用了队列,在出现大量报警时信息不会阻塞在硬件设备端,而是堆积在信息队列中,避免了硬件设备出现漏发信息等问题。

图4 队列缓冲技术处理短信原理图

然而在短时间内出现大量报警时,这种方法不具备很好的报警实时性处理能力。由于未来产生的报警数量未知,因此,可以通过直接监控队列长度来实现。当队列长度大于某个阈值时,RAMM模型将操作员联系号码作为依据合并报警信息,从而达到缩短队列长度和处理时间的目的。

电话语音报警是通过事先录好的每个报警点的语音信息,在出现报警时拨打电话进行播报。电话语音报警相对于短信报警来说,延时性更高,单个请求持续时间更长,还存在被叫无法接通、被叫提前挂机等状况,使得电话语音报警更加复杂。

在处理电话语音报警过程中,以操作员建立散列表,原理如图5所示。散列表中存放产生报警需要播放的语音信息,定时对散列表进行检查。若某个操作员列表中存在语音信息,则进行拨号。如果接通,将其列表中的语音信息全部播放给被叫操作员,记录后消除列表中的语音信息;若没有接通,列表中的语音信息不操作,等下一次轮询时进行电话拨打。

图5 使用散列表处理电话语音报警原理图

这种方式不仅可以避免在短时间内多次拨打同一操作员号码,而且可以快捷处理短时间内产生的大量报警信息,提高了电话语音报警的实时性。

2.3 短报的处理

短报,就是报警持续时间非常短暂然后又恢复的报警。由于设备供电电压不稳、通信链路不完全可靠等原因会造成报警以后立马恢复,一般的报警时间持续1~5 s,然后报警恢复。这样的情况会造成RAMM模型在短时间内产生比较多的报警信息和报警恢复信息,从而降低用户对RAMM模型的软件体验,同时也浪费了短信和电话语音资源。

由于不能预见报警信息是否是短报,因此解决短报的问题可以用报警检测延时来解决,即在检测到每个报警之后,并不马上进行报警,而是等待几秒,然后再决定是否报警。这样的做法是牺牲部分的报警实时性来消除短报,但与电话拨打与短信发送的时间相比,花费这些时间是值得的。同时,为了提高RAMM模型的用户体验,将消除短报设为选项配置,将功能的选择权交给用户,以满足用户的各种需求。

2.4 降低人为故障

在大多数情况下,人和机器共同组成一个系统;同时由软件和硬件构成的系统可能会由于软件不能执行外部指令而失败[23]。在众多系统故障报告中,有相当比例的事故起因是“人为错误”或“人员可靠性”。故障分为系统故障和人为故障两类[24]。对人为故障,应持谨慎态度,避免将所有的责任都压在操作员身上,可以采用人员培训、良好的用户体验和系统容错等方式来解决,提高可靠性。RAMM模型采取了若干方式来降低人为故障。

① 屏蔽会引起歧义的设计,对用户进行指引。RAMM模型设计应尽量避免引起用户的误解和误操作,对可能发生歧义的设计加上说明和指引,降低人员故障。

② 权限统一。RAMM模型与组态系统中所有操作员以及加密锁的权限是统一的,这不仅可以提高系统的安全性,还可以避免没有权限的操作员对RAMM模型的误操作,提高系统的安全性。

③ 良好的人机界面和丰富的说明文档。人性化的提示和详尽的说明文档可以避免操作员误操作。

2.5 担保组件

RAMM模型采用重加载技术和担保组件,使RAMM模型在运行出现故障时能够实现重加载。与硬件担保模型[1]不同,担保组件实现重加载功能。担保组件的设计目的就是在系统核心功能出现失效的时候能够进行修复。担保组件并不提供冗余功能,从根本上看算是一个微型的监控维修组件,从而达到软件可修复系统[1]的目的。图6是担保组件重加载设备驱动原理图。

图6 担保组件重加载设备驱动原理图

如设备驱动在连接设备时出现故障,设备驱动在故障诊断无法修复时,返回状态码,并告知担保组件;此时担保组件关闭驱动,读取设备1的配置参数,初始化驱动重连。在多次重新连接失败后,担保组件选择连接冗余设备2,读取配置参数后让驱动初始化重加载设备2。

3 ASRM模型与系统可靠性评价

采用ASRM模型对软件可靠性分析需要满足基本模型假设:① 组件之间的可靠性是相互独立的;② 组件间的控制转移是Markov过程;③ 组件之间的连接逻辑完全可靠。为了计算整个系统的可靠性,组件的可靠性可以根据测试等途径得到[25]。文献[23]给出了冗余组件等可靠性的计算方式。ASRM模型主要用于计算基于组件的软件架构模型。

3.1 担保组件与可靠性

RAMM模型使用担保组件是为了在线监测核心组件并在组件失效时提供重加载,提高核心组件的可靠性。冗余组件与担保组件示意图如图7所示。

图7 冗余组件(左)与担保组件(右)示意图

对于冗余组件(主动冗余),其转移概率为P=P1R+(1-R)RRP1=[R+(1-R)RR]P1,总可靠性度量为RC=R+(1-R)RR;而担保组件的转移概率为P=[R+(1-R)Rw]P1,总可靠性为RC=R+(1-R)Rw。虽然担保组件与冗余组件的可靠性表示是相同的,但在效率方面,担保组件占用的内存空间和存储空间比冗余组件要小,节省了程序的运行空间,减少了代码量,提升了软件可维护性。

3.2 使用ASRM可靠性评估

ASRM模型能够将软件程序架构流程图(architecture flow graph,AFG)通过一定方式转化成状态转移图,然后使用Markov链模型对整个系统可靠性进行计算。

ASRM模型建模步骤如下。

① 根据RAMM模型的架构设计图,设计出相应的程序架构流程图。

② 根据架构流程图,将每一部分转化成状态转移图并计算每一部分的可靠性。

③ 将每一部分的状态转移图集成为完整的系统状态转移图。

④ 根据整个状态转移图的状态转移矩阵,计算可靠性。

根据图2中RAMM模型修改的架构流程图如图8所示。

图8中,C1为动态监测,联动操作,C2为登录权限管理,C3为GUI,C4为操作员配置DB,C5为值班表配置DB,C6为历史报警查询,C7为历史报警DB,C8为本机参数查询,C9为局域网监控,C10为报警记录,C11为报警数据加载,C12为远程IP监控,C13为实时报警,C14为报警记录DB,C15为设备测试,C16为变量配置DB,C17为日志记录,CR为冗余组记,CW为担保组件。

RAMM模型的状态转移图如图9所示。

图8 RAMM架构流程图

图9 RAMM模型状态转移图

图9所对应的各转移概率如下:P1,2=1,P2,4=0.1,P2,3=0.7,P2,5=0.2,P3,11=0.5,P3,10=0.1,P3,12=0.1,P3,6=0.1,P3,8=0.1,P3,9=0.1,P6,17=0.8,P6,7=0.2,P7,6=1,P5,2=1,P8,17=1,P9,17=1,P10,14=1,P10,17=0.6,P11,13=0.8,P11,16=0.2,P12,17=1,P13,10=0.15,P13,15=0.1,P14,10=1,P13,17=0.75,P15,17=1,P16,11=1。组件综合可靠性:

RS5=R5+ (1 -R5)RR5= 0.999 7

RS16=R16+ (1 -R16)RR16= 0.999 7

RS13=R13+ (1 -R13)RR13= 0.999 9

通过转移矩阵M可以计算系统可靠性:

N= 17

|I-M| =0.195 6

|En1| = 0.182

则整个系统的可靠性R为:

R=T(1,S17)×R17= 0.921 2

由此可以看出,整个系统的可靠性基于每个组件的可靠性,因此,提高每个组件的可靠性是非常必要的;同时,应当优先提高核心组件的可靠性,因为一个系统的核心功能往往具有较高的转移概率,且系统应当保证核心功能的正常执行。从结果来看,整个系统的可靠性比较令人满意。

4 实际应用案例研究

基于RAMM模型自主开发的RAS系统目前已经得到实际应用,应用案例如图10所示。以某省商业银行机房环境监控应用为例,该监控系统主要完成商业银行机房环境的监控,多串口卡连接在系统主机上,通过SCADA主系统来完成D86、电量仪、UPS以及智能空调等设备的数据采集和控制。系统利用Modbus-TCP驱动程序,实时显示全市各地ATM取款机的通信数据。

图10 应用案例结构图

RAS远程报警监控模型会将所有的报警信息集中起来供工作人员配置查看,同时将产生的报警及时通过短信、电话等方式告知工作人员,方便工作人员及时处理,以减少不必要的经济损失。应用项目中RAS系统运行状况统计如表1所示。

表1 项目中RAS系统运行状况统计

由表1可以看到,RAS系统能够提供可靠的服务。在整个运行过程中,RAS系统通过重加载等途径自我修复后仍能够继续提供服务,比率为:

β= 40/43×100% = 93.0%

其中,部分运行时故障包括用户界面的错误,以及用户对产生的故障提出的系统改进要求等。实际案例说明,RAMM模型具有较好的可修复性和可靠性。

5 结束语

RAMM远程报警监控模型能够提供电话、现场语音、邮件、短信等多样化的报警方式;同时从多个方面提高RAMM模型的可靠性,这不仅考虑到了系统各个方面,同时也考虑到了人的因素。RAMM模型不仅能够提供可靠的服务,而且具有用户友好特性。ASRM模型具有直观、相对简单的特点。通过使用ASRM模型对RAMM模型进行可靠性评价,量化了RAMM模型可靠性性能。在实际应用中,基于RAMM模型的RAS系统已经应用于多处银行监测、电视台监测以及工业生产监测中,具有良好的应用前景。

[1] Elsayed E A.Reliability engineering[M].2nd Edition.USA:John Wiley,Inc,2012.

[2] Ozdemir E,Karacor M.Mobile phone based SCADA for industrial automation[J].ISA Transactions,2006,45(1):67-75.

[3] Edwards C J,Davidson E M,McArthur S S J,et al.Flexible model-based alarm processing for protection performance assessment and incident identification[J].Power Systems,IEEE Transactions on,2013,28(3):2584-2591.

[4] 孙增雷,黄俊年,孙敏,等.基于GSM的远程报警监控模型的研制[J].武汉理工大学学报,2008,17(2):122-124.

[5] 曾一凡,洋梅,金花顺.基于短消息的远程报警监控模型的设计与实现[J].沈阳大学学报,2005,23(6):120-123.

[6] Zhang G M.Research on and design of remote control and alarm by GSM/SMS[J].Journal of Sichuan Normal University:Natural Science Edition,2004,27(1):102-106.

[7] Zhang Y J,Wang Z Z.Cumulative damage model and parameter estimate about a kind of time-sharing redundant system[J].Acta Phys.Sin.,2009,58(9):6074-6079.

[8] George H,Jan K,Frantisek P.Research into practice-reality and gaps:6th international conference on the quality of software architectures[M].Springer Science & Business Media,2010.

[9] Igure V M,Laughter S A,Williams R D.Security issues in SCADA networks[J].Computers & Security,2006,25(7):498-506.

[10] Ward M P.An architectural framework for describing supervisory control and data acquisition (SCADA)systems[D].Monterey,California:Naval Postgraduate School,2004.

[11]Gaushell D J,Darlington H T.Supervisory control and data acquisition[J].Proceedings of the IEEE,1987,75(12):1645-1658.

[12] Xie Z,Manimaran G,Vittal V,et al.An information architecture for future power systems and its reliability analysis[J].Power Systems,IEEE Transactions on,2002,17(3):857-863.

[13] 耿技,聂鹏,秦志光.软件可靠性模型现状与研究[J].电子科技大学学报,2013,42(4):555-570.

[14] Ebeling C E.An introduction to reliability and maintainability engineering[M].USA:Waveland Press,Inc.,2005.

[15] Gokhale S S,Lyu M R T.A simulation approach to structure-based software reliability analysis[J].Software Engineering,IEEE Transactions on,2005,31(8):643-656.

[16] Cheung R C.A user-oriented software reliability model[J].IEEE Transactions on Software Engineering,1980,6(2):118-126.

[17] Wang W L ,Ye W ,Chen M H .An architecture-based software reliability model[C]//Proceedings Pacific Rim International Symposium on Dependable Computing,1999:143-150.

[18] Gokhale S. Architecture-based software reliability analysis:overview and limitations[J].Dependable and Secure Computing, IEEE Transactions on,2007,4(1):35-40.

[19] Koziolek H,Schlich B,Bilich C.A large-scale Industrial case study on architecture-based software reliability analysis[C]//Software Reliability Engineering (ISSRE),2010 IEEE 21st International Symposium on,2010:279-288.

[20] Gokhale S S.Wong W E,Horgan J R, et al. An analytical approach to architecture-based software performance and reliability prediction[J].Perf.Eval.,2004,58( 4):391-412.

[21] Frederick P,Brooks J R.The mythical man-month:essays on software engineering anniversary edition[M].2nd Edition.USA:Addison-Wesley Professional Press,2008.

[22] Frederick P,Brooks J R.The design of design:essays from a computer scientist[M].USA:Addison-Wesley Professional Press,2010.

[23] Way K V,Rajendra P M,Frank A,et al.Optimal reliability design[M].UK:Cambridge Unversity Press & Science Press Ltd.,2011.

[24] Boring R L.Human reliability analysis in cognitive engineering and system design[C]//Frontiers of Engineering:Reports on Leading-Edge Engineering from the Symposium,2009.

[25] 王世安.基于敏捷开发的构件化软件可靠性研究[J].微电子学与计算机,2011,28(3):119-122.

Multi-method SCADA Remote Alarm Monitoring Model Based on ASRM Reliability Assessment

In order to achieve diversified remote alarm and independent function expansion, the automatic remote alarm monitoring model (RAMM) with SCADA as the software platform is proposed. The reliability and security of RAMM is improved from device connections, elimination of false alarms and consideration of personnel reliability; and the reliability verification of the remote alarm system (RAS)developed based on RAMM is conducted by using architecture-based software reliability model (ASRM). The practical applications indicate that through the unified management of alarm information, RAMM provides multiple remote alarm modes, including SMS, telephone, email, and LAN, to achieve remote monitoring and unmanned site on duty functions, possesses excellent applicable prospects.

Remote alarm Monitoring Software reliability Architecture-based software reliability model Remote automation SCADA

江苏省高校自然科学基金资助项目(编号:12KJB510007 )。

杨小健(1963-),男,2008年毕业于南京工业大学生物化工控制专业,获博士学位,教授;主要从事工业控制自动化、复杂过程先进控制、流程模拟与优化的研究。

TH86;TP311+.1

A

10.16086/j.cnki.issn1000-0380.201509003

修改稿收到日期:2014-12-29。

猜你喜欢
短信组件报警
无人机智能巡检在光伏电站组件诊断中的应用
能源工程(2022年2期)2022-05-23 13:51:50
新型碎边剪刀盘组件
重型机械(2020年2期)2020-07-24 08:16:16
U盾外壳组件注塑模具设计
道歉短信
当代工人(2019年4期)2019-04-22 12:04:26
LKD2-HS型列控中心驱采不一致报警处理
代发短信
当代工人(2018年21期)2018-03-06 12:41:08
2015款奔驰E180车安全气囊报警
死于密室的租住者
风起新一代光伏组件膜层:SSG纳米自清洁膜层
太阳能(2015年11期)2015-04-10 12:53:04
奔驰E260车安全气囊报警