Kurzy programování

Kurz programování WinCC Flexible

Kurz WinCC Flexible, nástroje k vytváření aplikací pro HMI Siemens, díl 4


Další část našeho kurzu vytváření aplikací pro HMI panely Siemens nám ukáže, že i zdánlivě jednoduché úkoly bývají složité a naopak. Naučíme se totiž využívat oblast Area pointer, která slouží k systémové komunikaci mezi HMI a PLC a doplníme si jednu funkci z minulého dílu. V závěru lekce bude i krátká videoukázka použití funkcí z oblasti Area pointer.

 


4.1 PAMĚŤ AKTUÁLNÍHO DATA A ČASU V PŘIPOJENÉM PLC

V nastavení systémového data a času HMI podle ukázky z minulé lekce chyběla jedna podstatná informace, na kterou většina z vás zcela jistě přišla. A sice, že po vypnutí a opětovném zapnutí HMI není datum a čas aktuální, lidově řečeno, systém si jej nepamatuje.


4flexible100

V ojedinělých případech nebo u jednoduchých zařízení by to nemuselo vadit, ale u ostatních aplikací je to nepříjemné. Naše HMI, stejně jako některé další, například malé panely pro PLC řady S7-1200, tuto funkci pamatování nepodporují, po zapnutí najdete na panelu vždy tyto základní údaje, takže využijeme PLC.


4flexible01

Bude nezbytné získat údaje o datu a čase z připojeného PLC, které si tyto údaje samozřejmě pamatuje. Právě tady si ukážeme, že co vypadá jednoduše, nemusí vždy jednoduché být. V našem PLC S7-1200 pro získání těchto údajů slouží systémový blok RD_SYS_T, který neustále ukládá informace o datu a čase PLC do šesti slov ve speciálním DTL formátu do nějakého datového bloku.

4flexible02

Tento datový blok si v PLC vytvoříme, je to DB52 s označením AP HMI a obsahuje zatím dvě proměnné, jednu PLC Time (6 slov), kde se ukládá aktuální datum a čas, druhou RET VAL (1 slovo), ve které najdeme status tohoto bloku.


4flexible03

Těchto šest slov si ve VAT tabulce v PLC rozklíčujeme a prohlédneme, abychom viděli, co kde je, tedy kde je údaj o letopočtu, měsíci, atd. Je to nezbytné pro pochopení další funkce a zapamatujme si, že letopočet je v prvním slově jako celá proměnná s hodnotou 2014.

Jestliže máme k PLC připojen panel, pro který vytváříme aplikaci v TIA portálu, bylo by toto asi vše a stačilo by do Area pointer v HMI zadat adresu DTL formátu, což si ukážeme za chvíli. Také je možné využít rozklíčovaná data v PLC programu, například pro namazání každé pondělí v šest hodin a podobně.

Ovšem pozor, pokud jste si ve druhé části 2.5 našeho kurzu všimli, že my používáme panel KTP1000 Basic PN a ten podporuje spojení na PLC SIMATIC S7-300/400, proto nám tento formát DTL z S7-1200 nebude u tohoto panelu fungovat. To je jedna z dalších odlišností proti PLC řady S7-300. Proč a jak z toho ven, uvidíme dále.


4.2 FORMÁT DATA A ČASU PRO S7-300/400 A S7-1200


Panel KTP1000 Basic PN vyžaduje pro datum a čas formát, jaký získáme v PLC S7-300/400, a ten je trochu jiný. Zatímco formát v S7-1200 jsme si rozklíčovali a je již jasný, pro další je nutné využít nápovědu ve WinCC Flexible. Je vidět, že S7-300 využívá také 6 slov, ale pozor, vše je rozděleno po bajtech, tedy informace o aktuálním roku obsahuje jen poslední dvojčíslí a ne celý letopočet. Jestliže HMI v těchto údajích najde nějakou nepřesnost nebo hodnotu mimo rozsah, nikdy datum a čas správně nezobrazí.

Proto musíme předešlé údaje trochu upravit a poskládat někde do datového bloku přesně podle tohoto formátu. Navíc pozor, každý údaj v jednotlivém bajtu musí být v BCD kódu.


4flexible10

Do našeho datového bloku DB52 v PLC přidáme dvanáct bajtů jako oblast pro datum a čas ve formátu S7-300, přesně podle předešlé tabulky z nápovědy. Jako startovací hodnoty si dáme čísla, která budou funkční, ale zatím do této oblasti nic v PLC programu nezapíšeme.

Jen si zapamatujeme, že tato oblast začíná v DB52.DBB14, viz sloupeček offset.


4flexible11

Výše uvedené jsme si připravili v PLC programu a nyní se konečně dostaneme do WinCC Flexible, kde si vytvoříme jeden tag datového formátu Date and time (12 bajtů), začínající na zmíněné adrese DB52.DBB14 a dalších šest tagů formátu Byte, které míří na jednotlivé bajty. Názvy tagů jsou jasné z obrázku.

Je vidět, že i když vytváříte projekt pro HMI panel, je také důležité vědět, jak PLC pracuje, a umět si napsat jednoduchý prográmek na vyzkoušení a podobně. To pro případy, že PLC program dělá třeba někdo jiný, nebo potřebujete do stávajícího panelu něco přidat.


4flexible12

Teď si na naši obrazovku k systémovému času přidáme do dalšího pole Date-Time náš čas, který nebude systémový, ale z vytvořeného tagu.


4flexible14

Jednotlivé pole rok, měsíc, den, hodina, minuta a vteřina pak míří na našich šest jednotlivých bajtů do PLC.


4flexible101

Vše pak bude vypadat asi takto a můžeme si zadávat jednotlivé údaje data a času samostatně tak, abychom pochopili lépe celý princip, ale hlavně abychom si odladili celý formát, který je určen pro S7-300, ale my si jej vytvoříme v S7-1200.


4.3 VYTVOŘENÍ SPRÁVNÉHO FORMÁTU DATA A ČASU PRO S7-300/400 Z S7-1200


4flexible20

Když jsme si vyzkoušeli nastavit údaje ve formátu data a času z obrazovky PLC, vyzkoušíme si tohle nastavení z VAT tabulky PLC programu prostředí TIA portal. Jestliže máte jiné PLC, můžete tento krok přeskočit, zde je uveden jen pro to, abychom si vyzkoušeli ještě jeden detail, a sice BCD zápis do formátu data a času. Proto si do této VAT tabulky do jednotlivých bajtů 14 až 19 zapište přímo proměnné tak, aby se na HMI panelu správně zobrazovala. Stačí vyzkoušet vteřiny, a hodnotu deset vteřin. Pokud nebude formát správně, uvidíte, co se bude dít.


4flexible21

Nyní konečně provedeme lehkou úpravu v PLC programu, a sice přeneseme jednotlivé proměnné z oblasti formátu S7-1200 do oblasti formátu S7-300. Pěkně všech šest údajů, přičemž údaj roku musíme nejprve ořezat jen na dvě poslední místa, a pak nezapomenout konvertovat do BCD formátu, což je klíčové.


4flexible22

V jednom segmentu jsme si převedli datum a ve druhém si převedeme čas. Elegantněji by pro tento převod šlo udělat si vlastní funkci, to je však jiný kurz a jiná kapitola.


4flexible102

Takto pak vypadá datum a čas na panelu z PLC, v případě vypnutí a opětovného zapnutí se nic neděje, PLC si čas spolehlivě pamatuje.

Ještě drobná poznámka na závěr, nezapomeňte si nastavit správný datum a čas v PLC.

Aby to ale nebylo jednoduché, tak tohle ještě stále není systémový čas HMI. Je to jen čas PLC zobrazený na obrazovce panelu v poli data a času. Systémový čas se totiž používá pro záznam v grafech a také poruchových hlášeních, takže je nezbytné jej mít stále aktuální.


4.4 SYNCHRONIZACE SYSTÉMOVÉHO DATA A ČASU PŘES AREA POINTER OBLAST

Všechno výše uvedené jsme si ukázali a naučili se jen pro to, abychom si ověřili, jak funguje DTL formát a data pro náš panel a jak je můžeme použít pro Area pointer oblast. To je komunikace mezi HMI a PLC, která běží nezávisle a slouží k dalším užitečným věcem.


4flexible30

Nastavení dat v oblasti Area pointer najdeme v projektu WinCC Flexible v záložce Connections. Položek je tam několik a je vhodné si zobrazit nápovědu pro detailnější objasnění.


4flexible31

Nás zatím zajímá čtvrtý řádek, a sice Date/time PLC, což je systémová funkce, která přenáší datum a čas z PLC do systému HMI. To je nesmírně důležité, že se data zapisují do systému HMI.

Poznámka: Funkce Date/time funguje naopak a nastavuje čas v PLC časem z panelu. Používá se občas u větších HMI panelů, které mají vlastní hodiny reálného času a například v případě úpravy data a času se pak nemusí nastavovat vše v PLC přes TIA portal, nebo Step7, ale jednoduše jen na obrazovce panelu.


4flexible32

Takto provedeme nastavení synchronizace data a času z PLC do HMI. Stačí zadat počáteční adresu, délka 6  slov je neměnná a nastavení proběhne každou minutu.

Uložíme projekt WinCC Flexible a nahrajeme do panelu.


4flexible102

Pokud máme všechno v pořádku, tak i systémový čas je nyní aktuální a bude aktuální i po vypnutí a zapnutí zařízení.

Synchronizaci si vyzkoušíme jednoduchým pokusem. V systémové obrazovce změníme datum nebo čas, přepneme se zpět a nejpozději do jedné minuty se nám systémový čas nastaví zpět podle času v PLC.


4.5 ZJIŠTĚNÍ ČÍSLA AKTUÁLNÍ OBRAZOVKY V PLC PŘES AREA POINTER OBLAST


4flexible40

Občas je dobré v PLC vědět, která obrazovka je zrovna na HMI panelu zapnutá. Buď proto, abychom zajistili podmínky stroje třeba při obrazovce seřizování, nebo jednoduše chceme zjistit, jak a kdo nám přes noc procházel obrazovky panelu. Přes naše systémové funkce HMI dostaneme do PLC vždy číslo aktuální obrazovky na panelu. Stačí do našeho známého datového bloku DB52 přidat dalších pět slov, tentokrát třeba jako pole od bajtu 26. Zde bude HMI neustále aktualizovat informace ohledně obrazovek.


4flexible41

Proč pět slov a co kde je, si vždy nejlépe zjistíme přes nápovědu. Tam máme přesně rozepsaná jednotlivá slova ve struktuře a jejich význam. Naše číslo aktuální obrazovky najdeme ve druhém slově této struktury. Čtvrté slovo field number se využívá hlavně při textových displejích a panelech, kde můžeme mít obrazovku rolovací. Tato položka nám pak říká, která další část obrazovky je aktuální. Podobně jako když si posouváte tento text dolů a nahoru.


4flexible42

Potom již stačí jen přidat údaje do Area pointer ve WinCC Flexible a projekt přehrát do HMI panelu.


4flexible43

Ještě si upravíme další obrazovku, tedy její číslo. Například u naší třetí obrazovky Odpadky, nastavíme číslo na 99.


4flexible44

Ve VAT tabulce v PLC pak ve slově 28 máme vždy číslo aktuální obrazovky na panelu.


4flexible45

Jako bonus si udělejte tag z HMI do PLC na tuto adresu a zobrazte jej na každé obrazovce. Bude to číslo aktuální obrazovky načtené z PLC.


4flexible104

Vypadat to pak bude asi takto. Podívejte se v závěru na video, kde je ukázka, jak to má u vás vypadat, jestliže zkoušíte vše podle nás.


4.6 PŘEPÍNÁNÍ OBRAZOVEK Z PLC PŘES JOB FUNKCI OBLASTI AREA POINTER

Jestliže umíme přečíst v PLC číslo obrazovky na HMI, je to již jen krok k tomu, abychom zkusili přímo z PLC obrazovky panelu přepínat.


4flexible50

Jako obvykle nejprve se poradíme s nápovědou. Ne všichni si to budeme pořád pamatovat, proto stačí, když víme, kde podrobné informace najdeme. Funkce Job mailbox podle čísla úlohy vykoná funkci v HMI. Je to univerzální funkce a to, kde co se má udělat, se řídí číslem úlohy – jobu.


4flexible51

Tuto část nápovědy si pročtěte trochu více, abyste viděli, co vše se dá s touto funkcí dělat. Nás zajímá úloha – job, číslo 51, která právě zajistí přepnutí obrazovky HMI.


4flexible52

Opět si na konec našeho datového bloku DB52 v PLC přidáme čtyři slova, ale první si rozdělíme na bajty. Číslo úlohy bude totiž v prvním bajtu přesně podle komentáře v datovém bloku.


4flexible53

Naše Area pointer v HMI se již pěkně rozšířila, takže si do označeného řádku přidáme další oblast pro Job mailbox.

Nezapomenout uložit a nahrát do HMI.


4flexible54

Na závěr hurá do VAT tabulky v PLC, odkud budeme obrazovky přepínat. Pozor, tato úloha vyžaduje vždy jen jednorázový zápis, který si HMI přečte, vykoná úlohu a data v patřičné oblasti vymaže. Proto ty nuly v online datovém bloku PLC. Je to přesně vidět na videoukázce.

Při praktickém použití v PLC programu zapisujeme data do oblasti Job mailbox například jen na hranu podmínky, abychom zajistili jednorázový zápis.

 


Tak nyní umíme všechno potřebné z Area pointer oblasti. Klidně si zkuste další úlohy z Job mailboxu a této oblasti. Osobně jsem nikdy žádné jiné funkce nepoužíval, například přenos receptur a podobně se dá udělat mnohem elegantněji, což si všechno ukážeme v dalších dílech. Datový blok, který máte nyní vytvořen, využijete pro další aplikace, hlavně s pamatováním data a času. Za domácí úkol si do něj ještě dodělejte a vyzkoušejte nastavení data z HMI do PLC. A nezapomeňte si jednotlivé řádky v datovém bloku PLC poctivě okomentovat, za nějakou dobu si nevzpomenete, co ve kterém slově je.

U starších HMI panelů (například OP7/17) se můžete ještě v této Area pointer oblasti setkat s potvrzováním poruch a mapováním kláves na panelu.

Autor: Jaroslav Blažek, blaja.cz


Užitečné odkazy k tématu 4. dílu WinCC Flexible

HMI panely Siemens, přehled česky

WinCC Flexible přehled česky

Area pointer se řeší i na webu technické podpory Siemens

Související produkty

2 862.00 Kč (bez DPH)
32 224.00 Kč (bez DPH)

Novinky
z naší firmy

Stačí 2 e-maily měsíčně a neunikne vám nic podstatného. 
Přihlaste se a každou druhou středu čtěte přímo ve své poště.

Váš e-mail je u nás v bezpečí. Vždy ctíme Zásady zpracován osobních údajů.

Společnost FOXON je držitelem certifikátu ISO 9001:2018

Sledujte nás i na sociálních sítích.

Made by FOXON s.r.o. © 2019

Rychlý dotaz


Typ vašeho dotazu