Разработка алгоритма, составление и отладка программы на ПЭВМ для расчётов режима и потерь электроэнергии в распределительной электрической сети 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