virtualno putovanje sn mreŽom u uvjetima · pdf file1 hrvatski ogranak meĐunarodne...
TRANSCRIPT
1
VIRTUALNO PUTOVANJE SN MREŽOM U UVJETIMA ISPADA
SAŽETAK
Zadatak nam je bio osmisliti aplikaciju koja će prikazati dio mreže koji je ostao bez
napona. Iz SCADA sustava, u kojemu je pohranjena sveukupna topologija mreže, servis
jednom dnevno dohvaća elemente mreže i odgovarajuće spojnice, te na temelju tih podataka
rekonstruira topologiju mreže i zapisuje u obliku grafa (čvorovi i grane, pogodni za kasnije brzo
pretraživanje). Drugi program, na zahtjev korisnika, mrežnim algoritmima izračunava sve
stanice na putu do mjesta prekida, a na temelju ažurnih podataka iz mreže. Za izradu ove
aplikacije koristili smo sljedeće tehnologije: ASP.NET, jQuery, d3.js te Windows servis za
pokretanje periodičkih zadataka. Također smo koristili DFS (Depth-first search) algoritam za
pretraživanje grafova, dostupan u QuickGraph otvorenoj biblioteci.
Ključne riječi: SCADA, teorija grafova, DFS algoritam
VIRTUAL TOUR OF MV NETWORK IN TERMS OF FAILURE
SUMMARY
Our task was to design an application that will visualize deenergized part of MV network.
Topological connections stored in offline SCADA system database are transformed into nodes
and edges of a graph; data is updated daily. Secondly, network algorithm computes all the
stations that belong to an topologically isolated island starting from a user defined point. To
create this application, we used following technologies: ASP.NET, jQuery, d3.js and Windows
service for running cyclic tasks. We also used the DFS (Depth-first search) algorithm, available
in QuickGraph open library.
Key words: SCADA, graph theory, DFS algorithm
Branimir Gabrić, dipl. ing. el. HEP – ODS d.o.o., Elektra Zagreb [email protected]
Marko Penzar, dipl. ing. el. HEP – ODS d.o.o., Elektra Zagreb [email protected]
SO3 – 05 4. (10.) savjetovanje
Trogir/Seget Donji, 11. - 14. svibnja 2014.
HRVATSKI OGRANAK MEĐUNARODNE
ELEKTRODISTRIBUCIJSKE KONFERENCIJE - HO CIRED
2
1. UVOD
U svakodnevnom radu dispečeri se susreću s dinamičnom SN mrežom u kojoj se zbog planskih
radova, izgradnje ili ispada, topologija mreže mijenja iz sata u sat. Upravljanje mrežom postaje
kompliciranije povećanjem broja srednje naponskih stanica, a topologiju mreže je teže pratiti ako u mreži
postoje i mogućnosti dvostranog napajanja, kao u slučaju srednje naponske mreže grada Zagreba s
preko 2400 stanica. U slučaju ispada pojedine grane (niza stanica), a time i brojnih niskonaponskih
omrežja, dispečer mora brzo reagirati i u što kraćem roku dovesti čitavu granu pod napon. Uz upravljanje
koje se vodi ručno, na panelu u sobi i računalnim putem, ukapčanjem pojedinih elemenata mreže u
SCADA sustavu, dispečeru je zadatak i zabilježiti sve stanice koje su ostale bez napona. Važno im je i
pripadajuće vrijeme beznaponskog stanja, a sve za potrebu naknadnih izvještaja. Ovaj rad opisuje način
izrade aplikacije koja je dispečerima poslužila za vizualizaciju grane koja je ostala bez napajanja. U
drugom poglavlju ćemo ukratko opisati zahtjev dispečera Elektre Zagreb, u trećem poglavlju korištene
tehnologije, u četvrtom poglavlju opisati korišteni DFS algoritam. U petom poglavlju ćemo prikazati
rezultate izrađene aplikacije te još neke mogućnosti i ideje koje ćemo/bismo mogli u budućnosti
implementirati.
2. POSTAVLJENI ZAHTJEVI
Kada dođe do ispada na vodu uklopnice, nakon što je sustav doveden u stanje stabilnosti,
potrebno je popisati potrošače koji su ostali u beznaponskom stanju. Do sada su u slučaju ispada
dispečeri iz visokonaponske sobe dolazili u srednjenaponsku i na panelu tražili stanice koje su ostale bez
napona. Slika ispod može poslužiti kao ilustracija veličine i kompliciranosti srednjenaponske mreže Grada
Zagreba:
Slika 1. Usporedni prikaz SN mreže Grada Zagreba, na zidu i u SCADA sustavu [1]
Istina, u slučaju ispada, na zaslonu radne stanice dio SN mreže u SCADA sustavu promjeni boju
(plava), ali SCADA sustav ne može ispisati stanice ostale bez napona. Također, mreža zna biti poprilično
zamršena, a stanice mogu biti i rasklopne (nemaju tereta); svakako je to posao koji oduzima vrijeme.
Zamoljeni smo da, u odjelu za procesni sustav Elektre Zagreb, napravimo informatičku podršku kojom bi
3
se ovaj naporan posao izbjegao, ubrzao i učinio preciznijim. Nadalje, izrađena aplikacija bi naišla na
primjenu i u polugodišnjem izvještaju o hitnom rasterećenju - taj je posao do sada bio dosta mukotrpan.
Evo kako je glasio zahtjev: potrebno je napraviti aplikaciju u kojoj će dispečer zadati naziv kabela
uklopnice, a na ekranu će se prikazati stanice ostale bez napona, s obzirom na trenutno uklopno stanje
mreže.
U idućem će poglavlju biti govora o načinu kako je problem riješen, koje su tehnologije pritom
korištene te njihov kratki opis.
3. IZRADA APLIKACIJE
Iz dosadašnjega iskustva zaključili smo da je najpraktičniji način za izvedbu aplikacije da se ona
izradi u obliku intranetske web aplikacije. Na taj se način izbjegava instalacija bilo kakvih korisničkih
aplikacija i sl. Dovoljno je poznavati adresu i koristiti internetski pretraživač novije generacije.
3. 1. Korištene tehnologije
Za izradu web aplikacije koristili smo Microsoftovu tehnologiju WCF servisa. Servisno orijentiranu
aplikaciju pogoni IIS 6 na Windows Serveru 2003, a hardverski poslužitelj je HP Proliant (iz 2005. godine,
dvojezgren na 3,4 GHz i 3 GB RAM-a) pripojen ABB Network Manager SCADA sustavu. Na istom
poslužitelju se nalazi i posredujuća baza podataka – SQL Server 2008. Sva je programska logika
iskodirana koristeći C# programski jezik u okružju WCF-a, za izračune grafova korištena je, za to
namijenjena, besplatna biblioteka QuickGraph [2]. Za vizualizaciju stablastih struktura koristili smo jQuery
i D3.js tehnologije [3] [4].
3. 2. Pojednostavljeni dijagram toka
Jednom dnevno, u noćnim satima, pokreće se automatizirani postupak dohvata topološkog stanja
mreže iz Oracle baze SCADA sustava koji se odvija u tri koraka (na Slici 2.)
Slika 2. Prikaz ukupnog dohvata i obrade podataka te izračuna na zahtjev korisnika
4
Prvi su korak informacije o topološkim poveznicama, nazivlju prekidača, kabela, tereta i sl.,
nepromijenjeno pohraniti u posredujuću bazu na SQL Serveru 2008, kako bi se njima moglo dalje koristiti
bez opterećivanja Oracle baze SCADA sustava. Taj postupak traje do tri minute. Drugi korak je iz
dohvaćenih podataka napraviti graf čiji će čvorovi biti prekidači, sabirnice, mjesta višestrukih spojeva,
transformatori, tereti, a čiji će bridovi biti poveznice topoloških elemenata (prikazano na Slici 3.). Zatim
slijedi binarna serijalizacija - pohrana izračunate strukture na disk, kako bi se poslije lako učitala u
memoriju i ponovno koristila.
Slika 3. Pretvorba jednopolne sheme u graf
Zadnji korak automatiziranog postupka je korištenje QuickGraph biblioteke kako bi se izradio graf
koji je s njom podudaran. I ova memorijska struktura se pohranjuje na disk kako bi se koristila tijekom
idućega dana na zahtjev korisnika. Sveukupno, ovaj noćni rad traje oko 27 minuta.
S korisničke strane, sve se treba odvijati bez pretjeranog čekanja. Kada korisnik unese broj
kabela u internetskom pretraživaču, zahtjev se šalje WCF servisu koristeći AJAX tehnologiju. WCF servis
doznaje o kojem je točno elementu u mreži riječ i pronalazi ga u grafu (kojega se brzo može učitati iz
datoteke). Servis također doznaje, iz Oracle povijesne baze podataka SCADA sustava, stanje prekidača
(uključen/isključen). Potom QucikGraph algoritam briše sve one čvorove u grafu koji pripadaju isključenim
prekidačima da bi se na kraju, koristeći DFS algoritam implementiran u spomenutoj QuickGraph biblioteci
[2], doznale poveznice traženog kabela (koji je također čvor) sa svim drugim čvorovima u grafu. Izlaz DFS
algoritma je obrađen kako bi rezultat bio prikazan kao lako čitljiva, stablasta struktura, zapisana u JSONP
formatu.
JSONP format se dade lako iščitati koristeći jQuery, a potom i vizualizirati koristeći D3.js. Ovo potonje su
zapravo biblioteke koje olakšavaju i unaprjeđuju JavaScript, programski jezik razumljiv internetskim
5
pretražnicima. Sve to, u najboljem slučaju, traje od dvije do pet sekundi, a u najgorem slučaju (kada je
algoritam pokrenut prvi put nakon dužeg vremena) tridesetak sekundi.
4. DFS (DEPTH FIRST SEARCH) ALGORITAM
DFS (Depth first search) je jedan od algoritama za pretraživanje grafa stablaste strukture. Glavna
osobina algoritma je odabir ishodišnog čvora (korijena), od kuda počinje pretraživanje grafa po dubini [5].
Pretraživanje se vrši obilaskom grana do krajnjih čvorova, prije povratka na ishodište. Time se kao
rezultat dobije skup čvorova koje je algoritam obišao, poredanim po redoslijedu kretanja po granama. U
SN mreži grada Zagreba postoji preko 2400 transformatorskih stanica srednje naponske mreže. Mreža je
kompleksno izgrađena s mnogim paralelnim granama koje se nalaze između visoko naponskih stanica
koje ih napajaju. U strukturi SN mreže 110 kV i 30 kV stanice služe kao izvori (korijeni). Iako postoji
mogućnost paralelnog spoja (petlja), takvo se vođenje mreže izbjegava i u normalnom radu mreža se po
strukturi može opisati kao skup razgranatih stabala. Paralelne se grane koriste samo u slučajevima
prekapčanja ili ispada. Upravo uz takvu strukturu SN mreže, DFS algoritam se nametnuo kao intuitivno
rješenje. Kako su dosad dispečeri u uvjetima ispada ručno obilazili grane i popisivali stanice koje su
ostale u beznaponskom stanju, sada algoritam daje identičan rezultat. Što se tiče kretanja po mreži, SN
mrežu smo dijelom opisali kao usmjerenu; izvodi iz visoko naponskih stanica, kao i neusmjerenu; između
srednje naponskih stanica u mreži. Time smo zajamčili hijerarhijsko kretanje od korijena prema krajnjim
čvorovima grafa. Struktura je cijelo vrijeme statična ali se prekidi (takozvane špenadle) dinamički
dohvaćaju iz baze, na temelju čega se prekidaju pojedine grane i dobiva ažurirana mreža u svakom
trenutku.
Slika 4. Primjer grafa
Na Slici 4. prikazan je pojednostavljeni prikaz grafa strukture stabla. Pretpostavimo da je ishodišna točka
na grafu čvor A. Za pretraživanje mreže koristimo stog (S) i dodatni niz za rezultat (R). Stog je struktura iz
koje se čitaju elementi po načelu LIFO (last in, first out), dakle zadnje upisani element dohvaća se i
obrađuje prvi [6].
Obilazimo točku A, upisujemo ju u niz (R:A), označavamo kao posjećenu i stavljamo na stog
(S:A). Krećemo se ulijevo i dolazimo do točke B (na Slici 5. plava strjelica), označavamo ju kao posjećenu
(R:A,B) i dodajemo na stog (S:A,B). Od točke B ne možemo krenuti ulijevo, niti udesno pa se vraćamo na
prethodnu točku A (na Slici 5. svjetlo plava strjelica). Točku B brišemo sa stoga jer je obrađena (S:A). Od
6
točke A sada krećemo u desno (crvena strjelica na Slici 5.), nailazimo na točku C, stavljamo ju na stog
(S:A,C) (R:A,B,C) i označavamo ju. Od točke C krećemo do D (također crvena strjelica na Slici 5. jer
zadržavamo smjer kretanja), stavljamo D na stog (S:A,C,D) (R:A,B,C,D) i označavamo ju. Od točke D
krećemo ulijevo do točke E, koju označavamo i stavljamo na stog (S:A,C,D,E) (R:A,B,C,D,E). Od točke E
dolazimo do točke F, koju također označavamo i stavljamo na stog (S:A,C,D,E,F) (R:A,B,C,D,E,F). Iz
točke F ne možemo ići niti lijevo, niti desno pa ju brišemo sa stoga i vraćamo se na prethodnu točku (S:
A,C,D,E). Iz točke E nema grane u desno pa se vraćamo do točke D, a E brišemo iz stoga jer je
obrađena (S:A,C,D).
Iz točke D krećemo u desno i dolazimo do točke G koju označavamo, stavljamo na stog i u niz za
rezultat (S:A,C,D,G) (R:A,B,C,D,E,F,G). Iz točke G ne možemo ići niti u lijevo, niti u desno pa ju brišemo
sa stoga i vraćamo se do točke D (S:A,C,D). Iz točke D nema više grana za kretanje u desno pa se
vraćamo do točke C (S:A,C). Iz točke C također ne možemo krenuti u desno i vraćamo se do točke A
(S:A). Na posljetku brišemo i točku A sa stoga jer također nemamo mogućnosti daljnjeg kretanja u desno.
Stog ostaje prazan, a kao rezultat ostaje niz R:A,B,C,D,E,F,G.
Primjećujemo kako se algoritmom struktura stoga dinamički puni i prazni, da bi na kraju stog ostao
prazan, a niz za rezultat se konstantno povećava. Na Slici 5. prikazan je redoslijed obilaska mreže, uz
odabir različitih boja prilikom promjene smjera kretanja. Proizvoljno smo odabrali smjer kretanja ulijevo,
gledajući od ishodišne točke prema niže, ali smjer kretanja može biti i udesno.
Slika 5. Prikaz obilaska grafa koristeći DFS algoritam
Graf koji smo koristili u prethodnom primjeru, kao što ćemo naknadno moći vidjeti, upravo je dio
SN mreže na kojoj ćemo vršiti testiranje naše aplikacije.
7
5. REZULTATI
U ovom poglavlju ćemo prikazati konačne rezultate rada, kao što su slike ekrana izrađene
aplikacije te neke interesantne međurezultate.
5. 1. Prikaz SN mreže u obliku grafa
Nakon drugog koraka u noćnom režimu rada aplikacije, čitava je mreža prebačena u čvorove i
bridove: 59.519 čvorova i 105.369 bridova. Graf je prikazan organskim prikazom i to koristeći besplatni
program yEd firme yWorks. Kako izgleda dosad ucrtana mreža Elektre Zagreb, prikazano je na sljedećoj
slici:
Slika 6. U povećalu su prikazani rastavljači i prekidači kao čvorovi
5. 2. Aplikacija
Zbog ispada u vodnom polju kabela 1KV2613, u aplikaciju je unesen broj kabela: 2613. Kako bi
prikazali poteškoće u popisivanju stanica koje su ostale bez napajanja, donosimo tri slike: prikaz na zidu
SN sobe, prikaz u SCADA sustavu i stablasti prikaz kao rezultat proračuna naše aplikacije. Evo kako to
„zamršeno“ izgleda na zidu SN sobe:
8
Slika 7. Prst upućuje na kabel 1KV2613, a strjelica upućuje na daljnje istraživanje
Jednako zamršen prikaz je i u SCADA sustavu. Za prikaz raspleta su potrebne dvije slike kako se ne bi
izgubio sadržaj.
Slika 8. Prikaz probnog odsječka mreže u SCADA sustavu (A)
9
Od stanice 1TS1391 još se može kretati ulijevo:
Slika 9. Prikaz probnog odsječka mreže u SCADA sustavu (B)
Kada korisnik od aplikacije zatraži broj kabela 2613, na ekranu se prikazuje:
Slika 10. Stablasta, lako čitljiva struktura koja pokazuje što sve „vidi“ kabel 2613
Kratka usporedba Slike 10. sa slikama 8. i 9.: kabel 2613 izlazi iz 4TS24 i ulazi u stanicu 1566,
zatim 1418, 2243, 1865, 1873, i potom grananje u stanici 1391. Prvo grananje vodi prema trafostanici
1871 (zbog prekida na kabelu 2674 nema daljnjeg račvanja), zatim 1403, u kojoj je grananje prema
stanicama koje se nalaza gore lijevo završno s prekidom (crvena špenadla) u trafostanici 2032. Drugo
grananje je prema stanicama dolje desno koje završava s NN teretima u stanicama 1262, 258 i 1263. Za
kraj, još je preostalo drugo grananje iz stanice 1391 koje se vidi na uskoj i dugoj Slici 9.
6. ZAKLJUČAK
Glavni je rezultat postignut reprodukcijom topologije SN mreže u digitalni oblik, čime su otvorena
vrata za izradu ovakve aplikacije. Umetanjem uklopnih stanja u samu strukturu, digitalna mreža postaje
istovjetna realnom stanju na terenu. Služeći se mrežnim algoritmima, kretanje po strukturi mreže postaje
automatizirano, a do rezultata se dolazi brzo uz grafički i tekstualni prikaz. Ručno praćenje strukture
mreže na panelu nemjerljivo je s računalnom brzinom procesiranja mreže, što je najveća odlika ove
aplikacije. Aplikacija se svakodnevno koristi te dispečeri već predlažu nove ideje za unaprjeđenje i
nadogradnju aplikacije. Nadamo se da će aplikacija poslužiti i drugim korisnicima koji se bave planiranjem
i razvojem mreže, kao i drugim distribucijskim centrima. Smjernice za budućnost su korištenje i drugih
algoritama kako bi se dispečerima u slučaju ispada uz sam prikaz trenutnog stanja ponudili i alternativni
pravci napajanja ispalih grana.
10
7. LITERATURA
[1] B. Gabrić, T. Živković, „Srednjonaponska mreža Grada Zagreba u SCADA sustavu“, Treće savjetovanje hrvatskog ogranka međunarodne elektrodistribucijske konferencije CIRED, Sveti Martin na Muri, 13. – 16. svibnja 2012.
[2] QuickGraph biblioteka, http://quickgraph.codeplex.com/
[3] jQuery dokumentacija, http://api.jquery.com/
[4] Data Driven Documents, http://d3js.org/
[5] Depth-first search - teorija, http://en.wikipedia.org/wiki/Depth-first_search
[6] DFS algoritam, http://www.youtube.com/watch?v=iaBEKo5sM7w