58
Tomaž Velečič KRMILJENJE KLIMATOV PREKO CENTRALNEGA NADZORNEGA SISTEMA Diplomsko delo Maribor, maj 2013

Navodila za pisanje diplomskih nalog UM FERI · III ZAHVALA Zahvaljujem se mentorju izr. prof. dr. Nenadu Muškinji za pomoč in vodenje pri izdelavi diplomskega dela. Zahvalil bi

  • 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

II

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]

Krmiljenje klimatov preko centralnega nadzornega sistema

44

Krmiljenje klimatov preko centralnega nadzornega sistema

45

Krmiljenje klimatov preko centralnega nadzornega sistema

46