Schneider Electric Razvojni centar, jedna od najvećih IT kompanija u Srbiji, 22. i 23. septembra organizuje PowerIT, prvu online konferenciju Razvojnog centra za čitavu IT zajednicu. Namenjena je svima, od studenata do seniora, a među mnogobrojnim stručnim predavačima biće i Dimitrije Kotur, Senior Project Engineer, Schneider Electric Razvojni centar, čiji tekst o implementaciji softvera za upravljanje izuzetno dinamičkih sistema predstavljamo u nastavku.
Danas je gotovo nemoguće zamisliti život bez softvera. Mobilni telefoni, računari, kućna tehnika, automobili, bankomati, praktično gde god da se okrenemo, videćemo neki manje ili više kompleksan softver sa kojim smo prinuđeni da komuniciramo. Iako je softver drastično promenio način života, pred razvojni tim se konstantno postavljaju novi izazovi kako softvere učiniti još boljim, preciznijim, bržim, pouzdanijim. Nekada su ovi zahtevi u koliziji, pa tako preciznije rešenje može sistem napraviti sporijim, a povećanje pouzdanosti može uticati na brzinu sistema. U takvim situacijama neophodno je balansirati između svih ovih aspekata softvera u zavisnosti od potreba njegovog korisnika.
Elektroenergetski sistem je najveći sistem koji postoji na planeti Zemlji. Njegov zadatak je da obezbedi pouzdano i sigurno napajanje potrošača. Sastoji se od četiri komponente: proizvodnje električne energije, prenosa električne energije, distribucija električne energije i potrošnje. Ispad bilo kojeg elementa može narušiti stabilnost sistema, što kao rezultat dovodi do prekida napajanja potrošača.
Već dinamični elektroenergetski sistemi postali su još dinamičniji sa pojavom obnovljivih izvora energije. U konvencionalnim sistemima bez obnovljivih izvora energije, stabilnost sistema se održava tako što se upravljanjem generatorima u velikim elektranama obezbeđuje da je proizvodnja jednaka potrošnji. Međutim, obnovljivi izvori energije predstavljaju intermitentne izvore energije čija proizvodnja zavisi od raspoloživog primarnog izvora energije. Na ovaj način, operator sistema ne mora samo da vodi računa o potrošnji već i o proizvodnji iz intermitentnih obnovljivih izvora energije čija proizvodnja se može promeniti u nekoliko minuta.
Kako su softveri postali sastavni deo naših života, tako je bilo za očekivati da oni postanu i sastavni deo elektroenergetskih sistema. Računari su daleko brži od čoveka, a kako je brzina upravljanja i donošenja odluka veoma važna da bi se održala stabilnost sistema, tako je i softver našao primenu u energetici. Tipični sistemi kojima upravlja jedan operator mogu imati nekoliko miliona čvorova, to predstavlja nekoliko miliona nepoznatih veličina koje je neophodno proračunati, pa je ovakav posao nemoguće uopšte bilo izvršiti pre pojave odgovarajućih softvera. Upotrebom softvera moguće je ovakve proračune izvršiti za nekoliko minuta, međutim postavlja se pitanje da li je i to dovoljno brzo da bi se obezbedilo konstantno i sigurno napajanje potrošača?
Dinamika elektroenergetskih sistema je velika. Ispad jednog većeg generatora ili elektrane bez adekvatne mitigacije može dovesti do ispada dela sistema, ako ne i čitavog sistema. Sa druge strane, preopterećenje vodova, kvarovi i ostali problemi u prenosnoj i distributivnoj mreži takođe mogu dovesti do prekida napajanja kritičnih potrošača. Zbog toga softver koji upravlja elektroenergetskim sistemom mora biti veoma brz. Pred razvojni tim koji radi na ovakvom softveru se ovde postavljaju dva ključna problema. Prvo, želja svakoga ko radi na softveru je da softver daje što preciznije rezultate jer će tako i benefiti koje on pruža biti veći. Međutim, matematički model koji opisuje elektroenergetski sistem predstavlja skup kompleksnih nelinearnih jednačina kojih može biti i preko milion. Sa druge strane, softver mora biti brz, on mora brzo doći do optimalnog rešenja i optimalne akcije mora brzo poslati na polje. Kako je prilikom slanja komandi potrebno vreme da bi se one i izvršile, pred razvojni tim se postavlja još jedan problem, kako ovakav softver učiniti dovoljno brzim. Rešavanje ovakvih matematičkih problema zahteva moćne računare, njihovo vreme proračuna može predugo trajati, pa zbog toga proračun optimalnih akcija gubi smisao ako je za to već kasno. Sa druge strane, postavlja se pitanje da li želimo imati softver koji je sasvim neprecizan ali koji će brzo predlagati neko rešenje. Zbog svega toga, prilikom rada na razvoju ovakvog softvera u svakom trenutku mora se praviti balans između performansi i preciznosti, a određivanje pravog balansa je umetnost rada na ovakvom softveru. Ovaj balans se konstantno menja sa pojavom novih i jačih računarskih resursa, kao i optimizacijom koda koja se dešava svakodnevno.
Najbolji primer u kojem se može videti važnost balansa između performansi i preciznosti softvera predstavljaja softver za upravljanje mikromrežama, koje predstavljaju manje sisteme sa lokalnom proizvodnjom, potrošnjom i skladištenjem energije. U normalnim uslovima, mikromreže su povezane na spoljašnju mrežu i softver koji upravlja mikromrežom ima zadatak da omogući najekonomičniji rad mikromreže. Sa druge strane, u slučaju prekida napajanja ili bilo kog drugog kvara u spoljašnjoj mreži, mikromreža se može odvojiti i nastaviti samostalni rad. Na ovaj način se jako povećava sigurnost ovakvog jednog sistema. Međutim, inertnost mikromreža je jako mala i održavanje stabilnosti ovakvih sistema jako je kompleksno. U slučaju većeg debalansa između potrošnje i proizvodnje a kada ne dođe do pravovremene reakcije, mikromreža se može raspasti u roku od nekoliko sekundi. U takvim uslovima, bilo kakvi precizni proračuni padaju u vodu kada njihovo rešenje dolazi previše kasno.
Balansiranje između performansi i preciznosti proračuna predstavlja srž rada na softveru i obično definiše kvalitet samog softvera. U slučaju da razvojni timovi ne vode računa o ovom balansu, softver ne može biti dovoljno kvalitetan i njegova upotrebna vrednost postaje niska. Zbog toga je veoma važno da svako ko radi na softverima koji upravljaju dinamičnim sistemima vodi računa o ovom balansu. Ukoliko želite da više čujete o tome kako izgleda jedan realni projekat implementacije ovakvih softvera koji upravljaju vrlo dinamičnim mikromrežama, prijavite se na PowerIT online konferenciju gde će Dimitrije održati predavanje na ovu temu.
_____
Dimitrije Kotur - Senior Project Engineer, Schneider Electric razvojni centar
Dimitrije je senior projektni inženjer i tehnički lider na projektima implementacije softvera za integraciju obnovljivih i distribuiranih izvora energije u elektroenergetske sisteme kao i upravljanja mikromrežama. Pre dolaska u kompaniju, radio je kao asistent na Elektrotehničkom fakultetu u Beogradu gde je i doktorirao. Njegova oblast interesovanja su obnovljivi izvori energije i njihova integracija u elektroenergetske sisteme. Pre 3,5 godine, postao je deo tima kompanije Schneider Electric gde nastavlja da radim u sferi interesovanja ali sada na praktičnoj implementaciji ovih rešenja. Do sada je radio na 7 projekata, uglavnom u SAD i u Australiji.