Разработка алгоритма, составление и отладка программы на ПЭВМ для расчётов режима и потерь электроэнергии в распределительной электрической сети 6-20 кВ

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



ринимается равным номинальному напряжению сети Uном);ном j - номинальная мощность трансформатора j, кВА (указана на схеме).

Постоянные потери электроэнергии в стали трансформаторов DWхх равны:

,(11)

;(12)

DРхх j - потери холостого хода трансформатора j, кВт (справочные данные).

Все искомые величины DW, DWл, DWт, DWхх и сумма (DWл + DWт) должны быть рассчитаны в именованных единицах (кВт) и в процентах по отношению к потоку электроэнергии на головном участке линии Wгу:

,(13)

.(14)

Кроме потерь электрической энергии, в работе необходимо определить потери активной мощности DР:

,(15)

,(16)

,(17)

,(18)

в кВт и(19)

в процентах по отношению к потоку активной мощности на головном участке схемы Ргу:

,,

,,

.

Поток мощности на головном участке линии равен сумме нагрузок всех узлов ?PСШ и суммарных потерь активной мощности ?P в схеме.

.(20)

Аналогичным образом определяются потери реактивной мощности DQ:

,(21)

,(22)

,(23)

,(24)

где Ixx j - ток холостого хода трансформатора j, % (справочные данные),

в кВАр и(25)

в процентах:

,,

,,

,.

Значение потока мощности Qгу на головном участке линии равен сумме нагрузок всех узлов ?QСШ и суммарных потерь реактивной мощности ?Q в схеме.

В формулах (22), (23):

,(26)

- реактивное сопротивление i-о линейного участка схемы, Ом;i - удельное реактивное сопротивление, Ом/км (берется из справочных данных), а

,(27)

- реактивное сопротивление трансформатора j, Ом;- модуль полного сопротивления трансформатора j, Ом:

;(28)

кз % - напряжение короткого замыкания трансформатора j, % (берется из справочных данных).

Для каждого участка схемы (линейного и трансформаторного) требуется определить потери напряжения DU, кВ:

,(29)

где P, Q, r, и x - это потоки мощности (P, Q) и сопротивления (r, x) как для линейных (Pi, Qi, ri, xi), так и для трансформаторных (Pj, Qj, rj, xj) участков схемы.

Для каждого узла сети (кроме первого) необходимо вычислить напряжение Uj:

,(30)

ип - заданное напряжение источника питания (первый узел схемы).

DUипСШ - суммарные потери напряжения на пути от источника питания до узла j схемы.

Первый узел служит источником питания для всей схемы сети. Значение Uип принимать равным (1,03 1,15)Uном.

После данного расчета напряжения за трансформаторами приводятся к стороне низшего напряжения по формуле:

,(31)

.

2. БлоК СХЕМЫ И АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ

В программе использовались следующие блок-схемы:

Рисунок 2 - Блок-схема программы

Рисунок 3 - Блок-схема чтения данных

Рисунок 4 - Блок-схема расчёта

Рисунок 5 - Блок-схема формирования графического представления результатов расчёта

Алгоритм программы (код программы)

import java.io.*;java.util.*;java.util.regex.*;java.lang.Math;javax.swing.JFrame;javax.swing.JButton;javax.swing.JPanel;java.awt.BorderLayout;java.awt.FlowLayout;javax.swing.*;javax.swing.border.BevelBorder;java.awt.Graphics2D;java.awt.Graphics;java.awt.geom.*;java.awt.event.ActionListener;java.awt.event.ActionEvent;java.text.DecimalFormat;javax.imageio.ImageIO;java.awt.image.BufferedImage;java.awt.Font;class GlavnProg extends JFrame{JPanel buttons;PanelRisov pic;JButton paint,calc;al;GlavnProg(){=new JPanel();.setSize(200,30);.setLayout(new FlowLayout());=new PanelRisov();.setSize(700,465);= new JButton("Risunok");=new JButton("Podschet");.addActionListener(new Risovanie(this));/*new ActionListener(){void actionPerformed(ActionEvent e){=readS();.calculate();.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));(pic,BorderLayout.CENTER);

}

});*/.setEnabled(false);.addActionListener(new ActionListener(){void actionPerformed(ActionEvent e){bi=(BufferedImage)pic.createImage(pic.getWidth(),pic.getHeight());D g2=bi.createGraphics();.paint(g2);.dispose();{.write(bi,"jpeg",new File("ResPict.jpeg"));

}catch(Exception exc){exc.printStackTrace();}

}

});.add(calc);.add(paint);(new BorderLayout());(buttons,BorderLayout.NORTH);.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));(pic,BorderLayout.CENTER);("Trans and Wires");(1000,700);(false);(EXIT_ON_CLOSE);(true);

}static void main(String[] args){l;dd[];rsd=new GlavnProg();

}LineMassive readS(){sc;();al1=new LineMassive();nn,nk,Tmatj,Snomj;L,Ksj,Cosfij;wire[]=new double[5],trans[]=new double[10];wireName="";wireQ=true;{raf=new RandomAccessFile("ishod.txt","r");s="",d;((s=raf.readLine())!=null){=new String(s.getBytes("ISO-8859-1"),"Cp1251");.setOut(new PrintStream(System.out, true, "cp866"));.add(d);

}.close();

}catch(Exception e){.printStackTrace();

}ii;temp,s;(int i=7;i<al.size()-1;i++){=0;nk=0;Snomj=0;Tmatj=0;=.0;Ksj=.0;Cosfij=.0;=null;=al.get(i);=new Scanner(s).useDelimiter(":");=sc.next();=temp.trim();=Integer.valueOf(temp);=sc.next();=temp.trim();=Integer.valueOf(temp);=sc.next();=temp.trim();(temp.lastIndexOf("-")!=0){=temp;=readWire(wireName);=true;

}=sc.next();=temp.trim();(temp.lastIndexOf("-")<0){=Double.valueOf(temp);

}=sc.next();=temp.trim();(temp.lastIndexOf("-")<0){=Integer.valueOf(temp);=readTrans(Integer.toString(Snomj));=false;

}=sc.next();=temp.trim();(temp.lastIndexOf("-")<0){=Double.valueOf(temp);

}=sc.next();=temp.trim();(temp.lastIndexOf("-")<0){=Integer.valueOf(temp);

}=sc.next();=temp.trim();(temp.lastIndexOf("-")<0){=Double.valueOf(temp);

}(wireQ){.add(new Line(nn,nk,L,Ksj,Tmatj,Cosfij,wireName).setWire(wire));

} else {.add(new Line(nn,nk,L,Ksj,Tmatj,Cosfij,wireName).setTrans(trans));

}

}al1;

}double[] readWire(String wire){[] date=new double[5];sc;dd;c=0;{raf=new RandomAccessFile("wires.txt","r");s="",d,temp;((s=raf.readLine())!=null){(s.endsWith("-----")||c0){i=0;=new Scanner(d).useDelimiter(":");.next();(sc.hasNext())[i++]=Double.valueOf(sc.next().trim());[0]=date[0]*1000.0;

}

}.close();

}catch(Exception e){.printStackTrace();

}date;

}double[] readTrans(String snom){[] date=new double[10];sc;dd;{raf=new RandomAccessFile("trans.txt","r");s="",d;((s=raf.readLine())!=null){=new String(s.getBytes("ISO-8859-1"),"Cp1251");(d.indexOf(":"+snom)>0){i=0;=new Sca