PID compact V2 v S7-1200, nastavení a ladění PID regulace

  • neděle, 24 červenec 2016 10:21

Jak na PID regulátor v PLC Simatic? Ukážeme si základní nastavení a taky automatické naladění. Ne sice ve skutečné aplikaci, ale naopak hezky na stole, abychom si to v klidu vyzkoušeli. Na videoukázce uvidíte, jak si regulátor s autotuningem poradí.

Tentokrát se nebudeme věnovat skutečné aplikaci a jejímu řízení s pomocí PID regulátoru v PLC, ale ukážeme si, jak celý regulátor vyzkoušet a naladit na stole. Hlavní je se naučit s regulátorem pracovat, vyzkoušet si jak automatické ladění spustit, abychom na vše nemuseli přicházet až na místě skutečné aplikace.


Celou simulaci, nebo spíše regulaci, umožnila pro CPU periferie TB20 s analogovými vstupními a výstupními moduly, použité jednoduše na propojení regulační odchylky a zpětné vazby PID regulátoru. Nechytejte se za hlavu jak je to atypické, pro účel tréninkové aplikace tohle ovšem funguje dokonale.

pid1200 01


Analogové moduly nejsou stejné, výstupní napěťový 10V a vstupní 24V, proto bude tato hodnota v PLC trochu překalibrována.

pid1200 02


Vůbec nejdříve si ale musíme uvědomit, co to vůbec PID regulátor v PLC je. My starší pamatujeme tyto regulátory realizované třeba operačním zesilovačem, zavazbeny odpory a kondenzátory. Nyní v PLC probíhá vše na bázi matematického výpočtu, ale ostatní věci zůstávají stejné. Tedy každý regulátor má vstup pro žádanou hodnotu regulované veličiny, dále vstup pro zpětnou vazbu a výstup regulační odchylky, který řídí již třeba topení, rychlost nebo polohu. Regulátor může být se spojitým výstupem, což je náš případ, nebo digitálními výstupy použitelnými například pro samostatné ventily topení a chlazení. A další a další aplikace. Tento regulátor je přímo z helpu TIA portal a budeme si na něm vše ukazovat. Zcela jistě si obrázek z helpu vytiskněte, budete jej potřebovat každou chvilku. Jsou na něm přesně vidět názvy žádané hodnoty - setpoint, zpětné vazby, ovládání a výstupy. Z uvedeného popisu v helpu zjistíte, že žádaná hodnota je proměnná ve formátu REAL, zpětná vazba může být REAL nebo INTEGER, záleží na přepnutí. Obdobně na tom jsou výstupy. Je zde také výborná věc a to manuální režim, při kterém je velikost výstupní proměnné rovna vstupní  "ManualValue", ideální věc pro vyzkoušení výstupu.
Klikněte na obrázek pro zvětšení

pid1200 03b


Samotný regulátor v PLC je funkční programový blok, který se nevyvolává v PLC programu cyklicky z OB1, ale v přesně definovaném čase z cyklického přerušení. Tento blok OB202 je vykonáván každých 100ms a do něj umístíme náš PID.

pid1200 10


V této firmwarové verzi CPU máme z technologických funkcí k dispozici PID_Compact a pak PID_3step, což je třístavový regulátor s digitálními výstupy. Ty si ukážeme někdy příště, nyní nás zajímá PID_Compact, který do OB202 přetáhneme jednoduše myší. Důležitá je taky samotná verze PID, tato 2.2 již fachčí , starší modely měly svoje mouchy, například zaseknutí se regulátoru v dolní nebo horní poloze a k znovuobnovení funkce musel být proveden restart. Tyhle regulátory jsou z verze 4.0, ve verzi 4.1 firmware CPU a TIA V13+SP1 najdete i další možnosti.

pid1200 11


Jak jsme uvedli, PID regulátor je funkční blok FB1130 s instančním datovým blokem DB202. Vše tvoří technologický objekt, datový blok tohoto objektu si prohlédněte přes nabídku pravého tlačítka myši.

pid1200 12


Vypadá pak nějak takto a pro další funkci si můžete  vytvořit vlastní ovládací datablok, kde budou jen používané funkce s vlastním komentářem ke skutečné aplikaci. Nebo taky ne, a spokojíte se s ovládáním přes tento DB.
Klikněte na obrázek pro zvětšení

pid1200 13b


Takto vypadá PID regulátor v OB202, na jeho vstupy a výstupy máme připojen náš vlastní datový blok DB203.
Klikněte na obrázek pro zvětšení

pid1200 14b


Pokud si regulátor prodloužíte, objeví se ještě další ovládání regulátoru. To ovšem můžete kontrolovat přímo přes datový blok. Záleží na konkrétním programátorovi, co je mu bližší.

pid1200 15


Technologický objekt PID regulátor má pouze dvě nastavovací funkce, konfiguraci a uvádění do provozu. Konfigurace je možná také přes zmiňované datové bloky.
Klikněte na obrázek pro zvětšení

pid1200 20b


Uvnitř regulátoru se přes konfiguraci dá nastavit spousta funkcí, není ale nutné se nějak bát, je to vše i graficky zobrazeno, navíc většinu nastavení můžete nechat na defaultních hodnotách. Například měřítka žádané a skutečné hodnoty.
Klikněte na obrázek pro zvětšení

pid1200 21b


Ale pozor, na PID regulátoru jsou nejdůležitější hodnoty jeho zavazbení, tedy zesílení, integrační a derivační konstanty atp. Tohle je to jediné klíčové nastavení. Rozsahy nastavení všech proměnných jsou tak široké, že je velmi obtížné pro konkrétní aplikaci nastavít ideální hodnoty ručně. Tyto defaultní sice taky nějak pojedou, ale ke skutečné regulaci to může mít velmi daleko. Proto je důležité automatické ladění, kdy si regulátor sám bude zkoušet nějak regulovat a z odezvy si spočítá vhodnou velikost proměnných, obdobně jako třeba u optimalizace měniče pohonu. Uvidíme dále a také na videoukázce.

pid1200 22


Nejprve je nutné se vyzkoušet ovládání režimu PID regulátoru. Ten může být buď nečinný, ve stavu ladění, v automatickém provozu a taky v ručním ovládání. Hodnotu proměnné podle druhu provozu si přeneseme do proměnné "Mode" a nástupní hranou bitu na vstupu "ModeActivate" ji zapíšeme do regulátoru. Ten se následně přepne do požadovaného módu. Jestliže zvolíme mód 4, tak jsme v ručním režimu a můžeme si vyzkoušet průchod proměnné přes PID regulátor bez regulace. Bude to jak jsme zmiňovali, co na vstupu to na výstupu.
Klikněte na obrázek pro zvětšení

pid1200 30b


Asi takto. Celé ovládání stačí v TIA portal realizovat jednoduše přes VAT tabulku proměnných. Přepínání režimu řádek 2 až 6, žádaná hodnota ručně řádek 8 a její výstup řádek 11 a 12. Je nutné si uvědomit, že proměnná REAL se pohybuje v rozmezí 0.0 .. 100.0 a proměnná INTEGER pak 0 .. 27648. Nahlédněte do blokového schématu PID, jak jsme si ukazovali na začátku.
Klikněte na obrázek pro zvětšení

pid1200 31b


Manuální mód PID online v PLC programu. Ruční hodnota proměnné 22.0 na vstupu je také na výstupu. Hodnota 6083 odpovídá velikosti 22.0.

pid1200 32


Pro automatický režim, tedy stav kdy regulátor bude regulovat, zadáme žádanou hodnotu do regulátoru v rozmezí 20.0% a 80.0%. Pomocným bitem přepneme zpětnou vazbu regulátoru na proměnnou INTEGER, neboť využíváme analogové vstupy a výstupy, které fungují na proměnnou v rozsahu 0 .. 27648.

pid1200 40


Automatický režim a změna žádané hodnoty z 20% na 80%, Mrkneme na to, co udělá výstup regulátoru.
Klikněte na obrázek pro zvětšení

pid1200 41b


Nějak nám PID reguluje, k ideálu má tohle ovšem daleko, což nám nevadí, v podstatě nějak regulujeme a to vše při defaultních hodnotách PID parametrů. Nám jde přece jen o to, abychom si vyzkoušeli nastavování a automatické ladění a ne o ideální regulační křivky. Tak a teď si klidně zkoušejte měnit ručně PID konstanty a uvidíte, jak Vám začne regulace kmitat, nebo vůbec nepůjde. Prostě ručně to těžko do nějakých slušných hodnot dostanete. Automatický tuning bude nezbytný.

pid1200 42


Commissioning neboli uvádění do provozu technologického objektu. Jedno okno kde se vše důležité odehraje. Regulátor musí být v režimu 3, tedy musí regulovat a pak stačí zapnout automatický tuning (ladění). První ladění trvá chvíli déle, další pak je podstatně rychlejší. Indikace průběhu v pruhu vlevo dole, stejně jako hlášení chyb, kdyby něco nešlo.
Klikněte na obrázek pro zvětšení

pid1200 50b


Ladění ukončeno, v rozšířeném oknu s grafy neboli trendy, můžete vidět průběh důležitých veličin. Na osciloskopu je to pro nás přece jen trochu srozumitelnější. Ale to nejdůležitější je pod tlačítkem vlevo dole "Go to PID parameters".
Klikněte na obrázek pro zvětšení

pid1200 51b


Uvedené tlačítko zobrazí změřené a dosazené hodnoty PID parametrů. Je vidět že proti defaultu se to dost liší, viz obrázek výše. Všechno tohle se odehrává online, data jsou uložena zatím jen v PLC, takže na závěr nezapomenout stáhnout do projektu a uložit, třeba s pomocí ikonek nahoře.

pid1200 52


Opět změna žádané hodnoty z 20% na 80%. Již to vypadá úplně jinak. Znovu připomínám, že není důležitý průběh, ale to že se vše nějak výrazně mění, reaguje na různé hodnoty PID parametrů a my se naučíme tuning používat.

pid1200 53


Další kolo ladění, které je již podstatně kratší. Celý proces můžeme opakovat kolikrát chceme, systém si ale pamatuje jen dvě poslední hodnoty. 
Klikněte na obrázek pro zvětšení

pid1200 60b


Nově změřené parametry PID, původní jsou ve spodních řádcích jako záloha. Moc se to již neliší, systém i napoprvé vypočetl podobné hodnoty parametrů.
Klikněte na obrázek pro zvětšení

pid1200 61b


Opět zkouška po druhém ladění, také průběh naznačuje, že rozdíl není podstatný. Znovu si vyzkoušejte ruční změnu PID parametrů a budete přesně vidět, která proměnná a na co má vliv.

pid1200 62a

Rozloučíme se videoukázkou a pořekadlem "těžce na cvičišti, lehce na bojišti" a příště si ukážeme regulaci jedním bitovým výstupem.
Pro připomínky použijte třeba komentáře dole pod článkem.


PID compact V2 in S7-1200, naše videoukázka.

https://www.youtube.com/watch?v=0bjGTvcAA4I&feature=youtube  

 

Jaroslav Blažek


Doplňující odkazy k článku: 

Druhý díl o PID regulaci v PLC S7-1200 je zde.

Třetí část PID regulace S7-1200 najdete tady.

Siemens popis PID v Simatic S7-1200 v pdf zde.

1 komentář

  • Odkaz Komentáře Zdeněk pondělí, 01 srpen 2016 10:19 napsal(a) Zdeněk

    Článek je bezva a moc Vám za něj děkuji. Právě poprvé řeším regulaci jen jedním bitem na výstupu PWM , tak by mě docela zajímalo kdy bude to "příště"? :-) A co je lepší pro regulaci elektrické pece co natápí docela dlouho - výstup PWM z PID_Compact, nebo z PID_Temp jen s částí heating? Má někdo zkušenost? Taky by dost pomohl podobný článek typu "nastavujeme parametry ručně" kdyby byl napsán trochu lidsky. Snadno se dá najít mnoho článků psaných ve stylu "jen ať to hlavně vypadá vědecky", ale nám méně vědecky založeným by pomohlo alespoň vysvětlení a přiřazení jednotlivých složek PID v TIA nastavení a vzorce pro jejich výpočet typu "potřebujete znát: počáteční teplotu, čas mezi počáteční a požadovanou teplotou a že je to např složka Ti v nastavení regulátoru, kam až vystoupá nad nastavenou, čas než se vrátí na požadovanou, kolik překmitů apod" => přiřadit k jednotlivým PID parametrům v TIA alespoň trochu konkrétní představu co je to a jak na zjištění hodnoty. Jestli se v něčem krutě mýlím, tak se omlouvám - laboruji poprvé :-) Děkuji

Pro psaní komentářů se přihlašte

Kontakt

email : blaja @blaja.cz
email reklama: info @blaja.cz
email adresy bez mezery 
před zavináčem

Jaroslav Blažek
Štěpánská 1888
755 01 Vsetín
+420 608 180 209