České vysoké učení technické v Praze Fakulta elektrotechnická
Bakalářská práce
Návrh a implementace archivace dat ze stanic pro měření parametrů stykačů při výstupní kontrole
Daniel Juřík
Vedoucí práce: Richta Tomáš Ing. Studijní program: Elektrotechnika a informatika, strukturovaný, bakalářský © Praha 2008
ii
Poděkování Rád bych tímto poděkoval rodině a spolupracovníkům za podporu, díky níž mi umožnili pracovat nad danou problematikou. Dále bych rád poděkoval ing. Tomáši Richtovi, vedoucímu bakalářské práce a všem pedagogickým pracovníkům ČVUT FEL za jejich vstřícný přístup.
iii
iv
Prohlášení Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil jsem pouze podklady (literaturu, projekty, SW atd.) uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu §60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon).
V Praze dne 15.1.2008
................................................... v
vi
Abstract This work deals with data obtained from specific measurement processes on a special measurement device. The main task of this work is to solve the problem of the data storage into the information system. The result of the whole project is to design and implement the functional tool (program), which is able to ensure both the data collection and storage as well as the management of the individual test processes on the measurement device.
Abstrakt Tato práce se zabývá daty získanými ze specifických měřících procesů, probíhajících na speciální měřící stanici. Práce řeší problematiku ukládání těchto dat do informačního systému. Výsledkem celého projektu je funkční program resp. aplikace, která provádí jak sběr dat a jejich archivaci, tak i řízení jednotlivých zkušebních procesů v měřící stanici.
vii
viii
Obsah 1
2
3
4
Seznam ilustrací.........................................................................................11 Seznam tabulek..........................................................................................11 Úvod.............................................................................................................1 1.1 Základní informace o zúčastněných stranách......................................... 1 1.1.1 Produkty a činnost firmy AMiT ............................................................1 1.1.2 Produkty a činnost firmy LCS International........................................ 2 1.1.3 Historie firmy Elektropřístroj................................................................ 2 Popis.............................................................................................................5 2.1 Zadání Projektu........................................................................................5 2.1.1 Základní popis modulárního systému ADiS 167................................. 7 2.1.2 Základní popis Informačního systému Helios Orange........................ 7 2.1.3 Základní popis Databázového serveru Microsoft SQL Server 2005... 7 Analýza.........................................................................................................9 3.1 Volba programovacího jazyka..................................................................9 3.2 Cíl práce...................................................................................................9 3.2.1 Grafické uživatelské prostředí...........................................................10 3.2.2 Proces pro přenos dat ze stanice SPPK do databáze IS (SQL)....... 12 Realizace....................................................................................................13 4.1 NOS 3.36...............................................................................................13 4.1.1 Databáze proměnných.......................................................................13 4.1.2 Matice................................................................................................13 4.1.3 WID....................................................................................................13 4.1.4 Komunikační rozhraní........................................................................14 4.2 C#...........................................................................................................15 4.2.1 Balíček AtouchX třída AtouchDir.......................................................15 4.2.2 Balíček AtouchX třída AtouchArch.................................................... 16 4.2.3 Balíček System.Windows.Forms.......................................................18 4.2.4 Balíček System.Data......................................................................... 19 4.2.5 Balíček System.Data.SqlClient..........................................................19 4.3 Návrh struktury implementace...............................................................20 4.3.1 Třída FormHlavní...............................................................................22 4.3.2 Třída Zkouška....................................................................................22 4.3.3 Třída Data..........................................................................................22 4.3.4 Třída FormZadaniZkoušky................................................................ 22 4.3.5 Třída FormData................................................................................. 22 4.3.6 Třída Meldung....................................................................................22 4.3.7 Třída FormAbout................................................................................22 4.3.8 Třída FormEdit...................................................................................22 4.3.9 Třída FormParamPC......................................................................... 22 4.4 MS SQL Server 2005.............................................................................23 4.4.1 Vytvoření tabulky dat Zkoušek.......................................................... 23 4.4.2 Vytvoření tabulky dat Měření.............................................................24 4.4.3 Použité dotazy na databázi............................................................... 24 4.5 Realizace uživatelského rozhraní..........................................................25 4.5.1 Hlavní panel.......................................................................................25 4.5.2 Přenos dat ze stanice do databáze...................................................26 ix
5 6 7 A B C D E F G H
4.5.3 Nastaveni zkoušky.............................................................................27 4.5.4 Prohlížení dat zkoušky.......................................................................27 4.5.5 Nastavení aplikace............................................................................ 28 4.5.6 Zprávy aplikce....................................................................................28 4.6 Nároky na vybavení strojů a programů..................................................29 4.6.1 Potřebné SW vybavení......................................................................29 4.6.2 Potřebné HW vybavení......................................................................29 Testování....................................................................................................31 5.1 White-box testování...............................................................................31 5.2 Black-box testování................................................................................31 Závěr..........................................................................................................33 Seznam použité literatury...........................................................................34 Seznam použitých zkratek.........................................................................35 Abecední rejstřík........................................................................................37 UML diagramy............................................................................................38 Seznam tříd Unknown Externals................................................................43 Popis metod tříd AtouchDir a AtouchArch................................................. 44 Seznam WIDů Databáze proměnných.......................................................49 Fotografie Stanice SPPK............................................................................51 Obsah přiloženého CD...............................................................................52
x
Seznam ilustrací Ilustrace 1: Podíl jednotlivých oblastí na produkci společnosti AMiT....................... 1 Ilustrace 2: Comunication diagram........................................................................... 9 Ilustrace 3: Use Case Diagram Obsluhy.................................................................11 Ilustrace 4: Use case Diagram Prohlížení a tisk.....................................................12 Ilustrace 5: Package Diagram.................................................................................20 Ilustrace 6: Content diagram...................................................................................21 Ilustrace 7: ER Diagram databáze..........................................................................23 Ilustrace 8: Hlavní okno aplikace............................................................................26 Ilustrace 9: Okno přenosu dat ze stanice do databáze.......................................... 26 Ilustrace 10: Formulář nastavení zkoušek..............................................................27 Ilustrace 11: Okno prohlížení dat měření................................................................27 Ilustrace 12: Okno editoru souborů.........................................................................28 Ilustrace 13: Okno zpráv.........................................................................................28 Ilustrace 14: Content Diagram TesterSPPK, Program, FormProgramPC, Zkouska, FormEdit, Meldung..................................................................................................38 Ilustrace 15: Content Diagram TesterSPPK, FormZadaniZkousky........................ 38 Ilustrace 16: Content Diagram TesterSPPK, Metody tříd Data, FormData, FormAbout...............................................................................................................39 Ilustrace 17: Content Diagram TesterSPPK, FormHlavní...................................... 40 Ilustrace 18: Content Diagram SPPK......................................................................41
Seznam tabulek Tabulka 1: Typy proměnných v databázi proměnných...........................................13 Tabulka 2: Popis klíčů INI.......................................................................................14 Tabulka 3: Klíče sekce General..............................................................................14
xi
xii
KAPITOLA 1 ÚVOD
1
1 Úvod Daný projekt byl naplánován tak, aby se jeho výsledek stal jedním z klíčových předpokladů pro zkvalitnění procesu vývoje přístrojů. Pro dosažení tohoto cíle bylo nezbytné zajistit jednak efektivní sběr dat, tj. sběr informací z laboratorních měření a výstupních kontrol při výrobě, tak i jejich následné vyhodnocení a zpracování.
1.1
Základní informace o zúčastněných stranách
Firmy dodávající hardware i softvare byly pečlivě vybrány díky jejich dlouhodobému progresivnímu vývoji v daných oborech a dlouholeté spolupráci s firmou Elektropřístroj. 1.1.1 • • • • • • • • •
Produkty a činnost firmy AMiT
kompaktní a modulární řídicí systémy průmyslové textové a grafické terminály, zobrazovače vývojové prostředí pro tvorbu vlastních aplikací průmyslové řídicí a informační systémy DB-Net a DB-Net/IP průmyslová komunikace, převodníky komunikačních linek distribuované vstupně/výstupní systémy vzdálené monitorování a sběr dat, řídicí a monitorovací dispečinky napájecí zdroje pro průmyslové aplikace zakázkový vývoj a výroba elektronických zařízení pro průmyslovou automatizaci
Ilustrace 1: Podíl jednotlivých oblastí na produkci společnosti AMiT
2
1.1.2
KAPITOLA 1 ÚVOD
Produkty a činnost firmy LCS International
Společnosti LCS International a Softprofes byly založeny v roce 1990 jako ryze české firmy bez účasti zahraničního kapitálu. Od samého počátku se zaměřily na vývoj kvalitních informačních systémů, zajištění technické a poradenské podpory s cílem dosažení světového standardu v této oblasti. V roce 2000 obě společnosti svůj potenciál spojily, když LCS International kapitálově vstoupila do firmy Softprofes. Vzniklo tak silné uskupení, které bylo schopno uspokojit všechny segmenty zákazníků podnikových, informačních a ekonomických systémů. Dnes společnost LCS zaměstnává 200 pracovníků a její roční obrat překročil 233 mil. Kč. Společnost LCS International má tři pobočky v Čechách a dvě v zahraničí. Přední pozice LCS na českém trhu podnikových informačních systémů se v roce 2007 stala příčinou vstupu strategického partnera, nadnárodní skupiny Asseco. LCS se řadí se mezi TOP 100 českých IT firem a je třetím nejvýznamnějším producentem podnikových aplikací (ERP) na českém trhu. Společnost LCS se zabývá vývojem, implementací a podporou moderních informačních a ekonomických systémů. Svým širokým produktovým portfoliem Helios Red, Helios Orange a Helios Green - pokrývá všechny segmenty trhu. Informační systémy Helios uspokojí potřeby živnostníků a malých podniků, stejně jako firem střední velikosti či velkých společností a nadnárodních korporací. Filozofie přístupu je však u všech řešení stejná - poskytnout podniku systém, který pro něj bude nástrojem k dosažení dlouhodobé stability, získání konkurenčních výhod a přední pozice na trhu. Do vývoje technologií a rozvoje služeb v oblasti IT společnost ročně investuje desítky milionů korun. Vytvořila tak široké portfolio softwarových produktů. Technologie a služby jsou dostupné všem bez ohledu na velikost firmy nebo trhu. Cílem této společnosti je stát se pevnou oporou podnikání jejích zakazníků. Neustále se měnící tržní podmínky nutí firmy k průběžné inovaci, hledání nových zdrojů, možností a příležitostí. Inovace a efektivita jsou bezesporu klíčovými pojmy současného podnikání. Systémy Helios jsou proto koncipovány tak, aby chránily dlouhodobé investice svých uživatelů a podporovaly postupné zefektivňování procesů. Pomáhají nejen mapovat a vyhodnocovat aktuální stav, ale i automatizovat řadu analytických, logistických a administrativních činností pro zrychlení reakcí na vnější vlivy. Umožňují účelně snižovat náklady, zvyšovat produktivitu práce, lépe chápat a uspokojovat poptávku trhu a maximalizovat zisk. 1.1.3
Historie firmy Elektropřístroj
Historie podniku začala v roce 1920, kdy společníci Josef Srb a Josef Valenta založili elektrotechnickou živnost. Firma přišla s vlastním výrobním programem osvětlovacími tělesy pro Československé státní dráhy. Zároveň vzniká první konstrukce elektromagnetických stykačů, zpočátku podle vzoru zahraniční výroby. První vzduchové stykače VS10 a olejové stykače typ OS15 vlastní výroby a konstrukce dodává modřanský závod na trh v roce 1935. Ve stejné době zavádí výrobu dynam pro železniční vozy. V roce 1936 se rozšiřuje výrobní program o jednofázové motory. V roce 1939 k tomuto programu přibyla také výroba benzínových agregátů na stejnosměrný
KAPITOLA 1 ÚVOD
3
proud, motorgenerátorů, usměrňovačů a nouzových svítidel pro kina a protiletecké kryty s vestavným nabíjecím zařízením. V roce 1961 je výroba tohoto podniku zaměřena na elektrické přístroje sériového charakteru - např. elektromagnetické stykače, relé a tlačítkové ovladače. Postupně se ovšem dalšími pilíři výrobního programu stávají výrobky rozvaděčového charakteru - rozvaděče pro pracovní stroje, usměrňovače pro telefonní ústředny, kinousměrňovače, usměrňovače pro magnety a pro řadu dalších účelů. Přechodně se zavádí i výroba polovodičových zdrojů pro sváření stejnosměrným proudem. Po transformaci společnosti na Spol s r. o. se tato soustředila na výrobu spínacích přístrojů, usměrňovačů a zdrojů ss napětí a proudu a rozvaděčů nn. Úspěšně byla vyvinuta nová řada stykačů a tepelných relé. V současné době dochází k inovaci této řady stykačů a dalších spínacích přístrojů a sortiment výrobního oboru spínacích přístrojů se dále rozšiřuje. Elektropřístroj v současné době vyrábí a dodává stykače pro řízení elektrických motorů až do 1000 A, nadproudové ochrany pro elektromotory a stykačové spouštěče motorů, dále dodává instalační stykače a multifunkční časová relé. Mnohaletá zkušenost a tradice vývoje, výroby a prodeje spínacích přístrojů nn se promítá i do stále se zvyšující kvality výrobků.
4
KAPITOLA 1 ÚVOD
KAPITOLA 2 POPIS
5
2 Popis Kapitola je věnována popisu výchozích předpokladů projektu, popisu vlastního testování a měření, a seznámení s programovým zázemím, které je využíváno při řešení dané problematiky.
2.1
Zadání Projektu
Návrh zadání pro vývoj testeru spolehlivosti převádění pomocných kontaktů stykačů a relé 1. Proč je třeba tester: a. Pomocné kontakty stykačů a relé (dále jen PK) jsou zařazovány do řídících a signalizačních obvodů zařízení pro řízení procesů, automatizaci, regulaci i měření, je proto očekávána vysoká a hlavně definovaná spolehlivost převádění b. Řídící a signalizační obvody často pracují s malým napětím a/nebo s proudy v řádu jednotek mA, mohou pracovat v prostředí způsobujícím usazování nečistot na kontaktních plochách; v takových podmínkách je dosažení vysoké spolehlivosti obtížné, technická řešení je třeba ověřit = stanovit četnost chyb převádění PK c. V současnosti nejsme schopni zákazníkům resp. věrohodný údaj o spolehlivosti převádění PK sdělit
uživatelům
2. Kde a jak se bude zkoušet: a. Ve zkušební laboratoři přístrojů EPM v Modřanech (ZLP), protože se nabízí možnost spojit zkoušku spolehlivosti převádění PK (zkoušku SPPK) se zkouškou mechanické trvanlivosti b. Prostředí v ZLP odpovídá podmínkám prostředí, pro něž jsou stykače a relé EPM určeny, totiž pro zařízení provozovaná v obytných a podobných budovách; takovému prostředí odpovídá stupeň znečištění 2 podle článku 6.1.3.2 normy ČSN EN 60947-1 – „Obvykle dochází jen k nevodivému znečištění, občas se však může vyskytnout dočasná vodivost způsobená kondenzací“. Stupeň znečištění je v normě stanoven kvůli výběru izolačních materiálů a zkouškám izolace, nicméně z hlediska zkoušení SPPK je podstatné, že EPM deklaruje vhodnost stykačů a relé pro prostředí, kde se může vyskytovat nevodivé znečištění styčných ploch kontaktů. To může být podpořeno i částečkami izolantů, jež vznikají opotřebením styčných třecích ploch dílů přístrojů. 3. Rozsahy parametrů zkoušky SPPK: a. Napětí výhradně stejnosměrné, 5 – 24 – 48 – 110 - 220 V b. Proud 1 – 2 – 5 – 10 – 20 – 50 – 100 mA do 24 V; max. 50 mA / 48 V; max. 20 mA / 110 V; max. 10 mA / 220 V; prověřena a případně zapracována bude i možnost provozu s proudem < 1 mA pro napětí do 24 V
6
KAPITOLA 2 POPIS c. Přesnost napětí a proudu ± 5 % d. Zvlnění napětí/proudu < 5 % e. Počet sepnutí 0-10 milionů f. Četnost spínání pro stykače a pomocné stykače resp. relé 0,5 – 1 – 2 – 3 – 4 Hz 4. Způsob hodnocení úspěšnosti spínacího cyklu a. U stykačů musejí být NO a NC kontakty ve stavu zapnuto resp. vypnuto přesně daném, nastavitelném časovém úseku během spínacího cyklu, jehož délka je dána časovou vzdáleností dvou po sobě jdoucích náběžných hran impulsu pro cívku; viz obr. 1. 5. Kapacita testeru: a. 32 nezávislých měřicích smyček (protože např. jednoduchá osminásobná zkouška mechanické trvanlivosti se provádí s osmi stykači × 4 PK) 6. Doporučené vlastnosti a provedení testeru a. Řízení pomocí vhodného PLC (AMiT - ADiS 167) b. Nastavení většiny parametrů zkoušky i sběr dat pomocí komunikujícího PC s OS windows XP(2003). Data směrovat na MS SQL 2005 pro zpracování informačním systémem Helios Orange c. Nastavení napětí a proudu jednotlivých smyček stoprocentně spolehlivé! Rozumí se spolehlivé přivedení zkušebního napětí přes zatěžovací rezistor na svorky zkoušeného kontaktu - případně i ručně na nějakém propojovacím poli. Není ještě jasné, jak bude měřicí obvod zapojen, tzn. kde bude zátěž. Vhodnou variantou mechanického provedení se zdá být použití základní skříně vybavené sběrnicemi na jednotlivých napěťových hladinách. Zatěžovací rezistor pro zvolený měřicí proud a případně dělič napětí bude v zásuvném modulu, který bude z hlediska napětí nezáměnný a umožní připojení pouze k příslušné sběrnici. Na modulu bude/budou svorka/y pro připojení měřeného kontaktu – závisí na způsobu zapojení měřicího obvodu resp. na tom, zda budou mít měřicí smyčky nějaký společný potenciál. d. Externí zdroje napájení pro cívky stykačů e. Detekce proudu cívky – např. na sériovém malém odporu, induktivním snímačem (trafo, jehož primárním vinutím prochází proud cívky), nebo Hallovou sondou, nebo jinak, ale pozitivně; přednostně bude prověřena možnost použití Hallovy sondy f. Vlastní zabudované polovodičové spínače ovládacího napětí pro AC i DC cívky stykačů, např. na čtyři smyčky jeden; střídavé napětí musí být spínáno náhodně v průběhu vlny. Každý spínač bude mít svoje jištění, žádoucí je selektivita vzhledem k jistícímu prvku externího zdroje. g. Volně programovatelné přiřazení smyček k jednotlivým spínačům ovládacího napětí (Příklad: jede zkouška dvou ks C95.21
KAPITOLA 2 POPIS
7
220..230/50, smyčky 1 až 6 přiřazeny ke spínači I., četnost spínání 2 Hz; zároveň jede zkouška tří ks MR22X 24V + MPKB11, smyčky 7 až 24 přiřazeny ke spínači II., četnost spínání 3 Hz; a ještě jede zkouška V250F 220-230/50, smyčky 25 až 28 přiřazeny ke spínači III., četnost spínání 1 Hz; nepoužity zůstaly 4 smyčky a pět spínačů) h. Kaskádové spínání ovládacího napětí s cílem snížit nárok na zdroj – např. vždy po 100 ms; může to být i méně, ale smysl to má zhruba od 50 ms výše. 2.1.1
Základní popis modulárního systému ADiS 167
ADiS je modulární řídicí systém. Základ je tvořen modulem AD-CPU167, který obsahuje vlastní řídicí jádro, operační paměť, zdroj a obvody sériových linek. Konkrétní konfigurace je určena specializovanými moduly, které se z boku připojují ke straně centrálního modulu. Celkem je možné k systému připojit až 16 osmibitových modulů, to znamená, že je k dispozici maximálně 128 V/V signálů v rámci jednoho systému. Další rozšíření je možné dosáhnout expanzními moduly systému DIOCAN, které dovolují rozšířit V/V prostor až na 1024 signálů. Systém je možné zapojit do komunikační sítě - maximálně 32 stanic (vlastnost operačního systému). Pro svou modularitu a flexibilitu je ADiS vhodný jak pro malé a jednoduché, tak i pro poměrně náročné aplikace s důrazem na komunikační schopnosti. Nejčastější použití je při řízení rozsáhlých technologických celků, regulaci tepelných soustav, řízení strojů a ve speciálních aplikacích (monitoring, optimalizace). 2.1.2
Základní popis Informačního systému Helios Orange
Původně ryze účetní software se během svého mnohaletého vývoje změnil ve vyspělý implementovaný ERP systém. Vedle ekonomické a obchodní agendy obsahuje řadu specializovaných oblastí pro řízení procesů ve specializovaných branžích. Jedná se zejména o oblasti Výroba, Doprava a spedice, Zemědělství, Celní software a mnohé další. V souladu s moderními trendy elektronické komunikace podporuje systém Helios Orange všechny běžné komunikační standardy, mezi jinými např. XML, EDI, SSL, NCTS, šifrování a elektronický podpis a řadu dalších. Systém dále umožňuje přizpůsobit se specifickým procesům jednotlivých branží. Mezi hlavní nástroje patří externí akce, externí přehledy, definované formuláře či pluginy. 2.1.3
Základní popis Databázového serveru Microsoft SQL Server 2005
Microsoft SQL Server 2005 je databázový systém nové generace, který poskytuje vysoce efektivní nástroje pro správu a analýzu dat, lepší škálovatelnost výkonu, vyšší dostupnost a bezpečnost firemních dat, bohatší a produktivnější nástroje na vývoj, nasazování a správu programových aplikací a množství dalších nových prvků. Představuje nové nástroje na správu systému. Nabízí nové možnosti programování v jazycích T-SQL a .NET, rozšířenou podporu pro práci s daty ve formátu XML a zabudovanou podporu webových služeb.
8
KAPITOLA 2 POPIS
KAPITOLA 3 ANALÝZA
9
3 Analýza Úkolem této práce je vytvořit aplikaci, která bude umožňovat jak detailní, tak vyhodnocený pohled na data zkoušek. Dalším úkolem této aplikace je zajistit pohodlné nastavení parametrů zkoušek. Aplikace bude komunikovat s OS NOS na stanici ADiS 167 a MS Sql 2005. Sama by měla pracovat na OS Windovs XP,VISTA, server 2003 a server 2003 R2.
3.1
Volba programovacího jazyka
Jako vývojové prostředí se hodí programovací jazyk C#. Tato volba nebyla náhodná, neboť se jedná o jazyk se silnou orientací na objekty. Je spolehlivý, robustní, dobře dokumentovaný a bezpečný. Široká nabídka grafických tříd v C# umožňuje dobrou vizuální a interaktivní komunikaci mezi člověkem a počítačem. V neposlední řadě jsou zde kvalitně zpracované knihovny pro komunikaci jak s operačním systémem NOS (AtouchX), tak s databází MS SQL (System.Data.SqlClient). Jedná se o zakázkový systém pro jednu společnost a jako takový nemusí splňovat podmínku široké rozšířitelnosti mezi uživateli, ale určitě musí splňovat kritéria bezproblémového ovládání a bezpečnost. Všechny tyto požadavky bezezbytku splňuje jazyk C#.
3.2
Cíl práce
Aplikace bude ovladána Obsluhou stanice a bude komunikovat se stanicí a databází.
Ilustrace 2: Comunication diagram
Aplikaci je možné rozdělit do dvou programových částí: 1. vytvoření grafického uživatelského prostředí pro nastavení stanice 2. vytvoření procesu pro přenos dat ze stanice do databáze SQL
10 3.2.1
KAPITOLA 3 ANALÝZA Grafické uživatelské prostředí
Cílem práce je vytvoření uživatelsky přívětivého a jednoduchého prostředí, které bude poskytovat možnost nastavení zkoušek se všemi jejich parametry, uložení do databáze a zavedení do stanice. Grafické prostředí se bude skládat z hlavního okna, které bude obsahovat: • menu pro práci se zkouškami • menu pro práci se stanicí • tlačítko pro spuštění všech zkoušek (spouští pouze nezablokované zkoušky) • tlačítko pro zastavení všech zkoušek • 8 nezávislých zkoušek číslovaných podle výstupů Každá zkouška bude obsahovat: • číslo výstupu • číslo stykače • číslo zkoušky • popis zkoušky • aktuální počet sepnutí • tlačítko pro spuštění zkoušky • tlačítko pro zastavení zkoušky • tlačítko pro zablokování zkoušky • tlačítko pro odblokování zkoušky • signalizaci běhu zkoušky • signalizaci stavu blokování zkoušky • signalizaci chyby zkoušky Menu pro práci se zkouškami bude obsahovat: • Možnost ručně obnovit stav zkoušek ze stanice • Formulář pro zadání zkoušky • Formulář pro čtení výsledků zkoušky Menu pro práci se stanicí bude obsahovat: • Možnost odpojit se od stanice • Možnost připojit se ke stanici • Formulář pro nastavení komunikace se stanicí Formulář pro zadání zkoušky bude obsahovat: • Pole Číslo zkoušky • Pole Počet stykačů • Pole Číslo stykače • Pole Popis zkoušky • Pole Poznámka • Pole Výstup • Pole Frekvence spínání výstupu v Hz • Pole Počet sepnutí • Pole Zpoždění měření vstupů po sepnutí výstupu v ms • Pole Zpoždění měření vstupů po rozepnutí výstupu v ms • Pole Zkušební proud vstupů v A • Pole Napětí vstupů v V • Pole Konfigurace 32 vstupů • A - zapínací kontakt NO • B - vypínací kontakt NC • Pole Konfigurace 32 Vstupů Formulář pro čtení výsledků zkoušky bude obsahovat:
KAPITOLA 3 ANALÝZA Pole pro zadání čísla zkoušky Přehled zobrazující data měření zadané zkoušky Formulář pro nastavení komunikace se stanicí bude obsahovat: • Editor pro editaci souborů *.ini • •
Ilustrace 3: Use Case Diagram Obsluhy
11
12
KAPITOLA 3 ANALÝZA
Ilustrace 4: Use case Diagram Prohlížení a tisk
3.2.2
Proces pro přenos dat ze stanice SPPK do databáze IS (SQL)
Tento proces má jediný, avšak důležitý úkol. Dostat spolehlivě a s co nejmenší časovou náročností data o měření ze stanice do databáze. Proces získá data z proměnné WID 4029 a 4031, která je plněna stanicí v případě, že stanice vyhodnotí chybu na některém ze vstupů zkoušky, a tento záznam předá do databáze. Zpětně podá informaci stanici, že záznam byl přečten a uložen do databáze tak, že zapíše do proměnné WID 4051 datum a čas posledního přeneseného záznamu.
KAPITOLA 4 REALIZACE
13
4 Realizace Tato kapitola je věnována vlastnímu programovému zpracování Aplikace, která komunikuje s databází a se stanicí.
4.1
NOS 3.36
NOS je operační systém použitý v ADiS 167, který pracuje pomocí procesů INTERUPT, HI0, HI1, QUICK s databází proměnných a databází aliasů. Pro mou práci je podstatná databáze proměnných, ve které se ukládají data v průběhu meření. 4.1.1
Databáze proměnných
Úkolem databáze je správa procesních dat. Databáze tedy obsahuje veškeré naměřené, vypočtené a archivní údaje, konstanty, parametry, plány atd. týkající se daného technologického procesu. Kromě toho obsahuje doplňující údaje o počtu a stavu uložených dat apod. Veškeré procesní údaje jsou v databázi uloženy v proměnných. Každá proměnná je označena jménem, má určitý typ, rozměr a zdroj. Databáze může obsahovat proměnné popsané v tabulce č. 1. Popis
Typ
Rozsah
celé číslo 16 bitů
I
0-0xFFFF (hexa) -32768 - 32767 (dekadicky)
celé číslo 32 bitů
L
0-0xFFFFFFFF (hexa) cca -2•109 - 2•109
reálné číslo
F
ca ±10-39 až ±1039 s přesností na 7 až 8 platných číslic
matice čísel typu I
MI
max. 9999 řádků a 9999 sloupců *)
matice čísel typu L
ML
max. 9999 řádků a 9999 sloupců *)
matice čísel typu F
MF
max. 9999 řádků a 9999 sloupců *)
Tabulka 1: Typy proměnných v databázi proměnných *)
Maximální počet řádků a sloupců je spíše teoretický, jelikož maximální velikost proměnné je omezena velikostí volné paměti v procesní stanici. Velikost inicializované proměnné je navíc ještě omezena na 16 kB. 4.1.2
Matice
Pro přístup k prvku matice slouží dvojice indexů - řádkový a sloupcový. Indexace začíná hodnotou indexu 0. Má-li např. matice Teploty rozměr 20 řádků a 2 sloupce, znamená zápis Teploty[15,0] odkaz na prvek matice, ležící v 16. řádku (tedy řádku č. 15) a 1. sloupci (tedy sloupci č. 0). 4.1.3
WID
Ve vnitřní reprezentaci má každá proměnná přiřazen číselný identifikátor v rozsahu 0 až 65500 označovaný jako WID. Toto číslo je používáno při přístupu k proměnné a musí být jedinečné v celé aplikaci (tedy i v síti procesních stanic). Přidělování WID řeší program PSE automaticky. Každý WID je sestaven z čísla stanice na síti DB-Net a pořadového čísla proměnné v konkrétní stanici. Tak je zajištěno, aby nedocházelo ke kolizím identifikátorů WID v aplikaci.
14 4.1.4
KAPITOLA 4 REALIZACE Komunikační rozhraní
Sekce určuje nastavení jedné sítě RS485 připojené na Ethernet. Zejména jde o nastavení komunikačních parametrů (IP adresa, UDP port) a seznam všech stanic (včetně gatewaye) takto připojených. Jednotlivé části INI souboru znamenají: Klíč Address
Popis IP adresa stanice. Může být zadána buď v číselném tvaru (čtyři dekadická čísla oddělená tečkami) nebo symbolicky jako jméno uzavřené v uvozovkách. Port Nepovinné, implicitně 59. Povolený rozsah 0÷65 535. Dekadicky číslo UDP portu gatewaye, pomocí kterého bude probíhat komunikace. Offset Dekadicky posun čísla gatewaye a všech jí routovaných stanic oproti číslu DIP přepínače. Povolený rozsah 0÷65 504. Station Dekadicky číslo stanice sítě DB-Net, se kterou se PC spojuje pomocí zadaného UDP připojení. Číslo stanice se udává již upravené o Offset, nikoliv číslo nastavená na DIPu. Klíč se musí uvádět vícekrát pro všechny čísla stanic takto připojené (včetně gatewaye). Timeout Nepovinné, implicitně 3000. Povolený rozsah 0÷3 600 000. Dekadicky v milisekundách maximální doba čekání na odpověď na každý jednotlivý paket. Password Nepovinné, implicitně 0. Povolený rozsah 0÷4 294 967 295. Dekadicky heslo gatewaye. Znalost hesla je nutná pro přístup na gateway a všechny jí routované stanice. MinDelay Nepovinné, implicitně 0. Povolený rozsah 0÷65 536. Dekadicky v milisekundách minimální doba, kterou ovladač vloží mezi dva odchozí UDP pakety se žádostí o zápis/čtení dat. Tabulka 2: Popis klíčů INI
Kromě toho jsou definovány klíče do sekce General v tabulce č. 3. Klíč Popis UDP.MyPort Nepovinné, implicitně 59. Povolený rozsah 0÷65 565. Dekadicky číslo UDP portu PC, pomocí kterého bude probíhat komunikace. UDP.MyPassword Nepovinné, implicitně 0. Povolený rozsah 0÷4 294 967 295. Dekadicky heslo PC pro případ přístupu jiné stanice na PC. UDP.MinDelay Nepovinné, implicitně 0. Povolený rozsah 0÷65 536. Globální hodnota MinDelay, která bude platná pro všechny Ethernet segmenty jež nemají uvedenu svoji vlastní MinDelay. Tabulka 3: Klíče sekce General
KAPITOLA 4 REALIZACE
4.2
15
C#
Popis knihoven, tříd a metod použitých v aplikaci je rozdělen do tří skupin: ● Knihovny pro komunikaci s NOS ● Knihovny pro komunikaci s SQL ● Knhovny pro vizualizaci 4.2.1
Balíček AtouchX třída AtouchDir
Třída AtouchDir zprostředkovává připojení (komunikaci) počítače třídy PC k řídicím systémům firmy AMiT.Připojení je implementováno jako direktivní. Třídu je třeba použít tak, že po vytvoření se vyvolá některá z inicializačních metod. Po úspěšné inicializaci je možno používat ostatní metody Třídy (existují však i metody pracují bez inicializace). Při ukončení je třeba nejprve vyvolat metodu Done a pak teprve objekt zrušit. Metody používající WID s ním pracují následovně: Je-li WID menší jak 1 000 000, pak se hledá v databázi proměnných pouze podle WIDu. Existují-li v databázi dvě proměnné se stejným WIDem, je vybrána některá z nich. Pracovat s čistými WIDy má význam pouze pokud je zabezpečeno, že v rámci celé aplikaci mají db. proměnné jedinečné WIDy. Je-li WID větší jak 1 000 000, pak se WID chápe jako <číslo stanice>*1000000+WID, tedy v řádu miliónu je zakódováno číslo stanice a ve zbytku pak vlastní WID. Stanice číslo 0 se dosazuje do vzorce jako 256. V tomto případě se v databázi hledá jak podle WIDů tak i podle čísel stanic a je zabezpečeno jednoznačné nalezení odpovídající db. proměnné. Vlastnosti Nastavení chování objektu • VariantOnly - vrátí/nastaví příznak, zda návratové hodnoty mají být pouze typu Variant. Metody Inicializace, deinicializace • InitFromFile - Inicializace objektu ze souboru. •
InitFromString - Inicializace objektu z řetězce.
Done - Ukončení činnosti objektu. Verze a informace • GetKernelVersion - Zjistí verzi komunikačního jádra . • GetObjectVersion - Zjistí verzi objektu. • GetInfo - Zjistí informace o komunikačním jádře. • GetHWInfo - Zjistí informace o HW připojení stanice. Konverze času • TimeFromDbNet - Převede čas z DbNet formátu do VBA formátu. • TimeToDbNet - Převede čas z VBA formátu do DbNet formátu. Databáze • DbGetInfo - Zjistí informace o db. proměnné. Komunikace • GetData - Přečte celou db. proměnnou. •
16
KAPITOLA 4 REALIZACE
GetDataMtx - Přečte výřez db. matice. PutData - Zapíše celou db. proměnnou. • PutDataMtx, PutDataMtxV - Zapíše výřez db. matice. • GetTime, - Přečte čas stanice. • PutTime, - Zapíše čas do stanice. • Identify, - Přečte identifikaci stanice. Správa připojení • StationStatus - Zjistí stav připojení stanice. • StationConnect - Zahájí proces připojování stanice. • StationDisconnect - Zahájí proces odpojování stanice. • StationReserve - Nastaví nebo zruší rezervaci pro spojení se stanicí. • StationSetPriority - Nastaví prioritu pro spojení se stanicí. • •
Události Třída negeneruje žádné události. 4.2.2
Balíček AtouchX třída AtouchArch
Třídu AtouchArch implementuje zpětné čtení archivů z řídicích systémů firmy AMiT. Třída sama se vzorky nepracuje (tj. neukládá je do žádných souborů na PC apod.), pouze postupně čte archivní hodnoty a zprostředkovává je uživateli. Třída pro svou činnost potřebuje, aby současně s ní existovala a pracovala některá z tříd poskytujících připojení k síti DbNet®. Popis Archivy ve stanicích jsou implementovány jako logická struktura tří (nebo více) db. proměnných. DATA (Rows veličin po Cols hodnotách) TIME - časové značky (1 řádek po Cols hodnotách) INDEX Db. matice DATA obsahuje archivované hodnoty. Vždy v jednom řádku jsou obsaženy hodnoty téže archivované veličiny v různých časových okamžicích. Počet řádků matice tedy odpovídá počtu archivovaných veličin. Počet sloupců definuje tzv. hloubku archivu, neboli množství historie, kterou je schopen archiv pojmout. Jeden sloupec obsahuje tzv. vzorek, tedy archivované hodnoty různých veličin v jeden čas. Archiv může tvořit i více matic (hlavně proto, že archivované veličiny mohou být rozdílných datových typů, některé celočíselné, jiné desetinné). V tom případě musí mít všechny matice shodný počet sloupců. Db. matice TIME obsahuje odpovídající data a časy jednotlivých vzorků. Matice TIME musí mít shodný počet sloupců jako matice DATA a musí být typu ML. Db. proměnná INDEX musí být jednoduchého typu a musí být typu I. Obsahuje řídicí informaci o aktuálním obsazení archivu a třída AtouchArch ji používá při zpětném vyčítání archivů.
KAPITOLA 4 REALIZACE
17
Speciálním případem je Provozní deník, který je tvořen pouze INDEXem a maticí DATA. O provozním deníku blíže viz dokumentace prostředí PSE firmy AMiT. Objekt pracuje jako "správce archivů". Při inicializaci je mu předán seznam všech archivů a objekt zpřístupňuje metody pro práci s každým archivem zvlášť. Každý jednotlivý archiv může být zpracováván jedním ze dvou možných přístupů. Archiv se inicializuje jako "automatický". Po inicializaci je třeba metodou Control automatické archivy rozeběhnout, čímž začne objekt AtouchArch automaticky číst archivní vzorky. Po přečtení každého jednotlivého vzorku tento předá pomocí události Sample. Je-li více automatických archivů, objekt postupně čte každému automatickému archivu jeden vzorek, přičemž není přesně definováno, v jakém pořadí se budou číst vzorky z různých archivů. V každém okamžiku je zpracováván pouze jeden automatický archiv, aby nedocházelo k nadměrnému zatěžování komunikační linky. Archiv se inicializuje jako "manuální". Po inicializaci musí uživatel pravidelně volat metodu Handler, kterou vytváří čas a prostor pro provádějí algoritmu čtení archivu. Metoda eventuelně vrací i hodnotu přečtených vzorků. Souběžným voláním metody pro více archivů tak může uživatel provádět souběžné čtení archivů. V obou případech se z archivu vzorky čtou postupně podle svého stáří, tak jak byly ve stanici postupně ukládány. Nejdříve se čtou a zprostředkovávají nejstarší vzorky a nakonec se čtou a zprostředkovávají nejmladší vzorky. V obou případech se musí po zpracování (typicky uložení do souboru) každého vzorku oznámit metodou Accept jeho zpracování. Dokud není zpracování potvrzeno, žádný další vzorek příslušného archivu se nepřečte. Po přečtení celého archivu přejde archiv do stavu archSleep, ve kterém bez jakékoliv činnosti čeká a pouze jednou za určenou periodu (implicitně 60s - lze nastavit v popisu archivů) krátce otestuje, zda do archivu nepřibyly nějaké hodnoty. Tím se šetří komunikační linka před zbytečným zatěžováním. Objekt nelze použít samostatně, neboť sám neobsahuje připojení k síti DbNet®. Vždy před inicializací musí být použit a inicializován některý z objektů této knihovny poskytující připojení. Po úspěšné inicializaci je možno používat ostatní metody objektu. Při ukončení je třeba nejprve metodou Done ukončit činnost objektu AtouchArch a pak teprve ukončit činnost objektu poskytujících připojení. Rozhraní 2 Ve verzi 1.30 byl objekt rozšířen o několik dalších metod. Všechny tyto metody byly implementovány do nově přidaného rozhraní IAtouchArch2. Vlastnosti Objekt nemá žádné vlastnosti.
18
KAPITOLA 4 REALIZACE
Metody Inicializace, deinicializace •
InitFromFile - Inicializace objektu ze souboru.
•
InitFromString - Inicializace objektu z řetězce.
•
Done - Ukončení činnosti objektu. Verze a informace
•
GetObjectVersion - Zjistí verzi objektu.
•
GetInfo - Zjistí informace o jedenom archivu.
•
GetStatus - Zjistí stav zpracování jednoho archivu. Práce s archivy
•
Handler - Provede elementární krok při čtení manuálního archivu.
•
Control - Povolí/zakáže běh automatického archivu.
•
Accept - Potvrdí/odmítne převzetí vzorku.
•
Reset - Provede reset (znovunastartování) algoritmu čtení archivu.
•
GetLogText - Vrátí text překódovaný podle aktuálních formátovacích pravidel.
•
Invalidate - Provede zneplatnění záznamu o běžícím archivu v pracovním souboru.
•
InvalidateArch - Provede zneplatnění záznamu o standardním archivu v pracovním souboru.
•
InvalidateLog - Provede zneplatnění záznamu o provozním deníku v pracovním souboru. Události
•
Sample - Událost přečtení jednoho vzorku automatického archivu.
•
Completed - Událost přečtení všech dostupných vzorků automatického archivu.
4.2.3
Balíček System.Windows.Forms
Tento balíček obsahuje třídy pro vytváření aplikací založených na systému Windows. Tyto aplikace pak mohou využívat bohaté nabídky uživatelských možností, jež nabízí operační systém Microsoft Windows. Většina tříd System.Windows.Forms je odvozena ze třídy Control. Třída Control obsahuje základní funkce pro všechny typy kontrol, uvedených na formuláři. Třída Form představuje okno v dané aplikaci. Zahrnuje tedy dialogové rámečky, klientská a rodičovská okna v rámci prostředí několikanásobných dokumentů (MDI, Multiple Document Interface). Je možné vytvořit i vlastní typy kontrol a to odvozením ze třídy UserControl. Balíček System.Windows.Forms nabízí širokou řadu kontrolních tříd, které lze využít při tvorbě bohatého uživatelského rozhraní.
KAPITOLA 4 REALIZACE
19
Vedle třídy Control, balíček System.Windows.Forms nabízí ostatní třídy, které nejsou odvozeny z této třídy, ale přesto nabízí vizuální rysy aplikacím, založeným na Windows. Balíček System.Windows.Forms obsahuje také několik dalších tříd, které poskytují podporu třídám již zmíněným. Příkladem podpůrných tříd jsou třída inventarizace, třída parametrů určitých událostí, atd. 4.2.4
Balíček System.Data
Tento balíček umožňuje přístup ke třídám, které representují ADO.NET architekturu. ADO.NET umožňuje vybrat a sestavit takové komponenty, které efektivně řídí data z mnohonásobných datových zdrojů. 4.2.5
Balíček System.Data.SqlClient
Tento balíček poskytuje síťová data SQL serveru na bázi NET Framework. Popisuje soubor tříd používaných pro přístup k databázi SQL Serveru.
20
KAPITOLA 4 REALIZACE
4.3
Návrh struktury implementace
Balíček TesterSPPK obsahuje třídy, které slouží k vytváření grafického rozhraní aplikace. Balíček SPPK obsahuje několik společných tříd. Slouží třídám formulářů jako zdroj společných proměnných, stringů a procedur. Dále obsahuje třídu pro připojení k databázi.
Ilustrace 5: Package Diagram
KAPITOLA 4 REALIZACE
Ilustrace 6: Content diagram
21
22
KAPITOLA 4 REALIZACE
4.3.1
Třída FormHlavní
Třída FormHlavní je formulářová třída hlavního okna. Instance je spouštěna třídou Main. Tato třída spouští instance třídy Zkouška a instanci třídy Data. 4.3.2
Třída Zkouška
Třída Zkouška má na starost načítání dat ze stanice a jejich zobrazení v jednotlivých panelech. Dále je schopna přímo ovládat jednotlivé zkoušky povely stop, start, blok a deblok. Zobrazuje také stav jednotlivých zkoušek pomocí signalizace chod, blok, chyba. 4.3.3
Třída Data
Třída Data slouží k načítání dat ze stanice a zápisu do databáze. Instance Datalist je spuštěna třídou FormHlavní a je skryta metodou Data.Hide. Stále však běží na pozadí, načítá data ze stanice a ukládá je do databáze. Pro zobrazení lze použít metodu Data.Show. 4.3.4
Třída FormZadaniZkoušky
Třída FormZadáníZkoušky zajišťuje přidání a editaci jednotlivých zkoušek a jejich parametrů. 4.3.5
Třída FormData
Třída FormData vytváří okno pro prohlížení dat. 4.3.6
Třída Meldung
Třída Meldung zajišťuje zobrazení zpráv, přičemž je možno nastavit časovou délku zobrazení zprávy. 4.3.7
Třída FormAbout
Třída FormAbout zajišťuje zobrazení informace o aplikaci. 4.3.8
Třída FormEdit
Třída FormEdit edituje textové soubory. 4.3.9
Třída FormParamPC
Třída FormParamPC je připravena dle dodatečného přání zadavatele pro nastavení parametrů blíže nespecifikované. Prozatím pouze zobrazuje název SQL databáze.
KAPITOLA 4 REALIZACE
4.4
23
MS SQL Server 2005
Tabulky jsou navrženy podle potřeby ukládaných dat. Tyto jsou rozděleny na evidenci zkoušek a evidenci měřených záznamů. Proto jsou použity dvě tabulky. Ty jsou spřaženy pomocí cizího klíče v tabulce EPM_SPPKMereni. Každá tabulka má automatické číslování ID.
Ilustrace 7: ER Diagram databáze
4.4.1
Vytvoření tabulky dat Zkoušek
GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[EPM_SPPKZkousky]( [ID] [int] IDENTITY(1,1) NOT NULL, [CisloZkousky] [varchar](50) COLLATE Czech_CI_AS NULL, [PopisZkousky] [varchar](50) COLLATE Czech_CI_AS NULL, [Napeti] [int] NULL, [Proud] [int] NULL, [EvcStykace] [nvarchar](50) COLLATE Czech_CI_AS NULL, [PocetSepnuti] [int] NULL, [FrekvenceSpinani] [real] NULL, [PoSepnuti] [int] NULL, [PoRozepnuti] [int] NULL, [StavZkousky] [int] NULL, [Kontakty] [varchar](50) COLLATE Czech_CI_AS NULL,
24
KAPITOLA 4 REALIZACE
[Vstupy] [int] NULL, [Vystup] [int] NULL, [Nacvakano] [int] NULL, [Poznamka] [varchar](255) COLLATE Czech_CI_AS NULL, [PocetStykacu] [int] NULL, CONSTRAINT [PK_EPM_SPPKZkousky] PRIMARY KEY CLUSTERED ([ID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] 4.4.2
Vytvoření tabulky dat Měření
GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[EPM_SPPKMereni]( [ID] [int] IDENTITY(1,1) NOT NULL, [IDZkouska] [int] NOT NULL, [Csep] [int] NOT NULL, [Priznak] [varchar](10) COLLATE Czech_CI_AS NULL, [Errkontakt] [varchar](32) COLLATE Czech_CI_AS NULL, [Errsr] [varchar](1) COLLATE Czech_CI_AS NOT NULL, [Datcas] [datetime] NOT NULL, [Poznamka] [varchar](255) COLLATE Czech_CI_AS NULL, CONSTRAINT [PK_EPM_SPPKMereni] PRIMARY KEY CLUSTERED ( [ID] ASC ) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO ALTER TABLE [dbo].[EPM_SPPKMereni] WITH CHECK ADD CONSTRAINT [FK__EPM_SPPKMereni__IDZkouska] FOREIGN KEY([IDZkouska]) REFERENCES [dbo].[EPM_SPPKZkousky] ([ID]) 4.4.3
Použité dotazy na databázi
•
SELECT * FROM EPM_SPPKMereni WHERE IDZkouska = $mujstring
•
SELECT * FROM EPM_SPPKZkousky WHERE ID = $mujstring
•
SELECT * FROM EPM_SPPKMereni LEFT OUTHER JOIN EPM_SPPKZkousky VEPM_SPPKZkousky ON VEPM_SPPKZkousky.ID = IDZkouska WHERE VEPM_SPPKZkousky.CisloZkousky = $mujstring
•
INSERT INTO EPM_SPPKMereni (IDZkouska, Csep, Priznak, Errkontakt,
KAPITOLA 4 REALIZACE
25
Errsr, Datcas, Poznamka) VALUES ($iDZkouska, $csep, $priznak, $errkontakt, $errsr, $datcas, $poznamka) •
INSERT INTO EPM_SPPKZkousky (CisloZkousky, Popiszkousky,Napeti, Proud, PocetStykacu, EvcStykace, Pocetsepnuti, Frekvencespinani, Posepnuti, Porozepnuti, Stavzkousky, Kontakty, Vstupy, Vystup, Nacvakano, Poznamka) VALUES $cisloZkousky, $popisZkousky,$napeti,$proud, $pocetStykacu, $evcStykace, $pocetSepnuti, $frekvenceSpinani, $posepnuti, $porozepnuti, $stavZkousky, $kontakty, $vstupy, $vystup, $nacvakano, $poznamka)
•
UPDATE EPM_SPPKZkousky SET CisloZkousky = $cisloZkousky ,Popiszkousky = $popiszkousky ,PopisZkousky = $popisZkousky ,Napeti = $apeti ,Proud] = $proud ,EvcStykace = $evcStykace ,PocetSepnuti = $pocetSepnuti ,FrekvenceSpinani = $frekvenceSpinani ,PoSepnuti = $poSepnuti ,PoRozepnuti = $poRozepnuti ,StavZkousky = $stavZkousky ,Kontakty = $kontakty ,Vstupy = $vstupy ,Vystup = $vystup ,Nacvakano = $nacvakano ,Poznamka = $poznamka ,PocetStykacu = $pocetStykacu WHERE ID = $id
4.5
Realizace uživatelského rozhraní
J 4.5.1
Hlavní panel
Pomocí hlavního panelu je možno nahlížet na aktuální stav zkoušek. Zobrazuje se osm panelů, které znázorňují jednotlivé výstupy a na ně navázané aktivní zkoušky. V jednotlivých panelech je možné zkoušky spustit, zastavit, zablokovat a odblokovat,. Je zde vidět stav spuštěno, blokováno, nebo chyba. Pokud není zobrazen žádný z uvedených stavů, zkouška je pouze zastavena. Menu je sestaveno ze dvou základních sekcí, specializovaných pro tester, kterými jsou Zkoušky a Stanice. V menu Zkoušky lze zkoušky editovat a prohlížet data vygenerovaná průběhem zkoušky a načtená do databáze.
26
KAPITOLA 4 REALIZACE
Menu Stanice obsahuje volbu Obnovit, která ručně spustí načítání dat ze stanice mimo interval načítání dat. Dále toto menu obsahuje volbu Připojit ke stanici a Odpojit od stanice. Na liště, vpravo od základního menu, se nachází tlačítka DATA, STOP a START. Tlačítkem STOP lze zastavit všechny zkoušky najednou. Tlačítkem START lze pak spustit všechny nezablokované zkoušky. Tlačítko DATA zobrazuje okno přenosu dat ze stanice do databáze.
Ilustrace 8: Hlavní okno aplikace
4.5.2
Přenos dat ze stanice do databáze
Okno přenosu dat provádí zobrazování aktuálního přenosu dat ze stanice do databáze. Jednotlivé záznamy se postupně vypisují v okně. Pomocí tlačítka Obnov je možno ručně načíst hodnoty ze stanice. Pomocí tlačítka Auto je možno zastavit nebo spustit načítání dat ze stanice. Tlačítkem Zavři okno pouze skryjeme, toto však dále běží na pozadí.
Ilustrace 9: Okno přenosu dat ze stanice do databáze
KAPITOLA 4 REALIZACE 4.5.3
27
Nastaveni zkoušky
Formulář pro nastavení zkoušky umožňuje přidat zkoušku, nastavit jednotlivé parametry zkoušky jako jsou Číslo zkoušky, Popis zkoušky, Počet sepnutí atd. Umožňuje zkoušku uložit do databáze, nastavit zkoušku jako aktivní a zavřít zkoušku.
Ilustrace 10: Formulář nastavení zkoušek
4.5.4
Prohlížení dat zkoušky
V okně Prohlížení dat lze po zadání čísla zkoušky a stisknutí tlačítka „Čti data“ prohlížet přehled dat zadané zkoušky. Dále je možno řadit data dle jednotlivých sloupců. V tomto okně nelze data filtrovat ani tisknout.
Ilustrace 11: Okno prohlížení dat měření
28 4.5.5
KAPITOLA 4 REALIZACE Nastavení aplikace
Nastavení obsahuje možnost zvolení inicializačních souborů DB.ini, HW.ini, ARCHIV.ini, které se pod jednotlivými volbami otevírají v editoru. Po zavření editoru jsou změny automaticky uloženy.
Ilustrace 12: Okno editoru souborů
4.5.6
Zprávy aplikce
Okno zprostředkovává veškerá hlášení aplikace. Je možno je ukončit tlačítkem OK nebo vyčkat na automatické zavření.
Ilustrace 13: Okno zpráv
KAPITOLA 4 REALIZACE
4.6
29
Nároky na vybavení strojů a programů
Pro správný chod aplikace je vyžadován počítač PC vybaven ethernetem s TCP/IP nebo RS232(485) s operačním systémem Windows 2000 Pro a vyšším. 4.6.1
Potřebné SW vybavení
Pro chod aplikace je potřeba doinstalovat MS .NET Framework 2.0 a PtouchX od společnosti AMiT. 4.6.2
Potřebné HW vybavení
V rámci ladění a testování projektu se nevyskytl žádný požadavek na nějak specializovaný HW. Aplikace bez problémů běžela jak na velice archaických strojích s omezenou velikostí pamětí na 128MB, tak na nejnovějších počítačích.
30
KAPITOLA 4 REALIZACE
KAPITOLA 5 TESTOVÁNÍ
31
5 Testování Všechny uvedené testy byly prováděny v průběhu realizace projektu, některé testy až po vytvoření celé aplikace. Black-box testování se osvědčilo v samém závěru, neboť dokázalo odhalit některá nesprávná fungování funkcí resp. odhalit chybná chování aplikace.
5.1
White-box testování
Dle definice white-box testování byly všechny samostatné cesty uvnitř jednotlivých modulů provedeny alespoň jednou. Všechna podmíněná větvení byla procházena jak podél větve s hodnotou ANO (true), tak podél větve s hodnotou NE (false). Pozornosti white-box testování neušly ani všechny cykly v programu,. Byly prověřeny všechny vnitřní datové struktury. Bohužel u některých cyklů nebylo možné je procházet v plném rozsahu, proto se strategie testování některých cyklů redukovala na testování nejvnitřnějšího cyklu a ve všech vnějších cyklech se nastavil jejich průchod na nejmenší možný průchod. Touto metodou testování, došlo k odhalení některých chyb v programu. Při průchodu jedním z cyklů, který ukládal data, došlo v jednu chvíli k vyhození výjimky. Stalo se, že proměnná používaná jako ukazatel na index v poli se inkrementovala špatně. Došlo k jejímu zvětšení nad přípustnou mez než je délka pole. Při pokusu o čtení z pole index byl překročen a došlo k vyhození výjimky. Chyba byla v době testování kódu nalezena a následně opravena.
5.2
Black-box testování
Toto testování bylo založeno na funkčních požadavcích. Vzhledem k white-box testování se jedná o doplňkovou resp. alternativní metodu. V black-box testování se hledají: ● nesprávné nebo chybějící funkce. Veškerou práci s odhalením chybějících funkcí provedlo vývojové prostředí Visual Studio C#. Tento vývojový nástroj nedovolí ve striktním režimu spustit aplikaci, aniž by všechny zmíněné funkce ve zdrojovém kódu nebyly správně doprogramovány. Samozřejmě neodhalí metody a funkce, které byly vytvořeny jako prázdné. Ke snížení tohoto rizika se zavedlo, že každá nově vznikající funkce nebo metoda se v době výtvoru musí řádně doprogramovat ●
chyby datových strukturou. Kód se prošel tak, aby byla zajištěna integrita datových struktur. Pro případné odhalení chyb, se použila metoda založená na grafu. Byly znázorněny všechny vztahy graficky a byl navržen test, který pokrýval takto vytvořený graf.
●
chybné chování. Aplikace byla testována tak, aby bylo prověřeno její správné chování. Každá kombinace možného způsobu chování aplikace byla otestována. Se 100% jistotou se nedá tvrdit, že byly odhaleny všechny podobné chyby. Dá se ale předpokládat, že se jejich výskyt alespoň minimalizoval.
32
KAPITOLA 5 TESTOVÁNÍ
KAPITOLA 6 ZÁVĚR
33
6 Závěr Úspěšně se podařilo vytvořit použitelný systém pro převod dat z ADIS 167 do IS Helios Orange. Celý systém je úspěšně implementován v jazyce C# za pomoci vývojového prostředí Visual Studio C# Express. Dále se podařilo navrhnout a impementovat zobrazení a případné vyhodnocení dat pomocí IS Helios Orange, ze kterého je možný i tiskový výstup pomocí formuláře nebo přehledu. Systém byl nasazen do práce a bez problémů řídí i náročné několikaměsíční zkoušky stykačů. Předpokládám, že systém je postaven tak, aby mohl být užíván v dlouhodobém horizontu a aby jej bylo v budoucnu jednoduché upgradovat na novější operační systém. I když se projekt potýkal s časovými problémy, podařilo se jej úspěšně dokončit. Dále bude využit pro vytvoření aplikací pro sběr dat i z jiných měřících a regulačních stanic ve společnosti Elektropřístroj.
34
KAPITOLA 7 SEZNAM POUŽITÉ LITERATURY
7 Seznam použité literatury [1] Wikipedia, http://cs.wikipedia.org/wiki/ [2] AMiT, spol. s r.o., Dokumentace pro ADIS 167,2007, http://www.amit.cz/ [3] © 2008 Microsoft Corporation. All rights reserved , MSDN Library , 2007, http://msdn2.microsoft.com/cs-cz/library/ [5] © 2008 Microsoft Corporation. All rights reserved , Microsoft SQL Server 2005 – Learning Portal, 2008, http://www.microsoft.com/learning/2005/sql/default.mspx [6] Elektropřístroj s.r.o., Interní dokumenty,2007, http://www.epm.cz/ [4] Ing. Božena Mannová, M.Math., Techniky testování softwaru, 2007, http://service.felk.cvut.cz/courses/X36RSF/Prednasky/test ovani%20SW.ppt
PŘÍLOHA A SEZNAM POUŽITÝCH ZKRATEK
A Seznam použitých zkratek AMiT
Společnost zabívající se vývojem a výrobou elektroniky pro průmyslovou automatizaci, mikroprocesorovou technikou
C#
C sharp, programovací jazyk
DB
Databáze
ERP
Enterprise Resource Planning
HW
HardWare, počítačové vybavení
IS
Informační systém
MDI
Multiple Document Interface
OS
operační systém
SPPK
Stanice spolehlivosti převádění pomocných kontaktů
SW
SoftWare, programové vybavení
WID
Jedinečný identifikátor proměnné v databázi proměnných
ZKST
Zkušební stanice
35
36
PŘÍLOHA A SEZNAM POUŽITÝCH ZKRATEK
PŘÍLOHA B ABECEDNÍ REJSTŘÍK
37
B Abecední rejstřík AMiT..............................................................................................1, 6, 15pp., 29, 35 AtouchX............................................................................................................9, 15p. databáze......................................................................................9p., 12p., 22, 25pp. Databáze...............................................................................................13, 15, 35, 49 Metoda....................................................................................................................35 SPPK...............................................................................................5, 9, 11p., 20, 35 stanice................................................................................9p., 12pp., 22, 26, 35, 46 Stanice.....................................................................................................15, 25p., 35 Třída................................................................................9p., 12pp., 22, 25p., 35, 46 WID........................................................................................12p., 15, 35, 44, 46, 49
38
PŘÍLOHA C UML DIAGRAMY
C UML diagramy
Ilustrace 14: Content Diagram TesterSPPK, Program, FormProgramPC, Zkouska, FormEdit, Meldung
Ilustrace 15: Content Diagram TesterSPPK, FormZadaniZkousky
PŘÍLOHA C UML DIAGRAMY
Ilustrace 16: Content Diagram TesterSPPK, Metody tříd Data, FormData, FormAbout
39
40
PŘÍLOHA C UML DIAGRAMY <<partial>> Form Hlavní Zk:zkouška[*]=new zkouška[konst.POCOUT] buttons:MessageBoxButtons=MessageBoxButtons.OK <
> arrOK:int=0 <> POCOUT:int=8 maska:int[*]=new int[POCOUT] atd:ATOUCHX.AtouchDir=new ATOUCHX.AtouchDir() atdStanice:AtouchDirClass=new AtouchDirClass() datalist:Data=new Data() components:System.ComponentModel.IContainer=null menuStrip1:System.Window s.Forms.MenuStrip mnuPC:System.Window s.Forms.ToolStripMenuItem mnuStanice:System.Window s.Forms.ToolStripMenuItem mnuNápověda:System.Window s.Forms.ToolStripMenuItem oAplikaciToolStripMenuItem:System.Window s.Forms.ToolStripMenuItem připojeníToolStripMenuItem:System.Window s.Forms.ToolStripMenuItem odpojeníToolStripMenuItem:System.Window s.Forms.ToolStripMenuItem nastaveníToolStripMenuItem:System.Window s.Forms.ToolStripMenuItem hWiniToolStripMenuItem:System.Window s.Forms.ToolStripMenuItem dBiniToolStripMenuItem:System.Window s.Forms.ToolStripMenuItem zkouškyToolStripMenuItem:System.Window s.Forms.ToolStripMenuItem výsledkyToolStripMenuItem:System.Window s.Forms.ToolStripMenuItem btnStop:System.Window s.Forms.Button btnStart:System.Window s.Forms.Button obnovitZeStaniceToolStripMenuItem:System.Window s.Forms.ToolStripMenuItem upravitToolStripMenuItem:System.Window s.Forms.ToolStripMenuItem timer1:System.Window s.Forms.Timer btnData:System.Window s.Forms.Button archivcasToolStripMenuItem:System.Window s.Forms.ToolStripMenuItem timer2:System.Window s.Forms.Timer FormHlavní() oAplikaciToolStripMenuItem_Click(in sender:object, in e:EventArgs):void připojeníToolStripMenuItem_Click(in sender:object, in e:EventArgs):void odpojeníToolStripMenuItem_Click(in sender:object, in e:EventArgs):void hWiniToolStripMenuItem_Click(in sender:object, in e:EventArgs):void dBiniToolStripMenuItem_Click(in sender:object, in e:EventArgs):void editsoubor(in Filename:string):void btnData_Click(in sender:object, in e:EventArgs):void btnStart_Click(in sender:object, in e:EventArgs):void btnStop_Click(in sender:object, in e:EventArgs):void výsledkyToolStripMenuItem_Click(in sender:object, in e:EventArgs):void upravitToolStripMenuItem_Click(in sender:object, in e:EventArgs):void timer1_Tick(in sender:object, in e:EventArgs):void FormHlavní_Load(in sender:object, in e:EventArgs):void archivcasToolStripMenuItem_Click(in sender:object, in e:EventArgs):void obnovitZeStaniceToolStripMenuItem_Click(in sender:object, in e:EventArgs):void timer2_Tick(in sender:object, in e:EventArgs):void <> Dispose(in disposing:bool):void InitializeComponent():void
Ilustrace 17: Content Diagram TesterSPPK, FormHlavní
PŘÍLOHA C UML DIAGRAMY
Ilustrace 18: Content Diagram SPPK
41
42
PŘÍLOHA C UML DIAGRAMY
PŘÍLOHA D SEZNAM TŘÍD UNKNOWN EXTERNALS
D Seznam tříd Unknown Externals AtouchArch AtouchDir AtouchDirClass ATOUCHX.AtouchDir DataRow DataSet DataTable EventArgs Form FormClosingEventArgs global::System.Configuration.ApplicationSettingsBase global::System.Globalization.CultureInfo global::System.Resources.ResourceManager KeyPressEventArgs MessageBoxButtons SqlCommand SqlConnection SqlDataAdapter SqlDataReader System.ComponentModel.IContainer System.Windows.Forms.BindingNavigator System.Windows.Forms.BindingSource System.Windows.Forms.Button System.Windows.Forms.CheckBox System.Windows.Forms.DataGridView System.Windows.Forms.Label System.Windows.Forms.MenuStrip System.Windows.Forms.OpenFileDialog System.Windows.Forms.Panel System.Windows.Forms.PictureBox System.Windows.Forms.RadioButton System.Windows.Forms.TableLayoutPanel System.Windows.Forms.TextBox System.Windows.Forms.Timer System.Windows.Forms.ToolStripButton System.Windows.Forms.ToolStripLabel System.Windows.Forms.ToolStripMenuItem System.Windows.Forms.ToolStripSeparator System.Windows.Forms.ToolStripTextBox UserControl
43
44
PŘÍLOHA E POPIS METOD TŘÍD ATOUCHDIR A ATOUCHARCH
E Popis metod tříd AtouchDir a AtouchArch Metoda PutData, PutDataMtx Zapíše celou db. proměnnou nebo výřez db. matice. Syntaxe objekt.PutData (Long WID, Ref DATA, Ref Result)Int objekt.PutDataMtx ( Long WID, Int Row, Int Col, Int Rows, Int Cols,Variant DATA,Long Result) Int Syntaxe má tyto části: Část objekt WID Row Col Rows Cols DATA Result
Popis Objektový výraz, jehož výsledkem je objekt typu AtouchDir. WID db. proměnné která se má zapsat. O dvou rozdílných přístupech k zadávání WIDu je pojednáno na úvodní stránce. Číslo počátečního řádku matice (číslováno od 0), kam se zapisuje. Číslo počátečního sloupce matice (číslováno od 0), kam se zapisuje. Počet řádků matice, které se zapisují. Počet sloupců matice, které se zapisují. Zapisovaný obsah db. proměnné. Proměnná, kam se uloží výsledek komunikace.
Návratová hodnota Metoda vrací kód chyby. Popis Metoda zapíše obsah celé db. proměnné nebo část db. matice. Zápis probíhá direktivně, výsledek komunikace se ukládá do proměnné Result. Zapisovaný obsah musí odpovídat zapisované db. proměnné. Pokud se zapisuje do jednoduché db. proměnné, musí být DATA jednoduchá hodnota. Pokud se zapisuje matice (i její část), musí DATA být dvourozměrné pole, jehož počet řádků a sloupců odpovídá počtu zapisovaných řádků a sloupců. V tomto případě nezáleží na počátečních indexech DATA, ale jen a pouze na rozměrech. Při zápisu právě jednoho prvku db. matice může být DATA jak jednoduchá hodnota tak i dvourozměrné pole o jednom řádku a jednom sloupci. DATA musí být takového typu, aby bylo možno jeho hodnoty zapsat bez ztráty informace do db. proměnné.
PŘÍLOHA E POPIS METOD TŘÍD ATOUCHDIR A ATOUCHARCH
45
Metoda InitFromFile, InitFromString Inicializuje objekt podle zadaného popisu archivů. Syntaxe objekt.InitFromFile ( String ARFile) Int objekt.InitFromString ( String AR) Int Syntaxe má tyto části: Část Popis objekt Objektový výraz, jehož výsledkem je objekt typu AtouchArch. ARFile Jméno souboru, který popisuje seznam archivů. AR Řetězec, který popisuje seznam archivů. Návratová hodnota Metoda vrací kód chyby. Popis Metoda provede počáteční inicializaci objektu. Dokud není inicializace úspěšně provedena, nelze používat ostatní metody objektu s výjimkou metody pro zjištění verze objektu. Objekt neinicializuje připojení k síti DbNet®. Je nutné použít kromě objektu AtouchArch některý z objektů zajišťující připojení a tento inicializovat před inicializací AtouchArch. Je-li u objektu vyvolána inicializační metoda, musí se vždy před zrušením objektu vyvolat deinicializační metoda Done a to bez ohledu na to, zda inicializace dopadla úspěšně či s chybou!
Metoda Handler Provede elementární krok při čtení manuálního archivu. Syntaxe objekt.Handler (Long AID,Long Status,Variant DATA) Int Syntaxe má tyto části: Část objekt AID
Popis Objektový výraz, jehož výsledkem je objekt typu AtouchArch. Číslo archivu (zadané v popisu archivů), kterému se provede jeden elementární krok. Status Proměnná, kam se uloží aktuální stav archivu po provedení metody. DATA Proměnná, kam se uloží přečtený vzorek archivu AID v případě, že aktuální stav archivu je "mám vzorek". Návratová hodnota Metoda vrací kód chyby. Popis Metoda provede jeden elementární krok v algoritmu čtení manuálního archivu. Vrátí aktuální stav archivu a je-li tento stav roven archValue, pak také vrátí v proměnné DATA hodnotu přečteného vzorku. Není-li aktuální stav archivu
46
PŘÍLOHA E POPIS METOD TŘÍD ATOUCHDIR A ATOUCHARCH
archValue je obsah proměnné DATA nedefinován. Je-li metodou vrácen vzorek, je nanejvýš vhodné, aby s ním uživatel provedl potřebné akce a následovně potvrdil metodou Accept jeho převzetí (zpracování). Je-li metoda vyvolána pro automatický archiv, nic neprovede a skončí chybou. Struktura pro provozní deník Je-li archiv AID provozní deník, pak metoda vytváří proměnnou DATA jako jednorozměrnou matici o velikosti 10 prvků indexovanou od prvku (0). Prvky matice jsou vždy typu Variant. Obsah matice je Prvek
Typ
Popis
DATA(0)
Date
Datum a čas vzorku přímo ve VBA formátu.
DATA(1)
Integer
Číslo stanice, ze které se provozní deník čte.
DATA(2)
Integer
Hodnota pole "Code" provozního deníku.
DATA(3)
Integer
Hodnota pole "Segment" provozního deníku.
DATA(4)
Integer
Hodnota pole "Offset" provozního deníku.
DATA(5)
Integer
Hodnota pole "WID" provozního deníku.
DATA(6)
Long
Hodnota pole "Value" provozního deníku, chápána jako celočíselná hodnota.
DATA(7)
Single
Hodnota pole "Value" provozního deníku, chápána jako desetinná hodnota.
DATA(8)
String
Textový prefix záznamu provozního deníku podle překódovacích předpisů zadaných v popisu archivů.
DATA(9)
String
Text záznamu provozního deníku podle překódovacích předpisů zadaných v popisu archivů. Struktura pro normální archiv Je-li archiv AID normální archiv, pak metoda vytváří proměnnou DATA jako jednorozměrnou matici indexovanou od prvku (0). Počet prvků je 1 plus počet archivovaných průběhů. Prvky matice jsou vždy typu Variant. Obsah matice je Prvek DATA(0) DATA(1) DATA(2) DATA(3)
Typ Date Integer nebo Long nebo Single
Popis Datum a čas vzorku přímo ve VBA formátu. Hodnota 1. průběhu. Hodnota 2. průběhu. atd.
Typ jednotlivých hodnot odpovídá typu archivní matice, ve které jsou uchovávány. Z matice MI jsou hodnoty předávány v typu Integer, z matice ML v typu Long a z matice MF v typu Single. Je-li archiv složen z více archivních matic, pak se hodnoty průběhů z jednotlivých matic řadí za sebe.
PŘÍLOHA E POPIS METOD TŘÍD ATOUCHDIR A ATOUCHARCH
47
Metoda Accept Potvrdí nebo odmítne převzetí vzorku. Syntaxe objekt.Accept (Int AID,Bool OK) Syntaxe má tyto části: Část Popis objekt Objektový výraz, jehož výsledkem je objekt typu AtouchArch. AID Číslo archivu (zadané v popisu archivů), kterému se potvrdí nebo odmítně převzít vzorek. OK Příznak, zda se vzorek potvrdí nebo odmítne. Návratová hodnota Metoda vrací kód chyby. Hodnoty Hodnoty OK mohou být: Konstanta True False Popis
Popis Vzorek se potvrdí. Vzorek se odmítne.
Metoda potvrdí nebo odmítne převzít vzorek archivu AID. Potvrzením vzorku přejde objekt AtouchArch ke čtení dalšího vzorku. Pokud byl automatický archiv před potvrzením zakázán, pak se potvrzením převezme vzorek a archiv zůstane stále zakázán. Po odmítnutí vzorku se objekt AtouchArch pokusí stejný vzorek předat znovu. Buď při nejbližším vyvolání metody Handler pro manuální archivy nebo vyvoláním události Sample pro automatické archivy. Pokud byl automatický archiv před odmítnutím zakázán, pak po odmítnutí zůstane stále zakázán a odmítnutý vzorek se objekt AtouchArch pokusí předat po znovupovolení archivu.
48
PŘÍLOHA E POPIS METOD TŘÍD ATOUCHDIR A ATOUCHARCH
Metoda Reset Provede reset algoritmu čtení archivu. Syntaxe objekt.Reset (Int AID)Int Syntaxe má tyto části: Část Popis objekt Objektový výraz, jehož výsledkem je objekt typu AtouchArch. AID Číslo archivu (zadané v popisu archivů), kterému se provede reset. Návratová hodnota Metoda vrací kód chyby. Popis Metoda provede reset algoritmu archivu AID. Zejména se provede nový výpočet vzorků, které se z archivu mají číst. Je-li metoda vyvolána v okamžiku, kdy má archiv přečtený vzorek a tento není potvrzený/odmítnutý, metoda Reset tento vzorek automaticky odmítne. Metoda se typicky používá pro manuální archiv v případech, kdy po delší čas nebyla volána metoda Handler, aby se zajistilo nové určení vzorků ke čtení.
PŘÍLOHA F SEZNAM WIDŮ DATABÁZE PROMĚNNÝCH
49
F Seznam WIDů Databáze proměnných Poř.
WID Jméno
Typ a rozměr Druh St.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013
out a1 Z cas pcas inp zkstart zcas s i j pstop ibit masksep
I I I F MI[8,1] I I MI[8,1] I I I I I ML[8,1]
15
4014
maskrozep
ML[8,1]
16 17
4015 4016
OKsep kscas
I MI[8,1]
18 19 20 21 22 23 24
4017 4018 4019 4020 4022 4023 4024
OKrozep pocsep outold zc rozcas mask krcas
I ML[8,1] I I MI[8,1] ML[8,1] MI[8,1]
25 26 27 28 29 30 31 32 33 34
4025 4026 4027 4028 4029 4030 4031 4032 4033 4034
zkpredvol prcas ppocsep archivline archiv archivbyte archivdatum Errsep zkID priznak
I MI[8,1] ML[8,1] ML[8,1] ML[8,2000] I ML[1,2000] L ML[8,1] I
35 36 37 38 39 40 41
4035 4036 4037 4038 4039 4040 4041
Errrozep inp16_1 inp16_2 inpL U Uzk a2
L I I L I MI[8,1] I
..t
i.. ..t ..t
i..
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
i..
..t i.. i.. i.. i.. i..
i..
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Komentář pomocná
zkouska jede zkouska časovač pr…chod zkouškou předvolba stop nahrazuje 1<
50
PŘÍLOHA F SEZNAM WIDŮ DATABÁZE PROMĚNNÝCH
42 43 44
4042 4043 4044
a3 Err Zapis
I I I
4 4 4
45
4045
KopyZapis
I
4
46 47
4046 4047
CetnostZapis pocchyb
L MI[8,2]
i..
4 4
48
4048
ppocchyb
I
i..
4
49
4049
inpSepSt
I
4
50 51
4050 4051
Err1 archPC
I L
4 4
52
4052
index1
I
4
53
4053
index2
I
4
chyba U, I aktualiz. archivu po 100 000 aktualiz. archivu po 100 000 Po kolika sep archivuj pro vyhodnoceni chyb za sebou počet chyb pro odstaveni zk. Halovy sondy - sepnutí stykače Error další dekadický datum posl.precteneho vzorku do PC kontrolní index proti přetečení kontrol.index pro spuštění
PŘÍLOHA G FOTOGRAFIE STANICE SPPK
G Fotografie Stanice SPPK
51
52
PŘÍLOHA H OBSAH PŘILOŽENÉHO CD
H Obsah přiloženého CD XD36BAP_jurikd1.pdf
text bakalářské práce nezávislý na systému
XD36BAP_jurikd1.odt
text bakalářské práce ve zdrojovém formátu
\Pomocné\
ilustrace pro XD36BAP_jurikd1.odt
\literatura\
adresář se zdrojovými texty
\TesterSPPK1.1.0.2\
Kompletní projekt aplikace TesterSPPK
TesterSPPK1.1.0.2\TesterSPPK\publish\
Instalace