ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
1.
OBSAH
1.
OBSAH.............................................................................................................1
2.
ÚVOD...............................................................................................................2
3.
CHARAKTERISTIKA TECHNOLOGIE VÝROBY ZAPÉKACÍCH VÁLCŮ ............................................................................................................3
4.
CHARAKTERISTIKA VÝVOJOVÉHO PROSTŘEDÍ CONTROL WEB 2000 .................................................................................11
5.
POPIS A NÁVRH APLIKACE ...................................................................22
6.
DATABÁZOVÝ SERVER MYSQL A JEHO VYUŽITÍ VE SPOJENÍ SE SYSTÉMEM CONTROL WEB 2000 ...................................................40
7.
WEBOVÁ PREZENTACE VIZUALIZACE.............................................45
8.
POUŽITÝ HARDWARE A SOFTWARE .................................................48
9.
ZÁVĚR...........................................................................................................49
10. LITERATURA..............................................................................................51 11. SEZNAM PŘÍLOH.......................................................................................52 12. OBSAH PŘILOŽENÉHO CD .....................................................................53
1
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
2.
ÚVOD
Tato diplomová práce se zabývá návrhem a realizací aplikace vizualizačního prostředí technologie výroby toneru a zapékacích válců do laserových tiskáren a kopírek ve firmě KBSystems s.r.o., Vyškov. Požadavkem zadavatele je navrhnout a realizovat požadovanou aplikaci pomocí vývojového prostředí Control Web 2000. Dosavadní sběr a zpracování měřených dat, která mají zejména sloužit k dokladování výroby v souladu s normou ISO 9001, je zajišťován pomocí kompenzačních bodových zapisovačů na role papíru. Zapsaná data jsou dále vyhodnocována ručně pověřeným pracovníkem. V současné době zvyšování výkonu, stability výpočetní techniky a jejího softwarového vybavení, doprovázeného poklesem cen, se nabízí rozsáhlá oblast využití PC v průmyslových aplikací se sběrem dat a jejich dalším zpracováním. Součástí zadání je vytvoření docházkového systému zaměstnanců a systému monitorování pohybu zaměstnanců po provozu s využitím aplikace Control Web 2000 propojené s databázovým serverem MySQL. Aplikace musí obsahovat zobrazení současné prezence zaměstnanců v provozu, knihu docházek s měsíčním vyhodnocením docházky jednotlivých zaměstnanců. Poslední částí zadání je požadavek realizace webové prezentace vizualizace a to s pomocí integrovaného http serveru vývojového prostředí Control Web 2000.
2
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
3.
CHARAKTERISTIKA TECHNOLOGIE VÝROBY ZAPÉKACÍCH VÁLCŮ Výroba v závodě KBSystems s.r.o. je zaměřena na následující technologie:
• Technologie tekutého silikonu a pěnových válců: Kovová jádra válců jsou odmaštěna, zdrsněna a opatřena vrstvou primárního nátěru. Na zavadlá jádra válců je potom aplikována vrstva silikonu pomocí vstřikovacích automatů SLIM. Válce s aplikovanou vrstvou silikonu se dále vytvrzují v odporové horkovzdušné peci. Ohřev výrobku probíhá od proudícího horkého vzduchu. Důležité je vhodné rozmístění teploty uvnitř pečící komory pece. Podle jednotlivých typů výrobků je dle výrobní dokumentace doporučeno toleranční pásmo teploty, u silikonu zpravidla +/- 5˚C. Pec je vybavena programovým regulátorem teploty a alespoň jedním limitním regulátorem. Pro kontrolu dosažených časů a teplot je každá pec vybavena nezávislým snímáním teploty pomocí zapisovače CHINO. Kontrola teploty v pečící komoře pece je prováděna jedenkrát týdně pomocí šestibodového zapisovače CHINO. Úkolem pečení je dosáhnout správné vulkanizace a tvrdosti silikonové vrstvy, které jsou základem kvality válce. Vytvrzené a vychlazené válce se podle typu obrousí na hrotové brusce. Na obroušený povrch válce se dále aplikuje antiadhézní vrstva tvořena v převážné míře teflonovou nebo PFA tubou. Válce s aplikovanou tubou se dále pak dotvrzují v odporové a tlakové peci. Tlakového pečení je užito pro vytlačení naakumulovaného vzduchu pod PFA tubou. Poté jsou válce pomocí poloautomatu zařezány na konečné rozměry, doplněny ložisky a zabaleny k distribuci. U technologie pěnových válců je místo vstřiku silikonu automatem SLIM použito nalepení pěnového „sponge“ (polyuretanová pěnová houba) poloautomatem, doplněného navíc o přeřezání délky a automatické natažení teflonové tuby. Tyto válce se užívají v tlakových částech fixačních jednotek digitálních i analogových kopírek a laserových tiskáren.
3
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
•
Technologie tuhého silikonu Primární nátěr kovových jader připravených stejným postupem jako
u předchozí technologie, se vytvrzuje v odporové peci. Poté jsou jádra uzavřena do aplikačních forem, které jsou pomocí šnekového lisu Extruder plněny tuhým silikonem. Zcela naplněné formy se předehřejí indukčním ohřevem a následně proběhne v odporové komorové peci základní vulkanizace.
Poté jsou válce
ve formách ochlazeny ve vodní lázni, formy jsou rozebrány a válce jsou umístěny do odporové komorové pece ke konečnému vytvrzení. Nakonec jsou válce upraveny do konečných rozměrů, opatřeny ložisky, omyty a připraveny k expedici. Takto vyrobený válec je používán v tlakových částech fixačních jednotek velkokapacitních digitálních tiskových zařízení.
•
Technologie tekutého teflonu Po odmaštění jsou kovová jádra válců opískována a opatřena teplotně odolnou
silikonovou směsí v černé barvě určenou k snížení odrazu světla a zvýšení odvodu tepla. Na povrchu je proveden primární nástřik teflonu cca. 15 µm a po vysušení je provedeno nanesení vrchní vrstvy teflonu nebo PFA materiálu ve vrstvách 20 - 60 µm, která je po vysušení vytvrzována v odporové horkovzdušné peci při cca. 380 – 420 ˚C. Úkolem pečení je teplotní vytvrzení antiadhézních vrstev válce. Vybavení pecí je shodné jako u předchozích technologií. Povrch vytvrzených a vychlazených
válců je dále vyhlazen na hrubost Rz 1 - 4 µm podle
technologických předpisů pro jednotlivé typy výrobků a materiálu. Hotové válce jsou doplněny ložisky, zabaleny a připraveny k expedici. Válce vyrobené touto technologií se užívají jako vyhřívací část fixačních jednotek digitálních i analogových kopírek a laserových tiskáren.
•
Technologie STRIPING Tato technologie se používá k odstranění starých vrstev z již použitých válců
pomocí vysokotlakého vodního paprsku k získání a zpětnému využití kovových jader.
4
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
5
Vysoké učení technické v Brně
3.1
REALIZACE HARDWARU PRO MONITOROVÁNÍ TEPLOT V PECÍCH Měření teplot: Pro měření teplot v zadané aplikaci je použito odporových
platinových snímačů Pt100 od firmy Regmet, [1] které splňují pro měření teplot v rozsahu 0 – 600 °C předpoklady z hlediska přijatelné ceny i jejich technických parametrů pro danou aplikaci, zejména linearity. K převodu signálů odporových snímačů Pt100 na unifikované signály 0 - 10 V je užito RU převodníků RU–4P–DC od firmy Regmet. [2] Odporové snímače jsou k převodníkům z důvodu potlačení odporu přívodů připojeny pomocí třívodičového zapojení. Pro přenos a další zpracování napěťových signálů převodníků počítačem je použito dvanáctibitového A/D převodníku integrovaného v univerzálních modulech UCM-1 v.1 od firmy Velinvestik, [3] ze kterých je dále hodnota měřené veličiny
přenášena po sériové komunikační lince RS485 do PC k dalšímu
zpracování. PC je k lince RS485 připojen přes převodník sériových linek UC 485 firmy Papouch, [7] pomocí integrovaného sériového rozhraní RS232.
3.2
REALIZACE HARDWARU PRO MONITOROVÁNÍ POHYBU ZAMĚSTNANCŮ A DOCHÁZKOVÝ SYSTÉM Monitorování
pohybu
a
docházkový
systém:
Docházkový
systém
zaměstnanců a systém monitorování pohybu zaměstnanců je realizován pomocí modulu UCM-BIS od firmy Velinvestik. [4] Modul slouží k ovládání dveřního zámku pomocí bezkontaktních ID karet UCMcard a pro následnou vizualizací událostí s tím spojených (přenos stavu dveřního kontaktu a čísla karty, která dveře otevřela, do PC). Modul je vybaven sériovým komunikačním rozhraním RS485. Funkce modulu je následující, po přiložení karty BIS modul zjistí, jestli daná karta má právo otevřít dveře pro které byl naprogramován. Pokud ano, indikuje to rožnutím zelené LED a zároveň sepnutím relé, cca na 20 sekund, aktivuje dveřní zámek. Osobní číslo zaměstnance kterému „bylo otevřeno“ je uloženo do mezipaměti a může být následně přeneseno do počítače. Pokud přečtená karta nemá autorizaci
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
pro otevření dveří daným modulem, rozsvítí se červená LED a dveřní zámek není aktivován. Přiložení karty s rozdílným číslem organizace je indikováno střídavým blikáním rudá/zelená LED. Správné přiložení jakékoliv karty s číslem dané organizace je avizováno krátkým pípnutím. Výstup pro ovládání dveřního zámku je řešen spínacím kontaktem nízkovýkonového mikrorelé. 3.3
KOMUNIKACE MEZI PC A MODULY UCM-1 A UCM-BIS Pro přenos dat mezi zařízeními se často používá sériová komunikace.
Zatímco snaha pro zrychlení toku dat (například mezi jednotlivými obvody v jednom přístroji)
vede k užívání synchronního přenosu (data, synchronizační impulsy,
rámec), pro malé objemy dat a větší vzdálenosti je naopak výhodné použít asynchronní komunikace.
Pojmem „malý objem dat“ je zde myšlena rychlost
v řádech 1 – 100 kb/s. Asynchronní komunikace minimalizuje počet vodičů potřebných k přenosu čímž se snižují náklady na komunikační vedení. [5, 6] Pro přenos naměřených hodnot do PC je použita sériová linka RS485 zakončená převodníkem RS485/ RS232 s automatickým přepínáním směru komunikace, který je pomocí sériové linky RS232 připojen k počítači. Pro řízení přístupu k přenosovému médiu je použita metoda master-slave. Komunikace probíhá v dotazovacím režimu, PC v roli master zasílá příkazy příslušným modulům UCM pracujícím v režimu slave, a ty, pokud je jim příkaz adresován, na něj odpovídají.
Struktura zpráv zasílaných PC modulům UCM: Struktura zpráv (dotazů) zasílaných z PC jednotlivým modulům UCM je definována výrobcem modulů. Struktura zprávy je naznačena na obr. 3.1.
Prefix Adresa Příkaz #
F
F
1
CR $0D
Obrázek 3.1. Struktura zprávy
6
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Složení struktury zprávy zasílané z PC jednotlivým modulům UCM je následující:
•
Úvodní znak tvoří prefix. Je možno použít tří různých znaků s rozdílným významem: # ..... používán pro začátek zprávy většiny běžných příkazů $ ..... používán pro vedlejší příkazy kvůli kompatibilitě s ADAMem & ..... používaný ve zprávě pro zařízení připojená přes rozhraní I2C k modulu
•
Za úvodním znakem následují dva znaky adresující daný modul, tvoří adresu. Znaky mohou nabývat hodnot 0 – F hex,
•
Za adresou je zařazen samotný příkaz
Příkazy uvedené prefixem $ před adresou - M...vypíše jméno přístroje (vrací !aaUCM-1
, kde aa je adresa přístroje který odpovídal), - F.... vypíše verzi firmwaru (vrací !aaVx.y, kde x,y je číslo verze, aa je adresa přístroje), - A.... vypíše adresy všech připojených přístrojů (má smysl jen se všeobecnou adresou FF hex).
Příkazy uvedené prefixem # před adresou (pro UCM-1) - 0...........vrací hodnotu teploty z připojeného integrovaného čidla ve °C. Hodnota je přenášena ve formě ASCII řetězce začínajícího znakem >, za nímž následuje znaménko a desítkové číslo s proměnným počtem míst před desetinnou tečkou (nuly zleva jsou vypuštěny), za desetinnou tečkou následuje jednomístné desítkové číslo. Rozlišení je 0,1°C, - 1 až 4.....vrací hodnotu ze vstupu 12-ti bitových A/D převodníků Ain 0 až 3. Formát výstupu je >0000 až >4095 (pro 0 až +5V na vstupu převodníku),
7
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
8
Vysoké učení technické v Brně
Příkazy uvedené prefixem # před adresou (pro UCM-BIS) - D... vrací momentální stav dveřního kontaktu. Zasílaná odpověď je ve formátu >0 (pro sepnutý kontakt), nebo >1 (pro rozepnutý kontakt), - K... vrací číslo poslední přečtené platné karty (takové, která aktivovala relé zámku dveří). Formát zprávy je >xxxx (kde xxxx nabývá hodnot 0000 až 4095). Pokud od zapnutí modulu nebyla přečtena žádná platná karta modul odpovídá zprávou >9999.
•
Zpráva je nakonec zakončena koncovým znakem CR v ASCII.
Zabezpeční zprávy Zpráva s naměřenou hodnotou není během přenosu zabezpečena. Prověření přijaté zprávy je zajištěno přímo aplikací porovnáním s maskou očekávané příchozí zprávy. Tato metoda ovšem není v případě poruchy dostatečným ošetřením. V budoucnu by bylo vhodné zajistit zasílaní
zpráv z UCM modulů např.
s kontrolním součtem.
3.3.1 Vlastnosti a zapojení sériové linky RS485 [5, 6] Linka RS485 je vhodná pro přenos dat na větší vzdálenosti. Může být vedena až na vzdálenost 1 600 m (vodiče s kapacitou do 65 pF/m) a lze ji větvit. Každý ze signálů linky je přenášen po dvojici vodičů, nejlépe v provedení kroucený pár. Vodiče označené a a b jsou vysílačem buzeny v protifázi a přijímač vyhodnocuje jejich napěťový rozdíl. Tímto principem se odstraní součtové (aditivní) rušení. Pro
základní
zapojení
RS485
systému
potřebujeme
IO
budič
s diferenciálními výstupy a IO přijímač s diferenciálními vstupy. Do přenosového vedení se indukuje šum a rušení. Protože se však signál přenáší krouceným párem vodičů jdoucích stejnou trasou, je napěťová diference (rozdíl napětí mezi a a b) tohoto rušení téměř nulová. Vzhledem k diferenciální funkci vstupního zesilovače RS485 přijímače je toto rušení eliminováno. Platí to také pro přeslechy ze sousedních vodičů, a pro jakékoli jiné zdroje šumů, dokud nejsou překročeny napěťové hranice vstupních obvodů přijímacího IO. Diferenciální vstup také eliminuje rozdíl zemních
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
9
Vysoké učení technické v Brně
potenciálů vysílače a přijímače. Tato vlastnost je velmi důležitá pro komunikaci mezi různorodými systémy, kde by jinak vznikaly veliké problémy např. pro různé zdroje napájecího napětí atd.. Použití TwistedPair kabelů a korektní terminace (pro eliminovaní odrazů) dovoluje rychlost přenosu dat vetší než 10Mbit/s a délky kabelů až 1 Km. Všechny tyto výhody přinášejí i některé nevýhody. Z důvodu vyšší složitosti obvodů pro RS485 je poněkud vyšší i jejich cena. Vyšší rychlosti přenosu dat vyžaduje korektně zapojenou a přizpůsobenou terminaci vedení, což způsobuje problém u zapojení, kde se mění počet připojených zařízení. A konečně nutnost použít TwistedPair vodiče. Impedanční zakončení linky RS485 je věc problematická. Je samozřejmě správné na konce linky zapojit rezistor o shodné hodnotě s impedancí vedení a zabránit tím odrazům na vedení. V praxi však obvykle nejsou používány vysoké rychlosti přenosu (typické jsou 9,6 kBd nebo 19,2 kBd) a ani vedení nebývají správně provedena. Zakončení pak ztrácí smysl a jen snižuje úroveň signálu a tím i odolnost proti poruchám. Proto je vhodné volit zakončení spíše větší do 1 000 Ω. Mnohem důležitější než impedanční zakončení je definování klidového stavu linky.
Protože při komunikaci po lince RS485 se vysílače odpojují, dochází
k dobám, kdy na linku žádné zařízení nevysílá. V této době není stav linky definován a ta je extrémně citlivá na indukované napětí (poruchy), které se mohou jevit jako příchozí data. Proto je třeba definovat klidový stav připojením rezistorů. Rezistory definující klidový stav je třeba volit v rozsahu 470 Ω – 1 kΩ. [6] Na použitou linku RS485 je připojen převodník sériových linek RS232 na RS485 typ UC 485 od firmy Papouch. [7]
Tento převodník má možnost připojit rezistory definující stav linky
pomocí konfigurace DIP přepínačů. Hodnota rezistoru je 150 Ω.
3.3.2 Sériová linka RS232 [5] Komunikace
po
lince
RS232
se
používá
pro
připojení
zařízení
komunikujících maximální rychlostí 115.2 kb/s. Jedná se o dvou bodovou topologii. Kromě vodičů pro přenos dat - RxD a TxD obsahuje linka ještě další vodiče
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
pro řízení toku dat. Tyto pomocné řídící signály nejsou obsaženy v linkách typu RS422 ani RS485, jsou zde nahrazeny komunikačním protokolem. Ani mnohá zařízení komunikující po lince RS232 tyto signály nevyužívají. Nevýhodou linky RS232 je omezená komunikační vzdálenost a nemožnost jejího větvení. V této aplikaci je uvedené linky použito pro připojení PC na sběrnici RS485 pomocí převodníku sériových linek UC 485.
10
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
4.
CHARAKTERISTIKA VÝVOJOVÉHO PROSTŘEDÍ CONTROL WEB 2000
4.1
SEZNÁMENÍ SE SYSTÉMEM CONTROL WEB 2000 Control Web 2000 je univerzální nástroj pro vývoj a realizaci vizualizačních
a řídících aplikací, aplikací sběru, ukládání a vyhodnocování dat, aplikací rozhraní člověk-stroj. Široký rozsah aplikací systému Control Web 2000 zajišťuje jeho objektově orientovaná komponentová architektura. Control Web 2000 pracuje v prostředí operačních systémů implementujících programové rozhraní Win32. Obsahuje také podporu řady průmyslových standardů. Systém Control Web 2000 vychází koncepčně z architektury svých předchůdců Control panel a Control Web. Tyto systémy jsou nasazovány v široké škále aplikací od jednoduchých vizualizací a přímé řízení strojů až po řízení jaderných elektráren.[8] Příklady zajímavých aplikací systému Control Web 2000:[10] -
Golem : lékařský simulátor fyziologických funkcí, Lékařská fakulta UK v Praze
-
Systém vnitřního varování Jaderné elektrárny Dukovany.
-
Technický dispečink pražského metra, Dopravní podnik hlavního města Prahy a.s.
-
Řada aplikací v oboru zpracování ropy a petrochemie, CHEMOPETROL a.s.
-
Ovládání 6 MW parních turbín, Cukrovary Kom Ombo, Nag Hamadia a Qus, EGYPT
-
Komplexní systém řízení energetiky podniku, ŠKODA automobilová a.s., Volkswagen group .
-
Systémy pro sběr dat a vizualizaci na přehradách, řízení komunikačního systému rádiové sítě, Povodí Odry a.s., Ostrava
11
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
4.2
VLASTNOSTI SYSTÉMU CONTROL WEB 2000 [8] K tvorbě vizualizačních aplikací systém Control Web 2000 nabízí širokou
škálu vhodných komponent - zobrazovací a ovládací prvky, alarmy a archivery, historické trendy apod. Navíc poskytuje širší programovatelnost a otevřenou, komponentovou architekturu. Množina virtuálních přístrojů není pevně dána a zabudována v systému. Každý přístroj je dynamicky linkovaná knihovna detekovaná při startu systému. Množinu virtuálních přístrojů lze libovolně rozšiřovat. - Control Web 2000 umožňuje práci v reálném čase. Nespoléhá se na tzv. databázi reálného času, která je doplňována "maximální možnou rychlostí" (což v praxi může znamenat i intervaly několika desítek sekund mezi komunikacemi s automaty připojenými přes DDE). Každý vstupně/výstupní kanál je čten přesně v době, kdy jej nějaký virtuální přístroj (nebo skupina virtuálních přístrojů) požaduje. Real-time časování je přesně monitorováno a řízeno. - Control Web 2000 umožňuje sekvenční řízení procesů. Virtuální přístroje nemusí být aktivovány na základě rozhodnutí systému , ale v přesně definovaném čase a v přesně definované sekvenci. - Jednotlivé komponenty systému Control Web 2000 jsou volně programovatelné. Pokud potřeby uživatelů sahají za možnosti řady panelů s vizualizačními a ovládacími prvky, každá komponenta má k dispozici mocné programátorské nástroje, jako jsou lokální proměnné a libovolně definovatelné procedury reagující na události. - Control Web 2000 umožňuje tvorbu skutečně distribuovaných řešení. Nejde o pouhou replikaci množiny tagů přes NetDDE v NetBIOS sítích, ale skutečné zpřístupnění libovolného datového elementu všem spojeným aplikacím po libovolné TCP/IP síti včetně Internetu. Virtuální přístroje mohou být aktivovány po síti a i metody dynamického rozhraní virtuálních přístrojů mohou být volány po síti. Síťová komunikace může být samozřejmě precizně časována a řízena k dosažení optimálního výkonu. - Control Web 2000 umožňuje vizualizaci technologií prostřednictvím internetových standardů HTTP a HTML pomocí libovolného WWW klienta, ať již pracuje v prostředí MS Windows, Apple Macintosh nebo UNIX či Network Thin
12
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Client. Přitom se nejedná o pouhý plug-in do nějakého existujícího HTTP serveru, např. Microsoft IIS běžícího po Windows NT Serverem. Control Web 2000 obsahuje plnohodnotný HTTP server dynamicky tvořící stránky podle stavu technologie pracující i na obyčejných Windows 95. Navíc dokáže prostřednictvím HTTP a HTML technologii i řídit. - Kontejner pro komponenty ActiveX umožňuje do aplikace zabudovat ActiveX komponenty a programově je ovládat - nastavovat jim vlastnosti a volat metody z procedur jakýchkoliv přístrojů. - Control Web 2000 naprosto nezávisí na použitém hardware. Nativní ovladače dokáží pracovat mnohonásobně efektivněji než například DDE ovladače. DDE je samozřejmě plně podporováno spolu s OPC (OLE for Process Control) a řadou dalších standardů pro průmyslové automaty, samostatné moduly a měřicí karty. Rozhraní ovladačů je plně dokumentováno a otevřeno, takže každý si může napsat ovladač podle svých potřeb. - Systém Control Web 2000 je zpětně kompatibilní se systémy ControlPanel, Control Web a tím zaručuje rozšíření jediné architektury na nejširší škálu hardwaru, od bezdiskových PC - kontrolérů s 2 až 4 MB paměti po multiprocesorové Windows NT servery. - Snadnost používání může redukovat programování na několik pohybů myší. Průvodci budují kostru aplikace a navigují uživatele přes počáteční stádia návrhu aplikace. Integrované vývojové prostředí umožňuje kdykoliv přecházet mezi textovým módem a grafickým módem návrhu. Aplikace je vždy uchovávána v podobě textového souboru, nikoliv v podobě nečitelných binárních dat.
13
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
14
Vysoké učení technické v Brně
4.3
PROGRAMOVÁNÍ V SYSTÉMU CONTROL WEB 2000 4.3.1 Časování aplikace[8] U aplikace běžící v reálném čase má autor aplikace zcela pod kontrolou
veškeré časování systému. Zjednodušeně je možno říci, že v aplikaci se děje jen to a jen přesně tehdy, co a na jaký časový okamžik stanovil autor aplikace. Při běhu aplikace jsou pak k dispozici diagnostické nástroje, které umožní vše monitorovat a aplikaci vyladit tak, aby se nedostávala do časového skluzu. Základním požadavkem kladeným na aplikace reálného času je takový návrh struktury aplikace, aby se vše na daném počítači stihlo vykonávat v předepsaném čase. Tento požadavek ze zdá být velmi prostým, leč jeho splnění nemusí být vždy zcela jednoduché. Má-li systém Control Web schopnost pracovat v reálném čase, neznamená to, že stihne úplně všechno a není možné jej přetížit. I při programování PLC je časté, že program nestihne doběhnout před časem pro další spuštění. Také zde nám nezbude nic jiného než sekvenci zkrátit nebo prodloužit periodu spouštění. Značný vliv má kromě struktury aplikace také konfigurace použitého počítače. Naopak u aplikace řízené daty se autor aplikace časováním příliš zabývat nemusí. Činnosti jednotlivých částí aplikace (tj. aktivity programových komponent, ze
kterých
je
aplikace
sestavena)
jsou
odvozeny
ze
změn
datových
elementů - proměnných a kanálů. Změní-li tedy nějaký virtuální přístroj hodnotu určité proměnné (např. otočíte knoflíkem a tím zapíšete novou hodnotu do jeho výstupní proměnné), budou automaticky aktivovány veškeré přístroje, které tuto proměnnou při své aktivitě čtou. Při této své aktivitě mohou dále zapsat do dalších proměnných a kanálů a to vyvolá aktivitu opět dalších virtuálních přístrojů atd. Veškerou tuto činnost systém nepřetržitě provádí maximální možnou rychlostí. Je ale téměř nemožné předem stanovit, jaká tato rychlost bude.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
4.3.1.1 Aplikace reálného času [8] Pokud uživatel požaduje deterministické časování aplikace, chce zaručit spouštění akcí v přesných časových okamžicích nebo potřebuje zaručit posloupnost jednotlivých akcí, je třeba zvolit mód reálného času. Takové požadavky jsou zpravidla spojeny s aplikacemi pro přímé řízení strojů, pro řízení laboratorních experimentů apod. U aplikací reálného času je dobré mít na paměti, že: - Systém sám o sobě nic nedělá. Veškerá aktivita pochází od jednotlivých virtuálních přístrojů. Až když je nějaký virtuální přístroj aktivován, teprve informuje systém, o jaké vstupně/výstupní kanály má zájem. Kanály vyžadované jednotlivými přístroji v daném časovém kroku jsou načteny a virtuální přístroje data zpracují. - Systém se vždy bude snažit maximálně dodržet naprogramované časování, a to i pokud je aplikace navržena tak, že na daném hardware a komunikačních rychlostech to není možné. V takovém případě je na uživateli, aby rozhodl o způsobu urychlení aplikace. To je možné celou řadou způsobů -- snížením počtu přístrojů nebo prodloužením časování, nečasováním přístrojů které to nepotřebují, nahrazením časování aktivací od události, posílením hardware (zrychlením procesoru, přidáním paměti), zrychlením komunikací apod. - Pro aplikace reálného času mají zcela zásadní význam ovladače vstupně/výstupních zařízení. Naneštěstí celá řada těchto ovladačů (zejména ovladačů průmyslových automatů) není pro práci v reálném čase uzpůsobena. Jejich autoři často nezvládnou událostmi řízený návrh a vypomohou si periodickým čtením hodnot z automatu. Sebelepší aplikace pak nemůže v reálném čase pracovat, protože ovladač jí v reálném čase není schopen poskytnout data. - Automatická komunikace s periferiemi může být na překážku u špatně napsaných ovladačů (nebo u špatně navržených průmyslových automatů), kdy nelze přenášet jednotlivé údaje nebo jen určité části datových oblastí. Pokud po dotazu na jediný byte ovladač nebo automat vždy pošle celý blok délky několika KB po sériové lince, výkon celého systému prudce klesá. V takovém případě je lépe přesunout data z automatu do proměnných a v ostatních přístrojích pracovat jen s proměnnými.
15
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
- Pro ladění aplikací reálného času nabízí Control Web možnost zobrazení informací o časování celé aplikace i jednotlivých přístrojů. Okno s těmito informacemi se otevře současně se startem aplikace, pokud v sekci settings uvedeme parametr show_timing_info = true;.
4.3.1.2 Aplikace řízené změnou dat [8] Pokud má aplikace za úkol jen vizualizovat, nikoliv řídit nějaký proces (samozřejmě s možností hlídat poruchové stavy, zapisovat archivní soubory, zobrazovat historické trendy apod.), mód datově řízené aplikace může ušetřit starosti s návrhem, usnadnit ladění a zkrátit čas realizace aplikace. Aplikace řízené změnami dat se řídí následujícími pravidly: - Žádná aktivita přístroje nikdy nezpůsobí komunikaci s periferiemi a čtení nebo zápis dat, a to ani když je daný virtuální přístroj periodicky časován (například přístroj historického trendu). - Systém sám periodicky vyčítá data ze vstupně výstupních zařízení a pokud se jejich hodnota od posledního čtení změnila, aktivuje všechny přístroje tento kanál používající. - Virtuální přístroje nejsou aktivovány jen při změně kanálu, ale i po změně použitých proměnných. Např. pokud nějaký přístroj pracuje s nějakou proměnnou a sám tuto proměnnou mění, bude neustále periodicky aktivován, protože jeho aktivace způsobí změnu proměnné, která způsobí další aktivaci. - Minimální perioda aktivace, čas aktivace ani pořadí aktivace v tomto módu nelze zaručit.
4.3.1.3 Shrnutí [8] Časování aplikací je velmi rozsáhlá problematika, zahrnující celou řadu dalších oblastí, jako například aktivace při startu a ukončení aplikace, aktivace voláním procedur, absolutní a relativní časování, časovače, striktní reálný čas, časové
16
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
skluzy a jejich dohánění, posloupnost akcí při startu systému a inicializace datových elementů, stanovení nejdelších přípustných prodlev při čtení a zápisu hodnot apod.
4.3.2 Virtuální přístroje systému Control Web 2000 [8] Aplikační program v prostředí systému Control Web je sestaven z jednotlivých virtuálních přístrojů. Každý virtuální přístroj je zcela samostatnou programovou komponentou. Tato koncepce přináší řadu velmi podstatných výhod: - Systém je trvale zcela otevřený - není nijak omezen ani předem dán počet a typ používaných virtuálních přístrojů. Virtuální přístroje je možno kdykoliv libovolně doplňovat a mohou dělat cokoliv, co jejich autor uzná za vhodné. Výrazové prostředky pro tvorbu aplikací jsou téměř neomezené. - Aplikace pracuje plným výkonem nativního strojového kódu – podoba aplikace v paměti počítače – a tedy i její výkon – je zcela ekvivalentní napevno napsanému programu např. v C++. - Aplikace jsou přenositelné nejen mezi jednotlivými verzemi systému, ale i mezi platformami – veškeré komponenty jsou vždy optimalizovány pro operační systém, na kterém aplikace běží. Aplikace jsou tedy přenositelné např. z šestnáctibitového prostředí systému ControlPanel do dvaatřicetibitového Win32 prostředí systému Control Web. Dostupné virtuální přístroje jsou soustředěny v okně Paleta přístrojů Virtuální přístroje jsou sice samostatnými a na sobě nezávislými komponentami, ale mají-li dohromady tvořit soudržný a výkonný aplikační program, musejí být nějak propojitelné. Základním propojením virtuálních přístrojů v aplikačním programu je struktura časování a struktura viditelnosti. Struktura viditelnosti určuje, kde se na obrazovce bude dotyčný přístroj nacházet a struktura časování stanovuje kdy a za jakých podmínek bude přístroj aktivován. Tyto struktury jsou znázorněny v podobě hierarchických stromů v levé části grafického vývojového prostředí v plochách Vzhled a Časování. Systém Control Web je zodpovědný jen za stanovení a dodržování pravidel pro takováto propojení. To, jakou přístroj vyvine činnost při
17
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
18
Vysoké učení technické v Brně
své aktivaci, jak přístroj vypadá na obrazovce a dokonce i to, jak se přístroj zapíše do zdrojového textu aplikace, je pouze jeho vnitřní věcí.
4.4
NAPOJENÍ APLIKACE NA REÁLNÝ SVĚT [8] Ke komunikaci s okolním světem slouží systému Control Web 2000 datový
element typu kanál. Datový element je vyhrazené místo v paměti počítače, ve kterém je umístěna hodnota. Všechny datové elementy je v rámci aplikace nutné nejprve deklarovat a teprve poté je možno je používat. 4.4.1 Kanály [9] Kanály jsou datové elementy s určeným směrem toku dat(mohou být vstupní - input, výstupní - output nebo obousměrné - bidirectional), libovolného datového typu, mohou být pouze globální (nemůže existovat kanál definovaný jen v určité proceduře) a nejsou kdykoli volně dosažitelné. Mezi nejdůležitější vlastnosti kanálů patří naposledy jmenovaná která je bohužel nejkomplikovanější. Asi nebude daleko od pravdy tvrzení, že celý problém
průmyslové
automatizace
sestává
ze
dvou
úloh
(navzájem
propojených) - první, jak efektivně a účinně sbírat data a posílat je zpět, a druhé, jak efektivně a účinně data zpracovat - vizualizace a archivace a výsledky aplikovat - řízení. Kanály spolu s ovladači v aplikaci systému Control Web řeší úlohu první - komunikační. Každý kanál v aplikaci je obrazem nějakého fyzicky existujícího signálu nebo řídicího prvku. Obojí (signál i řídicí prvek) je přímo svázáno s fyzikální podstatou konkrétní veličiny a kanály tak uvnitř aplikace symbolizují a modelují reálný svět. Spojení kanálu s konkrétním snímačem obstarává ovladač, který dokáže ze snímačů přečíst(nebo do řídicích prvků zapsat) aktuální hodnotu veličiny. Ovladač nabízí podle své konfigurace množinu dostupných vstupů a výstupů a každý takový vstup nebo výstup může být v aplikaci použit jako kanál, viz obr.4.1.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
ovladač
převodník Data protokol
snímače signály
Hardware
kanály
Software
Obrázek 4.1. Komunikační řetězec 4.4.2 Ovladače [8] Ovladač je programová komponenta, která spojuje aplikaci v systému Control Web s konkrétním vstupně/výstupním zařízením. Aplikace může využívat služeb neomezeného počtu ovladačů současně. Ovladač dostává požadavky na čtení nebo zápis dat prostřednictvím kanálů. Tento požadavek přetransformuje do takové podoby, aby mu bylo schopno porozumět vstupně/výstupní zařízení. Systém Control Web je vybaven několika ovladači, které jsou určeny jak pro ladění a testování aplikací, tak pro nasazení v reálném technologickém procesu. - virtuální ovladač, modelový ovladač a simulační ovladače Dummy a SimBuf slouží spíše k ladění a testování aplikací. - Pro běžné použití v reálných aplikacích jsou určeny ovladače DDE, OPC, TCP/IP a ASCII. 4.4.2.1 ASCII ovladač Pomocí tohoto ovladače je možno vysílat a přijímat textové řetězce přes sériové rozhraní počítače. Řetězec je ukončen speciálním znakem nebo dvojicí znaků (terminator), který není součástí řetězce a je k němu automaticky připojen během vysílání. Při přijímaní dat ze sériového rozhraní slouží k detekci konce přijímaného řetězce. Jako terminator může být použito standardních znaků CR, LF, nebo dvojice CRLF popřípadě může být užito jiného libovolného znaku či skupiny dvou znaků s kódy různými od NULL (0). [8]
19
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Kanály ovladače: [8] Kanál č. 1 – stav čtení řetězce Kanál č. 2 – stav zápisu řetězce Kanál č. 3 – přijatý řetězec Kanál č. 4 – řetězec k vyslání Kanál č. 5 – zapnutí/vypnutí ovladače Kanál č. 6 – podřetězec z přijatého řetězce Kanál č. 7 – povolení přijmu řetězců Kanál č. 8 – povolení vysílání řetězců Kanál č. 9 – povolení kombinovaných řetězců Kanál č. 10 – číselný kód znaku ze vstupní vyrovnávací paměti Kanál č. 11 – indikace naplnění vstupní vyrovnávací paměti Kanál č. 12 – vymazaní vstupní vyrovnávací paměti
Ovladač umožňuje pracovat s řetězci obsahujícími i netisknutelné znaky a hodnoty pro časové zpoždění mezi znaky. Tato vlastnost se zapíná nebo vypíná zápisem logické hodnoty true nebo false do kanálu č.9. Netisknutelné znaky (kód 0 až 1Fh) a hodnoty zpoždění jsou do řetězce vkládány jako dvouznakové konstanty v hexadecimální soustavě za patřičný prefix. # - prefix pro číselnou hodnotu znaku - 0 až FF, ~ - prefix pro číselnou hodnotu zpoždění - 0 až FF odpovídá 0,01 až 2,55s.[8]
Hodnoty kanálů (kanál č.1 a č.2): [8] Čtení: 0 - Žádná data 1 - Vstupní řetězec přečten 2 - Time-out. Zápis: 0 - Připraven vysílat 1 - Data se právě vysílají 2 - Time-out.
20
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
21
Vysoké učení technické v Brně
Čtení dat Při čtení dat je nutné nejdříve zjistit přečtením kanálu č.1 stav přijímací linky. Jakmile je hodnota kanálu rovna 1, mohou být přečten vstupní řetězec z kanálu č.3. Při dalším čtení vstupního kanálu je vrácen prázdný řetězec, dokud nepřijde další. Při hodnotě stavového kanálu rovné 2, došlo k vypršení doby bez příchodu řetězce, nastal time-out. [8] Zápis dat Při zápisu dat na výstupní kanál je nejdříve nutno zjistit stav vysílače indikovaný kanálem č.2. Je-li jeho hodnota 0, řetězec může být zapsán do výstupního kanálu. Hodnota 1 signalizuje právě probíhající vysílání dat. Hodnota 2 značí, že do požadované doby nedošlo k odeslání řetězce. [8] Nastavení parametrů komunikace Samotný ASCDRV představuje protokolovou vrstvu, kterou je možno navázat na linkovou vrstvu, na které je závislé nastavení parametrů komunikace. Systém Control Web 2000 umožňuje provozovat několik ovladačů ASCDRV současně nad jednou linkovou vrstvou, a tedy i nad jedním zařízením.Standardně používá
ovladač
“cwcomm.dll“. [8]
ASCDRV
ovladače
linkové
vrstvy
sériového
rozhraní
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
22
Vysoké učení technické v Brně
5.
POPIS A NÁVRH APLIKACE
5.1
ZÁKLADNÍ INFORMACE Aplikace je tvořena dvěma nezávisle na sobě pracujícími moduly, z nichž
první zabezpečuje vizualizaci technologie provozu a druhý spravuje docházkový systém zaměstnanců a systém monitorování pohybu zaměstnanců. Úkolem modulu aplikace vizualizace technologie výrobního procesu zapékacích válců a tonerů do laserových tiskáren a kopírek je informování obsluhy o aktuálním stavu technologie, který je především charakterizován teplotami a tlaky v pečících horkovzdušných pecích, s možností dalšího zpracování snímaných dat jako je archivace, upozornění na kritické stavy technologie s možností jejich uložení popřípadě další zpracování. Grafické rozhraní tohoto modulu je tvořeno ze sedmi základních panelů. Informativní a ovládací prvky jsou v nich logicky umístěny v návaznosti na technologii. Upozornění vzniku
alarmových stavů je zajištěno
prostřednictvím virtuálního přístroje Alarm zobrazujícího okno alarmů při přepnutí do kteréhokoliv z panelů vizualizačního modulu. Modul
docházkového
systému
zaměstnanců
zajišťuje
provozování
docházkového systému zaměstnanců tvořeného systémem Control Web 2000 ve funkci rozhraní databázového serveru MySQL. Modul se skládá z šesti základních panelů z nichž panel Databáze je složen z dalších čtyř panelů zajišťujících zobrazení a správu docházky zaměstnanců. Dále aplikace zajišťuje webovou prezentaci vybraných částí obou modulů aplikace.
5.2
ČASOVÁNÍ APLIKACE Z důvodu zajištění komunikace PC s měřícími moduly UCM prostřednictvím
aplikace systému Control Web 2000, která časuje a adresuje jednotlivé moduly, vyplývá požadavek na deterministické časování dané aplikace. Tento požadavek je rovněž nutno splnit pro zajištění aktivace některých virtuálních přístrojů
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
23
Vysoké učení technické v Brně
v přesných časových okamžicích. Na podkladě těchto kritérií je aplikace navržena pro běh v módu „aplikace v reálném čase“ zaručujícím splnění výše uvedených požadavků. Aplikace byla projektována se snahou o optimalizaci vytížení systémových prostředků tzn. že pouze klíčová řada virtuálních přístrojů je aktivována pomocí časovačů, zbývající virtuální přístroje jsou aktivovány pomocí převážně nativních procedur časovaných přístrojů. Jedním z virtuálních přístrojů aktivovaných pomocí časovače je program main tvořící jádro v obou modulech aplikace. Tento přístroj je aktivován periodicky, z čehož vyplývá nutnost zajistit dobu průběhu celého programu kratší než je doba periody jeho časování. Tohoto požadavku je docíleno s jistým omezením vyvstávajícím ze způsobu řešení komunikace. K situaci, že doba běhu těla programu překročí dobu periody jeho vlastního časování, může dojít při selhání komunikace s pěti komunikovanými moduly UCM, vlivem přerušení komunikačního vedení nebo přímo poruchy modulu. V případě že tato situace
nastane,
systém
Control
Web
2000
je
pomocí
parametru
independent_procedure_execution nastaven k ošetření jejího důsledku - rekurzivní volání programu main, čímž dojde ke skluzu v čase dané běžící aplikace. Vzhledem k tomu, že tato situace je extrémem a během zkušebního provozu k ní nedošlo, nebyla dále ošetřena. V případě, že by byla aplikace provozována v prostředí náchylném na vznik takovýchto chyb, bylo by nejjednodušším ošetřením označení čidla v poruše s prodloužením doby periody jeho komunikace, či komunikace s ním až v případě, že se na ni “ušetří“ čas.
5.3
POPIS POUŽITÝCH VIRTUÁLNÍCH PŘÍSTROJŮ A POUŽITÝCH PROCEDUR 5.3.1 Přístroj Backup Při aktivaci archivuje požadovaná data aplikace do souboru. Při startu
aplikace může naposled zálohovaná data nastavit na příslušné datové elementy.[8] V aplikaci
je
tento
přístroj
využit
pro
zálohování
kalibračních
a parametrizačních konstant na disk. Při startu aplikace jsou tyto konstanty znovu načteny a nastaveny na příslušné datové elementy.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
5.3.2 Přístroj Control Patří k nejčastěji využívaným přístrojům. Provádí nastavení číselné hodnoty do datového elementu. Může mít vzhled rolovací lišty, numerického řádku, editačního řádku nebo dialogového okna. Přístroj je vždy aktivován obsluhou stiskem klávesy <Enter> nebo levým tlačítkem myši na ovládacích prvcích. Navíc může být také aktivován např. časovačem nebo jiným přístrojem, kdy se může automaticky nastavovat podle hodnoty ve svém výstupním datovém elementu nebo cokoliv realizovat ve své proceduře OnActivate().[8] V obou modulech aplikace je využit zejména pro nastavování korekčních konstant a rozličných parametrů aplikace.
5.3.3 Přístroj Draw Tento přístroj umožňuje zobrazení vektorové kresby složené ze základních geometrických prvků (přímek, elips, obdélníků apod.). Rozměry jednotlivých prvků mohou být svázány s výrazy a mohou se tedy s časem měnit. Přístroj draw dokáže animovat zobrazení, která není možno realizovat standardními přístroji. V přístroji je možné vytvářet seskupení objektů, která lze využít při tvorbě animací. Jedním nedostatkem tohoto přístroje je při použití stínovaných objektů pouze horizontální a vertikální stínování. Tyto neduhy jsou odstraněny v nové verzi sytému Control Web 5. [8]
5.3.4 Přístroj Keyboard Slouží pro asynchronní zpracování nadefinovaných událostí vyvolaných od klávesnice. [8]
5.3.5 Přístroj Meter Je dalším velice často využívaným přístrojem. Zobrazuje číselné hodnoty nebo výsledky numerického výrazu. Přístroj nabízí několik typů módů zobrazení měřené veličiny. Jsou to zobrazení pomocí ručkového přístroje, sloupcového
24
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
25
Vysoké učení technické v Brně
indikátoru, grafu a číslicového zobrazovače, s možností přiřazení výsledku do výstupního datového elementu. [8]
5.3.6 Přístroj Panel Přístroj Panel je v podstatě kontejner do kterého je možno shromažďovat více přístrojů s nimiž pak můžeme pracovat jako s jedním objektem, který může být zobrazován, skrýván nebo minimalizován (je-li panel v okně) podle zadaných logických podmínek. [8] Pouze jméno přístroje Panel se tedy může vyskytovat v parametru owner (jméno panelu, kterému je daný přístroj přiřazen) jiných viditelných přístrojů (s výjimkou klíčového slova background představujícího pracovní plochu - desktop). [8] Přístroj Panel může zobrazovat na svém podkladu jakékoliv DataView, které je podporováno systémem Control Web, např. bitmapové nebo vektorové obrázky, texty, grafy, tabulky, databáze, HTML dokumenty, animované 'FLC' a 'AVI' soubory apod. [8] Této jeho schopnosti je využito k zobrazení archivních DBF souborů v panelu Archivace.
5.3.7 Přístroj Program V minulosti
byl
přístroj
Program
jediným
z virtuálních
přístrojů
implementující jazyk OCL (Object Control Language — jazyk řízení objektů). V současné době, kdy jsou všechny virtuální přístroje systému Control Web 2000 obecně programovatelné, pozbyl virtuální přístroj Program této jedinečnosti. Tento virtuální přístroj byl jako jediný schopen vykonávat obecný algoritmus a volat nativní OCL procedury jiných přístrojů. [8] Funkce přístroje Program dnes má jakýkoliv přístroj implementující systémovou událostní proceduru OnActivate(). Virtuální přístroj Program byl v systému ponechán především z důvodu zpětné kompatibility s aplikacemi pro starší verze systémů ControlPanel a Control Web, stále se ale může uplatnit v situacích,
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
26
Vysoké učení technické v Brně
kdy je zapotřebí použít zvláštní virtuální přístroj obsahující procedury vykonávané na podkladě jejich volání jinými virtuálními přístroji. [8] V navrhnuté aplikaci je tento přístroj užit čtyřikrát, a to program main , který je klíčovým prvkem aplikace, starajícím se o komunikaci s měřícími moduly UCM a aktivaci ostatních přístrojů aplikace, program korekce sloužící ke korekci měřených hodnot, program komunikace má na starost komunikaci s UCM moduly pomocí ASCII ovladače a program startup spouštěný při startu aplikace, kdy zajišťuje její rozběh.
5.3.8 Přístroj Trend S pomocí tohoto přístroje mohou být sledovány, zobrazovány a archivovány historické trendy analogových signálů. Data je možno ukládat do standardního databázového souboru ve formátu dBASEIII (*.DBF) nebo přes rozhraní ODBC do libovolných databází. Archivní soubory mohou být ukládány jednorázově nebo periodicky dle zvolené časové délky archivního souboru. Dále je možno definovat jejich
historii, tzn.
počet
archivních
souborů
uchovávaných
na disku
či v databázi. [8] Tohoto přístroje bylo ve vytvořené aplikaci využito ke zobrazení a archivaci měřených veličin z technologie.
5.3.9 Přístroj Sql Přístroj umožňuje obecnou práci s databázemi prostřednictvím SQL příkazů. Výsledek dotazu dokáže zobrazit v přehledné tabulce. Data z databází lze také pomocí nativních procedur nastavovat na datové elementy. [8] V aplikaci je přístroje využito v modulu docházky zaměstnanců, kde zajišťuje komunikaci s databázovým serverem MySQL a zobrazuje výsledky SQL dotazů. Ovládací rozhraní tohoto přístroje není uživateli plně přístupné a proto byl přístroj diplomantem rozšířen o řadu vnitřních procedur zjednodušujících orientaci a práci s databází zaměstnanců.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
5.3.10 Přístroj String control Umožňuje zadání textu do výstupního datového elementu prostřednictvím editačního řádku. Přístroj je využit pro nastavování datových elementů ukládaných do databáze zaměstnanců.
5.3.11 Přístroj String display Umožňuje zobrazení výsledku textového výrazu a jeho uložení do výstupního datového elementu.
5.3.12 Přístroj Switch Umožňuje nastavení logické hodnoty do výstupního datového elementu pomocí tlačítka. V této aplikaci je často využíváno jeho nativní procedury OnOutput() pomocí níž jsou aktivovány další přístroje, zpravidla zpracující nastavovaný výstupní element přístrojů String control a Control.
5.3.13 Přístroj Tab switch Přístroj nastavuje číslo vybrané záložky do proměnné nebo výstupního kanálu a současně zobrazuje odpovídající panel a schovává zobrazené panely odpovídající nevybraným záložkám.
5.3.14 Přístroj Alarm Přístroj je určen ke zpracování specifikovaného seznamu alarmů a poruch. Je možno definovat provedení různých akcí, které jsou v případě vyhodnocení alarmu či poruchy provedeny. Patří mezi ně zobrazení okna správce alarmů, uložení stavu do souboru, uložení záznamu do provozního deníku, tisk na tiskárnu a další. Přístroj má navíc specifické událostní procedury OnAlarmRise(), OnAlarmFinish() a OnAlarmConfirmation().[8]
27
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Výše uvedených procedur je použito k ukládání alarmových stavů do databázového souboru formátu DBF a to prostřednictvím přístroje Archiver. Tím byla samotná funkce přístroje Alarm rozšířena o možnost potvrzení aktivních alarmů s jejich popisem vloženým obsluhou.
5.3.15 Časovač Selector Selector umožňuje libovolný počet větvení programu, která se mu do jeho struktury zadávají v podobě jména a logického výrazu, který vyjadřuje podmínku. Při splnění podmínky se zavolají všechny přístroje mající v položce timer uveden název selectoru a jméno této konkrétní podmínky:
5.3.16 Přístroj Text_scanner Je určen k práci s textovými soubory, členěnými do sekcí, kde každý řádek na levé straně rovnítka obsahuje klíč a na pravé straně jeho hodnotu. Tohoto souboru je v aplikaci užito k uložení konfigurace o připojených modulech UCM.
5.3.17 Ostatní Přístroje Výše uvedené přístroje jsou buď přímo používány k zásahům obsluhy do výrobního procesu nebo obsluhu o jeho stavu informují. Ostatní přístroje (Label, Tank, Box) pouze doplňují grafickou úpravu uživatelského rozhraní a na změny v technologii, ani na zásahy obsluhy nijak nereagují.
5.4
POPIS UŽIVATELSKÉHO ROZHRANÍ MODULU VIZUALIZACE TECHNOLOGIE VÝROBNÍHO PROCESU
Uživatelské prostředí je tvořeno několika panely mezi nimiž se uživatel může libovolně přepínat pomocí tlačítek umístěných podél horního okraje aplikace.
28
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Panely seskupují a zobrazují jednotlivé virtuální přístroje, dle jejich funkce. Aplikace se skládá z panelu: •
zobrazení teplot v půdorysném nákresu provozu,
•
souhrnného zobrazení všech měřených veličin a jejich grafické prezentace,
•
prohlížení archivů,
•
zobrazení a potvrzení alarmových stavů,
•
nastavení alarmových mezních hodnot,
•
korekce měřených hodnot.
5.4.1 Panel Přízemí Na tomto panelu jsou zobrazeny v půdorysném nákresu provozu jednotlivé zařízení technologie a aktuální hodnoty veličin na nich měřených. Tento panel je zobrazen jako základní panel po spuštění aplikace.
Obr. 5.1. Panel Přízemí
29
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
30
Vysoké učení technické v Brně
5.4.2 Panel Seznam Na tomto panelu jsou zobrazeny všechny měřené veličiny seskupené do sekcí dle
jejich
charakteru
(monitorované
průmyslové
teploty,
ostatní
monitorování - tlaky).
Obr. 5.2. Panel Seznam
5.4.3 Panel Grafy Tento panel slouží ke grafickému zobrazení měřených veličin prostřednictvím spojitého grafu. Uživatel má možnost volby nastavení zobrazení jednotlivých měřených veličin, může měnit měřítko časové osy grafu, ...
5.4.4 Panel Alarmy Panel Alarmy ve svém okně zobrazuje seznam všech alarmů, které nastaly od spuštění aplikace. V seznamu jsou odlišeny jednotlivé záznamy alarmů (záznam okamžiku vzniku, záznam ukončení alarmu, popřípadě záznam potvrzení alarmu). V pravé části panelu je umístěno vyplňovací pole pro možnost komentáře
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
k jednotlivým aktivním alarmům. Tyto komentáře se při potvrzení nezobrazují v okně alarmů, ale jsou uloženy do archivu alarmů. Komentáře jsou zobrazeny při prohlížení archivu alarmů v panelu Archivace.
Obr. 5.3. Panel Alarmy
5.4.5 Panel Archivace Tento panel je určen k zobrazování jednotlivých archivních souborů měřených dat a uložených alarmů k příslušnému datu. Zobrazení probíhá tak, že uživatel zatrhne volbu zobrazení - Archiv měř. hodnot, - Archiv alarmů,
31
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
32
Vysoké učení technické v Brně
a pomocí nastavovacích prvků navolí datum a volbu potvrdí tlačítkem Načíst požadovaná data. V případě, že je archiv nalezen je zobrazena zpráva „Archiv úspěšně načten“, v opačném případě je uživatel upozorněn prostřednictvím blikající zprávy (červená/šedá) “Archiv z uvedeného dne nenalezen“.
Obr. 5.4. Panel Archivace
5.4.6 Panel Servisní nastavení Tento panel se skládá ze dvou záložek - Alarmové limity, - Kalibrace měřených veličin.
5.4.6.1 Alarmové limity Záložka Alarmové limity, jak už název napovídá, obsahuje prvky sloužící k nastavení
limit
alarmů
jednotlivých
měřených
veličin.
Těmito
limity
jsou maximální dolní povolená hodnota měřené veličiny, maximální horní povolená
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
limita, časová prodleva zobrazení alarmu od okamžiku splnění jeho podmínky. Zvolené hodnoty limit jsou stisknutím tlačítka Potvrzení nastavení alarmu uloženy do příslušných datových elementů a zároveň archivovány do souboru parametrů aplikace.
Obr. 5.5. Panel Servisní nastavení – Alarmové limity
5.4.6.2 Kalibrace měřených veličin. Přístup na kartu záložky Kalibrace měřených veličin je možný po přihlášení na administrátorský účet aplikace. Přihlášení se provede pomocí tlačítka Přihlášení administrátora umístěného na panelu Servisní nastavení. Stiskem tohoto tlačítka je zobrazen přihlašovací dialog. Po úspěšném přihlášení
je dané osobě umožněno
přepnutí na kartu Kalibrace měřených veličin. Tato karta slouží k nastavení parametrů korekce měřených veličin. Pro každou veličinu je možno nastavit parametry korekční přímky - směrnici přímky a její posun v nule. Tyto parametry je možno zadat buď přímo a nebo pomocí dvou,
33
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
aplikací změřených hodnot, vztažených k hodnotám získaným kalibračním měřidlem, ohraničujících korigovaný úsek převodní charakteristiky snímače dané veličiny. Při zadávání parametrů druhou metodou jsou po stisku tlačítka Výpočet korekce doplněny vypočítané hodnoty parametrů korekční přímky přímo do jejich nastavovacích prvků.
Obr. 5.6. Panel Servisní nastavení – Kalibrace měř. veličin
5.5
POPIS UŽIVATELSKÉHO ROZHRANÍ MODULU DOCHÁZKOVÉHO SYSTÉMU ZAMĚSTNANCŮ Uživatelské prostředí je tvořeno několika panely mezi nimiž se uživatel může
libovolně přepínat pomocí tlačítek umístěných podél horního okraje aplikace.
34
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Každý z panelů má určitou funkci: •
zobrazení karty zaměstnance, s možností její editace, či zrušení,
•
zobrazení aktuální docházky k danému dni,
•
zobrazení aktuální prezence na jednotlivých pracovištích,
•
výpis souhrnu docházky jednotlivých pracovníků s možností jeho tisku,
•
zobrazení stavu jednotlivých dveří v půdorysném nákresu provozu,
•
souhrnný seznam monitorovaných dveří,
•
zobrazení překročení povolené doby otevření.
5.5.1 Panel Půdorys podniku Tento panel zobrazuje stavy jednotlivých dveří v půdorysném nákresu provozu pomocí jmenovek „Otevřeno“, „Zavřeno“, „Porucha“.
Obr. 5.7. Panel Půdorys podniku
35
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
5.5.2 Panel Seznam dveří Je přehledným zobrazením seznamu všech sledovaných dveří. Jednotlivé řádky seznamu informující uživatele o stavu jednotlivých dveří jsou složeny z těchto prvků: - názvu monitorovaných dveří, - popisku indikující jejich stav, - pole zobrazení posledního vstupujícího zaměstnance, - tlačítka pro zobrazení archivu jednotlivých dveří za dané období, - ovládacího prvku pro nastavení povoleného limitu otevření dveří bez signalizace alarmu.
Obr. 5.8. Panel Seznam dveří
36
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
5.5.3 Panel Alarmy Panel Alarmy informuje o překročení povolené doby otevření jednotlivých dveří. Jednotlivé položky seznamu zobrazují datum, čas, název alarmu a jeho stav. Položky aktivních alarmů jsou zvýrazněny červeným písmem.
5.5.4 Panel Databáze Tento panel je složen ze čtyř karet, které slouží ke správě a zpracování dat uložených na databázovém serveru MySQL. Při prvotním otevření panelu databáze je zobrazena karta Denní docházka.
5.5.4.1 Karta Denní docházka Tato karta provádí výpis docházky zaměstnanců k aktuálnímu dni . Struktura zobrazovaných záznamů je tvořena jednotlivými sloupci a to následovně: - datum, příchod, odchod, jméno a příjmení zaměstnance, evidenční číslo. Dále je na kartě možno vkládat příchod a odchod zaměstnance zadáním z klávesnice. Obsluha zadá evidenční číslo zaměstnance a poté stiskne příslušné tlačítko „Příchod“ nebo „Odchod“ pro vytvoření příslušného záznamu.
Obr. 5.9. Karta denní docházka
37
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
5.5.4.2 Karta Pracoviště Karta Pracoviště je složena ze dvou zobrazovacích polí, která souběžně zobrazují aktuální prezenci pracovníků na dvou pracovištích provozu, ve formátu jméno, příjmení, evidenční číslo pracovníka.
Panel Seznam zaměstnanců Při přepnutí na zbývající dvě karty panelu Databáze (karta Zaměstnance a karta Souhrn) je navíc zobrazen panel Seznam zaměstnanců, sloužící k snadné a rychlé orientaci v databázi zaměstnanců a k její editaci. Zobrazuje následující údaje z databáze zaměstnanců: číslo karty, jméno a příjmení. Údaje v seznamu mohou být řazeny podle příjmení nebo podle čísla karty. Na panelu Seznam zaměstnanců jsou umístěna čtyři tlačítka- „Zadat zaměstnance“, „Editace karty“, „Editace čísla karty“, „Zrušení záznamu“, sloužící k editaci záznamů v databázi zaměstnanců. Tlačítka jsou aktivní ve spojení se zobrazením karty zaměstnance.
5.5.4.3 Karta zaměstnance Tato karta slouží ke správě databáze zaměstnanců. Zobrazuje jednotlivé položky záznamu zaměstnance: číslo karty, jméno, příjmení, titul, evidenční číslo, číslo občanského průkazu, adresa trvalého pobytu, telefon domů, mobilní telefon, email a poznámka. Pomocí editačních tlačítek panelu Seznam zaměstnanců, která jsou aktivní při zobrazení Karty zaměstnance, lze tyto údaje editovat. Při editaci jsou pro ošetření duplicity záznamu kontrolovány údaje evidenční číslo a číslo občanského průkazu.
38
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Obr. 5.10. Karta zaměstnance
5.5.4.4 Karta Souhrn Tato karta slouží k zobrazení a tisku souhrnného měsíčního výpisu docházky zaměstnance po jednotlivých dnech. Struktura výpisu je následující: pořadové číslo dne, datum, příchod, odchod, celkem odpracované hodiny. Výpis je ve spodní části karty doplněn o zobrazení celkového počtu odpracovaných hodin v měsíci. Postup výpisu je následující: Obsluha vybere z panelu Seznam zaměstnanců zvolenou osobu a tlačítkem
„Výpis“, umístěným na kartě Souhrn, vyvolá požadovanou akci.
Zobrazený výpis je poté možné pomocí tlačítka „Tisk“ vytisknout.
39
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
40
Vysoké učení technické v Brně
6.
DATABÁZOVÝ SERVER MYSQL A JEHO VYUŽITÍ VE SPOJENÍ SE SYSTÉMEM CONTROL WEB 2000 MySQL
patří mezi jednodušší databázové servery. Implementuje jistou
podmnožinu funkcí “velkých“ databázových serverů a implementuje je dobře a rychle. Mezi jeho přednosti patří rychlost, přenositelnost, dobrá podpora propojení s okolním světem a mnoho vestavěných SQL funkcí. Mezi jeho přednosti patří také jeho převážně bezplatná licence (GPL – General Public Licence). Server je možno bezplatně používat ve spolupráci s komerčními aplikacemi, pokud není jejich součástí. MySQL je primárně nástroj pro uložení dat v tabulkách a pro přístup k těmto datům prostřednictvím SQL – Structured Query Language. Pro uložení dat používá jednoduchého postupu, databáze je uložena jako adresář, jednotlivé tabulky jako soubory. Nabízí uživateli velké možnosti kontroly nad daty, prostřednictvím velké nabídky datových typů. MySQL podporuje komunikační rozhraní ODBC – Open Database Connectivity. Systém Control Web 2000 umožňuje prostřednictvím rozhraní ODBC a nativních procedur virtuálních přístrojů pracujících s daty (sql, archiver,...) komunikaci s databázovým serverem MySQL.
Pro možnost připojení aplikace
do databáze MySQL přes rozhraní ODBC je nutné aby byl nainstalován ovladač ODBC daného databázového serveru a musí být nadefinován tzv. souborový zdroj dat DSN – Data Source Name. Zdroj dat obsahuje informace o způsobu připojení ke prostředkovateli dat. Souborový zdroj dat není vázán na konkrétní počítač a tudíž je možné jej bez problému distribuovat s aplikací na libovolný počítač. Pro obecnou práci s daty z databází je v systému Control Web 2000 určen přístroj Sql umožňující připojení přes rozhraní ODBC do libovolného databázového systému
a
prostřednictvím
SQL
dotazů
provádění
požadované
operace
nad dostupnými daty. V dané aplikaci je využito databázového serveru MySQL k vedení agendy docházky zaměstnanců. Připojení a veškerá komunikace aplikace systému
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Control Web 2000 je zprostředkována virtuálním přístrojem Sql prostřednictvím ovladače MyODBC. 6.1
DATABÁZE Data v databázi jsou zapisována a uchovávána v jednotlivých tabulkách
v nichž jeden řádek tvoří jeden záznam a každý sloupec jednu položku záznamu. Databáze je definována strukturou tabulek a vazbami mezi nimi, jedná se o tzv. relační databázi. Vztahy mezi tabulkami jsou definovány pomocí matematických operací (sjednocení, součin, průnik, rozdíl, projekce, selekce). Relační databázový model patří v současné době k nejpoužívanějším. Na obrázku 6.1 je zobrazen relační model databáze řešené aplikace.
Obr. 6.1. Relační model databáze
41
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
6.2
UŽITÍ PŘÍSTROJE SQL A JEHO NATIVNÍCH PROCEDUR, SQL DOTAZY POUŽITÉ V APLIKACI
Jak již bylo uvedeno dříve, práci s daty v databázích zajišťuje v systému Control Web 2000 přístroj Sql prostřednictvím SQL dotazů.
V menu přístroje
je možné definovat složené SQL příkazy a sady záznamů. V definici SQL příkazů je možné použít makra \?, které představuje parametr nastavovaný nativní procedurou SetParameter. Počet parametrů při tom není nijak omezen. Nativní procedury SetParameter lze také využít k nastavení dat získaných z databáze na zvolené datové elementy. [8]
6.2.1 Procedura SetParameter SetParameter( CommandId : string; ParamNumber : real; Value : any ) Tato procedura nastaví parametr číslo ParamNumber v předdefinovaném SQL příkazu CommandId na hodnotu Value. Parametry jsou číslovány od 1. [8]
6.2.2 Procedura OpenRecordset OpenRecordset( RecordsetId : string; &ok : boolean ) Vytvoří virtuální sadu záznamů identifikovanou jménem RecordsetId, která je výsledkem předdefinovaného SQL příkazu uvedeného u jména RecordsetId v definici přístroje v sekci recordset. V parametru ok vrací výsledek operace. [8]
6.2.3 Procedura ExecCommand ExecCommand( CommandId : string; &ok : boolean ) Vykoná předdefinovaný SQL příkaz CommandId a v parametru ok vrací výsledek operace. Tato procedura je určena pro výkonné SQL příkazy. [8]
42
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
6.2.4 Procedura ReadData ReadData( RecordsetId, ColumnName : string; &Data : any; &ok : boolean ) V parametru Data vrací obsah položky ze sloupce specifikovaného jménem ColumnName aktuálního záznamu v sadě záznamů RecordsetId. V parametru ok vrací výsledek operace. [8]
6.3
PRÁCE S DATABÁZÍ POMOCÍ PŘÍKAZŮ SQL 6.3.1 Zápis do databáze K zápisu do databáze dochází při vkládání, změně či rušení údajů, nebo při
vyvolání zápisu přečtením čipové karty. Uveďme příklad zápisu nové položky do tabulky zaměstnanců. Prvním krokem je ošetření duplicity záznamu. V tabulce zaměstnanci je primárním klíčem položka e_c(evidenční číslo). Proto před započetím samotného ukládání je nejprve dotazem na databázi zjištěno, zda již zadané evidenční číslo neexistuje. Zároveň je třeba ošetřit duplicitu zadávaného čísla karty.
sql_zamestnanci.SetParameter('duplicita_cisla_karty_zamestnanci',1, cislo_karty ); sql_zamestnanci.SetParameter('duplicita_cisla_karty_zamestnanci',1, e_c );
Nativní procedura SetParameter nastaví první parametr ‘\?‘ v SQL dotazu na hodnotu datového elementu cislo_karty: integer , a hodnotu druhého parametru na datový element e_c: integer.
sql_zamestnanci.OpenRecordset('duplicita_cisla_karty_zamestnanci',OK) Nativní procedura OpenRecordset otevře sadu záznamů, která je výsledkem SQL dotazu, počítajícího počet existujících položek shodných s právě zadávanými, přiřazeného klíčovému slovu 'duplicita_cisla_karty_zamestnanci':
43
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
‘duplicita_zaznamu_zamestnanci' = 'SELECT COUNT(*) FROM zamestnanci WHERE (cislo_karty = \? OR e_c = \?) AND status = 1'; sql_zamestnanci.ReadData('duplicita_cisla_karty_zamestnanci',1, &test_duplicity, OK );
Následně po té je zjištěná hodnota počtu shodných záznamů uložena do datového elementu test_duplicity. V případě, že je její hodnota nulová, ukládání nového záznamu, může pokračovat. Nenulová hodnota značí, že záznam se stejným číslem karty či stejným evidenčním číslem již existuje a obsluha je na tuto skutečnost upozorněna chybovým hlášením. Pro neduplicitní zadávané údaje dále ukládání pokračuje takto: sql_zamestnanci.SetParameter('zadani_karty_zamestnanci',1, cislo_karty ); sql_zamestnanci.SetParameter('zadani_karty_zamestnanci',2,d_jmeno ); sql_zamestnanci.SetParameter('zadani_karty_zamestnanci',3, d_prijmeni ); sql_zamestnanci.SetParameter('zadani_karty_zamestnanci',4, d_titul ); sql_zamestnanci.SetParameter('zadani_karty_zamestnanci',5, d_e_c ); sql_zamestnanci.SetParameter('zadani_karty_zamestnanci',6, d_c_o_p ); sql_zamestnanci.SetParameter('zadani_karty_zamestnanci',7, d_bydliste ); sql_zamestnanci.SetParameter('zadani_karty_zamestnanci',8, d_telpevna ); sql_zamestnanci.SetParameter('zadani_karty_zamestnanci',9, d_mobil ); sql_zamestnanci.SetParameter('zadani_karty_zamestnanci',10, d_email ); sql_zamestnanci.SetParameter('zadani_karty_zamestnanci',11, d_poznamky );
Nastavení parametrů 1-11 v SQL příkazu s klíčovým slovem zadani_karty_zamestnanci podle příslušných datových elementů.
sql_zamestnanci.ExecCommand( 'zadani_karty_zamestnanci', OK);
Nakonec nativní procedura ExecCommand vykoná níže uvedený SQL příkaz:
INSERT INTO zamestnanci VALUES ( NULL,\?,\?,\?,\?,\?,\?,\?,\?,\?,\?,\?,1)
Vykonáním tohoto příkazu dojde ke vložení záznamu do tabulky zamestnanci. Parametry ‘\?’ nabývají hodnot nastavených procedurou SetParameter.
44
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
7.
WEBOVÁ PREZENTACE VIZUALIZACE Pro zobrazení aplikace vizualizace prostřednictvím webového rozhraní
je zapotřebí webového serveru, který je schopen informace z aplikace zprostředkovat webovým prohlížečům. Jednou z možností je využití http serveru integrovaného v systému Control Web 2000. Tento server je schopen tvořit dynamické stránky, které obsahují datové elementy Control Webu a také dokáže zprostředkovat zobrazení viditelných virtuálních přístrojů. [8]
7.1
HTTP SERVER SYSTÉMU CONTROL WEB 2000 [8] Přístroj httpd zpřístupňuje běžící aplikaci systému Control Web z libovolného
WWW prohlížeče přes TCP/IP síť – ať už se jedná o lokální intranet nebo globální Internet. Hlavní výhodou při tom je že na straně klienta (webového prohlížeče) není zapotřebí instalovat Control Web runtime ani žádnou jinou část systému Control Web. Není ani nutné webový prohlížeč doplňovat nebo rozšiřovat o speciální moduly (plug-ins, ActiveX). Veškerá funkčnost přístroje httpd je zajištěna čistě prostředky protokolu HTTP a HTML dokumentů. K přístupu k technologii přes rozhraní WWW tak lze použít jakýkoliv prohlížeč provozovaný na jakékoliv platformě (Windows, Macintosh, UNIX, thin client, apod.).
Součástí přístroje httpd je plně funkční HTTP server integrovaný do systému Control Web. Protokol HTTP (HyperText Transfer Protocol) je celosvětově rozšířený protokol používaný k přenosu dokumentů i multimediálních informací v rámci internetové nebo intranetové služby označované jako World Wide Web. Klient služby WWW (také označovaný jako WWW prohlížeč nebo anglicky WWW browser) vyšle požadavek (HTTP request) na danou informaci k serveru a server informaci vrátí (HTTP response). Identifikátor požadované informace má standardní tvar označovaný jako URI (Universal Resource Identifier). Součástí URI
45
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
46
Vysoké učení technické v Brně
je identifikace protokolu (v našem případě http), adresa serveru a cesta k požadované informaci na serveru. V naprosté většině případů označuje požadovaný URI soubor, který je serverem načten a vrácen do prohlížeče, který jej zobrazí. Nicméně soubor, na nějž URI odkazuje, nemusí vůbec existovat a server přesto může požadovanou informaci vrátit - může ji dynamicky vygenerovat až v době požadavku od klienta. Dynamické generování informace má velmi podstatnou výhodu. Požadovaná informace může přesně odpovídat požadavku klienta, což u staticky existujícího souboru nelze zajistit. Dokonce i v případě, že by byl soubor neustále obnovován, by tento mechanismus nedostačoval, protože v jednom okamžiku může danou informaci požadovat po serveru více klientů najednou, nehledě na časovou náročnost diskových operací. Právě ve schopnosti dynamicky generovat informaci z jakýchkoliv dat zpracovávaných běžící aplikací systému Control Web spočívá integrace HTTP serveru v přístroji httpd s celým systémem.
•
• Do dokumentu lze dynamicky vygenerovat jakoukoliv část textu na základě vyhodnocení výrazu (kanálů či proměnných) nebo generovanou
libovolnou
procedurou.
Tento
text
může
být informativní (např. číselné hodnoty v tabulce) nebo může tvořit také např. odkazy na jiné stránky (HTML tags) apod. •
• Požádá-li klient o obrázek přemapovaný jako vzhled přístroje, server dynamicky vrátí klientovi okamžitou grafickou podobu přístroje, aniž by tato podoba existovala jako soubor.
•
• Požádá-li klient o specifikovanou stránku, přístroj httpd dokáže aktivovat
libovolné
přístroje
v
běžící
aplikaci
ještě
před
vygenerováním a odesláním dokumentu. •
• Data vrácená z HTML formulářů lze promítnout zpět do řízeného procesu. Proces lze prostřednictvím internetu nejen vizualizovat, ale i řídit.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
•
• Prostřednictvím HTML formulářů lze nejen nastavovat hodnoty datových elementů, ale i spouštět libovolné jiné přístroje v systému, např. obecný skriptovací přístroj program.
Přístroj httpd nikdy nezobrazuje přímo data z technologie a nenastavuje přímo datové elementy. Vždy je nutno explicitně zadat přemapování mezi světem aplikace a vnějším světem. Neexistuje tedy možnost zobrazit nebo nastavit hodnoty aplikace z WWW klienta nebo i speciálně napsaným programem, pokud je návrhář aplikace pomocí httpd přístroje nepřemapuje a tím nezveřejní.
7.1.1 Generování www stránky Webové stránky aplikace jsou tvořeny ze dvou rámců z nichž v horním rámci umístěném horizontálně pod horní lištou prohlížeče jsou namodelována tlačítka pro přepínání na jednotlivé panely. Do druhého rámce, zabírajícího zbytek plochy webové stránky, jsou na podkladě volby tlačítkem z horního rámce stránky zobrazovány zvolené panely aplikace.
47
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
8.
POUŽITÝ HARDWARE A SOFTWARE 8.1
HARDWARE • PCx86 1.5 GHz, 256 MB RAM , PCx86 1.0GHz, 128MB RAM • 3 x modul UCM-1 • 3 x modul UCM-BIS • Převodník sériových linek 485/232 UC 485 od firmy Papouch
8.2
SOFTWARE • Systém Control Web 2000 vývojová verze (SP10) (build 4.1.1597.1) • Systém Control Web 2000 runtime verze (SP10) (build 4.1.1596.1) • Operační Systém MS Windows 2000 • Databázový server MySQL 4.1.0-alpha-max-nt • Ovladač MyODBC 3.51.02
48
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
49
Vysoké učení technické v Brně
9.
ZÁVĚR Hlavním
cílem
diplomové
práce
bylo
navrhnout
a
v prostředí
Control Web 2000 realizovat uživatelské rozhraní pro vizualizaci technologie výroby tonerů a zapékacích válců do velkokapacitních tiskáren a kopírek. Požadavkem na navrženou aplikaci byly uživatelský komfort, přehledná vizualizace všech důležitých výrobních procesů, zobrazení výjimečných stavů s možností jejich obsloužení (potvrzení, poznámka), kalibrace a archivace měřených veličin výrobního procesu včetně archivace výjimečných stavů. Dalším úkolem bylo vytvoření docházkového systému zaměstnanců a systému monitorování pohybu zaměstnanců v provozovně s využitím aplikace systému Control Web 2000 propojené s databázovým serverem MySQL. Hlavními požadavky na aplikaci byly zobrazení současné prezence zaměstnanců v provozu, zpracování knihy docházek s měsíčním vyhodnocením docházky jednotlivých zaměstnanců. Posledním bodem zadání bylo zobrazení aplikace vizualizace prostřednictvím webového rozhraní s využitím http serveru integrovaného v systému Control Web 2000. Navržená aplikace se skládá ze dvou nezávislých modulů. První modul řeší úlohu vizualizace technologie výroby, druhý pak docházkový systém zaměstnanců a systém monitorování pohybu zaměstnanců v provozovně. Grafické rozhraní aplikace vizualizace technologie je složeno ze sedmi panelů, mezi kterými se uživatel může libovolně přepínat. Informativní a ovládací prvky jsou v nich seřazeny podle logických spojitostí. Při zobrazení kteréhokoliv z panelů je zajištěno, že obsluha bude informována o výjimečných stavech vzniklých v technologii. Ty je možno v panelu Alarmy potvrdit či opatřit poznámkou. Všechny hodnoty archivované v rámci tohoto modulu jsou ukládány do databázových souborů ve formátu dBaseIII. Správa dat v tomto formátu se z hlediska dalšího zpracování v aplikaci systému Control Web 2000 jeví jako nepříliš vhodná a z tohoto důvodu bude v budoucnu nahrazena databázovým serverem MySQL, který se osvědčil při nasazení s druhým modulem navržené aplikace.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
50
Vysoké učení technické v Brně
Druhý modul aplikace zajišťuje provozování docházkového systému zaměstnanců
tvořeného
systémem
Control
Web
2000
ve funkci
rozhraní
databázového serveru MySQL. Modul se skládá z šesti základních panelů z nichž panel Databáze je složen z dalších čtyř panelů zajišťujících zobrazení a správu docházky zaměstnanců.
Aplikace komunikuje s databázovým serverem MySQL
prostřednictvím SQL dotazů předávaných virtuálním přístrojem Sql. Databázový server je využit k uchovávání osobních údajů zaměstnanců, ukládání dat sloužících k vedení docházkového systému. Server MySQL 4.1.0-alpha-max-nt se jeví jako dostatečně výkonný a stabilní pro zadanou aplikaci. Posledním bodem zadání diplomové práce byla realizace webové prezentace vizualizace technologie. Webové stránky aplikace jsou tvořeny ze dvou rámců z nichž v horním rámci umístěném horizontálně pod horní lištou prohlížeče jsou namodelována tlačítka pro přepínání na jednotlivé panely. Do druhého rámce, zabírajícího zbytek plochy webové stránky, jsou na podkladě volby tlačítkem z horního rámce stránky zobrazovány zvolené panely aplikace. Stránky jsou vzhledově navrženy tak, aby odpovídaly vzhledu aplikace systému Control Web 2000.
Všechny v zadání vytyčené cíle byly splněny. Dokončená aplikace byla předána investorovi v průběhu měsíce Března 2004 a nyní probíhá tří měsíční zkušební provoz.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
10. LITERATURA [1] Pt100.Firemní stránky společnosti Regmet. dostupné (http://www.regmet.cz/download/a1x-04.zip) [2] Převodníky RU.Firemní stránky společnosti Regmet. dostupné (http://www.regmet.cz/download/ru.pdf) [3] UCM1, Vnitropodniková literatura, Velinvestik s.r.o. [4] UCM-BIS, Vnitropodniková literatura, Velinvestik s.r.o. [5] Poucha, P. Přenos dat po linkách RS485 a RS422. dostupné (http://www.hw.cz/docs/rs485/poucha.html) [6] Poucha, P. Přenos dat po linkách RS485 a RS422. dostupné (http://www.rs485.cz/papouch1.htm) [7] UC 485 převodník linky RS232 na RS485 s galvanickým oddělením, Papouch elektronika. Praha 2002. [8] Bílý, R., Cagaš, P. Control Web 2000. 1. Díl. Praha: Computer Press,1999. [9] Bílý, R., Cagaš, P.: Control Web 2000. 2. Díl. Praha: Computer Press,1999. [10] Firemní stránky společnosti Moravské přístroje. dostupné (http://www.mii.cz/software/ref/icenergo/edu1.htm)
51
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
11. SEZNAM PŘÍLOH •
Vyjádření konzultanta diplomové práce.
•
CD se zdrojovým textem programu a elektronickou verzí diplomové práce
52
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
12. OBSAH PŘILOŽENÉHO CD •
Zdrojový text aplikace
•
Elektronická verze diplomové práce
•
Tabulky databáze MySQL
•
Html dokumenty (stránky používané webovými servery)
53