强对电网的管理,力图通过调度自动化系统的重要作用来提高电网的安全运行水平。 目前己经证实软件可靠性是软件质量中最重要,也是最易定量的固有特性的。因 为可靠性与软件的缺陷相关,缺陷的多少对软件费用的影响最大。可靠性全面或部分 地包括许多质量特性,如正确性是面向开发人员的程序特性,不可靠的软件一定存在 着正确性问题,软件安全性、保密性可以看作是软件可靠性的具体的方面。 软件可靠性度量是软件可靠性工程的重要内容。软件和硬件一样也有可靠性问 题,甚至计算机软件的可靠性比硬件的可靠性还要差,因此,在新的形势下,运用软 件可靠性工程的理论来加强对调度自动化系统的软件开发的管理,提高软件的可靠性 势在必行。 按照ANSIIAIAA R-013-1992推荐的软件可靠性工程给出的定义6,软件可靠性工 程是指应用统计技术处理在系统开发和运行期间所采集的数据,以便详细说明、预测、 估计和评价基于软件的系统可靠性。该定义主要强调的是软件可靠性工程中的度量工 作。"Handbook of Software Reliability Engineering"指出:软件可靠性工程定量地按用 户对于可靠性的需求研究软件系统的操作行为。我国的软件可靠性专家则认为软件可 靠性工程和硬件可靠性工程相似,是指为了满足软件的可靠性要求而进行的一系列设 计、分析、测试和管理等工作。尽管说法不一,但无一不包含软件可靠性度量,甚至 大多以度量作为主要的工作,由此可见软件可靠性度量在软件可靠性工程中的重要程 度。 软件可靠性度量工作贯穿于软件生存周期的各个阶段,对软件的质量和可靠性管 理起着重要的作用。 在需求分析阶段,首先要确定软件可靠性要求,包括定性的和定量的可靠性要求, 它既是软件承制单位开发软件的可靠性目标,也是用户验收软件产品时的可靠性要求 依据。目前,硬件系统己经建立一套完整的可靠性的参数和指标体系,对于软件来说, 应该使用哪些软件可靠性参数,以及如何选用参数及其指标的确定对于开展软件可靠 性工程中的定量工作是必不可少的。 在设计阶段,尽管软件尚未最终开发出来,但是通过分析可能导致软件不可靠的 各个因素,对于软件的可靠性可以进行定性的分析,从而指导软件的设计等其他活动。 2
2 强对电网的管理,力图通过调度自动化系统的重要作用来提高电网的安全运行水平。 目前己经证实软件可靠性是软件质量中最重要,也是最易定量的固有特性[5]。因 为可靠性与软件的缺陷相关,缺陷的多少对软件费用的影响最大。可靠性全面或部分 地包括许多质量特性,如正确性是面向开发人员的程序特性,不可靠的软件一定存在 着正确性问题,软件安全性、保密性可以看作是软件可靠性的具体的方面。 软件可靠性度量是软件可靠性工程的重要内容。软件和硬件一样也有可靠性问 题,甚至计算机软件的可靠性比硬件的可靠性还要差,因此,在新的形势下,运用软 件可靠性工程的理论来加强对调度自动化系统的软件开发的管理,提高软件的可靠性 势在必行。 按照ANSIIAIAA R-013-1992推荐的软件可靠性工程给出的定义[6],软件可靠性工 程是指应用统计技术处理在系统开发和运行期间所采集的数据,以便详细说明、预测、 估计和评价基于软件的系统可靠性。该定义主要强调的是软件可靠性工程中的度量工 作。"Handbook of Software Reliability Engineering"[7]指出:软件可靠性工程定量地按用 户对于可靠性的需求研究软件系统的操作行为。我国的软件可靠性专家则认为软件可 靠性工程和硬件可靠性工程相似,是指为了满足软件的可靠性要求而进行的一系列设 计、分析、测试和管理等工作。尽管说法不一,但无一不包含软件可靠性度量,甚至 大多以度量作为主要的工作,由此可见软件可靠性度量在软件可靠性工程中的重要程 度。 软件可靠性度量工作贯穿于软件生存周期的各个阶段,对软件的质量和可靠性管 理起着重要的作用。 在需求分析阶段,首先要确定软件可靠性要求,包括定性的和定量的可靠性要求, 它既是软件承制单位开发软件的可靠性目标,也是用户验收软件产品时的可靠性要求 依据。目前,硬件系统己经建立一套完整的可靠性的参数和指标体系,对于软件来说, 应该使用哪些软件可靠性参数,以及如何选用参数及其指标的确定对于开展软件可靠 性工程中的定量工作是必不可少的。 在设计阶段,尽管软件尚未最终开发出来,但是通过分析可能导致软件不可靠的 各个因素,对于软件的可靠性可以进行定性的分析,从而指导软件的设计等其他活动
在软件的测试阶段,通过可靠性测试,可以及早暴露(概率意义上)使用中具有较 高发生概率的缺陷,从而有效地提高软件的可靠性,通过可靠性的度量工作可以对软 件的可靠性水平进行估计,并对可能达到的可靠性水平进行预测,从而为测试管理、 软件项目管理提供决策依据。 在软件投入使用后,通过收集软件的失效数据,可以对软件的使用可靠性进行评 估,为下一代软件或同类型软件的可靠性定量要求的确定提供参考。 鉴于软件可靠性度量的重要性,研究如何选取软件的可靠性参数、特别是具有调 度自动化系统的软件可靠性参数以及在软件开发过程中如何对其进行度量无疑对于 我国开展软件可靠性工程工作具有重要的意义。 1.2国内外研究现状 1.2.1电力软件的研究现状 SCADA/EMS丰富的功能,特别是高级功能主要是由软件实现的,按其性质可分 为三大类:系统软件、支持软件和应用软件山8。 系统软件是计算机生产厂家为便于用户使用和充分发挥硬件功能所提供的管理 程序和为其他程序服务并提供方便的一大类程序的总称。系统软件质量的好坏,对于 应用软件能否正常工作,用户编制和调试程序是否方便,均有极大的影响。系统软件 一般包括各种编译程序、程序开发不可缺少的软件工具、操作系统、系统生成及其他 服务性程序。 支持软件主要包括信息收集系统、数据库系统、人机联系系统。 信息收集系统可以认为是SCADA系统软件的一部分,是由前置机来完成的。其 主要模块有:前置机通信驱动程序模块、数据库更新程序模块、通道监视和自动切换 程序模块、系统时间同步程序模块。 数据库系统时支持软件最重要的部分,与应用软件联系特别紧密。数据库管理系 统作为管理和维护数据库的软件,负责处理用户对数据库的操作,负责数据库组织的 逻辑细节和物理细节的处理,使得用户尽可能不受这些细节的影响,可以从更加抽象 的观点出发来看待和使用数据库。为了在统一幅静态画面(网络接线图)上显示各种 3
3 在软件的测试阶段,通过可靠性测试,可以及早暴露(概率意义上)使用中具有较 高发生概率的缺陷,从而有效地提高软件的可靠性,通过可靠性的度量工作可以对软 件的可靠性水平进行估计,并对可能达到的可靠性水平进行预测,从而为测试管理、 软件项目管理提供决策依据。 在软件投入使用后,通过收集软件的失效数据,可以对软件的使用可靠性进行评 估,为下一代软件或同类型软件的可靠性定量要求的确定提供参考。 鉴于软件可靠性度量的重要性,研究如何选取软件的可靠性参数、特别是具有调 度自动化系统的软件可靠性参数以及在软件开发过程中如何对其进行度量无疑对于 我国开展软件可靠性工程工作具有重要的意义。 1.2 国内外研究现状 1.2.1 电力软件的研究现状 SCADA/EMS 丰富的功能,特别是高级功能主要是由软件实现的,按其性质可分 为三大类:系统软件、支持软件和应用软件[1][8][9]。 系统软件是计算机生产厂家为便于用户使用和充分发挥硬件功能所提供的管理 程序和为其他程序服务并提供方便的一大类程序的总称。系统软件质量的好坏,对于 应用软件能否正常工作,用户编制和调试程序是否方便,均有极大的影响。系统软件 一般包括各种编译程序、程序开发不可缺少的软件工具、操作系统、系统生成及其他 服务性程序。 支持软件主要包括信息收集系统、数据库系统、人机联系系统。 信息收集系统可以认为是 SCADA 系统软件的一部分,是由前置机来完成的。其 主要模块有:前置机通信驱动程序模块、数据库更新程序模块、通道监视和自动切换 程序模块、系统时间同步程序模块。 数据库系统时支持软件最重要的部分,与应用软件联系特别紧密。数据库管理系 统作为管理和维护数据库的软件,负责处理用户对数据库的操作,负责数据库组织的 逻辑细节和物理细节的处理,使得用户尽可能不受这些细节的影响,可以从更加抽象 的观点出发来看待和使用数据库。为了在统一幅静态画面(网络接线图)上显示各种
对应的数据,就需要建立几个数据库,如实时数据库、历史数据库、离线数据库等等。 SCADA数据库包括: (1)实时数据库:通过RTU周期性地采集的测量和状态信息。这种数据通常实时 更新,每次更新时即将旧数据冲掉。这样的数据库有模拟量数据库、数字量数据库、 计算量数据库、系统配置数据库离线模拟量数据库、离线数字量数据库。 (2)参数数据库:参数信息属于半固定数据,包括解释实时数据所需要的各种信 息,例如上下限值、变化率限值、标度变换的系数、扫描周期以及其他有关信息。 (3)历史数据库:历史数据库定期(5min)从实时数据库中读取模拟量,按一定 的结构顺序存入历史档案中。为了保证在历史数据库容量不断变化的情况下仍能正确 存取历史数据,引入了版本号和索引数据库。 人机联系系统也是支持软件的重要组成部分,它是实现人机对话的重要手段之 一。其功能主要从显示屏幕(CRT)和打印机上体现出来,操作工具一般是键盘和鼠 标,其主要内容有:显示和打印、命令与参数设置、图形和数据库编辑与维护、控制 操作。 应用软件由以下系统组成: (1)SCADA功能软件 SCADA功能软件实现调度自动化系统的基本功能,如遥测、遥信、遥控和遥调。 为了对电网的运行状态进行分析,必须在调度自动化系统中建立一个电网设备、结构、 参数、状态等各种信息合数据的模型,即网络数据库。网络建模就是提供生成、修改 和维护网络数据库的工具,建立SCADA数据库与网络数据库之间的映射。 (2)网络拓扑 由网络建模形成的网络数据库是一个与实际电力系统相一致的模型,它如实地反 映了电网中各个厂站电压等级内的电力系统实际接线以及开关的开合状态合实时在 线信息,但不能给出整个调度范围内的电气连接状态。 网络拓扑的功能就是要新信息确定整个电网的电气连接状态,为潮流计算、状态 估计、负荷预测、调度员潮流、自动电压控制、短路电流计算等EMS应用软件提供 一个一致的、完整的可直接使用的网络数据结构图。网络拓扑软件还能对某些断路器 4
4 对应的数据,就需要建立几个数据库,如实时数据库、历史数据库、离线数据库等等。 SCADA 数据库包括: (1)实时数据库:通过 RTU 周期性地采集的测量和状态信息。这种数据通常实时 更新,每次更新时即将旧数据冲掉。这样的数据库有模拟量数据库、数字量数据库、 计算量数据库、系统配置数据库离线模拟量数据库、离线数字量数据库。 (2)参数数据库:参数信息属于半固定数据,包括解释实时数据所需要的各种信 息,例如上下限值、变化率限值、标度变换的系数、扫描周期以及其他有关信息。 (3)历史数据库:历史数据库定期(5min)从实时数据库中读取模拟量,按一定 的结构顺序存入历史档案中。为了保证在历史数据库容量不断变化的情况下仍能正确 存取历史数据,引入了版本号和索引数据库。 人机联系系统也是支持软件的重要组成部分,它是实现人机对话的重要手段之 一。其功能主要从显示屏幕(CRT)和打印机上体现出来,操作工具一般是键盘和鼠 标,其主要内容有:显示和打印、命令与参数设置、图形和数据库编辑与维护、控制 操作。 应用软件由以下系统组成: (1)SCADA 功能软件 SCADA 功能软件实现调度自动化系统的基本功能,如遥测、遥信、遥控和遥调。 为了对电网的运行状态进行分析,必须在调度自动化系统中建立一个电网设备、结构、 参数、状态等各种信息合数据的模型,即网络数据库。网络建模就是提供生成、修改 和维护网络数据库的工具,建立 SCADA 数据库与网络数据库之间的映射。 (2)网络拓扑 由网络建模形成的网络数据库是一个与实际电力系统相一致的模型,它如实地反 映了电网中各个厂站电压等级内的电力系统实际接线以及开关的开合状态合实时在 线信息,但不能给出整个调度范围内的电气连接状态。 网络拓扑的功能就是要新信息确定整个电网的电气连接状态,为潮流计算、状态 估计、负荷预测、调度员潮流、自动电压控制、短路电流计算等 EMS 应用软件提供 一个一致的、完整的可直接使用的网络数据结构图。网络拓扑软件还能对某些断路器
的错误遥信信息进行辨识,以校正网络结构。 (3)状态估计 利用网络拓扑软件的结果和SCADA系统采集的遥测、遥信数据进行分析、研究 加工,检测和辨识其中的不良数据,给出量测误差信息,经过处理以获得整个电网准 确、可靠的实时运行状态和实时数据,形成一幅比较正确地、完整的,在潮流上收敛 的电力系统运行图。它是对电网进一步分析、计算的基础。 (4)负荷预测 负荷预测可以按正常工作日或节假日模式分别预测未来一周内(按小时或每 l5mi)的符合(包括系统负荷预测和母线预报),并可以计及气象因素,如气温、雨 量等对电力负荷的影响。主要用于计算负荷变化,预计电网的运行条件,作为确定近 期及当前电网运行方式的依据。 (5)调度员潮流 调度员潮流是EMS的最基本的分析软件,可以对当前实时电网或者历史上某一 时刻的电网进行各种模拟操作并进行潮流计算,给出计算结果及报警信息,预计进行 这些操作后电网的运行状态是否安全、是否合理,为调度员控制和管理电网提供更便 捷的手段。 (6)自动电压控制 自动电压控制应用软件自动调节电网内带负荷变压器的分接头和投切电容电抗 器组来使中枢点的电压控制在预先确定的计划内之内,同时使电网最经济。 (7)短路电流计算 在实时网络上构造正序、负序、零序网络,模拟电力系统对称三相短路、两相短 路、两相短路对地、单相短路以及断线等故障时的电网状态,计算其电流分布和各母 线的电压,从而校核电网中各种类型的保护装置,以及它们的相互配合,提高电网的 安全水平,这对电力系统运行乃至设计、设备选择、继电保护整定等都十分重要。 (8)无功优化 无功优化高级应用软件根据计算结果控制无功设备的投切,改善电压分布,提高 线路传输容量。 5
5 的错误遥信信息进行辨识,以校正网络结构。 (3)状态估计 利用网络拓扑软件的结果和 SCADA 系统采集的遥测、遥信数据进行分析、研究 加工,检测和辨识其中的不良数据,给出量测误差信息,经过处理以获得整个电网准 确、可靠的实时运行状态和实时数据,形成一幅比较正确地、完整的,在潮流上收敛 的电力系统运行图。它是对电网进一步分析、计算的基础。 (4)负荷预测 负荷预测可以按正常工作日或节假日模式分别预测未来一周内(按小时或每 15min)的符合(包括系统负荷预测和母线预报),并可以计及气象因素,如气温、雨 量等对电力负荷的影响。主要用于计算负荷变化,预计电网的运行条件,作为确定近 期及当前电网运行方式的依据。 (5)调度员潮流 调度员潮流是 EMS 的最基本的分析软件,可以对当前实时电网或者历史上某一 时刻的电网进行各种模拟操作并进行潮流计算,给出计算结果及报警信息,预计进行 这些操作后电网的运行状态是否安全、是否合理,为调度员控制和管理电网提供更便 捷的手段。 (6)自动电压控制 自动电压控制应用软件自动调节电网内带负荷变压器的分接头和投切电容电抗 器组来使中枢点的电压控制在预先确定的计划内之内,同时使电网最经济。 (7)短路电流计算 在实时网络上构造正序、负序、零序网络,模拟电力系统对称三相短路、两相短 路、两相短路对地、单相短路以及断线等故障时的电网状态,计算其电流分布和各母 线的电压,从而校核电网中各种类型的保护装置,以及它们的相互配合,提高电网的 安全水平,这对电力系统运行乃至设计、设备选择、继电保护整定等都十分重要。 (8)无功优化 无功优化高级应用软件根据计算结果控制无功设备的投切,改善电压分布,提高 线路传输容量
(9)安全分析 电网的安全分析包括静态安全分析和动态安全分析。一方面能确定系统当前的运 行状态在出现故障时,如线路、变压器因故退出运行时是否安全:另一方面能确定使 系统安全运行的校正、调节和控制措施。 (10)调度员模拟培训 用于仿真模拟电网的各种运行状态、各种操作及事故过程,并为调度人员提供与 实时系统安全一样的运行环境以培养调度人员熟悉并掌握电网管理系统的各项功能, 提高调度员操作和事故分析、处理的能力。 SCADA/EMS涉及多种专业技术:计算机硬件、软件、通信、调度、计划、经营 等,它需要有良好组织的众多技术人员进行确认、设计、编程、试验、联调、维护与 改进,一般将至少需要两级以上的管理体系才能进行开发与维护的软件称为大型软 件,而有资格的SCADA/EMS厂商都有多层的技术管理体系。 SCADA/EMS软件内部含有大量彼此联系的功能,随着功能的增加,内部联系的 复杂性呈非线性增长。SCADA/EMS的特点体现在逻辑的复杂性,高级应用软件的特 点体现在数值计算的复杂性,因此不仅要求配置计算能力强大的硬件,而且要求具有 非常有效的算法和复杂的程序技巧。 SCADA/EMS绝大部分输入/输出是在线的,其中还有很大的一部分是实时的,它 们之间存在联系并相互干扰,这样的特点大大增加了软件开发和调试的复杂性。 用户要求的特殊软件的开发对用户和厂商来说都有较大的风险,只有具有多方面 软件专家和清楚了解用户特殊要求的厂商才有提供这些软件的资格。在谈判用户专用 软件时,供货方在报价和确定未知软件性能时必然要考虑风险。 开发成功一个软件不仅在技术上非常复杂,而且绝大部分工作量是用户见不到 的,也是难以想象的。用户见到的软件产品主要是画面,但以此评价软件就过于表面 化了,这些至多是露在水面上的冰山,90%的工作量隐含在水面以下。要建立高质量 的软件开发环境,投资将非常大,但可在软件的质量和存活周期方面得到回报。 SCADA/EMS软件产品表面上不能完全体现它的质量和投入量,这使得开发过程难以 理解和管理,也使用户难以选择8)。 6
6 (9)安全分析 电网的安全分析包括静态安全分析和动态安全分析。一方面能确定系统当前的运 行状态在出现故障时,如线路、变压器因故退出运行时是否安全;另一方面能确定使 系统安全运行的校正、调节和控制措施。 (10)调度员模拟培训 用于仿真模拟电网的各种运行状态、各种操作及事故过程,并为调度人员提供与 实时系统安全一样的运行环境以培养调度人员熟悉并掌握电网管理系统的各项功能, 提高调度员操作和事故分析、处理的能力。 SCADA/EMS 涉及多种专业技术:计算机硬件、软件、通信、调度、计划、经营 等,它需要有良好组织的众多技术人员进行确认、设计、编程、试验、联调、维护与 改进,一般将至少需要两级以上的管理体系才能进行开发与维护的软件称为大型软 件,而有资格的 SCADA/EMS 厂商都有多层的技术管理体系。 SCADA/EMS 软件内部含有大量彼此联系的功能,随着功能的增加,内部联系的 复杂性呈非线性增长。SCADA/EMS 的特点体现在逻辑的复杂性,高级应用软件的特 点体现在数值计算的复杂性,因此不仅要求配置计算能力强大的硬件,而且要求具有 非常有效的算法和复杂的程序技巧。 SCADA/EMS 绝大部分输入/输出是在线的,其中还有很大的一部分是实时的,它 们之间存在联系并相互干扰,这样的特点大大增加了软件开发和调试的复杂性。 用户要求的特殊软件的开发对用户和厂商来说都有较大的风险,只有具有多方面 软件专家和清楚了解用户特殊要求的厂商才有提供这些软件的资格。在谈判用户专用 软件时,供货方在报价和确定未知软件性能时必然要考虑风险。 开发成功一个软件不仅在技术上非常复杂,而且绝大部分工作量是用户见不到 的,也是难以想象的。用户见到的软件产品主要是画面,但以此评价软件就过于表面 化了,这些至多是露在水面上的冰山,90%的工作量隐含在水面以下。要建立高质量 的软件开发环境,投资将非常大,但可在软件的质量和存活周期方面得到回报。 SCADA/EMS 软件产品表面上不能完全体现它的质量和投入量,这使得开发过程难以 理解和管理,也使用户难以选择[8]