Řízení modelu křižovatky s vizualizací

tutoriál

Tutoriál porogramování PLC systémů

Řízení modelu křižovatky s vizualizací

Úkol této kapitoly:

  • seznámit se s nástrojem WebMaker prostředí Mosaic
  • doplnit projekt z minulé kapitoly vizualizací křižovatky
  • přidat další režim časového řízení křižovatky
  • připravit menu pro volbu režimu křižovatky z webového rozhraní
  •  program odladit

Zadání úlohy
doplňte funkci křižovatky o čtvrtý režim:

  • vše vypnuto
  • blikání oranžových světel
  • časování dle zadaného diagramu 
  • časování podle dalšího časového diagramu

K volbě režimu použijte menu, které si vytvoříme ve webovém rozhraní. K tvorbě a editaci webu slouží nástroj WebMaker. 

Úprava stávajícího programu

Program zůstane téměř beze změny. Čtvrtý režim se bude lišit pouze časy, ve kterých dochází k nějaké změně na semaforech. Nemusíme tedy zakládat další FB, jen zavoláme fbCasovani s jinými parametry.

V deklarační části přidáme instanci nového časového režimu, ve výkonné části FB zavoláme s příslušnými parametry.

Upravený program vidíme na obrázku

 

Vizualizace křižovatky 

Součástí prostředí Mosaic je nástroj WebMaker, který slouží k tvorbě webového rozhraní pro danou aplikaci. Díky vestavěnému WebServeru bude PLC nejen řídit křižovatku, ale také poskytovat webové stránky pro monitorování a ovládání dané aplikace. Ve finále může naše vizualizace vypadat jako na obrázku.

Tvorba rozhraní je velice jednoduchá, v našem případě obsahuje jen podkladový obrázek, dvoustavové obrázky pro znázornění semaforů, rozbalovací seznam pro volbu režimu a pasivní text.

 

Nastavení vlastností webové stránky

Z nabídky Nástroje zvolíme WebMaker. V hlavním okně pracovní plochy se otevře nová záložka  WebMaker. V levé části vidíme seznam vytvořených stránek rozdělený do skupin.

Budeme potřebovat jen jednu stránku a v prvním kroku nastavíme její parametry.

Pravým tlačítkem myši na stránce Index vyvoláme lokální menu, ze kterého vybereme položku Vlastnosti. 

Do popisku dáme jméno Křižovatka a můžeme změnit barvu pozadí, případně vložit obrázek. Prodlevu mezi obnovením stránek necháme na 1000ms.

Můžete použít libovolný podkladový obrázek, jen mějte na paměti, že jeho rozměry v Mosaicu nelze upravovat. Obrázek lze stáhnou např. zde.

Vizualizace světel semaforu

K vizualizaci stavu proměnné typu BOOL slouží Dvoustavový obrázek. Vybereme ho z nástrojové lišty, umístíme do plochy a nastavíme parametry:

proměnná: ZH (zelená na hlavní)

obrázek při ZH = 0

obrázek při ZH = 1

obrázky můžeme použít libovolné, některé jsou připraveny po instalaci Mosaic.

Další vlastnosti můžeme nechat beze změny

Stejným způsobem vytvoříme další semafory, můžeme samozřejmě kopírovat

Menu pro výběr režimu

Pro zadání režimu, ve kterém bude pracovat naše křižovatka, použijeme Rozbalovací  seznam. Připravíme jména položek seznamu a hodnoty, které se budou zapisovat do proměnné volbaRezimu.

Přihlašovací údaje

Abychom mohli sledovat naši aplikaci stránku pomocí webového prohlížeče, musíme nastavit jméno a heslo pro přihlášení.

Pokud je PC se stejné síti jako PLC tak pro zobrazení webového rozhraní stačí zadat do adresního řádku prohlížeče IP adresu PLC systému. 

V opačném případě je postup složitější, můžete například využít služeb TecoRoute, které poskytuje společnost Teco a.s.

Zdokonalení programu

Pozorný programátor si jistě všimne, že předložený program není dokonalý. Zde se nabízí prostor pro kreativní myšlení studentů, kteří často přijdou se zajímavými nápady.

U prezentovaného programu vidím největší problém v přechodech mezi režimy. Pokud přestaneme volat funkční blok, jeho lokální proměnné zůstávají až do dalšího volání beze změny.  

Časovač křižovatky si tedy pamatuje čas, od kterého pokračuje při dalším zavolání. 

Pro vynulování časovače při změně režimu se nabízí řada možností – například práce s globálními proměnnými, doplnění funkčního bloku o nulovací vstup atd. To už bych nechal na studentech…

Pokračování
V příští kapitole tutoriálu naprogramujeme model mísicí jednotky systému EDU-mod  

Dotazy k této kapitole pište do formuláře v úvodu tutoriálu.