整理发电系统裕度表生成及可靠性指标计算.docx
《整理发电系统裕度表生成及可靠性指标计算.docx》由会员分享,可在线阅读,更多相关《整理发电系统裕度表生成及可靠性指标计算.docx(19页珍藏版)》请在冰豆网上搜索。
整理发电系统裕度表生成及可靠性指标计算
实验一发电机组停运表生成
一、实验目的
1、熟悉发电机组停运表的生成原理;
2、掌握用计算机编程形成发电机组停运表的方法。
二、实验原始数据及内容
1、实验原始数据:
某发电系统有A、B、C三台发电机组,其容量分别为30MW、40MW和50MW,强迫停运率分别为0.04、0.06和0.08,平均修复时间为38.0208333天。
2、实验内容:
(1)编制形成发电机组停运的程序;
(2)形成实验数据给出的三台发电机组停运表。
3、实验程序形成框图
4、实验程序结果
1、输入显示
2、结果显示
3、总结果显示
5、程序代码清单
实验一与实验三的程序编写在一个程序中,程序代码在实验三中。
6、心得体会
在编写第一个程序时c语言和matlab差距不太大,所要的数据也不多。
7、参考资料
1、电力系统规划基础
实验二负荷停运表生成
一、实验目的
1、熟悉负荷停运表的生成原理;
2、掌握用计算机编程形成负荷停运表的方法。
二、实验原始数据及实验内容
1、实验原始数据
某系统最大负荷为100MW,负荷曲线如图1所示。
图1某系统的日负荷曲线
2、实验内容
(1)编制形成负荷停运表的程序;
(2)形成图1所示的负荷停运表。
三、实验程序形成框图
以下两个框图:
第一个是整个程序的形成框图,第二个是负荷频率表程序的形
成框图。
(2)负荷频率表的程序形成框图如下:
四、实验程序结果
1、输入系统的相关信息:
2、负荷频率表的形成矩阵结果如下:
3、负荷停运表的形成矩阵结果如下:
五、程序代码清单
clear;
PM=input('请输入系统的日负荷曲线对应的最大负荷PM:
PM=');
L=input('请输入系统的日负荷曲线对应的负荷L:
L=');
DX=input('请输入步长DX:
DX=');
T=length(L);%根据日负荷曲线确定周期T%%%%%%%%%%%%%%%%%%%%
n=PM/DX+1;FHTYB=zeros(n,5);
%定义负荷停运表矩阵初值%%%%%%%%%%%%%%
M=zeros(n,1);
fori=1:
n
FHTYB(i,1)=i-1;
end
%使负荷停运表矩阵第一列为序号%%%%%%%%%%%%%%%%%%%%%%%%%%%
fori=1:
n
FHTYB(i,2)=FHTYB(i,1)*DX;
end
%负荷停运表矩阵第二列为负荷功率%%%%%%%%%%%%%%%%%%%%%%%%%%
fori=1:
n
forj=1:
T
ifL(j)==FHTYB(i,2);
M(i)=M(i)+1;
end
end
end
fori=1:
n
ifM(i)~=0
FHTYB(i,5)=M(i)/T;
end
end
%负荷停运表矩阵第五列为确切概率%%%%%%%%%%%%%%%%%%%%%%%%%%
fori=1:
n
forj=i:
n
FHTYB(i,3)=FHTYB(i,3)+FHTYB(j,5);
end
end
%负荷停运表矩阵第三列为累积概率%%%%%%%%%%%%%%%%%%%%%%%%%%
fhplb=zeros(n,T+2);
NS=L(T)/DX+1;%扫描从零时刻开始,负荷水平取最后一个小时的负荷%%%%%
forI=1:
T
NS1=L(I)/DX+1;
ifNS>NS1
K=NS1+1;
forK=NS1+1:
NS
fhplb(K,I)=1;
fhplb(K,T+2)=fhplb(K,T+2)+1;
%只在负荷减少时记录为1,则横向相加就是累积频率%%%%%%%
end
NS=NS1;
I=I+1;
else
K=NS;
forK=NS:
NS1-1
fhplb(K,I)=-1;
end
NS=NS1;
I=I+1;
end
end
fori=1:
n
forj=1:
T
fhplb(i,T+1)=fhplb(i,T+1)+fhplb(i,j);
end
end
fori=1:
n
FHTYB(i,4)=fhplb(i,T+2);
end
%负荷停运表矩阵第四列列为累积频率%%%%%%%%%%%%%%%%%%%%%%%%
disp('负荷频率表');
fhplb
disp('负荷停运表');
FHTYB
%使所求的结果表现出负荷频率表矩阵,负荷停运表矩阵%%%%%%%%%%%%%%%
六、参考资料
1、《电力系统规划基础》
2、《电力系统的MATLAB/SIMULINK仿真与应用》
实验三发电系统裕度表生成及可靠性指标计算
一、实验目的
1、熟悉发电系统可靠性计算原理;
2、掌握用计算机编程形成发电系统裕度表的方法;
3、掌握根据发电系统裕度表计算发电系统可靠性指标的方法
二、实验原始数据及实验内容
1、实验原始数据
某发电系统有3台发电机组,其容量分别为30MW,40MW和50MW,
强迫停运率分别为0.05,0.09和0.07,平均修复时间均为38.0208333天。
该
系统最大负荷为100MW,负荷曲线如图1所示。
2、实验内容
(1)编制形成发电系统裕度表及计算发电系统可靠性指标的程序;
(2)形成实验数据所给出的发电系统裕度表;
(3)计算实验数据所给出的发电系统可靠性指标。
三、实验程序形成框图
四、实验程序结果
5、程序代码清单
#include
main()
{intP1,P2,P3;
floatq1,q2,q3;
floatF1,F2,F3;
floatMTTR1,MTTR2,MTTR3;
floatu1,u2,u3;
floatp1,p2,p3;
doubleN1[10]={0},M1[10]={0},O1[10]={0},K1[10]={0},N2[10]={0},M2[10]={0},O2[10]={0},K2[10]={0},N3[10]={0},M3[10]={0},O3[10]={0},K3[10]={0};
doubleN4[20]={0},M4[20]={0},O4[20]={0},K4[20]={0},N5[20]={0},M5[20]={0},O5[20]={0},K5[20]={0};
inti,j;
doubleN6[20]={0},M6[20]={0},O6[20]={0},K6[20]={0};
doubleN7[30]={0},M7[30]={0},O7[30]={0};
doubleLOLP,EENS=0,LOLF;
//机组1停运表
printf("请输入机组1容量");
scanf("%d",&P1);
printf("请输入机组1强迫停运率");
scanf("%f",&q1);
printf("请输入机组1平均修复时间");
scanf("%f",&MTTR1);
u1=1/MTTR1;
F1=q1*u1;
p1=1-q1;
printf("i\t停运容量\t累积概率\t累积频率\t确切概率\n");
printf("0\t0\t1\t0\t%f\n",p1);
printf("1\t%d\t%f\t%f\t%f\n",P1,q1,F1,q1);
N1[0]=1;
for(i=1;i<=(P1/10);i++)
N1[i]=q1;
M1[0]=0;
for(i=1;i<=(P1/10);i++)
M1[i]=F1;
O1[0]=p1;
for(i=1;i<(P1/10);i++)
O1[i]=0;
O1[(P1/10)]=q1;
K1[0]=0-F1;
for(i=1;i<(P1/10);i++)
K1[i]=0;
K1[(P1/10)]=F1;
//机组2停运表
printf("请输入机组2容量");
scanf("%d",&P2);
printf("请输入机组2强迫停运率");
scanf("%f",&q2);
printf("请输入机组2平均修复时间");
scanf("%f",&MTTR2);
u2=1/MTTR2;
F2=q2*u2;
p2=1-q2;
printf("i\t停运容量\t累积概率\t累积频率\t确切概率\n");
printf("0\t0\t1\t0\t%f\n",p2);
printf("1\t%d\t%f\t%f\t%f\n",P2,q2,F2,q2);
N2[0]=1;
for(i=1;i<=(P2/10);i++)
N2[i]=q2;
M2[0]=0;
for(i=1;i<=(P2/10);i++)
M2[i]=F2;
O2[0]=p2;
for(i=1;i<(P2/10);i++)
O2[i]=0;
O2[(P2/10)]=q2;
K2[0]=0-F2;
for(i=1;i<(P2/10);i++)
K2[i]=0;
K2[(P2/10)]=F2;
//机组3停运表
printf("请输入机组3容量");
scanf("%d",&P3);
printf("请输入机组3强迫停运率");
scanf("%f",&q3);
printf("请输入机组3平均修复时间");
scanf("%f",&MTTR3);
u3=1/MTTR3;
F3=q3*u3;
p3=1-q3;
printf("i\t停运容量\t累积概率\t累积频率\t确切概率\n");
printf("0\t0\t1\t0\t%f\n",p3);
printf("1\t%d\t%f\t%f\t%f\n",P3,q3,F3,q3);
N3[0]=1;
for(i=1;i<=(P3/10);i++)
N3[i]=q3;
M3[0]=0;
for(i=1;i<=(P3/10);i++)
M3[i]=F3;
O3[0]=p3;
for(i=1;i<(P3/10);i++)
O3[i]=0;
O3[(P3/10)]=q3;
K3[0]=0-F3;
for(i=1;i<(P3/10);i++)
K3[i]=0;
K3[(P3/10)]=F3;
//1、2机组并联
N4[0]=O1[0]*N2[0]+O1[1]*N2[0]+O1[2]*N2[0]+O1[3]*N2[0];
N4[1]=O1[0]*N2[1]+O1[1]*N2[0]+O1[2]*N2[0]+O1[3]*N2[0];
N4[2]=O1[0]*N2[3]+O1[1]*N2[1]+O1[2]*N2[0]+O1[3]*N2[0];
M4[0]=O1[0]*M2[0]+O1[1]*M2[0]+O1[2]*M2[0]+O1[3]*M2[0]+K1[0]*N2[0]+K1[1]*N2[0]+K1[2]*N2[0]+K1[3]*N2[0];
M4[1]=O1[0]*M2[1]+O1[1]*M2[0]+O1[2]*M2[0]+O1[3]*M2[0]+K1[0]*N2[1]+K1[1]*N2[0]+K1[2]*N2[0]+K1[3]*N2[0];
M4[2]=O1[0]*M2[2]+O1[1]*M2[1]+O1[2]*M2[0]+O1[3]*M2[0]+K1[0]*N2[2]+K1[1]*N2[1]+K1[2]*N2[0]+K1[3]*N2[0];
O4[0]=O1[0]*O2[0]+O1[1]*0+O1[2]*0+O1[3]*0;
O4[1]=O1[0]*O2[1]+O1[1]*O2[0]+O1[2]*0+O1[3]*0;
O4[2]=O1[0]*O2[1]+O1[1]*O2[1]+O1[2]*O2[0]+O1[3]*0;
K4[0]=O1[0]*K2[0]+K1[0]*O2[0];
K4[1]=O1[0]*K2[1]+O1[1]*K2[0]+K1[0]*O2[1]+K1[0]*O2[1];
K4[2]=O1[0]*K2[2]+O1[1]*K2[1]+O1[2]*K2[0]+K1[0]*O2[2]+K1[1]*O2[1]+K1[2]*O2[0];
for(i=3;i<=((P1/10)+(P2/10));i++)
{N4[i]=O1[0]*N2[i-0]+O1[1]*N2[i-1]+O1[2]*N2[i-2]+O1[3]*N2[i-3];
M4[i]=O1[0]*M2[i-0]+O1[1]*M2[i-1]+O1[2]*M2[i-2]+O1[3]*M2[i-3]+K1[0]*N2[i-0]+K1[1]*N2[i-1]+K1[2]*N2[i-2]+K1[3]*N2[i-3];
O4[i]=O1[0]*O2[i-0]+O1[1]*O2[i-1]+O1[2]*O2[i-2]+O1[3]*O2[i-3];
K4[i]=O1[0]*K2[i-0]+O1[1]*K2[i-1]+O1[2]*K2[i-2]+O1[3]*K2[i-3]+K1[0]*O2[i-0]+K1[1]*O2[i-1]+K1[2]*O2[i-2]+K1[3]*O2[i-3];
}
printf("机组1与机组2并联的停运表\n");
printf("i\t停运容量\t累积概率\t累积频率\t确切概率\n");
for(i=0;i<=((P1/10)+(P2/10));i++)
{j=10*i;
printf("%d\t%d\t%1.10f\t%1.10f\t%1.10f\n",i,j,N4[i],M4[i],O4[i]);
}
//全部并联
N5[0]=O3[0]*N4[0]+O3[1]*N4[0]+O3[2]*N4[0]+O3[3]*N4[0]+O3[4]*N4[0]+O3[5]*N4[0];
N5[1]=O3[0]*N4[1]+O3[1]*N4[0]+O3[2]*N4[0]+O3[3]*N4[0]+O3[4]*N4[0]+O3[5]*N4[0];
N5[2]=O3[0]*N4[2]+O3[1]*N4[1]+O3[2]*N4[0]+O3[3]*N4[0]+O3[4]*N4[0]+O3[5]*N4[0];
N5[3]=O3[0]*N4[3]+O3[1]*N4[2]+O3[2]*N4[1]+O3[3]*N4[0]+O3[4]*N4[0]+O3[5]*N4[0];
N5[4]=O3[0]*N4[4]+O3[1]*N4[3]+O3[2]*N4[2]+O3[3]*N4[1]+O3[4]*N4[0]+O3[5]*N4[0];
M5[0]=O3[0]*M4[0]+O3[1]*M4[0]+O3[2]*M4[0]+O3[3]*M4[0]+O3[4]*M4[0]+O3[5]*M4[0]+K3[0]*N4[0]+K3[1]*N4[0]+K3[2]*N4[0]+K3[3]*N4[0]+K3[4]*N4[0]+K3[5]*N4[0];
M5[1]=O3[0]*M4[1]+O3[1]*M4[0]+O3[2]*M4[0]+O3[3]*M4[0]+O3[4]*M4[0]+O3[5]*M4[0]+K3[0]*N4[1]+K3[1]*N4[0]+K3[2]*N4[0]+K3[3]*N4[0]+K3[4]*N4[0]+K3[5]*N4[0];
M5[2]=O3[0]*M4[2]+O3[1]*M4[1]+O3[2]*M4[0]+O3[3]*M4[0]+O3[4]*M4[0]+O3[5]*M4[0]+K3[0]*N4[2]+K3[1]*N4[1]+K3[2]*N4[0]+K3[3]*N4[0]+K3[4]*N4[0]+K3[5]*N4[0];
M5[3]=O3[0]*M4[3]+O3[1]*M4[2]+O3[2]*M4[1]+O3[3]*M4[0]+O3[4]*M4[0]+O3[5]*M4[0]+K3[0]*N4[3]+K3[1]*N4[2]+K3[2]*N4[1]+K3[3]*N4[0]+K3[4]*N4[0]+K3[5]*N4[0];
M5[4]=O3[0]*M4[4]+O3[1]*M4[3]+O3[2]*M4[2]+O3[3]*M4[1]+O3[4]*M4[0]+O3[5]*M4[0]+K3[0]*N4[4]+K3[1]*N4[3]+K3[2]*N4[2]+K3[3]*N4[1]+K3[4]*N4[0]+K3[5]*N4[0];
O5[0]=O3[0]*O4[0];
O5[1]=O3[0]*O4[1]+O3[1]*O4[0];
O5[2]=O3[0]*O4[2]+O3[1]*O4[1]+O3[2]*O4[0];
O5[3]=O3[0]*O4[3]+O3[1]*O4[2]+O3[2]*O4[1]+O3[3]*O4[0];
O5[4]=O3[0]*O4[4]+O3[1]*O4[3]+O3[2]*O4[2]+O3[3]*O4[1]+O3[4]*O4[0];
for(i=5;i<=((P1/10)+(P2/10)+(P3/10));i++)
{N5[i]=O3[0]*N4[i-0]+O3[1]*N4[i-1]+O3[2]*N4[i-2]+O3[3]*N4[i-3]+O3[4]*N4[i-4]+O3[5]*N4[i-5];
M5[i]=O3[0]*M4[i-0]+O3[1]*M4[i-1]+O3[2]*M4[i-2]+O3[3]*M4[i-3]+O3[4]*M4[i-4]+O3[5]*M4[i-5]+K3[0]*N4[i-0]+K3[1]*N4[i-1]+K3[2]*N4[i-2]+K3[3]*N4[i-3]+K3[4]*N4[i-4]+K3[5]*N4[i-5];
O5[i]=O3[0]*O4[i-0]+O3[1]*O4[i-1]+O3[2]*O4[i-2]+O3[3]*O4[i-3]+O3[4]*O4[i-4]+O3[5]*O4[i-5];
}
printf("所有机组并联的停运表\n");
printf("i\t停运容量\t累积概率\t累积频率\t确切概率\n");
for(i=0;i<=((P1/10)+(P2/10)+(P3/10));i++)
{j=10*i;
printf("%d\t%d\t%1.10f\t%1.10f\t%1.10f\n",i,j,N5[i],M5[i],O5[i]);
}
//负荷停运表
printf("负荷停运表\n");
N6[0]=1;M6[0]=0;O6[0]=0;
N6[1]=1;M6[1]=0;O6[1]=0;
N6[2]=1;M6[2]=0;O6[2]=0;
N6[3]=1;M6[3]=0;O6[3]=0;
N6[4]=1;M6[4]=0;O6[4]=0;
N6[5]=1;M6[5]=0;O6[5]=0.0416667;
N6[6]=0.958333;M6[6]=1;O6[6]=0.208333;
N6[7]=0.75;M6[7]=1;O6[7]=0.125;
N6[8]=0.625;M6[8]=1;O6[8]=0.208333;
N6[9]=0.416667;M6[9]=4;O6[9]=0.25;
N6[10]=0.166667;M6[10]=2;O6[10]=0.166667;
K6[5]=-1;K6[6]=0;K6[7]=0;K6[8]=-3;K6[9]=2;K6[10]=2;
printf("i\t停运容量\t累积概率\t累积频率\t确切概率\n");
for(i=0;i<11;i++)
{j=i*10;
printf("%d\t%d\t%f\t%f\t%f\n",i,j,N6[i],M6[i],O6[i]);
}
//发电系统裕度表
N7[0]=O6[5]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];
N7[1]=O6[5]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];
N7[2]=O6[5]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];
N7[3]=O6[5]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];
N7[4]=O6[5]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];
N7[5]=O6[5]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];
N7[6]=O6[5]*N5[1]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];
N7[7]=O6[5]*N5[2]+O6[6]*N5[1]+O6[7]+O6[8]+O6[9]+O6[10];
N7[8]=O6[5]*N5[3]+O6[6]*N5[2]+O6[7]*N5[1]+O6[8]+O6[9]+O6[10];
N7[9]=O6[5]*N5[4]+O6[6]*N5[3]+O6[7]*N5[2]+O6[8]*N5[1]+O6[9]+O6[10];
M7[0]=M7[1]=M7[2]=M7[3]=M7[4]=M7[5]=0;
M7[6]=O6[5]*M5[1]+K6[5]*N5[1]+K6[6]*+K6[7]+K6[8]+K6[9]+K6[10];
M7[7]=O6[5]*M5[2]+O6[6]*M5[1]+K6[5]*N5[2]+K6[6]*N5[1]+K6[7]+K6[8]+K6[9]+K6[10];
M7[8]=O6[5]*M5[3]+O6[6]*M5[2]+O6[7]*M5[1]+K6[5]*N5[3]+K6[6]*N5[2]+K6[7]*N5[1]+K6[8]+K6[9]+K6[10];
M7[9]=O6[5]*M5[4]+O6[6]*M5[3]+O6[7]*M5[2]+O6[8]*M5[1]+K6[5]*N5[4]+K6[6]*N5[3]+K6[7]*N5[2]+K6[8]*N5[1]+K6[9]+K6[10];
O7[0]=O7[1]=O7[2]=O7[3]=O7[4]=0;
O7[5]=O6[5]*O5[0];
O7[6]=O6[5]*O5[1]+O6[6]*O5[0];
O7[7]=O6[5]*O5[2]+O6[6]*O5[1]+O6[7]*O5[0];
O7[8]=O6[5]*O5[3]+O6[6]*O5[2]+O6[7]*O5[1]+O6[8]*O5[0];
O7[9]=O6[5]*O5[4]+O6[6]*O5[3]+O6[7]*O5[2]+O6[8]*O5[1]+O6[9]*O5[0];
for(i=10;i<=((P1/10)+(P2/10)+(P3/10)+10);i++)
(5)为保障评价对象建成或实施后能安全运行,应从评价对象的总图布置、功能分布、工艺流程、设施、设备、装置等方面提出安全技术对策措施;从评价对象的组织机构设置、人员管理、物料管理、应急救援管理等方面提出安全管理对策措施;从保证评价对象安全运行的需要提出其他安全对策措施。
对策措施的建议应有针对性、技术可行性和经济合理性,可分为应采纳和宜采纳两种类型。
{N7[i]=O6[5]*N5[i-5]+O6[6]*N5[i-6]+O6[7]*N5[i-7]+O6[8]*N5[i-8]+O6[9]*N5[i-9]+O6[10]*N5[i-10];
M7[i]=O6[5]*M5[i-5]+O6[6]*M5[i-6