Программная система расчета параметров, потерь мощности и энергии линий, трансформаторов для составления схем замещения и учета потерь

Основные расчеты электрических сетей. Отличия создаваемой программной системы. Обоснование выбора базовой платформы и языка программирования. Реализация программной системы. Принципы защиты информации. Передача мощных потоков энергии с минимумом потерь.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.01.2014
Размер файла 882,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

8. Электрические системы. Математические задачи электроэнергетики. / Веников В. А., Зуев Э. Н., Литкенс И. В. и др.; Под ред. В. А. Веникова. - М.: Высш. шк., 1981.

9. Ю. С. Железко, А. В. Артемьев, О. В. Савченко. Расчет, анализ и нормирование потерь электроэнергии в электрических сетях. Руководство для практических расчетов. - Издательство: Энас, 2005. 277 с.

10. Цукерник Л. В. Об оценке погрешности и чувствительности эквивалентирования схем замещения электроэнергетических систем. - Киев, 1984.

11. Поспелов Г. Е., Шапиро И. З., Фурсанов В. И. Применение вычислительной техники для расчета снижения и планирования технологического расхода электроэнергии в электрических сетях. - Минск, 1987.

12. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя / Пер. с англ. М.: ДМК, 2000. 432 с.

13. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. - С.-Пб.: Питер, 2001. - 368 с.

14. Рихтер Дж. Программирование на платформе Microsoft .NET Framework. Мастер-класс. / Пер. с англ. - 3-е изд. - М.: Издательско-торговый дом "Русская редакция",; СПб.: Питер, 2005. - 512 с.

15. Джордан Д. Обработка объектных баз данных в С++. Программирование по стандарту ODMG. - М.: Вильямс, 2001. - 384 с.

16. Sceppa, David. Microsoft ADO.NET : core reference / David Sceppa. ISBN 0-7356-1423-7. - 2002 by Microsoft Press.

17. База знаний Microsoft Press Knowledge Base http://microsoft.com/mspress/support

18. Библиотека MSDN http://www.msdn.microsoft.com/net

19. web - сайт Издательского дома «Питер» http://www.piter.com

20. web - сайт издательства Wrox http:// www.wrox.com

21. Хендерсон К. Профессиональное руководство по MS SQL Server: структура и реализация. / Пер. с англ. - М.: Издательский дом "Вильямс", 2006. - 1056 с.

22. Троелсен Э. С# и платформа .NET. Библиотека программиста. / Пер. с англ. - СПб.: Питер, 2006. - 796 с.

23. Джонсон Б., Скибо К., Янг М. Основы Microsoft Visual Studio .NET 2003 / Пер. с англ. - М.: Издательско-торговый дом "Русская редакция", 2003. - 464 с.

24. Разработка Windows-приложений Microsoft Visual Basic .NET и Microsoft Visual C# .NET. Учебный курс MCAD/MCSD. / Пер. с англ. - М.: Издательско-торговый дом "Русская редакция", 2003. - 512 с.

25. web - сайт издательства «Лори» http://www.lory-press.ru

26. Методичні вказівки до виконання економічної частини дипломних робіт для студентів усіх форм навчання спеціальності ПЗАС / Упор. Н.Б.Івченко, А.В.Суботіна - Харків:ХНУРЕ, 2003 - 28с.

27. Интрилигатор М. Математические методы оптимизации и экономическая теория. - М.: Прогресс, 1975. - 605 с.

28. Кобринский Н.Е., Майминас Е.З., Смирнов А.Д. Введение в экономическую кибернетику. - М: Экономика, 1975. - 342 с.

ПРИЛОЖЕНИЕ А

ЛИСТИНГ ПРОГРАММНОГО КОДА

Фрагмент кода модуля расчёта параметров линий.

// Получаем текущее значение строки через свойство

// Position объекта BindingContext

theLine = this.BindingContext[objDataSetLines,"Lines"].Position;

// Присваиваем переменным текущее значение полей строки

network = objDataSetLines.Lines[theLine].Network;

length = objDataSetLines.Lines[theLine].Length;

arrangementWires = objDataSetLines.Lines[theLine].ArrangementWires;

type = objDataSetLines.Lines[theLine].Type;

splitting = objDataSetLines.Lines[theLine].Splitting;

sectionWire = objDataSetLines.Lines[theLine].SectionWire;

diameterWire = objDataSetLines.Lines[theLine].DiameterWire;

// Проверка входных значений

if (length <= 0)

MessageBox.Show(Constants.msgL, "Error");

else if (diameterWire <= 0)

MessageBox.Show(Constants.msgDW, "Error");

else

{

switch(network)

{

case 110:

if ((splitting == 1) && (sectionWire == 70))

{

if ((type == "Aluminium") || (type == "Steel"))

{

if (arrangementWires == "Horizontally")

{

r =

(1 / (Constants.yA * sectionWire * Math.Pow(10, -6.0))) * (length * 1000);

temp1 = (Constants.d110H) / ((diameterWire * 0.001 ) / 2);

temp2 = Math.Log10(temp1);

xx = ((0.144 * temp2) + (12500 * Constants.m)) * length;

z = Math.Sqrt(Math.Pow(r, 2.0) + Math.Pow(xx, 2.0));

g =

((Constants.p110WAV70 * Math.Pow(10, 3.0)) / Math.Pow(110000, 2.0)) * length;

b = (Constants.i / temp2) * length;

y = Math.Sqrt(Math.Pow(g, 2.0) + Math.Pow(b, 2.0));

// Изменение значения поля ActiveResistance

DataRow change110ActiveResistance70 =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110ActiveResistance70[8] = r;

// Изменение значения поля InductiveReactance

DataRow change110InductiveReactance70 =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110InductiveReactance70[9] = xx;

// Изменение значения поля FullResistance

DataRow change110FullResistance70 =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110FullResistance70[10] = z;

// Изменение значения поля ActiveConductivity

DataRow change110ActiveConductivity70 =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110ActiveConductivity70[11] = g;

// Изменение значения поля JetConductivity

DataRow change110JetConductivity70 =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110JetConductivity70[12] = b;

// Изменение значения поля FullConductivity

DataRow change110FullConductivity70 =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110FullConductivity70[13] = y;

}

else if (arrangementWires == "Triangle")

{

r =

(1 / (Constants.yA * sectionWire * Math.Pow(10, -6.0))) * (length * 1000);

temp1 = (Constants.d110T) / ((diameterWire * 0.001 ) / 2);

temp2 = Math.Log10(temp1);

xx = ((0.144 * temp2) + (12500 * Constants.m)) * length;

z = Math.Sqrt(Math.Pow(r, 2.0) + Math.Pow(xx, 2.0));

g =

((Constants.p110WAV70 * Math.Pow(10, 3.0)) / Math.Pow(110000, 2.0)) * length;

b = (Constants.i / temp2) * length;

y = Math.Sqrt(Math.Pow(g, 2.0) + Math.Pow(b, 2.0));

// Изменение значения поля ActiveResistance

DataRow change110ActiveResistance70 =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110ActiveResistance70[8] = r;

// Изменение значения поля InductiveReactance

DataRow change110InductiveReactance70 =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110InductiveReactance70[9] = xx;

// Изменение значения поля FullResistance

DataRow change110FullResistance70 =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110FullResistance70[10] = z;

// Изменение значения поля ActiveConductivity

DataRow change110ActiveConductivity70 =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110ActiveConductivity70[11] = g;

// Изменение значения поля JetConductivity

DataRow change110JetConductivity70 =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110JetConductivity70[12] = b;

// Изменение значения поля FullConductivity

DataRow change110FullConductivity70 =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110FullConductivity70[13] = y;

}

else

{

MessageBox.Show(Constants.msgA, "Error");

// Изменение значения поля ActiveResistance

DataRow change110ActiveResistanceAW =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110ActiveResistanceAW[8] = Constants.zero;

// Изменение значения поля InductiveReactance

DataRow change110InductiveReactanceAW =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110InductiveReactanceAW[9] = Constants.zero;

// Изменение значения поля FullResistance

DataRow change110FullResistanceAW =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110FullResistanceAW[10] = Constants.zero;

// Изменение значения поля ActiveConductivity

DataRow change110ActiveConductivityAW =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110ActiveConductivityAW[11] = Constants.zero;

// Изменение значения поля JetConductivity

DataRow change110JetConductivityAW =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110JetConductivityAW[12] = Constants.zero;

// Изменение значения поля FullConductivity

DataRow change110FullConductivityAW =

objDataSetLines.Tables["Lines"].Rows[theLine];

change110FullConductivityAW[13] = Constants.zero;

}

}

Фрагмент кода модуля расчёта параметров трансформаторов.

// Получаем тукущее значение строки через свойство

// Position объекта BindingContext

theTransformer = this.BindingContext[objDataSetTransformers,"Transformers"].Position;

// Присваиваем переменным текущее значение полей строки

type = objDataSetTransformers.Transformers[theTransformer].Type;

fullPowerRating =

objDataSetTransformers.Transformers[theTransformer].FullPowerRating;

powerRatingUV =

objDataSetTransformers.Transformers[theTransformer].PowerRatingUV;

powerRatingMV =

objDataSetTransformers.Transformers[theTransformer].PowerRatingMV;

powerRatingLV =

objDataSetTransformers.Transformers[theTransformer].PowerRatingLV;

ratedUpperVoltage =

objDataSetTransformers.Transformers[theTransformer].RatedUpperVoltage;

ratedMediumVoltage =

objDataSetTransformers.Transformers[theTransformer].RatedMediumVoltage;

ratedLowVoltage =

objDataSetTransformers.Transformers[theTransformer].RatedLowVoltage;

voltageSCuvmv =

objDataSetTransformers.Transformers[theTransformer].VoltageSCuvmv;

voltageSCuvlv =

objDataSetTransformers.Transformers[theTransformer].VoltageSCuvlv;

voltageSCmvlv =

objDataSetTransformers.Transformers[theTransformer].VoltageSCmvlv;

lossesSCmax =

objDataSetTransformers.Transformers[theTransformer].LossesSCmax;

lossesSCuvmv =

objDataSetTransformers.Transformers[theTransformer].LossesSCuvmv;

lossesSCuvlv =

objDataSetTransformers.Transformers[theTransformer].LossesSCuvlv;

lossesSCmvlv =

objDataSetTransformers.Transformers[theTransformer].LossesSCmvlv;

lossesOfIdling =

objDataSetTransformers.Transformers[theTransformer].LossesOfIdling;

excitingCurrent =

objDataSetTransformers.Transformers[theTransformer].ExcitingCurrent;

// Проверка входных значений

switch(type)

{

case "Autotransformer":

if (fullPowerRating <= 0)

MessageBox.Show(Constants.msgFPR, "Error");

else if (powerRatingUV <= 0)

MessageBox.Show(Constants.msgPRUV, "Error");

else if (powerRatingMV <= 0)

MessageBox.Show(Constants.msgPRMV, "Error");

else if (powerRatingLV <= 0)

MessageBox.Show(Constants.msgPRLV, "Error");

else if (ratedUpperVoltage <= 0)

MessageBox.Show(Constants.msgRUV, "Error");

else if (voltageSCuvmv <= 0)

MessageBox.Show(Constants.msgVSCuvmv, "Error");

else if (voltageSCuvlv <= 0)

MessageBox.Show(Constants.msgVSCuvlv, "Error");

else if (voltageSCmvlv <= 0)

MessageBox.Show(Constants.msgVSCmvlv, "Error");

else if (lossesSCuvmv <= 0)

MessageBox.Show(Constants.msgLSCuvmv, "Error");

else if (lossesSCuvlv <= 0)

MessageBox.Show(Constants.msgLSCuvlv, "Error");

else if (lossesSCmvlv <= 0)

MessageBox.Show(Constants.msgLSCmvlv, "Error");

else if (lossesOfIdling <= 0)

MessageBox.Show(Constants.msgLOI, "Error");

else if (excitingCurrent <= 0)

MessageBox.Show(Constants.msgEС, "Error");

else

{

lossesSCuv = 0.5 * (lossesSCuvmv + lossesSCuvlv - lossesSCmvlv);

lossesSCmv = 0.5 * (lossesSCuvmv + lossesSCmvlv - lossesSCuvlv);

lossesSClv = 0.5 * (lossesSCuvlv + lossesSCmvlv - lossesSCuvmv);

prUV = fullPowerRating * (powerRatingUV / 100);

prMV = fullPowerRating * (powerRatingMV / 100);

prLV = fullPowerRating * (powerRatingLV / 100);

rUV = (lossesSCuv * Math.Pow(10, 3.0) * Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 6.0)) / (4 * Math.Pow(prUV, 2.0) * Math.Pow(10, 12.0));

rMV = (lossesSCmv * Math.Pow(10, 3.0) * Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 6.0)) / (4 * Math.Pow(prMV, 2.0) * Math.Pow(10, 12.0));

rLV = (lossesSClv * Math.Pow(10, 3.0) * Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 6.0)) / (4 * Math.Pow(prLV, 2.0) * Math.Pow(10, 12.0));

rUVMV = rUV + rMV;

rUVLV = rUV + rLV;

uUV = 0.5 * (voltageSCuvmv + voltageSCuvlv - voltageSCmvlv);

uMV = 0.5 * (voltageSCuvmv + voltageSCmvlv - voltageSCuvlv);

uLV = 0.5 * (voltageSCuvlv + voltageSCmvlv - voltageSCuvmv);

xUV = (uUV * Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 6.0)) /

(fullPowerRating * Math.Pow(10, 6.0) * 100);

xMV = (uMV * Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 6.0)) /

(fullPowerRating * Math.Pow(10, 6.0) * 100);

xLV = (uLV * Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 6.0)) /

(fullPowerRating * Math.Pow(10, 6.0) * 100);

xUVMV = xUV + xMV;

xUVLV = xUV + xLV;

g =

(lossesOfIdling * Math.Pow(10, 3.0)) / (Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 6.0));

b = (excitingCurrent * fullPowerRating * Math.Pow(10, 6.0)) / (Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 6.0) * 100);

mc = b * Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 3.0);

// Изменение значения поля ActiveResistanceUV

DataRow change1ActiveResistanceUV =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1ActiveResistanceUV[18] = rUV;

// Изменение значения поля ActiveResistanceMV

DataRow change1ActiveResistanceMV =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1ActiveResistanceMV[19] = rMV;

// Изменение значения поля ActiveResistanceLV

DataRow change1ActiveResistanceLV =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1ActiveResistanceLV[20] = rLV;

// Изменение значения поля ActiveResistanceUVMV

DataRow change1ActiveResistanceUVMV =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1ActiveResistanceUVMV[21] = rUVMV;

// Изменение значения поля ActiveResistanceUVLV

DataRow change1ActiveResistanceUVLV =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1ActiveResistanceUVLV[22] = rUVLV;

// Изменение значения поля InductiveReactanceUV

DataRow change1InductiveReactanceUV =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1InductiveReactanceUV[23] = xUV;

// Изменение значения поля InductiveReactanceMV

DataRow change1InductiveReactanceMV =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1InductiveReactanceMV[24] = xMV;

// Изменение значения поля InductiveReactanceLV

DataRow change1InductiveReactanceLV =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1InductiveReactanceLV[25] = xLV;

// Изменение значения поля InductiveReactanceUVMV

DataRow change1InductiveReactanceUVMV =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1InductiveReactanceUVMV[26] = xUVMV;

// Изменение значения поля InductiveReactanceUVLV

DataRow change1InductiveReactanceUVLV =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1InductiveReactanceUVLV[27] = xUVLV;

// Изменение значения поля ActiveConductivity

DataRow change1ActiveConductivity =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1ActiveConductivity[28] = g;

// Изменение значения поля JetConductivity

change1JetConductivity =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1JetConductivity[29] = b;

// Изменение значения поля MagnetizingCapacity

DataRow change1MagnetizingCapacity =

objDataSetTransformers.Tables["Transformers"].Rows[theTransformer];

change1MagnetizingCapacity[30] = mc;

}

break;

Фрагмент кода модуля расчёта потерь в линиях.

// Присваиваем переменным текущее значение полей строки

timeMaximumLosses =

objDataSetLossesLines.LossesInLines[theLine].TimeMaximumLosses;

hoursUseMaximum =

objDataSetLossesLines.LossesInLines[theLine].HoursUseMaximum;

cost1кWh = objDataSetLossesLines.LossesInLines[theLine].Cost1кWh;

// Присваиваем переменным текущее значение полей строки

network = objDataSetLossesLines.Lines[theLine].Network;

length = objDataSetLossesLines.Lines[theLine].Length;

splitting = objDataSetLossesLines.Lines[theLine].Splitting;

sectionWire = objDataSetLossesLines.Lines[theLine].SectionWire;

activeResistance = objDataSetLossesLines.Lines[theLine].ActiveResistance;

inductiveReactance = objDataSetLossesLines.Lines[theLine].InductiveReactance;

jetConductivity = objDataSetLossesLines.Lines[theLine].JetConductivity;

// Проверка входных значений

if (timeMaximumLosses <= 0)

MessageBox.Show(Constants.msgTML, "Error");

else if (hoursUseMaximum <= 0)

MessageBox.Show(Constants.msgHUM, "Error");

else if (cost1кWh <= 0)

MessageBox.Show(Constants.msgC1kWh, "Error");

else if ((network <= 0) || (length <= 0) ||

(splitting <= 0) || (sectionWire <= 0) ||

(activeResistance <= 0) || (inductiveReactance <= 0) ||

(jetConductivity <= 0))

MessageBox.Show(Constants.msgFZL, "Error");

else

{

switch(network)

{

case 110:

if ((splitting == 1) && (sectionWire == 70))

{

n = System.Convert.ToDouble(network);

lossesAC =

(((Math.Pow(activeCapacity, 2.0) * Math.Pow(10, 6.0)) + (Math.Pow(jetCapacity, 2.0) * Math.Pow(10, 6.0))) / (Math.Pow(n, 2.0) * Math.Pow(10, 6.0))) * activeResistance * Math.Pow(10, -3.0);

lossesJC = (((Math.Pow(activeCapacity, 2.0) * Math.Pow(10, 6.0)) + (Math.Pow(jetCapacity, 2.0) * Math.Pow(10, 6.0))) / (Math.Pow(n, 2.0) * Math.Pow(10, 6.0))) * inductiveReactance * Math.Pow(10, -3.0);

chargingC = Math.Sqrt((((Math.Pow(activeCapacity, 2.0) * Math.Pow(10, 6.0)) + (Math.Pow(jetCapacity, 2.0) * Math.Pow(10, 6.0))) / (Math.Pow(n, 2.0) * Math.Pow(10, 6.0))) / 3) * Math.Pow(n, 2.0) * Math.Pow(10, 3.0) *

jetConductivity * Math.Pow(10, -3.0);

coronaLMax =

Constants.p110Max70 * Math.Pow(10, 3.0) * length * Math.Pow(10, -3.0);

coronaLWAV =

Constants.p110WAV70 * Math.Pow(10, 3.0) * length * Math.Pow(10, -3.0);

coronaLMin =

Constants.p110Min70 * Math.Pow(10, 3.0) * length * Math.Pow(10, -3.0);

lossesFC = Math.Sqrt(Math.Pow((lossesAC + coronaLMax), 2.0) + Math.Pow((lossesJC - chargingC), 2.0));

lossesE = lossesAC * timeMaximumLosses;

coronaLE = coronaLWAV * hoursUseMaximum;

costLE = (lossesE + coronaLE) * cost1кWh;

// Изменение значения поля ActiveCapacity

DataRow changeActiveCapacity =

objDataSetLossesLines.Tables["LossesInLines"].Rows[theLine];

changeActiveCapacity[1] = activeCapacity;

// Изменение значения поля JetCapacity

DataRow changeJetCapacity =

objDataSetLossesLines.Tables["LossesInLines"].Rows[theLine];

changeJetCapacity[2] = jetCapacity;

// Изменение значения поля LossesActiveCapacity

DataRow changeLossesActiveCapacity =

objDataSetLossesLines.Tables["LossesInLines"].Rows[theLine];

changeLossesActiveCapacity[6] = lossesAC;

// Изменение значения поля LossesJetCapacity

DataRow changeLossesJetCapacity =

objDataSetLossesLines.Tables["LossesInLines"].Rows[theLine];

changeLossesJetCapacity[7] = lossesJC;

// Изменение значения поля CoronaLossesMax

DataRow changeCoronaLossesMax =

objDataSetLossesLines.Tables["LossesInLines"].Rows[theLine];

changeCoronaLossesMax[8] = coronaLMax;

// Изменение значения поля CoronaLossesWAV

DataRow changeCoronaLossesWAV =

objDataSetLossesLines.Tables["LossesInLines"].Rows[theLine];

changeCoronaLossesWAV[9] = coronaLWAV;

// Изменение значения поля CoronaLossesMin

DataRow changeCoronaLossesMin =

objDataSetLossesLines.Tables["LossesInLines"].Rows[theLine];

changeCoronaLossesMin[10] = coronaLMin;

// Изменение значения поля ChargingCapacity

DataRow changeChargingCapacity =

objDataSetLossesLines.Tables["LossesInLines"].Rows[theLine];

changeChargingCapacity[11] = chargingC;

// Изменение значения поля LossesFullCapacity

DataRow changeLossesFullCapacity =

objDataSetLossesLines.Tables["LossesInLines"].Rows[theLine];

changeLossesFullCapacity[12] = lossesFC;

// Изменение значения поля LossesEnergy

DataRow changeLossesEnergy =

objDataSetLossesLines.Tables["LossesInLines"].Rows[theLine];

changeLossesEnergy[13] = lossesE;

// Изменение значения поля CoronaLossesEnergy

DataRow changeCoronaLossesEnergy =

objDataSetLossesLines.Tables["LossesInLines"].Rows[theLine];

changeCoronaLossesEnergy[14] = coronaLE;

// Изменение значения поля CostLossesEnergy

DataRow changeCostLossesEnergy =

objDataSetLossesLines.Tables["LossesInLines"].Rows[theLine];

changeCostLossesEnergy[15] = costLE;

}

Фрагмент кода модуля расчёта потерь в трансформаторах.

// Присваиваем переменным текущее значение полей строки

timeMaximumLosses =

objDataSetLossesTrans.LossesInTransformers[theTransformer].TimeMaximumLosses;

hoursUseMaximum =

objDataSetLossesTrans.LossesInTransformers[theTransformer].HoursUseMaximum;

cost1кWh =

objDataSetLossesTrans.LossesInTransformers[theTransformer].Cost1кWh;

// Присваиваем переменным текущее значение полей строки

type = objDataSetLossesTrans.Transformers[theTransformer].Type;

fullPowerRating =

objDataSetLossesTrans.Transformers[theTransformer].FullPowerRating;

ratedUpperVoltage =

objDataSetLossesTrans.Transformers[theTransformer].RatedUpperVoltage;

activeResistanceUV =

objDataSetLossesTrans.Transformers[theTransformer].ActiveResistanceUV;

activeResistanceMV =

objDataSetLossesTrans.Transformers[theTransformer].ActiveResistanceMV;

activeResistanceLV =

objDataSetLossesTrans.Transformers[theTransformer].ActiveResistanceLV;

activeResistanceUVLV =

objDataSetLossesTrans.Transformers[theTransformer].ActiveResistanceUVLV;

inductiveReactanceUV =

objDataSetLossesTrans.Transformers[theTransformer].InductiveReactanceUV;

inductiveReactanceMV =

objDataSetLossesTrans.Transformers[theTransformer].InductiveReactanceMV;

inductiveReactanceLV =

objDataSetLossesTrans.Transformers[theTransformer].InductiveReactanceLV;

inductiveReactanceUVLV =

objDataSetLossesTrans.Transformers[theTransformer].InductiveReactanceUVLV;

activeConductivity =

objDataSetLossesTrans.Transformers[theTransformer].ActiveConductivity;

jetConductivity =

objDataSetLossesTrans.Transformers[theTransformer].JetConductivity;

// Проверка входных значений

switch(type)

{

case "Autotransformer":

if (timeMaximumLosses <= 0)

MessageBox.Show(Constants.msgPRMV, "Error");

else if (hoursUseMaximum <= 0)

MessageBox.Show(Constants.msgPRLV, "Error");

else if (cost1кWh <= 0)

MessageBox.Show(Constants.msgRUV, "Error");

else if ((fullPowerRating <= 0) || (ratedUpperVoltage <= 0) ||

(activeResistanceUV <= 0) || (activeResistanceMV <= 0) || (activeResistanceLV <= 0) ||

(inductiveReactanceUV <= 0) || (inductiveReactanceMV > 0) || (inductiveReactanceLV <= 0) ||

(activeConductivity <= 0) || (jetConductivity <= 0))

MessageBox.Show(Constants.msgFZT, "Error");

else

{

lossesCS =

Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 3.0) * activeConductivity;

sMV =

Math.Sqrt(Math.Pow(activeCapacityMV, 2.0) + Math.Pow(jetCapacityMV, 2.0));

sLV =

Math.Sqrt(Math.Pow(activeCapacityLV, 2.0) + Math.Pow(jetCapacityLV, 2.0));

activeCapacityUV = activeCapacityMV + activeCapacityLV;

jetCapacityUV = jetCapacityMV + jetCapacityLV;

sUV =

Math.Sqrt(Math.Pow(activeCapacityUV, 2.0) + Math.Pow(jetCapacityUV, 2.0));

lossesCC =

(1 / (Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 6.0))) * ((Math.Pow(sUV, 2.0) * Math.Pow(10, 6.0) * activeResistanceUV) + (Math.Pow(sMV, 2.0) * Math.Pow(10, 6.0) * activeResistanceMV) + (Math.Pow(sLV, 2.0) * Math.Pow(10, 6.0) * activeResistanceLV)) *

Math.Pow(10, -3.0);

lossesJSC = (1 / (Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 6.0))) * ((Math.Pow(sUV, 2.0) * Math.Pow(10, 6.0) * inductiveReactanceUV) + (Math.Pow(sMV, 2.0) * Math.Pow(10, 6.0) * inductiveReactanceMV) + (Math.Pow(sLV, 2.0) * Math.Pow(10, 6.0) * inductiveReactanceLV)) * Math.Pow(10, -3.0);Console.Write("lossesJSC{0}", lossesJSC);

lossesI =

Math.Pow(ratedUpperVoltage, 2.0) * Math.Pow(10, 3.0) * jetConductivity;

lossesAC = lossesCS + lossesCC;

lossesJC = lossesJSC + lossesI;

lossesE = (lossesCS * hoursUseMaximum) + (lossesCC * timeMaximumLosses);

costLE = lossesE * cost1кWh;

// Изменение значения поля ActiveCapacityUV

DataRow changeActiveCapacityUV =

objDataSetLossesTrans.Tables["LossesInTransformers"].Rows[theTransformer];

changeActiveCapacityUV[1] = activeCapacityUV;

// Изменение значения поля JetCapacityUV

DataRow changeJetCapacityUV =

objDataSetLossesTrans.Tables["LossesInTransformers"].Rows[theTransformer];

changeJetCapacityUV[2] = jetCapacityUV;

// Изменение значения поля LossesCapacitySteel

DataRow changeLossesCapacitySteel =

objDataSetLossesTrans.Tables["LossesInTransformers"].Rows[theTransformer];

changeLossesCapacitySteel[6] = lossesCS;

// Изменение значения поля LossesCapacityCopper

DataRow changeLossesCapacityCopper =

objDataSetLossesTrans.Tables["LossesInTransformers"].Rows[theTransformer];

changeLossesCapacityCopper[7] = lossesCC;

// Изменение значения поля LossesJetSC

DataRow changeLossesJetSC =

objDataSetLossesTrans.Tables["LossesInTransformers"].Rows[theTransformer];

changeLossesJetSC[8] = lossesJSC;

// Изменение значения поля LossesOfIdling

DataRow changeLossesOfIdling =

objDataSetLossesTrans.Tables["LossesInTransformers"].Rows[theTransformer];

changeLossesOfIdling[9] = lossesI;

// Изменение значения поля LossesActiveCapacity

DataRow changeLossesActiveCapacity =

objDataSetLossesTrans.Tables["LossesInTransformers"].Rows[theTransformer];

changeLossesActiveCapacity[10] = lossesAC;

// Изменение значения поля LossesJetCapacity

DataRow changeLossesJetCapacity =

objDataSetLossesTrans.Tables["LossesInTransformers"].Rows[theTransformer];

changeLossesJetCapacity[11] = lossesJC;

// Изменение значения поля LossesEnergy

DataRow changeLossesEnergyGroup =

objDataSetLossesTrans.Tables["LossesInTransformers"].Rows[theTransformer];

changeLossesEnergyGroup[12] = lossesE;

// Изменение значения поля CostLossesEnergy

DataRow changeCostLossesEnergy =

objDataSetLossesTrans.Tables["LossesInTransformers"].Rows[theTransformer];

changeCostLossesEnergy[13] = costLE;

}

break;

Размещено на Allbest.ru


Подобные документы

  • Выбор аппаратной и программной платформы системы планирования и учета нарядов подразделения. Определение архитектуры создаваемой системы, сравнение существующих технологий программирования. Реализация подсистемы идентификации и авторизации на сайте.

    дипломная работа [3,1 M], добавлен 19.01.2017

  • Использование программной системы Mathcad для выполнения, документирования и использования вычислений и инженерных расчетов. Вычисление пределов, суммы ряда. Работа с матрицами, построение трехмерного графика. Решение систем нелинейных уравнений.

    отчет по практике [1,5 M], добавлен 11.09.2014

  • Назначение и основные функции КП Компоновщик расчетных схем. Требования, предъявляемые к системам подготовки, отладки и поддержания данных. Пользовательский интерфейс КП Компоновщик расчетных схем в MS DOS. Особенности программирования в Windows.

    дипломная работа [316,1 K], добавлен 13.04.2010

  • Программный комплекс для расчета тепловых потерь через печные ограждения. Общие сведения об огнеупорных стенках. Технические характеристики огнеупоров. Разработка программного обеспечения для выполнения расчетов тепловых потерь через многослойную стенку.

    дипломная работа [5,3 M], добавлен 10.06.2012

  • Понятие и основные задачи информационной безопасности. Разработка и реализация политики ИБ в компании Microsoft. Виды угроз безопасности. Современные средства физической, аппаратной, программной защиты информации в локальном домашнем и офисном компьютере.

    курсовая работа [107,6 K], добавлен 09.04.2014

  • Технологии и языки программирования, используемые при разработке программы. Проектирование и реализация социальной сети. Описание и обоснование выбора организации входных и выходных данных. Алгоритм функционирования программы, таблицы базы данных.

    курсовая работа [3,5 M], добавлен 10.06.2014

  • Анализ и постановка задач дисциплины "Компьютерная графика". Разработка структуры, функциональной схемы и программной документации. Руководство программисту и оператору. Выбор и обоснование языка программирования. Описание процедур, функций, оценок.

    дипломная работа [3,6 M], добавлен 16.11.2011

  • Обзор существующих систем атоматизированного поиска. Мир электронных денег. Разработка структуры системы автоматизированного поиска отделений и терминалов банков. Обоснование выбора технологии разработки, программной среды и языка программирования.

    курсовая работа [1,2 M], добавлен 17.01.2011

  • Концепция построения, назначение и типы компьютерных сетей. Архитектура локальной сети Ethernet. Обзор и анализ сетевого оборудования и операционных систем. Обоснование выбора аппаратно-программной платформы. Принципы и методы проектирования ЛВС Ethernet.

    дипломная работа [162,5 K], добавлен 24.06.2010

  • Разработка автоматизированной системы технологического (коммерческого) учета электроэнергии для СНТ "Восточный". Выбор оборудования для контроля технологических параметров, его принцип работы. Расчет снижения потерь за счет внедрения данной системы.

    курсовая работа [303,2 K], добавлен 17.06.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.