Aktuální vydání

celé číslo

07

2019

Řízení dopravy a budov

celé číslo

TwinCAT HMI: jednoduché, otevřené a nezávislé na platformě

Jak bude vypadat tvorba HMI v budoucnosti? Jakým způsobem lze vytvořit uživatelské rozhraní pro různá průmyslová odvětví, které je zároveň efektivní, uživatelsky přívětivé a využitelné i v budoucnu? 

TwinCAT HMI společnosti Beckhoff představuje webové řešení pro tvorbu HMI založené na využití jazyků HTML5 a Javascript. Díky využití těchto jazyků je výsledné uživatelské rozhraní nezávislé na používané platformě, protože jedinou podmínkou kladenou na klientské zařízení je přítomnost prohlížeče internetu s podporou HTML5. Další důležitou vlastností vycházející z použití moderních webových technologií je responzivita výsledného HMI, tedy konzistentní vzhled na zařízeních s různými velikostmi displeje a různým rozlišením.

Samotné TwinCAT HMI je stejně jako automatizační software TwinCAT 3 integrováno do vývojového prostředí Microsoft Visual Studio (obr. 1). Díky tomu lze z jednoho prostředí tvořit jak řídicí program, tak uživatelské rozhraní. Pro vývoj v TwinCAT HMI je také možné používat verzovací nástroje pro správu zdrojových kódů typu Team Foundation Server nebo Subversion a tím výrazně ulehčit práci několika vývojářů na jednom projektu. 

Základní komponenty

Balíček TwinCAT HMI obsahuje čtyři základní komponenty, které budou popsány v následujících odstavcích. 

TwinCAT HMI Creator

TwinCAT HMI Creator je uživatelsky přívětivý grafický editor typu WYSIWYG (What You See Is What You Get – co vidíte, to dostanete), ve kterém je možné kompletně vytvořit grafické uživatelské rozhraní i bez znalosti programování. Pro uživatele je dostupná také alternativa tvorby nebo úprav kódů uživatelského rozhraní v jazycích HTML nebo Javascript přímo z prostředí TwinCAT HMI, popř. využití některé z předpřipravených šablon uživatelských rozhraní pro ovládání stroje. 

TwinCAT HMI Framework

TwinCAT HMI Framework je komponenta zajišťující funkčnost na straně uživatele, jako je např. zpracování událostí nebo přepínání jazyků. Také poskytuje knihovnu základních grafických prvků použitelných při tvorbě uživatelského rozhraní. Mimo běžné ovládací prvky, jako jsou tlačítka či různé druhy ukazatelů, jsou dostupné i složitější grafické prvky, např. pro zobrazování grafů, přehrávání videa či správu receptur. Kombinací základních grafických prvků je dále možné tvořit aplikačně specifické komplexní ovládací prvky, které lze navíc konvertovat do podoby znovupoužitelných modulů dostupných přímo z panelu nástrojů a tím výrazně zjednodušit vývoj dalších vizualizačních aplikací použitím již dříve vytvořených komponent. 

TwinCAT HMI Server

TwinCAT HMI Server je aplikační server, který získává data z real-time systémů a zprostředkovává je klientským zařízením prostřednictvím zabezpečených komunikačních protokolů (HTTPS a WS). 

TwinCAT HMI Extensions

TwinCAT HMI Extensions jsou dodatečné uživatelské moduly vyvinuté v C++ nebo .NET, s jejichž pomocí lze rozšířit rozsah funkcí HMI serveru např. o další komunikační protokoly nebo napojení na systémy MES a ERP. 

Flexibilní architektura

Prostředí TwinCAT HMI je použitelné pro aplikace s různou architekturou řízení. Je možné použít běžnou architekturu typu local client, kdy klient, server i řízení běží na jednom PC (obr. 2). Také lze využít architekturu typu multi client, kdy v řídicí architektuře figuruje jeden server a větší počet klientských (např. mobilních) zařízení. TwinCAT HMI server může být vázán na jeden či několik cílových runtime (řídicích) zařízení, jejichž data vizualizuje (architektura multi runtime; obr. 3). Stejně tak je možné, aby jedno klientské zařízení zobrazovalo vizualizaci z několika TwinCAT HMI serverů. 

Programování řízené událostmi

Každý grafický prvek má svoji sadu vlastností, kterými je možné parametrizovat jeho vzhled nebo chování. Pro každou z těchto vlastností lze vytvořit vazbu na některý z datových objektů (symbolů) dostupných pro TwinCAT HMI. Jde o tyto čtyři základní typy dat:

  • interní data – informace pro interní použití vizualizace, tj. takové informace, které je nutné uchovávat, ale není vhodné, aby byly uloženy a zpracovávány v PLC, protože nemají nic společného s aplikací PLC jako takovou,
  • externí data – byla získána z nějakého řídicího systému (např. pomocí protokolu ADS nebo OPC UA),
  • data grafických prvků – vlastnosti všech existujících grafických prvků určující jejich vzhled a chování,
  • lokalizační data – interní informace pro zajištění vícejazyčné vizualizace.

Kromě vlastností mají grafické prvky i svoji množinu událostí, kdy na každou z nich je možné navázat určitou sekvenci příkazů a akcí. Tyto události jsou jak obecné (práce s myší nebo touchpanelem), tak specifické (např. změna hlasitosti přehrávače videa), popř. je možné definovat vlastní události spouštěné třeba změnou hodnoty PLC proměnné.

Pro samotnou definici akcí prováděných po výskytu události se využívá grafický editor založený na skládání sekvence programových bloků s určitou funkcí (obr. 4). Pomocí těchto programových bloků je možné přistupovat k libovolným interním nebo externím symbolům, měnit vlastnosti a vzhled grafických prvků, spravovat uživatele, měnit lokalizaci a mnoho dalších akcí. Kromě toho jsou dostupné bloky na realizaci větvení toku programu (podmínky typu ifswitch) a podpůrné funkce na práci s řetězci či alarmy. Všechny tyto akce lze definovat graficky bez znalosti jakéhokoliv programovacího jazyka, nicméně v případě potřeby lze použít i programování přímo v Javascriptu. Díky těmto možnostem lze elegantně oddělit logiku programu PLC od logiky vizualizace, přičemž na tvorbu vizualizační logiky není díky intuitivnímu grafickému rozhraní nutná znalost vyšších programovacích jazyků. 

(BECKHOFF Česká republika s. r. o.)

Obr. 1. TwinCAT HMI je integrováno do vývojového prostředí Microsoft Visual Studio

Obr. 2. Architektura local client

Obr. 3. Architektura multi runtime

Obr. 4. Pro definici akcí prováděných po výskytu události se využívá grafický editor založený na skládání sekvence programových bloků s určitou funkcí