Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Tomaž Velečič
KRMILJENJE KLIMATOV PREKO
CENTRALNEGA NADZORNEGA SISTEMA
Diplomsko delo
Maribor, maj 2013
I
Diplomsko delo univerzitetnega študijskega programa
KRMILJENJE KLIMATOV PREKO CENTRALNEGA NADZORNEGA SISTEMA
Študent: Tomaž Velečič
Študijski program: UN Elektrotehnika
Smer: Avtomatika
Mentor: izr. prof. dr. Nenad Muškinja
Lektor: Tea Delena
Maribor, maj 2013
III
ZAHVALA
Zahvaljujem se mentorju izr. prof. dr. Nenadu
Muškinji za pomoč in vodenje pri izdelavi
diplomskega dela. Zahvalil bi se tudi podjetju
ETRA d.o.o, ki mi je omogočilo izdelavo diplome.
Poleg tega bi se zahvalil staršem, ki so me
podpirali pri šolanju in udejstvovanju v športu.
IV
KRMILJENJE KLIMATOV PREKO CENTRALNEGA NADZORNEGA
SISTEMA
Ključne besede: nadzorni sistem, klimati, MODBUS, krmilniki, daljinski nadzor
UDK: 621.398:681.536.5(043.2)
Povzetek
V diplomski nalogi je predstavljen potek izgradnje centralnega nadzornega sistema za
krmiljenje klima naprav. Ker gre za nadgradnjo obstoječega sistema, je najprej opisana
zgradba le-tega. V nadaljevanju pa je opisan potek same nadgradnje in problemov, ki so
posledica omejitev uporabljenih komponent.
V
CLIMATE CONTROL THROUGH CENTRAL CONTROL SYSTEM
Key words: control system, climates, MODBUS, controllers, remote supervision
UDK: 621.398:681.536.5(043.2)
Abstract
This diploma describes the course of construction of a central control system for
controlling air conditioners. Because this was an upgrade to an existing system, the
structure of that system is described first. The upgrade itself and problems, which result
from used component, are described hereinafter.
VI
KAZALO
1 UVOD .............................................................................................................. 1
1.1 Kratek opis podjetja ETRA d.o.o. ................................................................................... 1
1.2 Cilji diplomske naloge ................................................................................................... 2
2 CENTRALNI NADZORNI SISTEM .................................................................. 4
2.1 PLK ............................................................................................................................... 4
2.2 Izvršni členi .................................................................................................................. 6
2.3 Senzorji ........................................................................................................................ 7
3 OPIS OBSTOJEČEGA SISTEMA ................................................................... 9
3.1 Zgradba ........................................................................................................................ 9
3.1.1 Krmilnik ETKM K-CPU v7 .................................................................................................................. 9
3.1.2 Krmilnik z zaslonom ETKM K-PANEL v3 .......................................................................................... 12
3.1.3 Klimati VentilClima ......................................................................................................................... 15
3.1.4 Temperaturni senzorji .................................................................................................................... 16
3.1.5 Ostale komponente ....................................................................................................................... 17
3.2 Regulacija ................................................................................................................... 17
3.3 Problemi in rešitve ..................................................................................................... 17
4 NADGRADNJA SISTEMA ............................................................................ 18
4.1 Nove komponente ...................................................................................................... 19
4.1.1 Krmilnik ETKM K-CPU v9 ................................................................................................................ 19
4.1.2 Vmesnik XPort ................................................................................................................................ 20
4.2 Program na hub-u ....................................................................................................... 21
4.3 Program na krmilnikih klimatov .................................................................................. 22
4.3.1 Regulacija ....................................................................................................................................... 22
VII
4.3.2 Komunikacija s hub-om .................................................................................................................. 26
4.3.3 Komunikacija s panelom in meniji ................................................................................................. 26
4.4 Protokol ETBUS .......................................................................................................... 27
4.5 Protokol Modbus preko TCP ....................................................................................... 28
4.5.1 Kratka zgodovina in opis protokola ................................................................................................ 28
4.5.2 Osnovni opis delovanja sistema ..................................................................................................... 29
4.5.3 Implementacija protokola .............................................................................................................. 30
4.5.4 READ HOLDING REGISTER .............................................................................................................. 31
4.5.5 WRITE HOLDING REGISTER ............................................................................................................ 31
4.5.6 WRITE HOLDING REGISTERS .......................................................................................................... 32
4.5.7 Sestava registrov ............................................................................................................................ 32
4.6 Tabele in procedure baze MSSQL ................................................................................ 33
4.7 Servis aplikacija .......................................................................................................... 35
4.8 CNS aplikacija ............................................................................................................. 36
5 SKLEP ........................................................................................................... 41
6 VIRI IN LITERATURA ................................................................................... 43
VIII
KAZALO SLIK
SLIKA 1.1.1: NOVI OBJEKT V BUKOVŽLAKU .................................................................................................................. 2
SLIKA 2.1.1: PLK SIEMENS S7-300........................................................................................................................... 4
SLIKA 2.1.2: PLK SIEMENS LOGO! ........................................................................................................................... 5
SLIKA 2.2.1: ELEKTROPNEVMATSKI VENTIL S POZICIONERJEM .......................................................................................... 6
SLIKA 2.2.2: FREKVENČNI PRETVORNIK ZA MANJŠE MOČI SIEMENS MICROMASTER 420 ....................................................... 7
SLIKA 3.1.1: KRMILNIK ETKM K-CPU V7 .................................................................................................................. 9
SLIKA 3.1.2: GRAFIČNI VMESNIK PREVAJALNIKA CCS ................................................................................................... 10
SLIKA 3.1.3: PROGRAMATOR CCS ICD-U64 ............................................................................................................. 11
SLIKA 3.1.4: PINI NA PIC-U 18F8722 ..................................................................................................................... 12
SLIKA 3.1.5: KRMILNIK ETKM K-PANEL V3 S TESTNIM PROGRAMOM ........................................................................... 13
SLIKA 3.1.6: MIKROKRMILNIK PIC 18F2620 ............................................................................................................ 14
SLIKA 3.1.7: KLIMATI VENTILCLIMA ......................................................................................................................... 15
SLIKA 3.1.8: TEMPERATURNI SENZOR ....................................................................................................................... 16
SLIKA 3.3.1: SHEMA NADGRAJENEGA SISTEMA ........................................................................................................... 18
SLIKA 4.1.1: KRMILNIK ETKM K-CPU V9 ................................................................................................................ 19
SLIKA 4.1.2: VMESNIK XPORT ................................................................................................................................ 20
SLIKA 4.1.3: SPLETNI VMESNIK ZA NASTAVITEV XPORT-A ............................................................................................. 21
SLIKA 4.3.1: ODZIV NA STOPNICO ........................................................................................................................... 25
SLIKA 4.3.2: ODZIV REGULIRANEGA SISTEMA ............................................................................................................. 26
SLIKA 4.5.1: MODBUS TCP OKVIR .......................................................................................................................... 30
SLIKA 4.6.1: POLJA TABELE TEMPERATURE ................................................................................................................ 33
SLIKA 4.6.2: DEL PROCEDURE ZA IZPIS ZADNJE VPISANIH VREDNOSTI .............................................................................. 34
SLIKA 4.6.3: PRIKAZ NEKATERIH ZAPISOV V TABELI TEMPERATURE .................................................................................. 34
SLIKA 4.7.1: UPORABLJENE KOMPONENTE PRI IZDELAVI SERVISNE APLIKACIJE ................................................................... 35
SLIKA 4.8.1: PRIJAVA UPORABNIKA .......................................................................................................................... 36
SLIKA 4.8.2: CNS APLIKACIJA - GLAVNO OKNO ........................................................................................................... 37
SLIKA 4.8.3: CNS APLIKACIJA - IZBIRA PISARNE .......................................................................................................... 37
SLIKA 4.8.4: CNS APLIKACIJA - NASTAVITEV TEMPERATURE .......................................................................................... 38
SLIKA 4.8.5: APLIKACIJA ZA ADMINISTRATORJE V DVEH REŽIMIH DELOVANJA IN V SKRČENEM POGLEDU ................................. 39
SLIKA 4.8.6: APLIKACIJA ZA ADMINISTRATORJE Z IZRISANIM GRAFOM, V RAZŠIRJENEM POGLEDU .......................................... 40
IX
KAZALO TABEL
TABELA 1: IZRAČUN PARAMETROV PID REGULACIJE PO CHR METODI (VIR: BECKHOFF.COM) ............................................... 24
X
UPORABLJENE KRATICE
MSSQL – Microsoft Structured Query Language
CNS – Centralni nadzorni sistem
CCS – Custom Computer Services, Inc.
RAM – Random Access Memory (bralno-pisalni pomnilnik)
MIPS – Millions of Instructions Per Second (milijonov instrukcij na sekundo)
TCP/IP – Transmission Control Protocol, Internet Protocol (protokol za nadzor prenosa,
internetni protokol)
ID – Identifikacija
ASCII - American Standard Code for Information Interchange (ameriški standardni nabor
za izmenjavo informacij)
CRC - Cyclic Redundancy Check (ciklično preverjanje redundance)
PLK – Programabilni logični krmilnik
MBAP – Modbus Application Header
ADO – ActiveX Data Objects
Krmiljenje klimatov preko centralnega nadzornega sistema
1
1 UVOD
Obvezno študijsko prakso sem opravljal v podjetju ETRA d.o.o.. Poleg prakse, so mi
omogočili tudi študentsko delo, čigar plod je to diplomsko delo. Zato bom najprej namenil
nekaj besed o imenovanem podjetju, nato pa bom na kratko opisal cilje diplomske naloge.
1.1 Kratek opis podjetja ETRA d.o.o.
Podjetje ETRA d.o.o. je bilo ustanovljeno leta 1994 v Dramljah. Danes zaposlujejo preko
30 ljudi z obsežnimi in odlično podkovanimi specializiranimi znanji ter praktičnimi
izkušnjami med vodilnimi v Sloveniji na področju industrijske avtomatizacije, procesnega
krmiljenja in elektromotornih pogonov. To dokazujejo tudi številne stranke, poslovni
partnerji in izvedeni projekti.
Njihove storitve obsegajo avtomatizacijo, pogonske sisteme, industrijsko elektroniko, CNC
sisteme, sisteme za krmiljenje in nadzor, telekomunikacijske sisteme, projektiranje, razvoj,
robotiko, avtomatizacijo sistemov, nadgradnjo dvigal, spajanje/varjenje optičnih vlaken,
strojegradnjo ter drugo.
V 18 letih uspešnega delovanja so pridobili ekskluzivno zastopništvo za R&M (pasivna
oprema za računalniška, informacijska in telekomunikacijska omrežja), Ideal Industries
(merilne naprave za elektrotehniko) in ostala zastopništva za prodajo in integracijo: ELCA,
Cisco, Microsoft, Siemens in ostali.
Krmiljenje klimatov preko centralnega nadzornega sistema
2
Slika 1.1.1: Novi objekt v Bukovžlaku
S podjetjem Siemens jih veže večletno uspešno sodelovanje, s čimer so pridobili tudi
certifikat Siemens Automation Solution Partner. Prav tako so posebej ponosni na
pridobitev naziva Gazela 2006 ter na njihovo najnovejšo pridobitev – 5200 kvadratnih
metrov veliko poslovno stavbo, vredno 6,4 milijona evra v Celju, s katero so združili vse
dislocirane enote (servis, razvoj, trgovina, administracija) pod eno streho in temu dodali še
restavracijo.
1.2 Cilji diplomske naloge
V novem objektu so za krmiljenje klimatov uporabili lastne krmilnike, ki za krmiljenje
uporabljajo Microchip-ove PIC mikrokrmilnike. Programirani so v programskem jeziku C.
Ker je nadzor krmilnikov trenutno možen le lokalno na električni omari, preko krmilnika
ETKM K-PANEL v3, so se odločili za nadgradnjo, ki bi omogočala nastavitev in
spremljanje temperature prostorov daljinsko.
Namen diplomske naloge je nadgradnja obstoječega sistema klimatov za nadzor
temperature v novem objektu podjetja. Cilji nadgradnje so sledeči:
povezava krmilnikov za krmiljenje klimatov na centralni krmilnik (hub),
Krmiljenje klimatov preko centralnega nadzornega sistema
3
povezava hub-a v lokalno omrežje preko vmesnika XPort (pretvornik iz serijske
komunikacije (RS232) na ethernet omrežje in protokol TCP/IP) ter uporaba
protokola Modbus za komunikacijo,
izdelava tabel, procedur in prožilnih procedur v bazi MSSQL,
izdelava servisne aplikacije, ki bo zapisovala v bazo,
izdelava centralnega nadzornega sistema (CNS) v programskem jeziku Delphi,
izboljšanje obstoječe regulacije.
Pri izdelavi sistema, so že vnaprej znane nekatere omejitve uporabljenih komponent (npr.:
vmesnik XPort omogoča le 1 sejo naenkrat), za katere bomo morali najti ustrezne
tehnične rešitve.
V drugem poglavju smo opisali centralni nadzorni sistem na splošno (sestava, lastnosti in
naloge posameznih komponent sistema). V naslednjem poglavju smo opisali obstoječi
sistem nadzora klimatov v podjetju Etra. To zajema samo zgradbo sistema (uporabljene
komponente), način regulacije ter kakšni so problemi trenutnega stanja in kako bi jih lahko
rešili. V zadnjem poglavju sledi opis postopka nadgradnje. Sem spada opis novih
komponent, nove regulacije, programa na krmilnikih, protokolov ETBUS in MODBUS,
servisne aplikacije, ki teče na serverju ter aplikacije za uporabnike, s katerimi lahko
nadzirajo delovanje sistema klimatov.
Krmiljenje klimatov preko centralnega nadzornega sistema
4
2 CENTRALNI NADZORNI SISTEM
To je izraz za centralno napravo oz. sklop naprav za nadzor obnašanja drugih naprav ali
sistemov. V našem primeru gre za nadzorni sistem poslovnega objekta, poznamo pa tudi
mnogo drugih, kot npr. požarni, omrežni, ladijski, avtomobilski itn. Preko našega sistema
bomo nadzirali delovanje klimatov, v prihodnosti pa je načrtovan tudi nadzor vrat.
Glavne komponente našega nadzornega sistema so PLK-ji, izvršni členi, senzorji in
strežnik. Zelo pomembno vlogo pa igrajo komunikacije med elementi sistema.
2.1 PLK
Programabilni logični krmilnik je računalnik, namenjen predvsem za uporabo pri
avtomatizaciji procesov. Od splošno namenskega računalnika se razlikuje v robustnosti
ter številu in vrsti vhodov in izhodov. Poleg tega deluje v strogem realnem času, ker je v
industrijskih procesih zelo pomembno, da ne pride do neželenih zakasnitev, ker lahko
pride tudi do potencialno nevarnih situacij.
Slika 2.1.1: PLK Siemens S7-300
Krmiljenje klimatov preko centralnega nadzornega sistema
5
Pred prihodom PLK-jev, se je krmiljenje izvajalo z uporabo velikega števila relejev,
kontaktorjev, fizičnih časovnikov in drugih elementov. Načrtovanje, ožičenje in instalacija
je bila časovno potratna in draga. Poleg tega, pa je bila vsakršna naknadna sprememba
zelo naporna in zamudna, saj so morali ročno na novo ožičiti posamezne elemente. S
prihodom PLK-jev se je to zelo poenostavilo, pocenilo, povečala se je tudi hitrost.
Slika 2.1.2: PLK Siemens LOGO!
Danes je na trgu mnogo proizvajalcev. Med bolj znane sodijo Siemens, Omron,
Schneider, Allen-Bradley, Mitsubishi, ABB, MODICON in drugi. Poznamo 2 izvedbe
krmilnikov:
- Kompaktna (Slika 2.1.2) - vse komponente so v enem ohišju (napajanje, procesor,
vhodne in izhodne enote). Uporabni so za manjše sisteme.
- Modularna (Slika 2.1.1) – krmilnik je sestavljen iz posameznih modulov
(procesorski, napajalni, vhodni, izhodni, komunikacijski…). Moduli komunicirajo
med seboj preko skupnega vodila.
Programiranje krmilnika lahko poteka v kateremkoli izmed naslednjih standardiziranih
programskih jezikov:
- IL – Instruction List (seznam ukazov),
- ST – Structured Text (strukturiran tekst),
- LD – Ladder Diagram (lestvični diagram),
Krmiljenje klimatov preko centralnega nadzornega sistema
6
- FBD – Function Block Diagram (funkcijski blokovni diagram).
Prva dva sta tekstovna, druga dva pa grafična jezika. Predvsem lestvični diagram je
primeren tudi za začetnike, ker predstavlja simbolično predstavitev relejskih vezij.
Program se izvaja sekvenčno in v strogem realnem času.
Ker potrebuje procesna enota konstantno napajanje brez napetostnih konic, ki so pogoste
v industrijskih okoljih, ga je potrebno od aktivnih delov galvansko ločiti. Dodatno napajalno
enoto potrebujemo tudi za aktiviranje aktuatorjev, ki po navadi potrebujejo večjo moč in
napetost, kot jo je sposoben zagotoviti sam krmilnik.
2.2 Izvršni členi
To so aktivni elementi sistema, preko katerih vodimo tehnološke procese. V našem
primeru so to ventilatorji, ventili in lopute. Poleg teh poznamo še motorje, črpalke,
grelnike, itn. V našem primeru jih poganjamo s pomočjo elektromotornih pogonov,
uporabljajo pa se tudi elektropnevmatski, elektrohidravlični in pnevmatski.
Slika 2.2.1: Elektropnevmatski ventil s pozicionerjem
Za manjše moči so najbolj primerni elektromotorni pogoni, predvsem zaradi svoje nižje
cene in enostavnosti. Problemi nastanejo pri regulaciji, ker so po navadi krmiljeni le
Krmiljenje klimatov preko centralnega nadzornega sistema
7
tropoložajno. Dandanes se uporabljajo tudi frekvenčno vodeni asinhroni motorji, ki
bistveno izboljšajo regulacijo, vendar je cena v tem primeru višja. Zelo so primerni za
pogon črpalk, ventilatorjev in transportnih trakov. So tudi energijsko učinkovitejši in
posledično manjši. Namesto dušenja (lopute, ventili), lahko uravnavamo pretok s
spreminjanjem hitrosti črpalke, ventilatorja. Slabost so visokofrekvenčne motnje v omrežju
zaradi frekvenčnega pretvornika.
Slika 2.2.2: Frekvenčni pretvornik za manjše moči Siemens Micromaster 420
Pri krmiljenju ventilov in loput so najbolj učinkoviti elektropnevmatski in pnevmatski
aktuatorji. Z njimi lahko dosežemo zelo hitre odzive. Pnevmatski so še posebej primerni
za eksplozivna in korozivna okolja, kjer je prisotnost napetosti lahko nevarna. Obojni so
zelo dobri takrat, kadar je prisotna zahteva po kvalitetni regulaciji.
Elektrohidravlični so bolj kompleksni in s tem zahtevnejši za uporabo. Z njimi dosežemo
zelo velike navore in hitre odzive, zato se pogosto uporabljajo v robotiki in aeronavtiki.
2.3 Senzorji
Senzorji predstavljajo osnovo avtomatiziranih procesov vodenja. Dosti boljše je za
regulacijo, če kvalitetno izmerimo neko veličino, kot če slabo meritev kasneje obdelujemo.
Vendar za kvalitetno meritev potrebujemo natančna tipala, ki morajo obenem biti tudi
dolgoročno zanesljiva. Pomembna je tudi povezava med senzorjem in krmilnikom, ker
lahko pride do mnogih popačitev signala, ki kasneje pripeljejo tudi do slabše regulacije.
Zato je po navadi najboljše, če je senzor čim bližje krmilniku.
Krmiljenje klimatov preko centralnega nadzornega sistema
8
V preteklosti so bili senzorji mehanski, pnevmatski ali hidravlični, danes pa so jih skoraj v
celoti izpodrinili električno izhodni. Ti so najbolj primerni za nadaljnjo obdelavo na
krmilniku. Oblika izhoda se odraža v spremembi napetosti, upornosti, toka, kapacitivnosti,
frekvence…
Razdelimo jih na proporcionalne in neproporcionalne (dvopoložajni, tropoložajni…). Za
regulacijo se uporabljajo predvsem proporcionalni senzorji. Pri proporcionalnih je dostikrat
potreben merilni pretvornik, ki pretvori merilno veličino v standardni prenosni signal (0-10
V, 4 - 20 mA) ali pa direktno komunicira s krmilnikom (MODBUS…).
Dandanes je možno meriti že skoraj vse. Pogoste so meritve premika, razdalje,
temperature, vlažnosti, teže, položaja, orientacije, navora, koncentracije, nivoja,
pretoka…. Tudi ponudba tipal je zelo obširna in je zelo pomembno, da pri načrtovanju
izberemo najbolj primernega, ki nam bo povzročal najmanj problemov (bo dovolj
natančen, poceni in dolgoročno zanesljiv).
Krmiljenje klimatov preko centralnega nadzornega sistema
9
3 OPIS OBSTOJEČEGA SISTEMA
3.1 Zgradba
Obstoječi sistem klimatov je bil sestavljen iz naslednjih komponent:
- 12 krmilnikov ETKM K-CPU v7,
- 6 krmilnikov z zaslonom ETKM K-PANEL v3,
- klimati VentilClima,
- temperaturni senzorji,
- ostale komponente potrebne za delovanje sistema (napajanje, releji…).
3.1.1 Krmilnik ETKM K-CPU v7
To je njihov lasten izdelek, torej razvit v samem podjetju. Nagrajen je bil z bronastim
priznanjem za inovacijo s strani Regionalne gospodarske zbornice Celje, ki je del
Gospodarske zbornice Slovenije, in sicer v letu 2009. Razvoj krmilnika je podjetju
izboljšalo položaj na trgu, saj z njim dosegajo večjo konkurenčnost in nižjo ceno. Prav
tako pa je krmilnik dosti bolj prilagodljiv glede na izbrano uporabo, kar skrajša in
poenostavi njegovo implementacijo v sam sistem.
Slika 3.1.1: Krmilnik ETKM K-CPU v7
Krmiljenje klimatov preko centralnega nadzornega sistema
10
Gre za programirljivi procesni krmilnik za krmiljenje naprav in avtomatiziranih procesov.
To je robusten krmilnik s 16 digitalnimi vhodi in 14 digitalnimi izhodi. Z ostalimi napravami
je povezovanje možno s serijsko komunikacijo RS-232 in SPI ter preko vodil RS485 in
I2C. Osrednji del predstavlja mikrokrmilnik PIC 18F8722 podjetja Microchip. Ostali
elementi in komponente so standardizirane, kar omogoča hitro odpravo morebitnih okvar.
Programiranje poteka v programskem jeziku C. Napajanje krmilnika znaša 24 V. Ker pa
čip za pravilno delovanje potrebuje stalnih 5 V, je na njem pretvornik iz 24 na 5 V. Za
zaščito pred neželenimi električnimi konicami so vsi vhodi in izhodi galvansko ločeni z
optičnimi spoji.
Slika 3.1.2: Grafični vmesnik prevajalnika CCS
Za programiranje obstaja več programskih okolij in prevajalnikov. Mi smo uporabili
programsko orodje podjetja CCS, ki je razmeroma preprost in specializiran za
programiranje PIC čipov. Zelo priročen je ti. PIC čarovnik za nastavitev novega projekta. V
njem preprosto izberemo katere prekinitve hočemo, koliko časovnikov potrebujemo in čas
prekinitve, kakšno komunikacijo bomo uporabili ter mnogo drugih nastavitev. S tem
Krmiljenje klimatov preko centralnega nadzornega sistema
11
skrajšamo čas od začetka programiranja do dejanske implementacije logike, saj nam ni
potrebno iskati po podatkovnih listih izbranega čipa za nastavitve registrov. To stori
prevajalnik namesto nas. Vseeno pa je potrebno paziti na morebitne hrošče prevajalnika.
Slika 3.1.3: Programator CCS ICD-U64
Prevajalnik generira ti. hex kodo, ki jo potem s programatorjem, prenesemo v programski
pomnilnik mikrokrmilnika. Za programiranje smo uporabljali programator CCS ICD-U64 in
program CCSLOAD za upravljanje le-tega. Na računalnik se poveže preko USB kabla.
V obstoječem sistemu so bile na posameznih krmilnikih krmiljene maksimalno 4 sobe. Iz
vsake sobe smo dobili podatek o temperaturi s senzorja temperature. Krmilili pa smo
lahko do 3 klimate na sobo. Na krmilniku je bila izvedena regulacija, ki pa je bila potrebna
nadgradnje.
Krmiljenje klimatov preko centralnega nadzornega sistema
12
Slika 3.1.4: Pini na PIC-u 18F8722
Mikrokrmilnik PIC 18F8722 je zelo primeren za takšne aplikacije. Ključne lastnosti so
nizka poraba energije, 4 serijska vrata za komunikacijo (2 sinhrona in 2 asinhrona), 4 kB
pomnilnika RAM, 128 kB programskega pomnilnika, 5 časovnikov, 10 bitni AD pretvornik,
40 MHz obratovalna frekvenca, idr. Hitrost procesorja znaša 10 MIPS.
3.1.2 Krmilnik z zaslonom ETKM K-PANEL v3
Tudi tu gre za njihov lasten izdelek. Marsikje je potreben prikaz delovanja, prikaz navodil,
itd. V takšnih primerih po navadi uporabijo ta panel. Na prednji strani je digitalni 4-vrstični
LCD zaslon, ki zmore prikazati do 20 znakov v vsaki vrstici. Poleg tega je dodanih 8 tipk,
ki lahko služijo za navigacijo po menijih, itd. Ta izdelek je najbolj viden na mlekomatih
podjetja ETRA po Sloveniji in v tujini.
Krmiljenje klimatov preko centralnega nadzornega sistema
13
Slika 3.1.5: Krmilnik ETKM K-PANEL v3 s testnim programom
V tem primeru je bil uporabljen mikrokrmilnik PIC 18F2620, katerega se prav tako
programira v programskem jeziku C in programskem okolju CCS. Tudi tukaj so bile
uporabljene standardizirane komponente za lažjo odpravo morebitnih okvar.
Panel se s krmilnikom ETKM K-CPU v7 povezuje preko serijske RS-232 komunikacije. Za
preklop med krmilniki se uporablja standardni industrijski preklopnik.
Krmiljenje klimatov preko centralnega nadzornega sistema
14
Slika 3.1.6: Mikrokrmilnik PIC 18F2620
Ključne lastnosti mikrokrmilnika PIC 18F2620 so zelo nizka poraba energije, 2 serijska
vrata za komunikacijo (1 sinhrona in 1 asinhrona), 4 kB pomnilnika RAM, 64 kB
programskega pomnilnika, 4 časovniki, 10 bitni A/D pretvornik, 20 MHz obratovalna
frekvenca, idr. Najvišja hitrost procesorja znaša 10 MIPS. Napajanje čipa pa znaša 5 V.
Program na panelu je bil spisan tako, da samo izpisuje tisto kar dobi po serijski liniji s
strani krmilnikov klimatov. Poleg tega pa pošilja pritiske tipk nazaj.
Ker je bil program napisan površno in uporaba ni bila pretirano intuitivna, je tudi tu bila
možnost izboljšave. Namen je bil napisati program tako, da ne bi več potrebovali navodil
za preprosto opravilo nastavitve temperatur.
Krmiljenje klimatov preko centralnega nadzornega sistema
15
3.1.3 Klimati VentilClima
To so standardni kasetni klimati istoimenskega podjetja iz Italije. Zrak hladijo oz. ogrevajo
s pihanjem le-tega preko vodno hlajene oz. ogrevane bakrene napeljave. Zasnovani so
bili za uporabo v modernih komercialnih zgradbah, kar je razvidno tudi iz kvadratne oblike,
ki omogoča namestitev na spuščene strope, ki so standardni v novejših stavbah.
Slika 3.1.7: Klimati VentilClima
Ventilator ima možnost nastavitve 4 stopenj delovanja. Narejen je bil za tiho in nemoteče
delovanje. Poleg tega je možno vklopiti oz. izklopiti nihanje 4 žaluzij, ki usmerjajo smer
pihanja zraka. Zrak pa piha tudi preko posebnega filtra, ki ga očisti umazanij in osveži.
Krmiljenje klimatov preko centralnega nadzornega sistema
16
3.1.4 Temperaturni senzorji
Uporabljeni so bili temperaturni senzorji PT-100 avstrijskega proizvajalca E+E Elektronik.
To pomeni, da se jim spreminja upornost na podlagi temperature. Ker pa so to aktivni
senzorji z vgrajenim pretvornikom iz upornosti v napetost, dobimo na izhodu standardnih
0 do 10 V, kateri so pripeljani na analogne vhode krmilnikov klimatov. Delovno območje
imajo med 0 in 50 °C. Pri temperaturi 0 °C je torej izhod 0 V, pri 50 °C pa 10 V. To
pomeni, da je pri 10 bitnem A/D pretvorniku to območje razdeljeno na 1024 delcev.
Ločljivost A/D pretvorbe izračunamo po spodnji enačbi:
(2.1)
Ker so ti senzorji namenjeni uporabi znotraj stavb, je tudi njihova oblika temu primerna.
Slika 3.1.8: Temperaturni senzor
Krmiljenje klimatov preko centralnega nadzornega sistema
17
3.1.5 Ostale komponente
Ostale komponente so standardne pri takšnih sistemih in jih ne bom posebej opisoval.
Gre za razne releje, odklopnike, varovalne elemente, napajalne sisteme, vodnike,
pretvornike…
3.2 Regulacija
Uporabljena je bila regulacija s fuzzy logiko. Vendar je bila slabo načrtovana. Pogosto je
prihajalo do nepotrebnega preklapljanja hitrosti pihanja. To je prineslo več slabosti:
- nihanje temperature,
- pri konstantnem preklapljanju se življenjska doba relejev skrajša,
- moteče za zaposlene.
3.3 Problemi in rešitve
Kot sistem hlajenja oz. ogrevanja je bil obstoječi sistem dovolj dober, zato je hlajenje in
ogrevanje delovalo brez problemov celo leto. Ker pa ni bilo, ob vseh obveznostih podjetja,
veliko časa za vzpostavitev bolj učinkovitejšega sistema, je bil postavljen razmeroma
površno. To pomeni, da ima določene pomanjkljivosti in da so možnosti za izboljšave
mnoge.
Med prvimi je bila potrebna izboljšava same regulacije, ki je bila dokaj neučinkovita. Kot
rešitev tega problema, je bila s strani sodelavca predlagana PI regulacija. Za dobro in
učinkovito regulacijo, pa je dobrodošlo tudi beleženje zgodovine, iz katere lahko vidimo,
kako vpliva sprememba parametrov na regulacijo temperature.
Za rešitev prvega problema, smo torej potrebovali nekakšen nadzorni sistem, ki bi beležil
zgodovino, poleg tega, pa bi bil možen tudi nadzor nad klimati. To nas je pripeljalo do
drugega problema, in sicer ni bilo oddaljenega dostopa. Nadzor klimatov je bil možen le
lokalno na omari s krmilniki, preko omenjenega panela. To je bilo, poleg konstantnega
'sprehajanja' do sobe s panelom, nezaželeno tudi zato, ker so v isti sobi vsi strežniki in
usmerjevalniki. Ta soba bi torej morala biti pod ključem in ne prosto dostopna vsem
zaposlenim. Rešitev za ta problem je bila vgradnja dodatnega krmilnika, ki bi deloval kot
aktivno vozlišče (hub). Nanj bi se povezali krmilniki klimatov preko vodila RS-485 in
protokola ETBUS, z lokalnim omrežjem, pa bi komuniciral preko MODBUS protokola.
Krmiljenje klimatov preko centralnega nadzornega sistema
18
4 NADGRADNJA SISTEMA
Kot smo že omenili, bi obstoječi sistem nadgradili s povezavo v lokalno omrežje in z
vzpostavitvijo CNS-a. Poleg tega, pa bi izboljšali tudi regulacijo.
Za povezavo v omrežje smo uporabili krmilnik ETKM K-CPU v91, na katerega so se
krmilniki klimatov povezali preko vodila RS-485 in protokola ETBUS. Za povezavo
krmilnika v lokalno ethernet omrežje, smo uporabili vmesnik XPort podjetja Lantronix. S
krmilnikom, smo komunicirali preko Modbus TCP protokola. Na drugi strani smo napisali
servisno aplikacijo, ki teče na strežniku in shranjuje spremembe v tabele baze MSSQL.
Poleg servisa, smo naredili tudi program za CNS. Za obe aplikaciji pa smo uporabili
programski jezik delphi.
Slika 3.3.1: Shema nadgrajenega sistema
1 V nadaljevanju hub
Krmiljenje klimatov preko centralnega nadzornega sistema
19
4.1 Nove komponente
4.1.1 Krmilnik ETKM K-CPU v9
Ta krmilnik je dejansko evolucija krmilnika ETKM K-CPU v7. Zopet gre za njihov lasten
krmilnik, pri katerem pa je uporabljen zmogljivejši in hitrejši mikroprocesor, in sicer
digitalni signalni krmilnik dsPIC 30F6010A. Ostali elementi in komponente so tudi tu
standardizirane, kar omogoča hitro odpravo morebitnih okvar. Programiranje poteka v
programskem jeziku C.
Slika 4.1.1: Krmilnik ETKM K-CPU v9
Mikrokrmilnik dsPIC 30F6010A je 16 bitni digitalni signalni krmilnik. Ključne lastnosti so
modificirana strojna arhitektura, nizka poraba energije, 5 serijskih vrat za komunikacijo (3
sinhrona in 2 asinhrona), 8 kB pomnilnika RAM, 144 kB programskega pomnilnika, 7
časovnikov, 10 bitni AD pretvornik, 40 MHz obratovalna frekvenca, itd. Hitrost procesorja
Krmiljenje klimatov preko centralnega nadzornega sistema
20
je 30 MIPS. Od PIC-a 18F8722 je boljši tako rekoč po vseh parametrih, ob tem pa je le
malenkost dražji.
4.1.2 Vmesnik XPort
To je vmesnik, s katerim smo se preko serijske komunikacije povezali na lokalno ethernet
omrežje. Omogoča izbiro dveh protokolov, in sicer UDP ter TCP/IP. Izbrali smo slednjega,
saj je za komunikacijo uporabljen tudi protokol Modbus TCP. Pred uporabo smo morali
izdelati tudi tiskano vezje, na katerega se ga je namestilo.
Slika 4.1.2: Vmesnik XPort
Konfigurirali smo ga preko internetnega brskalnika. Omogoča nastavitev mnogih
parametrov, kar je razvidno iz slike 4.1.3.
Glavna pomanjkljivost je ta, da omogoča le eno povezavo naenkrat. V kolikor je
ustvarjena aktivna povezava, dobi vsak, ki bi se rad povezal, zavrnitev povezave. To
pomeni, da je bilo potrebno ostale komponente sistema prilagoditi tej pomanjkljivosti.
Krmiljenje klimatov preko centralnega nadzornega sistema
21
Slika 4.1.3: Spletni vmesnik za nastavitev XPort-a
4.2 Program na hub-u
Program je napisan v programskem jeziku C. Za komunikacijo s krmilniki klimatov je
uporabljen protokol ETBUS2, ki poteka preko serijskega vodila RS-485. Za komunikacijo z
lokalnim ethernet omrežjem, pa smo napisali knjižnico po specifikacijah Modbus TCP
preko serijske linije. Serijske zato, ker je izhod serijski do XPort-a, ki potem doda TCP/IP
ovoj.
Program se izvaja v neskončni zanki. Znotraj zanke pošilja telegrame na krmilnike
klimatov in analizira odgovore (ETBUS), ter nato ob spremembah pošilja telegrame v
omrežje. Poleg tega vseskozi čaka na ukaze z omrežja (Modbus TCP). Da ne bi prišlo do
izgube podatkov ob sočasnem pošiljanju, so uporabljene prekinitve in polja, kamor se
shranijo prejeti telegrami, predno se jih analizira in pošlje dalje.
2 Razvit pri podjetju ETRA d.o.o.
Krmiljenje klimatov preko centralnega nadzornega sistema
22
Preko tega krmilnika nadziramo delovanje krmilnikov klimatov (način delovanja, želena
temperatura, nastavitve ročnega delovanja). Drugih vhodov/izhodov, poleg serijske
komunikacije, ne uporabljamo.
Zaradi omejitev vmesnika XPort deluje CNS optimalno, ko na strežniku teče tudi servisna
aplikacija. Problem nastane, ko je strežnik iz določenih razlogov nedosegljiv. Takrat se
hub poskusi povezati nanj in poslati podatke. Ker strežnik ne prekine povezave, se mora
ta prekiniti sama. To smo deloma rešili z nastavitvijo samodejne prekinitve na vmesniku
XPort. Vendar manjšega času od ene sekunde ne gre nastaviti, kar pa zelo upočasni
delovanje sistema.
Zaradi neprestanega spreminjanja temperature (npr.: zaradi odpiranja vrat) v prostorih
pošljemo na strežnik le spremembo temperature, ki znaša več kot 0,5 °C. V nasprotnem
primeru preveč obremenimo XPort in skoraj vedno dobimo zavrnitev ob poskusu
povezave.
Registri za MODBUS komunikacijo so nastavljeni tako, da ima vsaka soba 5 registrov. Na
koncu vseh registrov so dodatno še trije registri, ki se uporabijo za globalne nastavitve (za
vse sobe naenkrat)
4.3 Program na krmilnikih klimatov
Tudi tukaj je uporabljen programski jezik C. Za komunikacijo s hub-om, smo uporabili
protokol ETBUS (preko RS-485). Poleg tega pa pošiljamo tudi izpis na panel (preko RS-
232). Na teh krmilnikih so priključeni vhodi za meritve temperature ter izhodi za krmiljenje
klimatov (ventilatorji, žaluzije in ventili).
4.3.1 Regulacija
Uporabili smo PI princip regulacije. Ta je zelo znana in pogosto uporabljena v sistemih za
nadzor temperature. Izvedena je po spodnjih enačbah. Najprej izračunamo razliko med
želeno in izmerjeno temperaturo, oziroma regulacijsko odstopanje:
(3.1)
Krmiljenje klimatov preko centralnega nadzornega sistema
23
Izhod P člena regulatorja je zmnožek te razlike in faktorja ojačitve. To pomeni, da je izhod
proporcionalen z regulacijskim odstopanjem. Zato ima P člen večji vpliv pri veliki razliki
temperatur:
(3.2)
Izhod I člena regulatorja je zmnožek integralnega faktorja in integrala regulacijskega
odstopanja po času:
∫
(3.3)
Skupni izhod regulatorja je torej seštevek P in I člena:
(3.4)
Da izhod regulatorja ne preseže omejitev procesorja, smo ga omejili na območje med -
100 in 100. Ker ima klimat 4 možnosti pihanja, smo glede na izhod regulatorja nastavili
različne hitrosti ventilatorja, in sicer po naslednjih absolutnih območjih:
- izklop: 0 – 10,
- 1. hitrost: 10 – 40,
- 2. hitrost: 40 – 90,
- 3. hitrost: 90 – 100.
Po testiranju, se je mnogo zaposlenih pritoževalo nad glasnostjo najhitrejše stopnje
ventilatorja. Poleg tega, smo opazili velik prenihaj, predvsem v manjših sobah ter veliko
razliko med drugo in tretjo hitrostjo. Temu smo se prilagodili tako, da smo implementirali
dvojno regulacijo. Za manjše sobe smo omejili hitrost ventilatorjev na maksimalno drugo
stopnjo. Pri ostalih smo pustili tudi najhitrejšo stopnjo, ki pa se vključi le, če je razlika
temperatur večja od 2 °C. Znotraj tega območja so zato uporabljena naslednja območja:
- izklop: 0 – 10,
- 1. hitrost: 10 – 70,
- 2. hitrost: 70 – 100.
Prvotno smo faktorje nastavili po Chien-Hrones-Reswick (CHR) metodi, ki temelji na
stopničnem odzivu sistema. Po tej metodi je potrebno izvesti skočno spremembo krmilne
Krmiljenje klimatov preko centralnega nadzornega sistema
24
veličine, v našem primeru spremembo hitrosti ventilatorja ter počakamo dokler ne
dosežejo končne temperature. Torej dokler se temperatura ne dviga več. Na osnovi
odziva potem določimo parametre regulatorja po spodnji tabeli. Z njo dobimo parametre
optimizirane za vodenje.
Regulator Člen Aperiodičen odziv Odziv z 20 % prenihaja
P
PI
PID
Tabela 1: Izračun parametrov PID regulacije po CHR metodi (vir: beckhoff.com)
Kjer so:
-
-
-
Te parametre določimo po časovnem odzivu, kot je razvidno iz slike 4.3.1. Dobili smo jih
tako, da smo postavili krmiljenje v ročni režim ter nastavili ventilator na prvo stopnjo. Pred
tem je bil ventilator v mirovanju. Nato smo posneli potek spreminjanja temperature, ki je
razviden iz slike 4.3.1. Skupna sprememba temperature je bila 2,8 °C. Končno
temperaturo pa smo dosegli po 4 minutah in 10 sekundah. Čas zakasnitve predstavlja čas
po katerem odziv doseže 10% končne vrednosti. V našem primeru je to približno 20,3 °C,
čas zakasnitve pa 1 minuta. Čas izravnave predstavlja čas po katerem odziv doseže 90%
končne vrednosti. V našem primeru je to približno 22,5 °C, čas izravnave pa 3 minute in
15 sekund. Nato smo določili še ojačenje sistema. To smo storili tako da smo nastavili
ventilator na najvišjo hitrost in počakali, da se isteče prehodni pojav. Končna temperatura
je bila 38,9 °C. 100 % območje je torej 18,9 °C. Sprememba temperature pri spremembi
krmilne veličine za 33,3 % (prva stopnja) pa je znašala 14,8 %. Ojačenje sistema smo
izračunali po enačbi 3.5.
Krmiljenje klimatov preko centralnega nadzornega sistema
25
Slika 4.3.1: Odziv na stopnico
Po tabeli so parametri PI regulatorja torej:
(3.5)
(3.6)
(3.7)
Ker je mnogo sob različnih velikosti in ker se izračunana faktorja nista izkazala za
primerna, smo ju raje nastavili kar eksperimentalno. Slednja nastavitev se je izkazala za
najboljšo:
- = 10,
- = 3.
Odziv reguliranega sistema je viden na sliki 4.3.2. Odziv je posnet v aplikaciji za
administratorje in za primer hlajenja. Ob tem je potrebno poudariti, da je odziv posnet v
srednje veliki sobi. Zato se odzivi med seboj rahlo razlikujejo. Poleg velikosti sobe vpliva
na sam odziv tudi lokacija sobe (senčna ali sončna stran, itd.), čas dneva in temperaturna
razlika med dejansko zunanjo temperaturo in želeno.
10 %
90 %
Krmiljenje klimatov preko centralnega nadzornega sistema
26
Slika 4.3.2: Odziv reguliranega sistema
Pri spremembi medija oz. spremembi med hlajenjem ali gretjem, je potrebno nastaviti tudi
register z letnim časom. S tem pogojem krmilnik preverja ali bo zagnal ventilatorje ob
pozitivni ali ob negativni vrednosti izhoda regulatorja in s tem posledično grel oz. hladil.
Ker to velja za cel sistem in se spremeni dvakrat letno, je za vse krmilnike uporabljen isti
register na hub-u, ki ob spremembi na enem klimatu, pošlje zahtevo tudi vsem ostalim.
Torej se spremeni na vseh.
4.3.2 Komunikacija s hub-om
Ta komunikacija poteka preko podatkovnega vodila RS-485 in protokola ETBUS. Krmilniki
klimatov so podrejeni hub-u, ki je gospodar. Hub pošlje zahtevo po vodilu, krmilniki pa
poslušajo. Odgovori samo tisti krmilnik, kateremu je bila namenjena zahteva, kar
preberemo v telegramu.
Po telegramu se prenašajo podatki o dejanski in želeni temperaturi, hitrosti ventilatorjev,
nastavitvah ročnega delovanja, režimu, letnem času ter načinu delovanja.
4.3.3 Komunikacija s panelom in meniji
Program na panelu je napisan tako, da izpiše kar mu pošljemo preko RS-232
komunikacije. Zato mora imeti telegram točno določeno obliko. Na začetku je znak za
vrstico in nato podatki za izpis. Dodatna možnost je še znak za izbris celotnega ekrana.
Krmilnik tako samo osvežuje panel s podatki.
Krmiljenje klimatov preko centralnega nadzornega sistema
27
Meniji so narejeni uporabniško prijazno. Z gumbi pod zaslonom izberemo sobo. Nato se
odpre meni za posamezno sobo, kjer lahko izberemo režim (izklop, avtomatsko, ročno). V
avtomatskem režimu lahko nastavljamo le temperaturo, v ročnem pa vsak element
posebej brez regulacije (hitrost ventilatorja, žaluzije, ventil). Ob nastavitvi parametrov
moramo izbiro potrditi s pritiskom na gumb OK ali preklicati s pritiskom na gumb ESC. Ob
tem se samodejno prestavimo nazaj na začetni meni. Dodatno obstaja tudi skrivni meni,
kjer so nastavitve letnega časa in načina delovanja. Do tega menija dostopamo preko
posebne kombinacije tipk.
4.4 Protokol ETBUS
To je njihov lastni protokol. Gre za komunikacijo gospodar – suženj po serijski liniji.
Temelji na ASCII znakih. Okvir je sestavljen iz naslova, ločitvenega znaka (#), vrste
zahteve in podatkov. Na koncu je dodano še preverjanje CRC.
Naslov (3 bajti) v našem primeru predstavlja številko sobe. Zahtevi (1 bajt) sta dve, in
sicer povpraševanje o statusu (r – read) in zahteva za zapis (w – write). Podatki so v
primeru zapisa sledeči:
- izmerjena temperatura – 3 bajti,
- želena temperatura – 3 bajti,
- režim – 1 bajt,
- status ventilatorjev – 1 bajt,
- nastavitve ročnega delovanja – 8 bajtov,
- letni čas – 1 bajt,
- lokalni oz. CNS način – 1 bajt.
Na koncu pride še preverjanje CRC, ki je dolžine 3 bajtov.
V primeru povpraševanja o statusu je telegram krajši, sestavljen le iz naslova, ločitvenega
znaka in preverjanja CRC.
Začetek telegrama predstavlja znak '<', konec pa znak '>'. Skupna dolžina telegrama ob
zapisu je torej 25 bajtov, ob povpraševanju o statusu pa 10 bajtov.
Krmiljenje klimatov preko centralnega nadzornega sistema
28
Odgovor je vedno status na klimatih in je identičen zapisu na klimate, le da je zamenjan
simbol pri zahtevi (s – status).
4.5 Protokol Modbus preko TCP
4.5.1 Kratka zgodovina in opis protokola
Gre za serijski komunikacijski protokol, ki ga je razvilo podjetje Modicon leta 1979 za
uporabo z njihovimi PLK-ji. Do danes je postal eden izmed standardnih komunikacijskih
protokolov. Najdemo ga na skoraj vsaki industrijski elektronski napravi.
Razlog za to je v preprosti uporabi, robustnosti in brezplačni uporabi. Ponuja možnost
povezave mnogih naprav v načinu gospodar – suženj. Protokol določa 4 podatkovne tipe:
- tuljave oz. bitni izhodi,
- kontakti oz. bitni vhodi,
- začasni registri,
- vhodni registri.
Čez leta se je razvilo več verzij protokola. Nekatere so namenjene le serijski komunikaciji,
druge pa podpirajo tudi internetni protokol. Glavna razlika med njimi je v glavi okvirja,
poleg tega pa moramo pri serijskem povezovanju uporabiti CRC preverjanje.
Najpomembnejše verzije so:
- Modbus RTU,
- Modbus ASCII,
- Modbus TCP/IP oz. Modbus TCP,
- Modbus preko TCP,
- Modbus preko UDP.
Za razvoj protokola je odgovorna organizacija Modbus, ki jo tvorijo neodvisni uporabniki in
dobavitelji modbus naprav.
V protokolu je definiranih mnogo funkcij, najpogosteje uporabljene pa so za branje statusa
izhodov, vhodov in registrov ter za spremembo statusa izhodov in začasnih registrov.
Poleg tega so po navadi implementirane še funkcije, ki nam ob napakah sporočijo, za
Krmiljenje klimatov preko centralnega nadzornega sistema
29
kakšno napako je šlo. Zaporedje bitov je ti. »Big Endian« kjer je prvi najbolj pomemben
bit. Registri so vedno 16 bitni. Če želimo 32 bitne, preprosto združimo 2 registra.
Ker gre za razmeroma star protokol, ima nekatere omejitve:
- pošiljamo lahko le surove podatke, brez opisa za kakšne podatke gre. Torej
moramo vnaprej vedeti kaj opisujejo ti podatki,
- ker gre za komunikacijo gospodar – suženj, tako da suženj ne more sam javiti
napake, ampak mora počakati dokler ga gospodar ne vpraša,
- prenos je omejen na 247 naprav na podatkovno linijo (pri serijski komunikaciji),
- prenos ni zaščiten.
4.5.2 Osnovni opis delovanja sistema
Na krmilnik se povežemo preko lokalnega ethernet omrežja ter preko vmesnika XPort.
Uporabljen je protokol TCP/IP. Krmilnik deluje v dveh načinih. Normalno deluje kot suženj
in čaka na ukaze z omrežja. Bodisi s strani servisa ali s strani CNS-a. Ko pa zazna
spremembo registrov, deluje kot gospodar. To pomeni, da pošlje zahtevo za zapis
registrov na strežniku. Tu smo malce prilagodili protokol, ker bi bilo konstantno
spraševanje s strani strežnika časovno zamudno, poleg tega pa bi se zelo povečal promet
na lokalnem omrežju, kar bi ga posledično upočasnilo za vse uporabnike. Zato pošiljamo
podatke le ob spremembah registrov.
Da ne bi prišlo do trka podatkov, ima prednost pri pošiljanju krmilnik. Torej, če pride do
sočasnega pošiljanja telegramov, bodo imeli prednost telegrami iz krmilnika, servis oz.
CNS, pa bosta dobila zavrnitev povezave. Zato sta tudi napisana tako, da v takšnem
primeru preprosto še enkrat pošljeta okvir s podatki.
Prav tako je bil problem v tem, da XPort ni zmožen več kot ene seje naenkrat (noter ali
ven). To smo rešili v programu za CNS in v servisni aplikaciji tako, da se ob neuspešni
povezavi poskušajo aplikacije samodejno ponovno povezati, predno sporočijo napako
uporabniku.
Krmiljenje klimatov preko centralnega nadzornega sistema
30
4.5.3 Implementacija protokola
Gospodar pošlje zahtevo za zapis ali branje. Suženj sprejme zahtevo, jo analizira ter če je
v skladu s protokolom, odgovori. Gospodar nato analizira odgovor. Če ni odgovora, je
prišlo do napake.
Zahtevek je sestavljen iz MBAP glave, funkcije in podatkov. Poleg tega je za povezavo z
omrežjem potreben TCP/IP ovoj. Glava vsebuje ID transakcije (2 bajta), ID protokola (2
bajta, pri Modbus-u je vedno 0000), količino podatkov zahtevka v bajtih od tu dalje (2
bajta) in ID enote na katero se povezujemo (1 bajt). Funkcija je dolžine 1 bajta.
Slika 4.5.1: Modbus TCP okvir
Odgovor je sestavljen podobno. ID transakcije, ID protokola in ID enote so enaki kot v
zahtevku. Če ni prišlo do napak je tudi funkcija enaka, drugače se pošlje funkcija napake,
s katero gospodarju povemo do kakšne napake je prišlo. Podatki in dolžina okvirja pa so
odvisni od zahteve.
V protokolu je definiranih mnogo funkcij. Za naše potrebe pa so bile uporabljene le
naslednje funkcije:
READ HOLDING REGISTERS (branje začasnih registrov - 0x03),
WRITE HOLDING REGISTER (zapis začasnega registra - 0x06),
WRITE HOLDING REGISTERS (zapis začasnih registrov - 0x10),
ob pravilnem delovanju ter izjeme ob napakah:
1 ILLEGAL_FUNCTION (nedovoljena funkcija),
2 ILLEGAL_DATA_ADDRESS (napačen podatkovni naslov),
3 ILLEGAL_DATA_VALUE (napačna podatkovna vrednost),
4 SLAVE_DEVICE_FAILURE (napaka v delovanju).
Najdaljša skupna dolžina okvirja je lahko 260 bajtov.
Krmiljenje klimatov preko centralnega nadzornega sistema
31
Modbus preko TCP je na strani krmilnika v osnovi Modbus RTU protokol, prilagojen za
TCP. To pomeni, da je komunikacija serijska (RS-232) ter da je spremenjena le glava
okvirja, preverjanje CRC pa je odpadlo. Za TCP ovoj poskrbi vmesnik XPort.
4.5.4 READ HOLDING REGISTER
Branje začasnega registra. Sestava zahtevka brez glave:
funkcija (0x03)3,
začetni naslov (2 bajta),
število registrov, ki jih želimo prebrati (2 bajta).
Sestava odgovora brez glave:
funkcija (0x03),
število bajtov podatkov (1 bajt = 2 x število registrov),
podatki (število registrov x 2 bajta).
Sestava odgovora brez glave (ob napaki):
funkcija napake (0x83) – prištejemo 0x80,
izjema (1 bajt = 01 ali 02 ali 03 ali 04).
4.5.5 WRITE HOLDING REGISTER
Zapis začasnega registra. Sestava zahtevka brez glave:
funkcija (0x06),
naslov registra (2 bajta),
vrednost registra (2 bajta).
Sestava odgovora brez glave:
funkcija (0x06),
naslov registra (2 bajta),
vrednost registra (2 bajta).
3 Šestnajstiški zapis
Krmiljenje klimatov preko centralnega nadzornega sistema
32
Sestava odgovora brez glave (ob napaki):
funkcija napake (0x86) – prištejemo 0x80,
izjema (1 bajt = 01 ali 02 ali 03 ali 04).
4.5.6 WRITE HOLDING REGISTERS
Zapis začasnih registrov. Sestava zahtevka brez glave:
funkcija (0x10),
naslov prvega registra (2 bajta),
število registrov (2 bajta),
število bajtov podatkov (1 bajt = 2 x število registrov),
podatki (število registrov x 2 bajta).
Sestava odgovora brez glave:
funkcija (0x10),
naslov prvega registra (2 bajta),
število registrov (2 bajta).
Sestava odgovora brez glave (ob napaki):
funkcija napake (0x90) – prištejemo 0x80,
izjema (1 bajt = 01 ali 02 ali 03 ali 04).
4.5.7 Sestava registrov
Število registrov na krmilniku smo definirali v odvisnosti od števila sob, ki se jih upravlja
preko krmilnikov klimatov:
število registrov = število sob x število registrov na sobo + 3,
število registrov na sobo = 5.
Registri:
1. želena temperatura v stopinjah in 1 decimalko x 10,
2. dejanska temperatura v stopinjah in 1 decimalko x 10,
3. režim delovanja (0, 1 ali 2),
Krmiljenje klimatov preko centralnega nadzornega sistema
33
4. nastavitve ročnega delovanja,
5. hitrost delovanja ventilatorjev (0, 1, 2, ali 3).
Nastavitve ročnega delovanja so sestavljene iz več spremenljivk. Zato je potrebno
uporabiti bitne operacije za dostop do posameznih bitov:
1. in 2. bit skupaj predstavljata hitrost vrtenja ventilatorjev (0, 1, 2 ali 3),
3., 4. in 5. bit so za vklop/izklop nihanja žaluzij na do 3 klimatih,
6. bit predstavlja vklop/izklop ventila z medijem.
Dodatni štirje registri na koncu se uporabljajo za nastavitev:
1. globalne želene temperature,
2. globalnega režima,
3. letnega časa (oz. menjave medija).
4.6 Tabele in procedure baze MSSQL
Za shranjevanje podatkov smo uporabili bazo MSSQL. Kreirali smo 4 tabele. Vsaka tabela
vsebuje stolpce ID, datum, modul in soba ter stolpce, ki so specifični za posamezne
tabele (npr. želena in dejanska temperatura, status ventilatorjev…). ID je navadno celo
število in predstavlja identifikacijo vnosa. Za vsak zaporedni vnos se poveča za 1. Datum
je sestavljen iz datuma in časa ob vnosu. V stolpcu modul je zapisana zaporedna številka
hub-a (če bo potrebno v prihodnosti uporabiti še en hub). Stolpec soba pa predstavlja
zaporedno številko sobe.
Slika 4.6.1: Polja tabele temperature
Za vnos v tabele in branje iz njih smo procedure napisali kar v bazi. V servisu in programu
za CNS pa smo potem le klicali različne procedure. Na spodnji sliki, je del procedure za
izpis nazadnje vpisanih vrednosti v tabeli temperature.
Krmiljenje klimatov preko centralnega nadzornega sistema
34
Slika 4.6.2: Del procedure za izpis zadnje vpisanih vrednosti
Poleg klasičnih procedur smo uporabili še prožilno proceduro, ki se sproži ob vstavitvi
podatka v tabelo za nastavitve ročnega delovanja. To pa zato, ker so te nastavitve logične
in so za krajši podatkovni okvir ter posledično hitrejšo komunikacijo, združene v 1 register.
Ko pride do vpisa v tabelo, ta prožilna procedura razbije vnos na posamezne bite in jih
zapiše v tabelo.
Slika 4.6.3: Prikaz nekaterih zapisov v tabeli temperature
Krmiljenje klimatov preko centralnega nadzornega sistema
35
4.7 Servis aplikacija
To aplikacijo smo napisali v programskem jeziku delphi. Ker je to proces, ki teče v ozadju,
nima uporabniškega vmesnika. Večino časa deluje kot MODBUS suženj in čaka na
podatke iz krmilnika. Vsake toliko časa pošlje tudi zahtevo za branje vseh registrov in s
tem osveži podatke na strežniku. Za lažjo kasnejšo konfiguracijo (dodajanje sob,
krmilnikov, vhodnih podatkov, zamenjava baze, osvežitev vrednosti, itd.), je veliko
nastavitev zapisanih v inicializacijski datoteki (.ini). To datoteko servis prebere ob zagonu
ter nato vsako uro.
Da smo si nekoliko olajšali pisanje servisa in CNS-a smo uporabili komponento Delphi
ModbusTCP library, ki omogoča implementacijo gospodarja in sužnja. Poleg standardnih
funkcij, nam je prišla zelo prav opcija OneShot Connection4. Kot že omenjeno, ima
vmesnik XPort nekaj omejitev. Med drugim tudi to, da lahko aktivno povezavo prekine,
šele po minimalno 1 sekundi, kar je razmeroma dolgo obdobje. S to opcijo servis sam
prekine povezavo (tudi kot suženj) in s tem pospeši komunikacijo.
Za povezovanje z bazo MSSQL smo uporabili vgrajene komponente ADO, in sicer smo
uporabili ADO Connection (povezava z bazo) in ADO Stored Procedure (klicanje
procedur).
Slika 4.7.1: Uporabljene komponente pri izdelavi servisne aplikacije
Kot že omenjeno, smo v ta proces dodali časovnik, ki v določenih časovnih intervalih
osveži podatke v tabelah. Poleg tega, smo dodali časovnik, ki na določene intervale
prebere status v inicializacijski datoteki (.ini). Ker imajo zaposleni dostop do strežnika in s
tem do te aplikacije, smo v program dodali preverjanje dvojnega zagona. S tem smo
preprečili podvojen zagon.
4 Enkratna povezava
Krmiljenje klimatov preko centralnega nadzornega sistema
36
Poleg vsega je ob določeni uri nastavljen samodejni izklop vseh klimatov, da ne bi hladili
oz. greli po nepotrebnem, ko ni nikogar v podjetju in s tem trošili energijo. To smo storili s
pomočjo Cromis knjižnice, ki omogoča določitev urnika v formatu CRON. Ta format je
izjemno enostaven za nastavitev. Podati je potrebno niz v naslednjem formatu:
<sekunda> <minuta> <ura> <dan v mesecu> <mesec v letu> <dan v tednu>.
Primer uporabe je naslednji niz, ki določa dogodek, ki se izvrši vsak dan ob 15:45:23,
vsak drugi mesec:
'23 45 15 * */2 *'.
4.8 CNS aplikacija
Tudi to aplikacijo smo napisali v programskem jeziku delphi, vendar je tu uporabljen
grafični vmesnik. Tudi tu smo uporabili komponento ModbusTCP library. To je aplikacija
namenjena zaposlenim v podjetju ETRA.
Slika 4.8.1: Prijava uporabnika
Narejena je bila tako, da se je potrebno najprej vpisati s svojim imenom in priimkom ter
geslom. Vsakemu uporabniku so dodeljene pravice (npr. Janko Kos ima mizo v
komerciali, zato lahko spreminja nastavitve le-te pisarne in splošno namenskih sob, ne
more pa spremeniti temperature v tajništvu).
Krmiljenje klimatov preko centralnega nadzornega sistema
37
Slika 4.8.2: CNS aplikacija - glavno okno
Po prijavi se odpre glavno okno programa, kjer je prikaz temperatur v posameznih
pisarnah. Poleg tega je podana tudi indikacija delovanja ventilatorjev.
Slika 4.8.3: CNS aplikacija - izbira pisarne
Krmiljenje klimatov preko centralnega nadzornega sistema
38
Za nastavitev temperature moramo izbrati ustrezno nadstropje s klikom na ustrezni gumb.
Tu se odpre novo okno s tlorisom nadstropja. Ko izberemo še pisarno, se odpre končno
okno, kjer lahko nastavimo režim delovanja (vklop/izklop) in želeno temperaturo.
Slika 4.8.4: CNS aplikacija - nastavitev temperature
Poleg navadnih uporabnikov imamo tudi administratorje, ki lahko dostopajo do vseh sob.
Administrator ima na voljo še posebno aplikacijo, ki nima tako dodelanega vmesnika, ima
pa dodatno možnost nastavitve ročnega upravljanja klimatov (hitrost vrtenja, nihanje
žaluzij…), pregled nad zgodovino (graf temperatur) in možnost izklopa oz. vklopa vseh
klimatov naenkrat.
Krmiljenje klimatov preko centralnega nadzornega sistema
39
Slika 4.8.5: Aplikacija za administratorje v dveh režimih delovanja in v skrčenem pogledu
Da ne bi prišlo do zlorab (npr. nastavitev zelo nizke temperature pred odhodom domov in
posledično nepotrebno potrošnjo električne energije), je vsaka prijava in sprememba
nastavitev zabeležena v bazi. Dodatno smo vgradili tudi časovnik, ki samodejno zapre
aplikacijo. To smo naredili zato, ker aplikacija teče na strežniku, na katerega pa je lahko
naenkrat povezano razmeroma malo število računalnikov.
Krmiljenje klimatov preko centralnega nadzornega sistema
40
Slika 4.8.6: Aplikacija za administratorje z izrisanim grafom, v razširjenem pogledu
Za dodajanje sob, spremembe IP-ja in porta hub-a, imajo administratorji na voljo tudi meni
z nastavitvami. Dodatno lahko nastavljajo urnike delovanja in katere urnike bo uporabljala
posamezna soba. Nastaviti je možno 3 različne urnike delovanja.
Krmiljenje klimatov preko centralnega nadzornega sistema
41
5 SKLEP
Namen diplomske naloge je bil predstaviti potek načrtovanja in nadgradnje obstoječega
sistema krmiljenja klimatov v centralni nadzorni sistem.
Že med načrtovanjem smo naleteli na mnoge težave, ki so bile večinoma posledica tega,
da smo le nadgrajevali že obstoječi sistem. Dosti lažje bi bilo, če bi načrtovali popolnoma
nov sistem in nam ne bi bilo potrebno iskati rešitev, za obstoječe težave. S tem bi pridobili
tudi na zanesljivosti in hitrosti. Vendar smo z inženirskim pristopom rešili večino omejitev
in vzpostavili delujoč nadzorni sistem. V največji meri smo žrtvovali le nekaj hitrosti
delovanja ob spremembah.
Sprva je bila moja naloga v projektu le implementacija MODBUS komunikacije na hub-u.
Po razmeroma hitri in uspešni izvedbi te naloge, sem dobil za nalogo izdelavo celotnega
sistema. Pri tem sem si pomagal z že napisano kodo krmilnikov klimatov. Ob pomoči
sodelavca sem na krmilnike klimatov implementiral PI princip regulacije in ETBUS
komunikacijo. Poleg tega sem spremenil menije na panelih. Program na panelih je
standarden in krmilnik panelov le izpiše kar mu pošljemo ter pošlje povratno informacijo o
pritiskih tipk. Zato je koda za obliko menijev prav tako na krmilnikih klimatov. Na hub sem
nato implementiral MODBUS in ETBUS komunikacijo. Servisno aplikacijo, aplikacijo za
administratorje ter SQL procedure sem v celoti napisal sam. Aplikacijo za uporabnike je
oblikoval sodelavec, poleg tega je napisal tudi nekaj kode zanjo, jaz pa sem jo nato
dokončal.
Med izdelavo diplomske naloge smo v podjetju razvili tudi nov krmilnik (ETKMv11), ki
uporablja procesor ARM, na njem pa teče operacijski sistem Linux. Zato smo razmišljali,
da bi nadzorni sistem preselili na ta krmilnik. Programira se v programskem jeziku python,
ki je višjenivojski jezik. Največja prednost novega krmilnika je v tem, da ima tudi ethernet
priključek. Tako bi lahko napisali program, ki bi dovoljeval več povezav hkrati (več niti),
poleg tega pa bi se lahko znebili servisa in bi spremembe pisali direktno v baze MSSQL.
Dodatna prednost je enostavnejše programiranje. Ob napakah se preprosto preko SSH-ja
povežemo na krmilnik in popravimo program. V obstoječem sistemu pa je potrebno
Krmiljenje klimatov preko centralnega nadzornega sistema
42
naložiti novo verzijo programa direktno s fizično povezavo med računalnikom in PLK-jem
v krmilni omarici.
Krmiljenje klimatov preko centralnega nadzornega sistema
43
6 VIRI IN LITERATURA
[1] MODBUS Application Protocol Specification V1.1b3. [Spletni vir].
http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf
[Dostopano 8. 9. 2012]
[2] MODBUS Messaging on TCP/IP Implementation Guide V1.0b. [Spletni vir].
http://www.modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf
[Dostopano 8. 9. 2012]
[3] MODBUS over serial line specification and implementation guide V1.02. [Spletni vir].
http://www.modbus.org/docs/Modbus_over_serial_line_V1_02.pdf
[Dostopano 8. 9. 2012]
[4] Delphi Basics. [Spletni vir].
http://delphibasics.co.uk/
[Dostopano 27. 10. 2012]
[5] M. Golob: Gradniki sistemov vodenja: zbrano gradivo in laboratorijske vaje, Maribor,
2005
[6] XPort: Embedded Ethernet Device Server. [Spletni vir].
http://www.lantronix.com/device-networking/embedded-device-servers/xport.html
[Dostopano 8. 9. 2012]
[7] Beckhoff: Setting rules for the P, PI and PID controllers. [Spletni vir].
http://infosys.beckhoff.com/english.php?content=../content/1033/tcplclibcontrollertoolb
ox/html/tcplclibcontroller_tuning.htm&id=
[Dostopano 13. 10. 2012]