Témakör:
A szolnoki távhőrendszer távfelügyelete – ahogy a programozó látja
Megjelent: 2014. december 08.
Korábbi cikkünkben bemutattuk a szolnoki távhő-erőmű felújításakor kiépült automatikai rendszer hardverét. Ezúttal ugyanezt a projektet a program készítőjének szemszögéből ismertetjük. A cél annak megmutatása, hogyan lehet egy teljes webalapú távfelügyeleti rendszer szoftverét egyszerűen felépíteni.
A Széchenyi-városrészt ellátó távhőrendszer kialakítását és működését a Magyar Elektronika előző számában ismerhette meg az olvasó. A cikkben azonban a működtető programról kevés szó esett. Erről azon a tapasztalaton alapulva adok – a szolnoki távhőszolgáltató munkatársaként – tájékoztatást, hogy részem volt a lakótelep meleg víz és távfűtési rekonstrukciójának az irányítás és szabályzástechnikai kivitelezésében.
1. ábra A Széchenyi Fűtőmű
PLC-programozói tapasztalat nélkül…
A projekt során eredetileg az irányítástechnikai szekrények kivitelezése és a PLC-k beszerelése volt a feladatom. Később adódott úgy, hogy a hozzájuk tartozó programokat és a felügyeleti rendszer elkészítését is elvállaltam. Gyakorlatilag a nulláról indultam a programozásban, hiszen PLC-kre sosem írtam még programot.
A feladatnak többéves számítástechnikai gyakorlattal (Basic-ben és Turbo Pascalban szerzett programozói tapasztalattal) fogtam neki. A PG5 programozói szoftver használatát egyedül, kisebb-nagyobb segítséggel önállóan sajátítottam el. A webes megjelenítés elkészítéséhez a személyes és telefonos konzultációkon kívül egy kétnapos tanfolyamon való részvétel is hozzásegített.
Feladatmegoldás
A programozás kivitelezéséhez 2014 januárjában kezdtem hozzá, és mostanra egy komplett, működő, webes felületen vezérelhető rendszert hoztam létre. A projekt során használt PLC-k innovatív és felhasználóbarát eszközöknek bizonyultak, amelyek jelentősen megkönnyítik a programozó munkáját. A regiszterek és a flagek kezelése egyszerű, címzésük egyértelmű, és a legfontosabb, hogy címértékük sem a típusuktól, sem a méretüktől nem függ.
2. ábra: Fűtésszivattyúk vezérlése
Az a vélemény alakult ki bennem, hogy a PG5-szoftverrel, a funcióblokkos programozás módszerével minden – egyébként értelmes és ésszerű – feladatot, algoritmust meg lehet oldani. Rengeteg (több száz) előre gyártott, használatra kész blokkot („dobozt”) kínál a programozónak, de sok részfeladatot mégis a kész dobozok nélkül oldottam meg, mivel ez komolyabb kihívást, érdekesebb szakmai feladatot jelentett. A feladatmegoldásban számos előre definiált szoftverszolgáltatást (logikai kapukat, komparátorokat, lebegőpontos aritmetikát, számlálókat, időzítőket stb.) használtam fel.
3. ábra: Vízóraimpulzus távadóval tömegárammérés
A működtető program néhány részfeladata
Az első programomban a keringtetőszivattyú-párok időszakos váltását, hiba esetén a hibás egység leállítását és az ép szivattyúra való átváltást oldottam meg logikai kapuk segítségével. A második kihívás a vízórákon lévő impulzusadók jelfeldolgozása, a fogyasztás- és tömegárammérés integrálása és megjelenítése volt a rendszerben. Az előremenő fűtési víz kívánt mennyiségének kiszámításához léteznek olyan Fbox-ok, amelyeket több, akár 8 lépcsőn keresztül be lehet skálázni, hogy adott külső hőfokhoz hány fokos víz tartozzon. A lépcsők közötti átmenetek között ennek függvényében hőfokértékek tartoznak. Gyakorlatilag egy több töréspontos fűtési görbét kellett megvalósítani. Ez számomra idegen dolognak tűnt, mivel a vezérlőterem jól megszokott alapjel, meredekség, görbeség és a párhuzamos eltolás alapján kiszámított érték fogalmaihoz voltam szokva. Ilyen dobozt nem találtam, ezért magam készítettem el a következőképpen: egy bizonyos fűtésszabályzó használati utasításában levezetett matematikai képletbe a görbeségi tényezőt is beleintegráltam. Az eredmény egy másodfokú függvényhez hasonló képlet lett, amelyet lebegőpontos matematikai dobozokkal valósítottam meg a PG5-ben. Ehhez az alapvető logikai dobozokon kívül mást nem is kellett használni.
4. ábra: Előremenő vízhőmérséklet kiszámítása
A megjelenítés
A hőközpontok programjainak elkészítése után a megjelenítés feladatát is meg kellett oldani. Olyan megjelenítő képekre volt szükség, amelyeket a laikus kezelő kollégák is gond nélkül használni tudnak. Segítőmtől, Zsók Lászlótól jött az ötlet, hogy használjuk ki a vezérlőegységek adta lehetőséget: a webszervert. A megvalósításra több elképzelés is született.
5. ábra: Kapcsolóóra a fűtési menetrendre
Az első változat szerint a 14 darab M5540-es PLC-t bővítsük egy-egy 4 Mbájtos memóriakártyával, amelyekre feltölthetjük a „Web Editor 8” fejlesztői környezettel megírt kezelőfelületek programját. Ez költséges megoldás lett volna, ráadásul a rendszer nem lett volna igazán „kompakt”. A második ötlet alapja egy úgynevezett Mester PLC volt, amely egyenként körbekérdezi a többi hőközponti PLC-t, és teljeskörűen levezényli a kommunikációt. Az utóbbi ötlet tűnt reálisabb megközelítésnek, és a megvalósítás után a webes felület a mester PLC-n, egy PCD1.M2120 eszközön fut. E megoldás előnyei nyilvánvalók:
-
egy IP-címmel elérjük a mester PLC-t,
-
ezen a webes felületen elérjük az összes hőközpontot és adatot gyűjtünk róluk,
-
a rendszer igen stabil és megbízható, nincsenek lefagyások, programhibák, mint egy PC-n futtatott felügyeleti rendszeren, és az adatgyűjtéshez sem kell a PC-nek bekapcsolva lennie.
A program elkészítésekor a legfőbb szempont az volt, hogy az összes kommunikációs algoritmust, a címzéseket, a körbekérdezési ciklusokat úgy írjam meg a PG5-ben, hogy azokat a lehető legegyszerűbben, néhány regiszter és flag használatával irányítani lehessen. Ezek figyelembevételével készült el egy magasszintű, összetett, dupla program, amely a webes programot maximálisan kiszolgálja. A fentiekből egyértelműen látszik, hogy ennek a PLC-nek a fő felada a kommunikáció, az adatgyűjtés és a megjelenítés. Másodlagos funkcióként a külső hőfok mérése és a fűtőművi irodákhoz tartozó fűtésszabályzó működtetése is helyet kapott a PCD1 programjában.
6. ábra: A kapcsolóórához tartozó webkép
Memóriakapacitás és adatgyűjtés
A M2120-vezérlőegység 8 Mbájtos memóriakártyáján tároljuk a 14 tömbhőközpont használati meleg vízre (HMV-re) vonatkozó adatait 1 hétre visszamenőleg, perces felbontásban. Ez azt jelenti, hogy percenként 70 db 32 bites adatot rögzítünk.
A 4 Mbájtos memóriakártyán van a teljes webszerver program, amely 33 különböző megjelenítő képet is tartalmaz 1680 × 1050 pixeles felbontásban.
A feladatok mennyiségére tekintettel felmerült egy nagyobb kapacitású vezérlőegység, egy PCD1.M2160 tesztelésének gondolata is. Ezzel a PLC-vel egy minden szempontból komplett adatgyűjtő rendszert hozhatnánk létre az összes hőközpont fűtési előremenőjével, hőközponti hőmennyiségmérők adatgyűjtésével stb. A rendszer továbbfejlesztésében célunk a teljes körű adatgyűjtés, az épületek hőmennyiségmérőinek a rendszerbe integrálásával. A webes felület és az adatgyűjtési kapacitás növelésével a percenkénti 70 adat regisztrálását 150-re emelnénk, de már 5 perces mintavételi idővel. Bővítési lehetőség továbbá a 40 hőközpont fűtési előremenőjének és a hozzájuk tartozó fűtési szelepállásoknak az adatrögzítése is.
További bővítés esetén az adatpontok száma már annyira megnövekszik, hogy az egy SCADA-rendszert igényel, amely valószínűsíthetően a Vision lesz. A folyamatmegjelenítő szoftver és PLC-programozás minél magasabb szintű elsajátítása személyes célom, amely szorosan összekapcsolódik a szolnoki távhőszolgáltatás fejlesztésével.
Szerző: Nagy Gyula – Alfa-Nova Kft.
Alfa-Nova Kft. Szolnok
5000 Szolnok,
Széchenyi krt.2.
Tel: +36 56 420 294
E-mail: Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.
www.alfanova.hu
SB-Controls Kft.
2092 Budakeszi,
Kagyló utca 1-3.
Tel: +36 23 501170
Fax: + 36 23 501 180
E-mail: Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.
www.sb-controls.hu
www.saia-pcd.com
Még több SB-Controls