资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
综合课程设计报告 综合课程设计报告10KV变电站微机三段式电流保护设计组员:玉苏甫艾力 电气0906班 09291191 阿卜拉苏力旦 电气0907班 08291166指导老师:倪平浩时间:2012年1 1月7日星期三 10kV变电站微机三段式电流保护设计设计任务:设计10kV变电站负荷线路三段式电流保护,保护在线路不同故障范围发生故障时,能正确作出判断并在给定的延时时间,发出跳闸信号,并给出动作信号指示。设计要求:(1)了解熟悉10kV变电站主接线结构。(2)掌握三段式电流保护工作原理。(3)设计微机型三段式电流保护数据采集、跳闸以及信号电路。(4)设计三段式电流保护软件流程图。(5)采用单片机(或高级语言)编写保护程序。(6)完成整个系统的软件和硬件调试,最后联机实现要求功能,并撰写设计报告。一、设计内容 根据综合课程设计的任务,老师要求我们这次主要是利用Java完成程序设计,包括数据采集,跳闸信息及信号输出,实现三段式电流保护功能。二、理论知识准备负荷线路主接线1、三段式电流保通过电力系统继电保护这门课程的学习,已经大致了解了电力系统三段式电流保护的基本原理。三段式电流保护是由无时限电流速断(一段电流保护)、限时电流速断(二段电流保护)与定时限过电流保护(三段电流保护)组合而构成的一套保护装置。当保护线路上发生短路故障时,其主要特征为电流增加和电压降低。因此,三段式电流保护,顾名思义,就是通过检测电流的大小,来控制和启动保护。因此需要给各段电流保护设定相应的整定电流值,三段电流保护的整定值满足I1I2I3,一段保护无延时,二、三段保护均在延时后动作,且满足t2t3。三段之间的配合(故障发生时):1)当故障电流大于一段整定值I1时,一、二、三段电流保护均启动,一段保护无延时动作,切除故障,二、三段保护返回,不动作 ;2)当故障电流大于二段整定值I2时,一段电流保护不启动,二、三段电流保护均启动,二段保护延时t2动作,切除故障,三段保护返回,不动作 ;3)当故障电流大于三段整定值I3时,一、二段电流保护不启动,三段电流保护启动,三段保护延时t3后动作,切除故障 。2、半周积分算法在这次课程设计中需要从.DAT文件中读取采样的随周期正弦变化的电流值来计算有效值,与整定值比较,从而决定电流保护的启动与动作。在电力系统微机保护中,对于正弦函数,常用半周积分法来估算电气量的有效值。因此,我们也选用这种方法来计算电流的有效值。半周积分法是利用正弦量在任意半个周期内绝对值的积分为一常数S,且积分值S和积分起始点的初相角无关这一特性来计算的。根据半周积分算法的原理,可得电流有效值的计算公式为:其中, 为正弦函数的角速度,即 ,N为一个周期内采样的点数,Ts为采样周期。三、综合设计这次专业综合课程设计主要是完成软件部分,即用Java完成程序,来实现三段式电流保护。1、 绘制流程图2、编写程序及调试程序,得出结果根据流程图,用Java写出程序,实现三段式电流保护。编写程序及运行结果如下:package com.xincainet;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class IntegratedDesign_homework public static IntegratedDesign_homework instance = new IntegratedDesign_homework();/* * reading local Numbers files and generate generateStrArrayByLocalFile * * author Abla And Yusupjan * return * throws IOException */public Integer generateStrArrayByLocalFile() throws IOException Integer extractNumbers = new Integer373;/Remark:extract_temp_numbers.txt file is included between 861 and 1233 numbersString path=D:integrated_design_homeworkextract_temp_numbers.txt;FileReader reader = new FileReader(path);BufferedReader bufferedReader = new BufferedReader(reader);String tempStr = null;int count = 0;while (tempStr = bufferedReader.readLine().trim() != null) count+;if (count = 373) extractNumberscount - 1 = Integer.valueOf(tempStr);if (count = 373) break;return extractNumbers;/_The test results are as shown below, total 373:_/* * Seeking an array composed by M values Arrays * * author Abla And Yusupjan * return * throws IOException */public Integer computeAndGenarateOf_M_ValuesArray() throws IOException Integer tempArray = instance.generateStrArrayByLocalFile();Integer M = new Integer363;Integer headHalfNumber = 0; /half of first number value (for example:X0/2,X1/2,X2/2,)Integer endHalfNumber = 0; /half of last number value (for example:X9/2,X10/2),X11/2,)Integer middleNumbersSum = 0; /The sum of the X and Y (for example:X1+X2+,+X8)Integer headCounter = 0; /counter of the first numberInteger middleCounter = 0; /counter of the middle numbers/ within of the M limitsfor (int i = 0; i M.length; i+) do headCounter+;headHalfNumber = tempArrayheadCounter - 1 / 2;middleCounter = headCounter;for (int j = headCounter; j 8 + headCounter; j+) middleCounter+;middleNumbersSum += tempArraymiddleCounter - 1;continue;endHalfNumber = tempArraymiddleCounter / 2;MheadCounter - 1 = headHalfNumber + middleNumbersSum+ endHalfNumber;break; while (middleCounter The test results are as shown below, total 363:-_/* * compute of I values and do compare it; * * author Abla And Yusupjan * * return */public Double computeOf_I_Values() throws IOException Integer tempArray = instance.computeAndGenarateOf_M_ValuesArray();Double I = new Double363;for (int j = 0; j tempArray.length; j+) Ij = (tempArrayj * Math.PI) / (20 * Math.sqrt(2);return I;/_The test results are as shown below, total 363:_/ Test the Methosdspublic static void main(String args) throws IOException Integer Array = instance.generateStrArrayByLocalFile(); Integer M = instance.computeAndGenarateOf_M_ValuesArray();Double I = instance.computeOf_I_Values();for (int i = 0; i I.length; i+) System.out.println(Ii);四、综合设计小结这次综合设计遇到了不小的问题,首先对高级语言的不熟悉带来了编程过程中的各种问题,其次对半周期算法就不是很熟悉,熟悉了之后,又对怎样通过程序实现算法产生了疑问,幸亏是两个人合作,我搭档擅长编程,设计过程我跟老师请教,编程部分由他来完成了。摆在面前的问题一个个被解决,最终也实现了题目预计目标。这次综合设计收获很多,希望以后能在这方面有所收获。5
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号