
核心提示:0引言 众所周知,电网对继电保护的性能要求可以归结为:可靠性、选择性、快速性和灵敏性,统称为"四性"。继电保护的四性有的相辅相成,有的相互制约,需要针对不同的需求,做出不同的协调。 其中,可靠性的意思是电网所配置的继电保护只能在预先规定需要其动作的情况下

0引言
众所周知,电网对继电保护的性能要求可以归结为:可靠性、选择性、快速性和灵敏性,统称为"四性"。继电保护的四性有的相辅相成,有的相互制约,需要针对不同的需求,做出不同的协调。
其中,可靠性的意思是电网所配置的继电保护只能在预先规定需要其动作的情况下才可动作,在其他一切不需要其动作的情况下都不动作[1]。而在目前微机保护原理和技术都趋于成熟、微机保护大量投运的情况下,继电保护的可靠性通过下列因素得以保证:
1)继电保护原理保证其可靠性;
2)继电保护与安全自动装置之间相互配合,保证可靠性;
3)微机继电保护装置硬件的可靠性;
4)微机继电保护软件的可靠性。
对于第1)条和第2)条,继电保护工作者在研究传统继电保护时,已经形成严密的理论体系;第3)条是微机继电保护工作者首先要考虑的问题,目前也得以很好地解决。虽然并没有正式的组织机构或会议讨论或规程规定,但是我国继电保护工作者都普遍接受的将我国微机保护划分为第一代、第二代、第三代的方法,其划分标准就是凭借此点,即:
① 第一代微机保护:单CPU工作,多插件组合;
② 第二代微机保护:保护功能在单个插件内实现,总线不出插件;
③ 第三代微机保护:保护功能集成于一个芯片,总线不出芯片。
可见随着微机保护的硬件设计思想不断进步,保证可靠性不断提高。
本文将对第4)条展开讨论。
1软件可靠性
“软件可靠性”通常是指在某一规定时间内,软件无差错地完成其基本功能的能力。衡量软件可靠性的几个要素如下:
1)可用度,指软件运行后在任意随机时刻需要执行规定任务或完成规定功能时,软件处于可使用状态的概率。可用度是对应用软件可靠性的综合度量。
2)初期故障率,指软件在初期故障期内单位时间的故障数。一般以每100 h的故障数为单位。可以用它来评价交付使用的软件质量与预测什么时候软件可靠性基本稳定。
3)偶然故障率,指软件在偶然故障期内单位时间的故障数。一般以每1000 h的故障数为单位,它反映了软件处于稳定状态下的质量。
4)平均失效前时间(MTTF),指软件在失效前正常工作的平均统计时间。
5)平均失效间隔时间(MTBF),指软件在相继两次失效之间正常工作的平均统计时间。在实际使用时,MTBF通常是指当n很大时,系统第n次失效与第n+1次失效之间的平均统计时间。
6)缺陷密度(FD),指软件单位源代码中隐藏的缺陷数量。通常以每千行无注解源代码为一个单位。一般情况下,可以根据同类软件系统的早期版本估计FD的具体值。如果没有早期版本信息,也可以按照通常的统计结果来估计。典型的统计表明,在开发阶段,平均每千行源代码有50~60个缺陷,交付后平均每千行源代码有15~18个缺陷。
7)平均失效恢复时间(MTTR),指软件失效后恢复正常工作所需的平均统计时间。对于软件,其失效恢复时间为排除故障或系统重新启动所用的时间,而不是对软件本身进行修改的时间。
对于多数软件开发人员和项目管理人员而言,可靠性等同于正确性,开发人员热衷于寻找软件中的"缺陷(Bug)"然后改正。也就是讲,他们认为微机保护软件开发的步骤是:编码,然后改错。这是一个认识问题,客观地讲,正是由于这种态度,使得影响微机继电保护软件可靠性的因素在开发的全过程中潜入并生存下去。目前影响我国微机保护软件可靠性的因素归结下来有:
1)需求分析定义不够准确,例如用户提出的需求不完整,对用户需求的变更未及时消化,软件开发人员和用户对需求的理解不同等等,这也是造成诸多"非标"的原因;
2)软件结构设计失误,例如在进行软件总体结构设计的时候,缺乏对特殊情况和错误处理的考虑等;
3)编码有误;
4)针对某一模块,还未给出逻辑框图就着手编码,造成考虑问题不周;
5)测试不规范,例如数据准备错误,测试用例错误,测试不充分等;
6)文档不齐全,文档相关内容不一致,文档版本不一致,缺乏完整性等。
诚然,在前述态度指导下,靠寻找软件缺陷(Bug)的办法是保证软件质量、提高可靠性的一种方法。然而还存在更好的办法,就是把软件可靠性和软件开发的全过程联系起来,在这个过程中的每一个阶段,都做出高质量的计划、文档、编码和测试。