PLC v praxi – Receptury v TIA Portal WinCC

Receptury jsou nedílnou součástí světa automatizace. Přichází ke slovu zpravidla u takových strojů, které zpracovávají či vyrábí více druhů produktů. Výrobní odlišnosti logicky vyžadují také odlišné konfigurace strojů. Receptury v automatizaci jsou v podstatě to samé co recepty v babiččině kuchařce. Tj. soubory parametrů, které popisují typ či poměr přísad a postupy potřebné k získání finálního produktu, například jablečného štrůdlu.

Na začátek zmíníme několik možností řešení receptur:

1. Receptury jsou uloženy v PLC

  • vhodné pro aplikace s menší datovou náročností,
  • řešení nechává poměrně volnou ruku z hlediska funkcí,
  • lze použít s libovolnými vizualizacemi, i s těmi, které přímo receptury nepodporují.

2. Úložiště receptur je v HMI panelu

  • běžné řešení u strojů řešených kombinací PLC + HMI,
  • HMI panel slouží jako databázové úložiště,
  • funkce receptur je k dispozici zpravidla u většiny schopnějších operátorských panelů,
  • v návrhových programech bývají již připravené vizualizační prvky, pro snadnou implementaci.

3. Receptury jsou součástí nadřazeného systému

  • obvyklé řešení v případě komplexních výrobních celků,
  • tam, kde je výroba řízena centrálně a jednotlivé celky pouze přijímají sady dat, které se jinak vůbec nevyskytují v daném stroji (ani v PLC či HMI).

 

Obsluha receptur v prostředí TIA Portal Step7 a WinCC

Jak již bylo uvedeno, budeme se blíže věnovat variantě č. 2 – čili kombinaci PLC a HMI, kde vizualizační rozhraní slouží jako úložiště receptur. Celý postup bude prezentován pro PLC a HMI panely značky Siemens. Jako praktická ukázka poslouží samostatná sušící zóna myčky čelních autoskel. Stroj si lze představit jako průběžný dopravník, na kterém jsou přepravována čerstvě umytá a mokrá autoskla. Ta jsou zde osušena proudem vzduchu z několika řad trysek (podobně jako v automyčce, ale z důvodu dalšího zpracování zde není tolerována jakákoliv vlhkost na sklech).

Klíčové parametry receptury jsou:

  • rychlost sušicích ventilátorů (4×),
  • poloha levých a pravých sušících trysek (2×), kvůli rozdílným průhybům skel,
  • poloha škrticích klapek pro regulaci průtoku sušicího vzduchu (1×).

Pro pochopení systému receptur je nám celkem jedno, na kterém stroji jej použijeme, ale vždy se lépe prezentuje na něčem skutečném.

Vytvoření datového rozhraní receptur v PLC

Předání recepturních dat do PLC se děje přes datové rozhraní, které musíme nejprve vytvořit na straně PLC. Nejedná se o nic jiného než sadu proměnných, do kterých nám bude HMI zapisovat všechny parametry z receptur. Jako rozumné řešení se jeví vytvoření datového bloku se strukturou receptury. Pokud si navíc recepturu vytvoříme v PLC jako datový typ, můžeme jej v případě potřeby použít i jinde. Například při předávání celých receptur. Dále si ve vytvořeném bloku můžeme definovat různé pomocné proměnné, které se nám mohou v budoucnu hodit. Může to být například číslo receptury, příznaky k nastavení stroje podle nových dat apod. V našem případě máme v datovém bloku definováno celkem 7 proměnných. 4× typ integer (rychlost ventilátorů), 2× real (poloha trysek) a 1× bool (stav klapek otevřeno/zavřeno). Pro rychlost ventilátorů používáme celočíselné hodnoty bez desetinného místa, nabývajících hodnot 30–100 % (100 % jsou nominální otáčky ventilátoru). Pro polohy sušicích trysek se používá reálné číslo 0–300 mm. A nakonec poloha škrticích klapek je pouze dvoustavová, čili 1 – otevřeno, 0 – zavřeno. Strukturu receptury v PLC nám ilustruje obrázek 1.

Obr. 1: Příklad datová struktury pro recepturu v PLC

 Definice struktury receptur v HMI panelu

Jakmile máme vytvořené rozhraní pro předávání receptur, můžeme postoupit k definování všeho potřebného na straně HMI. To se provádí v sekci Recipes, kterou lze nalézt ve stromu projektu pod daným HMI (panel musí samozřejmě receptury podporovat, v konkrétní aplikaci používáme panel TP1500 Comfort). V panelu můžeme mít dokonce několik sad receptur a každá může obsahovat libovolné parametry. To se hodí například, je‑li HMI společné pro více strojů, či pokud jedno PLC řídí více, na sobě nezávislých, strojových celků. My si zde vystačíme s pouze jednou sadou receptur.

Obr. 2: Definice receptury v HMI panelu

Začneme přidáním a pojmenováním sady receptur (například zcela nečekaně Recipe_1) a dále zvolíme úložiště, tj. kam bude panel fyzicky ukládat recepturní databázi. Na výběr je zpravidla vnitřní úložiště panelu (flash), USB úložiště nebo některá z možných paměťových karet (SD, dříve i CF). Výhodnější se jeví použití vyměnitelných paměťových karet, které lze snadno zálohovat a zároveň tolik nelákají nenechavce k vyjmutí jako zasunutý USB flash disk. Nezanedbatelným plusem je i to, že v případě selhání systému v panelu jsou data stále volně dostupná na kartě. Dalším krokem je naplnění receptury požadovanou strukturou proměnných, které máme již vytvořené na straně PLC. Každou položku receptury (element) můžeme přizpůsobit několika parametry. Ty nejzajímavější jsou zhruba tyto:

  • Name – slouží jako vnitřní unikátní identifikátor
  • Display name – pod tímto názvem se bude položka zobrazovat v editoru receptur
  • Tag – zde odkazem napojíme odpovídající proměnnou ve výše popsaném datovém bloku, který slouží jako rozhraní
  • Text list – zde lze využít předem definovaný textový seznam, který poslouží například k intuitivní vizualizaci binárních hodnot (v našem případě text list s hodnotami 1 = open, 0 = closed)
  • Default value – výchozí hodnota, která bude nastavena po vytvoření prázdné receptury
  • Decimal point – počet desetinných míst u numerických proměnných
  • Tooltip – nápověda, která se zobrazí v editoru po vybrání položky

Kompletní definici receptury vidíme na obrázku 2. Po přidání požadovaných parametrů je třeba recepturám vdechnout život z pohledu vizualizace.

Vizualizace receptur a rozhraní pro obsluhu

Pro správu a vizualizaci databáze receptur v HMI máme již od Siemensu připravený editor, který lze nalézt v knihovně vizualizačních komponent. Nachází se mezi prvky Controls pod názvem Recipe view (v sousedství lze narazit například na Alarm View, Trend View, PDF View…). Editor zcela jednoduše vložíme do požadované obrazovky vizualizace a přizpůsobíme velikost objektu konkrétním potřebám. Jak vypadá editor receptur je zřejmé z obrázku 3. V horní části jsou rozbalovací seznamy pro výběr sady receptur a pro výběr konkrétní receptury. Největší plochu zabírá okno pro úpravu parametrů receptury a nakonec v dolní části jsou připravená tlačítka pro běžné úkony s recepturami (vytvoření nové, uložení, mazání, nahrání do/z PLC).

Obr. 3: HMI panel – komponenta editoru receptury pro obsluhu

 Na řadě je nastavení editoru pro naše potřeby. V záložce General můžeme vypnout zobrazení rozbalovacího seznamu pro výběr sady receptur – Display selection list. Toto je užitečné právě ve výše zmíněném případě, kdy spravujeme rozdílné sady receptur jednou vizualizací. To se nás momentálně netýká. Dále potřebujeme pro Data record nastavit tag pro číslo nebo název receptury. Ten funguje obousměrně. HMI jej nastavuje dle vybrané receptury a pokud jej nastavíme v PLC, v editoru se zobrazí příslušná receptura (je‑li dostupná).

Většina dalších voleb slouží zejména pro grafické přizpůsobení. Krátce se ještě zastavíme u položky Toolbar, kde vypneme zobrazení tlačítek To/From PLC. Pro přenos receptury do PLC použijeme standardní tlačítko, které na rozdíl od toho v editoru nabízí možnost více událostí najednou.

Po dokončení konfigurace editoru si jej můžeme snadno vyzkoušet v simulátoru. Ten si po spuštění na disku vytvoří úložiště receptur a vše by mělo fungovat jako na reálném panelu (přenos do PLC samozřejmě pouze za předpokladu, že jsme k němu připojeni).

Zbývá nám ještě vytvoření zmíněného vlastního tlačítka, kterým přeneseme recepturu do PLC a zároveň vyvoláme nezbytnou odezvu v řídicím systému. Autor používá následující sled událostí:

  • Akce na stisk tlačítka: Uložení aktuální receptury (SaveDataRecord), jako parametr předáme tag pro číslo receptury, který je výše popsán. Dále lze zvolit, zda přepsat data, případně s potvrzením či bez.
  • Akce na stisk tlačítka: Odeslání receptury do PLC (SetDataRecordToPLC), parametry jsou podobné jako v předchozím případě. Tímto se hodnoty z receptury předají do našeho datového bloku v PLC
  • Akce na uvolnění tlačítka: Nastavení požadavku pro přestavení stroje (SetBit). Bitová proměnná, která nám slouží jako signál k nastavení nových dat do parametrů stroje a případně přestavení částí stroje do žádaných stavů.

Události k přenosu receptury lze i libovolně rozdělit pod samostatná tlačítka. Někdy to může být i přímo vyžadováno aplikací. Například první tlačítko přenese recepturu a druhé teprve aktivuje hodnoty a vyžádá novou konfiguraci stroje. Takové řešení pomáhá eliminovat chybu operátora při odeslání špatné receptury do PLC. Možností je opět celá řada a řešení je zpravidla podřízeno požadavkům aplikace.

Závěrem

Tímto článkem jsme letmo nahlédli do světa receptur v podání techniky Siemens. Lze dodat, že popsaný způsob implementace je téměř shodný s předchozími verzemi softwaru (Simatic Step7 v5 + WinCC Flexible). Dále je třeba uvést, že technika nám nabízí i trochu jiné cesty obsluhy receptur. Za zmínku stojí například vyžádání receptury ze strany PLC. Požadavek na změnu receptury může přijít z nadřazeného systému a řídicí systém si ji následně vyžádá z panelu HMI. Toto lze provést přes tzv. Area pointer, který je speciálním komunikačním rozhraním mezi PLC a HMI. Přes něj lze předávat různá data či provádět specifické akce vyvolané z PLC. To je však téma na samostatný článek. A zcela nakonec už jen zmíníme ono otřepané, že do Říma se lze dostat různými cestami a to platí i o metodách zpracování receptur. A s tím se rozloučíme.

Ing. Pavel Jiránek