TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií
Software pro demonstraci funkcí inteligentního domu
Semestrální práce Závěrečná zpráva
Vladimír Nývlt, Daniel Pišna
Liberec
2012
Materiál vznikl v rámci projektu ESF (CZ.1.07/2.2.00/07.0247) Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření, KTERÝ JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY
Software pro demonstraci funkcí inteligentního domu
Anotace Cílem projektu je seznámení se s fyzikálním modelem inteligentního domu, umístěného na SPŠSE v Liberci. Tento model obsahuje několik klasických žárovek, stmívacích žárovek a další periferie, které se dají libovolně programovat. Součástí práce je tedy i návrh obslužného softwaru, který by demonstroval možnosti tohoto modelu. V závěru práce je popsáno několik algoritmů, použitých při programování. Klíčová slova: PLC, algoritmus, modul, program, dům
Annotation The goal of the project is getting knowledge about physical model of intelligent house, which is stored at SPŠSE in Liberec. This model contains some classic bulbs, dimmers and other peripherals, which can be arbitrarily programed. Therefore is part of the project designing of software, for operating these peripherals, which can demonstrate model's potentiality. In the end of the work are described some algorithms used in program.
Keywords: PLC, algorithm, module, program, house
2
Software pro demonstraci funkcí inteligentního domu
Obsah Anotace .......................................................................................................................................... 2 Zadání ……………………………………………………………………………………………………………………………………….4 1 Úvod ................................................................................................................................................ 5 1.1 Výhody a nevýhody PLC ........................................................................................................... 5 2 Seznámení se s fyzikálním modelem ............................................................................................... 5 2.1 Tecomat Foxtrot ....................................................................................................................... 6 2.2 Základní modul CP-1004........................................................................................................... 6 2.3 Ostatní moduly ......................................................................................................................... 7 2.3.1 LBC-02M jednotka ............................................................................................................. 7 2.3.2 DA2-22M jednotka ............................................................................................................ 7 2.3.3 SA2-04M jednotka ............................................................................................................. 7 2.4 Osazení inteligentního domu ................................................................................................... 7 3 Návrh obslužného softwaru ............................................................................................................ 8 3.1 Volba programovacího jazyka .................................................................................................. 9 3.2 Obslužný software .................................................................................................................. 10 4 Popis algoritmů ............................................................................................................................. 11 4.1 Jednoduchý algoritmus pro světlo ......................................................................................... 11 4.2 Světlo ovládané více proměnnými ......................................................................................... 11 4.3 Ovládání rolet a garážových vrat ........................................................................................... 12 4.4 Alarm ..................................................................................................................................... 12 4.5 Maketa ................................................................................................................................... 13 5 Závěr .............................................................................................................................................. 14 Seznam použité literatury ........................................................................................................ 15
3
Software pro demonstraci funkcí inteligentního domu
Fakulta mechatroniky, informatiky a mezioborových studií
Zadání bakalářského ročníkového projektu
Jména a příjmení studentů
Vladimír Nývlt (M10000041), Daniel Pišna (M10000044)
(osobní číslo) Zkratka pracoviště
MTI
Datum zadání RP
30.9.2011
Plánované datum odevzdání
18.5.2012
Rozsah grafických prací
Dle potřeby dokumentace
Rozsah průvodní zprávy
cca 10 stran
Název RP (česky) Název RP (anglicky)
Software pro demonstraci funkcí inteligentního domu Software for smart home demonstration
Zásady pro vypracování bakalářského projektu:
1.
Seznamte se s fyzikálním modelem inteligentního domu, umístěného na SPŠSE v Liberci.
2.
Navrhněte obslužný software, který by demonstroval všechny možnosti tohoto modelu.
3.
Realizované algoritmy popište.
Seznam odborné literatury: Firemní materiály firmy Teco. Vedoucí projektu
Ing. Miloš Hernych, MTI
4
Software pro demonstraci funkcí inteligentního domu
1 Úvod Téma předmětu Projekt jsme si vybrali z důvodu zájmu o PLC. Práce je zaměřena zejména na demonstraci a ukázku užitečnosti programovatelných automatů v domácnosti. PLC jsou využívány již několik desítek let a v dnešní době řídí převážnou většinu aplikací v průmyslu. Jejich typickou vlastností je programovatelnost na úrovni blízké mentalitě projektanta. Původně byly PLC určeny pro řízení strojů, jako náhrada za pevnou reléovou logiku. Využíván byl jazyk kontaktních (reléových) schémat. Dnes je pro každý programovatelný automat k dispozici několik jazyků, čímž patrně stoupla i náročnost programování a požadavky kladené na konstruktéry a projektanty v průmyslu. Vznikla tedy samostatná profese „programátor PLC“. Díky rozvoji jazyků a PLC samotných vzrůstal i počet míst, kde se dá logický automat využít. Náš projekt se zabývá tzv. „inteligentním domem“, ve kterém je vytvořeno ovládání osvětlení, rolet, vrat od garáže a dalších periferií domu pomocí programovatelných automatů.
1.1 Výhody a nevýhody PLC Nespornou výhodou využití PLC v domě je jistě flexibilita. Projekt lze vyšperkovat dle přání zákazníka. S tím souvisí i poměrně rychlá a pohodlná modifikace úlohy, neboť programování je poměrně snadné. V neposlední řade, stojí za zmínku i využitelnost PLC v extrémních prostředí. Důkazem mohou být vytěžované výrobní linky apod. Mezi nevýhody spadá např. vysoká počáteční investice do projektu.
2 Seznámení se s fyzikálním modelem Výběr vhodného PLC je základní otázka, kterou se musí projektant zabývat. Na tomto modelu je zvolen programovatelný automat od firmy Tecomat Foxtrot. Právě tento typ je vhodnou alternativou pro řízení budov. Je vhodný jak pro malé projekty, kde je využito pouze pár vstupů a výstupů, tak i pro komplexnější budovy. Mimo řízení domů se samozřejmě využívají i v klasických průmyslových úlohách.
5
Software pro demonstraci funkcí inteligentního domu
2.1 Tecomat Foxtrot Obecně řečeno je Tecomat Foxtrot malý modulární řídící a regulační systém od společnosti Teco a.s. s poměrně výkonnou procesorovou jednotkou a dobrými komunikačními schopnostmi. Obsahuje také velmi promyšlený systém vstupně/výstupních periferií. Mezi hlavní přednosti Foxtrotu patří použitelnost v BMS (Building Management Systém). Pro aplikace na ovládání domů byly totiž dříve navrhovány speciální systémy. Tento typ PLC má však předpoklady uplatnit se i v dalších typických aplikacích pro průmyslové systémy.
2.2 Základní modul CP-1004 V modelu inteligentního domu je použit základní modul CP-1004, který se od ostatních modulů liší zejména počtem a typem vstupů a výstupů. Je vybaven osmi binárními vstupy 24V, z nichž max. 4 vstupy lze využít jako analogové s rozsahem 0-10 V a max. 4 jako vstupy se speciálními funkcemi, jako jsou rychlý čítač, inkrementální snímač apod. Základní modul CP-1004 je osazen centrální jednotkou řady K, která je určena pro aplikace s vysokými požadavky na výkon. Základní a přídavné moduly jsou propojeny sběrnicí TCL2.
Obr. 2.1: Základní a přídavné moduly
6
Software pro demonstraci funkcí inteligentního domu
2.3 Ostatní moduly 2.3.1 LBC-02M jednotka
Tato jednotka je určena pro ovládání stmívatelných předřadníků. Obsahuje 2 nezávislé analogové napěťové výstupy 1-10 V a závisle na nich jsou řízeny 2 relé s přepínacím bezpotenciálovým kontaktem. Každý ze dvou kanálů je samostatně ovladatelný a adresovatelný. Na panelu jsou LED diody, které signalizují stav každého kanálu. Kromě diod jsou zde i ovládací tlačítka, pomocí kterých lze měnit stav napěťového výstupu (1V nebo 10V) manuálně a to každý kanál samostatně. 2.3.2 DA2-22M jednotka
Modul určený pro ovládání intenzity světla stmívatelných úsporných zářivek a LED žárovek. Tuto jednotku je také možné použít pro spínání spotřebičů. DA222M obsahuje dva binární vstupy, které umožňují připojení napětí 230V AC (tlačítko, vypínač) a dva polovodičové řízené výstupy 230V AC. Typ světelného zdroje se nastavuje tlačítkem na přední straně přístroje. Také tento modul lze ovládat i manuálně pomocí tlačítek, sloužících pro spínání a vypnutí výstupu. Zabudována je i ochrana, která výstup okamžitě vypne při přehřátí, zkratu a přetížení. 2.3.3 SA2-04M jednotka
Obsahuje 4 nezávislá relé s přepínacím bezpotenciálovým kontaktem. Každý ze čtyř výstupních kontaktů je samostatně ovladatelný a adresovatelný. Stav těchto výstupů signalizují LED diody, které jsou umístěné klasicky na předním panelu modulu. I tuto jednotku lze ovládat manuálně pomocí tlačítek. V modelu inteligentního domu jsou využity dva tyto moduly.
2.4 Osazení inteligentního domu V samotném modelu domu je použito 7 žárovek. Dvě z nich jsou zapojeny na modul LBC-02M, tudíž mají funkci stmívatelných žárovek. Zabudována je i úsporná zářivka, která je napojena na DA2-22M jednotku. Dále je k dispozici ventilátor a čidlo plynu. V praxi je třeba hledět na důsledné umístění těchto prvků. Např. čidlo plynu by mělo být umístěno tak, aby včas reagovalo na únik plynu. 7
Software pro demonstraci funkcí inteligentního domu
Existuje totiž více druhů plynu, některé stoupají vzhůru a některé naopak klesají a drží se u země. Zavedena je i signalizace rolet a garážových vrat pomocí dvou světel na obou místech. Pro zapínání světel a dalších periferií domu je zde k dispozici 6 dvoukanálových vypínačů WSB-20 a dva čtyřkanálové WSB-40. V každém vypínači je zabudována indikační LED dioda, která může např. v noci signalizovat umístění tlačítka. K modelu je připojen i dotykový displej, který s ním komunikuje skrze ethernetový port. Musí tedy mít svoji identitu v ethernetové síti. To znamená vlastní IP adresu a MAC adresu. V našem příkladě tvoří síť PLC jednotka s IP adresou 192.168.134.176, displej s adresou 192.168.134.200 a PC pro správu PLC s IP 192.168.134.123. V síti se používá 16 bitová maska a všechny komponenty jsou propojeny skrze switch. Dotyková obrazovka může sloužit jak k indikaci libovolných proměnných, tak k jejich ovládání.
Obr. 2.2: Osazení inteligentního domu
3 Návrh obslužného softwaru Při návrhu jsme byli poměrně omezeni umístěním prvků. Tento model slouží spíše pro demonstraci a ukázku jazyka programování, než jako věrný model
8
Software pro demonstraci funkcí inteligentního domu
inteligentního domu. Programování probíhalo ve vývojovém prostředí Mosaic, které je téměř dokonalým nástrojem pro programování PLC.
3.1 Volba programovacího jazyka Zásadní otázkou tedy byla volba programovacího jazyka. Nabízí se hned několik možností. Grafické programování v reléových schématech (LD) a funkčních blocích (FBD) a dále dvě textové varianty programovaní (IL, ST). Jazyk LD je charakteristický zejména používáním kontaktů. Kontakty reprezentují vstupní, výstupní nebo vnitřní proměnné. Mezi tyto kontakty se zpravidla umísťují značky funkčních bloků, zejména generátory impulzů do hran nebo čítače a časovače atd.. Tento typ jazyka je obdobou k programovacím jazykům využívaných v elektrotechnice. Jazyk funkčního blokového schématu FBD obsahuje značky funkcí a funkčních bloků, které se vkládají do programu a jsou propojeny spojnicemi. Tento typ jazyka je poměrně přehledný, ovšem ne příliš vhodný pro složitější úlohy. Prvním textovým jazykem je jazyk seznamu instrukcí. Sestavuje se z textových zkratek několika základních instrukcí – tzv. memokódů. Je to obdoba programovacího jazyka typu assembler, kterým se programují mikroprocesory. Typické pro tento typ jazyka je využívání střadače. Jazyk ST neboli strukturovaný text, je poměrně výkonný textový jazyk, který má kořeny v jazycích typu Pascal nebo C. Tento jazyk je vhodný pro vytváření náročných algoritmů a funkčních bloků. Vyzkoušeli jsme všechny varianty a nejvíce nás zaujalo programování ve funkčních blocích, které se zdá být nejlehčí na pochopení a k naší práci bohatě postačí. Udává se však, že v praxi se spíše používá textové programování, které je mnohem pohodlnější při vytváření složitých a komplexních úloh. O tom jsme se přesvědčili později i my. Celkový program začínal být s každým dalším vloženým blokem stále více a více nepřehledný. Museli jsme se zaměřit zejména na správné zvolení názvu funkčního bloku a proměnných. Při realizaci úlohy na opravdovém domě bychom nejspíše zvolili jiný programovací jazyk.
9
Software pro demonstraci funkcí inteligentního domu
3.2 Obslužný software Funkce většiny tlačítek je poměrně jednoduchá a jasná. Stlačením tlačítka nahoře, se žárovky rozsvěcují a tlačítkem dolů zase zhasínají. Takto fungují světla v celém prvním poschodí a světla poblíž garáže. Odlišně jsou naprogramovány žárovky v ložnici a v kuchyni. Tyto žárovky jsou stmívatelné a ovládají se pouze vrchním spínačem. Při krátkém sepnutí se žárovka rozsvítí na 100%. Při opakovaném stisknutí zase zhasne. Při držení tohoto tlačítka stoupá a zase klesá intenzita svícení a dá se tak tedy nastavit žárovku na vyhovující intenzitu svícení. Při následném sepnutí a vypnutí zůstane intenzita zachována. Vypínače mají také zabudovanou LED diodu, která je momentálně nastavená tak, že neustále svítí. V prvním poschodí je nainstalováno větrání v místnosti s WC. Ten je naprogramován tak, že při stisku tlačítka po několik sekund bude provětrávat místnost a poté se sám vypne. V praxi by samozřejmě odsávání mělo trvat trochu déle. Dále je možnost ovládání garážových vrat a rolet, která je však pouze naznačena zeleným a červeným světlem, kde zelené světlo znamená otevírání garáže a vytahování rolet a červené světlo signalizuje zavírání a stahování rolet. Zavírání a otevírání jsme odhadli přibližně na 5 sekund. Po tuto dobu je vypínač nastaven tak, aby se roleta nebo vrata nedala v průběhu zavírání nebo otvírání přepnout do opačného stavu. Čidlo na plyn je dalším programovatelným prvkem. Při zjištění úniku plynu sepne zvukový alarm a všechna světla domu ihned začnou upozorňovat na nebezpečí. Obyčejná světla se s jednosekundovými intervaly rozsvěcí a zhasínají. Stmívače se plynule rozsvěcí a znovu zhasínají. Frekvence tónů zvukového signálu se při úbytku plynu okolo čidla sníží, a když množství plynu okolo čidla klesne pod hranici jeho citlivosti, se tón i světelná signalizace vypínají. Posledním komponentem v modelu je dotyková obrazovka. Ta, jak bylo řečeno v části 2.4 slouží k přístupu na web server PLC jednotky, skrze nějž se dá plc spravovat. Přistupuje se na něj skrze webový prohlížeč zabudovaný v panelu, kde se po zadání IP adresy PLC jednotky objeví žádost o přihlašovací údaje, které jsme nejprve museli nastavit. Po úspěšném přihlášení se konečně na displeji objeví stránka běžící na serveru. V jejím pozadí je foto reálného modelu a v 10
Software pro demonstraci funkcí inteligentního domu
popředí na pozicích vypínačů jsou dvoustavové obrázky zastupující booleanové proměnné tlačítek. Poklepáním na obrázek tedy začne model reagovat stejně jako kdyby by byl ovládán přes fyzická tlačítka, s tím rozdílem, že obrazovka nezaznamenává dobu dotyku, proto se jí nedají ovládat všechny naprogramované prvky, například stmívače. Na místech žárovek jsou podobně dané dvoustavové obrázky zastupující světla. Dotykový panel je tedy využíván, jak k ovládání modelu, tak i k indikaci jeho činnosti.
4 Popis algoritmů 4.1 Jednoduchý algoritmus pro světlo Pro začátek uvedeme náš nejjednodušší algoritmus, tím je světlo ovládané pouze klasickým vypínačem. Zde se využívá jednoduchého SR spínače, který má dominantní funkci set, což znamená, že v případě aktivování obou vstupů má přednost nastavovací vstup. Tento funkční blok nastavuje výstup na log. 1 do té doby, než je vynulován resetovacím vstupem.
Obr. 4.1: Algoritmus pro rozsvícení žárovky
4.2 Světlo ovládané více proměnnými Aby bylo možné ovládat světlo více obvody než jen jedním vypínačem, bylo nutné přidat logické členy OR, které fungují tak, jak nám napovídá český překlad anglického slova or, tedy jeden nebo druhý vstup nastaví výstup. Hradlo OR dostává na výstup logickou jedničku, právě když je alespoň na jeden vstup přivedena log. 1. V našem případě byly použity 2 hradla OR, jedno k ovládání žárovky programem „alarm“ a druhé programem „maketa“, které budou popsány níže.
11
Software pro demonstraci funkcí inteligentního domu
Obr. 4.2: Rozšířený algoritmus pro rozsvícení žárovky
4.3 Ovládání rolet a garážových vrat Na modelu inteligentního domu jsou nainstalovány dvě dvojice světel. Jedny slouží pro signalizaci pohybu rolet a druhé pro signalizaci garážových vrat. Pro naše demonstrační účely byly obě dvojice světel programovány na stejném principu. Při stistku horního tlačítka na vypínači proběhne kontrola, zda se roleta zrovna nezasouvá. Pokud ne, časovač skrze spínač pridrz_1 nastaví světlo signalizující vysouvání na 1. Po uplynutí doby nastavené na časovači (3s) negovaný výstup časovače vyresetuje pridrz_1 a signalizaci vypne. Na stejném principu funguje i zasouvání rolet.
Obr. 4.3: Algoritmus pro signalizaci rolet a garážových vrat
4.4 Alarm Pokud čidlo plynu zaregistruje přítomnost plynu, vyšle jedničkový signál do funkčního bloku fbTick, který každé dvě sekundy vyšle impulz na svůj výstup a tím nastaví vstup časovače. Časovač drždí výstup seplý po dobu 1 sekundy a poté ho vynuluje. Výstup časovače je navázán na proměnnou pomocna_svetlo. Ta je
12
Software pro demonstraci funkcí inteligentního domu
připojena přes hradlo OR ke každému světlu, které má signalizovat nebezpečí přítomnosti plynu.
Obr. 4.4: Algoritmus pro čidlo plynu
4.5 Maketa Program slouží k simulaci přítomnosti obyvatel domu v jejich nepřítomnosti. Při odjezdu z domu mohou obyvatelé stisknout tlačítko ovládající funkční blok RS nazvaný maketa. Tento blok je přímo napojen na obvod vysílající pulzy každých 50 sekund. To je doba, kterou trvá jeden cyklus ochranného systému. Každý pulz vyslaný obvodem zvýší hodnotu čítače, který určuje, jaký obvod má zrovna běžet. Program je totiž připraven tak, že je možné rychle a jednoduše přidat další obvod, aby se v domě nespouštěl stále stejný nápadný cyklus.
Obr. 4.5: Algoritmus, který spouští simulaci pohybu po domě Proměnná obvod1 dále navazuje a spouští předem připravený cyklus. V našem případě jsme zvolili pohyb z přízemí do prvního patra, kde se rozsvicejí a zhasínají
13
Software pro demonstraci funkcí inteligentního domu
světla tak, jakoby to vypadalo, že v domě někdo je. Časové intervaly jsou pouze demonstrační. V reálném domě by bylo zapotřebí ohlídat, aby se světla v domě nerozsvěcela zbytečně v noci apod.
5 Závěr Závěrem bychom rádi zmínili, že PLC v dnešní době neslouží pouze k řízení výrobních linek průmyslu. Důkazem je rozšiřující se trend použití programovatelných automatů právě i v takových odvětví, jako je domáctnost, využití ve vzdálených laboratořích a dalších. V dnešním světe plném komfortu jsou projekty jako právě tento, které se zabývají ovládáním periferií domu pomocí PLC vítány a stále více vyhledávány z důvodů šetření energie, pohodlí a nepřeberného množství variant programů.
14
Software pro demonstraci funkcí inteligentního domu Seznam použité literatury [1]
Tecomat [online]. 2012 [cit. 2012-05-15]. Dostupné z WWW: < http://www.tecomat.com/clanek_676_foxtrot-jako-standardni-plc.html>.
[2]
Tecomat [online]. 2012 [cit. 2012-05-15]. Dostupné z WWW: < http://www.tecomat.com/index.php?ID=388>.
[3]
Inels [online]. 2012 [cit. 2012-05-15]. Dostupné z WWW: < http://www.inels.cz/index.php?sekce=produkty&akce=show&id=120>.
[4]
Inels [online]. 2012 [cit. 2012-05-15]. Dostupné z WWW: < http://www.inels.cz/index.php?sekce=produkty&akce=show&id=89>.
[5]
Inels [online]. 2012 [cit. 2012-05-15]. Dostupné z WWW: < http://www.inels.cz/media/pdf/archiv/navod_WSB-1.pdf>.
[6]
Spszl [online]. 2012 [cit. 2012-05-15]. Dostupné z WWW: < http://www.spszl.cz/soubory/plc/programovani_plc.pdf >.
[7]
Elkoep [online]. 2012 [cit. 2012-05-15]. Dostupné z WWW: < http://eshop.elkoep.cz/da2-22m-----detail-M6O0000101.aspx>.
[8]
Automatizace [online]. 2012 [cit. 2012-05-15]. Dostupné z WWW: < http://www.automatizace.cz/article.php?a=142>.
Poděkování: Tento text vznikl za podpory projektu ESF CZ.1.07/2.2.00/07.0247 Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření. Formát zpracování originálu: titulní list barevně, další listy včetně příloh černobíle. 15