HMI - ovládání, zobrazování, vizualizace

HMI-AUTOMATIZACE - DISPLEJE - PASIVNÍ
Provoz webu zajišťuje:

www.hapesoft.cz

Pasivní displeje

Charakteristika

Pasivní displeje a jejich řízení vychází z toho, že samotný displej obsahuje pouze technické prostředky (displej, řídící elektronika) pro zobrazení požadované informace. To, co bude na displeji zobrazeno je určeno informacemi z řídícího systému, tedy displej pasivně zobrazuje to, co mu bylo zasláno, bez nějaké aktivní akce k získání zobrazovaných informací, principielně znázorněno na obrázku 1. Podle provedení a vybavenosti displeje může být informace zaslána jako prostý text (telegram) u textově orientovaných displejů. U graficky orientovaných displejů pak jako strukturovaný zápis nějakého grafického jazyka nebo i jako bitmapový obraz.

Principielní přenos dat
Obrázek 1
Principielní přenos dat na displej.

Komunikace s displejem je zpravidla realizována pomocí sériového přenosu dat, klasickou linkou (RS232, USB) nebo sofistikovanějším přenosem přes Profibus, Ethernet, Profinet atd. Použití paralelního přenosu dat se strobováním (klasický LPT port) není vhodné, pouze v určitém případě lze uvažovat o binárním řízení.

Poznámka
Označení "pasivní" v tomto případě nevyjadřuje vlastnost podsvícení obrazové plochy ale to, že displej aktivně data nevyhledává ale pouze je pasivně přijímá.

Malý textový displej

Volně konfigurovatelný displej

Volně konfigurovatelný předznamenává, že neobsahuje předem definované texty nebo hlášení a tyto jsou na něj zasílány algoritmem z paměti řídícího systému po sériové komunikační lince. Jinými slovy, řídící systém kompletně určuje to, co a na jaké pozici bude na displeji zobrazeno. Jednoduchý textový displej pro zobrazení malého počtu informací je vyobrazen na obrázku 2. Pro zobrazování poskytuje 2 řádky, každý o 16 znacích.

Malý textový displej
Obrázek 2
Malý textový displej.

Pro zobrazení informace musíme brát v úvahu omezený počet zobrazovaných pozic znaků a tomuto přizpůsobit počet znaků ve zprávě, která může být dlouhá právě 2 x 16 znaků, viz následující příklady níže.

V jeden okamžik můžeme zobrazovat dvě krátké zprávy (2x16 znaků),
 každou na jednom řádku
 REZIM: AUTOMAT   
 OKRUH: CIRKULACE 
V jeden okamžik můžeme zobrazovat jednu delší zprávu (1x32 znaků),
 zobrazenou na dvou řádcích
 PORUCHA: VENTIL  
 V17B NENI ZAVREN 

V obou případech je zdrojem zprávy textová informace uložená v paměti řídícího systému. Podle typu systému se může jednat o prostou paměťovou oblast potřebné velikosti ROM/RAM nebo specifický paměťový blok řídícího systému (datový blok). Informace pak může být uložena v proměnné typu STRING délky 16 / 32 Byte nebo v proměnné typu ARRAY[0..15] TYPE CHAR / ARRAY[0..31] TYPE CHAR podle délky hlášení. Volba typu proměnné pak závisí na tom, je-li tento typ v řídícím systému k dispozici, jakým způsobem se s oblastí pracuje, jaký typ a prostředky přenosu je možno použít.

Telegram (bez řídících znaků komunikace), tedy obsah zobrazení, zasílaný na displej bude vždy stejný s tím rozdílem, že pro dvě zprávy bude složen z těchto dvou zpráv po 2x16 znacích a pro jednu zprávu bude právě obsahovat pouze ji, 1x32 znaků:

Obecný obsah telegramu pro dvě zprávy (2x16 znaků) ...
 "REZIM: AUTOMAT  OKRUH: CIRKULACE" 
Obecný obsah telegramu pro jednu zprávu (1x32 zanků) ... 
 "PORUCHA: VENTIL V17B NENI ZAVREN" 

Ze zápisu je patrné, že neřešíme zalomení textu na konci řádku, displej prostě zobrazí znaky za sebou, na první řádek znaky 1-16, na druhý řádek znaky 17-32. Na co je potřeba dát pozor, je nutné doplnění mezer na konci řádku, pokud je počet znaků na řádku menší něž 16 tak, aby byl text při zobrazení správně oddělen, zejména u dvou krátkých stavových zpráv.

Programová obsluha

Patrně nízká cena a jednoduchost komunikace s displejem je na druhé straně vyvážena méně komfortní programovou obsluhou při potřebě zobrazování více zpráv. V tomto případě musíme změnu obsahu zobrazení zajistit vhodným programovým algoritmem. Pro zjednodušení popisu budeme dále předpokládat, že pracujeme se zprávami délky 32 znaků, tedy na displeji se zobrazuje pouze jedna zpráva, hlášení.

Cyklické zobrazování

Na obrázku 3 je uveden příklad vývojového diagramu optimalizovaného pro zpracování v PLC. V algoritmu se uvažuje zobrazování maximálně 16 dvouřádkových hlášení o celkové délce 32 znaků/hlášení, přičemž jedno hlášení je rezervováno pro klidový stav (není žádné jiné hlášení). Při požadavku na zobrazování jednořádkových hlášení o délce 16 znaků/hlášení ale zobrazovaní dvou těchto hlášení současně, je potřeba algoritmus upravit. Pro případ, že je potřeba zobrazovat více hlášení, je algoritmus realizován tak, aby se tyto zobrazovaly postupně, v intervalu 2s.

Vývojový diagram
Obrázek 3
Vývojový diagram.

V příkladu máme k dispozici 16 bitů stavových hlášení organizovaných do slova (word), kdy stav bitu =1 znamená, že konkrétní hlášení odpovídající nějakému stavu má být zobrazeno, stav bitu =0 znamená, že zobrazení hlášení bude potlačeno. V této skupině je bit 0 rezervován pro případ, že není aktivní žádné hlášení na bitech 1-15. Bitu 0 je přiřazeno prázdné hlášení, zobrazení mezer jako zhasnutých znaků není vhodné, protože je v kolizi s vypnutím napájení, je tedy vhodné zobrazit nějaké klidové hlášení, například text "ŽÁDNÉ HLÁŠENÍ".

Pro programovou obsluhu budeme potřebovat pomocné slovo tzv. masku zobrazení, tato maska má velikost 16 bitů, tj. word. V této masce má být nastaven právě jeden bit, který budeme rotovat a bude určovat výběr hlášení k zobrazení. Pokud by tato maska měla všechny bity nulové, došlo by dále v algoritmu k zacyklení běhu programu, proto je na začátku provedena kontrola, je-li obsah masky nenulový. Pokud by maska obsahovala více bitů s nenulovou hodnotou (nežádoucí stav), nebude zobrazování probíhat správně (na tomto místě by byla vhodnější kontrola na počet nenulových bitů).

Kontrola aktivace bitu 0, tedy zobrazení klidového hlášení probíhá tím způsobem, že se bity ve stavovém slově budou maskovat binární maskou, která je jedničková na bitech 1-15 ale bit0 =0. Použití slovní operace ANDW zajistí nulování bitu 0 a pokud výsledek operace bude nenulový, obsahuje stavové slovo alespoň jeden jedničkový bit na bitech 1-15 a bit 0 ponecháme =0. Pokud výsledek operace bude nulový, znamená to, že není aktivní ani jeden bit 1-15 a provedeme nastavení bitu 0 pro zobrazení klidového hlášení.

Časování intervalu 2s pro cyklické zobrazování více hlášení je realizováno jednoduchým časovým zpoždění, které je po dosažení intervalu resetováno a začíná časovat znova.

Pokud je dosaženo požadovaného intervalu zobrazení jednoho hlášení, je provedena rotace bitu v masce zobrazení o jednu pozici vlevo. Pokud není dosaženo časového intervalu, rotace se neprovádí.

Na základě polohy bitu v masce zobrazení je vybráno jedno hlášení, které může být zobrazeno. To, jestli bude nebo nebude hlášení odpovídající aktivnímu bitu v masce zobrazení zobrazeno, závisí na tom, je-li stejný bit nastaven ve stavovém slově hlášení. Kontrola tohoto stavu se provádí slovní operací ANDW mezi maskou zobrazení a stavovým slovem.

Pokud je výsledek operace nulový, znamená to, že odpovídající bit ve stavovém slově nastaven není. To ale neznamená, že se nebude nic zobrazovat. V tomto případě se algoritmus vrátí zpět a provedeme další rotaci bitu v masce zobrazení (bez prodlevy časového intervalu 2s). Toto se opakuje tak dlouho, dokud se nenalezne další aktivní bit, kdy se přejde k zobrazení hlášení odpovídající tomuto bitu. To, že bude nalezen alespoň jeden aktivní bit je zajištěno obsluhou bitu 0, viz výše.

Předposledním krokem je vývěr textu hlášení, které má být zobrazeno. K tomuto výběru se nepoužívá stavové slovo hlášení ale slovo bit(y) zobrazení které bylo získáno předchozí operací ANDW. Toto slovo obsahuje právě jeden aktivní bit, podle něhož se vybere text hlášení k zobrazení. Tento text je uložen do vysílacího bufferu.

Posledním krokem je odeslání vybraného textu na displej, např. prostřednictvím sériové linky. Do algoritmu je vhodné doplnit podmínku, že požadavek odeslání bude aktivován pouze tehdy, je-li komunikace připravena.

Algoritmus je možno dále upravit tak, aby telegram byl odeslán pouze tehdy, dojde-li ke změně stavových bitů vyhodnocením hran signálů, což je možno realizovat pro všechny stavové bity funkcí XORW.

Zobrazování ovládané jedním tlačítkem

Jednoduchou změnou v části generování časové prodlevy je možno zobrazování dalšího hlášení generovat po stisku tlačítka. Z hlediska správnosti funkce je nutno zajistit zobrazení klidového hlášení i když nebude tlačítko stisknuto.

Zobrazování ovládané tlačítky +/-

Ovládání dvěma tlačítky +/-, listování nahoru/dolu, zobrazení dalšího/předchozího hlášení je zlepšením komfortu obsluhy, zvláště v případě, že se i na tomto malém displeji bude zobrazovat větší množství hlášení. Toto doplnění představuje potřebu užití dvou funkcí rotace masky zobrazení a to rotaci vlevo i rotaci vpravo řízené odpovídajícími tlačítky.

Shrnutí

Výhody: nízká cena, teoreticky neomezený počet hlášení, možnost změny obsahu hlášení za provozu, lze zobrazovat i proměnné (převedené na ASCII znaky), lze předpokládat možnost připojení k různým řídícím systémům
Nevýhody: hlášení obsazují paměť systému, nutná složitější programová obsluha, komplikovanější při zobrazování dvou hlášení, nekomfortní ovládání

Aplikace

Ačkoliv uvedený princip jednosměrného přenosu vypadá značně archaicky a dříve nejčastěji nacházel uplatnění pro přenos informace "na dveře zařízení" nebo na "pár metrů", s rozvojem komunikačních technologií a možností nachází tento princip uplatnění pro předávání zpráv i na velké vzdálenosti, kdy slouží pro dálkové monitorování stavu zařízení nebo objektu, tzv. polních technologických zařízení. Principielně je tato možnost znázorněna na obrázku 4.

Dálkový jednosměrný přenos
Obrázek 4
Dálkový jednosměrný přenos.

Na jedné straně máme zdroj dat, technologický systém nebo obecně jakýkoliv objekt (i domácnost, zabezpečení objektu) kdy je požadováno předávání informací o aktuálním stavu. S využitím vhodných komunikačních prostředků, je možno aktuální stavy přenášet prostřednictvím veřejné mobilní komunikační sítě jako zprávy typu SMS s tou výhodou, že příjemce se může nacházet v libovolném místě (i v zahraničí), kde je pokrytí mobilním signálem.

Alternativou je využití internetového přenosu, vyžaduje však důkladné zabezpečení, VPN a pod.

Doporučení
Při realizace aplikace zvažte množství a četnost odesílaných zpráv. Odesílány by měly být pouze důležité zprávy zásadního charakteru s nulovým nebo jen minimálním počtem opakování opravdu krizových zpráv, zvláště v krátkém intervalu.

Varování
Nerespektování výše uvedeného doporučení nejen, že způsobí rychlé vyčerpání kreditu SMS karty, ale bude mít za následek i dosti nevybíravý hovor ze strany uživatele aplikace na vaši adresu.

Předem konfigurovaný displej

Předem konfigurovaný displej, viz obrázek 5, se od předchozího liší tím, že zobrazované informace, hlášení, jsou předem uloženy v jeho vnitřní paměti ROM a do displeje je zasílána pouze bitová informace o tom, které (jedno hlášení) nebo která (dvě) hlášení se mají zobrazit a to podle zobrazovacích dispozici displeje, konstrukce.

Malý, předem konfigurovaný textový displej
Obrázek 5
Malý, předem konfigurovaný textový displej.

Programová obsluha

Programová obsluha se principielně neliší od předchozího případu. Rozdíl je v tom, že se do displeje nepřenáší obsah hlášení, ale pouze bitová informace o tom, které hlášení se má zobrazit a logika zobrazení hlášení podle konkrétního aktivního bitu zobrazení je integrována v displeji. Prakticky, podle vývojového diagramu na obrázku 2, není nutno v řídícím systému aplikovat část programu, která vybírá text a do vysílacího bufferu se ukládá pouze slovo, obsahující bity zobrazení.

Shrnutí

Výhody: relativně nízká cena, úspora paměti v řídícím systému, mimo sérového přenosu je alternativě možno použít přímého binárního řízení z výstupů řídícího systému, lze předpokládat možnost připojení k různým řídícím systémům
Nevýhody: nutná složitější programová obsluha, komplikovanější při zobrazování dvou hlášení, nelze zobrazovat proměnné, omezený počet hlášení, nutná samostatná konfigurace displeje, nekomfortní ovládání

Další textové displeje

Obecně není počet řádků a počet znaků na řádku omezen, záleží na velikosti konkrétního zařízení. Pro lepší užitnou hodnotu může být displej i barevný, realizovaný jako segmentový, bodový (maticový) v technologickém provedení CRT (již historické), VFD (již méně časté), LCD, LED, PDP. S nárůstem počtu řádků a sloupců narůstá o objem přenášených informací, zobrazovaných znaků. Při počtu 20 řádků a 80 znaků/řádek je odesílaný telegram dlouhý 1600 Byte při použití obecné ASCII tabulky a nezahrnuje případné doplňkové informace o barvě zobrazení znaků, případně pozadí (je-li tato možnost technologicky podporována). S nárůstem počtu řádků a počtu znaků na řádku s doplněním dalších informací pro zobrazení narůstá nejen délka přenosového telegramu ale i náročnost sestavování takto dlouhého telegramu na straně programování.

Pro tyto případy se používá jednoduchá úprava, kdy je možno celkový telegram (pro popsání celé plochy displeje) rozdělit na dílčí telegramy a pomocí nich provádět změny zobrazení na vybraných místech plochy displeje. K tomuto je nutné, aby výrobce displeje poskytl informace o tom, jakými příkazy v telegramu je možno zobrazení na displeji řídit.

Bez toho, abychom použili nějaký konkrétní typ přenosu, popíšeme generování obrazu pouze tak, aby byla dodržena funkčnost. Pro ilustraci se bude jednat o řízení velkého maticového LED displeje - informační tabule podle obrázku 6:

Textová informační tabule
Obrázek 6
Velkorozměrový textový displej - informační tabule.
Letiště Václava Havla, terminál 2.

Předpokládejme, že pro ovládání displeje je předepsána následující struktura a příkazy telegramu s využitím řídících kódů ASCII tabulky:

[SOH] Začátek hlavičky.
řádek,sloupec, Pozice prvního znaku textového řetězce (počítáno od nuly). Pokud je zadání pozice znaku vynecháno, pokračuje vypisování na pozici dalšího sloupce. Určená poloha prvního znaku ve směru X odpovídá násobku počtu znaků x šířka znaku v bodech (5+1). Toto ulehčuje pozicování v případě, že zobrazený text obsahuje "úzké" znaky (tečka, čárka, I), kdy je znak zobrazen na menším počtu šířkových bodů.
barva, Barevné RGB složky zobrazení, pokud je určení barvy vynecháno, použije se barva předchozí.
F Požadavek na zvýraznění blikáním (může být vynechán, text nebliká).
[STX] Začátek textu k zobrazení.
text Zobrazovaný text.
[ETX] Konec textu k zobrazení.
[ETB] Zakončovací znak telegramu.

Jako příklady si vybereme telegramy pouze pro některé části plochy:

  [SOH]0,1,G[STX]15.5.2018[ETX][ETB] Aktuální datum, zelená barva.
 [SOH]3,0,RG[STX]17:35  FRANKFURT[ETX][ETB] Čas odletu a destinace, žlutá barva (statický údaj, dvojtečka nebliká).
[SOH]3,25,RG[STX]EY 8065[ETX][ETB] Číslo letu, oranžová barva.
 [SOH]3,31,R[STX]2[ETX][ETB] Číslo terminálu, červená barva.
[SOH]3,33,RG[STX]220-223[ETX][ETB] Přepážky odbavení, oranžová barva.
 [SOH]3,41,R[STX]CHECK-IN[ETX][ETB] Poznámka, červená barva.

Pro zobrazení aktuálního času (na displeji 14:22, při pořízení snímku dvojtečka zhasnuta) je nutno vyžít povolené vynechání některých parametrů, z důvodu úzkého znaku ":" a z toho důvodu, že hodiny se nemusí zobrazovat s úvodní nulou při hodnotách 0-9. Pokud by bylo pozicování pevné (pro hodiny, dvojtečku, minuty samostatně), došlo by k zobrazení nepříjemných mezer ve skupině znaků. Příklad telegramu:

[SOH]0,47,G[STX]14[ETX][SOH]F[STX]:[ETX][SOH][STX]22[ETX][ETB]

Mimo zkrácení délky telegramu, což obecně odlehčí každé komunikaci, se vynecháním parametrů vyhneme i potřebě změny pozic sloupců v případě, že se mění počet číslic při přechodu hodin z 9 na 10 a u hodnot 0-9 nepoužíváme dvoumístné zobrazení 00-09, které je u zobrazení minut naopak vhodné. Před zobrazením minut je pouze prázdný příkaz [SOH], který ruší blikání znaku, barva zůstává zachována a pokračuje se ve výpisu za předchozím znakem.

Hlavní výhodou rozdělení jednoho telegramu (popisujícího celou plochu displeje) je v tomto případě to, že není nutno při změně zobrazení na jedné pozici provádět aktualizaci celé plochy. Konkrétně se jedná o to, že celou plochu je nutno změnit pouze při potřebě odmazání uskutečněného odletu a doplnění nového (posunutí celé plochy o řádek výš), toto se však nemění příliš často, respektive v řádu desítek minut a v tomto případě je displej kompletně vymazán (zamezení zobrazení neplatných znaků při posunu o řádek, kdy se na řádku mění dlouhý za krátký text). Častější změnou je informace o otevření přepážky, poslední výzva případně zpoždění. Častou a pravidelnou změnou je pak aktualizace časového údaje reálných hodin, každou minutu. K tomuto je právě výhodné použít dílčí telegram, volaný z časového přerušení.

Upozornění
Při přepsání textu na správné pozici textem kratším, zůstane původní nepřekrytý text dále zobrazen (konec předchozího slova nebo věty). Tuto situaci je nutno dořešit doplnění vhodného počtu mezer, které překryjí původní text.

Grafický displej

I malý grafický displej poskytuje daleko více možností, jak uspořádat zobrazování informací na jeho ploše z hlediska důležitosti i přehlednosti. Pro názornost je malý grafický displej v monochromatickém provedení znázorněn na obrázku 7.

Malý grafický displej
Obrázek 7
Malý grafický displej.

Pro zobrazení informací na ploše displeje si již nevystačíme s odesláním prostého textu, který má být zobrazen (jako v předchozím případě). Pro usnadnění práce programátora na straně PLC mohou mít grafické displeje od výrobce integrován nějaký interpreter jazyka, který specifikuje výrobce v manuálu případně odvozený od nějakého standardu, např. HPGL (Hewlett-Packard Graphics Language) nebo jazyk shodný. Výhoda tohoto řešení je v tom, že uživatel neprogramuje zobrazování metodou bod po bodu ale využívá již předdefinované funkce jazyka pro zobrazování znaků, přímek, obdélníků, kružnic, výsečí, realizaci výplně, inverze a pod.

Bez toho, abychom použili nějaký konkrétní jazyk, popíšeme generování obrazu pouze obecně:

  • smazání obrazovky -
      - funkce displeje nebo vykreslení plného obdélníku na celou plochu barvou pozadí
  • pro každé vykreslení -
      - definovat počáteční bod
  • stavový řádek režimu -
      - vykreslení podkladového obdélníku plnou barvou
      - vypsání textu REŽIM
      - vypsání textu proměnné AUTOMAT/MANUAL/PORUCHA
  • 1. informační řádek -
      - vypsání textu TEPLOTA
      - vypsání proměnné
      - vypsání rozměru proměnné
  • bar graf -
      - vykreslení vnějšího rámečku bar grafu, vnitřní plocha barvou pozadí
      - vykreslení plného obdélníku velikosti (šířky) podle hodnoty proměnné (teplota)
  • další řádky -
      - analogicky podle 1. řádku
Upozornění
Při vykreslování bez pozadí je potřeba brát v úvahu to, že vykreslování se provádí "přes sebe". To vede k přepisování a nečitelnosti zobrazené informace. Taktéž při přepsání textu s pozadím na správné pozici textem kratším, zůstane původní nepřekrytý text dále zobrazen (konec předchozího slova nebo věty).

Další grafické displeje

Obecně není počet grafických řádků a počet bodů omezen, záleží na velikosti konkrétního zařízení s přihlédnutím k zavedeným standardům, rozlišení a taktéž k barevné hloubce. Podle technologického provedení CRT (již historické), VFD (méně časté), LCD, LED, PDP. S nárůstem rozlišení narůstá objem přenášených informací. I na malém displeji 240 x 480 bodů je potřeba celkem obsloužit 115.200 obrazových bodů, v případě barevného displeje je potřebná informace každého bodu rozšířena o barevnou informaci. Pro ilustraci je na obrázku 8 zobrazena grafická informační tabule s odhadnutým rozlišením 1200 x 800 nebo spíše 1920 x 1080 bodů v barevném provedení a realizovaná jako matice LED.

Grafická informační tabule
Obrázek 8
Velkorozměrový grafický displej - informační tabule.
Švýcarsko, Luzern, hlavní nádraží.

Pro obsluhu takovéto plochy displeje se již neobejdeme bez specializovaného ovladače a grafické karty, jejíž výstup je převeden na matici barevných LED diod.


HMI-AUTOMATIZACE - DISPLEJE - PASIVNÍ
 
Publikovaný obsah je určen pouze pro individuální studium.
Není povolena distribuce, prodej, přetisk a použití textu a/nebo vyobrazení (úplný, dílčí a/nebo částečný), použití ke školení a/nebo výuce (hromadné, skupinové nebo zadávané), veřejné a/nebo skupinové prezentace a ani jiné formy šíření v hmotné a/nebo nehmotné podobě.