ˇ ´ VYSOKE ´ UCEN ˇ ´I TECHNICKE ´ v Praze CESK E Fakulta elektrotechnick´a Katedra ˇr´ıdic´ı techniky
MODEL DOMOVN´I AUTOMATIZACE Diplomov´a pr´ace
2006
Michal Slez´ak
2
4
Abstrakt Diplomov´a pr´ace se skl´ad´a ze dvou hlavn´ıch ˇc´ast´ı. Prvn´ı ˇc´ast popisuje n´avrh a hardwarovou realizaci ovl´ad´an´ı termohlavice pro s´ıt’ LonWorks, realizaci centr´aln´ıho vyt´apˇen´ı, n´avrh a implementaci regulaˇcn´ıch algoritm˚ u pro kotel, sol´arn´ı panel a integraci cel´eho syst´emu do modelu administrativn´ı budovy pomoc´ı softwarov´eho n´astroje LonMaker. Druh´a ˇc´ast se vˇenuje vizualizaci administrativn´ı budovy. Hlavn´ım v´ ysledkem je dynamick´ y virtu´aln´ı model budovy v bˇeˇzn´em webov´em prohl´ıˇzeˇci s vyuˇzit´ım VRML, jazyka Java a spojen´ı t´eto virtu´aln´ı reality s re´aln´ ym modelem skrze LNS server a komunikaˇcn´ı rozhran´ı Javy.
Abstract This diploma thesis consists of two main topics. In the first one is described design and HW realization of the heater control head for the LonWorks network, realization of the central heating, design and implementation of the regulation algorithms for furnace and solar panel and integration of the whole system to the model of automation building through use of the LonMaker SW tool. Second part deals with visualization of the automated building. Major goals were to bring a live virtual model of the building to common web browser using VRML and Java languages and connect this virtual reality with real model via LNS server and Java socket communication.
I
Podˇ ekov´ an´ı Chtˇel bych podˇekovat vˇsem, kdo mi pˇri vzniku t´eto pr´ace pom´ahali. Jmenovitˇe Ing. Martinu Linhartovi, vedouc´ımu m´e diplomov´e pr´ace za cenn´e rady pˇri jej´ı tvorbˇe, Ing. Pavlu Burgetovi pˇri konzultaci s realizac´ı diplomov´e pr´ace, Ing. Ondˇreji Dolejˇsovi za bezednou shov´ıvavost pˇri ˇreˇsen´ı probl´em˚ u bˇehem m´e diplomov´e pr´ace t´ ykaj´ıc´ıch se PLC Wago, Ing. Bohuslavu Kirchmanovi za rady pˇri realizaci otopn´eho syst´emu v moˇ delu administrativn´ı budovy. D´ale topen´aˇrsk´e firmˇe Cervinka, jmenovitˇe panu Heroutovi za praktick´e rady pˇri n´avrhu otopn´eho syst´emu. Dˇekuji t´eˇz Ing. Michalu Schoberovi pˇri kontrole diplomov´e pr´ace. Nemenˇs´ı d´ıky patˇr´ı rodiˇc˚ um a m´e pˇr´ıtelkyni za podporu a trpˇelivost pˇri m´em studiu. Zvl´aˇstˇe dˇekuji za jejich trpˇelivost pˇri psan´ı t´eto diplomov´e pr´ace.
II
Obsah ´ 1 Uvod
1
2 LonWorks
3
2.1
2.2
2.3
2.4
2.5
´ Uvod do technologie LonWorks . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1.1
Technologie LonWorks . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1.2
Neuron Chip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1.3
Programovac´ı jazyk Neuron C . . . . . . . . . . . . . . . . . . . . .
8
2.1.4
V´ yvojov´e prostˇred´ı Node Builder . . . . . . . . . . . . . . . . . . .
9
Vhodn´e zaˇr´ızen´ı pro nod . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.2.1
V´ ybˇer technologie . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.2.2
Zvolen´a termohlavice . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Konstrukce LonWorks nodu . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.3.1
Nap´ajec´ı ˇc´ast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.3.2
Procesorov´a ˇc´ ast . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.3.3
V´ ykon´a ˇc´ast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.3.4
Softwarov´a ˇc´ ast . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.3.5
Pˇrepnut´ı reˇzimu komunikace
. . . . . . . . . . . . . . . . . . . . .
14
Regul´ator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.4.1
Vhodn´e ovl´ad´ an´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.4.2
Softwarov´e ovl´ad´an´ı . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.4.3
Skokov´ y regul´ator . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.4.4
Diferenˇcn´ı regul´ator . . . . . . . . . . . . . . . . . . . . . . . . . .
17
Zapojen´ı nodu termohlavice a Wago do s´ıtˇe LonWorks . . . . . . . . . . .
17
2.5.1
Node Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.5.2
Termohlavice v s´ıti LonWorks . . . . . . . . . . . . . . . . . . . . .
18
3 VRML a internetov´ a prezentace
19
´ Uvod do VRML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.1.1
Technologie VRML . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
3.1.2
Koncept VRML modelu . . . . . . . . . . . . . . . . . . . . . . . .
28
3.1.3
Struˇcn´e vyuˇzit´ı a potenci´al . . . . . . . . . . . . . . . . . . . . . .
32
3.2
Abstrakce modelu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
3.3
Realizace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
3.1
III
3.4
3.5
3.6
3.7
3.3.1
Konstrukce z knihoven . . . . . . . . . . . . . . . . . . . . . . . . .
33
3.3.2
Spojen´ı jednotliv´ ych komponent . . . . . . . . . . . . . . . . . . .
33
3.3.3
Dynamick´e VRML . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
Java ve VRML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
3.4.1
Zakomponov´an´ı Javy do VRML . . . . . . . . . . . . . . . . . . .
38
3.4.2
Konstrukce java tˇr´ıd pro virt´aln´ı svˇet . . . . . . . . . . . . . . . .
40
3.4.3
Ovl´ad´an´ı modelu pomoc´ı Javy . . . . . . . . . . . . . . . . . . . .
40
VRML a realn´ y model administrativn´ı budovy . . . . . . . . . . . . . . .
44
3.5.1
Java komponenty firmy Echelon
. . . . . . . . . . . . . . . . . . .
44
3.5.2
Proces komunikace mezi virtu´aln´ım a re´aln´ ym svˇetem . . . . . . .
44
Cortona VRML prohl´ıˇzeˇc . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
3.6.1
Popis prohl´ıˇzeˇce . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
3.6.2
Ovl´ad´an´ı prohl´ıˇzeˇce . . . . . . . . . . . . . . . . . . . . . . . . . .
45
3.6.3
Dalˇs´ı alternativn´ı prohl´ıˇzeˇce VRML svˇet˚ u . . . . . . . . . . . . . .
46
Webov´ y port´al . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
3.7.1
Redakˇcn´ı syst´em . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
3.7.2
Rozvoj webov´eho port´alu . . . . . . . . . . . . . . . . . . . . . . .
48
4 Otopn´ y syst´ em 4.1
4.2
4.3
4.4
49
´ Uvod do problematiky vyt´apˇen´ı objekt˚ u . . . . . . . . . . . . . . . . . . .
49
4.1.1
Vyt´apˇen´ı budov
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.1.2
Tepeln´e zdroje . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.1.3
Tepeln´e ztr´aty . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
Vybran´e otopn´e syst´emy . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
4.2.1
Elektrokotel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
4.2.2
Sol´arn´ı kolektor . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
4.2.3
Vyt´apˇen´ı radi´ atory . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
Tepeln´e ztr´aty modelu . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
4.3.1
Materi´aly pro v´ ypoˇcet tepeln´ ych ztr´at modelu . . . . . . . . . . .
53
4.3.2
V´ ypoˇcet tepeln´ ych ztr´at . . . . . . . . . . . . . . . . . . . . . . . .
53
Realizace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
4.4.1
Konstrukce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
4.4.2
Otopn´a tˇelesa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
4.4.3
Elektrick´a konstrukce . . . . . . . . . . . . . . . . . . . . . . . . .
55
IV
4.4.4 4.5
Pouˇzit´e ovl´adac´ı prvky . . . . . . . . . . . . . . . . . . . . . . . . .
56
Regul´ator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
4.5.1
Hardware pro regul´ator . . . . . . . . . . . . . . . . . . . . . . . .
56
4.5.2
Software regul´atoru . . . . . . . . . . . . . . . . . . . . . . . . . .
57
4.5.3
Tepeln´e okruhy . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
5 Z´ avˇ er
60
A Dokumentace LonWorks
63
A.1 Elektrick´a zapojen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
A.1.1 Procesorov´a ˇc´ ast . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
A.1.2 Ovl´adac´ı ˇc´ast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
A.2 Seznam souˇc´astek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
A.2.1 Procesorov´a ˇc´ ast . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
A.2.2 Ovl´adac´ı ˇc´ast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
B Pouˇ zit´ e zkratky
66
C Sch´ emata
67
C.1 VRML model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
C.2 Tepeln´a ˇc´ast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
D Pr˚ uvodci
71
D.1 LonMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
D.2 Pˇrid´an´ı zaˇr´ızen´ı v LonMakeru . . . . . . . . . . . . . . . . . . . . . . . . .
75
D.3 Pˇrid´an´ı funkˇcn´ıho bloku v LonMakeru . . . . . . . . . . . . . . . . . . . .
80
D.4 Implementace programu do Neuron chipu . . . . . . . . . . . . . . . . . .
81
D.5 Wago Toplon-prio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
D.6 Wago-IO-Pro 32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
D.7 IPlongate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 E Obsah pˇ riloˇ zen´ eho DVD
105
V
Seznam tabulek 1
Rozdˇelen´ı spotˇreby elektrick´e energie v dom´acnostech. . . . . . . . . . . .
1
2
ISO/OSI vrstvy implementovan´e v protokolu LonTalk v s´ıt’i LonWorks . .
3
3
Popis Neuronchipu TMPN3120FE3M od Toshiby . . . . . . . . . . . . . .
6
VI
1
MODEL ADMINISTRATIVN´I BUDOVY
´ Uvod
1
V dneˇsn´ı dobˇe, kdy ceny vˇsech bˇeˇzn´ ych energi´ı st´ale rostou, je st´ale d˚ uleˇzitˇejˇs´ı jejich u ´spora. Pod´ıv´ame-li se podrobnˇeji na spotˇrebu energie, zjist´ıme, ˇze v dom´acnostech, firm´ach ˇci v kancel´aˇr´ıch je nejvˇetˇs´ı ˇc´ast energie spotˇrebov´ana na vyt´apˇen´ı objekt˚ u. N´ıˇze uveden´a tabulka dokl´ad´a rozloˇzen´ı spotˇreby elektrick´e energie. Zdroj informac´ı www.Infoenergie.cz [1]. Parametr Vyt´apˇen´ı Ohˇrev tepl´e uˇzitkov´e vody Pˇr´ıprava stravy Chlazen´ı a mraˇzen´ı potravin Pran´ı a ˇzehlen´ı pr´adla Osvˇetlen´ı Ostatn´ı energie
Hodnota 57 22 7 5 4 2 3
Jednotka % % % % % % %
Tabulka 1: Rozdˇelen´ı spotˇreby elektrick´e energie v dom´acnostech. Z tohoto d˚ uvodu se pro vyt´apˇen´a nasazuj´ı energeticky ˇsetrn´a zaˇr´ızen´ı. Poˇzadavkem na technologii ˇr´ızen´ı je automatizace mnoha rozliˇcn´ ych proces˚ u a jejich optimalizace. D˚ uleˇzitou podm´ınkou souvisej´ıc´ım s prudk´ ym rozvojem internetu je kontrola procesu pˇres internet ˇci vnitropodnikovou poˇc´ıtaˇcovou s´ıt’. Vedle alternativn´ıch zdroj˚ u energi´ı smˇeˇruje v´ yvoj v t´eto oblasti k jej´ı u ´spoˇre resp. k optim´aln´ımu ˇr´ızen´ı cel´eho objektu podle aktu´aln´ıch poˇzadavk˚ u. Z tohoto d˚ uvodu je nezbytn´e, aby ˇcidla a akˇcn´ı ˇcleny vz´ajemnˇe komunikovaly. V souˇcasn´e dobˇe je na trhu v´ıce druh˚ u technologi´ı. Jednou z nich je i s´ıt’ LonWorks americk´e firmy Echelon. LonWorks neslouˇz´ı pouze k u ´spoˇre energi´ı, ale i k celkov´e automatizaci rozliˇcn´ ych ˇcinnost´ı. Vzhledem k sv´emu charakteru nach´az´ı sv´e hlavn´ı uplatnˇen´ı v domovn´ı automatizaci. Proto byla zvolena jako nosn´a ˇc´ast automatizace modelu administrativn´ı budovy. Ovl´ad´an´ı pˇres internetov´e rozhran´ı je realizov´ano pomoc´ı softwaru firmy Axeda1 . y standard. To umoˇzn ˇuje Firma Echelon poskytuje sbˇernici LON2 jako otevˇren´ v´ yrobc˚ um snadn´ y v´ yvoje zaˇr´ızen´ı od mˇeˇren´ı tepla, intentzity svˇetla pˇres regul´atory aˇz po inteligentn´ı ovl´adac´ı prvky. K jejich v´ yvoji slouˇz´ı n´astroj NodeBuilder v´ yˇse uveden´e firmy Echelon. Dalˇs´ı organizac´ı u ´zce spojenou s technologi´ı LonWorks je Lonmark, kter´ a se star´a o standardizaci objekt˚ u jednotliv´ ych typ˚ u zaˇr´ızen´ı. Tato standardizace umoˇzn ˇuje vz´ajemnou bezprobl´emovou komunikaci zaˇr´ızen´ı od r˚ uzn´ ych v´ yrobc˚ u. Diplomovou pr´aci lze rozdˇelit do tˇrech vˇetˇs´ıch celk˚ u, kter´e jsou v n´asleduj´ıc´ıch kapitol´ach hloubˇeji rozebr´any. Prvn´ı kapitola pojedn´av´a o technologii LonWorks a modulu pro ovl´ad´an´ı radi´atoru, kter´ y byl vytvoˇren v r´amci diplomov´e pr´ace. Druh´a kapitola se vˇenuje virtu´aln´ımu svˇetu vytvoˇren´emu pomoc´ı technologie VRML (V irtual Reality M odeling Language), kter´a je zakomponov´ana v bˇeˇzn´em webov´em prohl´ıˇzeˇci. VRML pomoc´ı programovac´ıho jazyka Java ovlivˇ nuje jak samotn´ y virtu´aln´ı svˇet, tak i re´ aln´ y model administrativn´ı budovy v laboratoˇri ˇr´ıd´ıc´ı techniky. Kapitola d´ale obsahuje popis 1
Axeda je softwarov´ y bal´ıˇcek, kter´ y obsahuje softwarov´e PLC, programovac´ı prostˇred´ı, vizualizaci vˇcetnˇe generov´ an´ı webov´ ych str´ anek a webov´ y server zaloˇzen´ y a vytvoˇren´ y v jazyce Java 2 LON je zkratka pro Local Operating Network
MODEL ADMINISTRATIVN´I BUDOVY
2
webov´e prezentace cel´e administrativn´ı budovy. Posledn´ı kapitola se vˇenuje otopn´emu syst´emu cel´eho domu. Typ˚ um zdroje tepla, topn´ ym tˇeles˚ um, regul´ator˚ um a ovl´adac´ım prvk˚ um um´ıstˇen´ ych v domˇe. Souˇc´ast´ı pr´ace je pˇriloˇzen´e DVD, kter´e obsahuje sch´emata elektroinstalace, tepeln´ ych rozvod˚ u, katalogov´e listy, vˇsechny potˇrebn´e informace k administrativn´ı budovˇe, rejstˇr´ık zkratek, veˇsker´e prezentace.
3
MODEL ADMINISTRATIVN´I BUDOVY
2
LonWorks
2.1 2.1.1
´ Uvod do technologie LonWorks Technologie LonWorks
Technologie LonWorks je decentralizovanou s´ıt´ı a je urˇcena prim´arnˇe pro nasazen´ı v automatizaci budov. Nasasen´ı je d´ano jej´ım principem, pˇrenosovou rychlost´ı a v neposledn´ı ˇradˇe i zp˚ usobem pˇrenosu informace. LonWorks umoˇzn ˇuje pˇrenos pomoc´ı radiov´ ych vln, m˚ uˇze vyuˇz´ıt i nap´ajec´ı veden´ı a mnoho dalˇs´ıch pˇrenosov´ ych m´edi´ı. Proto nen´ı fyzick´ a vrstva v ISO/OSI modelu LonWorks definov´ana.
7 6 5 4 3 2 1
OSI vrstva Aplikaˇcn´ı Prezentaˇcn´ı Relaˇcn´ı Transportn´ı S´ıt’ov´a Linkov´a Fyzick´a vrstva
´ cel Uˇ Aplikaˇcn´ı kompatibilita Interpretace dat Vzd´alen´e funkce Zajiˇstˇen´ı spolehlivosti spojen´ı C´ılov´e adresov´an´ı Pˇr´ıstup k m´ediu a r´amcov´an´ı Elektrick´e spojen´ı
Tabulka 2: ISO/OSI vrstvy implementovan´e v protokolu LonTalk v s´ıt’i LonWorks Pro svoji rychlost, kter´a je z´avisl´a na zvolen´em pˇrenosov´em m´ediu, je vhodn´ a pˇredevˇs´ım pro automatizaci budov, kde se nevyˇzaduje kritick´a doba odezvy. Cel´ a s´ıt’ je koncipov´ana jako voln´a topologie.
Obr´azek 1: Uk´azky topologi´ı s´ıtˇe LonWorks
MODEL ADMINISTRATIVN´I BUDOVY
4
S´ıt’ umoˇzn ˇuje velmi komfortn´ı spojen´ı dvou ˇci v´ıce zaˇr´ızen´ı pomoc´ı SNVT3 promˇenn´ ych. Ty umoˇzn ˇuj´ı snadnou v´ ymˇenu dat aniˇz by program´ator musel zajiˇst’ovat jejich distribuci. Jsou to softwarov´a spojen´ı uvnitˇr fyzick´e s´ıtˇe.
Obr´azek 2: Ilustrace spojen´ı s´ıt’ov´ ych SNVT promˇenn´ ych um´ıstˇen´ ych ve dvou zaˇr´ızen´ıch.
Vˇsechny SNVT promˇenn´e jsou objekty, kter´e urˇcuj´ı o jakou fyzik´aln´ı veliˇcinu se jedn´a, je zad´an jej´ı rozsah a pˇresnost. Distribuce tˇechto promˇenn´ ych je zajiˇstˇena pomoc´ı smˇerovac´ıch tabulek zapsan´ ych do zaˇr´ızen´ı pˇri konfiguraci cel´e s´ıtˇe. V kaˇzd´e tabulce je uvedeno na jak´e zaˇr´ızen´ı se budou odes´ılat v´ ystupn´ı promˇenn´e a odkud se budou vstupn´ı promˇenn´e ˇc´ıst. Cel´a funkcionalita je zajiˇstˇena speci´aln´ım procesorem s pro program´atora je tato ditribuce transparentn´ı. Pro v´ yvoj´aˇre je velkou v´ yhodou, ˇze LonWorks je otevˇren´ y syst´em, kter´ y umoˇzn ˇuje velice jednoduchou v´ ymˇenu informac´ı mezi v´ yrobky jin´ ych firem. Umoˇzn ˇuj´ı to standardizovan´e profily. Kaˇzd´ y typ ˇci druh v´ yrobku urˇcen´eho pro provoz v s´ıti LonWorks m´a definov´an jak´e m´a m´ıt vstupy a v´ ystupy. Z tohoto d˚ uvodu je jednoduch´e stejn´e typy v´ yrobk˚ u vymˇenit bez nutnosti z´asahu v topologii s´ıtˇe, v programu ˇci konfiguraci. O dodrˇzov´an´ı stanoven´ ych norem a rozvoj profil˚ u se star´a organizace Lonmark. Jedn´a se o organizaci sdruˇzuj´ıc´ı v´ yznamn´e v´ yrobce zab´ yvaj´ıc´ı se v´ yvojem zaˇr´ızen´ı pro LonWorks. Mezi zn´am´e ˇcleny patˇr´ı Honeywell Inc., Fuji Electric Co. Ltd., LOYTEC electronics GmbH atp. Dalˇs´ı informace [2]. Vˇse co se t´ yk´a LonWorks je dobˇre dokumentov´ano. Na internetu je veˇsker´a potˇrebn´a dokumentace nab´ızena ke staˇzen´ı zdarma. Jistou v´ yhodou i nev´ yhodou t´eto koncepce je, ˇze LonWorks se mus´ı pˇri fyzick´e rekonfiguraci, t´eˇz rekonfigurovat i v tabulk´ach dotˇcen´ ych zaˇr´ızen´ı. Virtu´aln´ı s´ıtˇe spojen´ı SNVT promˇenn´ ych se fyzick´a rekonfigurece nedot´ yk´a a proto nen´ı potˇreba pˇrepisovat k´od aplikace. Ke konfiguraci s´ıtˇe se vyuˇz´ıt konfiguraˇcn´ıch n´astroj˚ u. Bˇeˇznˇe vyuˇz´ıvan´ ym n´astrojem pro konfiguraci s´ıtˇe je program LonMaker zmiˇ novan´e dˇr´ıve firmy Echelon. Tento program vyuˇz´ıv´a Microsoft Visio. V nˇem jsou zabudov´ana makra, z´asn´e moduly pro konfiguraci a pr´aci se s´ıt´ı LonWorks. 3
SNVT je zkratka pro Standart Network Variable Type
MODEL ADMINISTRATIVN´I BUDOVY
5
Obr´azek 3: Ilustraˇcn´ı obr´azek prostˇred´ı LonMaker
Uˇzivatelsk´e programy vˇcetnˇe konfigurace s´ıtˇe se daj´ı do nod˚ u4 distribuovat pomoc´ı LonWorks. To umoˇzn ˇuje z jedin´eho bodu v s´ıti spravovat a konfigurovat celou s´ıt’. Pro spr´avnou identifikaci maj´ı vˇsechny nody v s´ıti celosvˇetovˇe unik´atn´ı adresu naz´ yvanou Neuron ID ( lze pˇrirovnat k MAC5 adrese v s´ıti Ethernet). Tento identifik´ator je vloˇzen v´ yrobcem pˇri v´ yrobˇe procesoru. Nod po stisku servisn´ıho tlaˇc´ıtka vys´ıl´a do s´ıtˇe sv´e Neuron ID, aby bylo moˇzn´e zaˇr´ızen´ı identifikovat v s´ıti a n´aslednˇe nakonfigurovat nebo nahr´at program. 2.1.2
Neuron Chip
Kaˇzd´e zaˇr´ızen´ı v s´ıti LonWorks se naz´ yv´a nod. Vzhledem k tomu, ˇze LonWorks je decentralizovan´a s´ıt’, je uvnitˇr kaˇzd´eho nodu um´ıstˇen procesor a spojen´ı se s´ıt´ı zajiˇst’uje tzv. transceiver (v naˇsem pˇr´ıpadˇe FTT-10A). Nod minim´alnˇe obsahuje Neuron chip, pˇr´ısluˇsn´ y transceiver, pamˇet’ a ovl´adan´e zaˇr´ızen´ı. V´ yvoj procesor˚ u zajiˇst’uje mateˇrsk´a firma Echelon. V´ yrobu procesor˚ u zajiˇst’uje v´ıce v´ yrobc˚ u napˇr´ıklad Toshiba, Motorola a dalˇs´ı. 4 5
Nod je zaˇr´ızen´ı zapojen´e do s´ıtˇe LonWorks, schopn´e komunikovat s touto s´ıt’´ı Media Access Control
6
MODEL ADMINISTRATIVN´I BUDOVY
Obr´azek 4: Vytvoˇren´ y nod pro termohlavici pro LonWorks
Neuron chip je sloˇzen ze tˇrech 8 bitov´ ych procesor˚ u. Prvn´ı procesor obstar´av´a pˇr´ıstup na m´edium. Druh´ y zajiˇst’uje s´ıt’ov´ y provoz, autorizace, spr´avu s´ıt’ov´ ych promˇenn´ ych, ˇr´ızen´ı paket˚ u aj. Tˇret´ı procesor obsluhuje uˇzivatelsk´e aplikace a t´eˇz operaˇcn´ı syst´em v nˇem zabudovan´ y. Podrobnˇejˇs´ı popis a funkce procesoru jsou v [10]. Neuron chipy se daj´ı rozdˇelit do dvou skupin. Procesory ˇrady 3120 neumoˇzn ˇuj´ı pˇripojen´ı extern´ı pamˇeti, obsahuj´ı RAM, ROM a EEPROM. V pˇr´ıpadˇe EEPROM je poˇcet pˇrepis˚ u omezen pˇribliˇznˇe na 10000 z´apis˚ u. Vestavˇen´ y operaˇcn´ı syst´em hl´ıd´a jak´a data se zapisuj´ı do pamˇeti EEPROM a pokud jsou shodn´a, nedojde k jejich z´apisu. T´ım se v´ yraznˇe omez´ı poˇcet pˇrepis˚ u. Oproti ’ ˇradˇe 3150 jeˇstˇe nav´ıc obsahuje pamˇet ROM, kde je uloˇzena obsluha komunikaˇcn´ıho protokolu LonTalk, knihovnu funkc´ı a TaskScheduler6 . Druh´a skupina procesor˚ u ˇrady 3150 ’ ’ umoˇzn ˇuje pˇripojit extern´ı pamˇet typu EEPROM. Tato pamˇet obsahuje uˇzivatelskou aplikaci, data a firmware procesoru. Bliˇzˇs´ı popis typ˚ u a vyuˇzit´ı pamˇet´ı je uvedeno v [10]. ˇ asti Neuron chipu C´ CPU RAM ROM EEPROM 16-bit ˇcasovaˇc / ˇc´ıtaˇc Rozhran´ı pro pˇripojen´ı ext. pamˇeti Pouzdro Maxim´aln´ı frekvence
TMPN3120FE3M 8-bit CPU(3) 2,048 byt˚ u 16,384 byt˚ u 2,048 byt˚ u 2-kan´alov´ y Neobsahuje 32-pin SOP 20MHz
Tabulka 3: Popis Neuronchipu TMPN3120FE3M od Toshiby Vnitˇrn´ı struktura Neuron chipu je uvedena na obr´azku [5]. V´ ymˇena dat mezi tˇremi 6
TaskScheduler je jednoduch´ y operaˇcn´ı syst´em pro ˇr´ızen´ı u ´d´ alost´ı
MODEL ADMINISTRATIVN´I BUDOVY
7
procesory je zprostˇredkov´ana pˇres dva z´asobn´ıky. Procesor pro pˇr´ıstup na m´edium je spojen pˇres s´ıt’ov´ y z´asobn´ık se s´ıt’ov´ ym procesorem. S´ıt’ov´ y procesor pˇrij´ıma a vys´ıl´ a data pˇres aplikaˇcn´ı z´asobn´ık. V pamˇeti je jiˇz zabudov´an jednoduch´ y operaˇcn´ı syst´em a ˇrada pˇreddefinovan´ ych funkc´ı. Z tohoto d˚ uvodu nen´ı nutn´e programovat komunikaci na sbˇernici. Vˇse je zajiˇstˇeno s´ıt’ov´ ym a sbˇernicov´ ym MAC7 procesorem. Program´ ator m´a u ´lohu lehˇc´ı a m˚ uˇze se plnˇe vˇenovat uˇzivatelsk´emu programu. Operaˇcn´ı syst´em podle programov´eho k´odu uk´ad´a konfiguraˇcn´ı a programov´e promˇenn´e do pamˇeti RAM ˇci do EEPROM pˇri pouˇzit´ı speci´aln´ıch instrukc´ı. Samotn´ y program se ukl´ad´a jako vytvoˇren´ y obraz programu od kompil´atoru do pamˇeti EEPROM. Pamˇet’ RAM slouˇz´ı k z´apisu promˇenn´ ych u kter´ ych se pˇrepokl´ad´a rychl´ y pˇrepis jejich hodnot. Pokud by se vyuˇzilo pamˇeti EEPROM dojde k rychl´emu vyˇcerp´an´ı poˇctu pˇrepisovac´ıch cykl˚ u a pamˇet pˇrestane fungovat. Pomoc´ı speci´aln´ıch direktiv v programovac´ım jazyce Neuron C je moˇzn´e zapsat promˇennou do pamˇeti EEPROM. Mezi vestavˇen´e funkce v operaˇcn´ım syst´emu patˇr´ı i autorizace pomoc´ı 64 bitov´e ˇsifry. V´ yznamn´ y vliv na funkci procesoru m´a TaskScheduler, protoˇze Neuron chip pracuje podobnˇe jako PLC v periodicky se opakuj´ıc´ıch cyklech. Vˇsechny ud´alosti jsou obsluhov´any tak, jak ukazuje obr´azek [6]. Pokud je Neuron chip po resetu ˇci je zapnut elektrick´ y proud, dojde k inicializaci. Po inicializaci jsou vˇsechny u ´koly (tasks) uvedeny do v´ ychoz´ıho nastaven´ı. N´asleduj´ı ud´alosti podle jejich d˚ uleˇzitosti. Provede se reakce na ud´alost offline a wink. N´asleduj´ı prioritn´ı ud´alosti. Na z´avˇer se prov´ad´ı bˇeˇzn´e ud´alosti. Pokud nenastane ˇz´adn´a ud´alost, z˚ ustane v nekoneˇcn´e smyˇcce neˇz nastane ud´alost, kterou obslouˇz´ı a pot´e zaˇcne cel´ y cyklus znovu. Podle toho je pˇrizp˚ usoben i programovac´ı jazyk resp. pˇr´ıstup k obsluze tˇechto ud´alost´ı pomoc´ı funkc´ı a direktiv. Bliˇzˇs´ı popis je uveden v kapitole 2.1.3.
Obr´azek 5: Vnitˇrn´ı struktura Neuron chipu 7
MAC - (Medium Access Control) ˇr´ızen´ı pˇr´ıstupu k pˇrenosov´emu m´ediu
MODEL ADMINISTRATIVN´I BUDOVY
8
Obr´azek 6: Pracovn´ı scan cyklus Neuron chipu
2.1.3
Programovac´ı jazyk Neuron C
Samotn´ y programovac´ı jazyk Neuron C sje odvozen od jazyka ANSI C, ovˇsem je upraven pro funkce a fungov´an´ı Neuron chipu. Programov´an´ı pomoc´ı Neuron C umoˇzn ˇuje rychlejˇs´ı v´ yvoj aplikac´ı neˇz programov´an´ı u jednoduˇsˇs´ıch procesor˚ u, kde se pouˇz´ıv´a pˇrev´aˇznˇe assambler. Lze vyuˇz´ıt t´emˇeˇr vˇsech znalost´ı z jazyka ANSI C. Objekty Neuron C neobsahuje, ale obsahuje moˇznost vytv´aˇren´ı tˇr´ıd. Neuron C poskytuje dalˇs´ı funkce nezbytn´e pro pr´aci s LonWorks ˇci v´ ypoˇcty. Nev´ yhodou Neuron C je omezenˇejˇs´ı reperto´ar datov´ ych typ˚ u neˇz jak´e zn´ame z ANSI C a t´eˇz v´ ypoˇcet s desetinou ˇc´arkou nen´ı jednoduch´ y. Jedn´ a
MODEL ADMINISTRATIVN´I BUDOVY
9
se o vyuˇzit´ı funkc´ı pro pˇrevod do form´atu desetinn´ ych ˇc´ısel a n´asledn´e dˇelen´ı. Vyuˇz´ıv´ a se pˇri tom tˇr´ıdy pro v´ ypoˇcty s desetinou teˇckou. Bliˇzˇs´ı informace jsou v [14]. T´eˇz pr´ ace s ud´alostmi je jin´a. Vzhledem k pr´aci Task Scheduleru je kaˇzd´a funkce spouˇstˇena aˇz ud´alost´ı, kterou program´ator vybere. Lze ˇr´ıci, ˇze se jedn´a o ud´alostmi ˇr´ızen´ y procesor. N´asleduj´ıc´ı pˇr´ıklad ukazuje spuˇstˇen´ı funkce pˇrepnut´ı led diody pˇri ud´alosti uplynut´ı nastaven´e doby ˇcasovaˇce:
when ( timer_expires( timer_blink ) ) { switch_service_pin(); }
void switch_service_pin(void) { if(state_pin!=OFF) { state_pin=OFF; activate_service_led = FALSE; } else { state_pin=ON; activate_service_led = TRUE; } }
Kdyˇz nastane ud´alost uplynut´ı ˇcasu nastaven´eho na ˇcasovaˇci timer_blink, je odchycena pomoc´ı timer_expires, kter´a je v podm´ınce when. Nejˇcastˇeji se reaguje na ud´alosti nov´e hodnoty promˇenn´e pomoc´ı nv_update_occurs(jm´ eno promˇ enn´ e), na ud´alost reset when (reset) a na ud´alost wink when (wink). Wink je ud´alost, kter´a slouˇz´ı k indetifikaci zaˇr´ızen´ı. Napˇr´ıklad pokud je nˇekolik zaˇr´ızen´ı vedle sebe a nutnu zjistit jak´e zaˇr´ızen´ı s dan´ ym Neuron ID je to spr´avn´e. Vyvol´a se nˇejak´ ym programem ud´alost wink pro zaˇr´ızen´ı s potˇrebn´ ym Neuron ID a dan´e zaˇr´ızen´ı se podle uveden´e funkce u ud´alosti wink projev´ı. Vytvoˇren´ y nod v r´amci diplomov´e pr´ace rozsv´ıt´ı nepˇreruˇsovanˇe ˇcervenou led diodu po dobu 5 vteˇrin po vyvol´an´ı ud´alosti wink. 2.1.4
V´ yvojov´ e prostˇ red´ı Node Builder
Cel´e v´ yvojov´e prostˇred´ı urˇcen´e pro v´ yvoj softwaru a test hardwaru pro nody v s´ıti LonWorks se naz´ yv´a Node Builder. Jedn´a se o samotn´e programovac´ı prostˇred´ı, testovac´ı zaˇr´ızen´ı obsahuj´ıc´ı Neuron chip ˇrady 3150, kartu do ISA slotu pro spojen´ı s testovac´ım nodem a manu´aly. Samotn´ y testovac´ı nod je Neuron chip s procesorem 3150 a 16k RAM pro test programu. V´ yhodou toho typu procesoru je vˇetˇs´ı pamˇet’ RAM, kter´a umoˇzn ˇuje testovat program bez nutnosti z´apisu do pamˇeti EEPROM. V´ ystup vˇsech pin˚ u Neuron chipu je vyveden na konektor. Na tento konektor je pˇripojen ploch´ y kabel. Na boku
MODEL ADMINISTRATIVN´I BUDOVY
10
boxu ve kter´em je samotn´ y nod um´ıstˇen jsou dvˇe LED diody pro r˚ uzn´e funkce. D´ ale cel´e prostˇred´ı obsahuje kartu do ISA slotu v poˇc´ıtaˇci. Karta prim´arnˇe obsahuje transceiver FTT-10A na rozˇsiˇruj´ıc´ı desce. Pro pˇrepnut´ı komunikace Neuron chipu byla pouˇzita rozˇsiˇruj´ıc´ı karta s diferenˇcn´ım m˚ ustkem pro komunikaci v diferenˇcn´ım m´odu. Z´avˇerem cel´e obsahuje i samotn´e programovac´ı prostˇred´ı, kter´e umoˇzn ˇuje nahr´at jednotliv´e programy do procesoru, v´ ybˇer transceiveru, rychlosti pˇrenosu a mnoho dalˇs´ıch funkc´ı pˇri pˇrekladu programu. Programovac´ı prostˇred´ı neobsahuje debugovac´ı n´astroj a proto je potˇreba vˇsechny testy programov´eho k´odu prov´adˇet pomoc´ı signalizace na uveden´ ych LED diod´ach.
Obr´azek 7: Ilustraˇcn´ı obr´azek prostˇred´ı Node Builderu
2.2 2.2.1
Vhodn´ e zaˇ r´ızen´ı pro nod V´ ybˇ er technologie
Pro spr´avnou funkci nodu je tˇreba vybrat i vhodn´e zaˇr´ızen´ı k ovl´ad´an´ı ventilu radi´atoru. Z dostupn´ ych technologi´ı na trhu bylo nutn´e rozhodnout, zda zvolit ovl´ad´an´ı typu ˇ ˇ OTEVRENO/ZAVRENO ˇci postupn´e uzav´ır´an´ı umoˇzn ˇuj´ıc´ı nastavit ventil do pootevˇren´eho stavu. Vhodnˇejˇs´ı bylo postupn´e uzav´ır´an´ı. Vybran´ y zp˚ usob ovl´ad´an´ı nab´ız´ı motorov´ y ˇci termokeramick´ y pohon. S ohledem na spotˇrebu proudu byl vybr´an termokeramick´ y pohon, kter´ y funguje na principu rozp´ın´an´ı keramick´e hmoty pˇri jej´ım zahˇr´ıv´ an´ı pomoc´ı tranzistoru um´ıstˇen´eho na jej´ım povrchu.
MODEL ADMINISTRATIVN´I BUDOVY
11
Obr´azek 8: Fotografie vytvoˇren´eho nodu s termohlavic´ı
2.2.2
Zvolen´ a termohlavice
Cel´a termohlavice je vybavena velmi jednoduchou elektronikou um´ıstˇenou na desce mal´ ych rozmˇer˚ u um´ıstˇen´e bl´ızko jej´ı vˇetrac´ı mˇr´ıˇzky. Je zde i LED dioda pro diagnostiku. Oranˇzov´a barva LED diody signalizuje, ˇze je keramick´a hmota zahˇr´ıv´ana a t´ım uzav´ır´ a ventil. Termohlavice je spojena s Neuron chipem a nap´ajena pomoc´ı telefonn´ıho kabelu. Ten je vybaven standardn´ım telefonn´ım konektorem RJ11. Zaˇc´atek telefonn´ıho kabelu je zasunut do z´astrˇcky v nodu a konec je zapojen v elektronice termohlavice. Nap´ajec´ı napˇet´ı je 24V stejnosmˇern´ ych a jako ˇr´ıd´ıc´ı napˇet´ı je pouˇzito 5V stejnosmˇern´ ych. Posledn´ı ˇz´ıla telefonn´ıho kabelu je nezapojena. Pro spr´avnou funkci cel´eho nodu a regul´atoru byly namˇeˇreny ˇcasy uzavˇren´ı a otev´ır´ an´ı ventilu. D´ale byl mˇeˇren proud prot´ekaj´ıc´ı hlavic´ı pˇri jednotliv´ ych ˇr´ıd´ıc´ıch napˇet´ı. Podle namˇeˇren´ ych dat byl vybr´an vhodn´ y zp˚ usob ˇr´ızen´ı termohlavice pomoc´ı PWM8 .
2.3 2.3.1
Konstrukce LonWorks nodu Nap´ ajec´ı ˇ c´ ast
Procesor je nap´ajen napˇet´ım 5V stejnosmˇern´ ych. Pro nap´ajen´ı byl zvolen DC/DC mˇeniˇc 24V/5V s v´ ystupn´ım proudem 500 mA. Umoˇzn ˇuje velmi jednoduchou instalaci. Je dod´av´am v ˇcern´e krabiˇcce U-DI1. Pro stabilizaci DC/DC mˇeniˇce byly pouˇzity doporuˇcen´e keramicke kondenz´atory uved´adˇen´e v´ yrobcem. Pomoc´ı keramick´ ych kondenz´ator˚ u vypoˇcten´ ych parametr˚ u byla zajiˇstˇena stabilizace nap´ajen´ı samotn´eho procesoru. Pomoc´ı radi´aln´ıho kondenr´atoru na pˇr´ıvodn´ım veden´ı nap´ajec´ıho napˇet´ı je zajiˇstˇena 8
ˇıˇrkov´ Pulse Width Modulation - Pulznˇe S´ a Modulace
MODEL ADMINISTRATIVN´I BUDOVY
12
stabilizace napˇet´ı pro pˇr´ıvodn´ı veden´ı. Kapacita radi´aln´ıch kondenz´ator˚ u je dimenzov´ ana pro pˇr´ıvodn´ı kabel d´elky aˇz 2 metry. 2.3.2
Procesorov´ aˇ c´ ast
Procesor umoˇzn ˇuje b´ yt taktov´an v ˇsirok´em rozmez´ı frekvenc´ı od 0,625 MHz aˇz po 20MHz. Pˇri volbˇe krystalu pro frekveci procesoru byla vybr´ana frekvence 5MHz. Na t´eto frekvenci operuje transceiver FTT-10A. Zapojen´ı resistor˚ u a kondenz´ator˚ u bylo voleno podle doporuˇcen´ ych hodnot od v´ yrobce Neuron chipu. Propojen´ı procesoru resp. Neuron chipu s transceiverem je pˇres dva v´ ystupn´ı piny. D´ale je zajiˇstˇena stabilizace napˇet´ı pro sbˇernici pomoc´ı 2 radi´aln´ıch kondenz´ator˚ u. Podrobnˇejˇs´ı sch´ema v pˇr´ıloze [A.1.1]. Neuron chip je pˇres piny CP0 a CP1 spojen s transceiverem. Na stranˇe transceiveru se jedn´ a o piny T1 a T2. Jako napˇet’ov´ y hl´ıdac´ı obvod byl vyuˇzit chip TL7705A.Cel´e nap´ajen´ı je chr´anˇeno diodou proti pˇrep´olov´an´ı napˇet´ı. Indikace spr´avnˇe zapojen´eho nap´ajec´ıho napˇet´ı je LED dioda modr´e barvy. Diagnostick´ y a indiakˇcn´ım prostˇredkem je ˇcerven´ a LED dioda pˇripojen´a na servisn´ım pinu procesoru. Spojen´ı procesorov´e a v´ ykonn´e ˇc´asti je umoˇznˇeno pomoc´ı dvouˇrad´ ych zlacen´ ych l´amac´ı kol´ık˚ u. Dodan´ y Neuron chip byl um´ıstˇen v pouzdˇre 32-pin SOP. 2.3.3
V´ ykon´ aˇ c´ ast
V´ ykonou ˇc´ast lze pomyslnˇe rozdˇelit do dvou ˇc´ast´ı. Prvn´ı ˇc´ast zajiˇst’uje nap´ajen´ı termohlavice. Druh´a ˇc´ast zajiˇst’uje jej´ı ovl´ad´an´ı. Vzhledem k tomu, ˇze obˇe ˇc´asti vyuˇz´ıvaj´ı rozd´ıln´e napˇet´ı, bylo nutn´e pouˇz´ıt galvanick´eho oddˇelen´ı pomoc´ı optoˇclenu SFH610A-1. Mal´ y prostor pro um´ıstˇen´ı ovl´adac´ı ˇc´asti a po opravˇe n´avrhu ploˇsn´eho spoje umoˇzn ˇoval ’ pouˇz´ıt pouze napˇet ov´ y dˇeliˇc pro vytv´aˇren´ı ovl´adac´ıho napˇet´ı. Podrobnˇejˇs´ı sch´ema v pˇr´ıloze A.1.2. 2.3.4
Softwarov´ aˇ c´ ast
Cel´ y program se skl´ad´a ze tˇr´ı ˇc´ast´ı. V prvn´ı ˇc´asti jsou definov´any pragma, konstanty a definice funkc´ı. Pragma umoˇzn ˇuje potˇrebn´e nastven´ı pˇrekladu. Pro lepˇs´ı orientaci a moˇznost pozdˇejˇs´ıch zmˇen jsou definov´any konstanty. #pragma set_node_sd_string "@0,1,3.Test of config and SCPT" #pragma enable_sd_nv_names #define ON 0 #define OFF 1 #define OCCUP FALSE #define NON_OCCUP TRUE #define FULL_TIME 180U #define LIMIT_TIME 65000 #define NIGHT_TEMP_LIMIT 20
MODEL ADMINISTRATIVN´I BUDOVY
13
void spocti_x_diferencne(void); void spocti_x_interacne_lepsi(void); void switch_service_pin(void);
N´asleduje definice vstupn´ıch a v´ ystupn´ıch s´ıt’ov´ ych promˇenn´ ych. Je vhodn´e volit intuitivn´ı n´azvy tˇechto promˇenn´ ych. Pˇri pozdˇejˇs´ım zapojen´ı do s´ıtˇe LonWorks nebude doch´azet ke ˇspatn´emu spojen´ı SNVT promˇenn´ ych. Kaˇzd´a SNVT promˇenn´a umoˇzn ˇuje vloˇzit do sv´e definice i struˇcn´ y popis. Nen´ı vhodn´e ps´at dlouh´ y popis. Kaˇzd´ y znak se ukl´ad´a do pamˇeti procesoru a zab´ır´a pamˇet’ov´ y prostor na u ´kor v´ ykonn´eho programu. Vstupn´ı promˇenn´a m˚ uˇze nab´ yvat pˇreddefinovan´e hodnotu zadan´e program´atorem pˇri jej´ım vytvoˇren´ı. network output sd_string("@1|1.") SNVT_temp_p nvoSpaceTemp; network output sd_string("@1|2.") SNVT_hvac_status nvoUnitStatus; network input sd_string("@2|1.") SNVT_temp_p nviSpaceTemp = 2000; network input sd_string("@2|2.") SNVT_temp_p nviSetPoint = 2000; Pˇri v´ ybˇeru ˇcasovaˇc˚ u, je moˇzn´e vyb´ırat ze dvou typ˚ u ˇcasovaˇc˚ u. Samospoustˇec´ı ˇcasovaˇc ˇci ˇcasovaˇc bez opakovan´eho spouˇstˇen´ı. Opakovan´e spouˇstˇen´ı ˇcasovaˇce se umoˇzn ˇuje direktivou repeating um´ıstˇenou pˇred jeho n´azev. Po uplynut´ı ˇcasu se ˇcasovaˇc znovu s´ am nastav´ı na zadan´ y ˇcas a spust´ı se znovu. Po uplynut´ı ˇcasu vyˇsle o tom ud´alost, na kterou lze reagovat programov´ ym k´odem. Bez t´eto direktivy se ˇcasovaˇc zastav´ı po uplynut´ı ˇcasu. stimer repeating sample_time; stimer timer_working = 10; Adresace v´ ystupn´ıch ˇci vstupn´ıch pin˚ u je velice jednoduch´a, jak ukazuje n´asleduj´ıc´ı pˇr´ıklad. IO_0 output bit pulse_level = ON; Pˇri adresaci pinu 0, se definuje jako v´ ystupn´ı a jedn´a se o jeden bit. Pˇri definici je pˇriˇrazena hodnota ON, kter´a byla v definici konstant nastavena na hodnotu TRUE. Po ˇradˇe definic v prvn´ı ˇc´asti, je v druh´e ˇc´asti je samotn´ y program. Jedn´a se o 14 when funkc´ı, kter´e pracuj´ı s ˇcasovaˇci, oˇsetˇruj´ı vstupn´ı promˇenn´e,volaj´ı funkce regul´atoru a reaguj´ı na syst´emov´e ud´alosti. when ( nv_update_occurs( nviSetPoint ) ) { if(tempNeededEeprom!=nviSetPoint) { tempNeededEeprom=nviSetPoint; } }
MODEL ADMINISTRATIVN´I BUDOVY
14
Pˇr´ıklad ilustruje ochranu proti zbyteˇcn´e aktualizaci promˇenn´e. Vyuˇz´ıv´a se funkce nv_update_occurs, kter´a reaguje na vys´ıl´an´ı nov´e hodnoty promˇenn´e uveden´e v jej´ım parametru. Vstupn´ı promˇenn´a m˚ uˇze nab´ yvat i stejn´e hodnoty. Pokud se hodnota ve vstupn´ı promˇenn´e liˇs´ı od hodnoty uloˇzen´e, dojde k jej´ı aktualizaci. V tˇret´ı ˇc´asti je definice funkc´ı regul´atoru. Byly naprogramov´any dva druhy m´ ody (zp˚ usoby) regulace. Diferenˇcn´ı m´od (implicitn´ı) a skokov´ y m´od. Diferenˇcn´ı m´od vytv´ aˇr´ı velikost regulaˇcn´ıho z´asahu podle rozd´ılu teplot poˇzadovan´e a v m´ıstnosti. Vypoˇcten´ a hodnota je n´asobena regulaˇcn´ı konstantou urˇcen´e k jemnˇejˇs´ımu nastaven´ı regul´atoru. Skokov´ y m´od uprav´ı regulaˇcn´ı z´asah podle znam´enka rozd´ılu teplot v m´ıstnosti a poˇzadovan´e. N´aslednˇe je n´asobeno konstantou o hodnotˇe 30. Podobnˇejˇs´ı popis v kapitole 2.4. Pˇri v´ yvoji softwaru byl pˇribliˇznˇe dodrˇzen profil organizace Lonmark: VAV Controller (VAV). 2.3.5
Pˇ repnut´ı reˇ zimu komunikace
Neuron chipy mohu b´ yt v r˚ uzn´ ych reˇzimech komunikace. Diferenˇcn´ı m´od vyuˇz´ıv´a ke sv´e komunikaci diferenˇcn´ıho m˚ ustku 9. Skl´ad´a se ze ˇctyˇr diod zapojen´ ych do m˚ ustku a rezistor˚ u stanoven´ ych v´ yrobce. Dalˇs´ı m´ody jsou Sigle-Ended m´od 10 a Special-Purpose y Neuron chip byl v´ yrobcem nastaven do diferenˇcn´ıho m´odu. Pro komunim´od 11. Pouˇzit´ kaci s transceiverem FTT-10A bylo nutn´e pˇrepnout m´od neron chipu z diferenˇcn´ıho m´ odu do Single-Ended m´odu. Pˇred pˇrepnut´ı komunikace byl na nep´ajiv´em poli sestaven diferenˇcn´ı m˚ ustek podle referenˇcn´ıho manu´alu Neuron chipu. Druh´ y diferenˇcn´ı m˚ ustek byl um´ıstˇen na rozˇsiˇruj´ıc´ı kartˇe v poˇc´ıtaˇci. K tomu byla vyuˇzita rozˇsiˇruj´ıc´ı karta do poˇc´ıtaˇce vytvoˇren´a Martinem Linhartem v r´amci jeho diplomov´e pr´ace [10]. Diferenˇcn´ı m˚ ustky byly spojeny kroucenou dvoulinkou. Pˇres tuto sbˇernici byl dan´ y Neuron chip spojen s poˇc´ıtaˇcem. Komunikace byla pˇrepnuta pomoc´ı programu Nodeutil, kter´ y je um´ıstˇen na pˇriloˇzen´em DVD. Pro funkˇcnost programu je potˇreba operaˇcn´ım syst´emem MS-DOS. Na str´ank´ach firmy Echelon je program Nodeutil novˇejˇs´ı varianty, kter´ y nepracoval spr´avnˇe. Pokud staˇzen´ y program nebude korektnˇe fungovat, je moˇzn´e vyuˇz´ıt program Nodeutil na pˇriloˇzen´em DVD ˇci na CD pˇriloˇzen´e k diplomov´e pr´aci Martina Linharta. Podrobn´ y postup je pops´an v [10]. Komunikaci na sbˇernici je nutn´e monitorovat pomoc´ı digit´an´ıho osciloskopu, aby bylo moˇzno vidˇet zp˚ usob komunikace pˇred pˇrepnut´ım komunikace a po jeho pˇrepnut´ı. M˚ uˇze nastat pˇr´ıpad, kdy program potvrd´ı pˇrepnut´ı komunikace, ovˇsem k jej´ımu fyzick´emu pˇrepnut´ı nedoˇslo. Proces je nutn´e opakovat. Dalˇs´ı indikac´ı spr´avn´eho proveden´ı je ztr´ata spojen´ı. Neuron chip jiˇz pracuje v Sigle-Ended m´odu, proto nedok´ aˇze komunikovat s druh´ ym Neuron chipem pˇres diferenˇcn´ı m˚ ustek. Pokud nelze detekovat Neuron chip pˇri pouˇzit´ı programu Nodeutil, lze pouˇz´ıt reset masteru. Pot´e vˇzdy doˇslo ke spr´avn´e detekci Neuron chipu.
MODEL ADMINISTRATIVN´I BUDOVY
Obr´azek 9: Zapojen´ı Neuron chipu v diferenˇcn´ım m´odu
Sigle-Ended m´od umoˇzn ˇuje maxim´aln´ı d´elku sbˇernice 1200 metr˚ u.
Obr´azek 10: Zapojen´ı Neuron chipu v Sigle-Ended m´odu
15
16
MODEL ADMINISTRATIVN´I BUDOVY
Neuron chip m˚ uˇze b´ yt nastaven v Special-Purpose m´odu. Tento m´od umoˇzn ˇuje pˇrenos ˇ vˇetˇs´ıho mnoˇzstv´ı dat mezi Neuron chipem a transceiverem. Casto se pouˇz´ıv´a pˇri komunikaci po nap´ajec´ı s´ıt’i.
Obr´azek 11: Komunikace Neuron chipu v Special-Purpose m´odu
2.4 2.4.1
Regul´ ator Vhodn´ e ovl´ ad´ an´ı
Pˇri pˇripojen´ı napˇet´ı se zaˇcne keramick´a hmota termohlavice maxim´aln´ı rychlost´ı ohˇr´ıvat resp. roztahovat a po jej´ım odpojen´ı zaˇcne pomalu chladnou resp. se smrˇst’ovat. Proto bylo zvoleno ovl´ad´an´ı regulace termohlavice pomoc´ı PWM. Pro ˇs´ıˇrku cel´eho pulsu byl stanoven poˇcet 180 d´ılk˚ u. Vypoˇcten´ y z´asah regul´atoru je pˇriˇcten k aktu´aln´ımu poˇctu d´ılk˚ u ˇs´ıˇrky pulzu z maxim´aln´ıch 180. Pokud je regulace napˇr´ıklad 20 d´ılk˚ u, tak je puls ˇsirok´ y 1/9 ˇcasu trv´an´ı maxim´ aln´ıch 180 d´ılk˚ u.
ZAPNUTO
VYPNUTO
ZAPNUTO
Obr´azek 12: Pulsnˇe ˇs´ıˇrkov´a modulace v nodu termohlavice
Vypoˇcten´ y z´asah regul´atoru je pˇriˇcten k nynˇejˇs´ı ˇs´ırce pulsu a jeho ˇs´ıˇrka ud´ av´ a d´elku ˇcas zapnut´ı/vypnut´ı napˇet´ı na termohlavici a t´ım i velikost zavˇren´ı/otevˇren´ı ventilu. Podle namˇeˇren´ ych ˇcasov´ ych konstant termohlavice byl volen pˇrednastaven´ y ˇcas. Namˇeˇren´ y ˇcas uzav´ır´an´ı termohlavice byl 3 minuty a ˇcas jej´ıho otev´ır´an´ı 15 minut, proto byl volen ˇcas 180 vteˇrin resp. 3 minuty jako d´elka cel´eho pulzu. Mˇeˇren´ı obou ˇcas˚ u byla
MODEL ADMINISTRATIVN´I BUDOVY
17
nˇekolikr´at opakov´ana. Zmˇeˇren´e ˇcasy ud´avaj´ı ˇcas uzavˇren´ı vetilu ze stavu pln´eho otevˇren´ı a z pln´eho zavˇren´ı na maxim´aln´ı otevˇren´ı. 2.4.2
Softwarov´ e ovl´ ad´ an´ı
Neuron chip ovl´ad´a termohlavici pomoc´ı pinu IO 0. Tento pin je sp´ın´an a vyp´ın´an podle ˇcasu urˇcovan´eho regul´atorem. Moˇznost ˇr´ızen´ı chodu regul´atoru, lze ovlivnit pomoc´ı osmi vstupn´ıch SNVT promˇenn´ ych. D˚ uleˇzitou vstupn´ı promˇennou je nviSpaceTemp, kter´a obsahuje teplotu v m´ıstnosti, kde je um´ıstˇen regul´ator. Dalˇs´ı d˚ uleˇzitou vstupn´ı promˇennou je poˇzadovan´a teplota v m´ıstnosti nviSetPoint. N´asleduj´ı nepovinn´e promˇenn´e, kter´e slouˇz´ı ke komfortnˇejˇs´ı ˇci pˇresnˇejˇs´ı funkci regul´atoru. Jedn´a se o nviSampleTime, kter´ a ud´av´a ˇcas vzorkov´an´ı pro v´ ypoˇcet regulaˇcn´ıho z´asahu. M´od regul´atoru je ovlivnˇen poˇ neˇz regul´ator vyhodnot´ı poruchu v komunikaci mezi j´ım moc´ı promˇenn´e nviType. Cas a teplomˇerem ud´av´a promˇenn´a nviAlarmTime. Pokud je tato promˇenn´a rovna nule, je tato funkce vypnuta. Dalˇs´ı v´ ypis funkc´ı vˇcetnˇe jejich funkc´ı a popisu je uveden v manu´ alu k termohlavici [13]. V´ ystupem regul´atoru jsou tˇri SNVT promˇenn´e. Prvn´ı ud´av´a teplotu, kterou regul´ator pˇrij´ım´a. Druh´a je objekt obsahuj´ıc´ı vnitˇrn´ı stavov´e promˇenn´e jako intenzita topen´ı. Obsahuj´ıc´ı inforamce zda je regul´ator v alarmu, v jak´em m´odu topen´ı se regul´ator nach´az´ı a dalˇs´ı. 2.4.3
Skokov´ y regul´ ator
Skokov´ y rugul´ator uprav´ı regulaˇcn´ı z´asah podle znam´enka rozd´ılu teplot a je n´asoben konstantou o hodnotˇe 30. Matematick´ y vzorec v´ ypoˇctu: yk+1 = yk − sign(Tmistnosti − Tpozadovana ) · 30 2.4.4
Diferenˇ cn´ı regul´ ator
Diferenˇcn´ı m´od (implicitn´ı) vytv´aˇr´ı velikost regulaˇcn´ıho z´asahu podle rozd´ılu teplot v m´ıstnosti a teploty poˇzadovan´e. To vˇse je jˇeˇstˇe n´asobeno regulaˇcn´ı konstantou pro pˇresnˇejˇs´ı chov´an´ı regul´atoru. Matematick´ y vzorec v´ ypoˇctu: yk+1 = yk + α · (Tmistnosti − Tpozadovana )
2.5 2.5.1
Zapojen´ı nodu termohlavice a Wago do s´ıtˇ e LonWorks Node Builder
Pˇri zakl´ad´an´ı projektu v programu Node Builder je potˇreba vybrat spr´avn´ y model procesoru, spr´avn´ y m´od komunikace s procesorem, jeho frekvneci a nastavit dalˇs´ı potˇrebn´e poloˇzky. T´ımto nastaven´ım uˇzivatele provede velmi intuitivn´ı pr˚ uvodce. Pokud je jiˇz vytvoˇren program, je pˇrekladaˇcem pˇreloˇzen do souboru, kter´ y se n´aslednˇe nahraje do pamˇeti procesoru. Samotn´ y program se nahr´av´a pomoc´ı Node Builderu do pamˇeti EEPROM procesoru, promˇenn´e se nahr´avaj´ı do pamˇeti RAM, pokud nebylo pouˇzito direktivy eeprom pro z´apis do pamˇeti EEPROM. Konfiguraˇcn´ı promˇenn´e se t´eˇz nahr´avaj´ı do pamˇeti
MODEL ADMINISTRATIVN´I BUDOVY
18
EEPROM. Podrobnˇejˇs´ı popis prostˇred´ı Node Builderu a n´avod na programov´an´ı, vˇcetnˇe pˇrekladu a nahr´an´ı programu do procesoru naleznete v pˇr´ıloze D.4. Takto pˇripraven´ y nod s nahran´ ym programem lze zapojit do s´ıtˇe LonWorks. Postup pˇripojen´ı naleznete v pˇr´ıloze D.1 2.5.2
Termohlavice v s´ıti LonWorks
Po nahr´an´ı programu do Neuron chipu a fyzick´em pˇripojen´ı nodu do s´ıtˇe LonWorks n´asleduje konfigurace s´ıtˇe. N´asleduj´ıc´ı obr´azek [13] ukazuje zapojen´ı teplomˇeru v m´ıstnosti s nodem resp. s termohlavic´ı. Pomoc´ı konfiguraˇcn´ıho n´astroje LonMaker je nutn´e spojit v´ ystupn´ı SNVT promˇennou ud´avaj´ıc´ı teplotu v m´ıstnosti se vstupn´ı promˇennou nviSpaceTemp, aby nod spr´avnˇe komunikoval se s´ıt´ı a mohl spr´avnˇe fungovat. Pot´e se tato konfigurace uloˇz´ı do smˇerovac´ı tabulky teplomˇeru, tak i do nodu termohlavice. Distribuce konfigurace je proveden neprodlenˇe pomoc´ı programu LonMaker po proveden´ı zmˇen v konfiguraci, pokud je nastaven v m´odu Onnet. V m´odu Offnet je nutn´e uloˇzit zmˇeny do konfigurace s´ıtˇe uloˇzen´ım projektu v programu Microsoft Visio. N´aslednˇe je vhodn´e prov´est resynchronizaci datab´aze LNS, aby nedoch´azelo k chyb´ am pˇri jej´ım pouˇz´ıv´an´ı. LonMaker → Resynchronize. Cel´ y nod s regul´atorem a termohlavic´ı je nyn´ı kompletnˇe zapojen do s´ıtˇe LonWorks.
Obr´azek 13: Zapojen´ı nodu s termohlavic´ı do s´ıtˇe LonWorks
Vˇsechny potˇrebn´e postupy ke spr´avn´e konfiguraci cel´e s´ıtˇe LonWorks, zaˇr´ızen´ı a konfigurace PLC Wago jsou um´ıstˇeny v pˇr´ıloze D.
MODEL ADMINISTRATIVN´I BUDOVY
3
19
VRML a internetov´ a prezentace
Kapitolu lze rozdˇelit do dvou sekc´ı. Prvn´ı a dominantn´ı ˇc´ast je vˇenov´ana jazyku VRML9 , vytvoˇren´emu virtu´aln´ımu modelu budovy a spojen´ı t´eto virtu´aln´ı reality skrze Javu s re´aln´ ym modelem. Menˇs´ı ˇc´ast je vˇenov´ana webov´emu port´alu, kter´ y pˇredstavuje zdroj informac´ı k projektu administrativn´ı budovy a t´eˇz sloˇz´ı k zakomponov´an´ı virtu´aln´ıho svˇeta do webov´e prezentace.
3.1
´ Uvod do VRML
Jazyk VRML 97 je mezin´arodn´ı normou ISO pro popis statick´ y´ch a dynamick´ ych svˇet˚ u. Vytv´aˇr´ı snadnou cestu, jak um´ıstit 3D objekty do webov´ ych str´anek, vytvoˇrit interaktivn´ı pr˚ uchody svˇety ˇci objekty. Mezi zakladatele ISO normy patˇr´ı i autor knihy VRML 97, ˇ ara, CSc. Jazyk VRML definuje zp˚ Doc. Ing. Jiˇr´ı Z´ usob z´apisu virtu´aln´ıho svˇeta do formy textov´eho souboru, kter´ y m´a pˇresnˇe stanovenou strukturu. Vych´az´ı z grafick´e knihovny OpenGL a n´asledn´e knihovny OpenInventor, kter´a se stala z´akladem VRML. Vytvoˇren´ y virtu´aln´ı svˇet v textov´em souboru je pak reprezentov´an pomoc´ı prohl´ıˇzeˇce virtu´aln´ıho svˇeta. M˚ uˇze se jednat o prohl´ıˇzeˇc Cortona od firmy Parallelgraphics, Cosmo Player od firmy Platinum Technology, BS Contact od firmy Bitmanagement Software a mnoho dalˇs´ıch. Virtu´aln´ı svˇet je pomoc´ı zvolen´eho prohl´ıˇzeˇce zobrazov´an v oknˇe webov´eho prohl´ıˇzeˇce. Ten k vykreslov´an´ı virtu´aln´ıch svˇet˚ u pouˇz´ıvaj´ı vykreslovaˇce (renderery) jako jsou DirectX, OpenGL ˇci softwarov´e vykreslov´an´ı. Vedle pouh´eho vykreslov´an´ı, nab´ız´ı prohl´ıˇzeˇce pohyb a ovl´ad´an´ı ve virtu´aln´ım svˇetˇe pomoc´ı ovl´adac´ıch prvk˚ u um´ıstˇen´ ych po jejich stran´ach. Dalˇs´ı v´ yvoj v jazyka VRML nab´ız´ı konzorcium Web3D, kter´e se star´ a o rozvoj 3D grafiky na internetu a jejich norma X3D. 9
Virtual Reality Modeling Language
MODEL ADMINISTRATIVN´I BUDOVY
20
Obr´azek 14: Prohl´ıˇzeˇc Cortona s ovl´adac´ımi prvky
3.1.1
Technologie VRML
Cel´ y virtu´aln´ı svˇet je zaps´an ve strukturovan´em textov´em souboru. Prvn´ı ˇr´adek je povinn´ y a nelze ho mˇenit. Nelze jej ani posunout na druh´ y ˇr´adek. Obsahuje sdˇelen´ı, ˇze se jedn´a o VRML dokument a k´odov´an´ı UTF8. Dalˇs´ı ˇr´adky jiˇz jsou voliteln´e a obsahuj´ı z´ apis virtu´aln´ıho svˇeta podle potˇreb tv˚ urce. Cel´ y svˇet je po naˇcten´ım prohl´ıˇzeˇcem strukturov´ an do DOM10 modelu. Jedn´a se o stromovou strukturu s definovan´ ymi uzly, kter´e maj´ı sv´e rodiˇce, sourozence a potomky. Tato struktura umoˇzn ˇuje flexibilnˇejˇs´ı vytv´aˇren´ı a ovl´ad´ an´ı virtu´aln´ıho svˇeta. VRML umoˇzn ˇuje i import jiˇz vytvoˇren´ ych svˇet˚ u do vytv´aˇren´eho svˇeta. Samozˇrejmost´ı je moˇznost vyuˇzit´ı vˇsech v´ yhod, kter´e poskytuje internetv´a technologie, 11 jako jsou odkazy, URL , obr´ azky ˇci textury um´ıstˇen´e na jin´ ych serverem atp.. VRML umoˇzn ˇuje vytvoˇrit prakticky jak´ ykoliv pˇredmˇet pomoc´ı z´akladn´ıch objekt˚ u a tento objekt animovat pomoc´ı dynamick´ y uzl˚ u a ud´alost´ı. Z´akladn´ı objekty jsou: • Box - krychle • Con - k´onus • Cylinder - v´alec • Sphere - koule 10 11
Document Object Model Uniform Resource Locator
MODEL ADMINISTRATIVN´I BUDOVY
21
Dalˇs´ı moˇznost´ı vytv´aˇren´ı objekt˚ u je pouˇz´ıt ploch, kter´e se dok´aˇz´ı tvarovat podle stanoven´ ych souˇradnic, ˇci lze pˇr´ımo zad´av´an´ım souˇradnic a norm´al vytv´aˇret jak´akoliv tˇelesa. Kaˇzd´ y takov´ y objekt m´a kromˇe sv´ ych rozmˇer˚ u i vlastnosti, kter´e ilustruje jednoduch´ y pˇr´ıklad koule potaˇzen´e texturou. #VRML V2.0 utf8 ... Shape { #defince objektu koule geometry Sphere {radius 1} # koule o~polomeru 1 metr appearance Appearance { # vlastnosti objektu koule material Material { #material diffuseColor 0 0 0 #zakladni slozeni barvy #barva povrchu zesvetlovana jasem prostoru ambientIntensity 0 emissiveColor 0 0 0 #svitiva barva povrchu specularColor 0 0 0 #jakou barvu povrch odrazi shininess 0.2 #ostrost odrazu transparency 0.2 #pruhlednost objektu } texture ImageTexture { # objekt je potazen texturou repeatS TRUE #opakovani textury ve vodorovnem sveru repeatT TRUE #opakovani textury ve svislem sveru url "smile.jpg" #adresa textury - muze byt i url odkaz } } } ...
Obr´azek 15: Pˇr´ıklad koule potaˇzen´e texturou
Takto definovan´ y objekt neobsahuje transformace pro urˇcen´ı polohy ˇci natoˇcen´ı. Proto se objekty uzav´ıraj´ı do uzl˚ u Transform, kter´e obsahuj´ı funkce na transformaci polohy, rotace a zvˇetˇsov´an´ı. Vˇsechny tyto transformace se distribuuj´ı do potomk˚ u a do potomk˚ u tˇechto potomk˚ u. Z tohoto z´apisu je patrn´a v´ yhoda stromov´e struktury VRML z´apisu. Jednoduch´ y pˇr´ıklad uzlu Transform je ilustrov´an n´ıˇze.
MODEL ADMINISTRATIVN´I BUDOVY
22
#VRML V2.0 utf8 Transform { translation 0 0 0 # pozice od stredu sveta VRML rotation 0 1 0 1.571 # rotace kolem osy Y o PI/2 scale 1 2 1 # dvojnasobne zvetseni v ose Y children [ Shape { ... #defince objektu koule ... } } } ] } Takto vytvoˇren´e svˇety nevyvolaj´ı dojem re´aln´eho svˇeta. Proto se do virtu´aln´ıho svˇeta zav´ad´ı svˇetlo, zvuky ˇci pozad´ı. Svˇetla lze vytvoˇrit jako bodov´a, ˇs´ıˇr´ıc´ı se z jednoho bodu do vˇsech stran (Pointlight). Dalˇs´ım zdrojem je bodov´e svˇetlo s moˇznost´ı smˇerov´ an´ı svˇeteln´ ych paprsk˚ u (Spotlight) a v posledn´ı ˇradˇe smˇerov´e svˇetlo v podobˇe rovnobˇeˇzn´ ych paprsk˚ u (Directionallight). Svˇetlo se neˇs´ıˇr´ı ve vˇsech m´ıstech stejnˇe, ale jeho u ´tlum je d´ an zabudovan´ ymi rovnicemi v prohl´ıˇzeˇc´ıch VRML svˇet˚ u a normou. V´ yznamnou vlastnost´ı je pozad´ı, kter´e m˚ uˇze navodit pocit vˇetˇs´ıho prostoru neˇz je skuteˇcnost. Zvuk v´ yznamnˇe zvyˇsuje dojem re´aln´eho svˇeta. Jeho ˇs´ıˇren´ı t´eˇz podl´eh´a v´ ypoˇctu podle rovnic. Dalˇs´ı vlastnost´ı je moˇznost vytvoˇren´ı iluze mlhy (Fog) resp. pocitu mizej´ıch pˇredmˇet˚ u, kter´e jsou jiˇz daleko z dohledu. Bliˇzˇs´ı informace o dalˇs´ıch uzlech a tvorbˇe VRML jsou uvedeny v [12]. Vzhledem k tomu, ˇze se mnoho objekt˚ u opakuje, lze si vytv´aˇret knihovny obsahuj´ıc´ı jiˇz vytvoˇren´e objekty. Pot´e staˇc´ı vloˇzit tyto objekty z knihovny od vytv´aˇren´eho svˇeta a nastavit pˇr´ısluˇsn´e parametry. Takto lze stavˇet knihovny z objekt˚ u z jin´ ych knihoven a vytv´aˇret tak bohatˇs´ı objekty. N´asleduj´ıc´ı pˇr´ıklad ukazuje pouˇzit´ı objektu okno z knihovny komponenty.wrl. ==== definice okna ==== PROTO UplneOkno [ #vstupni posun v prostoru field SFVec3f celek_posunuti 0 0 0 #vstupni natoceni v prostoru field SFRotation celek_natoceni 0 0 0 0 #vstupni zvetseni field SFVec3f celek_zvetseni 1 1 1 ] { EXTERNPROTO Futro [ # pripojeni definice ramu okna field SFVec3f s_posunuti field SFRotation s_natoceni field SFVec3f s_zvetseni] "komponenty.wrl#Futro"
MODEL ADMINISTRATIVN´I BUDOVY
#ukazatel na objekt ramu dveri v knihovne komponenty.wrl EXTERNPROTO Okno [ # pripojeni definice samotneho okna field SFVec3f s_posunuti field SFRotation s_natoceni field SFVec3f s_zvetseni field SFFloat s_pruhlednost] #ukazatel na okno v knihovne komponenty.wrl "komponenty.wrl#Okno" Group { children [ Transform { #spojeni posunu s~promennou posunu translation IS celek_posunuti #spojeni rotace s~promennou rotace rotation IS celek_natoceni #spojeni zvetseni s~promennou zvetseni scale IS celek_zvetseni children [ #umisteni objektu ramu dveri v prostoru bez parametru Futro {} #umisteni okna Okno {s_posunuti 0 .05 0 s_pruhlednost .6} ] } ] } } ====== pouˇ zit´ ı okna v~jin´ em objektu PROTO StenaSOknem [ field SFVec3f s_celek_posunuti 0 0 0 field SFRotation s_celek_natoceni 0 0 0 0 field SFVec3f s_celek_zvetseni 1 1 1 ] { EXTERNPROTO UplneOkno [ field SFVec3f celek_posunuti field SFRotation celek_natoceni field SFVec3f celek_zvetseni ] "celky.wrl#UplneOkno" #UplneOkno ... Group { children [ Transform { ...
23
MODEL ADMINISTRATIVN´I BUDOVY
24
children [ UplneOkno {celek_posunuti 0 1 0 celek_zvetseni 1.85 1.36 1} StenaProOkno {} ] } ] } }
Pokud proch´az´ıme jiˇz vytvoˇren´ ym svˇetem, je nutn´e si uvˇedomit, kdo zastupuje uˇzivatele ve virtu´aln´ı svˇetˇe. Postava zastupuj´ıc´ı uˇzivatele se naz´ yv´a AVATAR. Avatar je definov´an polomˇerem kruˇznice opisuj´ıc´ı ˇs´ıˇrku jeho tˇela, v´ yˇsku cel´eho tˇela a v´ yˇsku pˇrek´aˇzek, kter´e dok´aˇze avatar pˇrekroˇcit ˇci na nˇe nakroˇcit. Dalˇs´ı vlastnost´ı Avatara je um´ıstˇen´ı sv´ıtilny resp. zdroje svˇetla na ˇcele hlavy, kter´a slouˇz´ıc´ı k osvˇetlen´ı objekt˚ u um´ıstˇen´ ych pˇred n´ım. Pokud jsou jiˇz ve svˇetˇe obsaˇzeny svˇeteln´e zdroje, je vhodn´e tuto lampu vypnout, jinak negativnˇe ovlivˇ nuje svˇeteln´e efekty na objektech. Lze urˇcit na jakou vzd´alenost Avatar vid´ı nebo pˇresnˇeji ˇreˇceno na jakou vzd´alenost se maj´ı jˇeˇstˇe objekty vykreslovat. Nastaviteln´a je rychlost avatarova pohybu a je moˇzn´e omezit moˇznosti pohybu ve virtu´aln´ım svˇetˇe. NavigationInfo{ avatarSize [0.10, 1.35, 0.45] #rozmery Avatara headlight TRUE # rosviceni svitilny Avatara visibilityLimit 50 #viditelnost na 50m speed 0.5 # rychlost pohybu 0.5m/s type ["WALK"] # pohyb pouze pomoci chuze } Pokud je svˇet rozlehl´ y nebo je v nˇem nˇekolik zaj´ımav´ ych m´ıst pohledu, lze nadefinovat tzv. ViewPoints funguj´ıc´ıch jako teleporty. Ve virtu´aln´ım svˇetˇe m˚ uˇze b´ yt mnoho takov´ ych bod˚ u. Kaˇzd´ y bod m´a sv´e jm´eno,pozici a orientaci Avatara v nˇem. Viewpoint { description "Pozice v~prezentacni mistnosti" position -4.5 4.55 2 orientation 0 1 0 3.141 } Viewpoint { description "Pozice v~horni kancelari" position 4.5 7.55 2 orientation 0 1 0 3.141 } Takto vytvoˇren´ y svˇet je jiˇz moˇzn´e proch´azet. Interakce mezi objekty a Avatarem zat´ım nen´ı ˇz´adn´a. Proto je definov´ana skupina objekt˚ u, kter´e jsou schopny reagovat na akce od Avatara a poskytovat je jako ud´alosti. Pro pˇr´ıjem ud´alosti je v kaˇzd´em tˇele objektu voliteln´e pole s n´azvem EventIn a pro poskytov´an´ı ud´alosti je to pole EventOut.
MODEL ADMINISTRATIVN´I BUDOVY
25
Obr´ azek 16: Parametry uzlu VRML
Cel´ y proces vyvol´an´ı ud´alosti, zpracov´an´ı ud´alosti a smˇerov´an´ı na c´ıl ukazuje diagram u, kter´e si postupnˇe pˇred´avaj´ı ud´alosti. Ty mohou b´ yt na obr´azku [17]. Je na nˇem pˇet uzl˚ r˚ uzn´eho typu, pˇri jejich cestˇe dynamick´ ym ˇretˇezcem dokonce ˇcasto doch´az´ı k nˇekolika zmˇen´am typu pˇred´av´an´e ud´alosti. Na poˇc´atku je prvek detekuj´ıc´ı dynamickou ud´alost. Jedn´a se o ˇcidla, kter´a reaguj´ı na r˚ uzn´a chov´an´ı Avatara. D´ale n´asleduje prvek, kter´ y rozhodne o tom, zda byly splnˇeny vˇsechny podm´ınky pro spustˇen´ı dynamick´e akce. K tomu slouˇz´ı uzel Script. N´asleduje ˇcasovaˇc, kter´ y je zodpovˇedn´ y za ˇcasov´ y pr˚ ubˇeh akce. Ovˇsem m˚ uˇze vhodnˇe mˇenit i dynamiku dˇeje. N´asleduje prvek, kter´ y podle pˇredem definovan´ ych poˇc´ateˇcn´ıch a koncov´ ych hodnot pr˚ ubˇeˇznˇe vypoˇc´ıt´avat nov´e hodnoty. Na konci ˇretˇezce je c´ıl, na nˇemˇz je dynamick´a akce viditeln´a. V´ ysledn´e hodnoty pˇredchoz´ıho uzlu se do toho c´ıle zap´ıˇs´ı. Napˇr´ıklad se zap´ıˇse zmˇenˇen´a barva povrchu objektu.
Obr´azek 17: Logick´e sch´ema obecn´e dynamick´e akce
Uvnitˇr tˇela skriptu lze pracovat s jak´ ymkoliv uzlem rodiˇce skriptu. Skript je tak´e uzel, proto m˚ uˇze vytv´aˇret ud´alosti a d´ale je smˇeˇrovat do jin´ ych uzl˚ u. V tˇelˇe skriptu se mohou pouˇz´ıt funkce JavaScriptu ˇci volat tˇr´ıdy (class) programovac´ıho jazyka Java. Pˇr´ıklad objasˇ nuje pouˇzit´ı skriptu na otev´ır´an´ı dveˇr´ı pomoc´ı JavaScriptu. PROTO DverePrezentacka ... EXTERNPROTO DeskaDveri ... EXTERNPROTO Klika ... Group { children [
MODEL ADMINISTRATIVN´I BUDOVY
Transform { translation 0 .1 0 children [ DEF PREZENTDOOR Transform { #definice dveri children [ DEF DOORTOUCH TouchSensor {} #senzor dotyku DeskaDveri {} Klika {posunuti .347 1 0} ] } DEF SWITCHDOOR Script { #definice skriptu field SFBool stav FALSE #vnitrni stav field SFNode dvere USE PREZENTDOOR #ukazatel na dvere eventIn SFBool switchdoor #udalost spoustejici funknci eventOut SFRotation rotace #vystupni hodnota eventOut SFVec3f posun #vystupni hodnota url "javascript: function switchdoor(hodnota) #funkce otevirajici dvere { if(hodnota) { if(stav) { stav=!stav; #zmena stavu dveri a~nastaveni pozice rotace = new SFRotation(0,1,0,-1.571); posun = new SFVec3f(-0.43,0,0.45); } else { stav=!stav;#zmena stavu dveri a~nastaveni pozice rotace = new SFRotation(0,1,0,0); posun = new SFVec3f(0,0,0); } } } " } ] #distribuce udalosti ze senzoru do skriptu ROUTE DOORTOUCH.isActive TO SWITCHDOOR.switchdoor #distribuce vyslednych hodnot ze skriptu do dveri ROUTE SWITCHDOOR.rotace TO PREZENTDOOR.set_rotation ROUTE SWITCHDOOR.posun TO PREZENTDOOR.set_translation } ] } }
26
MODEL ADMINISTRATIVN´I BUDOVY
27
Pokud se pouˇz´ıv´aj´ı tˇr´ıdy javy m´ısto funkce JavaSciptu, vol´a se pˇr´ısluˇsn´a tˇr´ıda, ale z´apis se liˇs´ı. Definice um´ıstˇen´ı tˇr´ıdy se zapisuje do hranat´ ych z´avorek. V parametru url m˚ uˇze b´ yt deklarov´ano nˇekolik adres, kde je tˇr´ıda um´ıstˇena. Pokud se nezdaˇr´ı nal´ezt tˇr´ıdu na prvn´ı adrese v seznamu, pokraˇcuje na dalˇs´ı. ... url ["MyJava.class","http"://myclass.cz/myjava.class"] ... V´ yznamnou a velmi d˚ uleˇzitou podm´ınkou pouˇzit´ı tˇr´ıd javy ve webov´em prohl´ıˇzeˇci a prohl´ıˇzeˇci VRML, je pˇreklad zdrojov´eho souboru pro verzi javy 1.1. Pro vyˇsˇs´ı verzi nen´ı moˇzn´e pouˇz´ıt tˇr´ıdy. Dalˇs´ı nutnou podm´ınkou je pouˇzit pˇri prohl´ıˇzen´ı Microsoft Java Virtual Machine. A posledn´ı podm´ınkou je pˇri prohl´ıˇzen´ı takov´eho virtu´aln´ıho svˇeta pouˇz´ıt webov´ y prohl´ıˇze Internet Explorer s nainstalovan´ ym VRML prohl´ıˇzeˇcem. Bez splnˇen´ı vˇsech tˇechto podm´ınek nebudou tˇr´ıdy fungovat. Obr´azek [18] ukazuje nastaven´ı Internet Exploreru, Moˇznosti internetu tak, aby byl schopen prohl´ıˇzet svˇety spojen´e s tˇr´ıdami javy.
Obr´azek 18: Nastaven´ı Microsoft Java Virtual Machine
Pokud tˇr´ıda obsahuje ve sv´em k´odu pˇripojen´ı na server specifikovan´ y IP adresou a portem, nedojde k jeho vykon´an´ı z bezpeˇcnostn´ıch d˚ uvod˚ u implementovan´ ych v javˇe. Pro pˇripojen´ı na server je nutn´e, aby na stejn´em serveru byla um´ıstˇena i volaj´ıc´ı tˇr´ıda. Bliˇzˇs´ı informace o tvorbˇe vitu´ aln´ıch svˇet˚ u pomoc´ı VRML jsou uvedeny v [12].
MODEL ADMINISTRATIVN´I BUDOVY
3.1.2
28
Koncept VRML modelu
Fyzick´ y model administrativn´ı budovy neodpov´ıd´a pˇresnˇe re´aln´ ym proporc´ım budov. Proto byl virtu´aln´ı d˚ um postaven odˇsliˇsnˇe s pˇrihl´ednut´ım na re´aln´e proporce a bˇeˇzn´e rozmˇery budov. Vˇsechny m´ıstnosti, ovl´adac´ı prvky a podstatn´a zaˇr´ızen´ı z re´aln´eho modelu byly vytvoˇreny i ve virtu´aln´ım modelu.
Obr´azek 19: Cel´ y virtu´aln´ı model budovy vˇcetnˇe okol´ı
V´ ystavba cel´eho domu je postavena na vyuˇz´ıv´an´ı knihoven objekt˚ u, kter´e se n´aslednˇe sdruˇzuj´ı do vˇetˇs´ıch celk˚ u aˇz po m´ıstnosti. Byl navrˇzen model domu jak je uvedeno na obr´azku [19] v´ yˇse. D˚ um lze rozdˇelit do dvou ˇc´asti spojen´ ych chodbou. Rozloˇzen´ı vˇsech m´ıstnost´ı respektuje rozloˇzen´ı m´ıstnost´ı v re´aln´em modelu. V lev´e ˇc´asti je um´ıstˇena gar´ aˇz. Nad gar´aˇz´ı se nach´az´ı prezentaˇcn´ı m´ıstnost. V prav´e ˇc´asti je technick´a m´ıstnost, kter´ a ve virtu´aln´ım svˇetˇe neslouˇz´ı ˇz´adn´emu u ´ˇcelu a proto do n´ı nevedou ˇz´adn´e dveˇre. Nad technickou m´ıstnost´ı je kancel´aˇr ˇc´ıslo jedna a nad n´ı je kancel´aˇr ˇc´ıslo dva. Obˇe maj´ı stejn´e technick´e vybaven´ı. Jen se liˇs´ı rozm´ıstˇen´ım sortimentem a rozm´ıstˇen´ım n´abytku. Chodby jsou rozdˇelˇeny do tˇrech pater vˇcetnˇe pˇr´ızem´ı. Kaˇzd´a chodba je spojena s v´ ytahem. Neobsahuje ˇz´adn´e svˇetlo, jako re´aln´ y model. Jednotliv´e m´ıstnosti jsou vybaveny takto. Gar´ aˇz je vybavena pouze vraty, dvˇemi z´aˇrivkov´ ymi svˇetly s jejich vyp´ınaˇci. Tyto dveˇre, vrata a svˇetla nemaj´ı v realn´em modelu ekvivalent. V prezentaˇcn´ı m´ıstnosti je um´ıstˇeno stahovac´ı pl´ano ovl´adan´e dvˇema vyp´ınaˇci. Vˇsechny ovl´adac´ı vyp´ınaˇce jsou um´ıstˇeny na prav´e zdi vedle dveˇr´ı. Po stran´ach m´ıstnosti jsou barevn´a svˇetla, slouˇz´ıc´ı k vyvol´an´ı barevn´e atmosf´ery. Na stropˇe uprostˇred m´ıstnosti jsou um´ıstˇena dvˇe z´aˇrivkov´a svˇetla. Na jej´ım kraji bl´ızko pl´atna jsou um´ıstˇena halogenov´a svˇetla. Oproti realitˇe, kde je jen jedno okno, je v prezentaˇcn´ı m´ıstnosti ˇsest oken. Cel´a m´ıstnost je vybavena pˇeti ˇradami ˇzidl´ı, nˇekolika obrazy na stˇen´acha a stup´ınkem. Na nˇem je st˚ ul s ˇzidl´ı. Pod´el stˇeny je radi´ator a na stˇenˇe jsou hodiny.
MODEL ADMINISTRATIVN´I BUDOVY
29
Obr´azek 20: Prezentaˇcn´ı m´ıstnost
V doln´ı kancel´aˇri jsou um´ıstˇena dvˇe z´aˇrivkov´a svˇetla se sv´ ymi vyp´ınaˇci. D´ale dvˇe skˇr´ıne, tˇri obrazy, kancel´aˇrsk´ y st˚ ul s ˇzidl´ı a hodiny na stˇenˇe. Na podlaze je um´ıstˇen koberec. V m´ıstnosti je t´eˇz radi´ator.
Obr´azek 21: Doln´ı kancel´aˇr
ˇ ri skˇr´ınˇe, dva Horn´ı kancel´aˇr obsahuje t´eˇz dvˇe z´aˇrivkov´a svˇetla se sv´ ymi vyp´ınaˇci. Ctyˇ obrazy a zbyl´e vybaven´ı je jako v doln´ı kancel´aˇri.
MODEL ADMINISTRATIVN´I BUDOVY
30
Obr´azek 22: Horn´ı kancel´aˇr
Vˇsechny tˇri chodby v budovˇe jsou vybaveny aˇz na drobn´e detaily stejnˇe. Obsahuj´ı vchodov´a dveˇre ˇci m´ıstnoti, dveˇre od v´ ytahu a okno.
Obr´azek 23: Chodba v pˇr´ızem´ı
Dynamika virtu´aln´ıho modelu je vytvoˇrena pomoc´ı senzor˚ u dotyku na vyp´ınaˇc´ıch, dveˇr´ıch ˇci oknech spojen´ ych s v´ ykonnou jednotkou. V´ ykonn´a zaˇr´ızen´ı mohou b´ yt svˇetla, objekty reprezentuj´ıc´ımi svˇeteln´e zaˇr´ızen´ı jako z´aˇrivky, halogeny nebo jin´e objekty jako pl´atno, dveˇre ˇci okna. Po stisku vyp´ınaˇce, se ud´alost pˇres funkci ROUTE pˇred´a do vstupn´ı promˇenn´e skriptu. Ten nastav´ı intenzitu a barvu svˇetla, nastav´ı sv´ıt´ıc´ı barvu a intenzitu barvy na objektu reprezentuj´ıc´ı dan´ y sv´ıt´ıc´ı objekt. Dveˇre jsou samy ˇcidlem dotyku, tak ovl´adanou jednotkou. Po dotyku dveˇr´ı se ud´alost pˇred´a skriptu a ten nastav´ı natoˇcen´ı a posun pˇr´ısluˇsn´ ych dveˇr´ı. Stejn´ y proces je aplikov´an na otevˇren´ı gar´aˇzov´ ych vrat i na otev´ır´an´ı oken v kancel´aˇr´ıch. V pˇr´ıpadˇe v´ ytahu je situace komplikovanˇejˇs´ı o pˇresun Avatara v prostou. Hlavn´ı ovl´adac´ı panel je uvnitˇr kabiny v´ ytahu, kde lze pˇrivolat v´ ytah
MODEL ADMINISTRATIVN´I BUDOVY
31
do pˇr´ızem´ı, prvn´ıho a druh´eho patra. Dotykov´e senzory v tlaˇc´ıtk´ach jsou napojeny na skripty, kter´e pˇresouvaj´ı cel´ y objekt kabiny v´ ytahu do zvolen´eho patra a n´aslednˇe mˇen´ı hodnotu pozice Avatara v ose Y. Tento proces vyvol´a dojem posunu v´ ytahu i s Avatarem do poˇzadovan´eho patra.
Obr´azek 24: Vnitˇrn´ı prostor v´ ytahov´e kabinky s ovl´adac´ımi tlaˇc´ıtky
Pro spr´avne pochopen´ı jak se virtu´aln´ı svˇet stav´ı a jak je vn´ım´an, je d˚ uleˇzit´e pochopit i metriku, kter´a v nˇem plat´ı. Z´akladn´ı jednotkou je metr. Tedy pokud v uzlu Transform bude naps´ana hodnota 1 v ose Y, jedn´a se o posun o jeden metr v dan´e ose. Dalˇs´ım pˇr´ıkladem je definice rozmˇeru objektu Box. Pokud se zadaj´ı rozmˇery geometry Box {size 1 1 1}, znamen´a to vytvoˇren´ı krychle o velikosti 1x1x1 metr. Krychle o obsahu 1m3 . Dalˇs´ı a velmi d˚ uleˇzitou vlastnost´ı je, ˇze se vˇse zaˇc´ın´a poˇc´ıt´ at od stˇredu virtu´aln´ıho svˇeta. Pokud se jedn´a o potomky uzl˚ u, tak ty maj´ı stˇred ve stˇredu jejich rodiˇc˚ u. Nen´ı-li zad´ana transformace posunu, tak se objekt um´ıst sv´ ym stˇredem do stˇredu virtu´aln´ıho svˇeta ˇci do stˇredu sv´eho rodiˇcovsk´eho uzlu. Z tˇechto metrik se odvij´ı i rozmˇer Avatara. V tomto pˇr´ıpadˇe byl Avatar zvolen o velikostech uveden´ ych v poloˇzce NavigationInfo resp. v parametru avatarSize [0.25, 1.5, 0.6]. Tedy 25cm jako polomˇer kruˇznice opisuj´ıc´ı svisl´ y rozmˇer tˇela. V´ yˇska Avatara byla stanovena na 1,5m. V´ yˇska, kterou bude moˇzn´e pˇrekroˇcit ˇci vyj´ıt je stanovena na hodnotu 60cm.
MODEL ADMINISTRATIVN´I BUDOVY
32
Obr´azek 25: Geometrick´ y v´ yznam parametr˚ u rozmˇeru Avatara
3.1.3
Struˇ cn´ e vyuˇ zit´ı a potenci´ al
VRML m´a za u ´ˇcel pˇribl´ıˇzit prezentaci prostorov´ ych dat bez pouˇzit´ı drah´ ych CAD program˚ u. Velik´a v´ yhoda VRML je orientace na svˇet Internetu. Po instalaci z´asuvn´ ych modul˚ u, je moˇzn´e prohl´ıˇzet virtu´aln´ı svˇety z jak´ehokoliv m´ısta svˇeta. Znaˇcn´e uplatnˇen´ı m˚ uˇze VRML nal´ez v architektuˇre, stavebnictv´ı ˇci pˇri prodeji v´ yrobk˚ u, kdy si z´akazn´ım m˚ uˇze prohl´ednout v´ yrobek aniˇz by musel navˇstˇevovat kamenn´ y obchod dan´eho v´ yrobce. Mezi dalˇs´ı v´ yhody je moˇznost propojen´ı s aplikacemi spojen´ ych s datab´az´ı ˇci skriptovac´ımi jazyky jako PHP, JSP ˇci ASP. Ponˇevaˇc se jedn´a o textov´e soubory, lze vytv´ aˇret svˇety z datab´aze a n´aslednˇe data z´ıskan´a ve virtu´aln´ım svˇetˇe od n´avˇstˇevn´ıka ukl´adat do datab´az´ı. Jednu z takov´ ych aplikac´ı prezentuje pr˚ uchod virtu´aln´ı Prahou [7], kter´ a ˇ je vytvoˇrena Computer Graphics Group na katedˇre poˇc´ıtaˇc˚ u, CVUT v Praze. Dalˇs´ım vyuˇzit´ım je spojen´ı s programoavc´ım jazykem Java a s t´ım spojen´ ych vˇsech moˇznost´ı, kter´e tento programovac´ı jazyk nab´ız´ı. V posledn´ıch nˇekolika letech byl konsorciem WEB3D vyvinut ISO standard X3D12 , kter´ y je n´asledn´ıkem a zastˇreˇsuj´ıc´ım standardem nad VRML. Tedy VRMLje podtˇr´ıda X3D. Pˇrin´aˇs´ı strukturovanost z´apisu a poˇznost flexibilnˇejˇs´ıho roˇs´ıˇren´ı moˇznost´ı. Mezi v´ yznamn´a rozˇs´ıˇren´ı je GeoVRML, kter´e umoˇzn ˇuje modelovat cel´ y svˇet podle mˇeˇren´ı geodet˚ u. D´ale standard X3D umoˇzn ˇuje po pˇrekladu do bin´arn´ıho z´apisu import do videa ve form´atu MPEG-4. Pot´e m˚ uˇze b´ yt klasick´ y video proud rozˇs´ıˇren o virtu´aln´ı realitu. Konsorcium je seskupen´ı v´ yznamn´ ych softwarov´ ych firem, ale i menˇs´ıch firem vˇcetnˇe jednotlivc˚ u. Existuje celkem 15 skupin v´ yvoj´aˇr˚ u pracuj´ıc´ıch na v´ yvoji a rozvoji 3D grafiky na internetu. Bliˇzˇs´ı informace o X3D a 3D grafice na webov´ ych str´ank´ach jsou na [6]. 12
Extensible 3D
MODEL ADMINISTRATIVN´I BUDOVY
3.2
33
Abstrakce modelu
Pˇri vytv´aˇren´ı virtu´aln´ıho modelu byl kladen d˚ uraz na pˇrevod stejn´eho mnoˇzstv´ı ovl´adac´ıch i ovl´adan´ ych prvk˚ u z re´aln´eho modelu do virtu´aln´ı reality. Jelikoˇz nebylo moˇzn´e dodrˇzet vˇsechny rozmˇery a proporce, byl vybudov´an model se stejn´ ym poˇctem prvk˚ u, stejn´ ym u ´ˇcelem pouˇz´ıt´ı, ale s jejich rozd´ıln´ ym um´ıstˇen´ım v modelu. Nemoˇznost pˇrevodu re´aln´eho modelu do virtu´aln´ıho svˇeta je pˇredevˇs´ım v disproporci prezentaˇcn´ı m´ıstnosti v porovn´an´ı s re´aln´ ymi rozmˇery dvˇeˇr´ı a oken. Dalˇs´ım faktem je, ˇze re´aln´ y model postr´ad´a pˇredn´ı stˇenu resp. je nahrazena pr˚ uhledn´ ym plexisklem. Neposledn´ım aspektem je i estetick´a str´anka, kdy ve virtu´aln´ım svˇete je moˇzn´e cel´ y d˚ um vybavit okol´ım v podobˇe strom˚ u, tr´avn´ıku ˇci plotu. Uvnitˇr modelu jsou um´ıstˇeny obrazy, hodiny a kancel´aˇrsk´ y n´abytek, kter´ y v re´aln´em modelu nen´ı obsaˇzen.
3.3 3.3.1
Realizace Konstrukce z knihoven
Virtu´aln´ı model budovy vyuˇz´ıv´a 17 knihoven. Z´alkadn´ı knihovnou je dily.wrl, kter´a obsahuje u ´plnˇe nejz´akladnˇejˇs´ı d´ıly a tvary nutn´e pro dalˇs´ı konstrukce. Obsahuje napˇr´ıklad definice plaˇ nky k plotu, desky dveˇr´ı, desky podlah, stˇen, dˇrevˇen´e kv´adry pro okna, obrazy, atp. Nadstavbovou knihovnou t´eto z´akladn´ı je knihovna komponenty.wrl obsahuj´ıc´ı jiˇz atomick´a spojen´ı z´akladn´ıch d´ıl˚ u, kter´e vytv´aˇr´ı vnitˇrn´ı vybaven´ı modelu. Stavebn´ı prvky a vybran´e prvky vybaven´ı jsou um´ıstˇeny v knihovnˇe celky.wrl. Dalˇs´ı nadstavbou nad knihovnou celky.wrl je celky stavba.wrl, kter´a zajiˇst’uje vˇsechny stavebn´ı prvky se zdmi a v nich um´ıstˇen´e d´ıly jako okna ˇci dveˇre. N´asleduje mnoˇzina knihoven nazvan´ ych stejnˇe jako jejich obsah. Tedy knihovna s n´azvem chodba.wrl obsahuje definici cel´e chodby, prezentacka.wrl obsahuje definici cel´e prezentaˇcn´ı m´ıstnosti atp. Nad vˇsema knihovnama definuj´ıc´ı jednotliv´e m´ıstnosti je zastˇreˇsuj´ıc´ı knihovna dum.wrl. Hlavn´ı knihovna je domek.wrl a obsahuje definici cel´eho virt´aln´ıho modelu vˇcetnˇe okol´ı a vˇsech svˇetel, plotu a strom˚ u. 3.3.2
Spojen´ı jednotliv´ ych komponent
Dynamick´e akce nelze spojit skrze knihovny. Proto jsou objekty, kter´e maj´ı b´ yt interaktivn´ı, definov´any v jednom rodiˇcovsk´em uzlu, aby bylo moˇzn´e pˇred´avat ud´alosti ze senzor˚ u na skripty a prov´est pˇr´ısluˇsnou viditelnou reakci. Proto z´aˇrivkov´a svˇetla maj´ı ve sv´em uzlu definov´any i jejich ovl´adac´ı vyp´ınaˇce. Pˇri vytv´aˇren´ı interaktivn´ıho svˇeta je moˇzn´e definovat objekty se kter´ ymy bude pozdˇeji manipulov´ano. Pomoc´ı nˇekolika skript˚ u je moˇzn´e ˇr´ıdit jeden objekt, kdyˇz ukazatel na nˇej obsahuj´ı vˇsechny pˇr´ıˇsluˇsn´e skripty. Pˇri ˇr´ızen´ı mohou nastat dva pˇr´ıpady jak vyuˇz´ıt skripty. V prvn´ım pˇr´ıpadˇe skript pˇr´ımo ovlivˇ nujeme definovan´ y objekt. DEF SWITCHHALOGENDOWN Script { eventIn SFBool switchlight field SFNode levyhalogen USE LEVYHALOGEN field SFNode pravyhalogen USE PRAVYHALOGEN ...
MODEL ADMINISTRATIVN´I BUDOVY
34
url "javascript: function switchlight(hodnota) { if(hodnota) { levyhalogen.appearance.material.emissiveColor.r = 0; ... pravyhalogen.appearance.material.emissiveColor.r = 0; ... } } " } V druh´em pˇr´ıpadˇe je uvnitˇr skiptu vytvoˇrena poˇzadovan´a hodnota a n´aslednˇe se distribuuje na c´ılov´ y objekt, jak ilustruje n´asleduj´ıc´ı pˇr´ıklad. ... DEF SWITCHGATEVRATA Script { field SFBool stav FALSE field SFNode dvere USE VRATA eventIn SFBool switchdoor eventOut SFRotation rotace eventOut SFVec3f posun url "javascript: function switchdoor(hodnota) { if(hodnota) { if(stav) { stav=!stav; rotace = new SFRotation(0,1,0,1.571); posun = new SFVec3f(-1.5,0,-1.5); } else { stav=!stav; rotace = new SFRotation(0,1,0,0); posun = new SFVec3f(0,0,0); } } } " } ] ROUTE TOUCHVRATA.isActive TO SWITCHGATEVRATA.switchdoor ROUTE SWITCHGATEVRATA.rotace TO VRATA.set_rotation
MODEL ADMINISTRATIVN´I BUDOVY
35
ROUTE SWITCHGATEVRATA.posun TO VRATA.set_translation ... Posledn´ı moˇznost´ı jak vytvoˇrit dynamickou akci, je pouˇzit´ı tˇr´ıd javy. K vytvoˇren´ı tˇr´ıd je nutn´e pˇripojit pˇr´ısluˇsn´e knihovny pro manipulaci s DOM13 modelem virtu´aln´ıho svˇeta. Pro ˇr´ızen´ı ud´alost´ı a akc´ı ve virtu´aln´ım svˇetˇe sloˇz´ı vytvoˇren´e funkce v pˇripojen´ ych knihovn´ach. import vrml.eai.event.*; import vrml.eai.field.*; import vrml.eai.*; public class myApplet extends Script { private SFTime startTime; // eventIn private MFString ChangedText; // eventOut private SFVec3f ChangedPosition; // eventOut ... public void processEvent (Event touch) { ... SFVec3f position = new SFVec3f ( 0, -1, 0 ); ChangedPosition.setValue ( position ); ... } } 3.3.3
Dynamick´ e VRML
Pro spr´avn´e pochopen´ı pr´ace skriptu, kter´ y ud´av´a dynamiku ve virt´aln´ım svˇete, je nutn´e pochopit jeho chov´an´ı a smysl prov´adˇen´ ych operac´ı. Skript je uzel se speci´aln´ı vlastnost´ı. M˚ uˇze obsahovat libovoln´ y k´od definovateln´ y v jazyce javascript nebo v jazyce java. Pro pozdˇejˇs´ı smˇerov´an´ı ud´alosti do toho skriptu je nutn´e pouˇz´ıt direktivu DEF, kter´a jej definuje jako jedineˇcn´ y objekt, na kter´ y se lze odkazovat jeho jm´enem. N´asleduj´ıc´ı pˇr´ıklad ilustruje, jak ud´alost dotyku senzoru na vyp´ınaˇci halogenov´ ych svˇetel je pˇred´ana do vstupn´ı promˇenn´e switchlight v tˇelˇe uzlu Script. DEF SWITCHHALOGENDOWN Script { eventIn SFBool switchlight ... } ... ROUTE HALOGENTOUCHUP.isActive TO SWITCHHALOGENUP.switchlight Pro spuˇstˇen´ı potˇrebn´e funkce je nutn´e, aby se funkce jmenovala stejnˇe jako vstupn´ı promˇenn´a. Pot´e co se zap´ıˇse hodnota do vstupn´ı promˇenn´e, zavol´a se funkce stejn´eho jm´ena. 13
Document Object Model
MODEL ADMINISTRATIVN´I BUDOVY
36
function switchlight(hodnota) { if(hodnota) { ... } } Vstupn´ı promˇenn´a se jmenuje switchlight a m´a hodnotu uloˇzenou v promˇenn´e hodnota. V tomto pˇr´ıpadˇe se oˇcek´av´a bin´arn´ı hodnota z definice vstupn´ı promˇenn´e switchlight. N´aslednˇe je moˇzn´e podle hodnoty vstupn´ı promˇenn´e prov´est r˚ uzn´e pˇr´ıkazy. V tˇele skriptu je moˇzn´e nadefinovat v´ ystupn´ı hodnoty promˇenn´ ych pro dalˇs´ı distribuci do jin´ ych skript˚ u ˇci pro ˇr´ızen´ı objekt˚ u. ... #napojeni na drive definovany uzel LEVYHALOGEN field SFNode levyhalogen USE LEVYHALOGEN #vystupni promenna pro rotaci objektu eventOut SFRotation rotace #vystupni promenna pro posun objektu eventOut SFVec3f posun ... #distribuce vypoctene rotace na objekt ROUTE SWITCHGATE.rotace TO GATEKLIKA.set_rotation #distribuce vypocteneho posunu na objekt ROUTE SWITCHGATE.posun TO GATEKLIKA.set_translation Je moˇzn´e vytv´aˇret lok´aln´ı promˇenn´e slouˇz´ıc´ı jen pro potˇreby skriptu. ... field SFBool stav FALSE #definice stavu objektu ... if(stav) { stav=!stav; ... } ... Pokud jsou vyuˇzity tˇr´ıdy javy, je nutn´e, aby byl n´azev volan´e tˇr´ıdy zaps´an v hranat´ ych z´avork´ach. DEF SWITCHLEVAZARIVKAUP Script { eventIn SFBool switchlight
MODEL ADMINISTRATIVN´I BUDOVY
37
field SFNode levazarivka USE LEVAZARIVKA field SFNode levesvetlo USE LEVAZARIVKAPOINTLIGHT url ["PrezentLeftLightUP.class"] } Po pˇripojen´ı pˇr´ısluˇsn´ ych knihoven pro pr´aci s VRML do tˇr´ıdy, je moˇzn´e jak pˇrij´ımat ud´alosti z virt´aln´ıho svˇeta, tak i na nˇe reagovat. Jsou dvˇe moˇznosti jak lze propojit virtu´aln´ı svˇet s jazykem java. Prvn´ı je vytvoˇrit java applet a n´aslednˇe pomoc´ı ukazatele na prohl´ıˇzeˇc pracovat s virtu´aln´ım svˇetem. Podm´ınkou je zaregistrov´an´ı tˇr´ıdy jako posluchaˇce ud´alost´ı ve virtu´aln´ı svˇetˇe. Bliˇzˇs´ı informace vˇcetnˇe mnoha pˇr´ıklad˚ u je na [9] a [8]. Druhou moˇznost´ı je vytvoˇrit jednotliv´e tˇr´ıdy, kter´e se n´aslednˇe volaj´ı v tˇele uzlu. V diplomov´e pr´aci byl zvolen druh´ y pˇr´ıstup. Pˇri definici tˇr´ıdy m´a hlaviˇcka pˇresnˇe stanoven´e rozˇs´ıˇren´ı typu Script. public class MyScript extends Script { ... } Deklaruj´ı se VRML promˇenn´e, kter´e bude nutn´e ˇr´ıdit ˇci od nich pˇrij´ımat ud´alosti. ... // deklarace vstupnich a~vystupnich promennych private SFTime startTime; // eventIn private MFString ChangedText; // eventOut private SFVec3f ChangedPosition; // eventOut ... N´asleduje funkce, kter´a se vol´a automaticky pˇri spuˇstˇen´ı vitu´aln´ıho svˇeta. Proto je vhodn´e do jej´ıho tˇela um´ıstit pˇr´ıkazy k nastaven´ı skriptu na poˇc´ateˇcn´ı hodnotu. public void initialize () { ... #inicializace tridy ... } D˚ uleˇzitou funkc´ı nutnou pro reakce na ud´alosti z VRML je processEvent. Jej´ı vstupn´ı hodnota je ud´alost, kter´a je pak zpracov´ana v tˇele funkce resp. dalˇs´ımi funkcemi tˇr´ıdy. D´ale v tˇr´ıdˇe mohou b´ yt deklarov´any dalˇs´ı funkce podle potˇreby. public void processEvent (Event touch) { ... #reakce na udalost v~promenne touch ... }
MODEL ADMINISTRATIVN´I BUDOVY
38
N´aslednˇe staˇc´ı do kaˇzd´eho uzlu, kter´ y m´a vykonat nˇejakou dynamickou akci, vytvoˇrit a pˇripojit pˇr´ısluˇsnou tˇr´ıdu. N´asleduj´ıc´ı pˇr´ıklad ukazuje souvislost mezi ˇr´ızen´ım promˇenn´e v tˇr´ıdˇe a ve virtu´aln´ım svˇetˇe. ==== trida v~jave ==== public void initialize () { ... //nastaveni na eventOut ChangedPosition = (SFVec3f) getEventOut ("ChangedPosition"); ... } public void processEvent (Event touch) { ... private SFTime startTime; // eventIn private SFVec3f ChangedPosition; // eventOut ... SFVec3f position = new SFVec3f ( 0, -1, 0 ); ChangedPosition.setValue ( position ); ... } ==== rizeny uzel ve VRML svete ==== DEF ClickTextToTest TouchSensor { } DEF MyScript Script { ... eventIn SFTime startTime eventOut SFVec3f ChangedPosition url [ "MyScript.class"] ... DEF TextPosition Transform { translation 0 0 0 ... } ROUTE ClickTextToTest.touchTime TO MyScript.startTime ROUTE MyScript.ChangedPosition TO TextPosition.set_translation
3.4 3.4.1
Java ve VRML Zakomponov´ an´ı Javy do VRML
Pro ovl´ad´an´ı re´aln´eho svˇeta resp. prezentaˇcn´ı m´ıstnosti byly vytvoˇreny tˇr´ıdy, kter´e se pomoc´ı dvou komunikaˇcn´ıch tˇr´ıd pˇripojuj´ı na LNS server a ˇr´ıd´ı re´aln´ y model. Pouˇz´ıt´e komunikaˇcn´ı tˇr´ıdy jsou pops´any v kapitole 3.4.3. Vˇsechny ˇr´ıd´ıc´ı tˇr´ıdy jsou stejn´e, pouze se liˇs´ı v c´ıli jejich ˇr´ızen´ı a proto je pops´ana pouze jedna vzorov´a tˇr´ıda.
MODEL ADMINISTRATIVN´I BUDOVY
39
Pro vytvoˇren´ı tˇr´ıdy se pˇripoj´ı pˇr´ısluˇsn´e knihovny pomoc´ı direktiv import. import vrml.*; import vrml.field.*; import vrml.node.*; N´asleduje samotn´ y n´azev tˇr´ıdy, kter´ y mus´ı souhlasit se jm´enem volan´eho skriptu ve virtu´aln´ım svˇetˇe. N´asleduje direktiva extends pro urˇcen´ı, ˇze se jedn´a o skript pro virt´ aln´ı svˇet. public class PrezentLeftLightUP extends Script { ... } Pot´e se deklaruj´ı potˇrebn´e promˇenn´e, kter´e jsou ve virtu´aln´ım svˇetˇe a t´eˇz se deklaruj´ı tˇr´ıdy pro spojen´ı s LNS serverem. public class PrezentLeftLightUP extends Script { private SFBool switchlight; // eventIn private SFVec3f svitivabarva // eventOut private SFBool spustenisvetla // eventOut private LNSconnection lnsspojeni; //komunikacni trida private LNScommander lnscommands; //ridici trida ... } Po definici promˇenn´ ych, je nutn´e pˇrihl´asit v´ ystupn´ı promˇenn´e jako zdroje ud´alost´ı, aby bylo moˇzn´e je d´ale ve virtu´aln´ım svˇetˇe distribuovat. Na to je vhodn´a funkce initialize, kter´a se vol´a po naˇcten´ı virtu´aln´ıho svˇeta. public void initialize () { //zavedeni vystupni udalosti svitivabarva = (SFVec3f) getEventOut ("svitivabarva"); //zavedeni vystupni udalosti spustenisvetla = (SFBool) getEventOut ("spustenisvetla"); return; } Zb´ yv´a definovat reakce na poˇzadovanou ud´alost. Na vyvolan´e ud´alosti se reaguje v tˇele funkce processEvent. V t´eto funkci se t´eˇz definuje spojen´ı na LNS server a vytvoˇren´ı tˇr´ıdy pro ˇr´ızen´ı. N´aslednˇe se vykon´a pˇr´ıkaz v re´aln´em modelu a ve virt´aln´ım modelu. Nav´azan´e spojen´ı z˚ ustane aktivn´ı a bude v´azat otevˇren´ y port. Pokud bude zavˇreno okno s VRML, uzavˇrou se i vˇsechny takto otevˇren´e porty.
MODEL ADMINISTRATIVN´I BUDOVY
40
public void processEvent (Event touch) { lnsspojeni = new LNSconnection ("147.32.87.242", 2540, "domecek_01"); lnscommands = new LNScommander(lnsspojeni); lnscommands.LeftLight("ON"); SFVec3f barva = new SFVec3f ( 0.7, 0.7, 0.7); svitivabarva.setValue ( barva ); SFBool stav = new SFBool (TRUE); spustenisvetla.setValue ( stav ); return; } Nyn´ı je pˇripravena cel´a tˇr´ıda a je ji nutn´e pˇreloˇzit do pˇr´ısluˇsn´eho tvaru. Pˇrekladu a vˇsemu s n´ım spojen´ ym se vˇenuje kapitola 3.4.2. 3.4.2
Konstrukce java tˇ r´ıd pro virt´ aln´ı svˇ et
Pro spr´avnou funkci java tˇr´ıd je nutn´e splnit podm´ınky a nastavit prohl´ıˇzeˇc jak je uvedeno v kapitole 3.1.1. D´ale je nutn´e m´ıt na poˇc´ıtaˇci nainstalovanou javu od firmy Sun resp. jej´ı Java Developement Kit, kter´ y nainstaluje i pˇr´ısluˇsn´ y Java Runtime Environment. Jak je zm´ınˇeno v kapitole 3.1.1, je nutn´e tento Java Runtime Environment vypnout v nastaven´ı Moˇznosti internetu a zapnout pouˇz´ıv´an´ı Microsoft Java Virtual Machine. Pro u ´spˇeˇsn´e pouˇzit´ı vytvoˇren´ ych tˇr´ıd, je nutn´e v pˇrekladaˇci javy javac, nastavit pˇreklad na verzi javy 1.1 a pˇripojit pˇr´ısluˇsn´e knihovny. N´asleduj´ıc´ı pˇr´ıklad ukazuje pˇreklad skriptu vytvoˇren´eho v kapitole 3.4.1. #prekladac vytvori tridu pro javu 1.1 #pouzije knihovnu libclasses.zip #prelozi script PrezentLeftLightUP javac -O -target 1.1 -source 1.2 -classpath libclasses.zip; PrezentLeftLightUP.java 3.4.3
Ovl´ ad´ an´ı modelu pomoc´ı Javy
Spojen´ı s LNS serverem a vykon´av´an´ı pˇr´ıkaz˚ u je vytvoˇreno pomoc´ı dvou tˇr´ıd. Prvn´ı tˇr´ıda zprostˇredkov´av´a spojen´ı se samotn´ ym LNS serverem, vyb´ır´a podsyst´emy a pˇr´ısluˇsn´ a zaˇr´ızen´ı. Druh´a tˇr´ıda vykon´av´a sled jednoduch´ ych pˇr´ıkaz˚ u, kter´e ve sv´em d˚ usledk˚ u vedou k poˇzadovan´emu pˇr´ıkazu. Prvn´ı tˇr´ıda zajiˇst’uj´ıc´ı spojen´ı s LNS serverem se naz´ yv´a LNSconnection. Obsahuje pˇripojen´e knihovny od firmy Echelon pro pr´aci se serverem LNS. Definuje promˇenn´e nutn´e pro obsluhu cel´eho syst´emu v´ ybˇeru podsyst´em˚ u a zaˇr´ızen´ı. V parametru konstruktoru t´eto tˇr´ıdy se ud´av´a IP adresa serveru, na kter´ y se m´a pˇripojit. Port, kter´ y je urˇcen ke komunikaci s LNS serverem. Standardnˇe se jedn´a o port 2540. Posledn´ı parametr je LonWorks s´ıt’ do jak´e se m´a pˇripojit. N´asleduje vytvoˇren´ı kontruktoru a pˇripojen´ı do nastaven´e s´ıtˇe, v´ ybˇer prvn´ıho podsyst´emu a prvn´ıho zaˇr´ızen´ı v tomto podsyst´emu.
MODEL ADMINISTRATIVN´I BUDOVY
41
LNSconnection (String IPaddress, int Port, String Network) { ... objectServer = new LNSObjectServer (); networks = objectServer.getNetworks(); network = networks.getItem(ServerIP, ServerPort, SelectNetwork); network.open(); systems = network.getSystems(); system = systems.getItem(1); system.open(); mainsubsystems = system.getSubsystems(); // vyber rozhrani do LonWorks mainsubsystem = mainsubsystems.getItem (2); //====== INICIALIZACNI VYBER SUBSYSTEMU ======= subsystems = mainsubsystem.getSubsystems(); subsystem = subsystems.getItem (0);// vyber mistnosti //====== INICIALIZACNI VYBER ZARIZENI ======= appdevices = subsystem.getAppDevices(); appdevice = appdevices.getItem(0); } D´ale n´asleduj´ı deklarace atomick´ ych funkc´ı, kter´e slouˇz´ı k jednoduch´ ym operac´ım s LNS serverem resp. s LNS datab´az´ı vybran´e s´ıtˇe. • ChoseSubsystem(int Subsystem) - v´ ybˇer podsyst´emu podle zadan´eho ˇc´ısla • ChoseDevice(int Device) - v´ ybˇer zaˇr´ızen´ı podle zadan´eho ˇc´ısla v aktu´alnˇe zvolen´em podsyst´emu • getValue(String NameOfVariable) - vr´ac´ı hodnotu promˇenn´e zadanou jej´ım jm´enem jako vstupn´ı hodnotu • setValue(String NameOfVariable,String Value) - zap´ıˇse zadanou hodnotu do promˇenn´e vloˇzen´e jej´ım jm´enem jako vstupn´ı hodnotu • getNameOfChosenSubsystem() - vr´ac´ı n´azev aktu´alnˇe zvolen´eho podsyst´emu • getNameOfChosenDevice() - vr´ac´ı n´azev aktu´alnˇe zvolen´eho zaˇr´ızen´ı v aktu´alnˇe zvolen´em podsyst´emu • printAllNamesOfSubsystems() - vyp´ıˇse na obrazovku statistiku o vˇsech podsyst´emech. Jm´ena, poˇrad´ı v jak´em jsou v LNS datab´azi, poˇcet zaˇr´ızen´ı v jednotliv´ ych podsyst´emech. • printAllNamesOfDevicesOfChosenSubsystem() - vyp´ıˇse na obrazovku statistiku o vˇsech zaˇr´ızen´ıch v aktu´aln´ım podsyst´emu. Jm´eno, poˇrad´ı v jak´em jsou podsyst´emu, poˇcet promˇenn´ ych v zaˇr´ızen´ı a neuron ID dan´eho zaˇr´ızen´ı. • PushUp() - vyvol´a stejnou ud´alost jako rychl´e stisknut´ı a uvolnˇen´ı horn´ıho tlaˇc´ıtka na bezdr´atov´em ovladaˇci
MODEL ADMINISTRATIVN´I BUDOVY
42
• HoldUp() - vyvol´a stejnou ud´alost jako trval´e stisknut´ı horn´ıho tlaˇc´ıtka na bezdr´atov´em ovladaˇci • ReleaseUp() - vyvol´a stejnou ud´alost jako trval´e uvolnˇen´ı horn´ıho tlaˇc´ıtka na bezdr´atov´em ovladaˇci • PushDown() - vyvol´a stejnou ud´alost jako rychl´e stisknut´ı a uvolnˇen´ı doln´ıho tlaˇc´ıtka na bezdr´atov´em ovladaˇci • HoldDown() - vyvol´a stejnou ud´alost jako trval´e stisknut´ı doln´ıho tlaˇc´ıtka na bezdr´atov´em ovladaˇci • ReleaseDown() - vyvol´a stejnou ud´alost jako trval´e uvolnˇen´ı doln´ıho tlaˇc´ıtka na bezdr´atov´em ovladaˇci • LogOut() - odpoj´ı se od datab´aze a LNS serveru • LogIn() - pˇripoj´ı se k dˇr´ıve zvolen´e datab´azi a LNS serveru Nadstavbovou tˇr´ıdou nad LNSconnection je LNScommander. Jedinou vstupn´ı hodnotu konstruktoru tˇr´ıdy je LNSconnection se spojen´ım na LNS server a pˇr´ısluˇsnou LNS datab´azi. N´asleduj´ı funkce, kter´e obsahuj´ı sledy jednoduch´ ych pˇr´ıkaz˚ u z funkc´ı tˇr´ıdy LNSconnection, kter´e ve sv´em d˚ usledky vykonaj´ı pˇr´ısluˇsn´ y pˇr´ıkaz. Kaˇzd´a funkce m´a jako vstupn´ı parametr poˇzadovan´ y pˇr´ıkaz. Tento popis ilustruje pˇr´ıklad funkce k ovl´ad´ an´ı pl´atna v prezentaˇcn´ı m´ıstnosti. public String Screen(String Command) { String Direction=""; String State=""; if(Command.equals("UP")){ //reakce na prikaz UP //vyber vhodneho zarizeni listDevices.setValue("nviActiveDevice","3,0 0"); //zadani prislusne hodnoty listDevices.setValue("nviScreenSwitch","0,0 0"); //vyvolani sepnuti tlacitka ovladani listDevices.PushUp(); } if(Command.equals("DOWN")){//reakce na prikaz DOWN //vyber vhodneho zarizeni listDevices.setValue("nviActiveDevice","3,0 0"); //zadani prislusne hodnoty listDevices.setValue("nviScreenSwitch","100,0 0"); //vyvolani sepnuti tlacitka ovladani listDevices.PushDown(); } if(Command.equals("STATE")){//reakce na prikaz STATE //vyber vhodneho zarizeni listDevices.setValue("nviActiveDevice","3,0 0"); //prevede vnitrni reprezentaci stavu
MODEL ADMINISTRATIVN´I BUDOVY
43
//na jeji slovni reprerentaci int Vyskyt = listDevices.getValue("nvoScreen").indexOf(","); State = listDevices.getValue("nvoScreen").substring(0,Vyskyt); if(State.equals("100")) { Direction = "UP"; } if(State.equals("0")) { Direction = "DOWN"; } } return Direction; } N´asleduje jednoduch´ y popis vytvoˇren´ ych funkc´ı tˇr´ıdy LNScommander,kter´e ovl´adaj´ı zaˇr´ızen´ı um´ıstˇen´e v prezentaˇcn´ı m´ıstnosti. • Screen(String Command) - povolen´e vstupn´ı hodnoty pˇr´ıkaz˚ u: UP, DOWN, STATE. Vyt´ahne, spust´ı pl´atno a vyp´ıˇse slovn´ı reprezentaci stavu pl´atna. • Halogens(String Command) - povolen´e vstupn´ı hodnoty pˇr´ıkaz˚ u: ON, OFF, STATE. Vypne, zapne halogenov´a svˇetla a vyp´ıˇse slovn´ı reprezentaci stavu. • LeftLight(String Command) - povolen´e vstupn´ı hodnoty pˇr´ıkaz˚ u: ON, OFF, HOLDUP, HOLDDOWN,RELEASEUP, RELEASEDOWN, STATE. Vypne, zapne lev´e z´aˇrivkov´e svˇetlo. Postupnˇe vyp´ın´a ˇci rozsvˇec´ı svˇetlo a vyp´ıˇse slovn´ı reprezentaci stavu. • RightLight(String Command) - povolen´e vstupn´ı hodnoty pˇr´ıkaz˚ u: ON, OFF, HOLDUP, HOLDDOWN,RELEASEUP, RELEASEDOWN, STATE. Vypne, zapne prav´e z´aˇrivkov´e svˇetlo. Postupnˇe vyp´ın´a ˇci rozsvˇec´ı svˇetlo a vyp´ıˇse slovn´ı reprezentaci stavu. •
RedLedLight(String Command) - povolen´e vstupn´ı hodnoty pˇr´ıkaz˚ u: ON, OFF, HOLDUP, HOLDDOWN,RELEASEUP, RELEASEDOWN, STATE. Vypne, zapne ˇcerven´e podkresov´e svˇetlo. Postupnˇe vyp´ın´a ˇci rozsvˇec´ı svˇetlo a vyp´ıˇse slovn´ı reprezentaci stavu.
• GreenLedLight(String Command) - povolen´e vstupn´ı hodnoty pˇr´ıkaz˚ u: ON, OFF, HOLDUP, HOLDDOWN,RELEASEUP, RELEASEDOWN, STATE. Vypne, zapne zelen´e podkresov´e svˇetlo. Postupnˇe vyp´ın´a ˇci rozsvˇec´ı svˇetlo a vyp´ıˇse slovn´ı reprezentaci stavu. •
BlueLedLight(String Command) - povolen´e vstupn´ı hodnoty pˇr´ıkaz˚ u: ON, OFF, HOLDUP, HOLDDOWN,RELEASEUP, RELEASEDOWN, STATE. Vypne, zapne modr´e podkresov´e svˇetlo. Postupnˇe vyp´ın´a ˇci rozsvˇec´ı svˇetlo a vyp´ıˇse slovn´ı reprezentaci stavu.
• Roller(String Command) - povolen´e vstupn´ı hodnoty pˇr´ıkaz˚ u: UP, DOWN, STATE. Vyt´ahne, spust´ı roletu a vyp´ıˇse slovn´ı reprezentaci stavu rolety.
MODEL ADMINISTRATIVN´I BUDOVY
44
V´ yˇse popsan´e tˇr´ıdy dok´aˇz´ı plnˇe simulovat akce vyvolan´e uˇzivatelem a ovl´adat vˇsechna zaˇr´ızen´ı v prezentaˇcn´ı m´ıstnosti. V z´avˇeru diplomov´e pr´ace je pˇredstaven moˇzn´ y postup rozˇs´ıˇren´ı tˇr´ıdy LNScommander o dalˇs´ı m´ıstnosti a zaˇr´ızen´ı.
3.5 3.5.1
VRML a realn´ y model administrativn´ı budovy Java komponenty firmy Echelon
Pro ovl´ad´an´ı re´aln´eho modelu, bylo vytvoˇreno 16 tˇr´ıd, kter´e byly postaveny tak, jak bylo pops´ano v kapitole 3.4.1. Vˇsechny popsan´e a vytvoˇren´e tˇr´ıdy ve sv´em z´akladu vyuˇz´ıvaj´ı knihovny firmy Echelon. Pokud se pˇripojuje tˇr´ıda na LNS server, vyuˇz´ıv´a objektu LNSObjectServer, kter´ y n´aslednˇe obsahuje spojen´ı s LNS serverem a vybranou s´ıt´ı. Po vytvoˇren´ı tohoto objektu, je nutn´e volat funkci getNetworks(), kter´a jako n´avratovou hodnotu vrac´ı objekt LNSNetworks, kter´ y jiˇz bude poskytovat funkci pro spojen´ı s pˇr´ısluˇsn´ ym LNS serverem. Pˇr´ıklad ukazuje nav´az´an´ı spojen´ı s LNS serverem. LNSNetworks networks; ... objectServer = new LNSObjectServer (); networks = objectServer.getNetworks(); network = networks.getItem(ServerIP, ServerPort, SelectNetwork); ... Pot´e je nutn´e samotnou s´ıt’ otevˇr´ıt, vybrat rozhran´ı, kter´e je spojen´ım do LonWorks. Po proveden´ı tˇechto operac´ı je tˇr´ıda LNSconnetion plnˇe pˇripojena do s´ıtˇe LonWorks skrze pˇr´ısluˇsn´ y LNS server. network.open(); systems = network.getSystems(); system = systems.getItem(1); system.open(); mainsubsystems = system.getSubsystems(); // vyber rozhrani do LonWorks um´ ıstˇ en´ e // umistene v~realnem modelu budovy mainsubsystem = mainsubsystems.getItem (2); 3.5.2
Proces komunikace mezi virtu´ aln´ım a re´ aln´ ym svˇ etem
Cel´ y proces od vzniku ud´alosti ve virt´aln´ım svˇete aˇz po vykon´an´ı pˇr´ıkazu v re´aln´em svˇete je ˇretˇezcem mnoha krok˚ u. Ve virtu´aln´ım svˇetˇe je prvn´ım krokem vyvol´an´ı ud´alosti v dotykovov´em senzoru. Ud´alost dotyku se pˇrenese pˇres direktivu ROUTE na pˇr´ısluˇsn´ y uzel Script. Ten zavol´a zadanou tˇr´ıdu. Tato tˇr´ıda vytvoˇr´ı spojen´ı s definovan´ ym LNS serverem, vykon´a pˇr´ıkazy uveden´e v tˇele tˇr´ıdy. T´ım se zap´ıˇs´ı hodnoty do promˇenn´ ych v LNS datab´azi, kter´e ve sv´em d˚ usledku znamenaj´ı pˇr´ıkaz pro fyzik´a zaˇr´ızen´ı k nastaven´ı sv´ ym v´ ystup˚ u na zadanou hodnotu. V´ ysledkem je proveden´ı poˇzadovan´e akce. Tento ˇretˇezec je velice kr´atk´ y a rychl´ y. Proto reakce zaˇr´ızen´ı od vyvol´an´ı ud´alosti dotyku je
MODEL ADMINISTRATIVN´I BUDOVY
45
kratˇs´ı neˇz pˇri pouˇzit´ı vizualizace, kter´a vyuˇz´ıv´a sluˇzeb OPC serveru. OPC server je prostˇredn´ık a d´ale zapisuje nebo z´ısk´av´a data z LNS serveru. V z´avˇeru diplomov´e pr´ ace je uveden moˇzn´ y rozvoj aplikace s ohledem na moˇznou vizualizaci proces˚ u v re´aln´em modelu budovy.
3.6 3.6.1
Cortona VRML prohl´ıˇ zeˇ c Popis prohl´ıˇ zeˇ ce
K prohl´ıˇzen´ı virtu´aln´ıho svˇeta VRML byl vybr´an prohl´ıˇzeˇc firmy Parallelgraphics s n´azvem Cortona. Na webov´ ych str´ank´ach Parallelgraphics, lze vybrat z instalace prohl´ıˇzeˇce VRML pˇr´ımo do webov´eho prohl´ıˇzeˇce nebo je nab´ızena moˇznost staˇzen´ı cel´eho prohl´ıˇzeˇce a n´asledn´e instalace. Vhodnˇejˇs´ı je st´aˇzen´ı kompletn´ıho bal´ıˇcku prohl´ıˇzeˇce a n´asledn´e instalace do webov´eho prohl´ıˇzeˇce. Samotn´ y prohl´ıˇzeˇc Cortona se nainstaluje jako z´as¨ uvn´ y modul do vˇsech prohl´ıˇzeˇc˚ u, kter´e jsou podporov´any. Jedn´a se o prohl´ıˇzeˇc Internet Explorer, Mozilla Firefox a Opera. Prohl´ıˇzeˇc Cortona byl vybr´an pro svou jednoduchost a pˇrehlednost sv´ ych ovl´adac´ıch prvk˚ u. Na obr´azku 14 je prohl´ıˇzeˇc Cortona vyobrazen vˇcetnˇe vˇsech sv´ ych ovl´adac´ıch prvk˚ u. 3.6.2
Ovl´ ad´ an´ı prohl´ıˇ zeˇ ce
Prohl´ıˇzeˇc Cortona umoˇzn ˇuje vedle ovl´ad´an´ı pomoc´ı myˇsi, ovl´ad´an´ı pomoc´ı kl´aves. Pokud je stisknuta kl´avesa ALT, bude zp˚ usob pohybu pˇrepnut z pohybu standardn´ıho, pˇrirozen´eho lidsk´e ch˚ uzi, na pohyb pouze v kolm´ ych smˇerech. Tedy vlevo, vpravo, vzad ´ je Avatar ukotven a vpˇred. Nelze prov´adˇet ot´aˇcen´ı. Pˇri stisku kl´avesy MEZERNIK v aktu´aln´ım m´ıstˇe a kl´avesami ˇsipek se lze ot´aˇcet kolek stˇredu Avatara. V lev´e ˇc´ asti prohl´ıˇzeˇce jsou tˇri ovl´adac´ı prvky k ˇr´ızen´ı zp˚ usobu pohybu ve virtu´aln´ım svˇetˇe. WALK je urˇcen k pohybu klasickou ch˚ uz´ı vˇcetnˇe vˇsech fyzik´aln´ıch d˚ usledk˚ u. Pokud tedy Avatar p˚ ujde po ploˇsinˇe, ve kter´e bude otvor, propadne se pokud nad nˇej vstoup´ı. FLY umoˇzn ˇuje pohybovat se zcela volnˇe v prostoru, jako by mohl Avatar l´etal. V tomto pˇr´ıpadˇe by avatar do otvoru pˇri pr˚ uchodu nad n´ım nespadl. Posledn´ım zp˚ usobem je STUDY. Jedn´ a se o pohyb cel´eho virtu´aln´ıho svˇeta kolem jeho stˇredu. Dalˇs´ı moˇznosti ovl´ad´an´ı nab´ız´ı lok´aln´ı nab´ıdka.
MODEL ADMINISTRATIVN´I BUDOVY
46
Obr´azek 26: Lok´aln´ı nab´ıdka prohl´ıˇzeˇce Cortona
3.6.3
Dalˇ s´ı alternativn´ı prohl´ıˇ zeˇ ce VRML svˇ et˚ u
Vedle prohl´ıˇzeˇce Cortona, existuj´ı i dalˇs´ı VRML prohl´ıˇzeˇce. Jedn´a se o Cosmo Player od firmy Cosmo Software, BS Contact od konzorcia Web3D a mnoho dalˇs´ıch.
3.7 3.7.1
Webov´ y port´ al Redakˇ cn´ı syst´ em
Pro prezentaci a zdroj informac´ı slouˇz´ı redakˇcn´ı syst´em um´ıstˇen´ y v serveru v modelu budovy. Pro tento u ´ˇcel byl vybr´an redakˇcn´ı syst´em Mambo. Jedn´a se o Open source projekt, kter´ y je volnˇe staˇziteln´ y na str´ank´ach www.mamboserver.com. Cel´ y projekt je podporov´an ˇsirokou komunitou v´ yvoj´aˇr˚ u. Mambo poskytuje administraˇcn´ı prostˇred´ı umoˇzn ˇuj´ıc´ı veˇsker´e akce, kter´e jsou nezbytn´e ke kvalitn´ımu veden´ı informaˇcn´ıho serveru. Nab´ız´ı sadu pˇr´ıstupov´ ych pr´ av, instalaci vzhledu, jazykov´e mutace, vkl´ad´an´ı ˇcl´ank˚ u, registraci uˇzivatel˚ u, vytv´aˇren´ı menu a t´eˇz obsahuje grafick´ y n´astroj pro psan´ı pˇr´ıspˇevk˚ u.
MODEL ADMINISTRATIVN´I BUDOVY
Obr´azek 27: Administraˇcn´ı prostˇred´ı redakˇcn´ıho syst´emu Mambo
Obr´azek 28: Editor pˇr´ıspˇevk˚ u
47
MODEL ADMINISTRATIVN´I BUDOVY
3.7.2
48
Rozvoj webov´ eho port´ alu
Hlavn´ım u ´ˇcelem cel´eho port´alu je informovat n´avˇstˇevn´ıky o projektu ˇr´ızen´ı inteligentn´ı administrativn´ı budovy. Mˇel by obsahovat z´akladn´ı informace o projektu, poˇzadovan´e popisy jednotliv´ ych ˇc´ast´ı modelu a struˇcn´a sch´emata elektroinstalace. Pro registrovan´e uˇzivatele by se mˇel otevˇr´ıt ˇsirˇs´ı reperto´ar informac´ı. Od pˇresn´ ych popis˚ u, pˇres elektrick´ a sch´emata zaˇr´ızen´ı po n´avody a manu´aly k zaˇr´ızen´ım um´ıstˇen´ ych v modelu. V koneˇcn´e f´azi by mˇel m´ıt informaˇcn´ı server dvˇe u ´lohy. Prvn´ı je prezentaˇcn´ı a druh´a je informaˇcn´ı. Prezenˇcn´ı ˇc´ast komplexnˇe pˇredstavuje projekt administrativn´ı budovy. Druh´a ˇc´ast je zdrojem vˇsech potˇrebn´ ych informac´ı pro studenty pracuj´ıc´ı s modelem a urychluje jim sezn´amen´ı se s funkcemi cel´e budovy a vˇsech zaˇr´ızen´ı.
Obr´azek 29: Standardn´ı vzhled u ´vodn´ı str´anky redakˇcn´ıho syst´emu
MODEL ADMINISTRATIVN´I BUDOVY
4
49
Otopn´ y syst´ em
4.1
´ Uvod do problematiky vyt´ apˇ en´ı objekt˚ u
V dneˇsn´ı dobˇe, kdy stoup´a cena energi´ı, je potˇreba s energi´ı spotˇrebovanou na vyt´apˇen´ı uv´aˇzlivˇe ˇsetˇrit. Z tohoto d˚ uvodu se vedle klasick´ ych zdroj˚ u energie pro vyt´apen´ı jako je uhl´ı, plyn a elektˇrina zkouˇs´ı i alternativn´ı zdroje energie a tepla jako tepeln´a ˇcerpadla, vˇetrn´e elektr´arny, spalov´an´ı biomasy, sol´arn´ı kolektory a fotovoltalick´e ˇcl´anky. K dalˇs´ım u ´spor´am energie dojde pˇri d˚ ukladn´e izolaci vyt´apˇen´ ych objekt˚ u. Proto se starˇs´ı domy pˇri renovaci zatepluj´ı. Nov´e domy se jiˇz bez d˚ ukladn´e izolace ani nestav´ı. Starˇs´ı panelov´e domy ˇcerpaj´ı dotace ˇci z vlastn´ıch prostˇredk˚ u poˇrizuj´ı izolaci a maxim´alnˇe eleminuj´ı u ´nik tepla. T´eˇz domky v soukrom´em vlastnictv´ı investuj´ı do izolace. Nejedn´a se o lacinou investici, ovˇsem v dlouhodob´em horizontu se takov´a investice vyplat´ı. Jako uk´azka efektivity vyt´apˇen´ı pˇri pouˇzit´ı izolace byly v administrativn´ı budovˇe vybudov´any dvˇe rozd´ıln´e kancel´aˇre, kde prvn´ı kancel´aˇr nebyla vybavena dostateˇcnou izolac´ı, ale obsahuje v´ ykonn´e otopn´e tˇeleso. Druh´a m´ıstnost m´a menˇs´ı a t´ım i na provoz levnˇejˇs´ı otopn´e zaˇr´ızen´ı a je l´epe tepelnˇe izolov´ana pro menˇs´ı odvod tepla do okol´ı. 4.1.1
Vyt´ apˇ en´ı budov
Problematika vyt´apˇen´ı budov ˇci obecnˇe staveb je rozs´ahl´a oblast. Zamˇeˇr´ıme-li se pouze na vyt´apˇen´ı budov, lze identifikovat kroky vedouc´ı k efektivn´ımu vyt´apˇen´ı. Prvn´ı je v´ ybˇer vhodn´eho zdroje energie pro vyt´apˇen´ı. D´ale je nutn´e se soustˇredit na maxim´aln´ı u ´sporu energie. Vyt´apˇen´ı budov je procesem od vhodn´eho v´ ybˇeru energie pro vyt´apˇen´ı ( uhl´ı, plyn, biomasa aj.), pˇres v´ ybˇer tepeln´e izolace, kalkulace tepeln´ ych ztr´at objektu a na to navazuj´ıc´ı v´ ypoˇcet v´ ykonu topn´ ych zaˇr´ızen´ı (radi´atory, pˇr´ımotopy aj.). Volba jejich vhodn´eho um´ıstˇen´ı a nosn´eho m´edia pro teplo (voda, sol´arn´ı tekutina aj. ). N´asleduje n´avrh veden´ı pro topn´e m´edium a konstrukce cel´eho otopn´eho syst´emu. 4.1.2
Tepeln´ e zdroje
Zdrojem tepla m˚ uˇze b´ yt klasick´e spalov´an´ı uhl´ı, plynu ˇci pˇremˇena elektrick´e energie na teplo. Dalˇs´ım zdrojem tepeln´e energie jsou alternativn´ı druhy jako jsou sol´arn´ı kolektory, kter´e pˇrij´ımaj´ı sluneˇcn´ı z´aˇren´ı a pˇren´aˇs´ı jej na ohˇrev kapaliny a ten n´aslednˇe na ohˇrev otopn´e vody pro vyt´apˇen´ı ˇci v´ yrobu elektrick´e energie. Zde je podm´ınkou efektivity v´ yroby elektrick´e energie velk´ y poˇcet dn´ı sluneˇcneˇcn´ıho svitu. Proto se stav´ı v´ ykonn´e elektr´arny na t´eto b´azi pˇredevˇs´ım v pouˇst´ıch. Nev´ yhoda tohoto zdroje je v jeho z´avislosti na siln´em slunˇcn´ım svitu. Nejv´ıce je energie potˇreba v zimn´ım obdob´ı, kdy je pr´ avˇe siln´eho slunˇeˇcn´ıho svitu velmi m´alo.
MODEL ADMINISTRATIVN´I BUDOVY
50
Obr´azek 30: Tepeln´ y sol´arn´ı okruh
Proto jsou jeˇstˇe dalˇs´ı moˇznosti z´ısk´av´aln´ı alternativn´ıch zdroj˚ u tepla. V posledn´ıch letech se zaˇc´ın´a vyuˇz´ıvat jako zdroj tepeln´a ˇcerpadla. Pomoc´ı stejn´eho principu jako v chladic´ıch zaˇr´ızen´ı je odeb´ır´ ano teplo z okol´ı (vzduch, voda, hlubinn´e vrty, ..) a z´ıskan´e teplo je pˇred´av´ano pˇres kompresor do vyt´apˇen´eho objektu. Bliˇzˇs´ı informace na [5].
Obr´azek 31: Diagram tepeln´eho ˇcerpadla: 1) kondenz´ator, 2) expanzn´ı ventil, 3) v´ yparn´ık, 4) kompresor
4.1.3
Tepeln´ e ztr´ aty
Moˇznost´ı jak uˇsetˇrit na vyt´apˇen´ı, je zamˇeˇrit se na omezen´ı u ´niku tepla z vyt´apˇen´e budovy. Existuje mnoho zp˚ usob˚ u jak zabr´anit u ´niku energie. Nejv´ıce se rozˇs´ıˇrilo um´ıstˇen´ı tepeln´e izolace na obvodov´e stˇeny budovy ve spojen´ı s pouˇzit´ım tepelnˇe v´ yhodnˇejˇs´ıch stavebn´ıch
MODEL ADMINISTRATIVN´I BUDOVY
51
materi´al˚ u jako je porotherm14 . Obvodov´e zdi se izoluj´ı pouˇzit´ım polystyr´enov´ ych desek, 15 kter´e slouˇz´ı k odstranˇen´ı tepeln´ ych most˚ u . Pouˇz´ıvaj´ı se desky od 5cm tloˇst’ky od 15 cm. D´ale je pouˇzito nˇekolik dalˇs´ıch vrtev tlouˇst’ky 1mm pro zlepˇsen´ı tepeln´e izolace a mont´ aˇz na obvodov´e zdivo. V´ yznamn´a ˇc´ast tepla unik´a stˇrechou, proto se izoluj´ı i podkrov´ı a ve vznikl´em prostoru se buduj´ı obytn´e m´ıstnosti. Pomoc´ı termokamery m˚ uˇzeme z´ıskat termogram viz obr´azek [32]. Zdroj dat [3].
Obr´azek 32: Prostup tepla z budovy rodinn´eho domu a demonstrace tepeln´ ych most˚ u
4.2
Vybran´ e otopn´ e syst´ emy
Mnoho zdroj˚ u energie nelze v naˇsem pˇr´ıpadˇe pro realizaci v modelu administrativn´ı budovy pouˇz´ıt. Proto byly vybr´any druhy energie, kter´e byly dostupn´e a realizovateln´e. Pro vyt´apˇen´ı je pouˇzit jako zdroj energie elektrick´ y proud z veˇrejn´e elektrick´e s´ıtˇe a sol´ arn´ı kolektor. 4.2.1
Elektrokotel
Elektrick´ y kotel ohˇr´ıv´a pomoc´ı topn´eho tˇelesa o v´ ykonu 1000W otopnou vodu, kter´ a d´ale dod´av´a teplo do radi´ator˚ u. Je nap´ajen napˇet´ım 230V/50Hz. Cel´ y kotel m´a objem 40l (bez objemu potrub´ı a radi´ator˚ u). V kotli jsou um´ıstˇena dvˇe ˇcidla teploty16 . Jsou zasunuta do j´ımek, kter´e zasahuj´ı 10cm do kotle, coˇz zajiˇstuje dostateˇcnˇe pˇresn´e mˇeˇren´ı teploty v kotli. Mˇeˇr´ı se teploty odchoz´ı a pˇr´ıchoz´ı vody. Vzhledem k tomu, ˇze nedoch´ az´ı k extr´emn´ım v´ ykyv˚ um teplot v okol´ı modelu, pˇristoupilo se k n´asleduj´ıc´ımu kompromisu: sol´arn´ı kolektor nen´ı oddˇelen od vody pro otopn´a tˇelesa. Pokud by byl sol´arn´ı kolektor vystaven velk´ ym v´ ykyv˚ um teplot, byl by v kotli um´ıstˇen v´ ymˇen´ık, kter´ y by pˇred´ av´ al z´ıskanou energii otopn´e vodˇe. Jako kapalina se v tomto pˇr´ıpadˇe pouˇz´ıv´a napˇr. Kolekton17 14
Bliˇzˇs´ı informace na www.porotherm.cz Tepeln´ y most je m´ısto, kde unik´ a v´ıce tepeln´e energie a m´ a v interi´eru studenˇejˇs´ı povrch a naopak v exteri´eru teplejˇs´ı povrch neˇz okoln´ı konstrukce 16 ˇ Cidla jsou realizov´ ana pomoc´ı odporov´ ych ˇcidel Pt100 17 Teplonosn´ a kapalina do sol´ arn´ıho kolektoru. Provozn´ı teplota: -30◦ C aˇz +140◦ C 15
MODEL ADMINISTRATIVN´I BUDOVY
52
Obr´azek 33: Sch´ema rozm´ıstnˇen´ı ˇcidel teploty a topn´eho tˇelesa
4.2.2
Sol´ arn´ı kolektor
Prvn´ı zp˚ usob vyt´apˇen´ı modelu budovy je pomoc´ı sol´arn´ıho kolektoru. Ten je um´ıstˇen na stˇreˇse modelu. Pro simulaci sluneˇcn´ı energie byl vybr´an infraz´aˇriˇc o v´ ykonu 2000W. Jedn´a se o klasick´ y infraz´aˇriˇc s rub´ınovou trubic´ı vyzaˇruj´ıc´ı ˇcerven´e svˇetlo ve viditeln´em spektru vyzaˇrovan´eho vlnˇen´ı. Je um´ıstˇen pˇribliˇznˇe 80 cm od plochy kolektoru. Menˇs´ı vzd´alenost nen´ı moˇzn´a z d˚ uvodu vysok´ ych teplot vytv´aˇren´ ych infraz´aˇriˇcem na povrchu sol´arn´ıho kolektoru. Vˇetˇs´ı vzd´alenost je omezena prostorem v kter´em je model um´ıstˇen. Tento infraz´aˇriˇc a sol´arn´ı kolektor je ovl´ad´an programovateln´ ym automatem Wago18 . 4.2.3
Vyt´ apˇ en´ı radi´ atory
Druh´ ym zp˚ usobem vyt´apˇen´ı modelu budovy je vyt´apˇen´ı pomoc´ı elektrokotle. Ohˇr´ at´ a voda je distribuov´ana ˇcerpadly do radi´atorov´eho okruhu. Menˇs´ı radi´ator o rozmˇerech 50x30x2 centimetr˚ u byl um´ıstˇen do izolovan´e m´ıstnosti a vˇetˇs´ı v´ ykonˇejˇs´ı radi´ ator o rozmˇerech 80x50x2 centimetr˚ u byl um´ıstˇen do m´enˇe izolovan´e m´ıstnosti. Tyto radi´atory jsou napojeny na syst´em trubek urˇcen´ ych k rozvodu otopn´e vody po budovˇe. Radi´atory jsou opatˇreny ventily pro regulaci pˇr´ıvodu otopn´e vody.
4.3
Tepeln´ e ztr´ aty modelu
V´ ypoˇcet tepeln´ ych ztr´at je budovy je velmi n´aroˇcn´a u ´loha pokud chceme dos´ahnu pˇresn´eho v´ ysledku. K jej´ımu v´ ypoˇctu je potˇreba vˇedˇet jednotliv´e rozmˇery budovy, strukturu zdiva, rozloˇzen´ı prostoru a vypoˇcten´ y objem prostor. D´ale je potˇreba vˇedˇet maxim´aln´ı a minim´aln´ı teploty poˇzadovan´e ve vyt´apˇen´em prostoru, maxim´aln´ı a minim´ aln´ı teploty okol´ı vyt´apˇen´eho prostoru. Vzhledem k t´eto tˇeˇzk´e a komplikovan´e u ´loze bylo rozhodnuto o kooperaci s faktutou stavebn´ı. Pomoc´ı speci´aln´ıho programu vypoˇcetli ztr´ aty 18
Wago typ 750-819 s rozhran´ım pro pˇripojen´ı k LonWorks
MODEL ADMINISTRATIVN´I BUDOVY
53
pro jednotliv´e m´ıstnosti. Kaˇzd´ y materi´al ve struktuˇre zdi m´a jinou tepelnou vodivost. Proto byl dod´an ˇrez stˇenou s popisem jednotliv´ ych vrstev. 4.3.1
Materi´ aly pro v´ ypoˇ cet tepeln´ ych ztr´ at modelu
Pro v´ ypoˇcet ztr´at bylo potˇreba zmˇeˇrit rozmˇery kancel´aˇr´ı. D´ale byl nakreslen profil zdiva resp. pl´aˇstˇe modelu budovy.
Obr´azek 34: Pr˚ uˇrez strukturou pl´aˇstˇe stˇeny modelu
Byly pops´any jednotliv´e ˇc´asti pl´aˇstˇe a z jak´eho materi´alu jsou jednotilv´e vrstvy. Vypracovan´ y podklad z tˇechto mˇeˇren´ı pro v´ ypoˇcet byl jeˇstˇe doplnˇen o teploty okol´ı a poˇzadovan´e teploty v m´ıstnostech. 4.3.2
V´ ypoˇ cet tepeln´ ych ztr´ at
ˇ Samotn´ y v´ ypoˇcet tepeln´ ych ztr´at se ˇr´ıd´ı podle nˇekolika norem CSN. Zdroj dat [4]. Normy pro v´ ypoˇcet souˇcinitele prostupu tepla: ˇ • CSN 06 0210: kvˇeten 1994 ˇ EN ISO 14683:2000 • CSN ˇ • CSN EN ISO 13370:1999 ˇ • CSN EN 12831: bˇrezen 2005 ˇ • CSN 73 0540-4:ˇcerven 2005 ˇ • CSN 73 0540-3:listopad 2005 Z v´ yˇse uveden´ ych norem se z´ısk´a metodika v´ ypoˇctu souˇcinitele prostupu tepla. Podle tohoto souˇcinitele prostupu tepla a dalˇs´ıch parametr˚ u se vypoˇcte tepeln´a ztr´ata budovy a podle poˇzadovan´e teploty se navrhnou v´ ykony tepeln´ ych tˇeles. Vypoˇcten´e ztr´aty jsou 168W pro horn´ı izolovanou m´ıstnost a 520W pro doln´ı neizolovanou m´ıstnost. Podle vypoˇcten´ ych ztr´at a podle volen´ ych radi´ator˚ u byl dimenzov´an i objem kotle. Topen´aˇrskou firmou byl navrhnut, po pˇredloˇzen´ı poˇzadavk˚ u a pl´an˚ u, na objem 40l bez obsahu potrub´ı a radi´ator˚ u.
MODEL ADMINISTRATIVN´I BUDOVY
4.4
54
Realizace
Cel´a konstrukce byla navrˇzena a konzultov´ana s topen´aˇrskou firmou. N´aslednˇe byla touto firmou provedena cel´a konstrukce vˇcetnˇe dod´avky potˇrebn´ ych zaˇr´ızen´ı a komponent do modelu. Stejn´a firma dodala i sol´arn´ı kolektor a zkonstruovala elektrokotel vˇcetnˇe j´ımek pro ˇcidla. 4.4.1
Konstrukce
Elektrokotel je na m´ıru svaˇren´a n´adoba z ˇzelezn´ ych plech˚ u tlouˇst’ky 5mm. V horn´ı ˇc´asti jsou dva otvory na pˇr´ıvod otopn´e vody ze sol´arn´ıho kolektoru a z topn´eho okruhu. Ve stˇredn´ı ˇc´asti je zabudov´ano topn´e tˇeleso o v´ ykonu 1000W. V horn´ı a doln´ı ˇc´asti boˇcn´ı stˇeny jsou um´ıstˇeny j´ımky pro ˇcidla teploty19 . Ve spodn´ı ˇc´asti kotle jsou v´ yvody pro sol´arn´ı kolektor a topn´ y okruh. Pro odeˇcet tlak˚ u v kotli je na boˇcn´ı stˇenˇe um´ıstˇen analogov´ y tlakomˇer vˇcetnˇe analogov´eho sn´ımaˇce teploty. D´ale je zde pouˇzita moˇznost m´ıˇsen´ı vody z elektrokotle a vody v potrub´ı vracej´ıc´ı se z topn´eho okruhu pomoc´ı smˇeˇsovac´ıho ventilu ovl´adan´eho hlavic´ı Siemens. Jako potrub´ı bylo pouˇzito bˇeˇznˇe vyuˇz´ıvan´ ych mˇedˇen´ ych trubek o pr˚ umˇeru 15mm. Spojeny jsou c´ınovou pastou. Vˇsechna ˇsrouben´ı jsou zaizolov´ana silikonov´ ymi p´askami. Ve stˇreˇsn´ı ˇc´asti modelu je um´ıstˇen sol´arn´ı kolektor. Ten je k topn´emu okruhu pˇripojen pomoc´ı dvou vlnovc˚ u o d´elk´ ach 50cm a 1m. Cel´ y pˇr´ıvod k sol´arn´ımu kolektoru je moˇzn´e odpojit pomoc´ı dvou ventil˚ u. Pro eliminaci n´arazov´ ych tlak˚ u a pro udrˇzen´ı tlak˚ u je zde expanzn´ı n´adoba o objemu 1,5 l a o maxim´aln´ım tlaku 5 bar˚ u. K odvzduˇsnˇen´ı topn´eho okruhu je v nejvyˇsˇs´ı ˇc´asti budovy upouˇstˇec´ı ventil. Sol´arn´ı kolektor m´a rozmˇery 80x80x7 cm. Je postaven na v´ ykon 800 W. Pro zajiˇstˇen´ı bezpeˇcnosti tepeln´eho okruhu je na horn´ı ˇc´asti kotle teplotn´ı ˇcidlo. M´a dvˇe pojistn´e ˇc´asti. Prvn´ı ˇc´ast se nastav´ı na poˇzadovanou teplotu, kdy m´a ˇcidlo vypnout pˇr´ıvod proudu do topn´eho tˇelesa. Nastaven´ı se prov´ad´ı otoˇcn´ ym koleˇckem s naznaˇcen´ ymi teplotami. Pokud dojde k pˇrekroˇcn´ı nastaven´e teploty a n´asledn´emu vypnut´ı proudu, staˇc´ı poˇckat na vychladnut´ı vody v kotli a stlaˇcit tlaˇc´ıtko k obnovˇe pˇr´ıvodu proudu. Druh´ a ˇc´ast pracuje na stejn´em principu. Jen m´a nˇekolik odliˇsnost´ı. Pevnˇe je stanovena teplota 90 stupˇ n˚ u celsia. Pokud dojde k vypnut´ı proudu v d˚ usledku pˇrekroˇcen´ı t´eto teploty, je nutn´e toho ˇcidlo rozebrat a uvnitˇr znova zapnout pojistku. Jako posledn´ı ochrana je zde tlakov´ y ventil. Pˇri pˇrekroˇcen´ı tlaku 1,8 bar zaˇcne upouˇstˇet vodu do okol´ı budovy. Bˇeˇzn´ y provozn´ı tlak tepeln´eho okruhu je kolem 1,2 baru. 4.4.2
Otopn´ a tˇ elesa
Pro vyt´apˇen´ı objektu byly pouˇzity bˇeˇznˇe pouˇz´ıvan´e deskov´e radi´atory20 podle vypoˇcten´ ych v´ ykon˚ u. Jednotliv´e radi´atory jsou opatˇreny ventily pro regulaci pˇr´ıvodu topn´e vody. V horn´ı m´ıstnosti, v´ıce izolovan´e, je na ventilu um´ıstˇena termohlavice vytvoˇren´a bˇehem t´eto diplomov´e pr´ace. V doln´ı m´ıstnosti je na ventil od radi´atoru um´ıstˇena hlavice firmy Siemens STA71. Oba radi´atory jsou vybaveny samoodvzduˇsn ˇovac´ımi ventily. T´eˇz je moˇzn´e jednotliv´e radi´atory odpojit od topn´eho okruhu po uzavˇren´ı ventil˚ u na pˇr´ıvodn´ım i na odtokov´em potrub´ı radi´atoru. Uchycen´ı na stˇenu je provedeno pomoc´ı ˇctyˇr ˇzelezn´ ych pl´at˚ u o tlouˇst’ce 3 mm a ˇs´ıˇrce 50 mm ve tvaru J, kter´e jsou ˇsroubky 19 20
Odporov´ a ˇcidla Pt100 Ocelov´ y deskov´ y radi´ ator typ Kermi
MODEL ADMINISTRATIVN´I BUDOVY
55
pˇrichyceny ke stˇenˇe. 4.4.3
Elektrick´ a konstrukce
Elektrick´a konstrukce je sloˇzena z nap´ajen´ı 24V stˇr´ıdav´ ych, 24V stejnosmˇern´ ych pro ˇr´ızen´ı elektroniky a 230V stˇr´ıdav´ ych pro nap´ajen´ı topn´e ˇc´asti. N´asleduj´ıc´ı obr´azek [35] ukazuje konfguraci Wago PLC 750-819 s rozˇsiˇruj´ıc´ımi moduly. V prvn´ım slotu jsou zapojeny dvˇe rel´e na sp´ın´an´ı topn´eho tˇelesa o v´ ykonu 1000W v kotli a na sp´ın´an´ı infraz´aˇriˇce o v´ ykonu 2000W. V druh´em slotu je zapojena hlavice Siemens STA71, kter´a ovl´ ad´ a smˇeˇsovac´ı ventil. Tˇret´ı slot ovl´ad´a obˇe ˇcerpadla poh´anˇej´ıc´ı vodu v sol´arn´ım kolektoru a v radi´atorech. Posledn´ı ˇctvrt´ y slot je spojen s ˇcidly teploty PT100. Sch´ema [36] ukazuje elektrick´e zapojen´ı.
Obr´azek 35: Zapojen´ı pˇr´ıdavn´ ych slot˚ u v PLC Wago
MODEL ADMINISTRATIVN´I BUDOVY
56
Obr´azek 36: Elektrick´e zapojen´ı cel´eho otopn´eho syst´emu
4.4.4
Pouˇ zit´ e ovl´ adac´ı prvky
Pro ovl´ad´an´ı topn´eho tˇelˇesa a infraz´aˇriˇce bylo zvoleno rel´e od firmy FINGER, typ FINGER 4031. Maxim´aln´ı sp´ınac´ı proud 20A, trval´ y proud 10A, max. sp´ınan´ y v´ ykon 2500 kVA. Sp´ınan´e maxim´aln´ı napˇet´ı 380V. Mechanick´a ˇzivotnost je ud´av´ana 107 cykl˚ u. Jako ˇ ˇcidla teploty byly zvoleny tyˇcov´a odporov´a ˇcidla PT100. Cerpadla byla pouˇzita Grundfos, typ UPS 25-40 180. Jsou nastaveny v nejniˇzˇs´ım v´ ykonov´em stupni. Vzhledem k jejich pˇredimenzovanosti je jejich v´ ykon na tomto stupni dostaˇcuj´ıc´ı.
4.5
Regul´ ator
Regul´ator pro cel´ y otopn´ y syst´em se skl´ad´a ze tˇr´ı ˇc´ast´ı. Prvn´ı ˇc´ast je regulace v kancel´ aˇri ˇc.1. Regualci v t´eto m´ıstnosti zajiˇst’uje PLC Siemens a bylo nastaveno v r´amci diplomov´e pr´ace V´aclava Voz´ara. Druh´ y regul´ator je v kacel´aˇri ˇc.2. Jedn´a se o regul´ator vytvoˇren´ y v r´amci t´eto diplomov´e pr´ace. a tˇret´ı regul´ator reguluje teplotu v n´adrˇzi, kter´a dod´ av´ a teplo do jednotliv´ ych radi´ator˚ u. Tento regul´ator je zabudov´an do PLC Wago. Tedy jedn´ a se o tˇri na sobˇe pˇr´ımo nez´avisl´e regul´atory. Pro dalˇs´ı popis byl vybr´an poslednˇe zmiˇ novan´ y regul´ator. 4.5.1
Hardware pro regul´ ator
Regul´ator se skl´ad´a z modul´arn´ıho I/O syst´emu Wago ˇrady 750. Pˇresn´e oznaˇcen´ı typu je 750-819. Obsahuje rozhran´ı LonWorks, moˇznost nastaven´ı adresy. V doln´ı ˇc´asti mohulu je konfiguraˇcn´ı rozhran´ı napˇr. pro bluetooth nebo seriov´ y kabel. Na druh´e stranˇe od
MODEL ADMINISTRATIVN´I BUDOVY
57
seriov´eho rozhran´ı je pˇrep´ınaˇc chodu PLC mezi RUN a STOP. Vlevo je d˚ uleˇzit´ y sp´ınaˇc SERVICE PIN slouˇz´ıc´ı k identifikaci Waga v s´ıt’i LonWorks. N´asleduj´ı diagnostick´e LED diody a modul pro nap´ajen´ı. V t´eto ˇc´asti je velice d˚ uleˇzit´e vhodnˇe zapojit nap´ajec´ı a v´ ykonn´e napˇet´ı. Pˇredejde se t´ım pˇr´ıpadn´emu zniˇcen´ı PLC. Nesm´ı se propojit horn´ı ˇrada nap´ajec´ıch otvor˚ u s doln´ı ˇradou. Mohlo by doj´ıt k pˇripojen´ı vyˇsˇs´ıho napˇet´ı na nap´ajen´ı a t´ım dojde ke zniˇcen´ı cel´e elektroniky PLC. Proto byly v modelu vybudov´any dva okruhy 24V stejnosmˇern´ ych. Jeden okruh je urˇcen pro elektroniku a druh´ y pro v´ ykonnou ˇc´ast. Toto opatˇren´ı je zavedeno kv˚ uli moˇzn´emu pˇrehl´ednut´ı kontaktn´ıch pl´ıˇsk˚ u v tˇele modulu, kter´e mohou spojit napˇet´ı zapojen´e do modulu na napˇet´ı v hlavn´ım modulu. K hlavn´ımu modulu je pˇripojeno pˇet pˇr´ıdavn´ ych modul˚ u. Prvn´ı tˇri jsou v´ ystupn´ı digit´ aln´ı pˇrep´ınac´ı releov´e bezpotenci´alov´e moduly, typ 750-517. N´asleduj´ıc´ı modul m´a analogov´ y vstup a slouˇz´ı k pˇripojen´ı odporov´ ych ˇcidel PT100. Typ je 750-460. Modul se ned´ a nastavovat, proto se mus´ı pouˇz´ıt pouze tento typ ˇcidla. Pokud pouˇzijeme jin´ y ˇci nen´ı um´ıstˇen ˇz´adn´ y, je to indikov´ano rozsv´ıcenou ˇcervenou LED diodou na pˇr´ısluˇsn´em m´ıstˇe modulu. Posledn´ı modul je zakonˇcovac´ı tzv. termin´ator sbˇernice. Pˇri ˇspatn´em pˇripojen´ı ukonˇcovac´ıho modulu nebude spr´avnˇe fungovat sbˇernice v PLC Wago. Posledn´ı modul je typ 750-600. Je nutn´e ho pˇripojit na konec vˇsech modul˚ u vˇzdy, pokud pracujeme se sbˇernic´ı v PLC Wago. 4.5.2
Software regul´ atoru
Regul´ator v PLC je typu PID. Konstanty do tohoto regul´atoru je moˇzn´e vkl´adat ze s´ıtˇe LonWorks. N´asleduj´ıc´ı sch´ema [37] ukazuje vstupn´ı a v´ ystupn´ı promˇenn´e.
Obr´azek 37: Vstupn´ı a v´ ystupn´ı promˇenn´e Wago regul´atoru
Cel´ y program je strukturov´an do sedmi celk˚ u. Kaˇzd´ y celek m´a nastaroti svoji specifickou ˇcinnost, kter´a je pops´ana n´ıˇze. (* Probehne inizializace *) IF(NOT(INIT)) THEN INICIALIZACE(); (* inicializace promennych *) END_IF; (* vlozi hodnoty sitovych promennych*) (* do prislusnych programovych promennych *) (* uprava teploty podle simulvaneho pocasi *) LINKERS();
MODEL ADMINISTRATIVN´I BUDOVY
58
(* overeni spravnosti rozsahu promennych *) CHECKERS(); (* definovane casovace *) CASOVANI(); (* definovane citace *) CITACE(); (* samotny progrma regulace *) REGULACE(); (* ochrana pred prekrocenim kritickych hodnot *) WATCHDOGS(); Regul´ator vypoˇc´ıt´av´a ˇcas, po kter´ y bude sepnuto topn´e tˇeleso. Podle zadan´ ych PID konstant se vypoˇc´ıt´a regulaˇcn´ı z´asah a ten se pˇrevede na d´elku pulzu. Maxim´aln´ı d´elka pulzu je d´ana podle vstupn´ı hodnoty ˇcasu vzorkov´an´ı. IF(VystupCitacSample=TRUE) THEN Pomoc1:=(LocTempInTanker/10); Pomoc2:=(TempOutTanker/10); Pomoc3:=(Pomoc1-Pomoc2); P:=Pomoc3*PC; I:=B*PI; Pomoc4:=(TempLast/10); Pomoc5:=(Pomoc2-Pomoc4); D:=Pomoc5*PD; B:=P+I+D; IF(B<0) THEN B:=0; (* anti wind-up*) END_IF; IF(B>CAS_SAMPLE) THEN B:=CAS_SAMPLE; (* anti wind-up*) END_IF; VyslednyZasah:=REAL_TO_INT(B); Cas_ON:=VyslednyZasah; Cas_OFF:=CAS_SAMPLE-Cas_ON; TempLast:=TempOutTanker; END_IF; Zmˇena teplot resp. simulace poˇcas´ı je zajiˇst’ov´ana v ˇc´asti LINKERS(). Zadan´ y offset je odeˇcten od aktu´aln´ı teploty. T´ım se vytv´aˇr´ı simulace zmˇen teploty resp. poˇcas´ı.
MODEL ADMINISTRATIVN´I BUDOVY
4.5.3
59
Tepeln´ e okruhy
V modelu jsou vytvoˇreny dva tepeln´e okruhy, kter´e maj´ı spoleˇcn´e m´ısto v topn´e n´adrˇzi. Prvn´ı okruh je okruh sol´arn´ı. Veden´ı vody je vytvoˇreno mˇedˇen´ ym veden´ım a spojuje n´adrˇz, hnac´ı pumpu a sol´arn´ı ˇcl´anek. V tˇesn´e bl´ızkosti sol´arn´ıho kolektoru je um´ıstˇen odvzduˇsn ˇovac´ı ventil. Um´ıstˇen´ı v t´eto ˇc´asti je z d˚ uvodu nejvyˇsˇs´ıho poloˇzen´ı a t´ım i lepˇs´ı funkce odvzduˇsn ˇov´an´ı. Vedle sol´arn´ıho kolektoru je um´ıstˇena expanzn´ı n´adrˇz, kter´a slouˇz´ı k vyrovn´av´an´ı r´azov´ ych tlak˚ u v potrub´ı a t´eˇz k udrˇzov´an´ı tlaku v potrub´ı. Druh´ y okruh je sloˇzen z potrub´ı pˇriv´adˇej´ıc´ıho ohˇr´atou vodu k radi´ator˚ um. Jedn´a se o dva radi´atory. Kaˇzd´ y radi´ator je v jin´e m´ıstnosti. V doln´ı kancel´aˇri ˇc.1 je um´ıstˇen vˇetˇs´ı radi´ator z d˚ uvodu menˇs´ı izolace. Ovl´ad´an´ı a regulace je zajiˇstˇeno ventilem Siemens a termohlavic´ı Siemens STA71. Regul´ator je v PLC Siemens DESIGO RXC31.1 nahr´an a jeho ˇcinnost se ovlivˇ nuje vybr´an´ım aplikace. Tato ˇc´ast byl vytvoˇren´a v r´amci diplomov´e pr´ace V´aclava Voz´ara. V horn´ı kancel´aˇri ˇc.2 je um´ıstˇen menˇs´ı radi´ator. Je zde siln´a izolace. Ventil je od firmy Siemens, termohlavice je od firmy Minaˇr´ık typ ETP - 23 - 2. Samotn´ y regul´ ator je vytvoˇren v r´amci t´eto diplomov´e pr´ace. Kaˇzd´ y radi´ator je opatˇren odvzduˇsn ˇovac´ım ventilem.
MODEL ADMINISTRATIVN´I BUDOVY
60
.
5
Z´ avˇ er
V diplomov´e pr´aci jsem se sezn´amil s technologi´ı LonWorks. Realizoval jsem pro model administrativn´ı budovy zaˇr´ızen´ı pro regulaci teploty radi´atoru u ´stˇredn´ıho topen´ı. Vytvoˇril jsem pro toto zaˇr´ızen´ı n´avrh desky ploˇsn´ ych spoj˚ u, vˇcetnˇe v´ ybˇeru vhodn´ ych ´ eˇsnˇe jsem elektronick´ ych d´ıl˚ u s vyuˇzit´ım Neuron chipu a transceiveru FTT-10A. Uspˇ pˇrepnul komunikaci v Neuron chipu, coˇz mimo jin´e vyˇzadovalo nˇekolikr´at opakovat cel´ y postup, neˇz se konfiguraci podaˇrilo zapsat do EEPROM procesoru. Sezn´amil jsem se s programovac´ım prostˇred´ım NodeBuilder a s programovac´ım jazykem Neuron C, ve kter´em jsem vytvoˇril software regul´atoru teploty. Pˇri jeho tvorbˇe jsem dodrˇzel standardizovan´ y profil organizace Lonmark pro zaˇr´ızen´ı VAV Controller. Vytvoˇren´ y nod je plnˇe zakomponov´an do s´ıtˇe LonWorks kde komunikuje s ˇcidlem teploty. Toto zaˇr´ızen´ı bylo um´ıstˇeno v kancel´aˇri ˇc.2 v modelu automatizovan´e budovy v laboratoˇri katedry ˇr´ıdic´ı techniky na Karlovˇe n´am. V modelu budouvy jsem d´ale navrhnl a posl´eze zrealizoval cel´ y otopn´ y syst´em z bˇeˇznˇe dostupn´ ych topen´aˇrsk´ ych v´ yrobk˚ u. Skl´ad´a se ze dvou radi´ator˚ u, sol´arn´ıho kolektoru ohˇr´ıvan´eho infraz´aˇriˇcem (simulace sluneˇcn´ıho z´aˇren´ı) a elektrokotle. Voda v soustavˇe je poh´anˇena dvˇemi ˇcerpadly. Samotn´a n´adoba elektrokotle byla vyrobena na zak´azku topen´aˇrskou firmou. Do PLC Wago um´ıstˇen´eho v technick´e m´ıstnosti jsem navrhl a implementoval algoritmy regul´atoru pro ˇr´ızen´ı v´ ystupn´ı teploty z elektrokotle a cel´e tepeln´e soustavy. V druh´e ˇc´asti t´eto diplomov´e pr´ace jsem se zab´ yval vizualizac´ı domu a moˇznost´ı jeho ovl´ad´an´ı pˇres internet pomoc´ı bˇeˇzn´eho webov´eho prohl´ıˇzeˇce. Za t´ımto u ´ˇcelem jsem se sezn´amil s jazykem VRML, jenˇz byl vyvinut pro modelov´an´ı 3D objekt˚ u v bˇeˇzn´em internetov´em prohl´ıˇzeˇci. V jazyce VRML jsem n´aslednˇe vytvoˇril kompletn´ı virtu´aln´ı model budovy vˇcetnˇe jej´ıho okol´ı a vybaven´ı interi´er˚ u. Takto vytvoˇren´ y model je vˇsak statick´ y. Aby bylo moˇzn´e ovl´adat jeho vybaven´ı, jako jsou svˇetla, pl´atno v prezentaˇcn´ı m´ıstnosti, v´ ytah a dalˇs´ı, bylo nutn´e implementoval v jazyce Java pˇr´ısluˇsn´e objekty. S jejich pomoc´ı jsem prov´azal chov´an´ı jednotliv´ ych aktivn´ıch prvk˚ u s akˇcn´ımy ˇcleny ( okno, dveˇre, svˇetlo atp.) virtu´aln´ıho domu. Jedn´ım z poˇzadavk˚ u uveden´ ych v zad´an´ı t´eto diplomov´e pr´ace bylo sv´az´an´ı vytvoˇren´eho virtu´aln´ıho domu a skuteˇcn´eho modelu. Toho jsem u ´spˇeˇsnˇe dos´ahl za pomoci knihovny v jazyce Java od spoleˇcnosti Echelon a LNS serveru, jenˇz je nainstalov´an na poˇc´ıtaˇci v re´aln´em modelu. Pˇri implementaci tohoto propojen´ı se vyskytly probl´emy s nekompatibilitami mezi verzemi Java 1.1 a vyˇsˇs´ı. Kroky, kter´e ˇreˇs´ı tyto pot´ıˇze jsou podrobnˇe pops´any v kapitole 3.1.1. Model administrativn´ı budovy je velice zaj´ımav´ y projekt. Bˇehem prac´ı na tomto projektu mne napadly dalˇs´ı kroky vedouc´ı k jeho rozˇs´ıˇren´ı a vylepˇsen´ı. Vzhledem k tomu, ˇze je pl´anov´ano vystavovat tento model na v´ ystav´ach, bylo by vhodn´e cel´ y model opatˇrit n´atˇerem, jenˇz by pˇripom´ınal om´ıtku. Do interi´eru um´ıstit umˇel´e kvˇetiny, obr´azky a koberce do kancel´aˇr´ı. Obrazy a kvˇetiny mohou opticky srovnat disproporce v rozmˇerech modelu. D´ale by bylo zaj´ımav´e opatˇrit model reproduktory a vytvoˇrit umˇelou inteligenci spojenou s indentifikaˇcn´ım syst´emem. Inteligence by pak mohla komunikovat
MODEL ADMINISTRATIVN´I BUDOVY
61
s uˇzivatelem hlasem. Sp´ıˇse komentovat ud´alosti, kter´e by vykon´avala v modelu. Pot´e co bude um´ıstˇen v modelu robot, bylo by zaj´ımav´e vytvoˇrit virtu´aln´ı model re´aln´eho domu, ovˇsem s pˇresn´ ymi rozmˇery. Pot´e pomoc´ı appletu v Javˇe navigovat robota tak, jak se pohybuje Avatar ve virtu´aln´ım svˇetˇe. Jiˇz vytvoˇren´ y virtu´aln´ı svˇet je nutn´e po dokonˇcen´ı re´aln´ ych zaˇr´ızen´ı rozˇs´ıˇrit o jejich virtu´aln´ı kopie. Tedy doplnit tˇr´ıdu LNScommander o dalˇs´ı pˇr´ıkazy ovl´adaj´ıc´ı nov´e zaˇr´ızen´ı. D´ale by bylo vhodn´e um´ıstit na otopn´ y syst´em pr˚ utokomˇer, aby se l´epe ˇr´ıdil smˇeˇsovac´ı ventil. Pro ˇr´ızen´ı tepeln´e rohoˇze je pouze implementov´ana vstupn´ı promˇenn´a v PLC Wago v technick´e m´ıstnosti modelu. Bylo by vˇsak zaj´ımav´e vytvoˇrit regul´ator napˇr´ıklad v softwarov´em PLC. Vedle spojen´ı s virtu´aln´ı realitou by bylo moˇzn´e vyuˇz´ıt i samotn´eho grafick´eho prostˇred´ı Javy pro vytvoˇren´ı jednoduˇsˇs´ıho ˇr´ıd´ıc´ıho rozhran´ı, kter´e by dle oˇcek´av´an´ı bylo rychlejˇs´ı, neˇz st´avaj´ıc´ı implementace komunikuj´ıc´ı pˇres OPC server.
62
MODEL ADMINISTRATIVN´I BUDOVY
Reference ´ [1] Infoenergie.cz; Uspory energie v dom´ acnostech [online]. 2006-02-28 [cit. 2004-12-13], hhttp://www.infoenergie.czi. [2] Lonmark.org; LonMark International [online]. hhttp://www.lonmark.org/i.
Posledn´ı revize
Posledn´ı revize 2006-02-28 ,
[3] Tzb-info.cz; TZB-info: Tepeln´e mosty ve stavebn´ıch konstrukc´ıch [online]. Posledn´ı revize 2006-03-06 , hhttp://www.tzb-info.cz/i. ˇ ˇ [4] Tzb-info.cz; Porovn´ an´ı v´ypoˇct˚ u tepeln´ych ztr´ at podle CSN 06 0210 a CSN EN 12831 [online]. Posledn´ı revize 2006-03-06 , hhttp://www.tzb-info.cz/i. [5] Wikipedia.org; Tepeln´ a ˇcerpadla [online]. hhttp://en.wikipedia.org/i.
Posledn´ı revize 2006-04-17 ,
[6] Web3d.org; Web3D Consortium [online]. hhttp://www.web3d.org/i.
Posledn´ı revize 2006-05-16 ,
[7] www.cgg.cvut.cz; Virtual Old Prague Project [online]. Posledn´ı revize 2006-05-16 , hhttp://www.cgg.cvut.cz/vsp/i. [8] www.cgg.cvut.cz/vyuka/36MUS; CGG Prague - Education [online]. Posledn´ı revize 2006-05-18 , hhttp://www.cgg.cvut.cz/vyuka/36MUSi. [9] service.felk.cvut.cz/courses/36MUS; CGG Prague - Education [online]. Posledn´ı revize 2006-05-18 , hhttp://service.felk.cvut.cz/courses/36MUS/i. [10] Martin Linhart Diplomov´ a pr´ ace Komunikaˇcn´ı sbˇernice LON (Local Operating Network), Praha 2004 [11] Toshiba Datasheet Neuron Chip Local Operating Network LSIs, 1999 ˇa ˇ´ı Z ´ra VRML 97 Laskav´ [12] Jir y pr˚ uvodce virtu´aln´ımi svˇety, 1999 ´k Aplikaˇcn´ı manu´ [13] Michal Sleza al LonWorks termohlavice ETP-23-3, 2005 [14] Echelon Referenˇcn´ı manu´ al Neuron C Neuron C Programmers Guide, Revize 5, 2001 [15] Wago Wago modular I/O system 750-319,750-819 Technick´a specifikace,instalace a konfigurace, Verze 2.0.0
Dokumentace LonWorks
Procesorov´ aˇ c´ ast
D
5
C2 33p
Clock
R2 270
Krystalovy oscilator
R1 100k
Y1 Krystal - 5MHz
U1 REF VCC RST RSET
1 8 6 5
Napetovy watchdog CT SEN RESIN GND TL7705A
Reset C11 2n2/50V
DC_OUT_V_PLUS +
R4 10k DC_OUT_OV C12 22M/50V
C7 100n
D6
SB160
4
Reset IO4 IO3 IO2 IO1 IO0 Service
OSC2_OUT OSC1_IN
Vcc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
C16
33n/50V
Vdd Vss IO5 IO6 IO7 IO8 IO9 Vdd IO10 Vss CP4 CP3 CP1 CP0 VDD CP2
IO_1 ~Reset Vdd IO4 IO3 IO2 IO1 IO0 ~Service Vss Vss Vdd Vdd Vss CLK2 CLK1 Vss Neuron_chip
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17
DC_OUT_V_PLUS 7 9
3 2
FTT-10A
COM1
Neuronchip TMPN3120FE3M
NET A NET B T1 COM T2 COM
RTMP Sleep
DC_OUT_OV
3
IO5 IO6 IO7 IO8 IO9 IO10
T2 T1
3
D5 DB102
C9 22M/50V
DC_OUT_V_PLUS
DC_OUT_OV
C8 100n
2
DC_OUT_V_PLUS
L-HLMP-K640
D1
R3 249
1
1 JH2 Wago257
1
JH1 Wago257 1 1
Service
Tlacitko na krabicce
2
JH6 Wago257
1
JH5 Wago257 1 1
DC_OUT_OV
Pripojka do site
L-HLMP-K101
D9
R5 249
DC_OUT_OV
C10 22M/50V
C13 1n DN2 BAV99 SMD
DN1 BAV99 SMD
Comm Activity
1
3
Title Size B Date:
Michal Slezak
1
JP1 PLUG_10_2
JH4 Wago257
1
of
1
DC/DC menic
4.7M
C5
1
JH3 Wago257 1 1
Konektor pro pripojeni na vrchni desku
Vcc
1
Sheet
1
Privod napajeciho napeti
Gnd
CDDSW1
C14
10M
Wednesday, September 29, 2004
Document Number Mikroprocesorova cast
DC_OUT_V_PLUS
3 7 2 4
Vcc_DC
Filtrace napeti
Gnd
4
IO5 IO6 IO7 IO8 IO9 IO4 IO3 IO2 IO1 IO0
GND Vcc 0V Vout+
DC_OUT_V_PLUS DC_OUT_OV
10 9 8 7 6 5 4 3 2 1
Gnd_DC
OSC2_OUT DC_OUT_OV
10 9 8 7 6 5 4 3 2 1
1 2 3 4
6
T1 T2 4 5
Clock T1 T2
OSC1_IN DC_OUT_OV
20 19 18 17 16 15 14 13 12 11
Vcc_DC
C1 33p
C6 47M/10V
DC_OUT_OV
DC_OUT_V_PLUS 20 DC_OUT_OV 19 18 17 Vcc 16 Gnd 15 14 13 12 IO10 11
DC_OUT_OV
2 + 4
DC_OUT_V_PLUS DC_OUT_OV
CLK Vcc GND 1 8 DC_OUT_V_PLUS DC_OUT_OV
C
B
A
Gnd_DC
5
DC_OUT_OV
+
A.1.1
Elektrick´ a zapojen´ı A.1
+
A
63 MODEL ADMINISTRATIVN´I BUDOVY
DC_OUT_V_PLUS
DC_OUT_OV
Rev 1.0
D
C
B
A
Ovl´ adac´ı ˇ c´ ast A.1.2
64 MODEL ADMINISTRATIVN´I BUDOVY
D
C
VCC
Control - Input
5
R1 2,7k
R2 10k
4
3 4
U3
SFH610A-1
2 1
3
RV1 1k Control - Output
<Title>
2
1
1
1
Date:
Size A
2
Friday, April 21, 2006
Document Number
of
1
D
C
Rev
B
Title
Sheet
B
3
A
4
A
5
65
MODEL ADMINISTRATIVN´I BUDOVY
A.2 A.2.1
Seznam souˇ c´ astek Procesorov´ aˇ c´ ast Poˇrad´ı 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
A.2.2
Poˇcet 1 2 1 1 2 3 1 1 1 1 1 2 1 1 1 1 1 6 1 1 1 2 1 1 1
N´azev COM1 C2,C1 C5 C6 C7,C8 C9,C10,C12 C11 C13 C14 C16 DC DC1 DN1,DN2 D1 D5 D6 D9 IO 1 JH1,JH2,JH3,JH4,JH5,JH6 JP1 R1 R2 R3,R5 R4 U1 Y1
Hodnota FTT-10A 33p 4.7M 47M/10V 100n 22M/50V 2n2/50V 1n 10M 33n/50V CDDSW1 BAV99 SMD L-HLMP-K640 DB102 SB160 L-HLMP-K101 Neuron chip Wago257 PLUG 10 2 100k 270 249 10k TL7705A Krystal - 5MHz
Ovl´ adac´ı ˇ c´ ast Poˇrad´ı 1 2 3 4 5 6
Poˇcet 1 4 1 1 1 1
N´azev R1 JP1,JP3,JP4,JP5 JP2 R2 TRIMR ˇ OPTOCLEN
Hodnota 10k ARK550 2 PLUG 10x2 2,7k 1k SFH610-1
MODEL ADMINISTRATIVN´I BUDOVY
B
Pouˇ zit´ e zkratky
ˇ ˇ a st´atn´ı norma CSN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cesk´ DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Document Object Model EEPROM . . . . . . . . . . . . . . . . . . . Electrically Erasable Read Only Memory ISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Industrial Standard Architecture ISO . . . . . . . . . . . . . . . . . . . . International Organisation for Standardization LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ladder diagram LNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LonWorks Network Services LON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Local Operating Network MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Media Access Control OPC . . . . . . . . . . . . . . Object Linking and Embedding for Process Control OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Open System Interconnection PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programable Logical Controler PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pulse Width Modulation VRML . . . . . . . . . . . . . . . . . . . . . . . . . . . . Virtual Reality Modeling Language RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Random Access Memory ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Read Only Memory SNVT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Standart Network Variable Type ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structured text URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uniform Resource Locator X3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extensible 3D
66
MODEL ADMINISTRATIVN´I BUDOVY
C C.1
Sch´ emata VRML model
Obr´azek 38: Celkov´ y pohled na virtu´aln´ı model
Obr´azek 39: Pr˚ uˇrez prezentaˇcn´ı m´ıstnost´ı
67
MODEL ADMINISTRATIVN´I BUDOVY
Obr´azek 40: Pohled na okol´ı modelu
Obr´azek 41: Samotn´ y virtu´aln´ı model
68
MODEL ADMINISTRATIVN´I BUDOVY
Obr´azek 42: Pohled na kancel´aˇre
Obr´azek 43: Pohled na chodby ve vˇsech patrech
69
MODEL ADMINISTRATIVN´I BUDOVY
C.2
Tepeln´ aˇ c´ ast
70
MODEL ADMINISTRATIVN´I BUDOVY
D
71
Pr˚ uvodci
D.1
LonMaker
Vytvoˇren´ y nod bylo potˇreba zapojit do s´ıtˇe LonWorks a provedena jej´ı konfigurace. K tomu byl pouˇzit konfiguraˇcn´ı program LonMaker. Jedn´a se o program sloˇzen´ y ze skupiny z´asuvn´ ych modul˚ u a maker v programu Microsoft Visio 2003. D˚ uleˇzit´e je pˇri spouˇstˇen´ı Microsoft Visio dodrˇzet spr´avn´ y sled spouˇstˇen´ı programu Iplongate a pot´e samotn´eho Microsoft Visio. Pokud se nedorˇz´ı tento sled, nedojde ke spr´avn´emu napojen´ı LonMakeru na LNS datab´azi. LonMaker vyp´ıˇse chybov´e hl´aˇsen´ı, ale pokraˇcuje d´al ve sv´e ˇcinnosti. Takto spuˇstˇen´ ym n´astrojem nelze nic spr´avnˇe nakonfigurovat ˇci naˇc´ıst hodnoty promˇenn´ ych. Po spuˇstˇen´ı programu LonMaker a vybr´an´ı datab´aze promˇenn´ ych pro administrativn´ı budovu se spust´ı mal´ y pr˚ uvodce, ve kter´em se zvol´ı pˇres jak´e zaˇr´ızen´ı se bude pˇristupovat do s´ıtˇe LonWorks. Zda se vˇsechny zmˇeny konfigurace budou okamˇzitˇe zapisovat do s´ıtˇe resp. do smˇerovac´ıch tabulek zaˇr´ızen´ı. Podobnˇejˇs´ı kroky ke konfugiraci a zakomponov´an´ı zaˇr´ızen´ı do s´ıtˇe jsou n´asleduj´ıc´ı: • Pro spr´avnou funkci LonMakeru je nutn´e spustit Iplongate • Z´akladn´ı menu LonMakeru nab´ız´ı moˇznost vytvoˇren´ı nov´e s´ıtˇe a t´ım i datab´ aze, naˇcten´ı s´ıtˇe, spuˇstˇen´ı LNS serveru. M´a jeˇstˇe nˇekolik nab´ıdek, ovˇsem ty nejsou nutn´e pro konfiguraci pˇripojen´eho zaˇr´ızen´ı. D˚ uleˇzit´e je m´ıt nastavenu cestu k pl´anu s´ıtˇe v poloˇzce Drawing base path, vybrat spr´avn´ y adres´aˇr a pl´an s´ıtˇe s koncovkou .vsd
Obr´azek 44: Z´akladn´ı menu LonMakeru
• Po v´ ybˇeru v´ ykresu s´ıtˇe a jej´ım otevˇren´ı n´asleduje v´ ybˇer rozhran´ı pˇres kter´e se bude pˇristupovat do LonWorks. Vybere se L-switch ˇci X LON Dongle pokud je nainstalov´an. Pokud nechceme, aby se LonMaker na tuto volbu pozdˇeji ptal, zaˇskrtneme doln´ı pol´ıˇcko.
MODEL ADMINISTRATIVN´I BUDOVY
72
Obr´azek 45: V´ ybˇer rozhran´ı pro pˇr´ıstup do LonWorks
• Vybere se zp˚ usob ditribuce konfigurace. Zda se maj´ı zmˇeny v s´ıti okamˇzitˇe zapisovat do konfigurace s´ıtˇe volbou Onnet ˇci se vˇsechny zmˇeny provedou jen v pl´anu s´ıtˇe a pot´e se nahraj´ı do konfigurovan´e s´ıtˇe, pak se zvol´ı volba Offnet. V´ yhoda druh´e volby je v tom, ˇze s´ıt’ je bˇehem konfigurace bezezmˇen, nedoch´az´ı k nekonzistenc´ım a vˇsechny zmˇeny se nahraj´ı aˇz vjeden okamˇzik. V tomto pˇr´ıpadˇe, kdy nen´ı potˇreba zajisit st´al´ y chod staˇc´ı a je v´ yhodnˇejˇs´ı volba Onnet.
MODEL ADMINISTRATIVN´I BUDOVY
73
Obr´azek 46: Zp˚ usob propagace zmˇen do konfigurace LonWorks
• Otevˇre se pl´an s´ıtˇe, kde je zakreslena cel´a struktura s´ıtˇe vˇcetnˇe routeru, L-switche a vˇsech zaˇr´ızen´ı. Z d˚ uvodu pˇrehlednosti jsou jednotliv´e celky rozdˇelˇeny na jednotliv´e v´ ykresy podle m´ıstnost´ı. Spojeny jsou pomoc´ı komunikaˇcn´ıch kan´al˚ u, kter´e maj´ı funkci sbˇernice v dan´em celku. Je d˚ uleˇzit´e vybrat spr´avn´ y komunikaˇcn´ı kan´al, kter´ y pˇr´ısluˇs´ı dan´e m´ıstnosti, kde je zaˇr´ızen´ı pˇripojov´ano.
Obr´azek 47: Z´akladn´ı v´ ykres s´ıtˇe
Nod pro ˇr´ızen´ı termohlavice byl fyzicky um´ıstˇen do technick´e m´ıstnosti v modelu
MODEL ADMINISTRATIVN´I BUDOVY
74
a proto byl vybr´an v´ ykres Technick´a m´ıstnost. Pˇri konfiguraci v LonMakeru je v lev´e ˇc´asti nab´ıdka, kde se nach´az´ı vˇsechny pˇreddefinovan´e objekty, kter´e lze vkl´adat do s´ıtˇe. D˚ uleˇzit´e objekty a ˇcasto pouˇz´ıvan´e jsou DEVICE, FUNCTIONAL BLOCK, CONNECTOR a LNS TEXT BOX CONTROL. Tahem lev´eho tlaˇc´ıtka myˇsi se pˇret´ahne objekt DEVICE do v´ ykresu. N´asleduje mal´ y pr˚ uvodce pˇrid´an´ım zaˇr´ızen´ı. Pˇresn´ y postup je uveden v D.2. • Dalˇs´ım krokem je propojen´ı funkˇcn´ıch blok˚ u resp. vstupn´ıch a v´ ystupn´ıch promˇenn´ ych v tˇechto bloc´ıch. Z lev´e nab´ıdky se pˇret´ahne objekt FUNCTIONAL BLOCK do v´ ykresu. N´asleduje mal´ y pr˚ uvodce pˇrid´an´ım funkˇcn´ıho bloku. Pˇresn´ y postup je uveden v D.3. Pot´e se jiˇz zobraz´ı vytvoˇren´ y funkˇcn´ı blok vˇcetnˇe vyobrazen´ı vstupn´ıch a v´ ystupn´ıch promˇenn´ ych. Vstupn´ı jsou oznaˇceny ˇsipkou smˇeˇruj´ıc´ı dovnitˇr bloku, v´ ystupn´ı smˇeˇruj´ı ven. Na spojen´ı pˇr´ısluˇsn´ ych promˇenn´ ych se pouˇzije n´astroj CONNECTOR. Kliknut´ım na zvolenou v´ ystupn´ı promˇennou a tahem myˇs´ı se pˇripoj´ı k poˇzadovan´e vstupn´ı promˇenn´e. T´ımto se mezi promˇenn´ ymi vytvoˇr´ı spoj. Takto se propoj´ı vˇsechny vstupn´ı a v´ ystupn´ı promˇenn´e pˇrid´avan´eho zaˇr´ızen´ı. Konkr´etnˇe vstupn´ı teplotu propojit s v´ ystupn´ı teploty ˇcidla v regulovan´e m´ıstnosti atp. Po skojen´ı vˇsech promˇenn´ ych, je cel´e zaˇr´ızen´ı plnˇe nakonfigurov´ano a je jiˇz pˇripraveno k provozu. • Cel´ y n´akres a konfigurace se uloˇz´ı a provede se resynchronizace. Pokud Microsoft Visio 2003 vyp´ıˇse chybu pˇri ukl´ad´an´ı, staˇc´ı znovu uloˇzit projekt. V´ ykres bude jiˇz korektnˇe uloˇzen. • M˚ uˇze se st´at, ˇze n´akres nesouhlas´ı s fyzick´ ym stavem s´ıtˇe ˇci se s´ıt’ a dalˇs´ı programy nechovaj´ı korektnˇe. M˚ uˇze to b´ yt zp˚ usobeno nekonzistenc´ı LNS datab´aze se stavem s´ıtˇe. Lze to napravit pouˇzit´ım pˇr´ıkazu z nab´ıdky v LonMakeru resp. Microsoft Visio. V nab´ıdce se vybere Lonmaker → Resynchronize.. . Spust´ı se synchronizace vybran´ ych poloˇzek, kter´e je nutn´e zvolit pˇred spuˇstˇen´ım synchronizace. Jestliˇze je nutn´e jiˇz v prostˇred´ı LonMakeru ovl´adat ˇci ˇc´ıst promˇenn´e, lze k tomu vyuˇz´ıt objektu LNS TEXT BOX CONTROL. Pˇretaˇzen´ım tohoto objektu na v´ ykres se zobraz´ı velice jednoduch´ y a intuitivn´ı pr˚ uvodce, ve kter´em se vybere na jakou promˇennou je smˇerovat tento objekt. Po v´ ybˇer se jiˇz zobraz´ı obsah promˇenn´e. V´ ybˇerem z lok´ aln´ı nab´ıdky zvolit Get value pro naˇcten´ı promˇenn´e nebo Set value pro z´apis zadan´e hodnoty do promˇenn´e.
MODEL ADMINISTRATIVN´I BUDOVY
D.2
75
Pˇ rid´ an´ı zaˇ r´ızen´ı v LonMakeru
Obr´azek 48: Zad´an´ı jm´ena zaˇr´ızen´ı
Obr´azek 49: V´ ybˇer rozhran´ı - vybere se nahr´at ze zaˇr´ızen´ı nebo z obrazu pokud je k dispozici
MODEL ADMINISTRATIVN´I BUDOVY
76
Obr´azek 50: V´ ybˇer rozhran´ı - vybere se nahr´at ze zaˇr´ızen´ı nebo z obrazu pokud je k dispozici
Obr´azek 51: Z nab´ızen´eho vybereme ANO pro v´ ybˇer kan´alu. Autodetekce nen´ı spolehliv´ a
MODEL ADMINISTRATIVN´I BUDOVY
77
Obr´azek 52: Vybere se kan´al, ke kter´emu m´a b´ yt zaˇr´ızen´ı pˇripojeno
Obr´azek 53: Vybereme jak ˇcasto m´a b´ yt zaˇr´ızen´ı ovˇeˇrov´ano na jeho pˇr´ıtomnost
Pokud vyb´ır´ame jakou metodou bude rozpozn´ano pˇripojen´e zaˇr´ızen´ı, je vhodn´e zvolit pomoc´ı service pinu.Pokud zaˇr´ızen´ı neni korektnˇe pˇripojeno je to zjiˇstˇeno hned t´ım, ˇze LonMaker nedostane zpr´avu od zaˇr´ızen´ı.
MODEL ADMINISTRATIVN´I BUDOVY
78
Obr´azek 54: V´ ybˇer jakou metodou m´a b´ yt rozpozn´ano pˇripojen´e zaˇr´ızen´ı
Pokud jiˇz m´ame pˇreloˇzen´ y obraz programu, lze ho nahr´at do zaˇr´ızen´ı.
Obr´azek 55: Nahr´an´ı aplikaˇcn´ıho obrazu
Pokud je zaˇr´ızen´ı zapojeno do s´ıtˇe, tak lze zvolit Online . Je vhodn´e vybrat Default values .
MODEL ADMINISTRATIVN´I BUDOVY
Obr´azek 56: V´ ybˇer stavu zaˇr´ızen´ı a hodnot promˇenn´ ych
Obr´azek 57: V´ yzva ke stisknut´ı servisn´ıho tlaˇc´ıtka
79
MODEL ADMINISTRATIVN´I BUDOVY
D.3
80
Pˇ rid´ an´ı funkˇ cn´ıho bloku v LonMakeru
Obr´azek 58: V´ ybˇer zaˇr´ızen´ı, kter´e obsahuje poˇzadovan´ y funkˇcn´ı blok a v´ ybˇer toho funkˇcn´ıho bloku
Pokud je potˇreba vytvoˇrit funkˇcn´ı blok ze vˇsech s´ıt’ov´ ych promˇenn´ ych, staˇc´ı zaˇskrtnout r´ameˇcek Create shapes for all network variables.
Obr´azek 59: Pojmenov´an´ı funkˇcn´ıho bloku
MODEL ADMINISTRATIVN´I BUDOVY
D.4
81
Implementace programu do Neuron chipu
Obr´azek 60: Spuˇstˇen´ı Node Builderu a pˇripojen´ı do LonWorks
Po spuˇstˇen´ı node builderu se zobraz´ı z´akladn´ı nab´ıdka a prostˇred´ı. V nab´ıdce se vybere pˇr´ısluˇsn´ y program s koncovkou .nc. D´ale se vybere pˇr´ısluˇsn´ y typ procesoru a transceiveru v poloˇzce Device template.
Obr´azek 61: Node Builder a menu pro spr´avu szaˇr´ızen´ı
V pˇr´ıˇsluˇsn´e ˇsablonˇe Device template se nastav´ı pro jak´ y hardware se programu bude pˇrekl´adat, o jak´ y typ Neuron chipu se jedn´a, na jak´e frekvenci pracuje a jak´ ym transceiverem je pˇripojen do s´ıtˇe.
MODEL ADMINISTRATIVN´I BUDOVY
82
Obr´azek 62: Nastaven´ı vhodn´eho template pro Neuron chip
Obr´azek 63: V´ ybˇer vhodn´e detekce zaˇr´ızen´ı
Po nastaven´ı typu Neuron chipu, je nutn´e spustit Edit u poloˇzky aplikace. Zobraz´ı se samotn´e programovac´ı prostˇred´ı. V tomto prostˇred´ı jsou jiˇz pˇredpˇripraven´e a komentovan´e poloˇzky, kde je moˇzn´e nadefinovat vstupn´ı a v´ ystupn´ı promˇenn´e, definici konstant atp. Je to jen vod´ıto a nen´ı povinnost´ı ˇr´ıdit se pˇripraven´ ym koment´aˇrem. Vygenerovan´e koment´aˇre pom´ahaj´ı orientaci v k´odu a struktuˇre programu.
MODEL ADMINISTRATIVN´I BUDOVY
83
Obr´azek 64: Programovac´ı prostˇred´ı node builderu
Pokud je jiˇz program naps´an, je moˇzn´e v roletov´e nab´ıdce zvolit Build → Build All and Load. Pˇrekladaˇc pˇreloˇz´ı program do pˇr´ısluˇsn´eho obrazu pro vybran´ y Neuron chip a nahraje jej do jeho pamˇeti.
Obr´azek 65: Pˇreklad programu
MODEL ADMINISTRATIVN´I BUDOVY
84
Obr´azek 66: Pˇreklad a nahr´av´an´ı programu do Neuronu
Pokud nenastane chyba, je program u ´spˇeˇsnˇe nahr´an v Neuron chipu a zaˇcne se vykon´avat jeho funkce.
MODEL ADMINISTRATIVN´I BUDOVY
D.5
85
Wago Toplon-prio
Jak jiˇz n´azev napov´ıd´a, slouˇz´ı k celkov´e konfiguraci PLC Wago pro s´ıt’ LonWorks. Konfiguraˇcn´ı program Wago Toplon-prio je nainstalov´an jako z´asuvn´ y modul v programu Microsof Visio 2003 nebo jej lze spustit samostatnˇe.
Obr´azek 67: Aplikace Wago Toplon-prio
V prostˇred´ı Microsof Visio se spust´ı Toplon-prio pomoc´ı Configure z lok´aln´ı nab´ıdky na konfigurovan´em zaˇr´ızen´ı. N´ asleduj´ıc´ı konfiguraci PLC Wago, lze rozdˇelit do dvou ˇc´ast´ı. Konfigurace hardwarov´e a softwarov´e ˇc´asti. Hardwarov´a ˇc´ast, je definice pˇr´ıdavn´ ych modul˚ u um´ıstˇen´ ych na sbˇernici PLC WAgo. Po spoˇstˇen´ı Toplon-prio se vybere konfigurovan´ a ’ s´ıt , subsyst´em v t´eto s´ıti. Pokud nen´ı jist´e v jak´em subsyst´emu je zaˇr´ızen´ı zakomponov´ano, vybere se ALL.
Obr´azek 68: V´ ybˇer s´ıtˇe pro konfiguraci Waga
MODEL ADMINISTRATIVN´I BUDOVY
86
Obr´azek 69: V´ ybˇer subsyst´emu v s´ıti LonWorks
Obr´azek 70: V´ ybˇer konfugurovan´eho Waga
Pokud se jedn´a o prvn´ı konfiguraci ˇci doˇslo ke ztr´atˇe informace o hardwarov´e konfiguraci PLC Wago, program vyzve ke specifikaci modul˚ u.
MODEL ADMINISTRATIVN´I BUDOVY
87
Obr´azek 71: V´ yzva ke specifikaci pˇr´ıdavn´ ych modul˚ u PLC Wago
V konfiguraˇcn´ım oknˇe lok´aln´ı nab´ıdky se urˇc´ı, jak´ y modul je spr´avn´ y z nab´ızen´ ych modul˚ u. Hardwarov´a konfigurace mus´ı odpov´ıdat fyzick´emu rozm´ıstˇen´ı modul˚ u na sbˇernici. Wago samo rozpozn´a o jak´ y typ modulu se jedn´a. Zda se jedn´a o vstupn´ı ˇci v´ ystupn´ı modul a zda jde o analogov´ y ˇci digit´an´ı modul.
Obr´azek 72: Specifikace modul˚ u
MODEL ADMINISTRATIVN´I BUDOVY
88
Obr´azek 73: V´ ybˇer modul˚ u
Obr´azek 74: Nab´ıdka moˇzn´ ych modul˚ u
Po specifikaci vˇsech pˇr´ısluˇsn´ ych modul˚ u se konfigurace potvrd´ı pomoc´ı Close v prav´e ˇc´asti aktu´aln´eho okna. Pokud bylo vˇse korektnˇe nakonfigurov´ano, je hardwarov´a konfigurace ukonˇcena a n´asleduje softwarov´a konfigurace.
MODEL ADMINISTRATIVN´I BUDOVY
89
Obr´azek 75: Konfiguraˇcn´ı prostˇred´ı Wago Toplon-prio
Pro softwarovou konfiguraci je nutn´e vloˇzen´ı souboru s definic´ı promˇenn´ ych z programu Waga a vstupnˇe v´ ystupn´ıch SNVT promˇenn´ ych jak je uvedeno na obr´azku [77]. Tento soubor m´a koncovkou .SYM. Pokud nen´ı tento soubor po pˇrekladu programu pro Wago vytvoˇren, je nutn´e nastavit v programu Wago-IO-Pro 32 ˇci Codesys vytv´aˇren´ı tohoto souboru. Pomoc´ı nab´ıdky Project → Option.., zaˇskrtnut´ım volby Dump symbol entries a n´asledn´em pˇrekladu cel´eho projektu se tento soubor vytvoˇr´ı.
Obr´azek 76: Vytvoˇren´ı SYM souboru
MODEL ADMINISTRATIVN´I BUDOVY
90
Jiˇz vytvoˇren´ y soubor se v Toplon-prio vloˇz´ı pomoc´ı nab´ıdky Open SYM file ...
Obr´azek 77: Import SYM souboru do Toplon-pria
Po vloˇzen´ı souboru s definic´ı promˇenn´ ych, n´asleduje definice a sp´arov´an´ı SNVT promˇenn´ ych v PLC Wago. V nab´ıdce Configuration → Software se vyvol´a softwarov´e konfiguraˇcn´ı prostˇred´ı.
Obr´azek 78: Sofwarov´a konfigurace
V lev´em horn´ım odd´ılu NVIs a NVOs se pojmenuj´ı promˇenn´e nvi a nvo tak, aby byla
MODEL ADMINISTRATIVN´I BUDOVY
91
v LonMakeru jednouch´a a intuitivn´ı jejich identifikace. T´eˇz se nastav´ı jak´eho typu je pˇr´ısluˇsn´a SNVT promˇenn´a. Standardnˇe jsou promˇenn´e nastaveny na SNVT typ SNVT str asc.
Obr´azek 79: Definov´an´ı LonWorks promˇenn´ ych
N´asleduje sp´arov´an´ı nyn´ı definovan´ ych SNVT promˇenn´ ych s promˇenn´ ymi v programu. To se provede v lev´em doln´ım odd´ılu. Pro kaˇzdou v programu nadefinovanou SNVT promˇennou se ve vysunovac´ı nab´ıdce pˇridˇel´ı definovan´a promˇenn´a v pˇredeˇsl´em kroku. D´ale se mus´ı urˇcit rozsahy promˇenn´ ych. Pro typ BOOL je nejmenˇs´ı datov´ y typ byte, proto se urˇc´ı jak´a hodnota pˇr´ısluˇs´ı pro stav OFF a jak´a pro hodnotu ON.
Obr´azek 80: Sp´arov´ an´ı LonWorks promˇenn´ ych s Wago promˇenn´ ymi
MODEL ADMINISTRATIVN´I BUDOVY
92
Pot´e co se takto sp´aruj´ı vˇsechny poˇzadovan´e promˇenn´e, uloˇz´ı se cel´a konfigurace opuˇstˇen´ım programu pomoc´ı File → Exit. V doln´ı ˇc´asti okna je moˇzn´e vidˇet proces ukl´ad´an´ı konfigurace do PLC WAgo. T´ımto je cel´a konfigurace hotova.
MODEL ADMINISTRATIVN´I BUDOVY
D.6
93
Wago-IO-Pro 32
Pro vytvoˇren´ı programu pro Wago, je vhodn´e pouˇz´ıt Wago-IO-Pro 32 s plnou licenc´ı. Demo verze programu neobsahuje moˇznost vytv´aˇren´ı SYM souboru, kter´ y je nutn´ y pro konfiguraci. Dalˇs´ı moˇznost´ı je pouˇzit´ı programu Codesys. V tomto pˇr´ıpadˇe je nezbytn´e pouˇz´ıt nejnovˇejˇs´ı verzi, kter´a volbu tvorby genreov´an´ı SYM souboru obsahuje. D´ale bude pops´an v´ yvoj progamu v r´amci Wago-IO-Pro 32. Pro tvorbu programu je nutn´e se rozhodnout jak´ ym jazykem bude cel´ y program ps´ an. 21 22 Mezi hlavn´ı jazyky, z nab´ızen´ ych, patˇr´ı LD a ST . Pro podobnost s klasick´ ymi programovac´ımi jazyky byl vybr´an Structured text. Cel´ y program lze rozdˇelit do nˇekolika podprogram˚ u uvnitˇr jednoho projektu. V´ yhoda toho konceptu je jeho pˇrehlednost. Vhodn´e je zav´est program na inicializace promˇenn´ ych a nastaven´ı programu ˇci PLC do v´ ychoz´ıho stavu. D˚ uleˇzitou ˇc´asti tvorby programu je spr´avn´a adresace fyzick´ y vstup˚ u a v´ ystup˚ u. T´eˇz adresaci vstup˚ u a v´ ystup˚ u pro LonWorks je potˇreba spr´avnˇe nastavit. Pˇri spuˇstˇen´ı PLC Wago se adresuj´ı vstupy analogov´e, digit´an´ı, pak v´ ystupy jak analogov´e tak digit´aln´ı. Nez´avisle na fyzick´e konfiguraci se adresuj´ı za sebou. Z toho plyne i adresace v programu. Pro pˇredch´azen´ı koliz´ım je nutn´a znalost velikosti promˇenn´e, kterou modul Waga poskytuje jako v´ ystupn´ı hodnotu ˇci poˇzaduje jako vstupn´ı. Napˇr´ıklad sepnut´ı rel´e je hodnota jednoho bitu, ale teplota z ˇcidla PT100 m´a velikost 1 byte. Z´aleˇz´ı t´eˇz na datov´em typu promˇenn´e. Zda se jedn´a o BIT, BYTE, WORD ˇci DOUBLEWORD. Nerespektuje-li se velikost promˇenn´e, m˚ uˇze doj´ıt k nechtˇen´emu pˇrepisu promˇenn´ ych pˇri jejich pˇrekryvu adres a t´ım i nefunkˇcnosti programu ˇci nepˇredv´ıdateln´emu chov´an´ı. Adresy od 0 do 255 typu word jsou urˇceny pro adresaci fyzick´ ych vstup˚ u/vstup˚ u. Jak vstupy tak v´ ystupy maj´ı sv˚ uj blok pamˇeti zaˇc´ınaj´ıc´ı adresou 0 a konˇc´ıc´ı na adrese 255. Pro s´ıt’ov´e promˇenn´e je urˇcen blok adres od 256 do 511. Bliˇzˇs´ı a podrobn´ y popis adresace je v dokementaci od PLC Wago [15] na stranˇe 43 a 45. Obr´azek [81] n´azornˇe ukazuje adresaci fyzick´ ych vstup˚ u teplot ze tˇrech ˇcidel PT100 a pˇeti v´ ystup˚ u bitovov´eho typu.
Obr´azek 81: Adresace fyzick´ ych vstup˚ u a v´ ystup˚ u 21 22
Ladder diagram Structured text
MODEL ADMINISTRATIVN´I BUDOVY
94
Pˇri adresaci s´ıt’ov´ ych promˇenn´ ych je volba adresy zcela na v˚ uli program´atora. Jen mus´ı b´ yt v rozsahu 256 aˇz 511. Obr´azek [82] ukazuje adresaci nˇekolika s´ıt’ov´ ych vstupn´ıch a v´ ystupn´ıch promˇenn´ ych.
Obr´azek 82: Adresace s´ıt’ov´ ych vstup˚ u a v´ ystup˚ u
Pokud jsou naadresov´any vˇsechny fyzick´e a s´ıt’ov´e vstupy/v´ ystupy, je moˇzn´e definovat dalˇs´ı promˇenn´e. Wago IO Pro 32 umoˇzn ˇuje velmi jednoduch´e zakl´ad´an´ı dalˇs´ıch promˇenn´ ych. Pokud bˇehem z´ apisu program promˇenn´a jeˇstˇe neexistuje, Wago IO Pro 32 zobraz´ı dialogov´e okno pro jej´ı zaloˇzen´ı viz obr´azek [83]. Je-li nutn´a jej´ı pˇr´ıstupnost v cel´em programu, mus´ı se um´ıstit do glob´aln´ıch promˇenn´ ych.
Obr´azek 83: Zaloˇzen´ı nov´e promˇenn´e
Vytvoˇren´ y program je rozdˇelen na podprogramy, kter´e umoˇzn ˇuj´ı vytv´aˇret strukturu programu a t´ım zpˇrehlednit funkci jednotliv´ ych podprogram˚ u.
MODEL ADMINISTRATIVN´I BUDOVY
95
Obr´azek 84: Hlavn´ı program
Pro vloˇzen´ı nov´eho podprogramu lze vyuˇz´ıt nab´ıdky Project → Object → Add.... V t´eto nab´ıdce je um´ıstˇena kompilace cel´eho projektu ˇci Option pro nastaven´ı prostˇred´ı Wago-IO-Pro 32.
Obr´azek 85: Vloˇzen´ı nov´eho programu
Pro vloˇzen´ı promˇenn´e do k´odu programu, lze vyuˇz´ıt Input Assistant pro vkl´ad´ an´ı promˇenn´ ych, deklarac´ı ˇci funkc´ı viz obr´azek [86]. Doc´ıl´ı se rychlejˇs´ıho psan´ı programov´eho k´odu.
MODEL ADMINISTRATIVN´I BUDOVY
96
Obr´azek 86: Input assistant
Obr´azek 87: Vloˇzen´ı promˇen´e pomoc´ı asistenta
Pokud je jiˇz program vytvoˇren, je nutn´e ho pˇreloˇzit. Cel´ y pˇreklad se prov´ad´ı pro konkr´etn´ı typ PLC Wago. Pokud byl pˇri zakl´ad´an´ı projektu zvolen nespr´avn´ y typ, je moˇzn´e ho v nab´ıdce zmˇenit Extras → PLC selection.
MODEL ADMINISTRATIVN´I BUDOVY
97
Obr´ azek 88: Zmˇena PLC v projektu
Obr´azek 89: V´ ybˇer vhodn´eho PLC
Po spr´avn´em nastaven´ı typu PLC Wago a pˇreloˇzen´ı programu, je moˇzn´e se pˇripojit k PLC Wago a nahr´at program do jeho pamˇeti RAM. Pro pˇrenos dat se pouˇz´ıv´ a seriov´a linka. Lze vyuˇz´ıt seriov´eho kabelu ˇci bluetooth. Pokud se pouˇz´ıv´a bluetooth pro vytvoˇren´ı seriov´eho spojen´ı, je nutn´e toto prvnˇe spojen´ı nav´azat. Pokud bluetooth nedetekuje kratˇs´ı dobu komunikaci, dojde k jeho odpojen´ı. Proto je nutn´e velmi rychl´e pˇrepnout´ı po nav´az´an´ı spojen´ı s PLC Wago do Wago IO Pro 32 a pˇrihl´asit se pomoc´ı nab´ıdky Online → Login.
MODEL ADMINISTRATIVN´I BUDOVY
98
Obr´azek 90: Nav´az´an´ı seriov´eho spojen´ı pomoc´ı bluetooth s PLC Wago
Obr´azek 91: Pˇrihl´aˇsen´ı do PLC
Pˇri u ´spˇeˇsn´em pˇrihl´aˇsen´ı a nahr´an´ı programu, je potˇrebn´e PLC pˇrepnout do reˇzimu RUN. Posl´eze dojde k samotn´emu v´ ykonu programu. Pˇri bˇehu programu je moˇzn´e v prav´e ˇc´asti programovac´ıho prostˇred´ı vidˇet stavy a hodnoty promˇenn´ ych. Pokud je jiˇz program plnˇe funkˇcn´ı, je nezbytn´e jej zapsat do pamˇeti FLASH. Wago po resetu ˇci pˇripojen´ı do nap´ajec´ı s´ıtˇe naˇcte program z pamˇeti FLASH a dojde k automatick´emu spuˇstˇen´ı programu bez nutnosti opˇetovn´eho nahr´av´an´ı programu do PLC. Pˇri z´apisuje program do pamˇeti FLASH, je nutn´e b´ yt pˇrihl´aˇsen v PLC Wago. Pot´e se v nab´ıdce vybere pˇr´ıkaz Online → Flash, kter´ y je um´ıstˇen posledn´ı z nab´ıdky. Nyn´ı je program trvale nahr´ an v pamˇeti PLC.
MODEL ADMINISTRATIVN´I BUDOVY
99
Obr´azek 92: Um´ıstˇen´ı programu do pamˇeti flash
N´aslednˇe se PLC Wago nakonfiguruje podle kapitoly D.5 a zapoj´ı do s´ıtˇe LonWorks podle pˇr´ılohy D.1.
MODEL ADMINISTRATIVN´I BUDOVY
D.7
100
IPlongate
IPlongate je OPC23 server slouˇz´ıc´ı k propojen´ı r˚ uzn´ ych aplikac´ı s LNS datab´az´ı. Je velmi d˚ uleˇzit´ y pro funkˇcnost konfiguraˇcn´ıho programu LonMaker. Pˇri konfiguraci s´ıtˇe Lonworks, je nutn´e prvnˇe spustit Iplongate a n´aslednˇe LonMaker. D˚ uleˇzit´e je dodrˇzen´ı tohoto sledu spoustˇen´ı aplikac´ı. Pˇri spouˇstˇen´ı IPlongatu, se v nab´ıdce vybere poloˇzka Local. Znaˇc´ıto to naˇc´ıt´an´ı z lok´aln´ı LNS datab´aze.
Obr´azek 93: Spouˇstˇen´ı Iplongate
N´asleduje v´ ybˇer projektu. 23
Object Linking and Embedding for Process Control je soubor specifikac´ı definuj´ıc´ıch zp˚ usob pˇred´ av´ an´ı informac´ı mezi jednotliv´ ymi OPC aplikacemi
MODEL ADMINISTRATIVN´I BUDOVY
101
Obr´azek 94: V´ ybˇer projektu
Dalˇs´ı dialogov´e okno nab´ız´ı v´ ybˇer LNS datab´aze, skrze jak´e rozhran´ı se bude pˇristupovat k s´ıti LonWorks. V tomto pˇr´ıpadˇe se jednalo o rozhran´ı L-switch firmy Loytec. Standardnˇe se vyb´ır´a se toto rozhran´ı. Pokud je nainstalov´an driver pro XLON Dongle, lze pˇristupovat do s´ıtˇe i pˇres toto rozhran´ı.
MODEL ADMINISTRATIVN´I BUDOVY
102
Obr´azek 95: V´ ybˇer datab´aze a rozhran´ı
IPlongate zaˇcne naˇc´ıtat LNS datab´azi vˇcetnˇe vˇsech promˇenn´ ych a vytvoˇr´ı z nich strukturovan´ y strom s´ıtˇe.
Obr´azek 96: Naˇc´ıt´an´ı LNS databaze
Po naˇcten´ı cel´e datab´aze, je v lev´e ˇc´asti um´ıstˇen vytvoˇren´ y strukturovan´ y strom a lze v nˇem ˇc´ıst a zapisovat do promˇenn´ ych.
MODEL ADMINISTRATIVN´I BUDOVY
103
Obr´azek 97: Vytvoˇren´ y strukturovan´ y strom LNS datab´aze
Vlevo na obr´azku 98 je vidˇet rozvinut´ y strom pro vˇsechny prvky v s´ıti a t´eˇz PLC Wago um´ıstˇen´e v technick´e m´ıstnosti. Pro Wago plat´ı pravidlo, ˇze v´ ystupn´ı promˇenn´e maj´ı n´azev VarSensor[xx]. Vstupn´ı promˇenn´e jsou nazv´any VarActuator[xx]. Po kliknut´ı na promˇennou v PLC Wago, lze zjistit jej´ı n´azev, adresu a jej´ı aktu´aln´ı hodnotu.
Obr´azek 98: V´ ybˇer promˇenn´e ve Wagu
Pokud nen´ı uvedena adresa, druh nahr´av´an´ı promˇenn´e (polling) a hodnota, lze na promˇennou vpravo kliknout. Zobraz´ı se konfiguraˇcn´ı okno dan´e promˇenn´e. Lze si naˇc´ıst ˇci vloˇzit hodnotu do promˇenn´e. Je zde moˇznost nastaven´ı opakovan´eho naˇc´ıt´an´ı neboli polling. Nab´ız´ı se nastaven´ı nahr´av´an´ı pomoc´ı LNS serveru, aˇz po ˇz´adosti OPC serveru ˇci
MODEL ADMINISTRATIVN´I BUDOVY
104
manu´aln´ı. Pokud se zvol´ı LNS nahr´av´an´ı, mus´ı se nastavit ˇcas jak ˇcasto se m´a promˇenn´ a nahr´ava z LNS serveru resp datab´aze. Pokud zvol´ıme OPC polling, tak se promˇenn´ a nahraje pouze, kdyˇz je ˇz´ad´ana od OPC serveru. Pokud chceme s danou promˇennou pracovat v programu Axeda Wizcon, mus´ı se pˇredevˇs´ım u vstupn´ıch promˇenn´ ych resp. VarActuators nastavit nahr´av´an´ı na hodnotu OPC Polling. Jinak je vizualizaˇcn´ı program nenalezne v datab´azi tag˚ u. Manu´aln´ı nahr´an´ı je jen pˇri manu´aln´ım vyˇz´ad´an´ı, kter´e se hod´ı u vstupn´ıch promˇenn´ ych. Dalˇs´ı vyuˇz´ıt´ı Iplongate nach´az´ı v indetifikaci typu SNVT a adresy promˇenn´e.
Obr´azek 99: Konfigurace promˇenn´e
Uˇziteˇcnou vlastnost´ı k ˇcemu vyuˇz´ıvat Iplongate je k identifikaci promˇenn´ ych ve Wagu ˇci jin´em nodu v s´ıti LonWorks. Pokud program´ator nepojmenuje SNVT promˇenn´e intuitivnˇe, neni jednoznaˇcn´e jak se potˇrebn´a promˇenn´a jmenuje. Bohuˇzel, nˇekdy je dodan´ a dokumentace ˇspatn´a a nelze z n´ı jednoznaˇcnˇe urˇcit jak´a promˇenn´a je ˇz´adan´a. Velmi ˇcasto se promˇenn´e jmenuj´ı nvi0, .. nvi25, z toho nelze pˇresnˇe ˇr´ıci o jakou promˇennou jde. Pomoc´ı pozorov´an´ı zmˇen hodnot promˇenn´ ych v Iplongatu, lze zjisti o jakou promˇennou se jedn´a z jej´ıho rozsahu a fyzik´ aln´ıho typu. Dalˇs´ı vlastnost´ı je monitorov´an´ı promˇenn´ ych, kdy server poskytuje cel´ y seznam promˇenn´ ych s jejich aktu´aln´ı hodnotou.
MODEL ADMINISTRATIVN´I BUDOVY
105
Obr´azek 100: Seznam monitorovan´ ych promˇenn´ ych
Iplongate poskytuje seznam vˇsech zaˇr´ızen´ı v datab´az´ı resp. v dan´e s´ıti LonWorks vˇcetnˇe jejich aktu´aln´ıho stavu.
Obr´azek 101: Seznam monitorovan´ ych zaˇr´ızen´ı
E
Obsah pˇ riloˇ zen´ eho DVD
Pˇriloˇzen´e DVD obsahuje tyto adres´aˇre a soubory: • /dp 2006 michal slezak.pdf - tento dokument ve verzi .pdf
MODEL ADMINISTRATIVN´I BUDOVY
• /datasheets - adres´aˇr obsahuj´ıc´ı vˇsechny pouˇzit´e manu´aly • /pdf - adres´aˇr se zdrojov´ ymi k´ody t´eto diplomov´e pr´ace • /pictures - adres´aˇr s obr´azky pouˇzit´e v diplomov´e pr´aci • /plans - adres´aˇr s veˇsker´ ym´ı pl´any • /prezentation - adres´aˇr obsahuj´ıc´ı vˇsechny vytvoˇren´e prezentace • /software - adres´aˇr obsahuje uˇziteˇcn´ y software potˇrebn´ y k v´ yvoji aplikac´ı
106