cz
en

Jak ono je to vlastně s těmi šablonami?

I když je vývojové prostředí Merbon IDE přehledné a intuitivní, jedna z kritických „křižovatek“, na níž se kroky programátora mohou zastavit, je definice webových stránek do PLC a grafických či textových šablon pro terminály. V tomto textu se pokusíme objasnit, jak to s nimi vlastně je a jak postupovat, abychom dosáhli cíle rychle a bez zbytečných potíží.

V první řadě je dobré si uvědomit, že stromová struktura v sestavě je vlastně jen jakýsi způsob, jak hierarchicky uchovávat data (podobně jako adresáře v PC) a nelze z ní vyčíst nějaké vazby mezi šablonou (jako definicí grafiky) a zařízením, na kterém pak šablona běží. HMI projekty jsou jen jakési „kontejnery“ na šablony a slouží k jejich zakládání, kopírování atd.

Při tvorbě webové šablony musíme rozlišovat mezi dvěma různými případy: šablona je tvořena buď jen pro jediné PLC (a o ostatních PLC v síti „neví“), nebo pro více PLC, přičemž data z různých PLC mohou být zobrazována na jedné webové stránce („panelu“).

Šablona pro jediné PLC

Každé PLC má nezávislý webový server. Webové servery o sobě navzájem „nevědí“, na každý z nich se přistupuje přes IP adresu příslušného PLC. Webový server zobrazuje data pouze z příslušného PLC (pokud tedy není mezi jednotlivými PLC komunikace přes SSCP kanál, což je ale vhodné jen pro omezený počet proměnných, jako např. přenos venkovní teploty nebo požadavků na energie – a rozhodně ne pro vizualizaci).

V Merbon IDE vytvoříme grafickou šablonu typu PLC, tedy v sestavě se šablona bude jmenovat ...plc.graph. Rovnou při vytváření určíme, pro které PLC ze sestavy bude určena. Tím je dáno, které proměnné v ní budou moci být zobrazovány.

Šablon pro stejné PLC může být v projektu více, například pro různé jazykové či vývojové verze nebo pro různé distributory, pokud připravujeme OEM řešení. Ve Vlastnostech PLC pak vybereme tu šablonu, která se při nahrávání do PLC přenáší. Je to samozřejmě jen jedna z nich.

Vazby mezi PLC a šablonou typu plc.graph vypadají tedy takto:

Zelená šipka: přiřazení PLC k šabloně, abychom v šabloně mohli do gadgetů vybírat příslušné proměnné z PLC. Provádí se při zakládání šablony, přiřazení lze později změnit v kontextovém menu šablony.

Červená šipka: přiřazení šablony k PLC, aby IDE vědělo, jakou šablonu má do PLC nahrát, pokud bychom jich vytvořili více.

Na závěr shrneme jednotlivé kroky, které je potřeba provést při tvorbě webu v PLC:

  • založit grafickou šablonu typu plc.graph,
  • v této šabloně vybrat PLC, pro které budeme šablonu tvořit,
  • v PLC vybrat šablonu, která má být do PLC nahrávána.

Šablona pro více PLC

Taková šablona může obsahovat data z více PLC. Topologie pro web server pak vypadá takto:

Na rozdíl od šablony pro jediné PLC se přiřazení PLC k šabloně neprovádí ve vlastnostech šablony. Pro tento účel vzniká nový prvek, tzv. Terminál. Terminál je vlastně zobecněné HMI zařízení, kterým může být webový server pro více PLC, grafický nebo textový ovládací pultík (HT200, HT104), mobilní telefon s aplikací Merbon Visual, aplikace Merbon Visual provozovaná na PC, atd. V případě webového serveru pro více PLC tento server běží na jednom z PLC. PLC musí mít pro tento účel dostatečný výkon procesoru a paměť, proto tuto funkci podporují jen některé platformy (např. mark220, mark320, markMX, wMX...).

Při založení terminálu v kontextovém menu System tedy vybíráme, jakého typu terminál bude (od toho se odvíjejí některé jeho vlastnosti):

  • Controller as external webserver: webový server v PLC pro jedno nebo více PLC podle obrázku výše. Pokud ho použijeme i pro jediné PLC místo předchozího řešení - šablony pro jediné PLC (a hardware použitého PLC to z hlediska výkonu umožňuje), můžeme využívat širších možností uživatelské politiky, funkce historie a logování atd.
  • External: Definice grafiky, příp. textu (šablony typu terminal.graph) pro aplikaci Merbon Visual, ať už běží na mobilním telefonu, nebo na PC. Název External je zvolen proto, že se nejedná o hardware Domat.
  • HT104: Textový pultík, který umožňuje zobrazovat textové šablony typu ...terminal.text.
  • HT200: Grafický terminál, který umožňuje zobrazovat grafické nebo kombinované (grafika + text) šablony typu ...terminal.graph.

Terminál je dobré pojmenovat jinak než výchozím názvem Terminal, např. HT200_Kotelna.

Podobně jako jsme u šablony pro jediné PLC přiřazovali PLC, aby bylo jasné, které proměnné může šablona zpracovávat, je nutné to udělat i zde. Protože ale můžeme přiřadit více než jedno PLC, příslušná PLC se již nevybírají jako jedna z vlastností terminálu. K výběru slouží „kontejner“ v podobě (komunikačního) kanálu. Ten může obsahovat jedno nebo více PLC ze sestavy.

V kontextovém menu kanálu vybereme jedno nebo více PLC, jejichž proměnné budou v šabloně dostupné. Pak můžeme šablonu editovat a gadgetům přiřazovat proměnné z PLC podle výběru.

Jelikož terminál obecně může být v jiné síti, než jsou PLC, je nutné mu upřesnit, jak (přes jakou IP adresu nebo URL a přes jaký TCP port) se má k PLC připojovat. To se nastavuje ve vlastnostech těchto namapovaných PLC v kanálu. Podrobnosti k jednotlivým možnostem (HwConfiguration, Deploy a Custom) najdeme v nápovědě; tento krok je zde zmiňován proto, že se jedná o rozdíl vůči nastavování šablony pro jedno PLC (viz výše). Ta totiž ví, že data z PLC jsou „v tomtéž hardwaru“, a tudíž u ní nastavování komunikace k PLC není zapotřebí.

Dále je nutné ve vlastnostech terminálu vyplnit i parametry připojení k terminálu – „kde má Merbon IDE hledat terminál, až do něj bude chtít nahrát šablonu“. Jelikož jde o externí zařízení, připojení probíhá opět protokolem SSCP přes IP adresu nebo URL, dále nastavíme TCP port, uživatelské jméno a heslo. (Toto se netýká terminálu typu External – do mobilního zařízení se definice přenáší ručně v podobě .zip souboru.)

Šablon, využívajících datové body z PLC v sestavě, může být v projektu více; ve vlastnostech terminálu ale musíme vybrat jen jednu z nich. Ta se bude do terminálu nahrávat. Vazby mezi objekty v stromové struktuře sestavy vypadají následovně:

Modrá šipka: Logická vazba mezi „odkazem“ na PLC v definici terminálu a PLC. V SSCP Parameters se definuje, „kde bude terminál hledat PLC“ opět výběrem z HwConfiguration, Deploy a Custom.

Červená šipka: Ve vlastnostech terminálu určujeme, která šablona se bude nahrávat do terminálu.

Žlutá vazba: Vlastnosti šablony. Přiřazený terminál lze později změnit v kontextovém menu šablony.

Oranžová vazba: Vlastnosti připojení terminálu k PLC, jak jsou nastaveny v definici terminálu. Každé logické spojení k PLC se ve vlastnostech spojení (SSCP parametry) každého terminálu nastavuje zvlášť, protože různé terminály mohou na stejné PLC přistupovat různými způsoby. Například terminál ve vnitřní síti bude hledat PLC na interní adrese, zatímco terminál připojený přes Internet se bude k PLC připojovat přes venkovní IP adresu a možná i jiné číslo portu, podle toho, jak je nastaveno mapování NAT.

Fialová vazba: Vlastnosti terminálu, zde nastavíme v Parametrech SSCP „kde bude Merbon IDE hledat terminál, až do něj bude nahrávat tu šablonu“.

Ve výše uvedeném příkladu podle obrázku má terminál adresu 192.168.1.10 a předpokládáme, že Merbon IDE je ve vnitřní síti (zjednodušeně řečeno, PC s IDE má adresu 192.168.1.x). Terminál je nastaven tak, že IP adresu a port pro připojení MyPLC1 přebírá z hardwarové konfigurace PLC, tedy z údajů, které jsou skutečně nastaveny v PLC. Opět jde o typické nastavení pro případ, že všechna zařízení jsou v jedné logické síti.

Závěrem opět shrneme potřebné kroky:

  • založit terminál, pro web v PLC to bude typ Controller as external webserver,
  • ve vlastnostech terminálu zadat IP adresu a další údaje pro připojení k terminálu:

o   pro Controller as external webserver adresu toho PLC, v němž web poběží,

o   pro HT200 adresu dotykového panelu (adresa se v panelu nastavuje přes jeho webové rozhraní nebo dotykovou obrazovku),

o   pro HT104 adresu textového pultíku (adresa se v pultíku nastavuje přes jeho webové rozhraní),

o   pro External se nezadává nic (do mobilního zařízení se definice kopíruje jako soubor .zip),

  • v kanálu terminálu přiřadit PLC, která bude terminál (web) obsluhovat,
  • v kanálu terminálu ve vlastnostech připojení k PLC zkontrolovat, jestli výchozí nastavení (HW konfigurace) je pro uvažovanou síťovou topologii v pořádku, pokud ne, změnit,
  • založit grafickou šablonu typu terminal.graph,
  • při zakládání šablony vybrat terminál, pro který bude šablona vytvářena – tím jsou dány dostupné proměnné z PLC,
  • ve vlastnostech terminálu vybrat šablonu, která se bude do terminálu nahrávat.

V sestavě můžeme mít více terminálů; popsaný postup platí pro každý z nich. Jedna šablona typu terminal.graph může být použita i pro více terminálů, například pro HT200 a webový server v PLC. Výhodou je, že změny provedené v šabloně se po nahrání projeví ve všech terminálech, které tuto šablonu používají.