KNIHOVNA C MEX BLOKÙ PRO PRÙMYSLOVOU REGULACI S APLIKAÈNÍMI P ÍKLADY M. Schlegel, P. Balda, M. tìtina Západoèeská niverzita v Plzni, ZAT a. s. P íbram Abstrakt V p íìvk je strènì popsána nová knihovna fnkèních blokù (C MEX) pro programov sstém SIMULINK a jeho nadstavb ERTT, RTW a dspace rèená pro realizaci vsoce kvalitních ídicích sstémù reglaèního tp. Základní zámìr p i vá ení této knihovn bla snaha sklobit rùznorodé in en rské po adavk se soèasn mi teoretick mi p ístp. Po ití blokù je ilstrováno na standardních reglaèních úlohách (kroková, programová, kaskádní, selektorová, adaptivní reglace). Úvod Simlink je pravdìpodobnì nejroz í enìj í nástroj pro v voj a testování nov ch algoritmù v oblasti ízení procesù. Zcela v sadní postavení má v tomto smìr na niverzitách. Dík jeho nadstavbám RTW (Real Time Workshop) a dspace (dspace GmbH), které mo òjí atomatick generovat stiteln kód na pamì ovì limitovaném hardwar, postpnì proniká i do reáln ch prùmslov ch aplikací. Naznaèená technologie v voje pokroèil ch ídicích sstémù zalo ená na Simlink navíc sni je propast mezi akamick m v zkmem a prùmslem. Teoretici, pracjící na v zkm nov ch algoritmù ízení procesù, se nemsí zab vat konkrétním cílov m hardwarem, ale staèí, kd své algoritm p evedo do podob knihovn fnkèních blokù (Blockset) pro Simlink. Jejich dal í prùmslové v ití je pak ji témì atomatizováno. Cílem tohoto p íìvk je strènì popsat novì vo eno knihovn C MEX fnkèních blokù pro prùmslovo reglaci. Hlavní zámìr p i jejím v voji bla snaha sklobit rùznorodé in en rské po adavk se soèasn mi teoretick mi p ístp [].Pomocí fnkèních blokù z této knihovn je mo né kvalitnì realizovat nejen v echn standardní reglaèní obvod takové, jako ohodnotová, ojitá, kroková, kaskádní, selektorová, programová reglace, ale i pokroèilé ídicí sstém s atomatick m nastavováním parametrù reglátorù, s variabilní strktro (p epínání tp a parametrù reglátor), s fzz reglací a se zcela eciálními jednoúèelov miß algoritm, realizovan mi volnì programovateln m blokem v jazk C. 2 Knihovna blokù V tomto oddíl se zmíníme o nejv znamnìj ích blocích novì vo ené knihovn. Vìt ina tìchto blokù je za azena do podskpin blokù pro prùmslovo reglaci RegLib. Mlèk se p edpokládá, e p i vá ení ídicího sstém návrhá po ije té blok ze eciálních skpin AnalLib, MathLib a LogicLib a SpecLib, vo en ch té ator tohoto p íìvk, a nebo standardní diskrétní blok Simlink. Podrobnìji popí eme poze blok PID reglátor (), jeho variant s p epínáním parametrù (PIDGS) a s reléov m atotnerem (PIDAT) a volnì programovateln blok (LANG) ze skpin SpecLib. U ostatních blokù, po it ch v dále ven ch p íklach, naznaèíme poze jejich základní fnkci.
2 3 4 DN G+ G Tm Tt x0 s 0 hilim lolim F 0 5 Obrázek : Podrobná fnkce blok MCU 2. MCU Jednotka pro rèní zadávání DN MCU V lokálním re im ( = ) je blok MCU rèen k rèním zadávání v stp pomocí tlaèítek víceß (vstp ) a ménìß (vstp DN). Strmost nají dìní z poèáteèní hodnot 0 na ádano hodnot je rèena integraèní èasovo konstanto tm a dobo stlaèení ovládacích tlaèítek. Po plntí ka d ch ta seknd je strmost v d násobena faktorem q, a do vpr ení dob tf. Rozsah v stp mù e b t omezen (F = ) satraèními mezemi lolim a hilim. V p ípadì, e ádné z tlaèítek není stlaèeno ( = 0 a DN = 0), vsledje v stp vstpní hodnot. Rchlost vsledování je dána integraèní èasovo konstanto tt. V p ípadì = 0 je vstp s p ípadn mi omezeními (F = ) kopírován na v stp. Podrobná fnkce blok je p ímo patrná z obr.. 2.2, PIDGS PID reglátor, PID s p epínáním parametrù ip vp kp PIDGS Blok je základní blok pro vo ení úplného reglátor PID (P, I, PI, PD, PID, PI+S). V nejjednod ím p ípadì mù e pracovat zcela samostatnì a plnit standardní fnkci PID reglátor s ìma stpni volnosti, v atomatickém ( = 0) nebo manálním re im ( = ). V atomatickém re im v lineární oblasti realizje zákon ízení dan vztahem h U = ±K bw Y + T i s E + T d s T d s=n + (cw i Y ) + Z k U(s) je obraz akèní velièin, W (s) jeobraz po adované hodnot, Y (s) je obraz reglované velièin, Z(s) je obraz dop edné vazb a K, T i, T d, N, b, c jso parametr reglátor. Znaménko pravé stran je finováno parametrem RACT, rèjícím smìr pùsobení akèní velièin na reglovano velièin (RACT = 0: vìt í! vìt í ; RACT = : vìt í! men í ). Rozsah v stp je omezen satraèními mezemi lolim a hilim. Propojením v stp se vstpem a vhodno volbo parametr tt dosáhneme ádaného chování reglátor p i dosa ení satraèních hodnot. Odstraníme tak ne ádocí ná ení integraèní slo k (wind p effect) a soèasnì s tím zajistíme bezrázové p epínání (bmpless transfer) atomatického a manálního re im. V manálním re im je vstp (po p ípadném omezení) kopírován na v stp. Signál p ipojen na vstp zaji je v tomto re im p ísl né vsledování vnit ního stav reglátor pro následné bezrázové p epntí do atomatického re im. Fnkce blok je dob e patrná z vnit ního schémat, zobrazeného na obr. 2. Blok PIDGS se li í od blok poze tím, e má 6 kompletních sad parametrù, které je
RACT 2 b + K 3 c RACT + KTd.s Td/N.s+ RACT + K Ti Tt s AUT 2 3 4 5 6 Obrázek 2: Vnit ní schéma blok mo né p epínat bï celoèíseln m vstpem ip nebo analogov m vstpem vp podle zadan ch p epínacích mezí. 2.3 PIDAT PID reglátor s atotnerem TUNE TBRK TBSY TE ite pk pti PIDAT ptd pnd pb Blok PIDAT má zcela stejné reglaèní fnkce jako blok. Navíc je vbaven fnkcí atomatického nastavování parametrù reglátor. Pro v ití této fnkce je ntné p evést ízen sstém do p ibli nì stáleného stav (ve vhodném pracovním bodì), zvolit po adovan tp reglátor (PI nebo PID)a aktivovat vstp TUNE hodnoto (start intifikaèního experiment). V následném intifikaèním experiment je ízen proces reglován pomocí eciálního adaptivního reléového reglátor a ze získaného záznam vstp a v stp proces je odhadnt vhodn bod jeho frekvenèní charakteristik. Na základì toho jso poté rèen parametr reglátor. Amplitd reléového reglátor (úroveò vbzení sstém) je mo né nastavit parametrem amp a jeho hsterezi parametrem hs. Zvolíme-li hs = 0, potom se hstereze relé rèí atomatick na základì odhad úrovnì m mì ení reglované velièin. Bìhem intifikaèního experiment je TBSY =. Po ádném skonèení experiment je TE = 0 a vpoèítané parametr se objeví na v stpech pk, pti, ptd, pnd, pb. Skonèil-li experiment s chbo je TE = a ite blí e ecifikje dùvod chb. P i v skt chb se doporèje zvìt it parametr amp. Jeho volb snadòje zabdovaná fnkce, která parametr amp atomatick zmen je p i hrozbì p ekroèení maximální dovolené odchlk maxv reglované velièin od jejího poèáteèního stáleného stav. Intifikaèní experiment je mo né p edèasnì konèit aktivací vstp TBRK.
2.4 LANG Volnì programovateln blok HALT 0 2 3 4 5 6 7 8 9 0 2 3 4 5 LANG err 0 2 3 4 5 6 7 8 9 0 2 3 4 5 V nìkter ch p ípach se mù e stát, e je do ídícího algoritm ntné implementovat fnkci, ktero nelze z dostpné mno in blokù vo it (pop. to sice lze, ale komplikovanì a neefektivnì). Proto bl vvint blok LANG, kter implementje kód naprogramovan ivatelem v jazk, sntaktick velmi podobném jazk C (nebo JAVA). Napojení na vstp 0 a 5 a v stp 0 a 5 mo òjí nová klíèová slova inpt a otpt. Vstp HALT mo òje zastavit periodické o tìní algoritm blok, v stp err indikje kód chb v poèt. Zdrojov sobor algoritm lze vo it v libovolném textovém editor a jeho jméno vést v parametr srcname. V echn bì né konstrkce po itého jazka jako jso v raz, p i azovací p íkaz, p íkaz if, switch, for, while, apod. mají sntaxi toto no se sntaxí jazka C. Ve v razech lze pracovat s jednorozmìrn mi poli hodnot (vektor) a po ívat v echn bì né matematické fnkce (abs, sqrt, sin, exp, pow, atd.), dal í eciální fnkce pol (v poèet hodnot polnom), conv (v poèet konvolce), scal (skalární soèin), min, max, smm, avg (minimální a maximální hodnota, soèet a prùmìr z libovolného poèt hodnot). Jso z v ak i nìkterá omezení oproti jazk C: není implementován preprocesor, jso podpo en jen tp doble a long (lze po ít i int, short, které se internì zpracovávají jako long, a float, kter se internì zpracovává jako doble), není implementován tpef, kazatele (pointer) a strktr. 2.5 Ostatní blok po ité v p íklach Následjící tablka vádí název a strèn popis ostatních blokù, po it ch v p íklach zod- díl 3. PRGM Programátor po adované hodnot SELU Selektor pro realizaci selektorové reglace SWU Selektor pro v bìr sledované velièin SCU Krokov reglátor ventil SCUM Krokov reglátor ventil bez polohové zpìtné vazb FLCU Fzz reglátor MVD Mol ventil s pohonem SSW Jednodch p epínaè Satrace s ízen mi mezemi RLY Relé s hsterézí ARLY Relé s p edstihem LC Derivaèní kompenzátor LLC Integraènì-rivaèní kompenzátor MDL Mol ízeného sstém INTE Integrátor SPIKE Nelineární filtr pro odstranìní krátk ch pièek ze signál DER Derivace, predikce, filtrace signál LPF Dolnopropst BPF Pásmová propst AVG Vleèn prùmìr RLIM Omezovaè strmosti DEL, DELM Mol dopravního zpo dìní CMP Komparátor
3 P íklad po ití blokù V tomto oddíl jso ven obrázk p íkladù po ití blokù z knihovnvtpick ch reglaèních obvoch (obr. 3 a ). Tmavì (mod e) vplnìné blok v nìkter ch p íklach jso z jen pro ilstraci, ve skteènosti p edstavjí mol ízeného sstém. Na posledním obrázk 2 je kázka zdrojového text blok LANG. Remote SP Feedforward /AUT Remote MV DN MCU_SP LLC DN MCU_MV SP MV 2 SW SSW Maniplated Variable Deviation Error Satration Flag Obrázek 3: Úplné zapojení PID reglátor se zadávacími jednotkami Parameter Set Inx Switching ip vp kp Maniplated Variable Crrent Parameter Set Inx PIDGS If GSCF=0 then Parameter Sets are switched b the vale of Parameter Set Inx else b Switching Obrázek 4: Po ití reglátor s p epínáním sad parametrù RUN DEF v HLD CON ind trt RPT isc tsc tt rt CNF ERR PRGM Maniplated Variable Obrázek 5: Programová reglace
2 SUB Maniplated Variable 2 SUB MDL_PM Process Mol MDL_CPM Process Mol withot Dead Time Obrázek 6: Reglátor se Smithov m prediktorem Tner Start Tner Stop TUNE TBRK TBSY TE ite pk pti ptd pnd pb PIDAT PID Atotner Maniplated Variable Tner BUSY Tner Error Error Nmber Controller Parameters obtained b Tner Obrázek 7: Po ití PID reglátor s vestavìn m atotnerem Position Feedback Signal /AUT Valve Drive HS LS DN M MDN SCU HS DN LS MVD Motorized Valve Drive Process Vale MDL Process Obrázek 8: Kroková reglace ventil s polohovo zpìtno vazbo /AUT Valve Drive HS LS DN M MDN SCUM HS DN LS MVD Motorized Valve Drive Process Vale MDL Process Obrázek 9: Kroková reglace ventil bez polohové zpìtné vazb
Remote DN MCU_SP2 [PV2] [] [] [2] c o OR SWU2 DN MCU_SP [] [SP] c o OR SWU Secondar [PV] [UC2] [] [] [] c o OR SWU DN MCU_MV2 [PV2] [2] [PV] [SP] [] 2 Primar Controller 2 SW SSW [UC2] [PV] [] DN MCU_MV Obrázek 0: Kaskádní reglace Secondar Controller MDL Process [] MDL2 Process 2 [PV2] Proces Variable 2 DN MCU_SP [MV] [] DN MCU_SP2 [] [CON] DN MCU_MV [2] [CON2] c o OR SWU c o OR SWU2 [SWITCH] 2 U 3 4 U2 isw U3 SW SW2 U4 SELU [MV] [CON] [CON2] Maniplated Variable Crrent controller is termined b the signal SWITCH. If the controller (2) is active then CON=0 (CON2=0). 2 [MV] [2] DN MCU_MV2 2 Obrázek : Selektorová reglace
/* Simlace FIR filtr */ inpt(0) doble vstp; //promenna 'vstp' predstavje hodnot 0 otpt(0) doble vstp; //promenna 'vstp' predstavje prirazeni do 0 doble x[5]; //stavove pole doble h[5]; //koeficient vahove poslopnosti const long max=5; long init() //prirazeni koeficient h[0]=0.5; h[]=.0; h[2]= 3.0; h[3]=.0; h[4]=0.5; retrn 0; } long main() long i; doble socet=0; for(i=0;i<max-;i++) stav[i]=stav[i+]; } if(fabs(vstp)>) stav[max-]=(vstp>0)? : -; else stav[max-]=vstp; } for(i=0;i<max;i++) socet+=stav[i]*param[max--i]; vstp=socet; retrn 0; long exit() retrn 0; } Obrázek 2: P íklad zdrojového sobor blok LANG
4 Závìr V p íìvk bl strènì popsán nìkteré vbrané blok z knihovn blokù pro prùmslovo reglaci. V soèasné dobì knihovna obsahje více ne 00 rùzn ch drhù fnkèních blokù, které mo òjí realizovat nejen algoritm reglaèního tp, ale i podpùrné algoritm logického tp vèetnì sekvenèních atomatù a fzz logik. Koncepce knihovn mo òje postpné roz i ování a modifikaci ídicích algoritmù tak, jak to po adje in en rská praxe. Fnkèní vlastnosti knihovn bl úì nì ovì en na praktické prùmslové aplikaci ízení vodní trbín. Reference [] Aström, K. J. Hägglnd, T.: PID Controllers: Theor, Design and Tning. Instrments Societ of America, Research Triangle Park, NC, second edition, 995. Milo Schlegel, Západoèeská niverzita v Plzni, Univerzitní 8, 306 4 Plzeò, schlegel@kk.zc.cz Pavel Balda, ZAT a. s. P íbram, pracovi tì Plzeò, Vejprnická 56, 38 02 Plzeò, pavel.balda@eas-ctrl.cz Milan tìtina, ZAT a. s. P íbram, pracovi tì Plzeò, Vejprnická 56, 38 02 Plzeò, milan.stetina@eas-ctrl.cz