Knihovna modelů tehnologikýh roesů B. Radim Pišan 2007
ABSTRAKT V rái je ředstavena knihovna modelů tehnologikýh roesů, vytvářená v rogramovém rostředí MATLAB-SIMULINK. Tato využívá bloku s-funtion (s-funkí) ro definii dynamiky vybranýh roesů. Prozatím je knihovna tvořena bloky zásobníků na kaalinu (kulové, válové a ve tvaru tryhtýře), růtočným výměníkem tela a růtočným hemikým reaktorem. Knihovna je koniována jako otevřená a další bloky vybranýh tehnologikýh roesů budou následovat.výstu ráe bude sloužit ro edagogiké účely do ředmětů souvisejííh s modelováním, simulaí a řízením, ale také ro badatelské účely ověřování řídíh algoritmů simulačními rostředky. V tomto dokumentu je nastíněn ostu vytvoření jednoho konkrétního bloku růtočného výměníku tela s romíháváním. Ostatní bloky jsou vytvořeny stejným riniem.
1 MODEL. K oisu hování tehnologikýh roesů se oužívá matematikého modelování jehož výstuem jsou difereniální rovnie oisujíí daný děj. Odvození těhto rovni se děje na základě bilaní. Na Obr.1 můžeme vidět růtočný výměník tela s romíháváním. Obr. 1 Shéma růtočného výměníku Pois jednotlivýh veličin: q... vstuní a výstuní růtok telejšího média [m 3 /min] T v... telota telejšího média na vstuu [K] q... vstuní a výstuní růtok hladnějšího média [m 3 /min] T v... telota hladnějšího média na vstuu [K] V... objem telejšího média [m 3 ] V... objem hladnějšího média [m 3 ] T... telota na výstuu [K] T... telota na výstuu z hladíi části [K] F... řestuná loha [m 2 ] α... koefiient řestuu tela [kjm -2 K -1 min -1 ]
Podle Obr.1 můžeme sestavit následujíí bilanční rovnie: - ro hlazené médium Telo vstuujíí telo odházejíí telo řestuujíí telo v objemu = + + v roudu kaaliny v roudu kaaliny do hladíí kaaliny V akumulované - ro hladíí médium Telo vstuujíí telo odházejíí telo odházejíí telo v objemu + = + v roudu kaaliny z hlazené kaaliny v roudu kaaliny V akumulované Poté slovní vyjádření řevedeme na matematiké rovnie: ( T T ) qρ T = qρ T + Fα + Vρ v dt dt ( T T ) qρ T + Fα = q ρ T + V ρ v dt dt Uravíme dané difereniální rovnie tak, aby se osamostatnila derivae a zůstala na jedné straně: dt dt = ( T T ) qρ T Fα + qρ Vρ T V dt dt = q ρ T + qρ V ρ T v + Fα ( T T ) Tyto rovnie oužijeme dále ro definii s-funke.
2 VYTVOŘENÍ S-FUNKCE Pro imlementai vzniklýh rovni za účelem simulae hování danýh systémů byl zvolen rogram MATLAB a jeho nástavba SIMULINK, ož je jednoduhý a intuitivně stavěný nástroj ro simulai. S-funke je seiální blok v SIMULINKu, který umožňuje roojení daného bloku s m-filem, ve kterém se nahází difereniální rovnie oisujíí ožadovanou dynamiku a oč. odmínky roesu; je zde také definován očet vstuů a výstuů. V této rái je naznačeno jak se ostuovalo ři vytváření modelů. Jako model budeme uvažovat růtočný výměník tela s romíháváním. S-funke se nahází v SIMULINKU v části simulink a user-defined funtion. Po založení nového simulačního shématu, ji tam řesuneme. Pokleáním levým tlačítkem myši se dostaneme do oložky s názvem s-funke. Název je důležitý, rotože tím se roojí s- funke s říslušným m-filem, který bude mít stejné jméno jako s-funke. Na Obr.2 je vidět blok s-funke a její vlastnosti. Do ole S-funtion arametres se íši názvy roměnnýh, které lze ředávat z s-funke do m-filu. Obr. 2 Shéma s-funke s arametry
Pokud máme zájem řidat otřebný očet vstuů a výstuů, rovedeme to omoí bloků mux a demux, které se naházejí v seki simulink-signal routing. Pro ožadovaný očet vstuů stačí kliknout na blok a zde změnit očet vstuů. Pro náš říad vyadá s-funke odle Obr.3 Obr. 3 S-funke ro růtočný výměník V jednotlivýh roměnnýh se ředávají hodnoty objemů, řestuná loha atd. Označením bloků a kliknutím ravým tlačítkem myší a vybráním oložky reate subsystem, se vytvoří jeden blok se 4 vstuy a 2 výstuy. Dále lze tento blok uravovat a to tak, že ravým tlačítkem klikneme na blok a vybereme oložku edit mask. Otevře se okno mask editoru. V tomto editoru se dají měnit názvy vstuů, dá se načíst obrázek na ozadí bloku. K tomu slouží říkazy: image(imrea( heatex )); vloží obrázek na ozadí ort_label( inut,1, q, texmode, on ); ojmenuje rvní vstu jako q, texmode se oužívá ro zobrazení dolníh indexů.
Obr. 4 Vytvořený blok se 4 vstuy a 2 výstuy a konfigurační mask editor K vytvoření menu na Obr.5 se využije záložky arameters, kde je možný slovní ois zadávaného arametru a k tomu se řiřadí roměnná, která se ak ředá m-filu. Do menu se dá dostat kliknutím levého tlačítka myši na blok. Obr. 5 Vytvoření menu
3 UKÁZKA M-FILU PRO PRŮTOČNÝ VÝMĚNÍK TEPLA funtion [sys,x0,str,ts] = heatex(t,x,u,flag, V, F, ro,, alfa, T0) % s-funke ro vyoet dynamiky systemu % PRUTOCNY VYMENIK TEPLA %====================================== % V... objemy [hlazene kaaliny, hladii kaaliny] % F... vymenna (restuna) loha % ro... hustoty [hlazene kaaliny, hladii kaaliny] %... merna teelna kaaita [hlazene kaaliny, hladii kaaliny] % alfa. koefiient restuu tela % T0... oateni teloty [hlazene kaaliny, hladii kaaliny] swith flag, ase 0 [sys,x0,str,ts]=mdlinitializesizes(t0); % Iniializae ase 1 sys = mdlderivatives(t,x,u, V, F, ro,, alfa); % vyoet derivai ase 3 sys = mdloututs(t,x,u); % vyoet vystuu ase { 2, 4, 9 } % neouzite flagy sys = []; otherwise error(['unhandled flag = ',num2str(flag)]); % Chyba obsluhy end % mdlinitializesizes % Vrati rozmery, oate. odminky a eriody vzorkovani ro S-funki. funtion [sys,x0,str,ts] = mdlinitializesizes(t0) sizes = simsizes; sizes.numcontstates = 2; % oet sojityh stavu - T(t), T(t) sizes.numdisstates = 0; % oet diskretnih stavu sizes.numoututs = 2; % oet vystuu - T(t), T(t) sizes.numinuts = 4; % oet vstuu - q(t), q(t), Tv(t), Tv(t) sizes.dirfeedthrough = 0; % '0' jestlize se ve vystuu neouziva vstuni signal, '1' kdyz ano sizes.numsamletimes = 1; % oet eriod vzorkovani (min. 1) sys = simsizes(sizes);
x0 = [T0(1), T0(2)]; % Iniializae oatenih odminek str = []; % reteze razeni stavu - obene seifikovany jako [] ts = [0 0]; % erioda vzorkovani a offset, ro sojite systemy [0 0] % mdlderivatives % Vrati derivae sojityh stavu funtion sys = mdlderivatives(t,x,u, V, F, ro,, alfa) sys(1) = u(1)*(u(3)-x(1))/v(1) - F*alfa*(x(1)-x(2))/(V(1)*ro(1)*(1)); % ('u' - vstuy, 'x' - stavy) sys(2) = u(2)*(u(4)-x(2))/v(2) + F*alfa*(x(1)-x(2))/(V(2)*ro(2)*(2)); % mdloututs % Vrati vystu bloku funtion sys = mdloututs(t,x,u) sys = [x(1), x(2)]; Pozn: Při vytváření bloků je důležité dodržet ořadí ředávání jednotlivýh roměnnýh v s-funki, viz Obr.3 a ořadí v uvedeném m-filu: V, F, ro,, alfa, T0.
ZÁVĚR Tato ráe byla zaměřena na stručné vysvětlení s-funkí a jejih oužití k modelování dynamiky tehnologikýh roesů. Cílem bylo vytvoření knihovny modelů a to: zásobníků na kaalinu (v konfigurai 1, 2 a 3 zaojené za sebou ), růtočného výměníku tela, růtočného hemikého reaktoru. Knihovna bude dále rozvíjena a bude volně k disozii nejen ro vědeké účely. Na závěr Obr. 6. je uvedena ukázka simulae růtočného výměníku tela. Obr. 6 Ukázka simulae