Jste zde

Jak vytvořit a ovládat databázi parametrů / receptur v HMI Weintek ?

Jak snadno realizovat databázi pro snadné zadávání a správu dat / hodnot? Prostřednictvím funkce "Receptur", která se sice na první pohled může zdát hodně složitá, ale po nastudování několika základních pravidel, je pak velmi snadno použitelná a efektivní.

Co jsou to receptury v průmyslových HMI?

Pod pojmem "Recipe" (receptury) se v oblasti programování průmyslových HMI panelů obvykle rozumí vytváření, správa a vizualizace jednoduché databázové struktury pro zadávání a volbu parametrů následně využívané pro další řízení aplikace / stroje. V mnoha případech se řízení u strojů využívá jako databáze produktů, kde ke každému produktu je přiřazen soubor definovaných řídících parametrů, které se pro každý vyráběný produkt liší a tedy nelze je definovat jako základní globální nastavení stroje.

Během uvádění do provozu či testování se tyto pro každý produkt odlišné parametry nastaví odborným technikem na HMI panelu pod nějakým kódovým označením či jménem produktu a pak následně již běžná obsluha stroje nebo výrobní linky je jen vybírá zvolením / označením na obrazovce a již se nemusí nějak zaobírat nějakým zadáváním konkrétních provozních parametrů stroje. Ty se do řídících proměnných stroje sami přehrají z položek databáze "schovaných" pod jedním označením produktu, které pro běžnou neodbornou obsluhu stroje nemusí být viditelné a tedy jí nebudou nijak znepokojovat tím, že jim tato obsluha nerozumí. Obvykle jen vybere název produktu v nějakém rolovacím seznamu a detailní nastavení parametrů se pak často dávají až  někam do "vzdálenějšího menu" a chráněné heslem pro přístup jen odborně zdatné obsluze.

Nastavení receptur v HMI Weintek

Funkce receptur (Recipe) je přítomná dnes již ve většině HMI panelů Weintek a jejich nastavení, zprovoznění a použití ve vizualizaci na obrazovce panelu se provádí v programovacím počítačovém softwaru EasyBuilder PRO.

Pro aktivaci a základní definování struktury položek databáze receptury je nutné jít do okna základního nastavení HMI panelu označeného jako "System Parameter Settings" a zde zvolit záložku "Recipe Database". Zde je možné aktivovat tuto funkci a také se zde databáze vytvoří (založení její jména) a definují jejich jednotlivé položky, tedy parametry, které se pak budou zadávat. Tyto parametry pak budou v zadávání / zobrazovací "tabulce" na obrazovce HMI tvořit jednotlivé zadávací sloupce, zatímco řádky pak budou tvořit seznam (pořadí) jednotlivých  nastavených produktů.

Zde je důležité si předem před další prací s již zde vytvořenou strukturou v HMI programu přesně rozmyslet, jaké položky ji budou tvořit a jaký budou mít datový formát, protože pozdější úpravy již buď nejdou již snadno udělat (například nelze položku vymazat, pokud se někde jinde v programu s ní již pracuje) nebo změna struktury často výrazně změní i vizuální stránky prezentace položek na HMI. 

Důležité je si rozmyslet:

  • Vhodné jméno / název položky "Item name" - protože to se bude také zobrazovat v záhlaví sloupců rolovací tabulky zobrazení databáze receptů.
  • Datový formát položky "Data type" - tedy zda ukládaná data budou textové povahy ve formátu ASCII nebo jako číselné hodnoty v 16- nebo 32-bitovém formátu a reprezentaci BCD, HEX, binární nebo desítkové (znaménkové/neznaménkové).
  • Velikost položky "Size" -  určuje v případě textů, na kolik znaků se bude zadávat, resp. zobrazovat, v případě čísel definuje kolik slov jej tvoří
  • Zobrazovací formát "Display width" a "Decimal Pt" - určuje na kolik znaků či číslic bude dimenzované zobrazení položky.

Z pohledu názvu položky je nutné volit dostatečně srozumitelné označení, protože pokud pak v programu zobrazení HMI využijete blok zobrazovací tabulky receptury (nejjednodušší způsob jak rychle vytvořit přehlednou prezentaci položek databáze), tak se zde zvolené názvy budou také zobrazovat v označením sloupců této tabulky a nejdou tam již změnit. Navíc se tyto názvy programu HMI používají jako ukazatele parametrů a tedy je nutné je mezi sebou snadno rozlišit.

Z pohledu datového formátu je dobré zvolit stejný formát dat, jaký bude následně například využíván jinde v programu HMI v nějakých výpočetních vzorcích s jinými parametry nebo pak v řídícím programu PLC, kam se data budou po výběru "transportovat z HMI". Není například dobré volit zadávání 16-bitové hodnoty, když pak v PLC se s daným parametrem pracuje jako 32-bitovým nebo obráceně. V obou případech by se tím mohlo "zadělat" na možné špatně odhalitelné problémy v běhu programu.

Velikosti položky a zobrazovací formát pak hlavně definuje, v jak bude dané číslo nebo text zobrazen nebo zadáváno. Tedy v případě čísel, kde bude umístěna desetinná tečka a kolik číslic před a za ní bude zadáváno. Tím se také definuje maximální možnou velikost zobrazení, ale lze pro snadnější přehlednost na displeji panelu nastavit i menší zobrazovaných počet číslic nebo znaků. Například 16-bitové číslo se znaménkem má rozsah - 32 768 až  + 32 768, ale například je možné omezit zadávání a zobrazování čísla jen na velikost například "xxx" nebo "x.xxx", pokud víme, že zadávaný parametr nebude nikdy větší než "999", resp. "9.999". Tím bude zabírat i méně místa na obrazovce panelu, což může mít velký význam hlavně u menších úhlopříček.

Pohyb v databázi položek receptury v programu HMI

V adresování (odkazování) na položek databáze receptur se využívá tzv. nepřímé adresování. Tedy každá položka nemá svojí pevnou adresu v paměti HMI, na kterou se v programu dokazuje, ale využívá se proměnné ukazatele, která obsahuje da aktuální místo v databázi, které lze měnit. Pokud chceme měnit jiné místo v databázi, je potřeba hodnotou v proměnné ukazatele buď zvýšit nebo snížit.

Zde v systému databáze receptur v HMI Weintek je proměnná označená jako "Selection" ukazující na konkrétní řádek záznamu databáze, tedy jeden konkrétní záznam receptury či v mnoha případech použitý jako záznam jednoho produktu. V tomto záznamu pak volbou příslušné položky (sloupečku databáze) lze daný parametr změnit. Například ukazatel "Selection" ukazuje na záznam / řádek č. 2 (Selection=1) a následně lze pak měnit jeho parametry jednotlivých položek daného řádku. Pořadí řádků se počítá od nuly. Pokud tedy chceme měnit parametry na řádku např. 4, je nutné nejdříve změnit hodnotu v proměnné "Selection" na 3 a pak adresovat stejné položky "parametr1" a "parametr2", ale teď již v jiném řádku.

Zobrazení a zadávání položek do databáze receptury

Nejjednodušším způsobem jako na obrazovce HMI panelu Weintek realizovat zobrazení a i pohyb v databázi receptur, je použití bloku tabulky "Recipe View Object". Ta přehledně zobrazí celou databázi receptur a umožňuje dotykem na panel jednoduše vybrat v ní příslušný řádek, tedy snadno vybrat aktuální hodnotu ukazatele v proměnné "Selection".

Pak již pro zadávání hodnot do jednotlivých položek zvoleného řádku lze jednoduše použít standardní blok zadávání čísel nebo ASCII textu, kde v jeho nastavení se jen zvolí v položce "Read/Write address" volba "RECIPE" a pak položku / parametr řádku databáze daného jména, kam / odkud se má hodnota číst, resp. kam se zapsat. V mém ukázkovém případě například "PRODUKTY/KOD", "PRODUKTY/PRODUKT", "PRODUKT/JMEN_HMOT" atd. , které se již předtím nadefinovali ve okně "System Parameter Settings/Recipe Database" (viz výše).

Odkud z databáze se hodnota daného parametru v políčku zobrazí nebo kam se zapíše tedy závisí na hodnotě v proměnné "Selection", tedy na aktuálně označeném řádku v tabulce databáze. Samozřejmě hodnotu řádku v proměnné "Selection" lze zadat i ručně, například když použijete blok zadávání čísla "Numeric Object" a v něm jako paměťový registr v položce "Read/Write address" nastavíte "RECIPE/Selection".

Nicméně ještě důležité je upozornit na fakt, že pouhým zapsáním hodnoty nebo ASCII textu do bloku zadávání se ještě neuloží přímo do databáze. Ta totiž není vedena v RAM paměti HMI, ale v beznapěťové flash paměti (aby se hodnoty udržely i bez přítomnosti napájení) a proto je nutné k uložení ještě jeden krok, tedy poslat příkaz na zapsání hodnot databáze, tedy aby se přepsaly v tabulce databáze.

K tomu slouží předdefinované příkazy, konkrétně v podobě čísla, které určuje, co se má z aktuální položkou / řádkem databáze provést, a které je nutné zapsat do speciálního proměnné databáze označené jako "Command". Konkrétně jsou definované následující:

  • 1 = vytvoření nové položky / nového řádku databáze,
  • 2 = hromadný zápis hodnot parametrů (sloupců) zvoleného řádku databáze,
  • 3 = smazání zvolené položky / řádku databáze,
  • 4 = smazání všech položek databáze.

Nejlépe na obrazovce HMI panelu to lze vytvořit použitím bloku tlačítka "Set Word Object", kde se v jeho nastavení v položce "Set Style" zvolí "Write constant value" a v "Set value" nastaví jaká hodnota se po jeho stisku má uložit. V položce "Write address" pak kam se má uložit. V případě zápisu hodnoty do řádku databáze lze vytvořit na obrazovku tlačítko popisem "Label) např. "Ulož" a to se nastaví na uložení hodnoty "2" do proměnné "RECIPE/Command". A při ovládání se po každém stisku do proměnné pro příkazy databáze uloží číslo 3 a tedy provede zápis parametru do paměti databáze. Podobně lze takto vytvořit na obrazovce tlačítko "Nový" a v jeho nastavení definovat uložení čísla "0" opět do stejné proměnné  "RECIPE/Command". Po stisku tohoto tlačítka se pak v tabulce databáze objeví nový řádek a již předvyplněný stejnými hodnotami, jaké měl poslední zvolený řádek před stiskem tlačítka "Nový".

Přenos hodnoty z HMI databaze receptur do PLC

Máme tedy databázi, máme vytvořené její řízení, tedy naplnění a mazání hodnot, ale jak teď tyto hodnoty například přesunout do PLC z konkrétního vybraného řádku?

Snadno to lze udělat prostřednictvím funkce "Data Transfer Object", který se vloží do vytvářené vizualizace, i když sám o sobě není pak ve vizualizaci vidět. Provádí totiž překopírování libovolné hodnoty či více hodnot z paměti HMI do paměti napojeného PLC a to buď pravidelně po zadané časové periodě nebo po aktivaci nějakého bitu v paměti HMI nebo připojeného PLC. Tak lze například vytvořit bitové tlačítko "Ulož" či "Vyber", po jehož stisku na obrazovce dojde ke změně stavu zvolené bitové proměnné a ta následně aktivuje "Data Transfer Object" funkci a přenese data z HMI (tedy v našem případě z Recipe databáze) do paměti PLC, které s nimi již dále samo pracuje.

Závěr

Funkce databáze receptur má v nějaké formě obvykle většina HMI panelů napříč různými výrobci a je to vždy výhodná funkce pro realizaci každého režimu zadávání různých parametrů, které je následně nutné si snadno vybírat. I když na první pohled tato funkce vypadá složitě a je nutné ji u daného typu HMI panelu dostatečně nastudovat, jak ji použít, pak následně je její využití vždy efektivní a zjednodušuje to zadávání a správu velkého množství dat.

Hodnocení článku: