SIMATIC S7 standard PID control FB41 (CONT_C) teszt.

Step7 project (utolsó módosítás: 2006. január 26.)

Bemutatja a Step7 beépített PID szabályozójának működését.

A szabályozás lényege az, hogy egy mért fizikai mennyiséget (hőmérséklet, tartályszint, nyomás, áram, feszültség, fordulatszám, stb) egy előírt értéken akarunk tartani, miközben a mért mennyiséget külső tényezők befolyásolják. A szabályozó feladata az, hogy a befolyásoló tényezők hatásait kiegyenlítse. A szabályzó egy beavatkozó jel segítségével tud hatást gyakorolni a mért értékre.
Példa: Egy tartályban egy adott nyomásértéket kell tartani. A szabályzó egy bemenetére érkezik a tartályban mért nyomás értéke, egy másikra a beállított (tartani kívánt nyomás).
A szabályzó kimenete egy szelep nyitásával és zárásával tudja növelni a tartályba beáramló anyag mennyiségét, ami fokozza a benne lévő nyomást. A tartály nyomását a technológiai folyamatban elhasznált anyag csökkenti (fogyasztás). A szabályozó igyekszik a beavatkozó jelen keresztül a töltő szelep állításával  a nymást a beállított értékhez legközelebb tartani. A szabályzás visszacsatolását a beavatkozójel mért értékre való visszahatása adja.
A PID a szabályozók egy elterjedt fajtája. Ipari folyamatirányításban gyakori az alkalmazása, így a Step7 alapkönyvtárában is szerepel PID funkciót megvalósító funkcióblokk. Ez a Step7 példaproject igyekszik szemléltetni a működését, hogy segítse a gyakorlati felhasználást.

A PID szabályozó PC-n szimulálható, amennyiben rendelkezésre állnak az alábbi Simatic szoftverek:
A szabályozó minden bemenő és kimenő paraméterét a ProTool RT segítségével futtatott OP270 ProTool projecten keresztül grafikus felületen megjeleníti és lehetővé teszi a bemenő paraméterek módosítását. A szabályozó főbb kimenő paramétereit grafikonon megjeleníti.
A szimuláció nem tartalmazza a visszacsatolást, tehát a szimulációban szereplő PID szabályozó beavatkozójelének a változása nincs hatással a "mért" értékre. A mért értéket, mint mennyiséget kézzel, egy csúszka segítségével nekünk kell állítani.
A visszacsatolás hiánya miatt ez a szimuláció nem képes szemléltetni a PID szabályzók igen gyakori problémáját, a szabályzó belengését! Ezért ugyanez a PID funkcióblokk élesben a körülményektől függően máshogy működik mint ebben a szimulációban. A szimuláció lényege az, hogy ki lehessen próbálni a funkcióblokk paramétereinek hatását a szabályzásra.
A project futtatható valós PLC-n is a fejlesztői PC-n futtatott ProTool RT mellett (vagy akár valós OP270-en is természetesen). Így akár tényleges szabályzást is meg lehet valósítani vele, akkor már igazi visszacsatolt szabályozóként fog működni.

A PID-ről röviden:

A P szabályozás

P szabályozás (vagy proporcionális, azaz arányos szabályozás) esetén a kimenet arányosan közelít a bemenethez a mért érték és az alapjel különbségéből létrehozott különbségi jel szerint. Ez a különbségi jel a hibajel.
Ez a hibajel áthalad egy holtsáv generátoron (DEADBAND) A holtsáv generátor egy paraméterben megadott szélességű tartományon belül a kimenetén nem engedi megváltozni a hibajelet (a holt sáv nullára állításával ez a funkció kiiktatható).  Így a mért érték (ill. a hibajel) apró változásait kisimítja. Ezután a hibajel egy erősítő tagon halad át, az erősítő (GAIN) erősítése után keletkező érték lesz a beavatkozó jel. A P szabályozó kimenetén tehát a felerősített hibajel jelenik meg.

                            
Ha a hibajel erősítését túlságosan nagyra választjuk, akkor a szabályozás hajlamossá válik a belengésre, vagyis a mért érték az alapjel környékén fog ingadozni. Ha a holt sávot választjuk túl nagyra, akkor a szabályozás nem lesz képes a mért értéket az alapjel környékére hozni, mivel csak nagy eltérés hoz létre hibajelet így a rendszer pontatlanná válik (és az ofszet hiba megnő).
Mivel a beavatkozó jel mértéke az alapjel és a mért érték közötti különbséggel arányos, így nullánál nagyobb beavatkozójelhez mindenképpen szükség van az alapjel és a mért érték eltérésére, ami ofszet hibát okoz, vagyis P szabályozásnál a mért érték tartósan soha nem lesz azonos az alapjellel csupán megközelíti azt.

PI szabályozás

A proporcionális és az integrál szabályozás együttes alkalmazásával az ofszet hiba lecsökkenthető. Az integráló tag a hibajelet "gyűjti" és állandó hibajelet feltételezve a kimenetét egyre növeli. Ha a hibajel nő, akkor a kimenetén a növekedés felgyorsul. Ha a P szabályozó kimenetéhez hozzáadjuk az integráló
tag kimenetét, akkor az a beavatkozójelet egy adott időn belül (a hibajel által okozott, folyamatosan növekvő kimenete miatt) addig változtatja, amíg a mért érték el nem éri az alapjelet. Igy a P szabályozó ofszet hibáját megszünteti.
Az integráló tag fontos paramétere az integrálási idő (TI), vagyis az az idő, amennyi idő alatt a "gyűjtögetett" hibajel  egységnyi változáson megy át, vagyis az I tag kimenetén létrejövő változás meredeksége (változás sebessége) adott hibajel esetén. Ha az integrálási idő túl kicsi, akkor már kis hibajel is drasztikus beavatkozást eredményez, ami a beavatkozó jel gyors változása miatt túlszabályozást okoz, így a szabályozás beleng. Ha az integrálási idő túlságosan nagy, akkor a proporcionális tag ofszet hibáját csak lassan kompenzálja ki az I tag, a mért érték hosszú idő alatt éri el az alapjelet. A lassú beállás megismétlődik minden zavaró tényező behatásakor.
Ha a mért érték és az alapjel jelentősen eltér egymástól (pl. egy drasztikus külső zavaró jel hatására vagy a rendszer indításakor) az integráló tag túllövést okoz. A proporcionális és integrál szabályozás együttes alkalmazása a PI szabályozás.

PID szabályozás

A túllövést egy differenciáló tag beiktatásával lehet elkerülni (illetve rosszul beállított D taggal fokozni :). A dif. tag továbbá javítja a szabályozó kör reagálási sebességét is.
A differenciáló tag nem törődik a hibajel nagyságával. A hibajel változásának sebességével arányos beavatkozójelet produkál a kimenetén. A D tag kimenetén a változás előjele a hibajelváltozás irányával ellentétes. Ennek köszönhetően ha a mért érték változni kezd a differenciáló tag jóvoltából a változást a szabályozó azonnal igyekszik kompenzálni. A D tag fontos paramétere a deriválási idő (TD). Ha ezt az időt túl rövidre választjuk, akkor már lassú hibajel-változás is jelentős beavatkozást okoz, ami túlszabályozáshoz vezet. Ez szintén belengetheti a szabályozókört. A D tag másik paramétere a beállási idő (TM_LAG). Ez az idő határozza meg a D tag kimenetének "lecsengését" amikor a hibajel már nem változik tovább.

A PID szabályozó három tagjának beavatkozójele összeadva kerül a szabályozó kimenetére, ebből alakul ki a beavatkozó jel. A három tag (P, I, D) külön külön ki és be kapcsolható és paraméterezhető.

Az összegző után egy kézi/automata átkapcsolóval lehet kézi üzemmódban egy meghatározott (fix) mennyiséget adagolni. A limiter feladata, hogy a beavatkozójelet egy minimum és egy maximum paraméter által meghatározott sávon belülre kényszerítse. Ha valamelyik limitet a beavatkozójel eléri, a limiter egy-egy kimeneten keresztül jelzi azt (ilyenkot a szabályozás teljesen ki van vezérelve és a szabályozó működése leáll).
A limiterből a beavatkozó jel a normalizerbe kerül, ahol egy erősítési tényező (szorzó) és egy ofszet érték hozzáadása után kerül a kimenetre. A normalizerrel lehet a beavatkozójelet a beavatkozó szerv számára megfelelő tartományba hozni.

Érdemes elolvasni a témában Füle Sándor cikkét a PID.hu-n

Az S7 projectfile

A megjelenített blokkvázlat és a paraméterezés (paraméterek neve) a PID eredeti leírása alapján készült. (Standard Software
for S7-300 and S7-400 PID Control [Telepített Step7 mellett ez valahol itt található: \Siemens\Step7\S7MANUAL\s7pidcoa\S7pidcob.pdf]).
Ennek a leírásnak a tanulmányozása ajánlott.
A PID vezérlő gyári blokkvázlata az alábbi:



Az OP270 projectben megjelenő vázlat a gyári blokkvázlat egyszerűsített változata.
A blokkvázlaton a P_SEL, I_SEL, D_SEL, PVPER_ON, MAN_ON kapcsolók működtethetők.



A paraméterek 4 külön oldalon kaptak helyet, mindegyikhez rövid magyarázat és OP help szöveg is tartozik.
A paraméterek nevei és csoportosítása a blokkvázlat szerinti.





A PID szabályozó működésének nyomon követést grafikon segíti.
A könnyebb kezelhetőség érdekében a fontosabb PID paramétereket a grafikon képernyőjén is lehet állítani (lásd a kép felső részét).
A mért érték változásait egy slider objektummal, kézzel állítgatva szimulálhatjuk.








A ProTool project összesen hét képernyőképet tartalmaz:



A változók (tag-ek) neve megfelel a PID vezérlő gyári leírásában szereplő paraméterek elnevezéseinek:



Az S7 project egy S7-300 CPU3152DP típusú CPU-ra épül. A PID vezérlőt az OB35 cycle time interrupt hívja meg szabályos időközönként (100ms).



A teljes S7 project tulajdonképpen csak a PID felparaméterezéséből és meghívásából áll.
Az OB1 tartalmaz még egy pár soros STL kódot, ami az OP slider objektumának értékét eljuttatja a PID PV_IN bemenetére.


Néhány tipp:

A Step7 projectfile letölthető innen: PID1_6.zip