VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV AUTOMATIZACE A INFORMATIKY •
FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE
NÁVRH LABORATORNÍHO CVIČENÍ S PROSTŘEDÍM CONTROL WEB 5 PROPOSAL OF CONTROL WEB 5 LABORATORY TRAINING
BAKALÁŘSKÁ PRÁCE BACHELOR ESSAY
•
AUTOR PRÁCE
MIROSLAV LIŠKA
AUTHOR •
VEDOUCÍ PRÁCE
SUPERVISOR
BRNO 2007
ING. ZDENĚK NĚMEC, CSC.
Strana 5
ZADÁNÍ ZÁVĚREČNÉ PRÁCE (na místo tohoto listu vložte originál a nebo kopii zadání Vaš práce)
Strana 7
LICENČNÍ SMLOUVA (na místo tohoto listu vložte vyplněný a podepsaný list formuláře licenčního ujednání)
Strana 9
ABSTRAKT Účelem této bakalářské práce je seznámení s produktem Control Web 5 a jednotkou DataLab IO. Dále pak vytvoření vzorové laboratorní úlohy a k ní několik verzí aplikace ovládající vybraný objekt řízení.
ABSTRACT The purpose of this bachaleor project is to introduce the product Control Web 5 and DataLab IO unit. This also includes preparation of exemplary exercise and programming of applications for controling of selected object.
KLÍČOVÁ SLOVA Control Web, návrh laboratorního cvičení, DataLab IO, automatizace, PLC, soft-PLC, SCADA, HMI.
KEYWORDS Control Web, proposal of laboratory training, DataLab IO, automation, PLC, softPLC, SCADA, HMI.
Strana 11
Obsah:
1 2 2.1 2.2 2.3 2.4 3 3.1
Zadání závěrečné práce...................................................................................................5 Licenční smlouva............................................................................................................. 7 Abstrakt............................................................................................................................ 9 Seznam zkratek..............................................................................................................13 Úvod................................................................................................................................ 15 Control Web................................................................................................................... 17 Vývojové prostředí........................................................................................................ 19 Ovladače........................................................................................................................21 Virtuální přístroje.......................................................................................................... 22 Řízení aplikací...............................................................................................................24 DataLab IO................................................................................................................... 27 Moduly použité v této práci.......................................................................................... 29
3.1.1 3.1.2 3.1.3 3.1.4
4 4.1 5 5.1 5.2 5.3 5.4 6
Modul analogových vstupů AI3............................................................................................ Modul digitálních výstupů DO1............................................................................................ Modul analogových výstupů AO1......................................................................................... Modul digitálních vstupů DI1................................................................................................
29 30 30 31
Návrh objektu řízení..................................................................................................... 33 Navržený elektrický obvod........................................................................................... 33 Návrh laboratorního cvičení.........................................................................................39 Koncept úlohy............................................................................................................... 39 Detailní řešení úlohy..................................................................................................... 40 Varianta aplikace 1 – přidání časování......................................................................... 47 Varianta aplikace 2 – přidání alarmů............................................................................ 49 Závěr............................................................................................................................... 51 Seznam použité literatury............................................................................................. 53
Strana 13
SEZNAM ZKRATEK CW SCADA HMI PLC IO OCL TCP/IP USB PC AI AO DI DO
Control Web Supervisory Control and Data Aquisition Human-Machine Interface Programmable Logic Controller Input/Output Object Constraint Language Transmission Control Protocol / Internet Protocol Universal Serial Bus Personal Computer Analog Input Analog Output Digital Input Digital Output
Strana 15
1
ÚVOD
Tato práce se zabývá úvodem do systému Control Web 5, programu určeného k vývoji a provozování aplikací řídících či pouze monitorujících reálné technologie skrze běžný počítač. Dále se zabývá seznámením s vstupně/výstupní jednotkou DataLab, jež je v tomto případě nutnou součástí počítače. Úkolem této práce je vytvořit libovolný vhodný objekt řízení, který nahradí reálnou technologii a na jeho základě vypracovat vzorové laboratorní cvičení, jehož součástí bude také vytvoření aplikace ovládající řízený objekt. K vytvořené aplikaci by měly být vypracovány její varianty a detailní řešení úlohy.
Strana 17
2
CONTROL WEB
Control Web 5 je produkt, který slouží k rychlému a flexibilnímu vytváření vizualizačních měřících nebo řídících aplikací, určených pro použití s dnes běžnými počítači zastávající funkci softwarového PLC neboli programovatelného automatu. Aplikace vytvořené v tomto nástroji řadíme do kategorie SCADA/HMI – Supervisor Control and Data Acquisition, Human-Machine Interface. Přeloženo do rodného jazyka to znamená supervizní řízení a sběr dat, rozhraní mezi strojem a člověkem. Spojením takového software s počítačem vybavého průmyslovým, vstupně-výstupním zařízením, pak lehce dokážeme vytvořit levné moderní dispečerské panely. Software Control Web 5 je dostupný ve dvou verzích: ve vývojové verzi a verzi runtime. Verze runtime je určená pouze ke spouštění již vytvořených aplikací. Ve vývojové verzi systému Control Web je možné vytvářet volně programovatelné aplikace, programátor má možnost určit odkud se různé hodnoty mají číst nebo kam se mají zapisovat do vstupněvýstupního zařízení a to nejen na základě pevně stanovených časových konstant, ale i jako reakce na události jiných komponent, ze kterých se celé aplikace skládají. Tyto komponenty, zvané virtuální přístroje, se mezi sebou vzájemně propojují, vytváří se vazby a podmínky na jejichž základě pak aplikace reaguje na podněty. Komponenty mohou pracovat i s protokolem TCP/IP, tím se nabízí možnost vytvářet modulární distribuované aplikace. Pak můžeme pomocí takto vytvořených aplikací přenášet zatížení na více stanic. Control Web je tedy komponentové vývojové prostředí umožňující rychlé vytváření aplikací řídících nebo vizualizujících průmyslové technologie. V praxi ho lze využít k řízení kotelny a celého systému vytápění, klimatizace budovy, automatizaci výrobní linky nebo třeba jako display v tramvaji (obr. 1).
Obr.1 Control Web jako display v tramvaji
Strana 18
Control Web lze použít též k vytvoření simulátorů. Tak například Lékařská fakulta Univerzity Karlovy v Praze v systému Control Web vytvořila model fyziologických regulací v lidském organismu zvaný Golem. Dalším příkladem může být model jaderné elektrárny Temelín s reaktory typu VVER 1000, vyrobený pro společnost ČEZ, a.s. (obr. 2). Program slouží pro výuku a osvětu v oblasti jaderné energetiky.
Obr.2 Model jaderné elektrárny Temelín
2
2.1
Strana 19
Vývojové prostředí
Uživatelské prostředí produktu je rozděleno do tří základních částí – datový inspektor, textový a grafický editor (obr. 3).
Obr.3 Výběr editoru
Celý systém Control Web 5 maximálně podporuje vizualizaci a práci v grafickém editoru. Programátor má k dispozici širokou paletu virtuálních přístrojů řazených do kategorií (obr. 4) pokud by náhodou nenašel potřebný virtuální přístroj, může ho do systému doplnit pomocí knihovny. Převážná většina viditelných komponent obsahuje animaci, čímž podporuje hlavní myšlenku celého systému, kterou je bezpochyby vizualizace technologických procesů. Vytváření aplikací probíhá převážně v grafickém editoru (obr. 5), kde myší vybíráme komponenty z palety přístrojů a umísťujeme je na pracovní plochu aplikace. Pracovní plochou aplikace je panel, na nějž vždy situujeme jednotlivé komponenty dle daného zadání či naší představy. Pro každou vybranou komponentu můžeme v inspektoru přístroje nastavit jiné vlastnosti, naproti tomu můžeme s použitím proměnné nastavovat stejné vlastnosti celým skupinám přístrojů, jako například parametry časování. V takovém případě využijeme možnost pracovat v textovém editoru, do kterého se můžeme téměř kdykoliv přepnout (obr. 6).
Obr.4 Paleta přístrojů
Strana 20
Obr.5 Grafický editor
Obr.6 Textový editor Slůvko téměř je zde na místě, v některých případech nám totiž Control Web nedovolí odskočit od prováděné operace dokud ji nedokončíme. Považuji to za chytrou prevenci proti tvorbám kritických chyb. Vhodný příklad je třeba konfigurace ovladače zařízení, se kterým chceme aby aplikace komunikovala – zpravidla vstupně/výstupní karta nebo jednotka (obr. 7).
2
Strana 21
Obr.7 Konfigurace ovladače 2.2
Ovladače
Control Web je důsledně navrhován jako systém nezávislý na hardware. To znamená, že máme-li patřičný ovladač, dokážeme komunikovat s jakýmkoliv průmyslovým zařízením např: ● ● ●
PLC (Siemens, Mitsubishi, Omron, Teco, Allen-Bradley, ABB, Honeywell, ...) I/O moduly (DataLab IO, ELSACO, ADAM, …) měřící karty (Advantech, Axiom, Tedia, …)
Řada ovladačů je dodávána se systémem Control Web, ty které nejsou součástí je třeba nainstalovat standardním postupem instalace nových zařízení ve Windows. Komunikace s připojeným zařízením probíhá přes ovladač a to prostřednictvím kanálů. Kanály jsou speciální proměnné pro ovladače s parametry index (pořadí kanálu v ovladači), směr komunikace a datový typ kanálu. Definují se v datovém editoru (obr. 8). Systém Control Web navíc nabízí možnost použití virtuálního ovladače, tento pak může simulovat libovolné zařízení. Do jádra ovladače naprogramujeme potřebný simulační model a ovladač přidáme do aplikace standardním způsobem. Komunikace s virtuálním ovladčem se od fyzického ničím neliší, postupujeme naprosto stejně.
Strana 22
Obr.8 Konfigurace kanálů
2.3
Virtuální přístroje
Jak jsem již zmínil, aplikace v systému Control Web jsou sestaveny z virtuálních přístrojů. Těmito přístroji jsou různé typy zobrazovacích elementů (měřící přístroje, grafy, osciloskop, indikátory...), řídící prvky (spínače, přepínače, ovladače...), archivační prvky, alarmy nebo třeba kontejner Active X či server http. Komponenty je možné interaktivně rozmísťovat po ploše systémem uchop a přetáhni, anglicky zvané drag & drop. Každý virtuální přístroj má své specifické vlastnosti, které lze mimochodem měnit voláním procedur z jiných přístrojů i za běhu aplikace, jako například viditelnost některého z nich. Nastavení se provádí pomocí Inspektoru přístrojů, kde jsou parametry vypsány v tabulce a lze je měnit zapsáním nové hodnoty do příslušného políčka či Editoru výrazů nebo vybráním jednoho z přednastavených parametrů v roletce (obr. 9). Na obrázku je vidět, že inspektor přístroje má více záložek. V záložce obecných parametrů se nastavují očekávatelné vlastnosti jako jsou například vstupní a výstupní proměnné, časování, viditelnost, pozice nebo velikost okna a samozřejmě parametry specifické přímo pro daný typ přístroje. V dalších záložkách se zapisují lokální proměnné pro tento konkrétní přístroj, změny barev přístroje či procedury psané ve standardu OCL. Procedury jsou reakce na podněty jiných přístrojů aplikace, jelikož podnětů existuje celá řada, dlouhý musí být i seznam procedur. Pokud by programátor nenalezl potřebnou proceduru přístroje, může si vytvořit novou. Nicméně programování OCL procedur patří do pokročilých technik tvorby a pro vytváření běžných aplikací není potřeba tuto techniku ovládat.
2
Strana 23
Obr.9 Inspektor přístrojů
Přístroje se v grafickém editoru skládají na pracovní plochu aplikace, zároveň se v levé části okna skládají do hierarchických stromů (obr. 10), tím se dělí do základních kategorií přístrojů. Těmi jsou: Dle vzhledu: ● viditelné ● neviditelné Dle časování: ● časované ● nečasované Struktura viditelných přístrojů určuje jejich příslušnost k různým panelům, toho se dá výhodně využít například při přesouvaní. Pokud jsou přesouvané přístroje zaregistrované do panelu, stačí přemístit daný panel a přístroje se přemístí s ním. Pozice ve stromu určuje překrývání - čím výše je přístroj ve stromu umístěn, tím výše je i v pomyslné „z“ souřadnici aplikace a může překrývat přístroje umístěné hierarchicky pod ním. Mezi, pro uživatele, neviditelné přístroje se řadí například komponenta SQL, http server nebo program. Program je obecná komponenta, která slouží hlavně k definování procedur přístupných z kteréhokoliv jiného přístroje.
Strana 24
Obr.10 Hierarchie virtuálních přístrojů
Časovaní přístrojů lze nastavit jako synchronní nebo asynchronní. Pokud parametr timer nastavíme na nějakou hodnotu, zapneme tím synchronní časování. Přístroj pak bude v uvedené periodě aktivován. V opačném případě, nezadáme-li žádnou hodnotu, je přístroj nastaven na asynchronní časování a je aktivován událostmi jiných přístrojů nebo zásahem uživatele. Časování rovněž můžeme seskupovat do celků a tvořit tak s pomocí speciálních systémových přístrojů (sequencer, selectror...) složitější algoritmy časování. 2.4
Řízení aplikací
Aplikace v systému Control Web lze rozlišit na dvě skupiny velmi se od sebe lišící způsobem spouštění jednotlivých akcí, ať už se jedná například o čtení nebo zápis vstupně/výstupních kanalů či aktivace jednotlivých přístrojů. Aplikace mohou být datově řízené nebo reálného času. Datově řízené aplikace jsou jednoduší na programování přičemž jsou i méně náročné na výkon počítače. Procedury jsou spouštěny na základě změn příslušných dat v aplikaci nebo asynchronní událostí jako je stisk tlačítka uživatelem apod. V elektronické dokumentaci ke Control Webu se píše: „V systémech řízených změnou dat nelze žádný program napsat, pouze lze konfigurovat a parametrizovat existující struktury. A kde nelze napsat žádný program, nelze ani napsat špatný program. Systém sám spouští jednotlivé akce v aplikaci tak, aby dosáhl co možná nejlepšího využití hardware a kvalita návrhu aplikace ovlivní její funkčnost jen velmi málo.“ [3].
2
Strana 25
Bohužel u takto vytvořených aplikací nemůžeme dopředu zaručit četnost ani délku komunikace s periferním zařízením díky závislosti na změně dat. Nelze se ani spolehnout na posloupnost aktivací přístrojů. Z výše uvedených důvodů nejsou datově řízené aplikace vhodné jako řídící, ale špíše jako aplikace vizualizující procesy a to zejména takové, u kterých není důležité precizní načasování měření dat, nýbrž jejich prezentace. Dále je vhodná pro vizualizaci pomalu se vyvíjejích dějů nebo aplikací nepracujících s technologiemi. O aplikacích reálného času se v dokumentaci Control Web píše: „V módu reálného času můžete vytvářet skutečné programy, tedy algoritmy v nejobecnějším slova smyslu složené ze sekvencí, selekcí a iterací, přiřazení, skoků a volání apod.“ [3]. Cenou za kvalitnější aplikace je pak větší programátorské úsilí. Používají se hlavně pro řízení technologií, tam většinou potřebujeme zajistit přesné časování aplikací, spouštění akcí ve stanovený čas případně zajistit přesný sled událostí. U datově řízené aplikace byly periodicky sledovány změny dat například na vstupech, u aplikací reálného času jsou stejné vstupy přečteny až na základě požadavku z aplikace. Virtuální přístroje následně data zpracují. Systém se bude vždy snažit dodržet nastavené časování a to i v případě nevhodnosti pro daný hardware. Pokud se aplikace dostává do skluzu, to se například dá zjistit pomocí okna časování (obr.11), je třeba aplikaci vyladit. Existuje mnoho způsobů, jak aplikaci urychlit. Můžeme se rozhodnout posílit hardware, ale dle mého názoru, je lepší zkvalitnit návrh aplikace, protože jak praví dokumentace CW: „Jak ale praví stará programátorská moudrost, program nedělá to, co autor chce, ale pouze to, co naprogramoval. Jinými slovy kvalita vaší práce má zásadní vliv na kvalitu celé aplikace. Není výjimkou, že špatným návrhem lze aplikaci zpomalit o jeden i dva řády (nebo naopak dobrým návrhem ji stejně urychlit).“ [3]. Návrh aplikace lze vylepšit například prodloužením periody časování, odebrání časování kde není potřeba, nahrazení časování aktivací od události případně snížení počtu přístrojů apod. Pro aplikace reálného času by měla být důkladně volena vstupně/výstupní zařízení. Ve skutečnosti tedy nejde ani tak o zařízení samotná jako spíše o kvalitní ovladače pro ně. Na kvalitním ovladači u těchto aplikací velmi žáleží, špatný ovladač dokáže degradovat celou aplikaci, neboť nezvládá dodávat potřebná data. Já jsem měl během tvorby této bakalářské práce možnost pracovat se vstupně/výstupní jednotkou DataLab IO4. Jelikož je to rovněž produkt firmy Moravské přístroje, a.s., dá se předpokládat, že mají ovladač dokonale sladěn se systémem Control Web. Nasvědčuje tomu i skutečnost, že jsem se během práce nesetkal s žádným problémem týkajícím se ovladače.
Strana 26
Obr.11 Okno časování aplikace
Strana 27
3
DATALAB IO
DataLab IO je modulární systém vstupně výstupních jednotek určených k použití s počítači v průmyslu, propojuje aplikaci s reálným prostředím. S počítačem komunikuje přes sběrnici USB a podporuje obě verze, tedy 1.1 i 2.0. Skrze toto zařízení dokážeme měřit a regulovat hodnoty vstupů a výstupů z/do reálné technologie prostředníctvím počítače a řídící aplikace na něm spuštěné. Zároveň nám tímto propojením vzniká Soft-PLC, což je programovatelný automat vytvořený právě zmíněnými prostředky.
Obr.12 Blokové schéma zapojení jednotky DataLab IO
Celý systém vstupně/výstupních jednotek DataLab IO je založen na vyjímatelných modulech, které se v jednotce zasouvají do slotů (obr.13). Vlastnosti jednotky jsou pak jednoznačně určeny použitými moduly.
Obr.13 DataLab IO4 bez šasí
Výrobce nabízí tři varianty jednotek – DataLab IO1 s jedním slotem, DataLab IO2 s dvěma a DataLab IO4 se čtyřmi sloty pro moduly. Pokud pomineme počet slotů, vyznačuje se DataLab IO1 oproti zbylým dvoum modelům svou absencí externího napájení. Žádný modul totiž nepřekračuje odběr proudu 500mA, které je USB schopné poskytnout. Modulů je v současné době na výběr 12, jsou to moduly analogových vstupů a výstupů, modul odporových teploměrů, moduly digitálních vstupů a výstupů, moduly s kombinacemi analogových a digitálních vstupů a výstupů a moduly čítačů. Jednotky s více sloty nemusejí být plně osazeny moduly, naproti tomu zde máme možnost připojit v případě potřeby k PC více jednotek. Můžeme použít i USB rozbočovač (hub). Tento by však měl mít v případě napájení jednotek přes USB externí zdroj. Existují konfigurace, které nepřekročí možnosti napájení USB, nedoporučuje se ale na toto spoléhat.
Strana 28
V případě externího napájení jednotek musíme použít zdroje s výstupním stejnosměrným napětím 10 až 40 V. Stručný přehled odběru jednotlivých modulů je uveden v následující tabulce, kde jsou uvedeny i staré moduly, které již nejsou běžně na trhu. Modul CPU AI1 AI2 AI3 AO1
max. odběr (mA) 60 190 80 65 340
modul AD1 AD2 RTD1 DI1 DI2
max. odběr (mA) 130 230 65 65 300
modul DO1 DO2 DO3 CNT1 CNT2
Tab.1 Proudové odběry jednotlivých modulů
Obr.14 DataLab IO4 v plném osazení
max. odběr (mA) 195 90 135 120 120
3
3.1
Strana 29
Moduly použité v této práci
Pro účely navrženého laboratorního cvičení byly spolu s jednotkou DataLab IO4 použity následující moduly AI3, AO1, DI1 a DO1. 3.1.1
Modul analogových vstupů AI3
„Modul AI3 obsahuje osm diferenčních analogových vstupů. Pomocí propojek lze nastavit každý vstup zvlášť pro napěťový nebo proudový signál. Modul umožňuje nastavovat rozsahy jednotlivých vstupů a vypínat jejich měření. Vyřazení měření daného vstupu ovlivňuje rychlost, s jakou modul poskytuje měřená data. Modul je schopen poskytnout nová data s frekvencí 50 Hz (50 vzorků za sekundu) na jeden kanál. Pokud je povoleno měření všech 8 kanálů, jsou hodnoty kanálů měřeny s frekvencí 6,25 Hz. Pokud je tedy zapotřebí měřit kanály např. minimálně 10´ za sekundu, je možno použít maximálně 5 vstupních kanálů, zbylé 3 kanály musí být vypojeny“ [2].
Obr.15 Modul AI3
Modul dokáže měřit širokou škálu vstupních rozsahů, které se nastavují v ovladači podle kódu a dají se měnit za chodu. Obsahuje 16ti bitový A/D převodník, kvůli němu je výhodné měnit rozsah měřených vstupů, pokud je to jen možné a zároveň potřebné. Výsledkem zmenšení rozsahu je totiž zvýšení citlivosti. Kódy pro rozsahy, které lze použít, jsou uvedeny v následující tabulce (tab. 2). Číslo 0 a 8 značí vypnutí vstupu. Kód rozsahu Napěťový režim Proudový režim Kód rozsahu Napěťový režim Proudový režim
0 8 -
1 ±10 V 9 0-10 V -
2 ±5 V 10 0-5 V -
3 4 ±2 V ±1 V ±20 mA ±10 mA 11 12 0-2 V 0-1 V 0-20 mA 0-10 mA
5 ±0,5 V ±5 mA 13 0-0,05 V 0-5 mA
6 ±0,2 V ±2 mA 14 0-0,02 V 0-2 mA
Tab.2 Seznam kódů pro nastavení rozsahu vstupů modulu AI3
7 ±0,1 V ±1 mA 15 0-0,1 V 0-0,1 mA
Strana 30
3.1.2
Modul digitálních výstupů DO1
„Modul DO1 obsahuje 8 reléových spínacích kontaktů. Výstupy jsou navzájem galvanicky odděleny. Sepnutý výstup je indikován LED. Mezní kmitočet cyklu (sepnutí-rozepnutí) je dán konstrukcí relé. Teoreticky je tento kmitočet max. 50 Hz. S ohledem na životnost kontaktů však budou prakticky používány mnohem nižší hodnoty.“ [2]
Obr.16 Modul DO1
Parametry modulu: ● zatížitelnost 230 V / 3 A AC, 30 V / 3 A DC ● odpor 30 MΩ, izolační odpor min. 1000 MΩ při 500 V DC ● životnost mechanická 20 mil. cyklů, elektrická 100 tis. cyklů ● dielektrická pevnost mezi rozpojenými kontakty 750 V AC 1 minutu ● dielektrická pevnost mezi cívkou a kontakty 3600 V AC 1 minutu ● impulsní elektrická pevnost 5080 V (1,2 x 50 μs) ● doba přítahu max. 10 ms při jmenovitém napětí ● doba odpadu max. 5 ms při jmenovitém napětí
3.1.3
Modul analogových výstupů AO1
„Modul analogových výstupů má 8 napěťových výstupních kanálů v rozsahu 0 až 10 V. Čtyři kanály je možné pomocí propojek na desce přepnout do režimu proudových výstupů s rozsahy 0 až 20 mA. Mezní vzorkovací kmitočet je 200 Hz na sběrnici USB 1.1, resp. 3,3 kHz na sběrnici USB 2.0. Je limitován rychlostí komunikace mezi jednotkou DataLab IO a nadřazeným počítačem, a také rychlostí obslužného programu na počítači.“ [2] Modul má 12ti bitový D/A převodník a jeden krok převodníku odpovídá změně na výstupním napětí o 2,5 mV. Právě tento fakt s sebou nese jedno úskalí. Víme, že 212 odpovídá hodnotě 4096, pokud tuto hodnotu vynásobíme krokem 2,5 mV, získáme výsledek 10,24 V. Modul má ale rozsah jen 0 až 10 V a proto na tuto skutečnost nesmíme zapomínat při návrhu aplikace.
3
Strana 31
Obr.17 Modul AO1
Nabízí se jednoduché řešení – při konfiguraci ovladače si můžeme vybrat, zda chceme hodnoty na výstupy zadávat ve fyzikálních jednotkách nebo krocích převodníku, tzv. EDU. Zvolíme-li zadávání hodnot ve fyzikálních jednotkách, vyhneme se tomuto problému (zapíšeme na výstup 10 V a přesně tolik tam také bude). Pokud z nějakého důvodu trváme na zadávání hodnot v krocích převodníku, omezíme u napěťových výstupů nejvyšší možnou hodnotu na 4000 EDU a u proudových výstupů na 3846 EDU. 3.1.4
Modul digitálních vstupů DI1
„Modul DI1 obsahuje 8 galvanicky navzájem oddělených digitálních vstupů. Logická jednička vstupu je indikována LED. Optické oddělení vstupů je nezávislé na polaritě, takže modul může číst také střídavé (AC) vstupy. Modul je k dispozici ve dvou variantách, lišících se úrovněmi vstupních signálů. Varianta DI1L pracuje se vstupním napětím 0 až 18 V při vstupním odporu 1000 Ω. Varianta DI1H je určena pro vstupní napětí 0 až 35 V při vstupním odporu 4700 Ω.“ [2]
Obr.18 Modul DI1
Strana 33
4
NÁVRH OBJEKTU ŘÍZENÍ
Když jsem se zabýval otázkou, co zvolit za objekt řízení, napadaly mě věci, podotýkám velké věci, s kterými každý den pracuji. Například plynový kotel respektive celá kotelna a systém vytápění budovy nebo taková klimatizační jednotka – to jsou zařízení na kterých by byly plně demonstrovány možnosti systému Control Web. Musel jsem se ale takříkajíc vrátit na zem. Má to být úloha, se kterou se bude pracovat ve školní laboratoři. Z toho důvodu jsem hledal něco malého a jednoduchého. Nakonec jsem za objekt řízení zvolil jednoduchý elektrický obvod. 4.1
Navržený elektrický obvod
Obvod, sloužící jako náhražka technologie, je navržen tak, aby byl jednoduše použitelný s modulární jednotkou vstupů a výsupů DataLab IO4. Je napájen stabilizovaným spínaným stejnosměrným zdrojem AXIMA AXSP2P01, jehož parametry stručně uvadím v následující tabulce.
typ
vstupní napětí
výstupní napětí
výstupní proud
výstupní výkon
AXIMA AXSP2P01
100 ÷ 265 VAC / 150 ÷ 320 VDC
24 VDC
1A při 24V, max 1,3A
max 30W
Tab.3 Parametry zdroje
Z tabulky vyplývá, že je elektrický obvod napájen 24 V DC. V obvodu jsou dva elektrolytické kondenzátory pro maximální napětí 35 V a o kapacitách 220 μF respektive 1000 μF doplněny třemi rezistory o odporech 1x 200 Ω a 2x 2 kΩ. Dále byl do obvodu zapojen spínač v podobě jednoho digitálního výstupu a měřák napětí v podobě jednoho analogového vstupu jednotky DataLab. Následuje schéma obvodu.
Obr.19 Schéma obvodu, první verze
První verze obvodu byla navržena tak, aby napětí nepřekročilo možnosti analogového vstupu, kterým se měří průběh napětí. Vstup byl nastaven na rozsah 0 – 10 V. Pochopitelně jsem vycházel z Ohmova zákona.
Strana 34
Jelikož mnou vytvořený obvod nebude v laboratořích používán, pro snažší manipulaci se součástkami v případě potřeby provedení změny, jsem použil nepájivé pole. To skýtá jednu velkou výhodu, kterou napovídá již samotný název. Součástky se v poli nemusí pájet. Jsou propojeny pomocí svorek, které jsou pravidelně rozmístěny po celém poli a na spodní straně pole jsou propojeny vodivými cestami (obr. 20).
Obr.20 Navržený obvod zapojený v nepájivém poli
V této fázi je navržený obvod zapojen, připojen na vstupně-výstupní jednotku DataLab IO . Nyní zbývá již jen spustit vytvořenou ovládací aplikaci a ověřit si správnost návrhu a zpracování. Obvod sám o sobě je velmi jednoduchý jak funkcí, tak i sestrojením, takže dle předpokladu by po připojení ke zdroji mělo vše bez problémů fungovat. 4
Kondenzátory se sepnutím nabíjely a vzápětí i vybíjely. Ovšem průběh nebyl optimální, nabití bylo příliš rychlé a křivka byla díky tomu příliš strmá. To ovšem nebyl hlavní problém. Jak je z následujícího obrázku (obr. 21) patrné, napětí v obvodu dosti kolísalo, navíc si lze na první pohled všimnout, že průběhy nejsou symetrické. To jasně ukazovalo na problém.
4
Strana 35
Obr.21 Průběh napětí na kondenzátorech
Na obrázku 21 si všimněte spodního grafu, ten monitoruje druhý analogový vstup, na který je přiveden signál z prvního analogového výstupu. Na něm je manuálně nastaveno libovolné napětí, v tomto případě 10 V. Jak je vidět, jednotka DataLab nebyla schopna udržet stabilní výstupní napětí a to mě přivedlo na myšlenku, že je nedostatečně napájena. Vrátil jsem se tedy k tabulce 1 ve které jsem uvedl maximální odběry jednotlivých modulů, z ní si vyčetl hodnoty odběru pro použité moduly. Jak již bylo řečeno dříve, rozhraní USB je schopno poskytnout proud do výše 500 mA pokud v cestě není nějaké další zařízení spotřebovávající poskytovanou energii. Používané moduly AI3, AO1 a DO1 mají maximální odběr 65 mA, 340 mA a 195 mA a jejich součet je 600 mA. Přiklonil jsem se k teorii, že napájení z USB bude dostačující, jelikož moduly jsou zatížené jen minimálně. Tato teorie se v tuto chvíli zdá býti mylná a nepřispívá jí ani čtvrtý zapojený modul, leč nepoužívaný DI1, jehož maximální odběr činí 65mA. Celkový maximální odběr jednotky DataLab IO4 je tedy na hranici 665 mA. USB zřejmně nedokáže pokrýt nároky jednotky, proto jsem se rozhodl připojit externí zdroj, kterým napájím i samotný obvod. Specifikace zdroje byla uvedena dříve. Připojení jednotky DataLab IO4 na externí napájení vyřešilo problém s napájením a stabilitu analogového výstupu i analogového vstupního signálu. Vyskytl se ale další problém, vstupní signál byl najednou moc vysoký, šel až za měřící schopnosti analogového modulu AI3, jehož hranice je 10V.
Strana 36
Obr.22 Vysoká hodnota vstupního napětí
Po dosazení hodnot do Ohmova zákona byla tato skutečnost potvrzena, maximální napětí na kondenzátorech dosahovalo hodnoty 11,43 V (pozoruhodný je fakt, že při nedostatečném napájení tento špatně měřil). Bylo tedy nutno změnit osazení rezistorů. Původní rezistory R1 = 200 Ω, R2 = 2000 Ω a R3 = 2000 Ω byly zaměněny za rezistory o odporech R1 = 1000 Ω, R2 = 1000 Ω, R3 = 1200 Ω a tím se napětí na kondenzátorech snížilo na rovných 9 V. Tato hodnota už byla vhodná propoužití s daným modulem. Kondenzátory zůstaly stejné, průběh napětí na nich je vizuálně optimální. Níže můžeme vidět schéma přepracované verze obvodu a obrázek grafu z aplikace s průběhem napětí.
Obr.23 Přepracovaná verze obvodu
4
Strana 37
Obr.24 Optimální průběh napětí na kondenzátorech
Nyní je objekt řízení již připraven k použití, můžeme tedy přejít k návrhu laboratorní úlohy.
Strana 39
5 5.1
NÁVRH LABORATORNÍHO CVIČENÍ Koncept úlohy
Zadání: 1) V prostředí Control Web 5 vytvořte jednoduchou aplikaci, ve které budete spínat žárovku a v grafu zobrazovat hodnotu nastavenou na regulátoru. 2) Poté aplikaci přepište tak, aby s pomocí modulární jednotky DataLab IO ovládala a monitorovala elektrický obvod dle schématu.
Obr.25 Schéma zapojení elektrického obvodu
Teoretický rozbor: Pokud sepneme spínač elektrického obvodu, začnou se kondenzátory nabíjet elektrickým nábojem, přičemž se nabíjí tak dlouho, dokud se nevyrovnají potenciály. Během nabíjení napětí mezi deskami kondenzátoru roste a při úplném nabití je shodné jako napětí v obvodu. Při odpojení zdroje se kondenzátory začnou okamžitě vybíjet, díky paralelně zapojenému vybíjecímu rezistoru. Pokud by tento v obvodu nebyl, napětí na deskách kondenzátorů by zůstalo dokud bychom je vodivě nepropojili. Spínání obvodu je řešeno jedním reléovým digitálním výstupem a voltmetr substituuje napěťový analogový vstup na jednotce DataLab. Postup: 1) Zkontrolujte elektrický obvod, zda zapojení odpovídá schématu. 2) Zkontrolujte jednotku DataLab IO, zda je napájena a připojena k PC. 3) Dle zadání vytvořte v CW5 aplikaci jen z virtuálních přístrojů, použijte switch, indicator, control a meter. Vytvořte si proměnné dle potřeby. 4) Tuto aplikaci následně přepište tak, aby skrze jednotku DataLab IO pracovala s reálným prostředím.
Strana 40
5.2
Detailní řešení úlohy
Předpokládám, že jsou studenti v laboratorním cvičení nejprve s programovacím prostředím Control Web 5 seznámeni. Všechny názvy částí vývojového prostředí Control Web 5 jako jsou položky menu, názvy průvodců, panelů apod. budu odlišovat kurzívou, z čehožbude zřejmé, že se jedná o část vývojového prostředí, nikoliv vytvářené aplikace. Součástí tohoto detailního řešení je na konci přiložená obrazová galerie, kde jsou zachyceny některé kroky, v textu bude na tyto obrázky vždy odkázáno. Spusťte aplikaci Control Web 5 a v případě, že se sám neotevře Průvodce novou aplikací, spustíme průvodce buďto přes ikonu nového souboru z hlavní nástrojové lišty nebo přes menu. Soubor > Nový. V prvním kroku průvodce zvolíme vytvoření nové aplikace, v druhém zvolíme aplikaci pracující v reálném čase. Název aplikace může být například LaboratorniCviceni.cwu (dle zvyklostí nepoužíváme diakritiku, pokud chcete slova v názvu oddělit, je vhodné použít podtržítko nebo pomlčku, případně psát velká počáteční písmena slov), rovněž si vybereme složku, kam bude aplikace uložena. V tuto chvíli můžeme průvodce dokončit stiskem tlačítka Dokončit. Pokud budete pokračovat dále, pomocí průvodce vám bude umožněno nastavit si velikost okna aplikace, jeho umístění vzhledem k okrajům plochy, počet panelů a poslední dialogové okno nabízí možnosti nastavení časování a možnosti po spuštění aplikace. Všechna tato nastavení se bez sebemenších problémů dají provést i později, takže pokud tvůrce aplikace ještě nemá ujasněnou představu o finální podobě, může tyto kroky přeskočit. Nyní máme vytvořen prázdný soubor, do kterého začneme vkládat komponenty. Ještě předtím se můžete podívat do záložky textového editoru kde uvidíte, že i takto prázdná aplikace má již své první počáteční parametry. V záložce datových elementů ještě nic není, rovněž tak v záložce grafického editoru. Jelikož budeme v této úloze pracovat se vstupně výstupní jednotkou DataLab IO, musíme Control Webu (dále jen CW) poskytnout ovladač, následně vytvořit kanály, které prostřednictvím ovladače tvoří spojení mezi periferním zařízením a aplikací. Čtení i zapisování hodnot lze provádět aplikací přímo na element kanálu nebo zprostředkovaně pomocí proměnné, my použijeme oba způsoby. Z toho důvodu budeme potřebovat vytvořit proměnné a specifikovat jejich datové typy. Nastavení ovladače, stejně jako následné vytvoření kanálů je vhodný začátek. Vytvoření proměnných si necháme na později až budeme mít alespoň zevrubnou představu o budoucí aplikaci. Přidáme potřebné komponenty a na nich si vysvětlíme jak pracují a jaké proměnné budou potřeba a ty následně přidáme. Začneme s vývojem aplikace. Přepneme se do záložky Datové inspektory a v rozbaleném stromu klikneme na položku Ovladače a následně na
(obr. 27). Následně zadáme jeho název, např. „drvDataLab“ a v pravém okně nastavíme jeho vlastnosti. V řádku Ovladač z roletky vybereme Ovladač DataLab IO/USB pro Control Web, tím se nám v následujícím řádku Mapovací soubor zruší možnost volby (žádný mapovací soubor není potřeba) a v následujícím řádku Parametrický soubor bychom přes vyhledávací okno ukázali na potřebný parametrický soubor. Při prvním použití jednotky DataLab IO tento soubor nemáme, musíme ho vytvořit a proto ho vytvoříme i nyní. V nástrojové liště klikneme na ikonu Konfigurovat ovladač (obr. 27) pro otevření okna Inspektor ovladače (pokud není ikona aktivní, klikněte myší kamkoliv v CW). V něm si přes menu Nástroje > Vyhledat zařízení otevřeme nástroj pro vyhledávání nových zařízení. V tomto okně se zobrazí nalezená jednotka DataLab, tu vybereme zatržením patřičného políčka a potvrdíme stiskem ikony Použít v liště nástrojů (obr.28). Ještě musíme nastavit modul analogových vstupů na měření vstupů ve voltech.
5
Strana 41
Obr.27 Konfugirace ovladače
Obr.28 Vyhledávání připojených zařízení
Strana 42
Obr.29 Nastavení modulu
V Inspektoru ovladče, v sekci parametrů si rozbalíme modul který odpovídá analogovým vstupům, v řádku unit 1 z roletky vyberte měření ve voltech (obr. 29), parametr mode 1 mění rozsah 1. vstupu. My chceme měřit rozsah 0-10 V. Shodou okolností je vstup takto nastaven z výroby, takže není potřeba doplnit hodnotu parametru, může zůstat prázdný. Pokud bychom ale chtěli měnit rozsah nebo veličinu, zapíšeme hodnotu dle následující tabulky. Kód rozsahu Napěťový režim Proudový režim Kód rozsahu Napěťový režim Proudový režim
0 8 -
1 ±10 V 9 0-10 V -
2 ±5 V 10 0-5 V -
3 4 ±2 V ±1 V ±20 mA ±10 mA 11 12 0-2 V 0-1 V 0-20 mA 0-10 mA
5 ±0,5 V ±5 mA 13 0-0,05 V 0-5 mA
6 ±0,2 V ±2 mA 14 0-0,02 V 0-2 mA
7 ±0,1 V ±1 mA 15 0-0,1 V 0-0,1 mA
Tab.4 Seznam kódů pro nastavení rozsahu vstupů modulu AI3
Nyní máme přidán ovladač s potřebným nastavením, zavřeme Inspektor ovladače stiskem tlačítka Použít na nástrojové liště. Přidáme si potřebný kanál. Ze zadání víme, že budeme potřebovat jeden digitální výstup pro spínání obvodu a jeden analogový vstup pro měření napětí. Zůstaneme ještě v záložce Datové inspektory. V části stromu Datové elementy klikneme na
, z roletky vybereme channel. Poté na něj klikneme, v právé části okna jej pojmenujeme, např. DL značící jednotku DataLab a nastavíme ovladač, který jsme v předchozím kroku přidali, tedy drvDataLab (obr. 30).
5
Strana 43
Obr.30 Vytvoření kanálů ovladače
Obr.31 Nastavení kanálu
Následně přidáme dva skalární elementy: jeden pro digitální výstup s názvem například DO01 a druhý pro analogový vstup, například AI01. Aby tyto elementy kanálu správně fungovaly, musíme jim ještě nastavit index ovladače, v mém případě je to 36 respektive 27 (obr 31). Indexy ovladače se mění v závislosti na konfiguraci jednotky DataLab, je tedy nutné si indexy kanálů ovladače zjistit z Inspektoru ovladače (obr. 32).
Strana 44
Obr.32 Výpis kanálů jednotlivých modulů
Nyní je nakonfigurováno vše, co budeme potřebovat pro práci s jednotkou DataLab, můžeme tedy přejít k návrhu samotné aplikace. Přepneme se do Grafického editoru a otevřeme si z nástrojové lišty Paletu přístrojů (obr. 33).
Obr.33 Otevření palety přístrojů
5
Strana 45
Jako první přístroj bychom měli vždy přidat panel, do kterého budeme všechny další přístroje umísťovat, tzv. registrovat. Pokud bychom přístroje přidávali přímo na plochu grafického editoru, zaregistrovaly by se po spuštění aplikace do plochy Windows. To by mohlo být v některých případech zajímavé řešení, avšak našeho příkladu se tento způsob netýká. Nuže přidáme si přístroj panel, cesta stromem je: Ploché přístroje > Panely > normální panel, velikost a umístění na pracovní ploše si zvolte dle libosti. Další přidávané přístroje budou vždy z kategorie Ploché přístroje, takže cestu k přístroji o tuto část vždy zkrátím aby nedošlo ke stálému opakování výše popsaného. Budeme pokračovat přidáním přepínače: Ovládání a řízení > Binární > switch, indikátoru v podobě žárovky: Zobrazování > Binární > indicator, jeden libovolný ovládací prvek, například Knoflík: Ovládání a řízení > Spojité > control, jako poslední přidáme libovolný čárový graf: Zobrazování > Spojité > meter. Rozmístění komponent může vypadat jako například na následujícím obrázku.
Obr.34 Rozmístění komponent
Paletu přístrojů zatím zavřeme. Nastavíme parametry jednotlivých přístrojů pomocí Inspektoru přístrojů. Spustit lze dvojklikem na komponentu nebo zvolením položky v kontextovém menu. Pro ovládání žárovky přepínačem potřebujeme proměnnou, vytvoříme tedy v textovém editoru mezi tagy data a end_data; sekci pro proměnné. Tato sekce začíná a končí tagy var a end_var, mezi nimi můžeme deklarovat potřebný počet proměnných. Deklarujme tedy proměnnou s názvem např. „binar“ typu boolean. Abychom se nemuseli za chvíli vracet k vytváření dalších proměnných, deklarujme i proměnnou „analog“ typu real, tu budeme potřebovat pro předávání hodnoty mezi ovládáním a grafem (obr. 35). Přepínači switch_2 nastavíme parametr output na hodnotu binar – pokud jste dobře deklarovali proměnnou, zobrazí se vám v roletce v patřičném názvu a odtud ji můžete rovnou i vybrat.
Strana 46
Obr.35 vytvoření proměnných v textovém editoru
Potvrďte změny a pokračujte žárovkou indicator_3. U tohoto přístroje je důležité nezapomenout nastavit časování, jinak žárovka nebude reagovat na výstup z přepínače, ikdyž bude přijímat hodnotu z něj. Nastavme tedy do parametru timer hodnotu 0.1s (pište s desetinou tečkou). Parametr expression je místo pro výstupní proměnnou z přepínače. Opět můžeme volit mezi ručním zapsáním proměnné do řádku, anebo si přes ikonku v daném řádku otevřene Editor výrazů. V jeho levé časti je stromové menu, pokud si klikneme na část Proměnné > globální, zobrazí se v pravé části deklarované proměnné ze kterých opět můžeme zvolit právě tu, kterou zrovna potřebujeme, tedy promměnou binar (Obr. XX). Analogicky pokračujeme s otočným regulátorem a grafem. Výstupem (output) z ovladače control_4 bude proměnná analog. V grafu meter_5 nastavíme timer opět na 0.1s a vstup (expression) nastavíme rovněž na proměnnou analog, potvrdíme změny a jako poslední nastavíme samotný panel_1. Panelu přidáme horní windows lištu aby se okno aplikace dalo přemístit. Toho docílíme nastavením parametru window na normal, parametr vybereme z roletky. Jelikož většinou bývá nežádoucí možnost změny velikosti okna, takovým akcím zabráníme pomocí parametru win_disable, u kterého v roletce zatrhneme položky zoom a maximize. Aby aplikace nebyla příliš strohá, přidáme jí popisky. Samotné popisky přidáme pomocí palety přístrojů – Ploché přístroje > Popisy a symboly > Statické > label. Text se píše po řádcích do parametru text_list. Pro každý řádek lze zvolit jiný font, velikost písma atp. Zvolte si libovolný font, do prvního popisku napište například „Napětí kondenzátorů“ a umístěte nad graf. Do druhého napište menším písmem například „ZAP/VYP“, tuto popisku umístěte v blízkosti přepínače (obr. 36). Pokud jste vše udělali správně, žárovka reaguje na polohu přepínače a graf zaznamenává změny hodnot na otočném regulátoru. Nyní aplikaci předěláme pro práci s reálným prostředím. Přepínač bude spínat digitální výstup, přičemž graf bude zobrazovat hodnotu měřenou na analogovém vstupu. Otočný regulátor a žárovka již nebudou třeba, můžete je tedy smazat. Výstupní proměnnou binar u přepínače změnte na DL.DO01 (název odpovídá šabloně
5
Strana 47
název_kanálu.název_elementu a lze ho opět vybrat pomocí roletky). U grafu musíme změnit více parametrů: vstupní výraz expression u grafu nastavte na DL.AI01, history nastavte například na 500 a rozsah grafu range_to snižte na 10. S tím je spojená i změna parametrů low_limit a high_limit, nastavte 2 respektive 8 (například). Nakonec okno grafu roztáhněte do přijatelné velikosti.
Obr.36 Výsledná aplikace
5.3
Varianta aplikace 1 – přidání časování
Manuální spínání obvodu není vyhovující, aplikace je upravena tak, že binární přepínač nadále nespíná digitální výstup. Z něj uděláme přepínač automatického chodu. Naprogramovaná procedura v jazyce OCL se bude automaticky starat o spínání obvodu pokud bude přepínač v poloze zapnuto. Délka cyklu spínání je načítána z přidaných editačních boxů. Aplikace vychází z předešlé, popíši tedy jen změny. Nejprve ošetříme změny promměných. V textovém editoru smažeme globální proměnnou „analog“, proměnou „binar“ přejmenujeme na „automat“. Přidáme nové dvě: „up“ typu real a „down“ rovněž typu real. Tyto proměnné budou sloužit pro ukládání hodnoty z editačních boxů sloužících k nastavování délky nabíjení/vybíjení obvodu. V grafickém editoru přidáme nové prvky, dva editační boxy typu numerické zadávací řádky (ploché přístroje > ovládání a řízení > spojité > control) a dvě popisky typu label (ploché přístroje > popisy a symboly > statické). Nastavíme přístroje: na výstup přepínače zapíšeme proměnnou „automat“, u editačních boxů pro nabíjení a vybíjení zapíšeme na výstupy proměnnou „up“ respektive „down“. U těchto dvou prvků je vhodné nastavit inicializační hodnoty, například 7 respektive 13. Nyní dopíšeme OCL proceduru. Aby byla přehledně oddělena, přidáme do aplikace virtuální přístroj program, nachází se v výkonné přístroje > programování. U tohoto přístroje musíme vědět, že se neumísťuje na plochu aplikace, ale mezi neviditelné přístroje v hierarchickém stromu (obr. 37). Program je přístroj jako každý jiný, jeho parametry a procedury se zapisují skrze Inspektor přístroje, otevřme jej. Timer nastavíme na 0.1 a přepneme se na záložku procedur.
Strana 48
Obr.37 Umístění virtuálního přístroje program
Definujme proceduru OnActivate v jazyce OCL s použitím jednoduchých výrazů. Potřebujeme aby procedura při sepnutém přepínači sepnula digitální výstup na určitou dobu a po jejím uplynutí jej opět vypla. Mohla by vypadat následovně:
Obr.38 Kód procedury
Aplikace by takto fungovala zdánlivě bez problému do chvíle, než bychom chtěli výstup vypnout. Zjistili bychom totiž, že reaguje na změnu polohy přepínače až ve chvíli, kdy skončí nabíjecí či vybíjecí cyklus. Není to žádná kritická chyba, dá se to ale napsat lépe. Například jako na obrázku 39.
5
Strana 49
Obr.39 Vylepšený kód procedury OnActivate()
Pokud si pozorně prohlédneme kód, můžeme si všimnout proměnných i,j. Tyto je třeba definovat v přístroji program jako lokální proměnné typu real. Po dokončení tohoto kroku je aplikace hotová.
Obr.40 Vzhled upravené aplikace
5.4
Varianta aplikace 2 – přidání alarmů
K variantě programu 1 přidáme sledování překročení stanovených limitních hodnot. Pokud hodnota napětí na kondenzátorech stoupne nad 8V nebo naopak klesne pod hodnotu 2V, chceme tuto událost zaznamenat. K tomuto účelu využijeme komponentu alarm.
Strana 50
Obr.41 Přidání alarmových stavů
Jako obvykle začneme proměnnými. V datovém inspektoru přidáme do datových elementů sekci const určenou pro zapisování konstant. V nově vzniklé sekci vytvoříme dvě proměnné „lowlimit“ a „highlimit“ typu konstanta s inicializační hodnotou 2 respektive 8. V grafickém editoru změníme nastavení virtuálního přístroje meter tak, že do parametrů low_limit a high_limit zapíšeme námi definované konstanty lowlimit respektive highlimit. Nyní přidáme přístroj alarm (paleta přístrojů > ploché přístroje > práce s daty > alarm). Nezapomeňme na časování, nastavme 0.1. Dle libosti lze nastavit strukturu zápisu alarmů do souboru položkou record_structure, obdobně si položkou message_content zvolíme obsah zprávy zobrazované v alarmovém okénku aplikace, jak je vidět na obrázku 41. Protože chceme aby se události zapisovaly do souboru, do parametru file.name zapíšeme požadované jmeno souboru a file.length nastavíme například na „day“ (symbolizuje četnost vytváření nových souborů s událostmi). Nakonec vytvoříme samotné události, budou dvě. Přidávají se jako položky seznamu do parametru item. Po nastavení důležitých parametrů text, condition a rise_action je alarmová funkce spolu s aplikací hotová.
Obr.42 Definice alarmů
Strana 51
6
ZÁVĚR
Cílem této bakalářské práce bylo vytvořit vzorovou laboratorní úlohu, která by měla studentům představit možnosti produktu Control Web 5 určeného k monitorování a řízení technologických procesů. Současně s CW5 byla představena jednotka DataLab IO sloužící ke styku s reálným prostředím. Součástí úlohy bylo vytvoření objektu řízení, jež měl simulovat technologii a k němu uživatelského programu, který má tento objekt monitorovat a řídit. Dále pak vytvoření detailního řešení úlohy a někollika variant uživatelského programu. V práci jsem zpočátku představil obecné vlastnosti produktu Control Web 5 a možnosti jeho použití, popsal jsem prostředí programu a principy vytváření aplikací. Následovalo seznámení se vstupně/výstupními jednotkami DataLab IO, jejich vlastností a možností v podobě přídavných, vyměnitelných modulů. V druhé části práce jsem navrhl objekt řízení a řádně jej popsal. Zároveň jsem se podělil o strasti, které vznikly během návrhu. V závěru práce je navržené laboratorní cvičení a detailní řešení zadání, včetně dalších dvou variant uživatelského programu. Vytvořená základní aplikace seznamuje uživatele se základními principy práce se systémem Control Web 5, následující dvě varianty už „jen“ nastiňují širší možnosti produktu – programování OCL a alarmové funkce. Domnívám se, že jsem tímto splnil úkoly zadání.
Strana 53
SEZNAM POUŽITÉ LITERATURY [1] [2] [3] [4]
Moravské přístroje, a.s.. Moravské přístroje, a.s. [HTML dokument]. 2007 [cit. 200705-23]. Dostupné z: http://www.mii.cz Moravské přístroje, a.s.. DataLab IO manuál. [PDF dokument]. Verze 2.00. březen 2007. [cit. 2007-04-21]. Dostupné z: http://www.mii.cz/cat?id=77&lang=405 Moravské přístroje, a.s.. Dokumentace. [Součást instalace programu]. Control Web 5 SP12. [cit. 2007-05-13]. KOFRÁNEK, Jiří. Control Web: Objektové vývojové prostředí (nejen) pro průmyslové aplikace. [PDF dokument], 1999. Dostupné z: http://honor.fi.muni.cz/tsw/2000/044.pdf