VYSOKÉ UýENÍ TECHNICKÉ V BRNċ BRNO UNIVERSITY OF TECHNOLOGY
FAKULTA ELEKTROTECHNIKY A KOMUNIKAýNÍCH TECHNOLOGIÍ ÚSTAV AUTOMATIZACE A MċěICÍ TECHNIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF CONTROL AND INSTRUMENTATION
KÓDOVÉ OTEVÍRÁNÍ VSTUPNÍCH DVEěÍ CODE-KEYLESS ENTRY SYSTEM
BAKALÁěSKÁ PRÁCE BACHELOR’STHESIS
AUTOR PRÁCE
JIěÍ HROMEK
AUTHOR
VEDOUCÍ PRÁCE SUPERVISOR BRNO 2011
Ing. RADEK ŠTOHL, Ph.D.
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Ústav automatizace a měřicí techniky
Bakalářská práce bakalářský studijní obor Automatizační a měřicí technika Student: Ročník:
Jiří Hromek 3
ID: 78271 Akademický rok: 2010/2011
NÁZEV TÉMATU:
Kódové otevírání vstupních dveří POKYNY PRO VYPRACOVÁNÍ: 1. Seznamte se s instrumentaci firmy Rockwell Automation pro aplikaci kódového otevírání vstupních dveří. 2. Vytvořte program pro ovládání vstupních dveří pomocí dotykové klávesnice, vytvořte databázi přístupů a ověření oprávněnosti vstupu do objektu. 3. Vytvořte vizualizaci pro ovládání dveří a správu uživatelských účtů v aplikaci pomocí Touch panelu. 4. Ověřte funkčnost programu a vizualizace na instrumentaci firmy Rockwell Automation. 5. Vytvořte příslušnou technickou dokumentaci. DOPORUČENÁ LITERATURA: Logix5000 Controllers General Instructions (Reference Manual). Milwaukee: Rockwell Automation, Inc. 2008. Dle vlastního literárního průzkumu a doporučení vedoucího práce. Termín zadání:
7.2.2011
Vedoucí práce:
Ing. Radek Štohl, Ph.D.
Termín odevzdání:
30.5.2011
prof. Ing. Pavel Jura, CSc. Předseda oborové rady
UPOZORNĚNÍ: Autor bakalářské práce nesmí při vytváření bakalářské práce porušit autorská práva třetích osob, zejména nesmí zasahovat nedovoleným způsobem do cizích autorských práv osobnostních a musí si být plně vědom následků porušení ustanovení § 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č.40/2009 Sb.
Abstrakt Cílem této bakaláĜské práce je vytvoĜení ovládání vstupních dveĜí pomocí dotykové klávesnice. V úvodní þásti je pĜiblíženo zadání a cíle práce. V následujících dvou kapitolách je popsáno hardwarové a softwarové vybavení. V poslední þásti je rozebrán program k Ĝízení celého systému spoleþnČ s použitou vizualizací.
Klíþová slova RSLogix 5000, FactoryTalk View Studio, PLC, ovládání vstupních dveĜí, dotyková klávesnice
Abstract The aim of this thesis is to create controls the entrance door, using the touch keyboard. In first part there is a focus on problem in general and on aims of thesis. The next two chapters describe the hardware and software. Last part contains description of whole program, which control system in conjunction with visualization.
Keywords RSLogix 5000, FactoryTalk View Studio, PLC, control of the entrance door, touchsensitive keypad
3
Bibliografická citace: HROMEK, J. Kódové otevírání vstupních dveĜí. Brno: Vysoké uþení technické v BrnČ, Fakulta elektrotechniky a komunikaþních technologií, 2011. 38s. Vedoucí bakaláĜské práce Ing. Radek Štohl, Ph.D..
4
Prohlášení „Prohlašuji, že svou bakaláĜskou práci na téma Kódové otevírání vstupních dveĜí jsem vypracoval samostatnČ pod vedením vedoucího bakaláĜské práce a s použitím odborné literatury a dalších informaþních zdrojĤ, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor uvedené bakaláĜské práce dále prohlašuji, že v souvislosti s vytvoĜením této bakaláĜské práce jsem neporušil autorská práva tĜetích osob, zejména jsem nezasáhl nedovoleným zpĤsobem do cizích autorských práv osobnostních a jsem si plnČ vČdom následkĤ porušení ustanovení § 11 a následujících autorského zákona þ. 121/2000 Sb., vþetnČ možných trestnČprávních dĤsledkĤ vyplývajících z ustanovení þásti druhé, hlavy VI. díl 4 Trestního zákoníku þ. 40/2009 Sb. V BrnČ dne: 30. kvČtna 2011
………………………… podpis autora
5
PodČkování DČkuji vedoucímu bakaláĜské práce Ing. Radku Štohlovi, Ph.D. za úþinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady pĜi zpracování mé diplomové práce. V BrnČ dne: 30. kvČtna 2011
………………………… podpis autora
6
Obsah 1. Úvod ..................................................................................................................................... 8 1.1 Podrobný popis zadání .................................................................................................. 8 1.2 Požadavky na vizualizaci .............................................................................................. 8 2. Hardwerové vybavení........................................................................................................... 9 2.1 CompactLogix 1769-L23E-QB1B ................................................................................ 9 2.2 Dotyková klávesnice ................................................................................................... 10 2.3 PanelView plus 600..................................................................................................... 11 2.4 Power Supply 1606 ..................................................................................................... 12 2.5 Senzor.......................................................................................................................... 13 3. Softwarové vybavení .......................................................................................................... 15 3.1 RSLinx Classic............................................................................................................ 15 3.2 RSLogix 5000 ............................................................................................................. 16 3.3 FactoryTalk View studio ............................................................................................. 17 4. Programování ..................................................................................................................... 18 4.1 Sekvencer .................................................................................................................... 21 4.2 Main Routine............................................................................................................... 23 4.2.1 Vyhodnocení stisknutých kláves ......................................................................... 23 4.2.2 Vyhodnocení stisknutých kláves dotykového panelu ......................................... 26 4.2.3 Programové prvky pro vizualizaci – editaþní þást............................................... 28 5. Vizualizace ......................................................................................................................... 32 5.1 Možnosti a popis vizualizace ...................................................................................... 32 6. ZávČr................................................................................................................................... 34
7
1. ÚVOD Hlavním tématem této práce je vytvoĜení programového vybavení pro kódové otevírání vstupních dveĜí pomocí dotykové klávesnice. SpoleþnČ s tímto programem je stČžejní þástí také databáze pĜístupĤ a ovČĜení oprávnČnosti vstupu do objektu. Nedílnou souþástí je vytvoĜení vizualizace pro ovládání dveĜí a správu uživatelských úþtĤ v aplikaci pomocí dotykového panelu.
1.1
Podrobný popis zadání
Funkþní model je založen na oprávnČnosti vstupu osob pĜes uzamþené vstupní dveĜe. Pomocí dotykové klávesnice, která je umístČna v blízkosti vstupních dveĜí z venkovní strany, zadá pĜíslušná osoba þíselný kód. Tento kód má definovaný poþet znakĤ. Na základČ správnosti zadaného kódu jsou dveĜe odemþeny. Uzamþení a odemþení dveĜí zajišĢuje elektronický zámek. Po prĤchodu osoby vstupními dveĜmi dojde k opČtovnému uzamþení. PĜi odchodu je nutné zadat pro pĜíslušnou osobu stejný kód, který byl použit pro vstup do objektu. K tomu slouží dotykový panel (dotykový displej) s vizualizací.
1.2
Požadavky na vizualizaci
Navržená vizualizace musí splĖovat podmínky nutné k ovládání. Jednoduchost a pĜehlednost dČlá z navržené vizualizace ovládací prvek, který pĜíslušná osoba obsluhuje intuitivnČ. PĜi použití vizualizace pro kódové otevírání dveĜí, pĜedstavuje obrazovka pĜedevším druhou klávesnici, která je nutná pro zadání þíselného kódu, pro odemþení dveĜí pĜi odchodu. Souþástí je signalizace poþtu již stisknutých kláves. Jestliže má být celý systém schopen posouzení oprávnČnosti vstupu do objektu, je v systému databáze osob s pĜíslušným þíselným kódem. Pro správu osob obsažených v seznamu je urþen administrátor, který má po zadání svého kódu možnost pomocí vizualizace vkládání a editaci jednotlivých osob s právem pĜístupu.
8
2. HARDWEROVÉ VYBAVENÍ Pro vytvoĜení systému je použito rĤzných hardwarových prvkĤ. Architektura systému je zobrazena na obrázku 2.1. Hlavní program je zpracováván v automatu CompactLogix od firmy Rockwell Automation. PĜímo ovládací prvky pĜedstavují dotyková klávesnice spoleþnČ s dotykovým panelem PanelView Plus. Pro dotykovou klávesnici je vyvedena dioda, která signalizuje stisk klávesy. Nezbytnou souþástí celého systému je zdroj napájení automatu CompactLogix a dotykového panelu. V projektu je dále využito dveĜního spínaþe reagujícího na pĜiblížení magnetu. Posledním prvkem je elektronický zámek. Dále je z obrázku patrné, na jaké úrovni probíhá komunikace mezi jednotlivými hardwarovými prvky. Modrá linka zobrazuje komunikaci na úrovni Ethernet/IP, þervená linka oznaþuje signálovou výmČnu a pro úplnost þerná linka znaþí samostatné napájení.
Obrázek 2.1: Architektura systému
2.1
CompactLogix 1769-L23E-QB1B
Jedná se o kompaktní Ĝídicí systém firmy Rockwell Automation pro aplikace Ĝízení menšího rozsahu na úrovni zaĜízení. ěada CompactLogix poskytuje výhody platformy Logix – spoleþné programovací prostĜedí, spoleþné sítČ a spoleþné jádro operaþního systému. ěídící systém je na obrázku 2.2. Technický popis automatu je v tabulce 2.1. Možnost komunikace mĤže probíhat pomocí sériové linky RS-232. PĜi Ĝešení tohoto systému je však využito komunikaþního modulu Ethernet/IP. Tento typ komunikace podporuje jak obsluhu vstupĤ/výstupĤ v reálném þase, tak i klasickou komunikaci mezi zaĜízeními. Ethernet/IP využívá standardní komunikaþní þipy a fyzická média sítČ Ethernet. [7]
9
Obrázek 2.2: Technický popis CompactLogix 1769-L23E-QB1B [5] Tabulka 2.1: Technické parametry CompactLogix L23E Kat. þíslo Komunikaþní porty PamČĢ VestavČné I/O Struktura projektu Dostupné programovací jazyky
2.2
1769-L23_QB1B Izolovaný RS232, EtherNet/IP 512 kB Vstupy 16x24 VDC, Výstupy 16x24 VDC 32 Tasky - Continous, Periodic nebo Event LD, FBD, ST, SFC
Dotyková klávesnice
Dotyková klávesnice pĜedstavuje vstupní periferii systému. Je tvoĜena 12 tlaþítky v uspoĜádání 3x4 jak je zobrazeno na obrázku 2.3.
Obrázek 2.3: Klávesnice KEYPAD 12 WAY,436-594 Klávesnice pĜedstavuje maticové uspoĜádání, þemuž odpovídá i zpĤsob ovládání. Jak již bylo zmínČno jednotlivá tlaþítka jsou uspoĜádána do matice 3x4. PrincipielnČ si lze klávesnici pĜedstavit jako síĢ izolovaných vodiþĤ o tĜech sloupcích a þtyĜech Ĝadách, pĜiþemž v každé uzlové poloze (tj. v místČ, kde se protíná Ĝádek se sloupcem) se nachází 10
tlaþítko. Každé tlaþítko je jednoznaþnČ identifikováno polohou v Ĝádku a sloupci (resp. jejich propojením). Proto se také toto uspoĜádání nazývá maticové. [2] UspoĜádání maticové klávesnice je zobrazeno na obrázku 2.4.
Obrázek 2.4: Celkové uspoĜádání maticové klávesnice [6] Hlavní výhodou tohoto uspoĜádání je snížení poþtu potĜebných kabelĤ pro komunikaci. Tento typ dotykové klávesnice disponuje 8pinovým výstupem. Rozložení a význam jednotlivých pinĤ je zobrazen na obrázku 2.5. Je patrné, že pin na pozici 6 zĤstává nevyužit.
Obrázek 2.5: UspoĜádání jednotlivých tlaþítek na výstupu klávesnice [3]
2.3
PanelView plus 600
Jedná se o vizualizaþní produkt firmy Rockwell Automation. PanelView plus 600 obsahuje v základní jednotce 6“ barevný dotykový displej, logický modul, pamČĢ a napájení. Ukázka dotykového panelu je na obrázku 2.6. Základní deska obsahuje standardní komunikaþní možnosti. V systému je využita jednotka s Ethernet a RS-232. Obsahuje komunikaþní porty Ethernet, RS-232, USB port
11
a pamČĢový slot CompactFlash pro pĜenos souborĤ a záznam dat. Tato jednotka také podporuje síĢové rozhraní pro výbČrové komunikaþní moduly (DH-458, DH+, Remote I/O, ControlNet, DeviceNet). Pro více distribuované a složité aplikace vyžadující komunikaci PLC mĤže tato jednotka poskytnout souþasnou komunikaci s nČkolika sítČmi.[4]
Obrázek 2.6: PanelView Plus 600 Terminál PanelView Plus je konfigurován pomocí nástroje FactoryTalk View Studio a má vestavČný software FactoryTalk View Machine Edition. Tento vývojový software je blíže popsán v kapitole 3.3.
Power Supply 1606
2.4
Jedná se o zdroj, pomocí kterého je napájen automat CompactLogix a dotykový displej PanelView 600. Ukázka zdroje je na obrázku 2.7. PĜesný popis zdroje je 1606XLP 100E. Použitý zdroj disponuje následujícími možnostmi: • • • • • •
Nízký zapínací proud Kompenzace úþiníku Vstup s širokým rozsahem, vstup s automatickou volbou Dobré vlastnosti z hlediska pĜetížení (stejnosmČrný proud, stabilita) NEC tĜída 2 „omezený výkon“ Volitelný provozní režim (jednoduchý/paralelní)[11]
12
Obrázek 2.7: Zdroj napájení pro automat a dotykový panel
2.5
Senzor
V systému je senzor použit jako dveĜní spínaþ. ZajišĢuje indikaci, zda jsou vstupní dveĜe otevĜené þi zavĜené. Pro možnosti programu je senzoru využito pĜi zjištČní, zda po prĤchodu osoby byly vstupní dveĜe opČt uzavĜeny. Senzor pĜedstavuje magnetický snímaþ, který reaguje na pĜiblížení magnetu k þelní ploše snímaþe rozpojením výstupu. Ukázka snímaþe je na obrázku 2.8. Sepnutí poté indikuje zabudovaná LED dioda. Provedení výstupu je s otevĜeným kolektorem NPN a zapojení pomocí 3 vodiþĤ je zobrazen na obrázku 2.9. Souþástí zapojení je zpravidla i zátČž, která je v tomto pĜípadČ již souþástí vstupu.
Obrázek 2.8: DveĜní spínaþ M005 Popis snímaþe: • Reaguje na pĜiblížení magnetu k þelní ploše snímaþe rozpojením výstupu • Pouzdro je hliníkové s vnČjším závitem M12 x 1,5 délky 40 mm • PĜipojení je tĜemi vodiþi • Provedení výstupu s otevĜeným kolektorem NPN • Sepnutí výstupu signalizuje zabudovaná LED dioda • Ochranné obvody pĤsobí proti plsnímu rušení napájecího napČtí, proti zkratu na výstupu a proti pĜehĜátí nad 150°C • Odolnost proti rázĤm, vibracím, pĤsobení vlhkosti a ropných produktĤ [10]
13
Obrázek 2.9: Zapojení senzoru s otevĜeným kolektorem NPN SpoleþnČ se senzorem je pro správnou detekci nutný i magnet, který je zabudovaný do dveĜí. Pro správnou detekci je tĜeba vzít v úvahu rozmČry magnetu, na kterých závisí citlivost senzoru. Pro systém dveĜního spínaþe je využit magnet o rozmČrech 15x10x4 mm. Jeho citlivost je 15 mm.
14
3. SOFTWAROVÉ VYBAVENÍ PĜi realizaci systému je ze softwarového vybavení využito následujících prostĜedkĤ. Pro komunikaci mezi jednotlivými prvky je využit program RSLinx Classic. Programovací software tvoĜí program RSLogix 5000. Vizualizace je vytvoĜena pomocí programu FactoryTalk View Studio.
3.1
RSLinx Classic
Program RS LinxClasic slouží jako komunikaþní server a zprostĜedkovatel spojení mezi zmínČným softwarem RSLogix5000, FactoryTalk View studio a zaĜízením pĜipojeným k PLC. Náhled programu RSLinx Classic je na obrázku 3.1. V softwaru RSLinx jsou k dispozici dva rĤzné Ethernet ovladaþe. Jedná se o Ethernet/IP Driver a Ethernet device. První jmenovaný automaticky nalezne všechny Ethernet/IP kompatibilní prvky na síti. NČkolik starších Ethernet/IP prvkĤ spoleþnosti Rockwell nelze ovšem tímto zpĤsobem nalézt. Starší Ethernet device ovladaþe fungují se všemi Ethernet/IP prvky spoleþnosti Rockwell Automation, ale skenují pouze manuálnČ vložené IP adresy. Pokud je tĜeba, lze využít více druhĤ ovladaþĤ, nebo vícenásobné instalace jednotlivých typĤ.[8]
Obrázek 3.1: Náhled programu RSLinx Slassic Gateway
15
3.2
RSLogix 5000
Software RSLogix 5000 Enterprise je navržený pro práci s procesory platformy Logix5000. ObecnČ lze tento program popsat jako softwarový balík, který v souladu s IEC 61131-3, nabízí editory kontaktních schémat, strukturovaného textu, diagramĤ funkþních blokĤ a sekvenþního programování. UmožĖuje vytváĜet vlastní (tzv. Add-On) instrukce v kterémkoli programovacím jazyku. Výhodou je tedy možnost vytváĜet program, jehož þásti mohou být programovány rĤznými zpĤsoby.[7] Náhled programu je zobrazen na obrázku 3.2. Obsažená technologie Integrated Architecture pĜináší širokou škálu pĜedem integrovaných komponentĤ a systémĤ. Funkce distribuovaného Ĝízení pro: • Globální pĜístup k datĤm • Deterministické Ĝízení • Distribuované HMI • Rozsáhlá knihovna algoritmĤ Ĝízení procesĤ (funkþních blokĤ) Programovatelná flexibilita Ĝídicího systému pro: • Optimalizovanou údržbu a Ĝešení problémĤ. Zdrojové programy jsou uloženy v Ĝídícím systému a jsou založeny na použití tagĤ • Samostatný provoz • Škálovatelná architektura
Obrázek 3.2: Vzhled programu RSLogix 5000 16
3.3
FactoryTalk View Studio
Jedná se o vývojové prostĜedí obsahující nástroje, které jsou potĜebné k vytvoĜení všech aspektĤ rozhraní mezi þlovČkem a poþítaþem (HMI) vþetnČ grafických zobrazení, trendĤ, hlášení alarmu a animace v reálném þase. Obsahuje také nástroje k testování jednotlivých zobrazení a celých aplikací. Náhled do vývojového prostĜedí je na obrázku 3.3. Po dokonþení vývoje je vytvoĜen runtime (provádČcí) soubor (.MER) pro spouštČní na terminálu PanelView Plus.[9]
Obrázek 3.3: Náhled programu FactoryTalk View Studio
17
4. PROGRAMOVÁNÍ Jak již bylo popsáno v kapitole 3, programová složka systému byla vytvoĜena v programu RSLogix 5000 spoleþnČ s vizualizací v programu FactoryTalk View studio. Program je rozdČlen na 4 základní þásti. • Sekvencer (generování periodického signálu) • Main Routine (hlavní þást programu) • Klávesy (zpĤsob vyhodnocení stisknutých kláves na vizualizaci) • KlávesniceST (podprogram pro Ĝešení pĜíkazĤ v jazyce ST) PĜi programování je využito promČnných, které pĜedstavují jednotlivé prvky programu. Seznam promČnných je v pĜíloze 1. V tabulce 4.1 jsou uvedeny promČnné, které tvoĜí vstupy a výstupy automatu. Tabulka 4.1: Vstupy a výstupy automatu CompactLogix promČnná radek_0 radek_1 radek_2 radek_3 led zamek sloupec_0 sloupec_1 sloupec_2 senzor_1
výstup/vstup
OUT 0 OUT 2 OUT 4 OUT 6 OUT 7 OUT 11 IN 9 IN 11 IN 13 IN 0
popis
periodicky generovaný signál 1. Ĝádku klávesnice periodicky generovaný signál 2. Ĝádku klávesnice periodicky generovaný signál 3. Ĝádku klávesnice periodicky generovaný signál 4. Ĝádku klávesnice signalizace stisknutého tlaþítka na dotykové klávesnici promČnná urþující odemþení/uzamþení zámku snímaþ signálu sloupce 1 snímaþ signálu sloupce 2 snímaþ signálu sloupce 3 detektor otevĜených/zavĜených dveĜí
PĜi tvorbČ programu je využito jazyka Ladder a jazyka ST (strukturovaný text). Ladder diagram je grafický jazyk, který se používá pro programování automatických systémĤ. ZpĤsob programování je pomocí graficky zobrazených pĜíþek s vyhodnocením podmínek. Strukturovaný text je programovací jazyk používající k provádČní pĜíkazĤ pomocí textového editoru. Jednotlivé þásti programu budou popsány v samostatné podkapitole. ZpĤsob, jakým je program vykonáván naznaþuje vývojový diagram na obrázku 4.3. Po spuštČní programu dojde k nastavení poþáteþních podmínek a uzamþení zámku. Poþáteþní podmínky tvoĜí pomocné promČnné, pomocí kterých dochází k postupnému uložení v poĜadí stisknutých kláves, vynulování stavĤ pro jednotlivé osoby a promČnných urþujících, zda je vstupní kód zadáván na vnČjší dotykovou klávesnici nebo dotykový displej.
18
První podmínka vývojového diagramu tvoĜí zaþátek zadávání kódu. Pokud je kód zadáván na vnČjší dotykovou klávesnici, znepĜístupní se zadávání kódu na dotykovém panelu a naopak pokud je kód zadáván na dotykovém panelu, nelze zadávat kód na vnČjší dotykové klávesnici. Poté dochází k dokonþení zadání 4 místného kódu. V pĜípadČ, kdy je kód zadáván z vnČjší strany, dojde k vyhodnocení správnosti kódu. V kladném pĜípadČ dochází k odemþení zámku na pĜedem nastavenou dobu. V pĜípadČ, kdy nedojde k opČtovnému uzavĜení dveĜí, pĜiþítá se pĜíslušné osobČ chybový stav. Tento stav slouží k identifikaci osob zabraĖujícím uzavĜení a uzamþení dveĜí. Po dokonþení podmínek se dostáváme opČt na zaþátek vývojového diagramu, kdy jsou opČt nastaveny poþáteþní podmínky a zámek je uzamþen. Podobná situace nastává pĜi zadání kódu na dotykový panel. Po dokonþení zadání je opČt vyhodnocena správnost kódu. V pĜípadČ kdy je nesprávný kód, zĤstává zámek uzamþen a podmínky jsou beze zmČn. Pokud kód souhlasí s pĜíslušným vstupním kódem, dochází k dalšímu vyhodnocení. Jestliže se jedná o kód administrátora, systém þeká, zda je stisknuta klávesa mĜížka. Pokud ano, dojde na dotykovém panelu k pĜístupu do databáze. V opaþném pĜípadČ dojde pouze k odemþení zámku. Tento postup je zvolen z dĤvodu využití stejného kódu administrátora pro vstup do databáze a zároveĖ pro þastČjší otevírání dveĜí. PĜi vstupu do databáze a provedení požadovaných úprav dojde pomocí stisknutí tlaþítka „zpČt“ k pĜesunu na zaþátek vývojového diagramu, tedy nastavení poþáteþních podmínek a uzamþení zámku.
19
SpuštČní programu Nastavení poþáteþních podmínek, zámek uzamþen
ZnemožnČné zadání kódu na dotyk. panelu
VnČjší dotyk. klávesnice
Poþátek zadávání kódu
VnitĜní dotyk. panel
Dokonþení zadání kódu
Dokonþení zadání kódu
ne
OvČĜení správnosti kódu
ZnemožnČné zadání kódu na dotyk klávesnici
ano
Zámek odemþen þasovaþ
ZjištČní otevĜení dveĜí ano
OvČĜení uzavĜení dveĜí
ne
OvČĜení správnosti kódu ano ne
Kód Admin ano
ne
Stisk klávesy #
PĜiþtení chybového stavu pĜíslušné osobČ
ano
Vstup do databáze ano
OvČĜení uzavĜení dveĜí ne
Obrázek 4.3: Vývojový diagram zadání vstupního kódu
20
4.1
Sekvencer
Tato þást programu zajišĢuje podmínky nutné pro obsluhu maticové klávesnice. Jak již bylo popsáno v kapitole 2.2, pro zjištČní stisknuté klávesy je nutné generovat budící signál na pozice ĜádkĤ a na pozici sloupcĤ mĤžeme detekovat stisknutou klávesu. Systém vyhodnocení generovaných a následnČ detekovaných signálĤ je zobrazen v tabulce 4.2. PĜi stisku klávesy dojde k sepnutí spínaþe pod pĜíslušným tlaþítkem. Vlivem toho dojde k detekci signálu na pozici pĜíslušného sloupce. Z tabulky 4.2 je zĜejmé, že v první þásti není u kroku 1 až 4 detekovaný žádný signál na vstupu. Z toho plyne, že nebylo stisknuto žádné tlaþítko. V 2. þásti tabulky mĤžeme vidČt detekovaný signál v kroku 2 na druhém sloupci. Vyhodnocením zjistíme stisknuté tlaþítko 5. ZpĤsob vyhodnocení je popsán v kapitole 4.2. Tabulka 4.2: Algoritmus postupující 1 WƌŽŵĢŶŶĠ ŬƌŽŬ ƌĂĚĞŬͺϬ ƌĂĚĞŬͺϭ ƌĂĚĞŬͺϮ ƌĂĚĞŬͺϯ ƐůŽƵƉĞĐͺϬ ƐůŽƵƉĞĐͺϭ ƐůŽƵƉĞĐͺϮ ϭ ϭ Ϭ Ϭ Ϭ Ϭ Ϭ Ϭ Ϯ Ϭ ϭ Ϭ Ϭ Ϭ Ϭ Ϭ ϯ Ϭ Ϭ ϭ Ϭ Ϭ Ϭ Ϭ ϰ Ϭ Ϭ Ϭ ϭ Ϭ Ϭ Ϭ ϭ ϭ Ϭ Ϭ Ϭ Ϭ Ϭ Ϭ Ϯ Ϭ ϭ Ϭ Ϭ Ϭ ϭ Ϭ ϯ Ϭ Ϭ ϭ Ϭ Ϭ Ϭ Ϭ ϰ Ϭ Ϭ Ϭ ϭ Ϭ Ϭ Ϭ
21
Obrázek 4.1: Program sekvencer PĜi generování periodického signálu je využito instrukcí SQI, SQO. Jedná se o sekvenþní instrukce, pĜiþemž instrukce SQI detekuje, kdy je kompletní krok páru SQI/SQO. Naopak instrukce SQO nastavuje výstupní podmínky pro další krok sekvence. PĜi použití páru instrukcí SQI/SQO zajišĢují promČnné: Array.dint[0] -urþuje první prvek sekvenceru. Maska - pomocí této promČnné dochází k porovnávání s promČnnou hodnota_2. Na obrázku 4.1 je ukázka programu sekvencer. Výsledkem celého programu je algoritmus, který generuje signál na pĜíslušné výstupy. Generování toho signálu je periodické. Pomocí vlastností této þásti programu je nastavena perioda opakování generovaného signálu na 250ms. Jedná se o optimální þasový úsek, který je postaþující pro detekci stisknuté klávesy. Pokud snížíme tuto þasovou konstantu, tak hrozí chyba ve vyhodnocení stisknuté klávesy.
22
4.2
Main Routine
PĜi bČhu programu Main Routine je využito podprogramĤ klavesy a klavesniceST. Tyto podprogramy jsou volány pomocí bloku JSR, který je zobrazen na obrázku 4.2.
Obrázek 4.2: Volání podprogramĤ klavesy a klavesniceST
4.2.1
Vyhodnocení stisknutých kláves
V programu Main Routine je využito pĜedchozího programu sekvencer pro þtení stisknutých kláves na dotykové klávesnici. Jak je znázornČno v tabulce 4.2, je signál periodicky vyslán postupnČ na první až þtvrtý Ĝádek klávesnice. ěádky maticové klávesnice popisují promČnné radek_0 až radek_3. Signál je poté detekován pomocí vstupních promČnných sloupec_1 až sloupec_3, které pĜedstavují sloupce klávesnice. Vyhodnocení stisknuté klávesy je poté zobrazeno na obrázku 4.3, kde je pro pĜíklad uvedeno vyhodnocení stisknuté klávesy 1 a klávesy 6. Klávesa 1 je stisknuta pĜi splnČní podmínek: • na první Ĝádek (radek_0) klávesnice je generovaný periodický signál • pomocí promČnné sloupec_0 (první sloupec klávesnice) je detekovaný signál na vstupu • jsou splnČny doplĖující podmínky, promČnné radek_1,radek_2 a radek_3 nedetekují na vstupu signál PĜi testování vyhodnocené klávesy bylo zjištČno, že mĤže dojít k chybČ. Tato chyba byla zpĤsobena vysokou frekvencí periodicky generovaných signálĤ na pozici ĜádkĤ. DĤsledkem toho došlo k vyhodnocení klávesy, která byla ve stejném sloupci, jako právČ stisknutá klávesa a o jednu pozici ve sloupci dále než stisknutá klávesa. Proto byla pĜidána podmínka, aby nebyla tato klávesa stisknuta. V pĜípadČ stisknutí klávesy 1 byla podmínka nestisknuté klávesy hvČzda.
23
Obrázek 4.3: Vyhodnocení stisknuté klávesy PĜi dlouhodobém testování stisknutých kláves bylo zjištČno, že pĜesto obþas dojde k detekci jiné klávesy. Detekovaná klávesa je umístČna ve stejném sloupci, ve kterém je právČ stisknutá klávesa. Pro Ĝešení toho problému je proto nutné zvolit odpovídající periodu generovaných signálĤ v programu sekvencer. SouþasnČ jsou pĜidány podmínky zajišĢující detekci správné klávesy. Perioda generovaného signálu na jednotlivé výstupy radek_0,radek_1, radek_2 a radek_3 je 250ms. DoplĖující podmínky jsou patrné na obrázku 4.4. Jedná se o pĜípad správné detekce ve sloupci s tlaþítky 3,6,9 a mĜížka. PĜi stisku jedné z tČchto kláves dojde ke spuštČní þasovaþe timer_6. ZároveĖ je doplĖující podmínka, že nesmí být stisknuta jiná klávesa ve stejném sloupci. ýasovaþ s dobou þasování 300ms je využit proto, aby stisknutá klávesa byla softwarovČ „pĜidržena“ a mohlo dojít ke správné detekci klávesy. Po uplynutí þasovaþe dochází k nastavení log. 0 u promČnných, které pĜedstavují detekovanou klávesu. Tato podmínka je patrná z obrázku 4.3, kdy je pĜi detekci hodnota stisknuté klávesy nastavena trvale na log. 1. Pro správnou detekci všech kláves je využito navíc þasovaþe timer_5 a timer_4. Oba þasovaþe jsou využity obdobnČ pro jednotlivé sloupce kláves. Pro každou stisknutou klávesu je podmínkou, aby nebyla stisknuta jiná klávesa v témže sloupci. Po dobČhnutí jednotlivých þasovaþĤ dochází k nastavení log. 0 u promČnných pĜedstavující klávesy v pĜíslušném sloupci.
Obrázek 4.4: DoplĖující podmínky pro správnou detekci stisknuté klávesy 24
Pro zadání pĜíslušného vstupního kódu na dotykové klávesnici jsou potĜebné 4 stisknuté klávesy. Pro vyhodnocení poĜadí stisknutých kláves jsou použity pomocné promČnné. Vyhodnocení probíhá pomocí ladder diagramu v kombinaci se strukturovaným textem. Jak je zobrazeno na obrázku 4.5. Postupným zadáváním kódu dochází ke splnČní podmínek, pomocí kterých lze urþit pozadí zadávání jednotlivých znakĤ. Pro úplnost je uvedena þást kódu v jazyku ST (strukturovaného textu). Na obrázku je patrná promČnná timer_3.DN. Jedná se o þasovaþ, pomocí kterého zabráníme vícenásobnému naþtení stejné klávesy. Stisknutý znak je vyhodnocen v podprogramu klavesniceST, kde je využito ST. Na obrázku 4.5 je uvedena þást kódu, pomocí které dojde k vyhodnocení prvního stisknutého znaku a pĜiĜazení do promČnné znak_1. IF klavesa_1 THEN znak_1:= 1; ELSIF klavesa_2 THEN znak_1:=2; ELSIF klavesa_3 THEN znak_1:=3; ELSIF klavesa_4 THEN znak_1:=4; ELSIF klavesa_5 THEN znak_1:=5; ELSIF klavesa_6 THEN znak_1:=6; ELSIF klavesa_7 THEN znak_1:=7; ELSIF klavesa_8 THEN znak_1:=8; ELSIF klavesa_9 THEN znak_1:=9; ELSIF klavesa_0 THEN znak_1:=0; END_IF; IF znak_1>0 THEN vnejsi_num1 :=0; vnejsi_num2 :=1; vnejsi_num3 :=0; vnejsi_num4 :=0; vpom_1 :=0; END_IF;
V této þásti je již uložen první znak do promČnné znak_1. Vyhodnocení podmínky, zda je do promČnné znak_1 uložena hodnota stisknuté klávesy
Obrázek 4.5: ýást kódu programu klavesniceST Pokud je kladnČ vyhodnocena podmínka stisknuté první klávesy, dochází k pĜiĜazení hodnoty log. 1 promČnné vnejsi_num_2, která je typu BOOL. Podobným zpĤsobem 25
dochází k uložení a vyhodnocení zbývajících znakĤ. Tento postup je patrný z obrázku 4.7. Z téhož obrázku je také patrné využití pomocných promČnných vpom_1 až vpom_4, které jsou využity v podmínce pro zjištČní uloženého znaku pro klávesu stisknutou v urþitém poĜadí. Pomocí promČnné vnejsi_kl je zajištČno zadávání na vnČjší dotykovou klávesnici. Tato podmínka je patrná na obrázku 4.6. Je to z toho dĤvodu, aby pĜi zadávání kódu na dotykovou klávesnici nebylo možné zadávat kód na dotykový panel, protože pro uložení jednotlivých znakĤ jsou použity stejné promČnné znak_1, znak_2, znak_3 nebo znak_4. Tato podmínka se v programu vyskytuje mezi jednotlivými þástmi vyhodnocení stisknutého znaku. IF (vnejsi_kl) & (vpom_1) // Obdobná podmínka je využita pro promČnné vpom_2, vpom_3 a vpom_4.
Obrázek 4.6: Ukázka podmínky stisku klávesy na vnČjší klávesnici
Obrázek 4.7: Kombinace podmínek pro rozlišení poĜadí stisknutých znakĤ V pĜípadČ dokonþeného zadání znakĤ, tedy naplnČní promČnných znak_1 až znak_4, dochází k pĜevedení tČchto znakĤ na jedno þtyĜciferné þíslo. Toto þíslo je vyjádĜeno promČnnou pin. PĜevod je naznaþen v obrázku 4.8. IF znak_4 > 0 THEN // pokud jsou zadány všechny 4 znaky kódu pin pin := znak_1 * 1000 + znak_2*100 + znak_3 * 10 + znak_4 *1; END_IF;
Obrázek 4.8: PĜevod jednotlivých znakĤ na þtyĜciferné þíslo
4.2.2
Vyhodnocení stisknutých kláves dotykového panelu
Obdobná situace nastává pĜi zadání a vyhodnocení kódu z dotykového panelu. Jak je zobrazeno v kapitole 5.1 na obrázku 5.1 Jedná se vizuálnČ o stejnou klávesnici jako pĜi použití dotykové klávesnice pro vstup do objektu z vnČjší strany. Na obrázku 4.9 je ukázka stisku klávesy 8. SpoleþnČ se stisknutím klávesy je aktivována promČnná vnitrni, pomocí které je v programu zajištČno zablokování vnČjší 26
dotykové klávesnice po dobu zadávání na dotykový panel. Dále je aktivován þasovaþ timer_2. Ten zajišĢuje, aby nedošlo k vícenásobnému naþtení kláves. Tímto zpĤsobem je ošetĜen stisk všech kláves.
Obrázek 4.9: SpuštČní þasovaþe pĜi stisku klávesy Použití þasovaþe a struktura programu pro vyhodnocení poĜadí stisknutí kláves je obdobná jako pĜi použití dotykové klávesnice. Tento zpĤsob je zobrazen na obrázku 4.10. Odlišné je použití pomocných promČnných.
Obrázek 4.10: Podmínky pro vyhodnoceni posloupnosti naþtených znakĤ Vyhodnocení probíhá stejnČ jak u dotykové klávesnice v podprogramu klavesniceST pomocí strukturovaného textu. Rozdílné je použití promČnných jak je naznaþeno na obrázku 4.11v þásti kódu vyhodnocující stisk klávesy 1 a þásteþnČ klávesy 2. Tento kód pokraþuje obdobným zpĤsobem jako u dotykové klávesnice. IF pom_1 & vnitrni THEN IF visu_kl_1 THEN znak_1:= 1; ELSIF visu_kl_2 THEN
Obrázek 4.11: Ukázka pĜiĜazení znaku do promČnné PĜi tomto zápisu dochází k uložení stisknutých kláves do stejných promČnných jako u dotykové klávesnice, tedy do promČnných znak_1 až znak_4. Tento zápis je výhodný z hlediska vyhodnocení zadaného pĜístupového kódu, protože pracujeme již se stejnými promČnnými. Dochází k již popsanému pĜevedení jednotlivých znakĤ na þtyĜciferné þíslo, které je dále porovnáno s pĜístupovými kódy v databázi. K porovnání dochází v programu klávesniceST. Porovnání zajišĢuje následující þást kódu v obrázku 4.12. je zde naznaþeno porovnání stisknutých kláves s pĜístupovými 27
kódy obsaženými v databázi. V pĜíkladu je naznaþeno porovnání s pĜístupovými kódy 1 až 3. Ve skuteþnosti obsahuje databáze až 15 možných pĜístupových kódĤ. IF pin = kod_0 THEN zamek :=1; stav_0 :=1; ELSIF pin = kod_1 THEN zamek :=1; stav_1 :=1; ELSIF pin = kod_2 THEN zamek :=1; stav_2 :=1; ELSIF pin = kod_3 THEN zamek :=1; stav_3 :=1; END_IF;
Obrázek 4.12: Porovnání stisknutých kláves s kódem pin obsaženým v databázi V pĜípadČ, kdy je zadaný kód shodný s kódem obsaženým v databázi, dochází k odjištČní zámku a pĜiĜazení hodnoty log.1 promČnné stav_ , pomocí které je jednoznaþnČ urþeno, která osoba z databáze zadala pĜístupový kód. PĜi odjištČní zámku dochází ke splnČní podmínky zobrazené na obrázku 4.13. PĜi stavu, kdy dojde k odemþení zámku, spouští se þasovaþ timer_1, který je primárnČ nastaven na 5s. Je to doba, po kterou je zámek odemþen. Následující podmínkou na obrázku je stav, kdy uplyne þas, po který je zámek odemþen a dochází k opČtovnému uzamþení zámku spoleþnČ s aktivací klávesy hvČzda, která zajišĢuje nastavení poþáteþních podmínek.
Obrázek 4.13: Odemþení zámku a spuštČní þasovaþe
4.2.3
Programové prvky pro vizualizaci – editaþní þást
V pĜedcházející kapitole bylo popsáno vyhodnocení stisknutých kláves dotykového panelu. Tyto klávesy tvoĜí první z celkových dvou obrazovek vizualizace. Samotná vizualizace je popsána v kapitole 5.1. Popis programových prvkĤ v této kapitole bude zamČĜen na druhou (editaþní) obrazovku vizualizace, která je zobrazena na obrázku 5.2. Na editaþní obrazovku má pĜístup pouze administrátor. Tento pĜístup spoþívá v zadání 28
unikátního kódu, který sám o sobČ slouží k odemþení zámku vstupních dveĜí. Pokud po zadání tohoto unikátního kódu následuje stisknutí klávesy mĜížka. je poté zpĜístupnČna obrazovka pro editaci údajĤ osob, které mají právo pĜístupu do objektu. Samotný pĜístup administrátora do editaþní þásti je zobrazen na obrázku 4.14 spoleþnČ s þástí kódu na obrázku 4.15. V þásti kódu je porovnání vloženého kódu s promČnnou kod_0, která náleží právČ administrátorovi. PĜi shodČ je využito promČnné admin typu BOOL, která je nastavena na logickou 1. Na obrázku 4.14 je poté dvojice podmínek, z nichž jednu tvoĜí promČnná admin a druhou stisknutí tlaþítka mĜížka na dotykovém panelu. PĜi splnČné podmínce následuje vstup do editaþní þásti.
Obrázek 4.14: Podmínky pro vstup do editaþní þásti vizualizace admin :=0; // pĜi shodČ unikátního kódu pro administrátora dochází IF pin = kod_0 THEN // k nastavení promČnné admin, potĜebné pro vstup admin :=1; // do þásti vizualizace s databázi pĜíslušných osob ELSE admin :=0; END_IF;
Obrázek 4.15: Vyhodnocení pĜístupového kódu pro administrátora PĜi vytváĜení editaþní obrazovky bylo využito pĜíkazĤ programu klavesniceST. Jedná se zejména o vkládání a editace jmen seznamu osob, zobrazení a zmČny kódu pin jednotlivých osob, zobrazení chybových stavĤ a posléze jejich nulování. Hlavním prvkem rozlišujícím jednotlivé osoby a k nim patĜící další data urþuje promČnná poradi. Tato promČnná je implicitnČ nastavena pohybem v seznamu osob a souþasným potvrzením klávesy Enter. Vyhodnocením této promČnné dochází k urþení dalších zobrazených stavĤ u každé osoby, jak je naznaþeno v obrázku 4.16. IF poradi = 1 THEN visu_pin := kod_1; IF visu_new_pin > 0 THEN // zadání nového kódu pin kod_1 := visu_new_pin; visu_new_pin := 0; END_IF; visu_chyba := chybovy_stav_1.ACC; // poþet chybových stavĤ pĜíslušné osoby IF chyba_0 THEN // nulování chybových stavĤ chybovy_stav_1.ACC := 0; END_IF; IF string.DATA[0] > 0 THEN string1.DATA[0] := string.DATA[0]; // vložení jména po jednotlivých znacích string1.DATA[1] := string.DATA[1]; string1.DATA[2] := string.DATA[2]; string1.DATA[3] := string.DATA[3]; string1.DATA[4] := string.DATA[4]; 29
END_IF;
string1.DATA[5] := string.DATA[5]; string1.DATA[6] := string.DATA[6]; string1.DATA[7] := string.DATA[7]; string1.DATA[8] := string.DATA[8]; string1.DATA[9] := string.DATA[9]; string1.DATA[10] := string.DATA[10]; string1.DATA[11] := string.DATA[11]; string1.DATA[12] := string.DATA[12]; string1.DATA[13] := string.DATA[13]; string1.DATA[14] := string.DATA[14]; string1.DATA[15] := string.DATA[15]; string.DATA[0] := 0;
Obrázek 4.16: Vyhodnocení a pĜiĜazení promČnných pĜi odpovídající hodnotČ promČnné poradi PĜi vyhodnocení promČnné poradi získáme možnost zobrazit doprovodné informace osoby, která je na potvrzeném Ĝádku seznamu. V þásti kódu (6) se jedná o porovnání s prvním Ĝádkem v seznamu. Celý seznam ovšem zaþíná nultým Ĝádkem, který je vyhrazen pro administrátora. Pomocí promČnné visu_pin je zobrazen kód pin pĜidružený k poĜadí v seznamu. Seznam kódĤ je uveden v pĜíloze 1 v tabulce promČnných. ZmČnu kódu zajišĢuje promČnná visu_new_pin. Tato promČnná je nastavena na hodnotu 0. V pĜípadČ, kdy je stisknuto tlaþítko pro zmČnu pinu, otevĜe se pop_up okno, kam je možné zadat 4 místný þíselný kód. PĜi potvrzení tohoto þtyĜmístného þísla dojde k pĜiĜazení promČnné visu_new_pin do kódu v databázi, v tomto pĜípadČ do promČnné kod_1. Po dokonþení této operace je promČnné visu_new_pin opČt pĜiĜazena hodnota 0. Další programovou þástí pro vizualizaci je zjištČní poþtu chybových stavĤ jednotlivých uživatelĤ. Tento stav je vyhodnocen v programu Main Routin. ZpĤsob vyhodnocení je zobrazen na obrázku 4.17. Jedná se o pĜípad, kdy dobČhne þas urþující stav odemþení zámku. Další podmínkou jsou otevĜené vstupní dveĜe, což zajišĢuje senzor, který nedetekuje magnet. V tom pĜípadČ dojde k splnČní druhé podmínky. Podmínka pro stav_1 je splnČna v pĜípadČ, kdy pro odemþení zámku byl zadán pin osoby na pozici 1 v seznamu osob. Po splnČní všech podmínek dochází k pĜiþtení chybového stavu pomocí countru.
Obrázek 4.17: PĜípadné naþtení chybového stavu
30
Ve vizualizaci zajišĢuje zobrazení poþtu chybových stavĤ promČnná visu_chyba. Jak je znázornČno na obrázku 4.16, tak pĜi vyhodnocení promČnné poradi dojde k pĜiĜazení promČnné chybovy_stav_1.ACC do promČnné visu_chyba. Tento stav pĜi opakování celého cyklu díky countru narĤstá. Podmínku vynulování chybového stavu zajišĢuje tlaþítko nulování. PĜi stisku tohoto tlaþítka dojde k pĜiĜazení nulové hodnoty do promČnné chybovy_stav_1.ACC. V pĜípadČ, kdy se nacházíme na jiném Ĝádku, tedy i jiném uživateli, dochází k nulování stavu pĜíslušného k dané osobČ. Pro vkládání a editaci jmen v seznamu slouží tlaþítko Edit. PĜi výbČru jména (nebo prázdného Ĝádku) a potvrzení dojde opČt k pĜiĜazení hodnoty vztahující se k dané pozici do promČnné poradí. Po stisknutí klávesy Edit se zobrazí pop-up okno. Do tohoto okna zadáme pomocí externí klávesnice jméno vkládané osoby. PĜi potvrzení vkládaného ĜetČzce dojde k vložení jednotlivých znakĤ do promČnné string, která je typu STRING. Jakmile je vyhodnocena podmínka, že první bit ĜetČzce má nenulovou hodnotu, dochází k naþtení jednotlivých bitĤ do ĜetČzce na vybrané pozici. Po tomto naþtení dochází k vynulování nultého bitu. Toto nulování probíhá na základČ podmínky, kdy je nutné vyhodnotit, zda ĜetČzec obsažený v promČnné string je již pĜiĜazen do promČnné zastupující jméno na pozici v seznamu. Poþet znaku na každé jméno je omezen na 16 znakĤ. Tabulka jmen je schopna pojmout celkem 15 osob z þehož na první pozici je administrátor.
31
5. VIZUALIZACE Vizualizaci tvoĜí spustitelný soubor v prostĜedí FactoryTalk View Studio. Tento soubor je urþený pro obrazovku 320 x 240 pixelĤ. Vizualizace je zobrazena na dotykovém displeji PanelView Plus, který je popsán v kapitole 2.3.
5.1
Možnosti a popis vizualizace
Vizualizaci tvoĜí dvČ obrazovky. První obrazovka je obecnČ pĜístupná všem uživatelĤm. Je tvoĜena klávesnicí, která je obdobná dotykové klávesnici umístČné vnČ objektu a slouží ke stejné funkci, tedy odemþení zámku vstupních dveĜí. Výhodou použití vizualizace ve spojení s dotykovým panelem je možnost vstoupit do další obrazovky, která je již pĜístupná pouze osobČ oprávnČné editovat jména a vstupní data osob, které mají pĜístup do objektu. Tato osoba bude dále nazývána jako administrátor. Na obrázku 5.1 je znázornČna první obrazovka. Hlavní þást tvoĜí zmínČná klávesnice, která je doplnČna prvky pro usnadnČní zadávání vstupního kódu. V pravém horním rohu je okno, které zobrazuje hvČzdiþky. Poþet hvČzdiþek odpovídá poþtu stisknutých kláves, které jsou zaznamenány jako vstupní pin. Tento pin je poté porovnán s databází vstupních kódĤ. Pokud je kód shodný s jedním ze vstupních kódĤ, dojde k odemþení zámku, spuštČní þasovaþe a po té k opČtovnému uzamþení zámku. Dokonþení operace signalizuje okno bez zobrazených hvČzdiþek. Na první obrazovce je dále patrné zvýraznČné tlaþítko hvČzdiþky. PĜi stisku klávesy s hvČzdou obsažené v klávesnici dojde k vymazání zadávaného kódu a proces zadání je možné opakovat. Posledním prvkem obrazovky je okno v pravém dolním rohu, kde je zobrazen datum a þas.
Obrázek 5.1: První obrazovka vizualizace – klávesnice pro zadání kódu pin Druhou obrazovku, kterou tvoĜí editaþní okna pro jednotlivé osoby mĤže zobrazit pouze administrátor. Situace je obdobná jako pĜi zadání kódu pro otevĜení dveĜí. Ovšem 32
v pĜípadČ, kdy po zadání kódu administrátora dojde ke stisku klávesy mĜížka, dochází k pĜepnutí obrazovky do editaþní þásti. Stejného kódu pro otevĜení dveĜí a v kombinaci se stisknutím dalšího tlaþítka je využito pro menší nároþnost uživatele pamatovat si zbyteþnČ mnoho þíselných kódĤ. Obrazovka pro editaþní þást je zobrazena na obrázku 5.2.
Obrázek 5.2: Editaþní þást vizualizace Okno druhé obrazovky lze nazvat editaþní þástí. TvoĜí ji v levém horním rohu seznam jmen osob, které jsou oprávnČni ke vstupu do objektu. Pro pohyb v seznamu slouží tlaþítka nahoru/dolu, která jsou umístČna pod seznamem. Vedle tČchto tlaþítek se nachází enter, který slouží pro výbČr osoby nebo pĜíslušného Ĝádku. Dalším tlaþítkem je Edit, které po stisknutí vyvolá pop-up okno. Do pop-up okna je možné pomocí externí klávesnice, editovat, vkládat þi naopak mazat jednotlivá jména.Klávesnice je pĜipojená k panelu pĜes USB. Ke každému jménu je v databázi pĜidČlen vstupní kód pin. Tento kód je zobrazen v pravém horním rohu a je možné ho mČnit pomocí tlaþítka umístČného pod ním. Souþástí je i okno zobrazující chybové stavy jednotlivých osob. Chybovým stavem je pĜípad, kdy daná osoba zadá svĤj pĜístupový kód pin, ovšem nČjakým zpĤsobem nedojde k zavĜení dveĜí po zvolený þas od odemþení zámku. Tlaþítko umístČné pod zobrazením chybových stavĤ slouží k jejich nulování u pĜíslušných osob, u kterých je právČ aktivní bílý rámeþek v seznamu osob. Poslední tlaþítko v pravém dolním rohu slouží k odhlášení administrátora z editaþní þásti zpČt na první obrazovku.
33
6. ZÁVċR Tato práce se zabývá popisem aplikace kódového ovládání vstupních dveĜí, jejíž souþástí je vytvoĜená vizualizace. V úvodní þásti je obsažen bližší popis zadání spoleþnČ s požadavky na vizualizaci. Následuje popis jednotlivých hardwarových prvkĤ, které jsou použity pĜi realizaci celého systému. U každé þásti je uvedena hlavní charakteristika použitého produktu. Z jednotlivých prvkĤ je sestavena architektura systému. Z této architektury je patrný zpĤsob zaþlenČní jednotlivých hardwarových prvkĤ a úroveĖ komunikace mezi nimi. Následující þást seznamuje þtenáĜe se softwarem, který je použit pĜi tvorbČ projektu. Jedná se o software firmy Rockwell Automation, program RSLogix 5000, ve kterém bylo vytvoĜeno programové vybavení PLC. Druhým použitým softwarem je program FactoryTalkView sloužící pro tvorbu vizualizace. StČžejní þástí práce je vytvoĜení a popis programového vybavení. PĜed samotným popisem programu je uveden zpĤsob Ĝešení, který doprovází vývojový diagram. Vzhledem k možnosti reálného využití systému v praxi, je kladen dĤraz na efektivnost a funkþnost. Z dĤvodu programování systému v jazyku LD (ladder diagramu) a ST (strukturovaný text) jsou pro popis programu do práce zaþlenČny obrázky, na nichž jsou dĤležité þásti programu v jazyce LD. Tyto obrázky jsou doplnČny þástmi kódu jazyka ST s podrobným popisem funkþnosti jednotlivých þástí. Poslední þást práce je vČnována vizualizaci. Jedná se o popis a možnosti jednotlivých obrazovek. Vizualizace tvoĜí hlavní þást pro vytváĜení seznamu osob a editaci jednotlivých údajĤ každé osoby. Systém je testovaný v laboratorních podmínkách, kde byla ovČĜena funkþnost a správnost získávaných dat pĜi napodobení situací, které jsou reálné v bČžném provozu. Po dokonþení byla vytvoĜena dokumentace, která tvoĜí þást elektronické pĜílohy. Z pohledu dalšího vývoje projektu je možnost rozšíĜení systému jak ve funkþnosti tak paralelního využití s dalšími bezpeþnostními prvky. V praxi to mĤže znamenat rozšíĜení funkcí v podobČ sledování doby jednotlivých osob v objektu, kontrolu vþasné docházky a podobnČ. PĜi využití s dalšími bezpeþnostními prvky se jedná napĜ. o možnost pĜipojení þteþky þipu, kdy bude zvýšena bezpeþnost identifikace osoby s právem pĜístupu do objektu. Jednotlivé þásti práce jsou vytvoĜeny na základČ zadání a konzultace s vedoucím práce.
34
Literatura [1]
Logix5000 Controllers General Instructions (Reference Manual). Milwaukee: Rockwell Automation, Inc. 2008. [2] VÁGOVSZKÝ, Martin . Programujte [online]. 9.3.2007 [cit. 2011-05-07]. Obsluha maticové klávesnice 3x4 tlaþítka (ASM51) jednochipem. Dostupné z WWW:
. ISSN 1801-1586. [3] RS [online]. 2011 [cit. 2011-05-07]. Electrical, Automation & Cables. Dostupné z WWW: . [4] Rockwell Automation [online]. 2007 [cit. 2011-05-18]. Platformy vizualizace. Dostupné z WWW: . [5] CompactLogix-L2X. ControlTech [online]. 2009, 1, [cit. 2011-05-18]. Dostupný z WWW: . [6] Home.zcu [online]. 2005 [cit. 2011-05-22]. Maticové snímání klávesnice. Dostupné z WWW: . [7] Rockwell Automation [online]. 2010 [cit. 2011-05-15]. PrĤvodce výbČrem Ĝídících systémĤ CompactLogix. Dostupné z WWW: . [8] Automation university [online]. 2009 [cit. 2011-05-25]. Základy systému Logix. Dostupné z WWW: . [9] Automation university [online]. 2009 [cit. 2011-05-25]. Výhody integrace FactoryTalk View do vaší architektury. Dostupné z WWW: . [10] Lesikar sensors [online]. 2002 [cit. 2011-05-11]. Orientaþní pĜehled. Dostupné z WWW: . [11] Allen Bradley [online]. 2008 [cit. 2011-05-29]. Essential Components. Dostupné z WWW: .
35
Seznam obrázkĤ
Obrázek 2.1: Architektura systému ............................................................................................... 9 Obrázek 2.2: Technický popis CompactLogix 1769-L23E-QB1B [5] ....................................... 10 Obrázek 2.3: Klávesnice KEYPAD 12 WAY,436-594 .............................................................. 10 Obrázek 2.4: Celkové uspoĜádání maticové klávesnice [6] ........................................................ 11 Obrázek 2.5: UspoĜádání jednotlivých tlaþítek na výstupu klávesnice [3] ................................. 11 Obrázek 2.6: PanelView Plus 600............................................................................................... 12 Obrázek 2.7: Zdroj napájení pro automat a dotykový panel ....................................................... 13 Obrázek 2.8: DveĜní spínaþ M005 .............................................................................................. 13 Obrázek 2.9: Zapojení senzoru s otevĜeným kolektorem NPN ................................................... 14 Obrázek 3.1: Náhled programu RSLinx Slassic Gateway .......................................................... 15 Obrázek 3.2: Vzhled programu RSLogix 5000........................................................................... 16 Obrázek 3.3: Náhled programu FactoryTalk View Studio ......................................................... 17 Obrázek 4.1: Program sekvencer ................................................................................................ 22 Obrázek 4.2: Volání podprogramĤ klavesy a klavesniceST ....................................................... 23 Obrázek 4.3: Vyhodnocení stisknuté klávesy ............................................................................. 24 Obrázek 4.4: DoplĖující podmínky pro správnou detekci stisknuté klávesy .............................. 24 Obrázek 4.5: ýást kódu programu klavesniceST ........................................................................ 25 Obrázek 4.6: Ukázka podmínky stisku klávesy na vnČjší klávesnici .......................................... 26 Obrázek 4.7: Kombinace podmínek pro rozlišení poĜadí stisknutých znakĤ .............................. 26 Obrázek 4.8: PĜevod jednotlivých znakĤ na þtyĜciferné þíslo ..................................................... 26 Obrázek 4.9: SpuštČní þasovaþe pĜi stisku klávesy ..................................................................... 27 Obrázek 4.10: Podmínky pro vyhodnoceni posloupnosti naþtených znakĤ ................................ 27 Obrázek 4.11: Ukázka pĜiĜazení znaku do promČnné ................................................................. 27 Obrázek 4.12: Porovnání stisknutých kláves s kódem pin obsaženým v databázi...................... 28 Obrázek 4.13: Odemþení zámku a spuštČní þasovaþe ................................................................. 28 Obrázek 4.14: Podmínky pro vstup do editaþní þásti vizualizace ............................................... 29 Obrázek 4.15: Vyhodnocení pĜístupového kódu pro administrátora .......................................... 29 Obrázek 4.16: Vyhodnocení promČnných pĜi odpovídající hodnotČ promČnné poradi .............. 30 Obrázek 4.17: PĜípadné naþtení chybového stavu ...................................................................... 30 Obrázek 5.1: První obrazovka vizualizace – klávesnice pro zadání kódu pin ............................ 32 Obrázek 5.2: Editaþní þást vizualizace........................................................................................ 33
36
Seznam tabulek
Tabulka 2.1: Technické parametry CompactLogix L23E ........................................................... 10 Tabulka 4.1: Vstupy a výstupy automatu CompactLogix ........................................................... 18 Tabulka 4.2: Algoritmus postupující 1........................................................................................ 21
37
Seznam pĜíloh PĜíloha 1. PĜiložené CD obsahuje: • Report programu RSLogix 5000 • Report programu FactoryTalk View Studio • Projekt programu RSLogix 5000 • Projekt programu FactoryTalk View Studio • Spustitelný soubor pro dotykový panel
38