Научная статья на тему 'Реализация алгоритма дифференциальной защиты трансформатора фирмы ЭКРА на языке программирования Java'

Реализация алгоритма дифференциальной защиты трансформатора фирмы ЭКРА на языке программирования Java Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
263
64
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТОРМОЗНАЯ ХАРАКТЕРИСТИКА / ДИФФЕРЕНЦИАЛЬНЫЙ ТОК / ТОРМОЗНОЙ ТОК / ПАРАМЕТР СРАБАТЫВАНИЯ / КОРОТКОЕ ЗАМЫКАНИЕ / КЛАСС / АТРИБУТ / BRAKING PERFORMANCE / DIFFERENTIAL CURRENT / BRAKING CURRENT / RESPONSE PARAMETER / SHORT CIRCUIT / CLASS / ATTRIBUTE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Холодов Александр Сергеевич, Зыкина Анастасия Николаевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Холодов Александр Сергеевич, Зыкина Анастасия Николаевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Implementation of differential protection algorithm of EKRA transformer in Java programming language

To visualize and analyze the operation of microprocessor relay protection terminals, it is proposed to develop an algorithm for the differential protection of the transformer in the Java programming language and check its correctness in various modes.

Текст научной работы на тему «Реализация алгоритма дифференциальной защиты трансформатора фирмы ЭКРА на языке программирования Java»

УДК 519.876.5

РЕАЛИЗАЦИЯ АЛГОРИТМА ДИФФЕРЕНЦИАЛЬНОЙ ЗАЩИТЫ ТРАНСФОРМАТОРА ФИРМЫ ЭКРА НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ

JAVA

Холодов Александр Сергеевич, ассистент, Зыкина Анастасия Николаевна, магистрант; кафедра «Релейная Защита и Автоматизация Энергосистем», Национальный исследовательский университет «МЭИ», Москва, РФ

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

IMPLEMENTATION OF DIFFERENTIAL PROTECTION ALGORITHM OF EKRA TRANSFORMER IN JAVA PROGRAMMING LANGUAGE

Kholodov Alexander Sergeevich, assistant, Zykina Anastasia Nikolaevna, undergraduate; Department «Relay protection and automation of power systems», National research University

«MEI», Moscow, Russia

To visualize and analyze the operation of microprocessor relay protection terminals, it is proposed to develop an algorithm for the differential protection of the transformer in the Java programming language and check its correctness in various modes.

Keywords: braking performance; differential current; braking current; response parameter; short circuit; class; attribute.

Для цитирования: Холодов А.С., Зыкина А.Н. Реализация алгоритма дифференциальной защиты трансформатора фирмы ЭКРА на языке программирования Java // Наука без границ. 2019. № 6(34). С. 65-72.

Расчет дифференциальной защиты ским указаниям по расчету уставок защит трансформатора (ДЗТ) 110/10 кВ мощно- подстанционного оборудования производ-стью 63 МВА ведется согласно Методиче- ства ООО НПП «ЭКРА» (п.1.31).

Таблица 1

Исходные данные силового трансформатора_

Параметр S, МВА UBH / UHH Схема соединения К ТТ,ВН К ТТ,НН

Значение 63 110/10 Y/Д 500/5 5000/5

1 СТО 56947007-29.120.70.99-2011 Методические указания по расчету уставок защит подстанционного оборудования производства ООО НПП «ЭКРА».

где: Ктт - коэффициент трансформа- срабатывания (1д0); ции трансформаторов тока (ТТ). Вто- - ток начала торможения (1т0); ричные обмотки ТТ соединены по схеме - ток торможения блокировки (1т ); «звезда». - коэффициент торможения (К );

Для дифференциальной защиты транс- - уровень блокировки по второй гармо-форматора (ДЗТ) рассчитываются следую- нике (Кбл 2гар);

щие уставки на основании табл. 1: - ток срабатывания дифференциальной

- начальный дифференциальный ток отсечки (I ).

Таблица 2

Параметры срабатывания ДЗТ

Параметр I . тол K т Кбл,2гар I отс ^(баз.вн)

Значение, о.е. 0,27 1 2 0,5 0,2 6,5 3,163 3,464

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

10"

1отс*=6.5

ia.fl*=0.27

05пост ь срабатыбония

Область нес работы С ания

!т"

lm.o*=1,0 1т.5л*=2,0 Рис. 1. Тормозная характеристика ДЗТ фирмы ЭКРА

Описание реализации алгоритма ДЗТ Для выбора цифрового фильтра рассмо-

\J SJ Г I 1Г I 1

трим наихудшии случаи насыщения 11 при повреждении, то есть когда один из ТТ - идеальныИ, а второИ имеет максимальную полную погрешность. В этом случае происходит потеря половины сигнала во вторичных токовых цепях. На выходе фильтра RMS при 50% потере сигнала сохраняется 75% действующего значения. В фильтре Фурье линейная зависимость действующего значения сигнала от уровня потерянного сигнала, то есть при 50% потере сигнала, сохраняется 50% действующего значения. Поскольку в данной статье рассматривается дифференциальная защита

трансформатора, для которой необходима отстройка от тока небаланса при внешних повреждениях, выбран фильтр Фурье для обеспечения большей чувствительности ДЗТ к внутренним КЗ. Принцип работы фильтра Фурье заключается в формировании ортогональных составляющих цифрового сигнала с выхода аналого-цифрового преобразователя (АЦП) в соответствии с выражениями [1]:

где: x(kAtà) - текущая выборка цифрового сигнала с выхода АЦП; Atà - шаг дискретизации; m - число выборок за период; f0 - частота сигнала, которую выделяет фильтр;

kф- коэффициент Фурье для компенсации.

Для вычисления действующих значений был создан класс Furie.

1 package <fЕt "

2

3 public class Furie {

A

private float[] sin = new float(80];

private float[] cos c new floatT30];

private float[J bufV = new float[80];

private float[] fufX = new float[WJ;

private float sumX = 0, sujuY - 0j

10 private float ortX = ortY = 0,

11 private float trmjiViilui1 -

12 private float k = (float) (Math,si)rt(2)/80);

13 private int number - 0;

14

15 public Furie(int n) {

16 for(int S0; i<3&; i++) {

17 sin[ij = (float) flath.iirt(n«Matli.PJiiy80);

18 cos[ij ^ (float) flath.cos(n"MathJ>J*l/E0)j

19 } 29 )

Рис. 2. Задание переменных и массивов класса Furie

где: sin, cos - массивы, содержащие значения соответствующих тригонометрических функций для 80 выборок за период, то есть для диапазона углов от 0° до 360° с шагом 4,5° при n = 2;

n - входная величина метода Furie, задающая частоту, на которую данный фильтр будет настроен.

22 public float[] getOrt(float meanValve) {

23 tempVelue = meanValue*5in[number); sumX = iurtiX + tempValue - bufX[number|j

25 bufX[iniifflber3 =■ tempValue;

27 tempValue = nieanValue*iosE number);

25 sluY - sumY + teropValue ■ bufY[number J;

29 bufY[number] = tempValue;

30

31 ortX = k * iurtX;

32 ortY = k * surttY;

number++; if(number^=80) number = 0; return пен float[] { OrtX, ortV };

Рис. 3. Создание метода getOrt

Метод getOrt предназначен для вычисления ортогональных составляющих мгновенных значений тока.

meanValue - текущее мгновенное значение тока;

tempValue - текущее значение ортогональной составляющей тока;

sumX, sumY - текущие значения амплитуды соответствующих ортогональных составляющих тока;

bufX, bufY - массивы, содержащие последние 80 выборок соответствующих ортогональных составляющих тока;

ortX, ortY - текущие значения соответствующих ортогональных составляющих сигнала c учетом коэффициента компенсации Фурье k;

number - текущая выборка за период, public float getRMS(float meanValue) { getOrt(meanValue);

40 return (float) Math.sgrt(ortX*ortX+ortY*ortY);

« }

Рис. 4. Создание метода getRms

Метод getRms предназначен для вычисления действующих значений тока.

public float getAngle(float meariValue) { 45 getOi"t(rtieanValue)j

4fi return {float} Hath.oifl^iortY, ortX);

47 }

Рис. 5. Создание метода getAngle

Метод getAngle предназначен для вычисления значений угла вектора тока.

Для отображения срабатывания ДЗТ создан класс Trip.

_l package dit; 1 public (less Trip (

private boolean phaseA = false; 4 private boolean phaseB - false; private boolean phaseC - false;

6

1- public void chedcïripfString name, boolean trip) { if(name.equals("phaseA"}) phaseA = trip; if(name.equals("phaseB"}) phaseB - trip; if(name.equals("phaseC"}) phaseC ■ trip;

И } }

Рис. 6. Создание класса Trip, его переменных логического типа

Срабатывание ДЗТ реализуется путем изменения значения 3-х логических пере-

менных в соответствии с названием (name) на новое значение (trip).

Для реализации алгоритма ДЗТ создан класс Dzt.

1 package dzt;

J." import dït^Chartsy ] с

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6 public class Dzt {

7 private float Ivn = 0;

S private float Inn = 0;

9 private float rmsNN =■ 0;

10 private float rmsM = 0;

11 private float It = 0;

12 private float Id = 0;

13 private float 11 = 0;

и private float 12 = 0;

15 private float argil = a;

private float argI2 = 0;

private float arg = 0;

IS private float u&t - 0;

19 private float Kbl = 0;

26 private float time ■ 0;

21 private float Ibvn (float) 3.163;

22 private float Ibnn * (float) 3.464;

23 private float ldo = (float) 0.2?;

24 private float Idl = (float) -0.23;

25 private int Ito = 1;

26 private int Itbl = 2;

27 private float Ktorm = (float) 3.5;

28 private float Kbl_ust = (float) 0.2,

29 private float lots = (float) 6.5;

30 private float time_ir5t = 39;

31 private String name = H";

Рис. 7. Задание переменных класса Dzt

где: Ivn, Inn - мгновенные значения выровненных токов сторон ВН и НН трансформатора;

rmsVN, rmsNN - действующие значения выровненных токов сторон ВН и НН трансформатора;

Id - действующее значение дифференциального тока;

It - действующее значение тормозного тока;

11 - максимальный из токов сторон трансформатора;

12 - сумма токов сторон трансформатора за исключением I1;

argI1, argI2 - углы векторов тока I1 и I2; arg - угол между векторами токов I1 и

I2;

ust - текущее значение дифференциаль-

ного тока срабатывания;

Kbl - текущее значение коэффициента блокировки ДЗТ по второй гармонике;

time - набор выдержки времени при срабатывании;

Ibvn, Ibnn - базисные токи сторон ВН и НН трансформатора;

Ido, Ito, Itbl, Ktorm, Kbl_ust, lots - уставки из табл. 2.

33 private Furie fl = леи Furie(2)

34 private Furie f2 =. new Furie(2)

35 private Furie B - new Furie(Z)

Î6 private Furie H - new Furie(2)

37 private Furie fS ■= new Furie(2)

38 private Furie f6 = new Furie(2)

39 private Furie f7 * new Furie(4)

40 private Trip trip;

Рис. 8. Создание экземпляров

других классов

f1-f7 - экземпляры класса Furie; trip - экземпляр класса Trip.

41 public Dzt(String name) { M this.name ■ name;

43 }

44

public void ietTrip(Trip trip){ this.trip - trip;

}

Рис. 9. Создание методов Dzt и setTrip

Метод Dzt присваивает имя экземпляру класса Dzt. Метод setTrip предназначен для обозначения того, что экземпляр trip, используемый в классе Dzt, является тем же самым, что и экземпляр trip класса Trip.

Далее рассмотрен метод са1с, который реализует логику работы терминала ДЗТ фирмы ЭКРА для каждой фазы.

public void calc(float mêanVakffl, float lanValuetflî, float «eanValuel) { Ы l (float) :((iemïaluei]-ieanVskVNÎ)/(k*(lïtbirt(3)))i H Ii =

si Id : fl.geti(b»lfflij

Рис. 10. Формирование дифференциального тока

Входными данными метода са1с являются два фазных тока стороны ВН и один фазный ток стороны НН. Это связано с тем, что схемы соединения сторон трансформатора разные: на стороне ВН - Y, на стороне НН - А, а трансформаторы тока с обеих сторон силового трансформатора соединены по схеме Y, поэтому необходима компенсация фазового сдвига стороны ВН для ДЗТ, которая осуществляется следующим образом:

Тормозной ток формируется следующим образом:

а - угол между токами I и I..

82 33

Kbl=(f7.getRHS(Ivn+Inn))/Id;

Для выравнивая токов в цепях циркуляции сторон ВН и НН трансформатора по амплитуде нужно привести их к базисным величинам:

Рис. 12. Формирование коэффициента блокировки

Для предотвращения ложной работы ДЗТ при бросках тока намагничивания (БНТ) в момент включения трансформатора под напряжение, а также для дополнительной отстройки защиты от тока небаланса переходного режима внешнего КЗ выполнена блокировка защиты по превышению отношения действующего значения второй гармоники к действующему значению первой гармоники дифференциального тока

I , I, , I соответствуют переменным теапУа1ие, а I , и I ,- переменным I и

вн* нн* г vn

1пп. Дифференциальный ток формируется как сумма токов сторон ВН и НН в цепях циркуляции.

59 жШ = ГЗ.|е1Щ1лп);

«в II = МЬ.и^гкШ, гм11);

61 12 = гиШкШ-П;

62

63 (Пинан) {

64 ЙГЁ11 = f4.getйЛEle(Ivп)¡

65 = fS.getЙлgli(Iлfl);

66 )

67 «Не {

68 = М-£еМ|£1е(1пя);

69 аг£12 = f5,getAл|le(Ivл)¡

70 }

71 аг|. («0|1)((аггИ-аге12)'18в/НаЙ1.И);

7!

73 № ШМЬ.яИлг!)) {

74 И = НаЙ.5гКП,12Ш.«5{(180-агв)'МЬ.И/1!0)));

75 }

76 «1» {

77 И = *;

78

Рис. 11. Формирование тормозного тока

85

36

37 88

89

90

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

91

92

93

94

95

96

97

98

}

if{lt<lto) ujUldo;

if(It>Ito Itbblt) ust=Ktorm*lt+Iiil; if((Id>ust Sfc Kbl<Kbl_uit)) { time = (float) (time+e.25); if (tiiie>time_ust) { time-time_ust; trip.checkTripfname, true);

}

if (Idiots) trip.thetkTripfnarie., true); else { time=0;

trip.checkTripinane, false);

>

Рис. 13. Условия срабатывания ДЗТ

В соответствии с тормозной характеристикой ДЗТ, представленной на рис. 1, дифференциальный ток срабатывания зависит от величины тормозного тока, а именно если тормозной ток меньше начального значения, то дифференциальный ток срабатывания равен начальному значению, в случае нахождения значения тормозного тока в диапазоне от начального значения до значения тока блокировки дифференциальный ток срабатывания формируется согласно уравнению прямой:

I. = Id1 + к • I

d dl t t

При превышении дифференциальным током уставки и несрабатывании блокировки по второй гармонике запускается выдержка времени, по истечении которой срабатывает соответствующая фаза ДЗТ в виде изменения атрибута экземпляра trip на положение true в соответствии с именем экземпляра класса Dzt, в противном случае положение атрибута остается первоначальным - false. Для исключения замедления работы ДЗТ при больших токах внутреннего повреждения, обусловленного работой органа блокировки по второй гармонике, предусмотрена дифференциальная отсечка без блокировки, которая отстроена от БНТ силового трансформатора.

Для исследования алгоритма ДЗТ в различных режимах работы были использованы данные файла формата comtrade, который представляется двумя файлами с одинаковыми именами, но разными расширениями - cfg и dat. Файл с расширением dat содержит выборки аналоговых сигналов, в данном случае фазных токов высшей и низшей сторон трансформатора. Файл с расширением cfg описывает настройки ос-циллографирования, а именно частоту, количество сигналов и их тип, масштабирующие коэффициенты. Загрузка данных из файла формата comtrade осуществляется в классе DataComtrade.

1 package dit; _^-iiDpisrt j эva . io, Buf f ered Reade г

7 public tlass Da t aCo«it r ad £■ {

3

10 11 12

13

14

15 là

.17 13 19

2021 11 2Ъ

2Л >

Рис. 14. Создание класса DataComtrade, его переменных и массивов, экземпляров других классов

private File tomtrCfg; priifatt File conitfUat; privat* Buffered Reader privat* String line; private String(] lireData^ private- double kja[] = jievj double[12] ; private- int rf =

private Dzt ta; prival* Dzt tb; privat* Ozt tc;

public void setT(Dit ta, Oit tb, Dzt tc) { thli.t» = ts> thii.tb = tb; thii.tc = t c j

где: kia - массив масштабирующих коэффициентов из файла с расширением cfg;

a - номер элемента массива kia;

Метод setT предназначен для обозначения того, что экземпляры ta, tb, tc, используемые в классе DataComtrade, являются теми же самыми, что и экземпляры ta, tb, tc класса Dzt.

281 public DataComtrade(String path, String file) {

29 comtrCfg = new File(path+file+".cfg");

30 comtrDat = new Fili(path+file+H.datH);

31 }

Рис. 15. Создание метода DataComtrade

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

Далее рассмотрен метод run, предназначенный для загрузки данных из файла формата comtrade.

330

34

35

36 17 33 39

ад

41

а аз

44

45

46

47 43

49

50

public void runQ{

I

try { br = new 8ufferedReader{new Filefteade-r(comtrCfg)}; catch (FileNotFoundExteption e) { e.printStackl>ace(); } try {

int lih&Nuirtber = 0;

whil*((line = br.readLire{)) 1= null){ forÇint i = 2; i<8; i++) { if ( 1 ineNumbe r== i ) {

lineData ■ line.split

kia[a] = Double,poJ~sei5oyfïi^ClineOata[5]); kia[a+l] = Double lineData [6])

a=a+2;

>

>

lineWumber++; >

} catch (IOException e) { e ,print5taclcTrace() ; }

Рис. 16. Считывание масштабирующих коэффициентов

Масштабирующие коэффициенты из файла с расширением сfg необходимы для нахождения корректного значения каждого фазного тока сторон ВН и НН трансформатора.

г FileReader(comtrOat))i >

e-printStaekTraceO; î

у { Ьг = new BufferedReader(e»i teh (Fileffot Found Exception e) { i aeanVa lueVTIa = 0; neanVa 1 ueVflb - 0; ■eanVa lueVNc = reanValuetitta « в; KanValuetM » в;

oat eeanvalueNMc » 0; <

whii«({line * br.reedLinei))!*null){ lineData ■ lirtf.jplitr,");

чеАПУвLuCVHM ■ (float) (FlO4t.p£rrj<-FtoetilintlJAti(2])"kift[0l*kia[l]>; ■eanValueVNb = (float) (Fl<M»t.ptWseFlOiît( linel>at«[3] )*kia[2]»kia[3] ); ■eanVa lueVWc = (float) (Float,porseFtout<lineData[4]>*kia[4]+kia[5])i ■eanValueNMa = (float) <Float.porseFlo<7t{lineData(5]>*kia[6]+kia[7]); ■eanValueNNb = (float) (Floet.parseFtoCTt^lineDatatbJ^kiatej+kiat®] ); ■eanValueNWc = (float) (Float.porseftootilineOatai7]}*kia[10]*kia[ll]); if( tab null) ta.calc(meanValueVUa , meanValueVHb, meanValueMNa); if(tb!=null) tb.calc(meanValueVNb, meanValueVMc, meanValueNHb); i#(tc!=null) tc-cale(«eanValueVMc, meanValueVMa, eieanValueNMc)J

}

itch (logxceptioo e) { e.printStatfcTrace(); }

Рис. 17. Считывание мгновенных значений фазных токов

Текущие мгновенные значения фазных токов сторон ВН и НН трансформатора из файла с расширением dat записываются в соответствующие переменные meanValue, затем для каждого экземпляра класса Dzt вызывается метод calc.

Создание экземпляров классов, представленных выше, запуск методов, построение графиков для наглядного представления работы ДЗТ в различных режимах осуществляется в классе Main.

)

String Pith = "C; \\U»K\\iy(<lnW)MllMdi\\T<Wi!« K3\\"i

String file ■ "H2";

//String fiIe = "BKiiioHeHHi";

Oata(o«tride data ■ aiw ftat sCoatraile [ path, file);

Dit ti « nm •itCphasfA"); Oit tb = mm fctt'phaseB'); Dit tc = new BitfphaseC-);. diti.sitKta, tb, tc);

Trip trip = new Trip();

tb.setTrip(trip); tc.ietlfip(trip);

diti.rusOj

Рис. 18. Создание экземпляров классов и вызов метода run для экземпляра data

Работа алгоритма ДЗТ для фазы А в различных режимах

Рис. 19. Фаза А при внутреннем КЗ

н 11 к

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

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

СПИСОК ЛИТЕРАТУРЫ

1. Воскобойников Ю.Е., Гочаков А.В., Колкер А.Б. Фильтрации сигналов и изображений: фурье и вейвлет алгоритмы (с примерами в Mathcad) : монография. - Новосиб. гос. архитек-тур.-строит. ун-т (Сибстрин). - Новосибирск : НГАСУ (Сибстрин), 2010. - 188 с.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

REFERENCES

1. Voskoboynikov Yu. E., Gorchakov A.V., Kolker A. B. Filtering signals and images: Fourier and wavelet algorithms (with examples in Mathcad) [Signal and image filtering: Fourier and wavelet algorithms (with examples in Mathcad)]. Novosib. state architecture.-builds. UN-t (sibstrin). -Novosibirsk : ngasu (sibstrin), 2010, 188 p.

Материал поступил в редакцию 26.05.2019 © Зыкина А.Н., Холодов А.С., 2019

i Надоели баннеры? Вы всегда можете отключить рекламу.