Подставив номинальные параметры в (5.4) - (5.7) получим:
rT=1,42 Ом,
хТ=34,7 Ом,
GT=0.0027,
BT=0.0197.
Таблица 5.6 - Номинальные параметры двухобмоточного трансформатора Т1 п/ст 33
Трансформатор
Среднее номинальное напряжение, кВ
Uкз, %
Ркз, кВт
Рх.х, кВт
I х.х, %
Ларкинсон-40500/110
115/10,5
10,5
172
36
0,65
Таблица 5.7 - Номинальные параметры двухобмоточного трансформатора Т2 п/ст 33
ТрансформаторСреднее номинальное напряжение, кВUкз, %Ркз, кВтРх.х, кВтI х.х, %
ТДНГ-31500/110
140
60
0,7
rT=1,9 Ом,
хТ=44 Ом,
GT=0.0045,
BT=0.0167.
Таблица 5.8 - Номинальные параметры трехобмоточного трансформатора п/ст 6, п/ст 42, Т1 - Т2 п/ст 41
В-С
В-Н
С-Н
ТДТН-40000/110
115/11/6,6
0,6
17
6
200
43
Согласно формулам (5.9), (5.11) имеем:
rT=0,8 Ом,
х1=35,5 Ом,
х2=0,
х3=22,3 Ом.
Согласно (5.6)-(5.7):
GT=0.0033,
BT=0.0181.
Таблица 5.9 - Номинальные параметры двухобмоточного трансформатора Т1 п/ст 44
ТРДН-40000/110
115/6,6
Таблица 5.10 - Номинальные параметры двухобмоточного трансформатора Т2 п/ст 44, п/ст 43
ТРДН-32000/110
rT=1,9 Ом, хТ=44 Ом,
GT=0.0045,BT=0.0167.
Таблица 5.11 - Номинальные параметры двухобмоточного трансформатора Т1 п/ст 34, п/ст 46
ТДН-16000/110
85
19
rT=4,38 Ом,
хТ=86,7 Ом,
GT=0.0014,
BT=0.0085.
Таблица 5.12 - Номинальные параметры двухобмоточного трансформатора Т2 п/ст 34, п/ст 2
Таблица 5.13 - Номинальные параметры двухобмоточного трансформатора п/ст 38
ТДНГ-40500/110
Таблица 5.14 - Номинальные параметры двухобмоточного трансформатора Т1 п/ст 37
ТДНГУ-40500/110
Таблица 5.15 - Номинальные параметры двухобмоточного трансформатора п/ст 40
ТДН-31500/110
Таблица 5.16 - Номинальные параметры двухобмоточного трансформатора п/ст 31: ТДНГ-40500/110/10
115/11
Таблица 5.17 - Номинальные параметры двухобмоточного трансформатора Т3, Т4 п/ст 41
ТРДЦН-63000/110
115/10
260
59
rT=0,87 Ом,
хТ=22 Ом,
BT=0.0286.
5.2 Расчет сети при различных нагрузках
На первом этапе (см. рис. 3.1) с помощью разработанного программного обеспечения были рассчитаны неоптимальные режимы работы сети ОАО "ММК им. Ильича" с компенсацией реактивной мощности при коэффициенте реактивной мощности . При номинальных нагрузках потери активной мощности составили кВт. При максимальных нагрузках - кВт.
Таблица 5.18 - Оптимальный режим сети при номинальных нагрузках
№ п/ст
Приведенные напряжения к ступени 110 кВ
Генерируемые мощности
активная, кВА
реактивная, кВА
28
114,2
-
42351
2
113,8
38136
114,5
14233
32
113,7
9541
38
113,9
14919
46
114,1
5351
37
114,3
3780
40
10280
44
25306
34
15570
33
114,6
24905
20
45693
31
13560
10751
42
13341
41
65340
ТЭЦ-1
114,8
15210
6800
ТЭЦ-2
115,1
32155
12751
Проведя расчет оптимального режима сети ОАО "ММК им. Ильича" при номинальных нагрузках, было получено минимальное значение потерь активной мощности в сети ΔРопт=84500 кВт. Эффект разработанного программного обеспечения оценивается по снижению потерь активной мощности на величину кВт.
Таблица 5.19 - Оптимальный режим сети при максимальных нагрузках
46283
113,3
40563
15621
113,1
10159
113,2
16105
6258
4106
113,5
12223
28412
114,0
16933
26122
113,4
47731
15303
116697
15105
68251
114,7
16250
7200
115,0
34120
14105
Проведя расчет оптимального режима сети ОАО "ММК им. Ильича" при максимальных нагрузках, было получено минимальное значение потерь активной мощности в сети ΔРопт=89320 кВт. Эффект разработанного программного обеспечения оценивается по снижению потерь активной мощности на величину кВт.
Выводы
Разработанное программное обеспечение позволяет решить комплекс проблем, связанных с оптимальным распределением реактивной мощности по сети.
Разработанная адаптивная система управления позволяет осуществлять постоянный контроль над нагрузками подстанций и конфигурацией сети, оперативно реагировать на какие-либо изменения и производить точный расчет для нового режима.
Внедрение представленного комплекса, состоящего из программного обеспечения и адаптивной системы управления, на любое предприятие с любой сложно замкнутой сетью, в данном случае, на ОАО "ММК им. Ильича" позволяют:
значительно уменьшить потери энергии;
поддерживать постоянный уровень напряжения у приемного конца сети;
значительно уменьшить денежные затраты на потребление и генерацию реактивной мощности.
Минимум аппаратного обеспечения, необходимого для информационного режима работы адаптивной системы управления, и совместимость системы с любым оборудованием, уже установленного на подстанциях, позволяет сделать вывод о целесообразности применения разработанного программного обеспечения на ОАО "ММК им. Ильича" и других крупных промышленных предприятий.
Перечень ссылок
1. В.Н. Костин.: Оптимизационные задачи электроэнергетики: Учеб. пособие. - СПб.: СЗТУ, 2003 - 120с.
2. В.Г. Карманов. Математическое программирование. - М.: Наука, 1980 - 256с.
3. Дж. Деннис, Р. Шнабель. Численные методы безусловной оптимизации и решения нелинейных уравнений. - М.: Мир, 1988 - 440с.
4. З.Н. Бененсон, М.Р. Елистратов, Л.К. Ильин и др. Моделирование и оптимизация на ЭВМ радиоэлектронных устройств. - М.: Радиосвязь, 1981 - 272с.
5. С. Гилл, У. Мюррей. Численные методы условной оптимизации. - М.: Мир, 1977 - 339с.
6. Васильев С.П. Численные методы решения экстремальных задач. - М.: Наука, 1980 - 518с.
7. И.Т. Черноруцкий. Методы оптимизации в теории управления, С.-П.: Питер, 2004 - 226с.
8. В.Е. Болконин, П.И. Чинаев. Анализ и синтез систем автоматического управления на ЭВМ. Алгоритмы и программы. - М.: Радио и связь, 1986 - 248с.
9. В.Н. Костин, Е.В. Распопов, Е.А. Родченко. Передача и распределение электроэнергии: Учеб. пособие. - СПб.: СЗТУ, 2003 - 147с.
10. Барзам А.Б. Системная автоматика. - М.: Энергоатомиздат, 1989. - 446с.
11. Баркан Я.Д., Орехов Л.А. Автоматизация энергосистем: учебное пособие для студентов вузов. - М.: Высш. школа, 1981. - 271с.
12. А. А. Черносвитов. Курс MCSD Visual C++ 6.0 и MFC, С.-П.: Питер, 2000 - 554с.
13. Веников В.А. Управление переходными режимами в электрических системах. - М.: Высшая школа, - 1972. - 352с.
Приложение А
Программа расчета оптимальных режимов
#include <stdio.h>
#include <complex.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
int luc ( int, complex [][31], int [], double );
void rluc ( int, complex [][31], int [], complex [] );
void gauss ( int n, complex [][31], complex [], complex * );
void rasis ( int, int, complex [], complex [], complex [], int [], int [] );
void start ( int, int, int, complex [][31], complex [],
complex [], int [], int [], int [], int );
void vard ( int, int, int, complex [][31], complex [],
complex [], int [], int [], int [] );
void varm ( int, int, int, complex [][31], complex [],
void prejc ( int, int, int, complex [], complex [] );
void pryzc ( int, complex [], int [], int [], int );
void foryzc ( int, int, complex [][31], complex [], int [], int [] );
double w;
void main ( void )
{
complex a[30][31], b[30], yz[90], tok[90], s;
int imax[90], imin[90], irow[30];
int n, nyz, nej, istop, i, j;
double f;
do
clrscr ( );
scanf ( "%i4 %i4 %i4 %i4", &f, &n, &nyz, &nej, &istop );
w = 2 * M_PI * f;
start ( n, nyz, nej, a, b, yz, imax, imin, irow, 0 );
for ( i = 0; i < nyz; i++ )
yz[i] = 1.0 / yz[i];
cout << yz[i];
if ( ! ( i % 4 ) ) cout << '\n';
}
cin >> imax[i] >> imin[i];
cin >> n;
vard ( n, nyz, nej, a, b, yz, imax, imin, irow );
rasis ( n, nyz, b, yz, tok, imax, imin );
while ( istop );
//for ( i = 0; i < n; i++ )
//for ( j = 0; j <= n; j++ )
//cin >> a[i][j];
//b[i] = a[i][n];
//{
//cout << a[i][j];
//cout << '\n';
//}
//cout << b[i];
//luc ( n, a, irow, 0.00001 );
//rluc ( n, a, irow, b );
//gauss ( n, a, b, &s );
int luc ( int n, complex a[][31], int irow[], double eps )
int i, i1, j, k, l, n1;
complex prom;
for ( i = 0; i < n; i++ )
irow[i] = i;
n1 = n - 1;
for ( i = 0; i < n1; i++ )
i1 = i + 1;
l = i;
for ( k = i1; k < n; k++ )
if ( abs ( a[k][i] ) > abs ( a[l][i] ) ) l = k;
if ( abs ( a[l][i] ) < eps ) return 0;
if ( l > i )
for ( j = 0; j < n; j++ )
prom = a[i][j];
a[i][j] = a[l][j];
a[l][j] = prom;
irow[i] = l;
for ( j = i1; j < n; j++ )
a[i][j] = a[i][j] / a[i][i];
a[k][j] -= a[k][i] * a[i][j];
return 1;
void rluc ( int n, complex a[][31], int irow[], complex b[] )
int i, j;
complex sum;
if ( i != irow[i] )
sum = b[i];
b[i] = b[irow[i]];
b[irow[i]] = sum;
for ( j = 0; j < i; j++ )
sum -= a[i][j] * b[j];
b[i] = sum / a[i][i];
for ( i = n - 2; i >= 0; i-- )
for ( j = i+1; j < n; j++ )
b[i] = sum;
void gauss ( int n, complex a[][31], complex x[], complex *s )
int i, j, k, l, k1, n1;
complex r;
n1 = n + 1;
for ( k = 0; k < n; k++ )
k1 = k + 1;
*s = a[k][k];
j = k;
for ( i = k1; i < n; i++ )
r = a[i][k];
if ( abs ( r ) > abs ( *s ) )
*s = r;
j = i;
if ( *s == complex ( 0.0, 0.0 ) ) break;
if ( j != k )
for ( i = k; i < n1; i++ )
r = a[k][i];
a[k][i] = a[j][i];
a[j][i] = r;
for ( j = k1; j < n1; j++ )
a[k][j] /= *s;
a[i][j] -= a[k][j] * r;
if ( *s != complex ( 0.0, 0.0 ) )
for ( i = n - 1; i >= 0; i-- )
*s = a[i][n];
for ( j = i + 1; j < n; j++ )
*s -= a[i][j] * x[j];
x[i] = *s;
return;
void start ( int n, int nyz, int nej, complex a[][31], complex b[],
complex yz[], int imax[], int imin[], int irow[], int iy )
int i;
pryzc ( nyz, yz, imax, imin, iy );
void vard ( int n, int nyz, int nej, complex a[][31], complex b[],
complex yz[], int imax[], int imin[], int irow[] )
foryzc ( n, nyz, a, yz, imax, imin );
//for ( j = 0; j < n; j++ )
if ( luc ( n, a, irow, 1.0e-5 ) )
varm ( n, nyz, nej, a, b, yz, imax, imin, irow );
else
printf ( "\nв®з®Ґ аҐиҐЁҐ Ґ ў®§¬®¦®" );
void varm ( int n, int nyz, int nej, complex a[][31], complex b[],
prejc ( n, nej, nyz, b, yz );
cout << b[i];
rluc ( n, a, irow, b );
void pryzc ( int nyz, complex yz[], int imax[], int imin[], int iy )
int i, indrlc;
complex rlc;
cin >> rlc >> indrlc >> imax[i] >> imin[i];
yz[i] = rlc;
if ( indrlc == 2 )
yz[i] = complex ( 0.0, -1000000 / ( w * imag ( rlc ) ) );
if ( indrlc == 1 )
yz[i] = complex ( 0.0, w * imag ( rlc ) * 0.001 );
if ( indrlc == 3 ) yz[i] = polar ( real ( rlc ), imag ( rlc ) );
cout << "YZ[" << i+1 << "]= " << yz[i];
void foryzc ( int n, int nyz, complex a[][31], complex yz[],
int imax[], int imin[] )
int i, j, k, kolstr;
a[i][j] = complex ( 0.0, 0.0 );
for ( k = 0; k < nyz; k++ )
i = imax[k];
j = imin[k];
a[i-1][i-1] += yz[k];
if ( j )
a[j-1][j-1] += yz[k];
a[i-1][j-1] -= yz[k];
a[j-1][i-1] = a[i-1][j-1];
clrscr();
cout << "YZ[i][j]=";
kolstr = 0;
cout << "\nYZ[" << i+1 << "][" << j+1 << "]= " << a[i][j];
kolstr++;
if ( kolstr == 22 )
getchar ( );
void prejc ( int n, int nej, int nyz, complex b[], complex yz[] )
int i, ind1, ind2, imin, imax, iyz;
complex ej;
b[i] = complex ( 0.0, 0.0 );
for ( i = 0; i < nej; i++ )
cin >> ej >> iyz >> imax >> imin >> ind1 >> ind2;
if ( ind1 )
ej = polar ( real ( ej ), imag ( ej ) );
if ( ind2 ) ej *= yz[iyz-1];
cout << "ei= " << ej;
b[imax-1] += ej;
if ( imin ) b[imin-1] -= ej;
void rasis ( int n, int nyz, complex b[], complex yz[],
complex tok[], int imax[], int imin[] )
int i, j, k;
tok[k] = ( b[i-1] - b[j-1] ) * yz[k];
tok[k] = b[i-1] * yz[k];
cout << "I["<< k+1 << "]=" << tok[k];
Приложение Б
Структурная схема системы управления
Страницы: 1, 2, 3, 4, 5, 6