Mérési útmutató APROS laboratóriumi gyakorlatok 1. Ismerkedés az APROS programmal A gyakorlat célja: A gyakorlat során Windows 2003 környezetben tanulmányozzuk az APROS v5.10 termohidraulikai rendszerkód működését, illetve elsajátítjuk a kód alapvető funkcióit. Összeállítunk néhány egyszerű kapcsolást, amelyekkel különböző tranziens folyamatokat vizsgálhatunk. A gyakorlat bemutatja a futási eredmények kiértékelésének módszereit is. Az APROS kódrendszer Az APROS (Advanced Process Simulator) alapvetően egy egydimenziós termohidraulikai rendszerkód, amit a finn Fortum (korábban Imatran Voima) cég és a VTT kutatóintézet fejleszt 1986 óta. A fejlesztés célja egy olyan programcsomag megalkotása, ami komplex energetikai és vegyipari rendszerek tervezését, analízisét és szimulációját teszi lehetővé. A kód főbb jellemzői: •
A termohidraulikai modell egy dimenzióban oldja meg gőz- és vízfázisra a kontinuitási, energia- és impulzusmegmaradási egyenletet.
•
A kód a termohidraulikai modellhez kapcsolva képes egydimenziós reaktorkinetika, mérés- irányítás- és szabályozástechnika, elektromos hálózat, a hermetikus térben zajló folyamatok és a súlyos baleseti szituációban várható üzemanyagsérülés számítására is. Így nemcsak az alapvető fizikai folyamatok, hanem a teljes rendszer viselkedése vizsgálható, mind üzemi, mind üzemzavari és baleseti helyzetekben.
•
A felhasználó a modellt előre elkészített komponensekből (pl. csővezeték, hidroakkumulátor, gőzturbina) rakja össze, a matematikai modellezéshez szükséges termohidraulikai nódusokat, szakaszokat, hőforrásokat stb. a program generálja le. Természetesen a felhasználónak lehetősége van ezt befolyásolni, felülbírálni.
•
A programcsomagnak része egy jól átlátható, interaktív grafikus felhasználói felület (GRADES), a szükséges munka zöme ezen keresztül egyszerűen elvégezhető. Mivel a GRADES utólag készült el, lehetőség (esetenként szükség) van az eredeti, parancssoros felület használatára is.
•
A jelenlegi desktop PC-k teljesítménye elegendő ahhoz, hogy valós időben (vagy esetleg még gyorsabban) fussanak az egyszerűbb tranziensek. A komplikáltabb, primer köri kétfázisú áramlással járó atomerőművi folyamatok modellezése természetesen jóval számításigényesebb.
•
A felhasználó saját modulokkal bővítheti a modellt.
•
A programcsomag fizikai modelljeit számtalan, valós kísérlethez és méréshez, illetve benchmark problémához validálták, így a kód és az eredmények kellő reputációval rendelkeznek. Az APROS-ban a modelleknek három hierarchikusan egymásra épülő szintjét különböztethetjük meg:
1
•
A legalacsonyabb szint a számítási szint (calculation level). Ezen a szinten csak a berendezéseket felépítő nódusokat (térfogatelemeket) és az azokat összekötő brancheket (szakaszokat) találhatjuk meg. Az állapotjelzők a nódusokban értelmezhetőek, a térfogatáramokat és a sebességeket a kód a szakaszokban számolja.
•
A második szint a folyamatelem szint (process component level). A modellezéskor - a grafikus felületen keresztül - leggyakrabban ezzel a szinttel kerülünk kapcsolatba. A program által rendelkezésünkre bocsátott, előre elkészített berendezés modellek (továbbiakban: modulok) nagyban megkönnyítik és felgyorsítják a kód használatát.
•
A legfelső szint a folyamat szint (process level). Ez a modell részeinek könnyebb áttekinthetőségét teszi lehetővé, külön sémákba oszthatjuk az egyes rendszerek berendezéseit (pl.: primer és szekunder köri séma, sémák különböző üzemzavari rendszerekhez, szabályozó körökhöz, stb.). A gyakorlat során ezzel a szinttel nem kerülünk kapcsolatba.
A program elindítása és a menüsor Az APROS kód windows-os grafikus felületét, a GRADES programot az asztalon található ikon segítségével indíthatjuk el. Innen a Log In gombra kattintva kapcsolódik a GRADES a tényleges termohidraulikai szimulációt végző APROS programhoz. A munkaterület kiválasztása (Project/Open workspace-Hallgatoigyak) után a program betölti az utoljára elmentett modellt. A menüsorban az alábbi fő menüpontok jelennek meg: Project APROS szerver kilépés-belépés Projektek és munkaterületek Modellek létrehozása, betöltése, elmentése. Sémák (Net) létrehozása, megnyitása, törlése, exportálása és importálása. Új csoport létrehozása (group). Nyomtatás, kilépés. Mode A szimuláció futtatása, léptetése, leállítása. Séma hozzáadása a szimulációhoz/kivétele a szimulációból. Tools Szimbólumok manipulálása. „Net”, „Run”, „Edit”, „Draw”, „View” ablak megnyitása. A program beállításai (Options). Szimuláció beállításai (időlépés, stb.) Trends Trendablakok definiálása („Pick”), kilistázása. 2
Trendablakok alapértelmezett beállításai. Trendablakok elmentése. Exchange Modell/séma importálás/exportálás Model Script futtatás Modul keresése Hozzáférés szintjének változtatása Modell beállítás, zárolás Edit (csak akkor jelenik meg, ha van megnyitott séma!) Másolás, beillesztés, törlés. Minden modul kijelölése Display (csak akkor jelenik meg, ha van megnyitott séma!) Nagyítás Markerek létrehozása, törlése, markerhez ugrás. Kép beállításai (keret, skála, rács stb.). Rétegek (Layer). Szerkesztés beállításai (mutat/rejt, snap, vonalak szöge) Bináris jelek: színek használata, definiálása, frissítése. Kép újrarajzolása. Window Ablakok elrendezésének megváltoztatása („Tile”, „Cascade”), ablakok bezárása. Üzenetablak („Apros Message Window”) és projektablak („Project View”) megnyitása. Nyitott sémák listája. Help Segítségkérés, a leírás html formában érhető el. 1. feladat: Hozzunk létre egy új modellt, és azon belül egy új sémát (net)! Nyissuk meg a „Net”, „Run”, „Edit”, „Draw”, „View” ablakokat! Válasszuk ki a Project/New model menüpontot, és adjunk a modellnek nevet. A modell neve az aktuális dátumot jelölő 6 számjeggyel végződjön. Válasszuk ki a Project/New net menüpontot az üres sémakép létrehozásához. A sémakép neve és azonosítója legyen “n1”. Amennyiben automatikusan nem nyílt meg, a Tools menüpont segítségével nyissuk meg a „Net”, „Run”, „Edit”, „Draw”, „View” ablakokat:
3
Net Innen lehet a különböző, előre definiált modulokat kiválasztani, és a modellbe beépíteni. Az ablak tetején az adott modulcsoport elemei láthatóak, egy modulcsoportra duplán klikkelve az „kinyílik”, és így kiválasztható a kívánt modul. A sémára klikkelve a program az adott modult lerakja a séma kiválasztott helyére. A legfontosabb modulcsoportok: AUT: mérés- és irányítástechnika (analóg- és digitális áramköri elemek, mérőelemek, szabályozók stb.) BOI: kazánok CON: konténment ELE: elektromos berendezések EXE: a szimuláció beállításai PRO: hő- és áramlástechnikai berendezések (csővezeték, hőcserélő, szelep stb.) REA: atomerőművi berendezések (reaktor, térfogatkompenzátor stb.) Az ablak alján lehet átváltani az modulok közti kapcsolatokra: Connections: referencia (name reference) analóg jel (analog signal) digitális jel (binary signal) csővezeték (pipe connection) A „name reference” nem modul, segítségével lehet definiálni az egyes modulok kapcsolatát. Egy modul általában több más modulhoz kapcsolódhat, a kapcsolódási pontok neve terminál. Run Szimuláció leállítása, futtatása, léptetése.
Edit Felső sor: Modul kiválasztása, Sarkok/monitorok mozgatása, Törlés, Rétegek manipulálása, Forgatás Alsó sor: Tükrözés, elemek elhelyezkedésének változtatása. Draw Vonalak, körök, téglalapok rajzolása, szövegdobozok létrehozása, kép beszúrása, kijelzők létrehozása (figyelmeztető lámpa, bar graph). View Felső sor: Nagyítás, Kicsinyítés, Terület kinagyítása, Marker létrehozása, Marker terület Alsó sor: Teljes oldal, Teljes szélesség, Összes modul, Markerhez ugrás Jobb oldal: séma scrollozása
4
Jobb egérgombot megnyomva a séma felett, egy menü tárul fel. A menü tartalma attól függ, hogy a séma melyik része, illetve milyen elem fölött hívtuk le ezt a menüt. Hilite: Szimuláción kívüli, illetve nem definiált modulok kijelzésének ki- és bekapcsolása Monitor: Összes monitor megjelenítése/elrejtése/törlése, default monitorok (ld. később) Show/Hide: Hálózat, határok stb. be/kikapcsolása. Snap: A modulok a sémaképen látható rácspontokhoz illeszkedjenek-e Zoom: nagyítás/kicsinyítés Net in simulation: séma kivétele a szimulációból Refresh binary signals: Digitális jeleket mutató színezett kapcsolatok újrarajzolása Redraw: Képernyő újrarajzolása
Rakjunk ki három pontot (point), egy csövet (pipe) és egy szelepet (basic valve) a sémánkra! A pont a PRO Point and Node, a cső a PRO Pipes, a szelep a PRO Valves csoportban található. Jobb egérgombot nyomva egy modul grafikus szimbólumán, egy újabb menü tárul fel, a fontosabb lehetőségek az alábbiak: Properties… A modul tulajdonságai. Documentation: Dokumentáció létrehozása Method: Milyen (hány egyenletes) modellt használjon az adott modul. Monitor: A modul egyes tulajdonságait ki lehet íratni a sémára a modul grafikus szimbóluma mellé (pl. csővezetékeknél forgalom, tartályoknál vízszint stb.). In simulation: A modult ki lehet venni a szimulációból (így lehet peremfeltételeket létrehozni). Detach from module / Attach to another module: A modult jelképező grafikus szimbólumot „le lehet választani” a modulról, illetve hozzá lehet rendelni egy másik modulhoz Copy/Create slave copy: Másolat készítése egy modulról: egy modul grafikus szimbóluma több helyen is szerepelhet (pl. egy szelep a csővezetékhálózatban és a vezérlésénél külön-külön) Jump to: Slave copy-hoz ugrás.
Nézzük meg, milyen paraméterei vannak az újonnan létrehozott moduloknak! Adjunk kezdeti értékeket az új moduloknak! Kössük össze a létrehozott modulokat „name reference” típusú kapcsolattal! Hozzuk létre a peremfeltételeket! Jobb klikk a modul grafikus szimbólumán, és a Properties… menüpont kiválasztása után elénk tárul egy táblázat a modul paramétereivel. Az első oszlop a paraméter neve, a második az aktuális értéke, a harmadik a mértékegysége. A fehér alapú cellákba tudjuk beírni az általunk megadandó értékeket. Fontos: amikor először OK-t nyomunk a “Properties” ablakra, csak akkor hozza létre a program az adott modult! Előtte csak a grafikus szimbóluma létezik!
5
Első pont (N1_PO01): Flow model: 6 Pressure: 1.5 MPa Temperature: 20 °C Csőszakasz az első és második pont között: (N1_PIP01) Flow length of pipe: 10 m Number of calculation nodes inside the pipe: 3 Második pont (N1_PO02): Flow model: 6 Pressure: 1.5 MPa Temperature: 20 °C Szelep a második és harmadik pont között (N1_BV01) Position of valve: 0.5 Harmadik pont (N1_PO03): Flow model: 6 Pressure: 0.5 Temperature: 20 °C A modulok összekötése úgy zajlik, hogy a “Name reference” típusú kapcsolat kiválasztása után a megváltozott kurzorral egyet klikkelünk a pont közepén lévő terminálon (a piros négyzeten), majd egyet a cső végén lévő terminálon (a kék körön). A peremfeltételek létrehozása úgy történik, hogy a kívánt modulokra (esetünkben az első és az utolsó pontra) jobb klikket nyomunk, és kivesszük a pipát az “In simulation” sor elől a felnyíló menüben. Ekkor a modul összes paramétere rögzül, nem változik, így pl. a pontok végtelen forrásokká (és nyelőkké) válnak. Ha a beállítás jó, a “Hilite – Not in simulation” opció kiválasztása után a peremfeltételeket piros kerettel jelzi a program, az alábbi módon:
Nézzük meg, hogy a parancssorban hogy néznek ki a moduljaink! Milyen részekből áll a csővezeték? A menüből válasszuk ki a “Project/Project Manager” pontot, majd nyomjunk CTRL-A-t és ENTER-t. Ez felnyit egy parancssoros ablakot, amin keresztül az APROS szervernek lehet utasításokat adni. A három legfontosabb parancs: show <modul neve> - modul paramétereinek listázása list <modul neve> - modul kapcsolódó moduljainak listázása modify <modul neve> <paraméter neve> <új érték> paraméter módosítása Nézzük meg az első pont paramétereit a “show n1_po01” paranccsal! 6
Listázzuk ki a csővezeték számítási szintű moduljait a “list n1_pip01” paranccsal! Nézzük meg a cső első nódusának (N1_PIP01_NO1) és szakaszának (N1_PIP01_BR1) paramétereit is! Gyorsítsuk fel az alapértelmezetten valós időben futó szimulációt a “modify speed sc_speed 10” parancssal! Írassuk ki a sémára a modulok különböző paramétereit! A Properties ablakban, vagy a parancssor segítségével tudjuk ellenőrízni a modulok aktuális paramétereit, de ez nehézkes. A Monitorok szolgálnak arra, hogy karakteres formában megjelenítsék a modellező által fontosnak vélt paramétereket a grafikus felületen. A Monitor menü úgy érhető el, hogy jobb egérgombot nyomunk a kiszemelt modulon. A menü almenüpontjai a következők: Monitor Define / Hide / Remove: Monitor létrehozása, elrejtése, törlése. Use this monitor for similar nodes: A modulhoz definiált monitorokat létrehozza a sémaképen található többi ugyanolyan modul számára is. Show / Hide / Remove monitor for similar nodes: a hasonló modulok monitorait mutatja/rejti/törli. Monitor/Define ablak tartalma: Edit / Run / Edit+Run: Szerkesztés közben, futtatás közben, vagy folyamatosan mutassa a monitort Add / Add all: Kiválasztott/összes paraméter hozzáadása Remove / Remove All: Kiválasztott/összes paraméter törlése Format: Formátum beállításai Font: Karakterkészlet váltása A sémaképünkre kiíratandó paraméterek a pontok esetén a nyomás és hőmérséklet, a csővezetéken a forgalom, a szelepen pedig a szelep pozíció (3 tizedesjegy pontossággal). A monitorokkal felszerelt modell látható a következő ábrán:
A modell tesztelése során hasznos lehet a trendablakok használata, melyek segítségével kiválasztott paraméterek időbeni változását lehet nyomon követni.
7
Új trendablakot a menüsorból a Trends / Pick menüpont kiválasztásával lehet létrehozni. A menüpont kiválasztása után a kurzor megváltozik. A vizsgálni kívánt modulra klikkelve, a megjelenő ablakban ki kell választani a vizsgálni kívánt paramétert.A trendablak alsó sávjában található gombok az alábbiak: Mindkét tengely optimális átskálázása Időtengely / y tengely optimális átskálázása Nagyítás/kicsinyítés Grafikon nyomtatása Időtengely megállítása / futtatása a szimulációval További paraméterek hozzáadása a trendablakhoz Mentsük el a modellt! Indítsuk el a szimulációt, és vizsgáljuk a különböző paramétereket a nyomásviszonyok és a szelep pozíciója függvényében! 2. feladat Építsünk forgalommérést a modellbe! Szabályozzuk a forgalmat szabályozó szeleppel! Hozzuk létre az alábbi modulokat: Forgalommérő: Net/Nodes/AUT Measurements/Flow High limit: 1000 Kössük össze „Name reference” segítségével a csövön található piros négyzetet a forgalommérő modulon található lila ponttal. Szelepvezérlő: Net / Nodes / AUT Actuators S / A02: Pneumatic control valves Kössük össze „Name reference” segítségével a szelep közepén található piros négyzetet a vezérlő modulon található lila ponttal. PI szabályozó: Net / Nodes / AUT Controllers / PI Controller S Gain: 0.01 Integration time: 2 Alapjeladó: Net/ Nodes / AUT Analog Basic / Setpoint S Setpoint value: 100 Maximum value 1000 Analóg jelek: Net/ Nodes / AUT Analog Basic / Signal Analog A modulokon található analóg kimenetek (sötét piros) és analóg bemenetek (sötét zöld) közé analóg jeleket (Signal Analog) kell definiálni. Az előzetesen létrehozott analóg jelet “Name Reference” kapcsolattal kell a hozzá tartozó kimenethez és bemenethez hozzákötni. Kössük össze analóg jelekkel a következő terminálokat: 1. A
forgalommérő
FM_NONSCALED_OUT_SIGN
terminálját
a
PI
szabályozó 8
PI_MEASUREMENT_SIGN termináljával 2. Az alapjeladó SP_OUTPUT_SIGN pontját a PI szabályozó PI_SETPOINT_SIGN pontjával 3. és a PI szabályozó PI_OUTPUT_SIGN pontját a szabályozó DC2_INPUT_SIGN pontjával A terminál nevének kiíratásához a Ctrl billentyűt lenyomva tartva klikkeljünk rá a jobb egérgombbal. Definiáljunk monitorokat az analóg jeleinkhez. Teszteljük az elkészült modellt az alapjeladó értékének változtatásával. Jobbra egy példa látható a feladat megoldására.
3. feladat Építsünk szivattyút a modellbe! Határozzuk meg a szivattyú jelleggörbéjét! Szivattyú: Net / PRO Pumps / Basic Pump A létrehozott szivattyú nyomóágára kössük rá a már létező modellünk legelső pontját, majd vegyük vissza a pontot a szimulációba. A szivattyú szívóoldalára a modell legutolsó pontjának másolatát (slave copy) kössük. A másolatot úgy lehet létrehozni, hogy a ponton a jobb egérgombot megnyomva, a menüből kiválasztjuk a “Create slave copy here” opciót. A jelleggörbéhez a szivattyú térfogatáramára és az általa létrehozott nyomáskülönbségre van szükség. Egyik paraméter sem érhető el közvetlenül az APROS adatbázisból, de függvények segítségével egyszerűen számolhatóak: Nyomáskülönbség: Net / EXE Boundary Condition / BC General Sum A függvény grafikus szimbólumán bal oldalon található négy bemenet, jobb oldalán egy kimenet. Hozzuk létre a modult, majd az első bemenetre kössük rá a szivattyú szívóoldalán, a másodikra a nyomóoldalán található pontot. A modul beállításai a következők: First input module and variable: N1_PO03 PO11_PRESSURE Second input module and variable: N1_PO01 PO11_PRESSURE Coefficient of first input variable: -1 (ez biztosítja, hogy a két inputnak ne az összege, hanem a különbsége legyen a függvény értéke) Térfogatáram: Net / EXE Boundary Condition / BC General Product Hozzuk létre a modult, majd az első bemenetre kössük rá a szivattyú szívóoldalán lévő pontot, a másodikra a szivattyút. A modul beállításai a következők: First input module and variable: N1_PO03_NO1 NO6_MIX_DENS Second input module and variable: N1_BP01 PU11_MIX_MASS_FLOW Power to which 1. input variable is raised: -1 (ez biztosítja, hogy a két inputnak ne a szorzata, hanem a hányadosa legyen a függvény értéke) Legalább 5 különböző térfogatáram mellett határozzuk meg a szivattyú emelőmagasságát! A kapott 9
eredményeket ábrázoljuk grafikonon, és illesszünk rá y=a+bx2 alakú függvényt! A következő ábra egy példát mutat a feladat megoldására.
4. feladat Építsünk hőcserélőt és hőmérsékletszabályozást a modellbe! Vizsgáljuk meg, hogyan reagál a hőmérsékletszabályozás a forgalomváltozásra! A feladat célja egy olyan rendszer modelljének megalkotása, ami a felhasználó által meghatározott hőmérsékletű és tömegáramú vizet hoz létre. Ehhez a következő ábrán látható modellt kell létrehozni:
A modellben két olyan modul van, ami eddig még nem szerepelt a jegyzetben: Egyenáramú hőcserélő: Net / PRO Heat Exchangers / Co-current Heat exchanger Average length of heat exchanger tubes: 10 Number of parallel heat exchanger tubes: 1000 Hőmérő: Net/Nodes/AUT Measurements/Temperature 10
High limit: 1000 Time constant: 1 A PI Controller paraméterei: Gain: 0.001, Integration time: 2. A modellben található setpoint-ok változtatásával különféle tranzienseket vizsgálhatunk. 5. feladat A szimuláció eredményeit írassuk ki output file-ba! Hozzunk létre az alábbi modulokat: DB names: EXE Simulation Control / Database names for IO Database names for IO[1]: <modul neve> <paraméter neve> (pl. N1_PIP01 PI12_MIX_MASS_FLOW) IO set: EXE Simulation Control / IO Set IO file name: data<mai dátum>.dat Name of module defining database names: N1_DBN01 Time step of data transfer: 1 Experiment: EXE Simulation Control / Experiment Name of IO set module[1]: N1_IS01 A modell futtatása után létrejött output file fejléce tartalmazza a kiírt paraméterek számát és neveiket. A fejlécet követik a számítási eredmények. Minden időponthoz egy sor tartozik, ami a szimulációs idővel kezdődik, majd a “DB names” modulban definiált paraméterek értékeivel folytatódik. Az output fileba kiírt adatok grafikus megjelenítése a gnuplot programmal a legegyszerűbb, ami a http://www.gnuplot.info/ címről tölthető le. Dokumentálják mérési jegyzőkönyvben a gyakorlat során felépített APROS modelleket, illetve az azokkal nyert szimulációs eredményeket!
11