rT=1,42 Ом,
хТ=34,7 Ом,
GT=0.0027,
BT=0.0197.
Таблица 5.10 - Номинальные параметры
двухобмоточного трансформатора Т2 п/ст 44, п/ст 43
ТрансформаторСреднее
номинальное напряжение, кВUкз, %Ркз, кВтРх.х, кВтI х.х, %
|
|
|
|
|
|
ТРДН-32000/110
|
115/6,6
|
10,5
|
140
|
60
|
0,7
|
Подставив номинальные параметры в (5.4) - (5.7)
получим:
rT=1,9 Ом, хТ=44 Ом,
GT=0.0045,BT=0.0167.
Таблица 5.11 - Номинальные параметры
двухобмоточного трансформатора Т1 п/ст 34, п/ст 46
Трансформатор
|
Среднее
номинальное напряжение, кВ
|
Uкз,
%
|
Ркз,
кВт
|
Рх.х,
кВт
|
I
х.х, %
|
ТДН-16000/110
|
115/6,6
|
10,5
|
85
|
19
|
0,7
|
Подставив номинальные параметры в (5.4) - (5.7)
получим:
rT=4,38 Ом,
хТ=86,7 Ом,
GT=0.0014,
BT=0.0085.
Таблица 5.12 - Номинальные параметры
двухобмоточного трансформатора Т2 п/ст 34, п/ст 2
Трансформатор
|
Среднее
номинальное напряжение, кВ
|
Uкз,
%
|
Ркз,
кВт
|
Рх.х,
кВт
|
I
х.х, %
|
ТДНГ-31500/110
|
115/6,6
|
10,5
|
140
|
60
|
0,7
|
Подставив номинальные параметры в (5.4) - (5.7)
получим:
rT=1,9 Ом,
хТ=44 Ом,
GT=0.0045,
BT=0.0167.
Таблица 5.13 - Номинальные параметры
двухобмоточного трансформатора п/ст 38
ТрансформаторСреднее
номинальное напряжение, кВUкз, %Ркз, кВтРх.х, кВтI х.х, %
|
|
|
|
|
|
ТДНГ-40500/110
|
115/6,6
|
10,5
|
172
|
36
|
0,65
|
Подставив номинальные параметры в (5.4) - (5.7)
получим:
rT=1,42 Ом,
хТ=34,7 Ом,
GT=0.0027,
BT=0.0197.
Таблица 5.14 - Номинальные параметры
двухобмоточного трансформатора Т1 п/ст 37
Трансформатор
|
Среднее
номинальное напряжение, кВ
|
Uкз,
%
|
Ркз,
кВт
|
Рх.х,
кВт
|
I
х.х, %
|
ТДНГУ-40500/110
|
115/6,6
|
10,5
|
172
|
36
|
0,65
|
Подставив номинальные параметры в (5.4) - (5.7)
получим:
rT=1,42 Ом,
хТ=34,7 Ом,
GT=0.0027,
BT=0.0197.
Таблица 5.15 - Номинальные параметры двухобмоточного
трансформатора п/ст 40
Трансформатор
|
Среднее
номинальное напряжение, кВ
|
Uкз,
%
|
Ркз,
кВт
|
Рх.х,
кВт
|
I
х.х, %
|
ТДН-31500/110
|
115/6,6
|
10,5
|
140
|
60
|
0,7
|
Подставив номинальные параметры в (5.4) - (5.7)
получим:
rT=1,9 Ом,
хТ=44 Ом,
GT=0.0045,
BT=0.0167.
Таблица 5.16 - Номинальные параметры
двухобмоточного трансформатора п/ст 31: ТДНГ-40500/110/10
Трансформатор
|
Среднее
номинальное напряжение, кВ
|
Uкз,
%
|
Ркз,
кВт
|
Рх.х,
кВт
|
I
х.х, %
|
ТДНГУ-40500/110
|
115/11
|
10,5
|
172
|
36
|
0,65
|
Подставив номинальные параметры в (5.4) - (5.7)
получим:
rT=1,42 Ом,
хТ=34,7 Ом,
GT=0.0027,
BT=0.0197.
Таблица 5.17 - Номинальные параметры
двухобмоточного трансформатора Т3, Т4 п/ст 41
Трансформатор
|
Среднее
номинальное напряжение, кВ
|
Uкз,
%
|
Ркз,
кВт
|
Рх.х,
кВт
|
I
х.х, %
|
ТРДЦН-63000/110
|
115/10
|
10,5
|
260
|
59
|
0,6
|
Подставив номинальные параметры в (5.4) - (5.7)
получим:
rT=0,87 Ом,
хТ=22 Ом,
GT=0.0045,
BT=0.0286.
5.2 Расчет сети при различных нагрузках
На
первом этапе (см. рис. 3.1) с помощью разработанного программного обеспечения
были рассчитаны неоптимальные режимы работы сети ОАО "ММК им. Ильича"
с компенсацией реактивной мощности при коэффициенте реактивной мощности . При номинальных нагрузках
потери активной мощности составили кВт. При максимальных нагрузках - кВт.
Таблица
5.18 - Оптимальный режим сети при номинальных нагрузках
№
п/ст
|
Приведенные
напряжения к ступени 110 кВ
|
Генерируемые
мощности
|
|
|
активная,
кВА
|
реактивная,
кВА
|
28
|
114,2
|
-
|
42351
|
2
|
113,8
|
-
|
38136
|
6
|
114,5
|
-
|
14233
|
32
|
113,7
|
-
|
9541
|
38
|
113,9
|
-
|
14919
|
46
|
114,1
|
-
|
5351
|
37
|
114,3
|
-
|
3780
|
40
|
113,8
|
-
|
10280
|
44
|
114,2
|
-
|
25306
|
34
|
114,5
|
-
|
15570
|
33
|
114,6
|
-
|
24905
|
20
|
113,8
|
-
|
45693
|
31
|
114,2
|
-
|
13560
|
43
|
114,1
|
-
|
10751
|
42
|
114,3
|
-
|
13341
|
41
|
114,2
|
-
|
65340
|
ТЭЦ-1
|
114,8
|
15210
|
6800
|
ТЭЦ-2
|
115,1
|
32155
|
12751
|
Проведя
расчет оптимального режима сети ОАО "ММК им. Ильича" при номинальных
нагрузках, было получено минимальное значение потерь активной мощности в сети ΔРопт=84500
кВт. Эффект разработанного программного обеспечения оценивается по снижению
потерь активной мощности на величину кВт.
Таблица
5.19 - Оптимальный режим сети при максимальных нагрузках
№
п/ст
|
Приведенные
напряжения к ступени 110 кВ
|
Генерируемые
мощности
|
|
|
активная,
кВА
|
реактивная,
кВА
|
28
|
113,8
|
-
|
46283
|
2
|
113,3
|
-
|
40563
|
6
|
114,1
|
-
|
15621
|
32
|
113,1
|
-
|
10159
|
38
|
113,2
|
-
|
16105
|
46
|
113,8
|
-
|
6258
|
37
|
113,9
|
-
|
4106
|
40
|
113,5
|
-
|
12223
|
44
|
113,9
|
-
|
28412
|
34
|
114,0
|
-
|
16933
|
33
|
114,1
|
-
|
26122
|
20
|
113,4
|
-
|
47731
|
31
|
113,8
|
-
|
15303
|
43
|
113,7
|
-
|
116697
|
42
|
113,9
|
-
|
15105
|
41
|
113,9
|
-
|
68251
|
ТЭЦ-1
|
114,7
|
16250
|
7200
|
ТЭЦ-2
|
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 [],
complex [], int [], int [], int []
);
void prejc ( int, int, int, complex
[], complex [] );
void rasis ( int, int, complex [], complex
[], complex [], int [], int [] );
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';
}
for ( i = 0; i < nyz; i++ )
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];
//for ( i = 0; i < n; i++ )
//b[i] = a[i][n];
//for ( i = 0; i < n; i++ )
//{
//for ( j = 0; j <= n; j++ )
//cout << a[i][j];
//cout << '\n';
//}
//for ( i = 0; i < n; i++ )
//cout << b[i];
//luc ( n, a, irow, 0.00001 );
//rluc ( n, a, irow, b );
//cout << '\n';
//gauss ( n, a, b, &s );
//for ( i = 0; i < n; i++ )
//cout << b[i];
}
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];
for ( k = i1; k < n; k++ )
for ( j = i1; j < n; j++ )
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;
for ( i = 0; i < n; i++ )
if ( i != irow[i] )
{
sum = b[i];
b[i] = b[irow[i]];
b[irow[i]] = sum;
}
for ( i = 0; i < n; i++ )
{
sum = b[i];
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-- )
{
sum = b[i];
for ( j = i+1; j < n; j++ )
sum -= a[i][j] * b[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;
for ( i = k1; i < n; i++ )
{
r = a[i][k];
for ( j = k1; j < n1; j++ )
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 );
for ( i = 0; i < nyz; i++ )
{
cout << yz[i];
if ( ! ( i % 4 ) ) cout <<
'\n';
}
vard ( n, nyz, nej, a, b, yz, imax,
imin, irow );
}
void vard ( int n, int nyz, int nej,
complex a[][31], complex b[],
complex yz[], int imax[], int
imin[], int irow[] )
{
int i, j;
foryzc ( n, nyz, a, yz, imax, imin
);
//for ( i = 0; i < n; i++ )
//{
//for ( j = 0; j < n; j++ )
//cout << a[i][j];
//cout << '\n';
//}
if ( luc ( n, a, irow, 1.0e-5 ) )
varm ( n, nyz, nej, a, b, yz, imax,
imin, irow );
else
printf ( "\nв®з®Ґ
аҐиҐЁҐ
Ґ
ў®§¬®¦®"
);
return;
}
void varm ( int n, int nyz, int nej,
complex a[][31], complex b[],
complex yz[], int imax[], int
imin[], int irow[] )
{
int i;
prejc ( n, nej, nyz, b, yz );
for ( i = 0; i < n; i++ )
{
cout << b[i];
if ( ! ( i % 4 ) ) cout <<
'\n';
}
rluc ( n, a, irow, b );
for ( i = 0; i < n; i++ )
{
cout << b[i];
if ( ! ( i % 4 ) ) cout <<
'\n';
}
return;
}
void pryzc ( int nyz, complex yz[],
int imax[], int imin[], int iy )
{
int i, indrlc;
complex rlc;
for ( i = 0; i < nyz; i++ )
{
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;
for ( i = 0; i < n; i++ )
{
for ( j = 0; j < n; j++ )
a[i][j] = complex ( 0.0, 0.0 );
//cout << '\n';
}
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;
for ( i = 0; i < n; i++ )
{
for ( j = 0; j < n; j++ )
{
cout << "\nYZ["
<< i+1 << "][" << j+1 << "]= "
<< a[i][j];
kolstr++;
if ( kolstr == 22 )
{
kolstr = 0;
getchar ( );
clrscr();
cout << "YZ[i][j]=";
}
}
}
return;
}
void prejc ( int n, int nej, int
nyz, complex b[], complex yz[] )
{
int i, ind1, ind2, imin, imax, iyz;
complex ej;
for ( i = 0; i < n; i++ )
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;
}
return;
}
void rasis ( int n, int nyz, complex
b[], complex yz[],
complex tok[], int imax[], int
imin[] )
{
int i, j, k;
for ( k = 0; k < nyz; k++ )
{
i = imax[k];
j = imin[k];
if ( j )
tok[k] = ( b[i-1] - b[j-1] ) *
yz[k];
else
tok[k] = b[i-1] * yz[k];
}
for ( k = 0; k < nyz; k++ )
cout << "I["<<
k+1 << "]=" << tok[k];
return;
}
Приложение Б
Структурная схема системы управления
Страницы: 1, 2, 3, 4, 5, 6, 7
|