Помощь в написании студенческих работ
Антистрессовый сервис

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

ДипломнаяПомощь в написанииУзнать стоимостьмоей работы

У типизированного объекта DataSet, как можно предположить по его названию, все члены строго типизированы. На таблицы и поля такого объекта DataSet можно ссылаться по их дружественным именам, представляющим реальные имена таблиц и столбцов; их значения доступны в виде значений соответствующих типов, а не объектов. Это дает приложению целый ряд преимуществ. Во-первых, код программы становится более… Читать ещё >

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

Міністерство освіти і науки України Харківський національний університет радіоелектроніки Факультет комп’ютерних наук Кафедра програмного забезпечення ЕОМ ДИПЛОМНИЙ ПРОЕКТ пояснювальна записка ПРОГРАМНА СИСТЕМА РОЗРАХУНКУ ПАРАМЕТРВ, УТРАТ ПОТУЖНОСТ ТА ЕНЕРГЇ ЛНЙ ТРАНСФОРМАТОРВ ДЛЯ СКЛАДАННЯ СХЕМ ЗАМЩЕННЯ ТА ОБЛКУ ВТРАТ ГЮІК 7.80 403.205ПЗ Студент гр. ПЗАСвд — 05 — 2 ________________

Керівник проекту ________________ проф. Дудар З. В.

Допускається до захисту Зав. кафедри, проф. _______________ Дудар З. В.

Харків 20__ р.

РЕФЕРАТ / ABSTRACT

Пояснительная записка содержит: стр., 35 рисунков, 1 таблица, 28 источников.

Объектом исследования являются методы и алгоритмы для расчётов параметров, потерь мощности и энергии в элементах электрических сетей.

Целью работы является разработка программной системы расчетов параметров, потерь мощности и энергии в линиях и трансформаторах, в которой учитываются различные конструктивные особенности элементов и фактическая мощность, протекающая по ним.

Метод разработки — технология Microsoft.NET, реляционная СУБД Microsoft SQL Server 2000.

В результате работы была создана система, позволяющая проводить расчеты параметров, потерь мощности и энергии в линиях и трансформаторах.

ЛИНИЯ, ТРАНСФОРМАТОР, ПАРАМЕТРЫ, ФАКТИЧЕСКАЯ МОЩНОСТЬ, ПОТЕРИ МОЩНОСТИ, ПОТЕРИ ЭНЕРГИИ, БАЗА ДАННЫХ, MICROSOFT.NET, MICROSOFT SQL SERVER

Пояснювальна записка містить: стор., 35 малюнків, 1 таблиця, 28 джерел.

Об'єктом дослідження є методи і алгоритми для розрахунків параметрів, втрат потужності і енергії в елементах електричних мереж.

Метою роботи є розробка програмної системи розрахунків параметрів, втрат потужності і енергії в лініях і трансформаторах, в якій враховуються різні конструктивні особливості елементів і фактична потужність, що протікає по них.

Метод розробки — технологія Microsoft.NET, реляційна СУБД Microsoft SQL Server 2000.

В результаті роботи була створена система, що дозволяє проводити розрахунки параметрів, втрат потужності і енергії в лініях і трансформаторах.

ЛІНІЯ, ТРАНСФОРМАТОР, ПАРАМЕТРИ, ФАКТИЧНА ПОТУЖНІСТЬ, ВТРАТИ ПОТУЖНОСТІ, ВТРАТИ ЕНЕРГІЇ, БАЗА ДАНИХ, MICROSOFT.NET, MICROSOFT SQL SERVER

This degree work contains 73 pages, 35 pictures, 1 tables, 28 sources.

Object of research are methods and algorithms for calculations of parameters, losses of capacity and energy in elements of electric networks.

The purpose of job is development of program system of calculations of parameters, losses of capacity and energy in lines and transformers in which various design features of elements and the actual capacity proceeding on them are considered.

The method of development is a technology Microsoft.NET, Microsoft SQL Server 2000.

As a result of job the system has been created, allowing spending calculations of parameters, losses of capacity and energy in lines and transformers.

LINE, TRANSFORMER, PARAMETERS, ACTUAL CAPACITY, LOSSES OF CAPACITY, LOSS OF ENERGY, DATABASE, MICROSOFT.NET, MICROSOFT SQL SERVER

СОДЕРЖАНИЕ ВВЕДЕНИЕ

1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ

1.1 Основные расчеты электрических сетей

1.2 Анализ программных продуктов-аналогов

1.3 Отличия создаваемой программной системы

1.4 Постановка задачи

2. ПРОЕКТИРОВАНИЕ ПРОГРАММНОЙ СИСТЕМЫ

2.1 Архитектура программной системы

2.2 Система классов

2.3 Структура базы данных

3. ОБОСНОВАНИЕ ВЫБОРА ТЕХНОЛОГИИ РАЗРАБОТКИ

3.1 Обоснование выбора базовой платформы

3.2 Обоснование выбора языка программирования

4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ СИСТЕМЫ

4.1 Реализация программной системы

4.2 Принципы защиты информации

4.3 Обзор процесса тестирования ВЫВОДЫ ПЕРЕЧЕНЬ ССЫЛОК ПРИЛОЖЕНИЕ, А ЛИСТИНГ ПРОГРАММНОГО КОДА ПРИЛОЖЕНИЕ Б ПРЕЗЕНТАЦИОННЫЕ МАТЕРИАЛЫ ПРИЛОЖЕНИЕ В ЭКОНОМИЧЕСКАЯ ЧАСТЬ

ВВЕДЕНИЕ

Для возможности проведения анализа, т. е. расчета режимов, и синтеза, т. е. проектирования, необходимо знать назначение различных видов сетей, их определения, сведения о нагрузках потребителей, напряжениях, схемах и конфигурациях, конструкциях, режимах нейтрали и влияниях на окружающую среду. Необходимо знание требований к сетям и энергосистемам, обусловленные их надежностью, качеством энергии, экономичностью, безопасностью и возможностью дальнейшего развития. Решение вопросов анализа и синтеза невозможно также без расчетов сопротивлений и проводимостей линий и трансформаторов.

Известно, что процесс передачи электрической энергии осуществляется электромагнитным полем проводника и имеет волновой характер. Часть энергии теряется в проводнике и называется потерей энергии. Ток, протекая по проводам и трансформаторам 1, вызывает их бесполезный нагрев. Эти потери называют нагрузочными. В среднем потери достигают 10% (бывает и больше) от всей передаваемой мощности и обходятся государству в миллионы гривен в год.

Поэтому проводятся систематические исследования по отысканию путей и выработке мероприятий, снижающих эти потери. Существующие методы передачи электроэнергии требуют решения многих проблем и задач, чтобы обеспечить передачу мощных потоков энергии с минимумом потерь.

Главное отличие разрабатываемой программной системы состоит в повышение оперативности и качества расчета потерь в электрических распределительных сетях за счет автоматизации с использованием современных технических средств и информационных технологий.

Целью проекта является разработка программной системы расчетов параметров, потерь мощности и энергии в линиях и трансформаторах, в которой предусмотрено введение нового элемента, со своими конструктивными особенностями; расчет параметров; введение фактической мощности, протекающей по линии или трансформатору; расчет потерь мощности и энергии, в зависимости от параметров элемента и фактической мощности.

1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ

1.1 Основные расчеты электрических сетей Электрическая система характеризуется параметрами, зависящими от свойств входящего в нее оборудования, в основном от сопротивлений и проводимостей (имеются в виду поперечные проводимости) линий и трансформаторов 2.

Расчеты электрических сетей (рисунок 1.1) проводятся при проектировании и состоят:

— экономическим соображениям;

— допустимым потерям и отклонениям напряжения;

— допустимому нагреву.

Одновременно проводится проверка по условиям потерь на корону при нормальных атмосферных условиях и отсутствии перенапряжений и т. д. 3.

Рисунок 1.1 — Структурная схема основных расчетов электрических сетей.

Все выбираемые параметры сетей при расчетах принимаются на какой-то период времени постоянными. Однако при росте нагрузок эти параметры (напряжение, сечение проводов, число подстанций и др.) необходимо менять: переводить сеть на более высокое напряжение, увеличивать сечения, число подстанций и т. д. 4. Нахождение оптимальных решений может быть получено с помощью динамического программирования 5.

Расчеты выбора параметров — это расчеты выбора напряжений, параметров линий, трансформаторов, компенсирующих и других устройств с учетом разных режимов. Определив потокораспределение в сети можно провести расчёты потерь в её элементах 6.

Наиболее актуальный вопрос — минимизировать потери электроэнергии в элементах электрической сети при ее транспортировке. Для расчёта потерь необходимо определить параметры электрооборудования 7.

Чтобы иметь возможность рассчитать какую-то сеть, линии и трансформаторы условно заменяются эквивалентными схемами замещения 8. В табл. 2.3.1 9 показаны различные схемы замещения. Каждая из схем имеет свои преимущества и недостатки, однако принципиально безразлично, какой из схем заменить линию или трансформатор. По рекомендациям [10], линию часто заменяют П-образной схемой, а трансформатор — Г-образной. Коэффициенты А, В, С и Д четырехполюсника, как известно из ТОЭ, определяются по режимам холостого хода и короткого замыкания. Далее описываются методы определения сопротивлений и проводимостей для расчетов по приведенным схемам.

На рисунках 1.2 и 1.3 представлены структурные схемы для определения сопротивлений и проводимостей линий, трансформаторов и автотрансформаторов. Для линий принята П-образная схема, для трансформаторов — Г-образная.

Поверхностный эффект в стальных проводах очень велик и приравнять омическое сопротивление активному сопротивлению переменного тока, как это рекомендуется при расчетах проводов из цветных металлов, нельзя, т. е. Rст Rом. Магнитная проницаемость µ в стальных проводах очень велика и является величиной переменной. Внутренний магнитный поток зависит от тока I и магнитной проницаемости µ. В свою очередь, µ зависит от тока I и примесей в стали. При таких сложных зависимостях рассчитать и использовать значение µ для определения внутреннего индуктивного сопротивления стальных проводов крайне сложно.

В 3 приводятся экспериментально найденные значения R0 и Х" 0 в зависимости от тока, протекающего по проводу, для разных диаметров.

Чтобы уменьшить индуктивное сопротивление, надо увеличить радиус r. Этот путь заключается в том, что провод каждой фазы расщепляют на несколько проводов, не вызывая дополнительной затраты металла. Однако каждый дополнительный провод дает все меньший и меньший дополнительный эффект. Например, при двух проводах в фазе индуктивное сопротивление уменьшается на 19%, при трех — на 28%, при четырех — на 32% и т. д.

Расщепление проводов с целью уменьшения сопротивления X для снижения потерь является важным, но второстепенным фактором. Основным является снижение потерь на корону при расщеплении.

Потери на корону бывают очень значительными и вызывают огромный перерасход средств. В сетях 330 кВ и выше эти потери достигают нескольких сотен киловатт на 1 км, т. е. становятся соизмеримыми и даже превышают потери на нагрев проводов. Явление короны создает помехи для радио и телевизионной связи, а также повышает интенсивность коррозии проводов и арматуры воздушных линий. Основными мерами по снижению этих потерь являются увеличение сечений проводов, расщепление или выполнение проводов полыми. Сечения проводов заведомо берутся большими, чем этого могут требовать другие условия расчетов. В 3 приводятся наименьшие значения сечений и диаметров проводов для данного класса напряжения по условиям потерь на корону. Например, для напряжений 110 кВ наименьшие сечения по условиям потерь на корону 70 мм², для 220 кВ — 240 мм² и т. д.

Значения мгновенных потерь на корону Pкор и средних Pкор. ср могут быть определены опытным путем. Получить теоретические зависимости для определения потерь на корону пока не удается из-за трудностей учета погодных условий. Общеизвестная формула Пика также дает существенные погрешности для сетей 330 кВ и выше. В приведены потери на корону, рассчитанные Энергосетьпроектом для линий различного класса напряжений, конструкции и типа подвески проводов в различных погодных условиях для районов Москвы (Pкор.макс) и Гурьева (Pкор.мин).

Сопротивления трансформаторов зависят от типа трансформатора, номинальной мощности и напряжения его обмоток.

Расчеты передачи с трансформаторами производятся после приведения сопротивлений, напряженней, токов линии и трансформаторов к какому-то одному напряжению. При этом магнитные связи условно заменяются электрическими так, чтобы мощности не менялись (мощности приведению не подлежат). Принципиально безразлично, к какому напряжению делается приведение — к напряжению высшей UВ, средней UС или низшей UН обмотки. Очень часто приведение делается к высшему напряжению UВ.

Номинальные мощности обмоток трехобмоточных трансформаторов и автотрансформаторов могут быть или одинаковыми (100/100/100), или разными (100/100/66,7 или 100/66,7/66,7). Поэтому при расчетах необходимо учитывать, что активные сопротивления лучей трехобмоточных трансформаторов обратно пропорциональны мощностям их обмоток.

На рисунках 1.4 и 1.5 представлены структурные схемы для определения потерь мощности и энергии в линиях и трансформаторах.

Рисунок 1.2 — Структурная схема для определения сопротивлений и проводимостей линий.

Рисунок 1.3 — Структурная схема для определения сопротивлений и проводимостей трансформаторов и автотрансформаторов.

Как известно из ТОЭ, потери активной и реактивной мощностей в линиях трехфазного переменного тока, зависят и от активной мощности, и от реактивной мощности, т. е. от полной мощности. Потери в линиях обратно пропорциональны квадрату напряжения. Поэтому даже незначительное повышение напряжения дает значительное снижение потерь мощности. Однако повышение напряжения вызывает дополнительный расход средств. Например, линии 500 кВ значительно дороже линий 220 кВ. Чтобы повысить напряжение специальными устройствами, требуются также дополнительные средства.

Потери распределяются при существующих линиях ориентировочно следующим образом: в сетях 110 кВ и выше — 55%, в сетях средних напряжений (3, 6, 10, 20 и 35 кВ) — 25%, в сетях до 1000 В — 10%, прочие потери (в счетчиках, измерительных приборах, коммерческие потери и др.) — 10%.

Рисунок 1.4 — Структурная схема для определения потерь мощности, энергии и стоимости потерь энергии в линиях (воздушных и кабельных).

В трансформаторах и автотрансформаторах потери реактивной мощности велики и вызывают заметные потери и напряжения в передаче, поэтому неучет их ведет к недопустимым погрешностям. Так как мощность — это есть энергия в единицу времени, то потери энергии Э — это потери мощности, умноженные на время.

Однако потери мощности остаются постоянными только в том случае, если ток не меняется. В действительности, ток меняется всегда для каждого объекта. Каждая группа потребителей (машиностроительные потребители, текстильные фабрики и т. д.) имеет характерные графики нагрузок. Нагрузки отдельных подстанций и линий складываются из нагрузок потребителей и также имеют характерные графики. Наиболее распространенным методом определения потерь энергии является метод с использованием времени максимальных потерь ф.

Рисунок 1.5 — Структурная схема для определения потерь мощности, энергии и стоимости потерь энергии в трансформаторах.

1.2 Анализ программных продуктов-аналогов На сегодняшний день на предприятиях региональных электроэнергетических систем (ЭС) и областных электроэнергетических систем (облэнерго) Украины используется малоэффективное программное обеспечение для составления схем замещения и учёта потерь. Поэтому создание относительно недорого, и в то же время надёжного и функционального программного обеспечения является актуальной проблемой.

В Украине и России проводятся систематические исследования и разработка целевых программ по снижению потерь в электрических сетях. Например, проводится тендер на выполнение работ по расчету потерь электроэнергии в электрических сетях (http://www.texpert.ru).

Все существующие аналоги можно условно разделить на две категории, разработанные в 80 — е годы прошлого столетия, и современные программные продукты.

Первые обладают низкой стоимостью, широкими возможностями. Однако они не поддерживают работу в локальной сети, интерфейс пользователя не содержит графических средств, что может заставить потребителя усомниться в целесообразности приобретения таких «устаревших» программных систем. Способ хранения информации — файловая система.

Другая категория программных продуктов — современные разработки различных коммерческих компаний. Такие программные системы также обладают широкими возможностями, но их значительная стоимость ограничивает их распространение. Приобретение таких программных продуктов недоступно даже крупным энергоснабжающим предприятиям.

Для лучшего представления того, какие аналогичные системы существуют на данный момент, составлена объединенная таблица программных продуктов (таблица 1.1).

Таблица 1.1 — Программные продукты — аналоги.

Название программного продукта

Система хранения информации

Эквивалентная схема замещения

«РАП-стандарт»

ОАО «ВНИИЭ»

www.vipkenergo.ru

СУБД InterBase

Равномерно распределенные сопротивления и проводимости для линий, Г-образная для трансформаторов

РОСА-2 2.0

ЗАО «Ордината»

http://softsearch.ru

Microsoft Excel

Равномерно распределенные сопротивления и проводимости для линий, Г-образная для трансформаторов

«СКАФ-МОДЭН-Сети»

ЗАО ПФ компания «СКАФ»

http://www.systemtechnology.ru

СУБД MS Access

Симметричная Т-образная для линий, Г-образная для трансформаторов

«ЭРИС»

ООО «Альфатехнология»

http://www.sapralfa.ru

СУБД MS SQL Server

Несимметричная Т-образная для линий, Г-образная для трансформаторов

комплекс ПО РТП ООО «Энергостат»

http://www.solmo.ru

СУБД MS Access

Равномерно распределенные сопротивления и проводимости для линий, Г-образная для трансформаторов

программный комплекс LCL

АО «Теласи»

http://www.acnet.ge

СУБД MS SQL Server

Равномерно распределенные сопротивления и проводимости для линий, Г-образная для трансформаторов

ЕLOSS-1.KA

«Промышленная Сибирь»

http://www.sibpatent.ru

СУБД Sybase SQL Server

Несимметричная Т-образная для линий, Г-образная для трансформаторов

Комплекс LinenNet

ООО «ЭНЭЛЭКО»

http://soft.mail.ru

Файловая система

П-образная для линий, Г-образная для трансформаторов

V — VI — 24, V — VI — 36

ИЭД НАНУ

http://rql.net.ua

Файловая система

П-образная для линий, Г-образная для трансформаторов

комплекс ПО RERS

ГОУ ВПО «Северо-Кавказский ГТУ»

http://www.estav.ru

Microsoft Excel

П-образная для линий, Г-образная для трансформаторов

1.3 Отличия создаваемой программной системы В Украине используются программные продукты разработанные в Институте электродинамики НАН Украины V — VI — 24 и V — VI — 36. С помощью этого программного обеспечения сформированы базовые информационно-математические модели Акционерной компании «Киевэнерго», а также «Черкассыоблэнерго» и «Киевоблэнерго» и др.

Программная система V — VI — 24 позволяет провести стандартный расчет параметров линий и трансформаторов, однако используется файловая система хранения информации. Программная система V — VI — 36 рассчитывает потери мощности и энергии в линиях и трансформаторах, и также используется файловая система. Эти программные системы предназначены только для локального использования и не поддерживают работу в сети.

Главное отличие разрабатываемой программной системы состоит в повышение оперативности и качества расчета потерь в электрических распределительных сетях за счет автоматизации с использованием современных технических средств и информационных технологий.

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

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

При расчете параметров линий:

— проведение расчета параметров линии передачи в симметричном режиме схемой 3 с равномерно распределенными вдоль всей линии сопротивлениями и проводимостями;

— учет различных материалов, из которых изготовляются провода для линий;

— учет различных способов расположения проводов между собой;

— учет количества проводов, на которые расщепляется каждая фаза линии;

— учет различных сечений и диаметров проводов.

При расчете параметров трансформаторов:

— учет номинальной мощности каждой обмотки трехобмоточных трансформаторов и автотрансформаторов;

При расчете потерь в линиях:

— учет как активной, так и реактивной фактической мощности протекающей по линии;

— учет различного значения потерь мощности на корону — максимального, средневзвешенного и минимального.

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

— учет как активной, так и реактивной фактической мощности протекающей по трансформатору;

— учет номинальной мощности каждой обмотки.

Система должна поддерживать одновременную работу многих пользователей. Не должно существовать никаких ограничений на количество пользователей системы. Система должна иметь дружественный интерфейс пользователя, для того чтобы с максимальной эффективностью проводить расчёты и обрабатывать всю информацию.

2. ПРОЕКТИРОВАНИЕ ПРОГРАММНОЙ СИСТЕМЫ

2.1 Архитектура программной системы Разрабатываемая система декомпозируется на две большие подсистемы:

— подсистему расчета параметров элементов;

— подсистему расчета потерь мощности и энергии.

При этом подсистемы разделены на автономные модули, обслуживающие линии электропередачи и трансформаторы. Подсистема расчета параметров элементов состоит из двух модулей. Модуль расчета параметров линии обрабатывает данные, представляющие конструктивные особенности линии. Например, позиционирование уровня напряжения, на котором работает линия. В функции модуля расчета параметров трансформаторов входит обработка данных, представляющих конструктивные особенности трансформаторов. Это может быть двухобмоточный трансформатор, трёхобмоточный трансформатор или автотрансформатор.

Другая подсистема также состоит из двух модулей, и обеспечивает расчет потерь мощности, энергии в линиях и трансформаторах в зависимости от предварительно рассчитанных параметров элементов, а также от фактической мощности, протекающей в данный момент по выбранному пользователем элементу.

Диаграмма взаимодействий, иллюстрирующая передачу сообщений между программными объектами [12], представлена на рисунке 2.1.

Рисунок 2.1 — Диаграмма взаимодействия модулей в процессе работы системы.

2.2 Система классов Каждый объект системы характеризуется своим состоянием, поведением, и является экземпляром какого-либо конкретного класса. В рамках приложения классы могут различаться по целевому назначению — это могут быть элементы управления, отображающие интерфейс пользователя, или сервисные классы, отвечающие за связи с базами данных и работу с сетевыми функциями, это могут быть классы «сообщений», обеспечивающие обмен информацией между частями приложения. Все эти сущности объединяет одна общая черта — время их жизни обычно не превышает времени жизни всего приложения. Но, кроме вышеперечисленных категорий классов, можно выделить целый ряд сущностей, время жизни которых превышает срок жизни приложения. Например, в разрабатываемой системе роль подобных сущностей могут играть объекты «Линия», «Трансформатор» («Автотрансформатор»). Таким объектам необходимо предоставить возможность сохранения своего состояния во внешнее хранилище.

В Microsoft.NET Framework существуют готовые средства для работы с сохраняемыми объектами, — есть возможность сохранять состояние объектов в двоичном виде с использованием BinaryFormatter или XML-формате с использованием XmlSerializer. Все эти средства предоставляют возможности сохранения «графов» объектов, однако сохраняемая информация не оптимизирована для выполнения запросов к хранимым данным — так, поиск необходимой информации в XML-файле, содержащем несколько тысяч записей, может оказаться неприемлемо медленным. В большинстве подобных случаев в качестве хранилища информации подойдет реляционная СУБД — данные сохраняются в таблицах, для дополнительного контроля целостности между ними устанавливаются отношения, поиск информации осуществляется с использованием языка запросов SQL. Аналогичную функциональность предоставляют специальные библиотеки Object/Relational Mapping (O/R Mapping). Такая библиотека перекладывает на себя всю «черную» работу по сохранению/загрузке информации из объектной модели приложения в реляционную модель базы данных.

Таблица базы данных (отношение, включая виртуальные таблицы — JOIN, VIEW) обычно соответствуют классу в программе, строки таблицы — экземплярам этого класса, колонки таблицы («реляционные атрибуты») при этом отображаются на атрибуты объекта или вызовы методов чтения/записи. Отображение это обычно двунаправлено: манипуляции с атрибутами объекта приводят к чтению информации из (и записи в) соответствующие таблицы базы данных.

Группа классов, обрабатывающая информацию по линиям состоит из классов Lines, DataSetLines, и Constants (рисунок 2.2). Constants — абстрактный класс [17], в котором содержится вспомогательная информация конструктивного характера по линиям и заложена таблица потерь на корону для линий различного класса напряжений, конструкции и типа подвески проводов в различных погодных условиях.

В классе Lines реализовано подключение к БД, обработка первичной информации предоставленной пользователем, и сохранение всех результатов.

Рисунок 2.2 — Классы обработки информации по линиям.

Установка соединения с источником данных выполняется при помощи объекта OleDbConnection. Объект OleDbDataAdapter обеспечивает связь между источником данных и объектом DataSetLines, управляя обменом данных и контролируя их передачу. Объекты OleDbCommand представляют команды SQL, производимые к БД и содержит все данные, необходимые для исполнения команды: ссылку на активное соединение, текст команды и ее параметры. Метод LoadDataSet извлекает информацию из источника данных с помощью функции FillDataSet и заполняет ей объект DataTable класса DataSetLines через OleDbDataAdapter. Метод UpdateDataSet обновляет источник данных с помощью функции UpdateDataSource. Метод CalculationParametersLines обеспечивает проведение необходимого расчета параметров линии.

Возможность локально работать с загруженной из БД таблицей обеспечивает класс DataSetLines. Стандартные объекты DataSet в силу своей конструкции не являются строго типизированными. Каждый элемент данных доступен в форме объекта. Поэтому, чтобы выполнить над ним любые манипуляции, специфичные для некоторого типа, этот объект следует преобразовать в соответствующий тип. При использовании нестрого типизированных переменных вероятны ошибки из-за несоответствия типов, которые весьма непросто найти и устранить. ADO.NET поддерживает типизированный объект DataSet — альтернативу применению нестрого типизированных переменных.

У типизированного объекта DataSet, как можно предположить по его названию, все члены строго типизированы. На таблицы и поля такого объекта DataSet можно ссылаться по их дружественным именам, представляющим реальные имена таблиц и столбцов; их значения доступны в виде значений соответствующих типов, а не объектов. Это дает приложению целый ряд преимуществ. Во-первых, код программы становится более понятным и его удобнее сопровождать. Во-вторых, ошибки из-за несоответствия типов обнаруживаются в период компиляции, а не в период выполнения — это экономит время, необходимое для тестирования. Наконец, полные имена членов наборов допустимо заменять их дружественными именами, при этом в период разработки имена типизированные членов данных отображаются в окнах среды разработки благодаря технологии Intellisense.

В действительности типизированный DataSet — это экземпляр совсем другого класса, производного от DataSet. Структура этого класса определяется файлом схемы XML (XSD-файлом), в котором описаны различные особенности структуры объекта DataSet, в том числе имена таблиц и столбцов.

В класс DataSetLines определены внутренние коллекции DataTableCollection и PropertyCollection. Доступ к ним производится через свойства Tables и ExtendedProperties. Основные методы, определённые в этом классе — ReadXmlSerializable, GetSchemaSerializable и SchemaChanged. Метод ReadXmlSerializable позволяет считывать данные в формате Xml в DataSet из потока (файла, оперативной памяти, сетевого ресурса). Метод GetSchemaSerializable позволяет записать данные в формате Xml из DataSet в поток. Метод SchemaChanged определяет как коллекция изменена.

Алгоритм расчёта параметров линий основан на определении значений исходных данных. Первоначально определяется уровень напряжения, на котором работает линия (ветви алгоритма — 110 кВ, 220 кВ, 330 кВ, 500 кВ, 750 кВ, 1150 кВ). Затем происходит проверка исходных значений (для каждой ветви алгоритма):

— расщепление проводов;

— сечение проводов;

— материал, из которого изготовлены провода;

— расположение проводов между собой.

В случае корректно предоставленных данных происходит расчёт параметров и запись в соответствующие поля таблицы:

— активное сопротивление;

— индуктивное сопротивление;

— полное сопротивление;

— активная проводимость;

— реактивная проводимость;

— полная проводимость.

Группа классов, обрабатывающая информацию по трансформаторам состоит из классов Transformers и DataSetTransformers (рисунок 2.3). Структура этих классов во многом схожа с классами обработки информации по линиям, за исключением атрибутов, необходимых для проведения расчёта.

Рисунок 2.3 — Классы обработки информации по трансформаторам.

Алгоритм расчёта параметров трансформаторов имеет структуру, во многом схожую с алгоритмом расчёта параметров линий. Определяется конструкция трансформатора, ветви алгоритма — двухобмоточный, трёхобмоточный трансформатор или автотрансформатор.

В случае корректно предоставленных данных происходит расчёт параметров и запись в соответствующие поля таблицы:

— активное сопротивление обмоток (верхнего, среднего, нижнего напряжения — для трёхобмоточного трансформатора или автотрансформатора);

— активное сопротивление пары обмоток (верхнего-среднего напряжения — для трёхобмоточного трансформатора или автотрансформатора, верхнего-нижнего напряжения — для всех видов трансформаторов);

— индуктивное сопротивление обмоток (верхнего, среднего, нижнего напряжения — для трёхобмоточного трансформатора или автотрансформатора);

— индуктивное сопротивление пары обмоток (верхнего-среднего напряжения — для трёхобмоточного трансформатора или автотрансформатора, верхнего-нижнего напряжения — для всех видов трансформаторов);

— активная проводимость (для всех видов трансформаторов проводимости одинаковы);

— реактивная проводимость (для всех видов трансформаторов проводимости одинаковы);

— намагничивающая мощность.

Группа классов, обеспечивающих расчет потерь в линиях, состоит из классов LossesLines и DataSetLossesLines (рисунок 2.4).

В классе LossesLines реализовано подключение к БД, обработка первичной информации предоставленной пользователем, и данных полученных в результате предварительно проведенных расчётов параметров линий. В этом классе определены все необходимые атрибуты и методы, необходимые для расчёта. Установка соединения выполняется при помощи типа OleDbConnection. Для работы с двумя таблицами (Lines и LossesLines) используется два объекта OleDbDataAdapter, и определены необходимые объекты OleDbCommand.

Структура класса DataSetLossesLines несколько отличается от структуры классов DataSetLines и DataSetTransformers. Используется два объекта таблиц (LinesDataTable и LossesInLinesDataTable) и определяются отношения между ними при помощи объекта DataRelation. Доступ к объекту DataRelation, который хранится в коллекции DataRelationCollection получают через свойство Relations.

Рисунок 2.4 — Группа классов по расчету потерь в линиях.

В алгоритме расчёта потерь в линиях первоначально определяется уровень напряжения, на котором работает линия (ветви алгоритма — 110 кВ, 220 кВ, 330 кВ, 500 кВ, 750 кВ, 1150 кВ). Затем происходит проверка исходных значений (для каждой ветви алгоритма) количества проводов, на которое расщеплена фаза линии, и сечения каждого из проводов.

В случае корректно предоставленных исходных данных, и данных — результатов расчёта параметров, происходит расчёт потерь и запись в соответствующие поля таблицы:

— фактическая активная мощность (принимается диалоговым окном);

— фактическая реактивная мощность (принимается диалоговым окном);

— потери активной мощности;

— потери реактивной мощности;

— потери мощности в воздушных линиях на корону (максимальные, минимальные и средневзвешенные);

— мощность, генерируемая линиями (зарядная мощность);

— потери полной мощности;

— потери энергии в линии;

— потери энергии на корону;

— стоимость потерь энергии.

Группа классов, обеспечивающих расчет потерь в трансформаторах, состоит из классов LossesTrans и DataSetLossesTrans (рисунок 2.5). Структура этих классов во многом схожа с классами по расчету потерь в линиях, за исключением атрибутов, необходимых для проведения расчёта потерь в трансформаторах.

Рисунок 2.5 — Группа классов по расчету потерь в трансформаторах.

Алгоритм расчёта потерь в трансформаторах имеет структуру, во многом схожую с алгоритмом расчёта потерь в линиях. Определяется конструкция трансформатора, ветви алгоритма — двухобмоточный, трёхобмоточный трансформатор или автотрансформатор. И на основании исходных данных, и данных — результатов расчёта параметров, происходит расчёт потерь и запись в соответствующие поля таблицы:

— фактическая активная мощность (принимается диалоговым окном);

— фактическая реактивная мощность (принимается диалоговым окном);

— потери активной мощности в стали;

— потери активной мощности в меди;

— реактивные потери, вызванные потоками рассеяния;

— реактивные потери холостого хода;

— суммарные потери активной мощности;

— суммарные потери реактивной мощности;

— стоимость потерь энергии.

Все алгоритмы поддерживают проверку исходных данных на нулевое значение.

2.3 Структура базы данных База данных для программной системы является хранилищем всей информации в системе. Реализована база данных на Microsoft SQL Server 2000.

Таблица System содержит информацию по оборудованию системы (рисунок 2.6).

Рисунок 2.6 — Структура таблицы System.

Таблица Sites содержит информацию по узлам системы (рисунок 2.7).

Рисунок 2.7 — Структура таблицы Sites.

Таблица Generators содержит информацию о параметрах генераторов (рисунок 2.8).

Рисунок 2.8 — Структура таблицы Generators.

Таблица Reactors содержит информацию о параметрах реакторов (рисунок 2.9).

Рисунок 2.9 — Структура таблицы Reactors.

Таблица Lines содержит информацию о конструкциях и параметрах линий (рисунок 2.10).

Рисунок 2.10 — Структура таблицы Lines.

Таблица Transformers содержит информацию о конструкциях и параметрах трансформаторов (рисунок 2.11).

Рисунок 2.11 — Структура таблицы Transformers.

Таблица LossesInLines содержит информацию о фактической мощности, протекающей по линии, а также потерям мощности и энергии (рисунок 2.12).

Рисунок 2.12 — Структура таблицы LossesInLines.

Таблица LossesInTransformers содержит информацию о фактической мощности, протекающей по трансформатору, а также потерям мощности и энергии (рисунок 2.13).

Рисунок 2.13 — Структура таблицы LossesInTransformers.

Структура базы данных представлена на рисунке 2.14. Связь между таблицами System и Sites — организована между столбцами Network. В таблице Sites столбец SiteID имеет первичный ключ, всё множество узлов располагается в таблицах Generators, Reactors, Lines и Transformers. Связи между парами таблиц Lines — LossesInLines и Transformers — LossesInTransformers один к одному по ключевому номеру элемента.

Рисунок 2.14 — Структура базы данных.

3. ОБОСНОВАНИЕ ВЫБОРА ТЕХНОЛОГИИ РАЗРАБОТКИ

3.1 Обоснование выбора базовой платформы Платформа .NET представляет собой совершенно новый способ создания распределённых настольных и встроенных приложений. Очень важно сразу осознать, что .NET не имеет ничего общего с СОМ (кроме средств интеграции двух платформ). Для типов .NET не нужны ни фабрики классов, ни поддержка интерфейса IUnknown, ни регистрация в системном реестре. Платформа .NET является полностью независимой от используемых языков программирования. Можно использовать несколько .NET-совместимых языков программирования даже в рамках одного проекта.

Основные возможности .NET:

— полные возможности взаимодействия с существующим кодом, например, существующие двоичные компоненты СОМ отлично работают вместе с двоичными файлами .NET;

— полное и абсолютное межъязыковое взаимодействие. В отличие от классического СОМ, в .NET поддерживаются межъязыковое наследование, межъязыковая обработка исключений и межъязыковая отладка;

— общая среда выполнения для любых приложений .NET, вне зависимости от того на каких языках они были созданы. Один из важных моментов при этом — то, что для всех языков используется один и тот же набор встроенных типов данных;

— библиотека базовых классов, которая обеспечивает сокрытие всех сложностей, связанных с непосредственным использованием вызовов API, и предлагает целостную объектную модель для всех языков программирования, поддерживающих .NET;

— действительное упрощение процесса развёртывания придожения. В .NET нет необходимости регистрировать двойные типы в системном реестре, более того, .NET позволяет разным версиям одного и того же модуля DLL сосуществовать на одном компьютере.

Архитектура .NET:

— Common Language Runtime (CLR) — среда выполнения .NET;

— Common Type System (CTS) — единая система типов;

— Common Language Specification (CLS) — спецификация для всех .NET-совместимых языков программирования.

С точки зрения программиста .NET можно рассматривать просто как новую среду выполнения и новую библиотеку базовых классов. Среда выполнения .NET как раз и обеспечивается с помощью Common Language Runtime (CLR, стандартная среда выполнения для языков). Главная роль CLR заключается в том, чтобы обнаруживать и загружать типы .NET и производить управление ими в соответствии с командами. CLR берёт на себя всю низкоуровневую работу — например, автоматическое управление памятью, межъязыковым взаимодействием, развёртыванием (с отслеживанием версий) различных двоичных библиотек.

Ещё один строительный блок платформы .NET — это Common Type System (CTS, стандартная система типов). CTS полностью описывает все типы данных, поддерживаемые средой выполнения, определяет, как одни типы данных могут взаимодействовать с другими и как они будут представлены в формате метаданных .NET.

Не во всех языках программирования .NET поддерживаются все типы данных, которые определены в CTS. Common Language Specification (CLS) — это набор правил, определяющих подмножество общих типов данных, в отношении которых гарантируется, что они безопасны при использовании во всех языках .NET.

Помимо спецификаций CLR и CTS / CLS платформа .NET предоставляет также библиотеку базовых классов, доступную из любого языка программирования .NET. Библиотека базовых классов не только прячет обычные низкоуровневые операции, такие как файловый ввод-вывод, обработка графики и взаимодействие с оборудованием компьютера, но и обеспечивает поддержку большого количества служб, используемых в современных приложениях.

В качестве примера можно привести встроенные типы для обращения к базам данных, работы с XML, обеспечения безопасности при работе приложения, создание приложений для работы в Web (конечно, обеспечивается и поддержка обычных консольных о оконных приложений). С концептуальной точки зрения отношения между уровнем среды выполнения и библиотекой базовых классов .NET выглядят так, как показано на рисунке 3.1.

Рисунок 3.1 — Отношения между уровнем среды выполнения и библиотекой базовых классов .NET.

3.2 Обоснование выбора языка программирования Специально для новой платформы .NET Microsoft разработала новый язык программирования — С#. С# - это язык программирования, синтаксис которого очень похож на синтаксис Java (но не идентичен ему). Например, в С# (как и в Java) определение класса состоит из одного файла, в отличие от С++, где определение класса разбито на заголовок и реализацию. Однако называть С# клоном Java было бы неверно. Как С#, так и Java основаны на синтаксических конструкциях С++. Если Java во многих отношениях можно назвать очищенной версией С++, то С# можно охарактеризовать как очищенной версией Java.

Синтаксические конструкции С# унаследованы не только от С++, но и от Visual Basic. Например, в С#, как и в Visual Basic, используются свойства классов. Как в С++, С# позволяет производить перегрузку операторов для созданных типов (Java не поддерживает ни ту, ни другую возможность). С# - это фактически гибрид разных языков. При этом С# синтаксически не менее (если не более) чист, чем Java, также прост, как Visual Basic, и обладает практически той же гибкостью, что и С++.

Основные преимущества С#:

— нет необходимости в работе с указателями, однако все возможности для работы с указателями предоставлены;

— управление памятью производится автоматически;

— предусмотрены встроенные синтаксические конструкции для работы с перечислениями, структурами и свойствами классов;

— осталась возможность перегружать операторы, унаследованные от С++, значительная часть возникавших при этом сложностей ликвидирована;

— предусмотрена полная поддержка использования программных интерфейсов. Однако, в отличие от классического СОМ, применение интерфейсов — это не единственный способ работы с типами, используя различные двоичные модули. .NET позволяет передавать объекты (как ссылки или как значения) через границы программных модулей;

— предусмотрена полная поддержка аспектно-ориентированных программных технологий (таких как атрибуты). Это позволяет присваивать типам характеристики (что во многом напоминает COM IDL) для описания в будущем поведения данной сущности.

Возможности платформы .NET и языка программирования С# обусловили реализацию программного продукта именно этими средствами.

4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ СИСТЕМЫ

4.1 Реализация программной системы электрический программный информация потеря Программная система была реализована на платформе .NET 2.0 в среде Microsoft Visual Studio 2003. В качестве языка программирования был выбран C#.

С точки зрения программиста проект реализован в виде одного решения (solution). В Microsoft Visual Studio .NET 2003 понятие «решение» означает набор взаимосвязанных проектов, а также файлы и общие метаданные (рисунок 4.1). Решения разрабатываются, чтобы управлять способами настройки, построения и развертывания связанных проектов.

Решения позволяют сосредоточиться на разработке и развертывании проектов, а не на управлении файлами, компонентами и объектами. Все решения Microsoft Visual Studio .NET 2003 дают возможность:

— работать с несколькими проектами в пределах одного экземпляра IDE;

— работать с элементами, используя настройки и параметры, применимые ко всему набору проектов;

— использовать обозреватель решений при разработке и развертывании приложения;

— управлять дополнительными файлами вне контекста решения или проекта.

Рисунок 4.1 — Элементы решения Microsoft Visual Studio .NET.

В рамках решения был создан проект CSC Tools (рисунок 4.2). Проекты в Microsoft Visual Studio .NET 2003 используются как контейнеры в пределах решения. Это позволяет логически управлять, выполнять построение и отлаживать элементы, образующие приложение. На выходе проект, как правило, представляет собой сборку того или иного типа: исполняемую программу (.exe), файл библиотеки динамической компоновки (.dll). Сборки — это блоки для построения приложений, содержащие собственное описание и поддерживающие повторное использование и отслеживание версий.

Рисунок 4.2 — Структура решения CSC Tools.

Рассмотрим основные компоненты программной системы.

В папке References располагаются ссылки на внешние сборки (рисунок 4.3).

Рисунок 4.3 — Ссылки на внешние сборки.

Файл app. config — это конфигурационный файл в формате XML, содержащий информацию о параметрах приложения.

Файл AssemblyInfo. cs является местом размещения множества атрибутов уровня сборки.

Файл Constants. cs содержит описание класса Constants.

Файл CSCMain. cs — это главная форма программы.

CSCLines.cs, CSCTransformers. cs, CSCLossesLines. cs и CSCLossesTrans. cs — это формы, организованные для работы с данными.

Файлы DataSetLines. xsd, DataSetTransformers. xsd, DataSetLossesLines. xsd, DataSetLossesTrans. xsd, содержат схемы в формате XML, в которых описаны различные особенности структуры объекта DataSet, например, имена таблиц и столбцов, их отношения.

Формы DialogLines. cs и DialogTAT. cs — это диалоговые окна, созданные для приёма значений фактической мощности.

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

Для организации подключения к источнику данных используются два поля ввода, принимающих ключевые слова с именем сервера и базы данных. Для аутентификации пользователей также используются два поля ввода, принимающих имя пользователя и пароль. «Парольное» текстовое окно скрывает вводимый текст за специальными символами, — используется символ (*).

4.3 Обзор процесса тестирования Тестирование — это любая деятельность, направленная на обнаружение ошибок в программном продукте. Тестирование проводится для того, чтобы найти ошибки в программе и тем самым повысить ее надежность, а следовательно, ценность. Если мы тестируем программный продукт, то нам нужно окупить затраты на тестирование, каким-либо образом повысив стоимость программного продукта.

Это можно сделать, только повысив надежность программного продукта, ради чего тестирование и проводится. Повысить надежность можно только исправлением ошибок, внесенных в процессе разработки. После тестирования нельзя гарантировать отсутствие ошибок, можно лишь говорить о некотором уровне уверенности в правильности работы системы.

Каждую ошибку следует внимательно изучить, чтобы понять, почему она возникла, что должно было быть сделано, чтобы ее предотвратить или обнаружить раньше. Удачным считается тест, который обнаружил ошибку. Если ни одна ошибка не была обнаружена, то тест считается неудачным.

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

Процесс тестирования, в отличие от написания программ, есть разрушающий процесс. Все это говорит о том, что разумнее всего тестирование проводить другому человеку.

В программе есть ошибка, если ее поведение не соответствует документации. Но, во-первых, программы довольно часто бывают написаны лучше, чем документированы. И ошибок в документации бывает не меньше, а зачастую больше, чем в программах. Во-вторых, в документации обычно описывается штатная работа. Например, в документации написано: «нажмите кнопку ВНИМАНИЕ и введите команду». Если пользователь нажимает кнопку два раза, то система выходит из строя.

Получается, что в любом случае, когда пользователь не получает того, что ему разумно ожидать от продукта, мы считаем, что в ней есть ошибка. Пользователю разумно ожидать, что при вводе некорректных данных система распознает их некорректность и предпринимает соответствующие действия. И, наконец, пользователю разумно ожидать, что при возникновении неожиданных ситуаций система поведет себя достойно, минимизирует неприятные последствия.

В программном продукте содержится ошибка, если он не делает того, что пользователю разумно от него ожидать.

Тестирование программного продукта не означает только проверки программы. Тестируется еще и документация — как проектная, так и выходная.

Тестирование собственно программы следует проводить «сверху вниз», отыскивая сначала крупные, глобальные ошибки.

Поскольку исчерпывающее структурное тестирование невозможно, необходимо выбрать такие критерии его полноты, которые допускали бы их простую проверку и облегчали бы целенаправленный подбор тестов. Наиболее слабым из критериев полноты структурного тестирования является требование хотя бы однократного выполнения каждого оператора программы. Более сильным критерием является критерий: каждая ветвь алгоритма (каждый переход) должна быть пройдена (выполнена) хотя бы один раз.

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

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

Некоторые этапы тестирования представлены на рисунках. На рисунке 4.4 представлена реакция системы при запуске функции расчёта параметров линий и некорректном значении поля Network таблицы Lines.

Рисунок 4.4 — Реакция системы при неверном значении поля Network.

На рисунке 4.5 представлена реакция системы при запуске функции расчёта параметров линий и отрицательном значении поля Length таблицы Lines.

Рисунок 4.5 — Реакция системы при отрицательном значении поля Length.

На рисунке 4.6 представлена реакция системы при запуске функции расчёта параметров линий и некорректном значении поля ArrangementWires таблицы Lines.

Рисунок 4.6 — Реакция системы при некорректном значении поля ArrangementWires.

На рисунке 4.7 представлена реакция системы при запуске функции расчёта параметров линий и некорректном значении поля Type таблицы Lines.

Рисунок 4.7 — Реакция системы при некорректном значении поля Type.

На рисунке 4.8 представлена реакция системы при запуске функции расчёта параметров линий и некорректном значении поля Splitting таблицы Lines.

Рисунок 4.8 — Реакция системы при некорректном значении поля Splitting.

На рисунке 4.9 представлена реакция системы при запуске функции расчёта параметров линий и отрицательном значении поля SectionWire таблицы Lines.

Рисунок 4.9 — Реакция системы при отрицательном значении поля SectionWire.

На рисунке 4.10 представлена реакция системы при запуске функции расчёта параметров линий и отрицательном значении поля DiameterWire таблицы Lines.

Рисунок 4.10 — Реакция системы при отрицательном значении поля DiameterWire.

Аналогично было проведено тестирование всех модулей системы при вводе недопустимых значений, например, при определении типа трансформатора (pисунок 4.11).

Рисунок 4.11 — Определение типа трансформатора.

При установке через диалоговое окно мощности, протекающей по линии в нулевое значение, функция расчёта потерь в линиях блокируется (pисунок 4.12). Аналогичное решение использовано при установке через диалоговое окно мощности, протекающей по трансформатору (pисунок 4.13).

Рисунок 4.12 — Реакция системы при нулевом значении мощности протекающей по линии.

Рисунок 4.13 — Реакция системы при нулевом значении мощности протекающей по трансформатору.

При попытке провести расчёт потерь в линиях (pисунок 4.14) или трансформаторах (pисунок 4.15), когда не предоставлены результаты расчёта параметров, системой выдаётся предупреждение.

Рисунок 4.14 — Реакция системы при расчёте потерь и отсутствии параметров линии.

Рисунок 4.15 — Реакция системы при расчёте потерь и отсутствии параметров трансформатора.

Показать весь текст
Заполнить форму текущей работой