【课程作业】发电及互联系统可靠性计算程序说明文档

本文为电力系统可靠性课程编程大作业的程序说明文档,可靠性的计算方式为通过构建停运表形成发电系统及互联系统的裕度表,并计算可靠性指标。关于电力系统可靠性的概念、计算方式等将不会在本文说明。
在此分享程序说明文档,代码已上传至资源,名称为“课程作业:发电及互联系统可靠性计算程序”。
链接为:https://download.csdn.net/download/LiHaotian917/87258924?spm=1001.2014.3001.5503

文章目录

1.程序内容与结构说明

1.1程序内容与功能

本程序基于MATLAB R2022b开发,能够生成发电系统和互联系统的裕度表,并计算可靠性指标。
本程序可以选择3套计算算例,分别为《电力系统规划基础》的例3-3、例3-5,和RTS-79系统的可靠性计算结果;也可以修改输入数据,对任意发电系统或互联系统的可靠性进行计算。

1.2程序执行步骤

正如main函数中注释所写,程序依次执行五个模块:
1)数据初始化:包括读入文件参数、创建各类型的对象、对参数进行初始化等步骤;
2)建立发电系统裕度表:包括四步,分别为形成发电系统停运表、形成负荷停运表、形成发电系统裕度表、计算发电系统可靠性指标;
3)形成输电系统停运表:包括三步,分别为形成输电线路停运表、形成变压器停运表、利用串联公式形成输电系统停运表;
4)建立互联系统裕度表:包括两步,分别为计算互联系统裕度表、计算互联系统可靠性指标;
5)格式化并输出结果
其中,步骤3、4仅在互联系统的计算中需要执行。

1.3输入文件格式及说明

程序通过读取Excel表格进行输入,在“InputData.xlsx”文件中,包含10个表单,说明如下:

表 1 输入表格InputData.xlsx的表单说明

表单名称表单内容说明
输入说明对系统参数“Para”表单中需要输入的参数进行说明
Para待输入的系统参数,包括算例选择、负荷基值、步长、是否互联与互联系统数量
GenSysData of Ex.3-3例3-3的发电机输入参数,包括类型、容量、数量、MTTF、MTTR
Load of Ex.3-3例3-3的负荷曲线输入数据
LineData of Ex.3-5例3-5的线路输入参数,包括类型、容量、数量、MTTF、MTTR
TransformerData of Ex.3-5例3-5的变压器输入参数,包括类型、容量、数量、MTTF、MTTR
GenSysDataRTS-79系统的发电机输入参数,包括类型、容量、数量、MTTF、MTTR
WeekLoadRTS-79系统的周负荷输入
DailyLoadRTS-79系统的日负荷输入
HourlyLoadRTS-79系统的小时负荷输入

1.4输出文件格式

程序将计算结果输出到Excel表格中,在“OutputData.xlsx”文件中,包含4个表单,说明如下:

表 2 输出表格OutputData.xlsx的表单说明

表单名称表单内容说明
发电系统的裕度表存放例3-3、RTS-79系统算例输出的发电系统裕度表
发电系统的可靠性指标存放例3-3、RTS-79系统算例输出的发电系统可靠性指标
互联系统的裕度表存放例3-5算例输出的互联系统裕度表
互联系统的可靠性指标存放例3-5算例输出的互联系统可靠性指标

2.函数说明

2.1Generator类

发电机类用于定义发电机,并进行与发电机组相关的计算。在程序中,系统中的每台发电机有且仅有一个发电机对象与之对应。

2.1.1成员变量说明

输入参数:步长Step、类型type、容量Cap、平均无故障工作时间MTTF、平均修复时间MTTR
导出参数:运行概率p、强迫停运率q、故障率lamda、修复率mu
停运表参数:停运表长度NSM、停运表列向量,如运行容量X、停运容量X0、确切概率P、累计概率P0、增量频率f、累计频率F0
停运表:机组停运表OutageTable、系统停运表SysOutageTable(用于发电系统停运表的中间计算过程)

2.1.2成员函数说明

1)构造函数Generator

输入:Step、type、Cap、MTTF、MTTR
返回:发电机对象obj
功能:函数中,对成员变量Step、type、Cap、MTTF、MTTR进行赋值,计算p、q、lamda、mu、NSM,对停运表列向量进行初始化。

2)计算发电机停运表calGenOutageTable

输入:发电机对象obj
返回:无
功能:分别根据公式计算停运表列向量的每个元素,最后将其合并成OutageTable,并将SysOutageTable初始化为OutageTable。

3)打印发电机参数printGenPara

输入:发电机对象obj、发电机编号i
返回:无
功能:通过disp函数将对应发电机的机组参数打印在控制台,包括类型type、容量Cap、平均无故障工作时间MTTF、平均修复时间MTTR、运行概率p、强迫停运率q、故障率lamda、修复率mu。

4)打印发电机停运表printGenOutageTable

输入:发电机对象obj、发电机编号i
返回:发电机停运表reOutageTable
功能:通过disp函数将对应发电机的单机停运表打印在控制台,并返回停运表整体。

5)计算发电机卷积结果calGenConvolution

输入:待计算的两台发电机对象obj1和obj2
返回:发电机停运表reOutageTable
功能:调用ParallelConnect函数,计算obj1.SysOutageTable和obj2.OutageTable两个停运表的卷积,将结果储存在obj2.SysOutageTable中。

6)打印发电系统停运表printGenSysOutageTable

输入:发电机对象obj
返回:发电系统停运表reSysOutageTable
功能:通过disp函数将发电系统停运表打印在控制台,并返回停运表整体。

2.2Load类

负荷类用于定义负荷,并进行与负荷相关的计算。在程序中,系统中的各个节点的负荷有且仅有一个负荷对象与之对应。

2.2.1成员变量说明

输入参数:步长Step、负荷基值LoadBase、负荷标幺值LoadData
导出参数:总时段数T
停运表参数:停运表长度NSM、停运表列向量,如运行容量X、停运容量X0、确切概率P、累计概率P0、增量频率f、累计频率F0
停运表:负荷停运表OutageTable

2.2.2成员函数说明

1)构造函数Load

输入:Step、LoadBase、LoadData
返回:负荷对象obj
功能:函数中,对成员变量Step、LoadBase、LoadData进行赋值,计算T、NSM,对停运表列向量进行初始化。

2)计算负荷停运表calLoadOutageTable

输入:负荷对象obj
返回:无
功能:扫描负荷曲线,形成概率表和频率表,之后再形成停运表列向量,最后将各列向量合并成OutageTable。

3)打印负荷停运表printLoadOutageTable

输入:负荷对象obj
返回:负荷停运表reOutageTable
功能:通过disp函数将对应负荷的停运表打印在控制台,并返回停运表整体。

2.3Line类

输电线路类用于定义输电线路,并进行与输电线路相关的计算。在程序中,系统中的每条输电线路有且仅有一个输电线路对象与之对应。

2.3.1成员变量说明

输入参数:步长Step、类型type、容量Cap、平均无故障工作时间MTTF、平均修复时间MTTR
导出参数:运行概率p、强迫停运率q、故障率lamda、修复率mu
停运表参数:停运表列向量,如运行容量X、停运容量X0、确切概率P、累计概率P0、增量频率f、累计频率F0
停运表:机组停运表OutageTable、系统停运表SysOutageTable(用于输电线路整体停运表的中间计算过程)

2.3.2成员函数说明

1)构造函数Line

输入:Step、type、Cap、MTTF、MTTR
返回:输电线路对象obj
功能:函数中,对成员变量Step、type、Cap、MTTF、MTTR进行赋值,计算p、q、lamda、mu,对停运表列向量进行初始化。

2)计算输电线路停运表calLineOutageTable

输入:输电线路对象obj
返回:无
功能:分别根据公式计算停运表列向量的每个元素,最后将其合并成OutageTable,并将SysOutageTable初始化为OutageTable。

3)打印输电线路参数printLinePara

输入:输电线路对象obj、输电线路编号i
返回:无
功能:通过disp函数将对应输电线路参数打印在控制台,包括类型type、容量Cap、平均无故障工作时间MTTF、平均修复时间MTTR、运行概率p、强迫停运率q、故障率lamda、修复率mu。

4)计算输电线路卷积结果calLineConvolution

输入:待计算的两条输电线路对象obj1和obj2
返回:无
功能:调用ParallelConnect函数,计算obj1.SysOutageTable和obj2.OutageTable两个停运表的卷积,将结果储存在obj2.SysOutageTable中。

5)打印输电线路系统停运表printLineSysOutageTable

输入:输电线路对象obj
返回:输电线路系统停运表reSysOutageTable
功能:通过disp函数将输电线路系统停运表打印在控制台,并返回停运表整体。

2.4Transformer类

变压器类用于定义变压器,并进行与变压器相关的计算。在程序中,系统中的每台变压器有且仅有一个变压器对象与之对应。

2.4.1成员变量说明

输入参数:步长Step、类型type、容量Cap、平均无故障工作时间MTTF、平均修复时间MTTR
导出参数:运行概率p、强迫停运率q、故障率lamda、修复率mu
停运表参数:停运表列向量,如运行容量X、停运容量X0、确切概率P、累计概率P0、增量频率f、累计频率F0
停运表:机组停运表OutageTable、系统停运表SysOutageTable(用于变压器整体停运表的中间计算过程)

2.4.2成员函数说明

1)构造函数Transformer

输入:Step、type、Cap、MTTF、MTTR
返回:输电线路对象obj
功能:函数中,对成员变量Step、type、Cap、MTTF、MTTR进行赋值,计算p、q、lamda、mu,对停运表列向量进行初始化。

2)计算变压器停运表calTransOutageTable

输入:变压器对象obj
返回:无
功能:分别根据公式计算停运表列向量的每个元素,最后将其合并成OutageTable,并将SysOutageTable初始化为OutageTable。

3)打印变压器参数printTransPara

输入:变压器对象obj、变压器编号i
返回:无
功能:通过disp函数将对应变压器参数打印在控制台,包括类型type、容量Cap、平均无故障工作时间MTTF、平均修复时间MTTR、运行概率p、强迫停运率q、故障率lamda、修复率mu。

4)打印变压器停运表printTransOutageTable

输入:变压器对象obj、变压器编号i
返回:变压器停运表reOutageTable
功能:通过disp函数将对应变压器的单机停运表打印在控制台,并返回停运表整体。

5)计算变压器卷积结果calTransConvolution

输入:待计算的两台变压器对象obj1和obj2
返回:无
功能:调用ParallelConnect函数,计算obj1.SysOutageTable和obj2.OutageTable两个停运表的卷积,将结果储存在obj2.SysOutageTable中。

6)打印变压器系统停运表printTransSysOutageTable

输入:变压器对象obj
返回:变压器系统停运表reSysOutageTable
功能:通过disp函数将变压器系统停运表打印在控制台,并返回停运表整体。

2.5System类

系统类用于定义待进行可靠性计算的电力系统,并进行与之相关的计算。在程序中仅有一个系统对象用于表示待计算的问题系统。

2.5.1成员变量说明

输入参数:步长Step
停运表参数:停运表列向量,如运行容量X、停运容量X0、确切概率P、累计概率P0、增量频率f、累计频率F0
停运表:发电系统停运表GenOutageTable、负荷系统停运表LoadOutageTable、输电线路停运表LineOutageTable、变压器系统停运表TransOutageTable、发电系统裕度表G_SysMarginTable、输电系统裕度表T_SysMarginTable、互联系统裕度表GT_SysMarginTable
可靠性指标:发电系统(G_LOLP、G_LOLE、G_EENS、G_LOLF、G_D),互联系统(GT_LOLP、GT_LOLE、GT_EENS、GT_LOLF、GT_D)

2.5.2成员函数说明

1)构造函数System

输入:Step
返回:系统对象obj
功能:函数中,对成员变量Step进行赋值。

2)打印发电系统裕度表printG_SysMarginTable

输入:系统对象obj
返回:无
功能:通过disp函数将发电系统的停运表打印在控制台。

3)打印输电系统停运表printT_SysOutageTable

输入:系统对象obj
返回:无
功能:通过disp函数将输电系统的停运表打印在控制台。

4)打印互联系统裕度表printGT_SysMarginTable

输入:系统对象obj
返回:无
功能:通过disp函数将互联系统的停运表打印在控制台。

5)计算发电系统裕度表calG_SysMarginTable

输入:系统对象obj
返回:无
功能:调用ParallelConnect函数,计算发电系统停运表obj.GenOutageTable和负荷停运表obj.LoadOutageTable的卷积,将结果储存在发电系统裕度表obj.G_SysMarginTable中。

6)计算输电系统停运表calT_SysOutageTable

输入:系统对象obj
返回:无
功能:先对停运表进行改造,使之可以进行串联计算。调用SeriesConnect函数,计算输电线路系统停运表obj.LineOutageTable和变压器系统停运表obj.TransOutageTable的卷积,将结果储存在输电系统停运表obj.T_SysOutageTable中。

7)计算互联系统停运表calGT_SysMarginTable

输入:系统对象obj
返回:无
功能:分三步进行,先形成B向A支援的等效发电机组停运表B_GenSysMarginTable,再将支援等效发电机并入系统A,即调用ParallelConnect函数,计算支援等效发电机B_GenSysMarginTable和A系统obj.G_SysMarginTable的停运表的卷积。

8)计算发电系统可靠性指标calG_SysRI

输入:系统对象obj,时期T
返回:无
功能:计算并输出发电系统的可靠性指标LOLP、LOLE、EENS、LOLF、D。

9)计算互联系统可靠性指标calG_SysRI

输入:系统对象obj,时期T
返回:无
功能:计算并输出互联系统的可靠性指标LOLP、LOLE、EENS、LOLF、D。

2.6ParallelConnect函数

输入:两个停运表A和B
返回:计算结果停运表re
功能:用于计算停运表A和B的并联组合(卷积)。

2.7SeriesConnect函数

输入:两个停运表A和B
返回:计算结果停运表re
功能:用于计算停运表A和B的串联组合。

3.使用说明

3.1数据输入

在InputData.xlsx中进行数据输入,各个表单的释义详见表1。
如果算例设置为例3-3,则需要输入Para、GenSysData of Ex.3-3、Load of Ex.3-3这三个表单。
如果算例设置为例3-5,则需要输入Para、GenSysData of Ex.3-3、Load of Ex.3-3、LineData of Ex.3-5、TransformerData of Ex.3-5这五个表单。
如果算例设置为RTS-79系统,则需要输入Para、GenSysData、WeekLoad、DailyLoad、HourlyLoad这五个表单。

3.2程序执行

打开MATLAB,执行main函数,执行结果如图1所示,程序中对当前代码的执行情况有较为详细的交互输出进行说明。
在这里插入图片描述

图 1 程序执行过程截图

3.3结果输出

程序执行完毕后,结果输出在OutputData.xlsx中,各个表单的含义详见表2。
如果算例设置为例3-3和RTS-79系统,则输出结果在发电系统的裕度表、发电系统的可靠性指标这两个表单。如果算例设置为例3-5,则输出结果在互联系统的裕度表、互联系统的可靠性指标这两个表单。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值