Reakció-kinetika szimulátor
6. IRÁNYÍTÁSI ALGORITMUSOK VIZSGÁLATA
6.1.2. Modellbázisú szabályozók
6.1.2.1. PCC szabályozó
Az üvegreaktor hőmérsékletszabályozásánál a slave kör gyárilag kiépített, ezért PCC algoritmus csak a master körre készíthető. A két szabályozó kaszkád struktúrában használható, ahol a master PCC szabályozó adja a köpeny hőmérsékletszabályozó (slave) alapjelét (Szeifert, 1995c).
A reaktortérre felírható mérleg egyenlet, forrás nélkül:
(
2 11
p F T T
dt c dT
Vρ =α −
)
Kémiai reakció esetén kétféle megoldás adódik:
• A PCC adaptációs készsége folytán a forrássűrűséget modell hibaként kezeljük.
• A forrássűrűséget becsüljük (megfelelő modellel, vagy az előző gyártás modell hiba függvényeként), s mint mért zavarást vesszük figyelembe.
A fenti alapján a tervezési egyenlet az alábbi lesz:
(
h2 1
1 T T t t
dt
dT + = −
τ
)
Algoritmus:
Input jelek: T1 reaktorhőmérséklet, WT1 köpeny alapjel.
Output jelek: T2 köpeny be hőmérséklet.
Paraméterek:
identifikálandó: τ, th időállandó, holtidő PCC paraméterek pw alapjel predikció
pp p-inverz paramétere
A fenti összefüggések alapján megalkotható a PCC szabályozó diszkrét algoritmusa (6.1.-6.2. táblázat).
Az algoritmus egyszerűségéből következően könnyen leképezhető magas szintű programnyelven vagy akár a DCS rendszerek által biztosított (pl. IEC 1131-3 szabványon alapuló) programnyelven.
6.1. táblázat A PCC algoritmus változói Bemenet:
w alapjel
y szabályozott jellemző
um visszamért beavatkozó jellemző
inic paraméterek újraszámolását vezérlő változó (0: nincs, 1:
van újraszámolás) Kimenet:
u beavatkozó jellemző
ym predikált kimenet (tesztelési célokra) Paraméterek:
t0 mintavételezési idő tc időállandó
td holtidő
pk korrekciós erősítési tényező (pk=1) pp predikciós paraméter
pw alapjel predikció umin beavatkozó alsó korlát umax beavatkozó felső korlát
Statikus változók (értéküket a következő ciklusig megőrzik):
elso, x1, x2, x3, x4, x5, s1, s3, s4, s5, sk, ss, sw, sa1, sa2, sa3, sa4, sa5, ss
A táblázatban szereplő algoritmus C nyelvű programját a GeniDaq VBA moduljából hívható DLL fájlként építettem be a rendszerbe. A szabályozó paramétereit az identifikációnál meghatározott értékek alapján állítottam be. A köpeny lassúsága miatti túllendülést az ismertetett korlát beépítésével sikerült kiküszöbölni.
Master-slave struktúrában a belső körben a termosztát beépített PID szabályozóját használtam, ennek a szabályozónak az alapjelét adta a master köri PCC szabályozó (6.8. ábra). Látható az ábrán, hogy a PCC szabályozóval egy gyors, túllendülésmentes beállást kapunk. Az alapjel vezetés előrecsatolásával (pw paraméter) elérhető az, hogy a vezetési szakaszban is jól kövesse a reaktor hőmérséklete az alapjelet.
6.2. táblázat A PCC szabályozó algoritmusa
Inicializálás:
x1=w x2=w x3=y x4=0 x5=-x3 elso=1;
Ciklus:
if inic=1 or elso=1 {
elso=0
s1=exp(-t0/(pp*(td+tc))) s3=exp(-t0/tc)
s4=exp(-6*t0/td) s5=t0/td
sk=1+exp(-pp*(1+td/tc))/(1-exp(-pp*(1+td/tc))) ss=s3+2*(1-s4)*(s3*s5+(1-s3)*sk)
sw=pw*(td+pp*(td+tc))
sa3=s3*(1+2*(1-s4)*(s5-sk))/ss sa4=s4*sk/ss
sa5=-2*sk*(1-s4)/ss
sa1=sk*(1+2*s5*(1-s4))/ss sa2=s4/(1+2*s5*(1-s4)) ss=-2*(1-s4)/(1+2*s5*(1-s4)) }
x1=s1*x1+(1-s1)*w xw=(x1-x2)/t0 x2=x1
xw=w+sw*xw-y
u=sa3*x3+sa4*x4+sa5*x5+sa1*xw if u<umin u=umin
if u>umax u=umax
x3=s3*x3+(1-s3)*um*pk x4=sa2*x4+ss*(x3+x5) x5=x5+s5*x4
u=u/pk ym=x3+x4
0
termosztát beavatkozás (%)
WT1 T1 WT2 T2 U
6.8. ábra Üvegreaktor szabályozása PCC szabályozóval 6.1.2.2. Általános modellszabályozó (GMC)
A reaktort az 6.3. egyszerűsített modellel írhatjuk le, amelyből a megfelelő átalakítás után a 6.4. állapottér modell adódik:
(
2 1) ( )(
1 1( )
Az állapottér modell alapján meghatározhatók a GMC algoritmushoz szükséges deriváltak:
A GMC algoritmus összefüggése alapján kifejezhető az T2 irányítási változó:
( ) ( ) ( ) ( )
1 0A fenti egyenlet alapján az alábbi ábrán látható irányítási struktúra adódik (6.9. ábra).
TB2
6.9. ábra A GMC szabályozó sémája
A GMC struktúra PI szabályozójának két hangoló paraméterét (erősítés, integrálási időállandó) szélsőérték kereséssel határoztam meg. A célfüggvény
PI
szabályozó Reaktor
∑ TB1
számolása a PID szabályozónál használthoz hasonló programmal történt, a PID szabályozó előrecsatoló bemenetére adtam a modell által számolt értéket (6.10. ábra).
A kapott paraméterekkel végzett szimuláció (6.11. ábra) alapján megállapítható, hogy egy gyors, túllendülésmentes beállást kapunk, azonban vezetés esetén jelentősen elmarad a szabályozott jellemző az alapjelhez képest. A fizikai mérés (6.12. ábra) esetén minimális túllendüléses beállást kapunk alapjel váltásnál, de maradó hiba figyelhető meg alapjel tartás esetén is. Az integrálási időállandó csökkentésekor azonban jelentős volt a túllendülés. Összességében megállapítható, hogy a fizikai rendszeren végzett mérés is a szimulációhoz hasonló eredményt adott.
6.10. ábra GMC szabályozó Simulink programja
0 10 20 30 40 50 60 70 80 90 100
0 50 100 150 200 250 300 350 400 450 500
idő (min)
hőmérséklet (°C)
0 10 20 30 40 50 60 70 80 90 100
termosztát beavatkozás (%)
WT1 T1 WT2 T2 U
6.11. ábra Üvegreaktor szabályozása GMC szabályozóval (szimuláció)
0
termosztát beavatkozás (%)
WT1 T1 WT2 T2 U
GMC, k=2, ti=10000, xp=2, tn=60, tv=2, 500 ml
6.12. ábra Üvegreaktor szabályozása GMC szabályozóval 6.1.3. A reakcióhő becslése mérés közben
A reakció kaloriméterek olyan tudományos eszközök, amelyeket már több mint 30 éve arra terveztek, hogy a reakció vagy más folyamat közben keletkező hőt mérni tudják. Napjainkban különböző típusait egyre szélesebb körben használják a technológiafejlesztés, a folyamatbiztonság és a kémiai alapkutatás területén.
A reakció kaloriméter kisméretű köpennyel ellátott precíz hőmérsékletszabályozó-val rendelkező automatizált reaktor rendszer, amely alkalmas hőáramok mérésére. A reaktorban levő folyadékot a köpenybe vezetett hőközlő folyadék segítségével fűthetjük, illetve hűthetjük (6.13. ábra). Minimális követelmény a reaktorhőmérséklet (T1) és a köpeny belépő hőmérséklet (T2) mérése és egy megfelelő kapacitású termosztáttal a köpeny hőmérsékleten keresztül a reaktorban az előírt hőmérsékletprofil tartása. Gyakran a kaloriméterek kalibrációjához egy ismert teljesítményű (Q) elektromos fűtőszálat építenek be azért, hogy a reaktor és köpeny között kialakuló hőmérséklet különbségből (T1-T2) a hőátadási tényező és a felület szorzatát az alábbi összefüggés alapján meghatározhassák:
( )
A hőátadási tényező meghatározásához ismerni kell még a reaktorban lévő folyadék által nedvesített felületet, ez a felület jelentősen változhat a keverő típusától és annak fordulatszámától is. A kísérleti mérések alapján megállapították (Hariri, 1996), hogy a hőátadási tényező függ a keverő fordulatszámától és a reaktortöltettől (a töltet növelésével csökken).
T1
6.13. ábra A reakcióhő becslésre használt rendszer sémája A kaloriméter belső terében lévő elegyre az alábbi mérleget írhatjuk föl:
( )
Az összefüggés jobb oldalának első tagja (Qátad) abban az esetben használható, ha a köpenyben nagy a térfogatáram és nincs jelentős különbség a belépő (T2) és a kilépő (T3) hőmérséklet között. Amikor kicsi a térfogatáram és emiatt jelentős a hőmérséklet különbség (vagy nagyon nagy pontosságú hőmérsékletmérésre van lehetőség), akkor a Qátad tagot közelíthetjük a Qáram taggal (Qáram =Bρcp
(
T3 −T2)
).Ezt a megoldást hőmérleg alapján, míg az előzőt a hőáram alapján történő működésnek nevezzük (Landau, 1996). A két megoldás előnyeinek illetve hátrányainak összefoglalása a 6.3. táblázatban található.
6.3. táblázat A hőáram és hőmérleg alapján működő kaloriméterek jellemzői
Jellemző Hőáram elv Hőmérleg elv
A hőközlő közeg
jellemzői Független a jellemzőktől. A fajhő és a tömegáram ismerete szükséges.
A reaktor hőátadási
jellemzői A hőátadási tényező és a felület
ismerete szükséges. Független a jellemzőktől.
Hűtő (fűtő)
kapacitás Gyors és nagy sebességű beavatkozás lehetséges a nagy köpenybeli áramlásnak
köszönhetően.
Lassúbb és kisebb sebességű beavatkozás lehetséges a kicsi
köpenybeli áramlás miatt.
Működési biztonság A nagy hűtési kapacitás növeli a biztonságot.
A kicsi hűtési kapacitás csökkenti a biztonságot.
Kalibráció A hőátadási tényező, a felület és a töltet fajhőjének meghatározása szükséges.
A töltet fajhőjének és a hőveszteségnek a
meghatározása szükséges 6.1.4. A hőátadási tényező becslése
A hőáram (heat-flow) reakció kaloriméterek esetén a reaktorfal hőátadási tényezője egy kulcsparaméter a termikus mérések kiértékelésénél. Ez a paraméter szükséges a fajhő meghatározásához és a hőmérleg megoldásához. A hőátadási tényező meghatározásának egy megszokott módja a kalibrációs mérés alapján történő számítás. Sok esetben azonban a hosszadalmas kalibrációs mérés nem kivitelezhető.
Kumpinsky (1996) javasolt egy módszert a hőátadási tényező valós idejű (on-line) meghatározására, amelyet „dinamikus” módszernek nevezett el. Pontosabb hőátadási tényező becslésre kidolgoztak különböző hőmérséklet oszcillációs módszereket is (Temperature Oscillation Calorimetry, TOC). Ezeket a módszereket akkor célszerű használni, ha a reakció során jelentős mértékben változik a hőátszármaztatási tényező és a reakciót nem zavarja kis mértékű hőmérséklet ingadozás (De Luca, 2002).
A „dinamikus” módszer alapja a reaktorra felírt egyszerűsített hőmérlegből kifejezett hőátadási tényező számolása minden időpontban az alábbi összefüggés alapján:
A dinamikus α meghatározásához 20-80 °C tartományban 2, 1, 0,5 °C/min sebességű alapjel vezetésekkel végeztem mérést (6.14. ábra). A mért adatok alapján a
fenti összefüggéssel számolt α*F értékek is láthatók az ábrán. A különböző vezetési tartományokban számolt értékek nagy szórást mutatnak (6.15. ábra), 100 és 500 között változnak általában, de az alapjel sebességének váltásakor illetve a köpeny és a reaktorhőmérséklet kereszteződésekor végtelenné is válnak.
0 10 20 30 40 50 60 70 80 90 100
0 100 200 300 400 500 600 700 800
idő (min)
hőmérséklet (°C)
100 150 200 250 300 350 400 450 500
alfa*F (J/(K*min))
WT1 T1 T2 alfa*F
6.14. ábra Hőátadási tényezők meghatározása
100 150 200 250 300 350 400 450 500
20 30 40 50 60 70 80
hőmérséklet (°C)
alfa*f (J/(K*min))
2 °C/min föl 2 °C/min le 1 °C/min föl 1 °C/min le 0.5 °C/min föl 0.5 °C/min le
6.15. ábra Hőátadási tényezők különböző sebességű alapjel vezetésnél
A mérési adatok kiértékelése során kapott eredmények alapján megállapítható, hogy a dinamikus α meghatározás általában pontatlan, bizonyos esetekben pedig értékelhetetlen eredményeket ad.
A hőátszármaztatási tényező (illetve ismeretlen fajhőjű elegy esetén a fajhő) meghatározásához kibővítettük a rendszert egy kalibráló fűtőszállal. A beépített
fűtőszál teljesítményének meghatározását egy vizes mérés során gyűjtött adatok alapján végeztem (6.16. ábra). A kalibráló fűtést különböző alapjel értékeknél (működő reaktorhőmérséklet szabályozás mellett) bekapcsolva a köpenyhőmérséklet csökkenés kompenzálja a fűtőszál által bevitt hőáramot. A töltet paramétereinek ismerete mellett szélsőérték kereső program segítségével meghatároztam a fűtőszál által bevitt hőáramot, amely 1048,5 Jmin-1-nek adódott.
0 10 20 30 40 50 60 70 80
0 50 100 150 200 250 300 350 400 450 500
idő (min)
hőmérséklet (°C)
0 1 2 3 4 5 6 7 8
kalibráló fűtés (0,1)
WT1 T1 T2 KAL
PCC , xp=2, tn=60, tv=2, 500 ml
6.16. ábra Kalibráló mérés
A mért és a számolt reaktorhőmérsékletek alapján meghatározható a hőáram számolás pontatlansága. Beállt állapotban 0-hoz közeli értékeket, míg dinamikus állapotban ± 200 Jmin-1 hőáram eltérést kapunk (6.17. ábra), ezen eredmények alapján megállapítható, hogy izoterm körülmények között végzett mérésekből sokkal pontosabban határozható meg a hőáram görbe.
További vizsgálatokat végeztem annak meghatározására, hogy a hőmérlegben szereplő tagok közül melyik okozza a dinamikus állapotban tapasztalható jelentős pontatlanságot, illetve hogyan csökkenthető a pontatlanság.
Megvizsgáltam, hogy a reaktorhőmérséklet és a köpeny kilépő hőmérséklet mérésére használt hőmérők mennyire pontosak. A két hőmérőt a termosztát kilépő hőmérsékletének mérésére használt hőmérővel azonos térbe (termosztát fürdője) tettem és 10-80 °C-os tartományban lépcsőzetesen változtatott alapjel profil mellett mérést végeztem (6.18. ábra). A gyűjtött adatok alapján megállapítható, hogy a T3 hőmérő esetén jelentős, míg a T1 hőmérő esetén minimális eltérés tapasztalható stacioner állapotban. A három hőmérő dinamikája is jelentősen eltér, a T1 hőmérőnél tapasztalható jelentős eltérés a hőmérő dupla tokozásával magyarázható (gyári réz tokon kívül egy üvegtokban van elhelyezve).
0
WT1 T1 T1_sz T2 Q_hiba
PCC , xp=2, tn=60, tv=2, 500 ml
6.17. ábra Fűtőteljesítmény meghatározása (Q=1048,5)
10
hőmérséklet különbség (°C)
T1 T3 T2 T1-T2 T3-T2
6.18. ábra Hőmérők kalibrációjához használt adatok
A stacioner értékek közötti eltérés jelentősen csökkenthető, ha T1-T2 és a T3-T2 pontokra polinomot illesztünk. Már egy lineáris közelítéssel (TX=TX_0+TX_1*TX, X∈[1, 3], a paraméterek a 6.4. táblázatban találhatók) is jelentős javulást érhetünk el (6.19. ábra).
6.4. táblázat Stacioner illesztés paraméterei paraméter T1_0 T1_1 T3_0 T3_1 érték 0,0398 0,9997 0,2354 1,0179
A hőmérők dinamikai jellemzői közötti különbség csökkenthető, ha a legnagyobb időállandójú, illetve a legnagyobb holtidejű hőmérőhöz igazítjuk a többi hőmérő tulajdonságait, holtidő illetve szűrés alkalmazásával.
10
hőmérséklet különbség (°C)
T1_sz T3_sz T2 T1_sz-T2 T3_sz-T2
6.19. ábra Hőmérők stacioner kalibrációja
A T2 és a T3 hőmérőnél egy elsőrendű szűrő (τT2=0,197 min, τT3=0,08 min) alkalmazásával jelentősen csökkenthető az eltérés (6.20. ábra).
10
hőmérséklet különbség (°C)
T1_din T3_din T2 T1_din-T2_din T3_din-T2_din
6.20. ábra Hőmérők dinamikus kalibrációja
A hőáram becslés alapján működő kaloriméterek esetében a reakcióban felszabaduló hő az alábbi egyenlet alapján számolható:
(
k 1)
v( )(
1 K 1Az egyenlet és az egyenletben szereplő tagok időfüggvényei alapján (6.21. ábra) megállapíthatjuk, hogy a hőáram becslés alapján történő reakcióhő meghatározásnál a reaktorhőmérséklet-mérés pontossága befolyásolja a pontosságot. Az egyenletben szereplő paraméterek meghatározása viszonylag egyszerű.
-8000
6.21. ábra A hőáram alapján történő reakcióhő becslés egyenletének tagjai
A hőmérleg alapján működő kaloriméterek esetében a reakcióban felszabaduló hő az alábbi egyenlet alapján számolható:
(
P)
k k p(
3 2) (
1 k) ( ) (
K K kAz egyenlet és az egyenletben szereplő tagok időfüggvényei alapján (6.22. ábra) megállapíthatjuk, hogy a hőmérleg becslés alapján történő reakcióhő meghatározásnál a reaktorköpeny be- és kilépő hőmérsékletmérés pontossága befolyásolja a pontosságot, és a hőmérők kis mértékű pontatlansága is jelentős hibát eredményezhet.
Az egyenletben szereplő paraméterek megfelelő pontosságú meghatározása nem egyszerű feladat.
A két módszerrel kapott hibabecslés (6.23. ábra) alapján is látható, hogy hőáram becslés alapján történő számolás esetén a hiba sokkal kisebb.
-20000
6.22. ábra A hőmérleg alapján történő reakcióhő becslés egyenletének tagjai
-400
Qhőmérleg Qhőáram T1 T2 T3
6.23. ábra A hőáram hiba meghatározása hőmérleg és hőáram becslés alapján
A fűtőszál kalibráló mérést (6.16. ábra) felhasználva összehasonlítottam két módszert a hőáram becslésére.
Az (6.6.) egyenlet alapján a reaktorhőmérséklet deriváltját numerikus deriválással közelítve meghatározható a fűtőszál által bevitt hőáram. A mérési zajok miatt a számolt hőáramot egy 0,8 perces időállandójú elsőrendű szűrővel szűrtem. A számolt hőáram (Qder) görbe (6.24. ábra) jól visszaadja az identifikált hőáramot (kb. 1050 Jmin-1). Az identifikált hőáramtól való eltérés a párolgásnak a hőátszármaztatáson keresztüli közelítő figyelembevétele okozza.
A hőáramot meghatároztam a PCC algoritmusban alkalmazott invertáláson alapuló módszerrel is. Ebben az esetben a Qinv görbét (6.24. ábra) úgy kell megadni, hogy a reaktorban a számolt hőmérséklet megegyezzen a mért hőmérséklettel.
Az ábrán látható, hogy mindkét esetben közel azonos megoldást kaptam. A második megoldás előnye, hogy a PCC algoritmusnak egy minimális kiegészítésével megkaphatjuk a hőáramgörbét is. Ha szabályozásra PCC algoritmust használunk, akkor célszerű a hőáramgörbe számolásra az invertáláson alapuló megoldást alkalmazni.
Ez a technika nemcsak laboratóriumi rendszerek, hanem ipari méretű reaktorok esetében is használható. A hőáramgörbe valósidejű megjelenítése nagyon hasznos lehet az üzemeltetők számára.
0 10 20 30 40 50 60 70 80
0 50 100 150 200 250 300 350 400 450 500
idő (min)
hőmérséklet (°C)
-600 -400 -200 0 200 400 600 800 1000 1200 1400
kalibráló fűtés (0,1)
WT1 T1 T2 KAL Qder Qinv
PCC , xp=2, tn=60, tv=2, 500 ml
6.24. ábra A hőáram meghatározása deriválással és inverz képzéssel