Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov

UNIVERZA V MARIBORU

FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO

Marko Jalšovec

IZDELAVA RAČUNALNIŠKEGA SIMULATORJA ZA TESTIRANJE PROCESNIH KRMILNIKOV

Diplomska naloga

Maribor, oktober 2008

I

UNIVERZA V MARIBORU

FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO 2000 Maribor, Smetanova ul. 17

Diplomska naloga univerzitetnega študijskega programa

IZDELAVA RAČUNALNIŠKEGA SIMULATORJA ZA TESTIRANJE PROCESNIH KRMILNIKOV

Študent: Marko JALŠOVEC Študijski program: univerzitetni, Elektrotehnika Smer: Močnostna elektrotehnika

Mentor: doc. dr. Jožef RITONJA Somentor: red. prof. dr. Drago DOLINAR

Maribor, oktober 2008

II

III

ZAHVALA

Zahvaljujem se mentorju doc. dr. Jožefu Ritonji in somentorju red. prof. dr. Dragu Dolinarju za pomoč in vodenje pri opravljanju diplomskega dela.

Posebna zahvala velja staršem, ki so mi omogočili študij.

IV

IZDELAVA RAČUNALNIŠKEGA SIMULATORJA ZA TESTIRANJE PROCESNIH

KRMILNIKOV

Ključne besede: procesni krmilnik, OPC tehnologija, analogno/digitalni vmesnik, Matlab, Simulink, krmiljenje in regulacija.

UDK: 004.415.53:681.51(043.2)

Povzetek

Diplomsko delo opisuje izdelavo univerzalnega simulatorja za testiranje uporabniških programov procesnih krmilnikov. Opisana sta dva načina vzpostavitve povezave med procesnim krmilnikom in programsko opremo: uporaba OPC tehnologije in uporaba analogno/digitalnega vmesnika. Za numerične izračune dinamičnih simuliranih procesov smo uporabili programsko okolje Matlab/Simulink. Naredili smo univerzalni grafični vmesnik za vnos zgradbe in parametrov dinamičnega sistema. V okviru grafičnega uporabniškega vmesnika smo prikazali časovne poteke spremenljivk procesa.

V

DEVELOPMENT OF COMPUTER SIMULATORS FOR TESTING

PROGRAMMABLE LOGIC CONTROLLERS

Key words: programmable logic controllers, OPC technology, analog/digital converter, Matlab, Simulink, open-loop and closed-loop control

UDK: 004.415.53:681.51(043.2)

Abstract

This diploma thesis describes development of universal simulators for testing of user programmes of the programmable logic controllers. Here are also described two ways how to create a communication between programmable logic controllers and programme software: the use of the OPC technology and via analog/digital interface. For numerical calculations of dynamic simulated processes, programme software Matlab/Simulink has been used. We have also made a universal graphic interface for entering the structure and parameters of the dynamic system. In the framework of the graphic user interface, we have shown the time-dependant responses of the process's variables.

VI

VSEBINA

VSEBINA............................................................................................................................VI

SEZNAM SLIK................................................................................................................ VIII

UPORABLJENE KRATICE...............................................................................................XI

1. UVOD................................................................................................................................ 1

2. UPORABA AD/DA VMESNIKA ZA PRENOS SIGNALOV MED PROCESNIM

KRMILNIKOM IN OSEBNIM RAČUNALNIKOM S PROGRAMSKO OPREMO

MATLAB/SIMULINK...................................................................................................... 3

2.1. Strojna oprema............................................................................................................ 4 2.2. Programska oprema .................................................................................................... 5 2.3. Meritev hitrosti prenosa podatkov s pomočjo AD/DA vmesnika .............................. 6

3. UNIVERZALNI GRAFIČNI VMESNIK ZA VNOS ZGRADBE IN PARAMETROV

DINAMIČNEGA SISTEMA .......................................................................................... 10

3.1. Programsko okolje Matlab GUIs.............................................................................. 10 3.2. Izdelava grafičnega vmesnika SimuLab................................................................... 11 3.3. Vnos zgradbe in parametrov..................................................................................... 13

4. NUMERIČNI IZRAČUN................................................................................................ 17

4.1. Priprava modela........................................................................................................ 18 4.2. Analiza sistem .......................................................................................................... 20 4.3. Simulacija sistema .................................................................................................... 21

5. PRIKAZ REZULTATOV ............................................................................................... 24

6. PRIMER UPORABE GRAFIČNEGA VMESNIKA SIMULAB................................... 26 6.1. Določitev regulatorja........................................................................................... 27 6.2. Regulacijski algoritem ........................................................................................ 30 6.3. Rezultati izračunov.............................................................................................. 30

VII

7. UPORABA OPC TEHNOLOGIJE ZA PRENOS SIGNALOV MED PROCESNIM

KRMILNIKOM IN OSEBNIM RAČUNALNIKOM S PROGRAMSKO OPREMO

MATLAB/SIMULINK.................................................................................................... 32

7.1. Predstavitev OPC tehnologije................................................................................... 33 7.2. OPC strežnik (OPC server) ...................................................................................... 35

7.2.1. KEPServerEx V4.2 .......................................................................................... 36 7.2.2. MatrikonOPC Server V3.03............................................................................. 37 7.2.3. Softing S7/S5 OPC Server V3.10 .................................................................... 38

7.3. OPC odjemalec (OPC client).................................................................................... 39 7.3.1. Povezava s pomočjo Matlabovega ukaznega okna .......................................... 40 7.3.2. Povezava s pomočjo Simulinkovih blokov...................................................... 41 7.3.3. Povezava s pomočjo grafičnega vmesnika za OPC Toolbox........................... 42 7.3.4. Povezava z uporabo S-funkcije........................................................................ 44

7.5. Meritev hitrosti prenosa podatkov s pomočjo OPC tehnologije............................... 46 7.5.1. Prikaz rezultatov............................................................................................... 48 7.5.2. Primerjava lastnosti OPC strežnikov ............................................................... 52

8. PRIMER IZDELAVE SIMULATORJA HIDRAVLIČNEGA SISTEMA Z UPORABO

OPC TEHNOLOGIJE ZA PRENOS SIGNALOV ......................................................... 54

8.1. Knjižnica Gauges Blockset....................................................................................... 54 8.2. Izdelava simulatorja hidravličnega procesa.............................................................. 55

8.2.1. Prenos signalov hidravličnega sistema............................................................. 56 8.2.2. Vnos zgradbe in parametrov hidravličnega sistema......................................... 57 8.2.3. Numerični izračun hidravličnega sistema ........................................................ 58 8.2.4. Grafična ponazoritev hidravličnega sistema .................................................... 58

9. SKLEP............................................................................................................................. 59

VIRI, LITERATURA.......................................................................................................... 60

PRILOGE ............................................................................................................................ 61

VIII

SEZNAM SLIK

Slika 1.1: Grafična predstavitev problema ............................................................................ 1 Slika 2.1: Prikaz uporabe AD/DA vmesnika za prenos signalov .......................................... 3 Slika 2.2: AD/DA vmesnik NI USB-6008 ............................................................................ 4 Slika 2.3: Knjižnica Data Acquisition Toolbox .................................................................... 5 Slika 2.4: Shematski prikaz merjenja hitrosti prenosa podatkov .......................................... 7 Slika 2.5: Shematski prikaz OPC povezave v programskem paketu Matlab/Simulink......... 7 Slika 2.6: Zakasnitev signala z uporabo AD/DA vmesnika NI USB-6008 preko USB

vodila (∆t=6ms)............................................................................................................. 8 Slika 2.7: Povečan izrez zakasnitev signala z uporabo AD/DA vmesnika NI USB-6008

preko USB vodila (∆t=6ms) ......................................................................................... 8 Slika 3.1: Delovno okolje Matlab GUI................................................................................ 11 Slika 3.2: Univerzalni grafični uporabniški vmesnik SimuLab .......................................... 12 Slika 3.3: Zgradba programa SimuLab................................................................................ 13 Slika 3.4: Zgradba vnosa podatkov ..................................................................................... 14 Slika 3.5: Vnos parametrov dinamičnega sistema v obliki prenosne funkcije ali prostora

stanj.............................................................................................................................. 15 Slika 3.6: Izbira in vnos parametrov referenčnega signala.................................................. 16 Slika 3.7: Vnos parametrov simulacije................................................................................ 16 Slika 4.1: Zgradba numeričnega izračuna ........................................................................... 17 Slika 4.2: Simulacijska shema za izračun odziva matematičnega modela v obliki prenosne

funkcije brez uporabe AD/DA vmesnika .................................................................... 18 Slika 4.3: Simulacijska shema za izračun odziva matematičnega modela v prostoru stanj

brez uporabe AD/DA vmesnika .................................................................................. 19 Slika 4.4: Simulacijska shema za izračun odziva matematičnega modela v obliki prenosne

funkcije z uporabo AD/DA vmesnika ......................................................................... 19 Slika 4.5: Simulacijska shema za izračun odziva matematičnega modela v prostoru stanj z

uporabo AD/DA vmesnika .......................................................................................... 20 Slika 4.6: Izračun lastnosti sistema ..................................................................................... 21

IX

Slika 4.7: Ukazi za zagon in prekinitev izračunov .............................................................. 21 Slika 4.8: Simulinkov blok za zagotavljanje časovno realnega numeričnega izračuna ...... 23 Slika 5.1: Zgradba prikaza rezultatov.................................................................................. 24 Slika 5.2: Izris rezultatov..................................................................................................... 24 Slika 6.1: Povezava procesnega krmilnika in simulatorja dinamičnega sistema ................ 26 Slika 6.2: Bode-jev diagram za izbrani člen 3. reda............................................................ 28 Slika 6.3: Odziv člena 3.reda na generiran referenčni signal .............................................. 30 Slika 6.4: Primerjava odzivov člena 3. reda ........................................................................ 31 Slika 7.1: Shematski prikaz prenosa signalov s pomočjo OPC tehnologije........................ 32 Slika 7.2: Navaden način povezovanja naprav.................................................................... 33 Slika 7.3: Povezovanje naprav s pomočjo OPC tehnologije ............................................... 34 Slika 7.4: Grafično okolje OPC Toolbox ............................................................................ 39 Slika 7.5: Bloki za vzpostavitev OPC povezave ................................................................. 42 Slika 7.6: Grafični vmesnik za OPC Toolbox ..................................................................... 43 Slika 7.7: Oštevilčenje in vloga zastavic ............................................................................. 44 Slika 7.8: Shematski prikaz merjenja hitrosti prenosa podatkov ........................................ 47 Slika 7.9: Shematski prikaz OPC povezave v programskem paketu Matlab/Simulink....... 48 Slika 7.10: Zakasnitev signala z uporabo OPCstrežnika KEPServerEx preko RS 232 vodila

(∆t=700 ms)................................................................................................................. 49 Slika 7.11: Zakasnitev signala z uporabo OPC strežnika KEPServerEx preko Ethernet

vodila (∆t=200 ms)...................................................................................................... 49 Slika 7.12: Zakasnitev signala z uporabo OPC strežnika Matrikon preko RS 232 vodila

(∆t=420 ms)................................................................................................................. 50 Slika 7.13: Zakasnitev signala z uporabo OPC strežnika Matrikon preko Ethernet vodila

(∆t=150 ms)................................................................................................................. 50 Slika 7.14: Zakasnitev signala z uporabo OPC strežnika Softing S7/S5 preko RS 232

vodila (∆t=600 ms)...................................................................................................... 51 Slika 7.15: Zakasnitev signala z uporabo OPC strežnika Softing S7/S5 preko Ethernet

vodila (∆t=170 ms)...................................................................................................... 51 Slika 7.16: Primerjava rezultatov meritev zakasnitev signalov različnih OPC strežnikov z

uporabo različnih vodilih............................................................................................. 52 Slika 7.17: Primerjava cen različnih OPC strežnikov ......................................................... 53

X

Slika 8.1: Knjižnica Gauges Blockset ................................................................................. 55 Slika 8.2: Grafična predstavitev hidravličnega sistem ........................................................ 56 Slika 8.3: Zgradba hidravličnega sistema............................................................................ 56 Slika 8.4: Bloki za prenos podatkov hidravličnega sistema ................................................ 57 Slika 8.5: Model hidravličnega sistema............................................................................... 57 Slika 8.6: Matematični model hidravličnega sistema.......................................................... 58 Slika 8.7: Grafična ponazoritev hidravličnega sistema ....................................................... 58

XI

UPORABLJENE KRATICE

OPC – OLE za procesno avtomatizacijo ( OLE for process controllers) OLE – predmetno povezovanje in vdelovanje ( Object Linking and Embedding) AD – analogno - digitalni pretvornik DA – digitalno - analogni pretvornik GUI – grafični uporabniški vmesnik (Graphical User Interface)

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 1

1 UVOD

Zaradi vse širše uporabe pomnilniško programirljivih procesnih krmilnikov potrebujemo orodje za preizkušanje uporabniških programov. Na tržišču obstajajo namenski simulatorji za določene sisteme, ki pa so dragi, njihova uporaba pa je omejena samo na testiranje programov za preddoločene sisteme. Zato smo se v okvirju diplomske naloge odločili za izdelavo univerzalnega simulatorja za preizkušanje dinamičnih sistemov. Izdelan simulator bo omogočil analizo različnih dinamičnih procesov. Izdelavo univerzalnega simulatorja smo razdelili v štiri faze:

1. prenos signalov med procesnim krmilnikom in osebnim računalnikom z ustrezno programsko opremo,

2. izdelava grafičnega uporabniškega vmesnika za vnos zgradbe in parametrov dinamičnega sistema,

3. numerični izračun dinamike analiziranega sistema,

4. prikaz dobljenih rezultatov in njihova grafična ponazoritev. Slika 1.1 shematsko prikazuje povezavo med procesnim krmilnikom in osebnim računalnikom z ustrezno programsko opremo. V diplomski nalogi smo podrobno opisali vse štiri faze izdelave univerzalnega simulatorja.

Slika 1.1: Grafična predstavitev problema

Krmilnik Prenos signalov

Računalnik

1. vnos zgradbe in parametrov, 2. numerični izračun, 3. prikaz rezultatov.

Binarni izhod

Binarni vhod

Analogni izhod

Analogni vhod

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 2

Zelo pomembna in najbolj zahtevna faza izdelave univerzalnega simulatorja je prenos podatkov. Prenos podatkov mora biti zanesljiv in hiter, uporabljena oprema pa cenovno ugodna. Obstaja več načinov prenosa signalov. Po narejenem celovitem pregledu načinov prenosa signalov smo se omejili na dva najbolj uporabna prenosa signalov med procesnim krmilnikom in osebnim računalnikom. To sta:

1. prenos signalov s pomočjo analogno/digitalnega (AD/DA) vmesnika, 2. prenos podatkov s pomočjo OPC tehnologije .

Vnos zgradbe in podatkov sistema je realiziran z uporabo grafičnega uporabniškega vmesnika Matlab GUIs. Numerični izračuni se izvajajo na osnovi parametričnih modelov z numeričnim reševanjem diferencialnih enačb. Parametrične modele smo zgradili v programskem orodju Matlab/Simulink. Prikaz dobljenih rezultatov in njihovo grafično ponazoritev pa smo naredili s pomočjo grafov. Naloga je sestavljena iz dveh delov. V prvem delu je prikazana izdelava univerzalnega simulatorja dinamičnih sistemov, kjer smo za prenos signalov uporabili AD/DA vmesnik. V drugem delu pa je prikazana izdelava simulatorja hidravličnega sistema, kjer smo za prenos signalov uporabili OPC tehnologijo. Diplomsko delo je razdeljeno na devet poglavji. Drugo poglavje je namenjeno opisu uporabe AD/DA vmesnika in prenosu signalov med procesnim krmilnikom in osebnim računalnikom s programsko opremo Matlab/Simulink. V tretjem poglavju so opisane faze izdelave univerzalnega grafičnega vmesnika za vnos zgradbe in parametrov dinamičnega sistema. Četrto in peto poglavje prikazujeta način izvajanja numeričnih izračunov in prikazovanje rezultatov. V šestem poglavju je prikazana dejanska uporaba grafičnega vmesnika. Sedmo poglavje je namenjeno opisu OPC tehnologije in prenosu signalov med procesnim krmilnikom in osebnim računalnikom s programsko opremo Matlab/Simulink. Osmo poglavje prikazuje uporabo OPC tehnologije na primeru hidravličnega procesa. V zadnjem poglavju je podan zaključek.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 3

2 UPORABA AD/DA VMESNIKA ZA PRENOS SIGNALOV MED PROCESNIM KRMILNIKOM IN OSEBNIM RAČUNALNIKOM S PROGRAMSKO OPREMO MATLAB/SIMULINK

Prenos signalov med procesnim krmilnikom in osebnim računalnikom z uporabo AD/DA vmesnika predstavlja osnovni možni način prenosa podatkov. Na sliki 2.1 je prikazana shematska povezava procesnega krmilnika s programsko opremo

Matlab/Simulink, kjer je za prenos signalov uporabljen AD/DA vmesnik.

Slika 2.1: Prikaz uporabe AD/DA vmesnika za prenos signalov

V tem primeru krmilnikove analogne in digitalne vhode in izhode neposredno povežemo z računalnikom preko AD/DA vmesnika. Sam AD/DA vmesnik je lahko povezan z računalnikom na več načinov. Najpogostejši načini povezave AD/DA vmesnika z računalniško periferijo so:

• z uporabo notranjih vodil (ISA, PCI, PXI…), • z uporabo serijskega vodila (RS 232), • z uporabo paralelnega vodila (LPT), • z uporabo USB vodila,

• z uporabo Ethernet vodila (TCP/IP).

Matlab Simulink Analogno Digitalni Vmesnik Krmilnik

Binarni izhod

Binarni vhod

Analogni izhod

Analogni vhod NI USB-6008

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 4

2.1 Strojna oprema

Za prenos signalov med procesnim krmilnikom in osebnim računalnikom smo uporabili AD/DA vmesnik National Instruments USB-6008. Ta AD/DA vmesnik smo izbrali zato, ker ima programsko podporo v okvirju programskega okolja Matlab/Simulink (knjižnica Data Acquisition Toolbox). Vmesnik NI USB-6008 omogoča osnovno AD/DA pretvorbo za aplikacije kot so enostavna podatkovna obdelava, zunanje meritve in laboratorijske raziskave. Je zelo enostaven za konfiguriranje in uporabo, obenem pa tudi dovolj zmogljiv za obsežnejše aplikacije. Lahko ga uporabljamo v različnih programskih okoljih: C/C++, LabVIEW, Matlab/Simulink in podobno. Cenovno je ugoden in ima USB vodilo ki nam omogoča široko uporabnost na različnih računalniških sistemih. Slika 2.2 prikazuje AD/DA vmesnik NI USB-6008.

Slika 2.2: AD/DA vmesnik NI USB-6008

Tehniške lastnosti AD/DA vmesnika NI USB-6008:

• 8 analognih vhodov (12-bitni AD pretvornik, hitrost vzorčenja 10 kvzorcev/s, razpon vhodnega signala ±10 V) ,

• 2 analogna izhoda (12-bitni DA pretvornik, hitrost vzorčenja 150 vzorcev/s, razpon izhodnega signala 0-5 V),

• 12 digitalnih vhodov (5 V je logična ''1'', 0 V je logična ''0''), • 12 digitalnih izhodov (logična ''1'' je 5 V, logična ''0'' je 0 V),

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 5

• povezava preko USB vodila,

• nizka cena (približno 100€), • ne potrebuje dodatnega napajanja.

2.2 Programska oprema

Za uporabo AD/DA vmesnika na računalniku potrebujemo ustrezno programsko opremo. Proizvajalec vmesnika zagotavlja gonilnike za prenos signalov iz AD/DA vmesnika v osebni računalnik. Zagotovi nam tudi lastno programsko opremo, v kateri lahko opazujemo poteke signalov in izvajamo določene aplikacije. V nekaterih primerih proizvajalčeva programska oprema ne ustreza. Zato moramo izbrati lastno programsko okolje in poskrbeti za prenos signalov v njega. Pisanju gonilnikov za lastno programsko opremo smo se izognili z izbiro programskega paketa Matlab/Simulink. Programski paket Simulink namreč vsebuje knjižnico Data Acquisition Toolbox. Z uporabo te knjižnice lahko na enostaven način prenašamo signale iz AD/DA vmesnika v Simulinkovo delovno okolje.

Slika 2.3: Knjižnica Data Acquisition Toolbox

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 6

Na sliki 2.3 je prikazana vsebina knjižnice Data Acquisition Toolbox. V njej se nahaja šest blokov, od katerih štiri uporabljamo za prenos analognih signalov in dva za prenos digitalnih signalov. Pomen določenega bloka je:

• blok A/D − prebere signal na analognem vhodu (čas vzorčenje je neodvisen od časa integracije),

• blok D/A − digitalno informacijo pošilja na analogni izhod (čas vzorčenje je neodvisen od časa integracije),

• blok Single Sample A/D − prebere signal na analognem vhodu (čas vzorčenja je enak času integracije ali je njen večkratnik),

• blok Single Sample D/A − digitalno informacijo pošilja na analogni izhod (čas vzorčenja je enak času integracije ali je njen večkratnik),

• blok Digital Input − prebere signal na digitalnem vhodu,

• blok Digital Output − digitalno informacijo pošilja na digitalni izhod.

2.3 Meritev hitrosti prenosa podatkov s pomočjo AD/DA vmesnika

Za izbrani AD/DA vmesnik smo izmerili hitrost prenosa signalov oziroma zakasnitev izhodnega signala proti vhodnemu. Celotna zakasnitev signala je sestavljena iz petih komponent:

• prva komponenta zakasnitve signala se nam pojavi pri branju analognega signala na vhodu AD/DA vmesnika in pretvorbi tega signala v digitalno informacijo,

• druga komponenta zakasnitve je posledica prenosa digitalne informacije med AD vmesnikom in programsko opremo Matlab/Simulink,

• tretja komponenta zakasnitve se nanaša na čas trajanja numeričnih izračunov na osebnem računalniku,

• četrta komponenta zakasnitve signala se nam pojavi pri prenosu digitalne informacije iz programske opreme Matlab/Simulink na DA vmesnik,

• peta komponenta zakasnitve signala je posledica pretvarjanja digitalne informacije v analogni signal in pošiljanje tega analognega signala na izhod AD/DA vmesnika.

Slika 2.4 prikazuje shematsko povezavo AD/DA vmesnika in osebnega računalnika ter način merjenja zakasnitve signala.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 7

Slika 2.4: Shematski prikaz merjenja hitrosti prenosa podatkov

Iz funkcijskega generatorja smo poslali signal na analogni vhod AD/DA vmesnika, ki je analogni signal pretvoril v digitalno obliko. Preko USB vodila smo s pomočjo bloka Analog Input (Single Sample) prebrali vrednost analognega vhodnega signala v programsko okolje Matlab/Simulink. Digitalno informacijo, katero smo prebrali v Matlab/Simulik, smo z uporabo bloka Analog Output (Single Sample) poslali preko USB vodila na analogni izhod AD/DA vmesnika. Originalni signal iz funkcijskega generatorja smo potem primerjali s signalom na izhodu AD/DA pretvornika in smo tako izmerili celotno zakasnitev signala. Ocena posameznih komponent zakasnitev na ta način ni možna.

Na sliki 2.5 je predstavljena shematska povezava blokov za branje in pisanje signalov v programskem okolju Matlab/Simulink.

Scope

Analog Output (Single Sample )

nidaq Dev 1 USB-6008

Analog Input (Single Sample )

nidaq Dev 1 USB-6008

Slika 2.5: Shematski prikaz povezave v programskem okolju Matlab/Simulink

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 8

Na sliki 2.6 je prikazan rezultat meritve hitrosti prenosa podatkov z AD/DA vmesnikom v programsko okolje Matlab/Simulink. Slika 2.7 prikazuje povečan izrez slike 2.6.

Slika 2.6: Zakasnitev signala z uporabo AD/DA vmesnika NI USB-6008 preko USB vodila (∆t=6ms)

Slika 2.7: Povečan izrez zakasnitve signala z uporabo AD/DA vmesnika NI USB-6008 preko USB vodila (∆t=6ms)

8 ms

6 ms

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 9

Iz dobljenih odzivov je opazna: • časovna diskretizacija izhodnega signala, ki je posledica AD/DA pretvorbe

(približno 8 ms), • amplitudna diskretizacija izhodnega signala, ki je posledica AD/DA pretvorbe

(približno 120 mV) • zakasnitev izhodnega signala glede na vhodni signal (približno 6 ms).

Dodaten blok osciloskopa katerega smo dodali za časovno spremljanje poteka vhodnega signala v programskem paketu Matlab/Simulink ne vnaša omembe vrednih zakasnitev.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 10

3 UNIVERZALNI GRAFIČNI VMESNIK ZA VNOS ZGRADBE IN PARAMETROV DINAMIČNEGA SISTEMA

Naslednja faza diplomske naloge je bila izdelava univerzalnega grafičnega uporabniškega vmesnika, ki je omogočal hiter, enostaven in pregleden vnos zgradbe in parametrov matematičnega modela obravnavanega dinamičnega procesa. Univerzalni grafični uporabniški vmesnik je namenjen za hitro testiranje uporabniških programov procesnih krmilnikov. Z zgrajenim grafičnim vmesnikom smo se izognili interaktivnemu vnosu parametrov modela preko ukazne vrstice oziroma izdelavi parametrizacijskih datotek. Vmesnik vsebuje možnost vnosa parametrov matematičnega modela v obliki prenosne funkcije in modela v prostoru stanj. Pri vnosu modela v obliki prenosne funkcije smo se omejili na sisteme z enim vhodom in enim izhodom (SISO). Izdelava univerzalnega grafičnega uporabniškega vmesnika je potekala v programskem orodju Matlab GUIs (Graphical user interfaces).

3.1 Programsko orodje Matlab GUIs

V okvirju programske opreme Matlab se nahaja orodje Matalb GUI s pomočjo katerega lahko realiziramo hiter vnos zgradbe in parametrov ter grafično ponazorimo delovanje določenih procesov ali dinamičnih sistemov. Elementi, ki jih lahko uporabljamo pri ustvarjanju grafičnega vmesnika so:

• meniji, • potezni meniji, • gumbi,

• tekstualni bloki,

• statični tekst.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 11

Za prikaz rezultatov imamo na izbiro tabele in diagrame. Na sliki 3.1 je prikazano delovno okno programskega orodja Matlab GUI. V okvirju tega okna definiramo obliko in funkcijo elementov v bodočem grafičnem vmesniku. Vsak element ki ga definiramo v delovnem oknu Matlab GUI je povezan s funkcijo, ki se nahaja v M-file datoteki. Ko uporabnik izbere določen element v grafičnem vmesniku se začne izvajanje ustrezne prirejene funkcije.

Slika 3.1 Delovno okno Matlab GUI

3.2 Izdelava grafičnega vmesnika SimuLab

V tem poglavju je prikazana izdelava in uporaba univerzalnega grafičnega uporabniškega vmesnika. Program smo poimenovali SimuLab (Simulacijski laboratorij). Simulator lahko uporabljamo za simulacijo in analizo dinamičnih sistemov. Osnovni način uporabe grafičnega vmesnika SimuLab je da signal na analognem vhodu AD/DA vmesnika predstavlja vhod v dinamični sistem. Pri tem dinamični sistem vnaša uporabnik, lahko pa je v obliki prenosne funkcije ali model v prostoru stanj. Izhod iz dinamičnega sistema pa

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 12

pošiljamo na analogni izhod AD/DA vmesnika. Poleg tega lahko v grafičnem vmesniku Simulab izberemo še želeno obliko referenčnega signala in jo pošiljamo na analogni izhod AD/DA vmesnika. Velikokrat pa želimo samo opraviti analizo modela. V tem primeru ne potrebujemo AD/DA vmesnik, potrebne signale pa izberemo znotraj programskega orodja Matlab/Simulink. Glede na ta dva načina dela imamo dve vrsti izvajanja simulacije:

• simulacija z uporabo AD/DA vmesnika in • simulacija brez uporabe AD/DA vmesnika.

Na sliki 5.2 je prikazan primer univerzalnega grafičnega uporabniškega vmesnika SimuLab, ki ga dobimo ob zagonu programa.

Slika 3.2 Univerzalni grafični uporabniški vmesnik SimuLab

Program SimuLab je razdeljen v tri osnovne dele: • vnos zgradbe in parametrov matematičnega modela simuliranega procesa,

• numerični izračuni simuliranega procesa,

• prikaz rezultatov simuliranega procesa.

Na sliki 3.3 je prikazana zgradba programa SimuLab iz teh treh omenjenih delov.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 13

Slika 3.3 Zgradba programa SimuLab

V nadaljevanju poglavja bomo prikazali način vnosa zgradbe in parametrov matematičnega modela simuliranega procesa. Izvedba numeričnih izračunov je predstavljena v poglavju 4, izvedba prikaza rezultatov simulacije pa v poglavju 5.

3.3 Vnos zgradbe in parametrov

Vnos zgradbe in parametrov matematičnega modela obravnavanega procesa je razdeljen v tri bloke:

1. vnos zgradbe in parametrov matematičnega modela simuliranega procesa, 2. izbira oblike referenčnega signala, 3. nastavitev parametrov simulacije.

Slika 3.4 nam grafično prikazuje menijsko zgradbo vnosa podatkov.

Vnos zgradbe in parametrov

Numerični izračun

Prikaz rezultatov

SimuLab

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 14

Slika 3.4: Zgradba vnosa podatkov

Vnašanje zgradbe in parametrov matematičnega modela obravnavanega procesa v grafični vmesnik je realizirano preko pogovornih oken. Ustvarimo lahko nov model ali pa preberemo podatke že vnesenega modela. Te podatke naložimo v grafični vmesnik. Z izbiro ukaza »Nova« ustvarimo novo datoteko, v kateri lahko izbiramo med vnosom modela v obliki prenosne funkcije ali modela v prostoru stanj. Način vnosa podatkov je prikazan na sliki 3.5. Po vnosu modela lahko podatke z ukazom »Shrani« shranimo v datoteko z želenim imenom. Tako shranjene podatke lahko kasneje ponovno naložimo z izbiro ukaza »Naloži«. Če ne želimo več uporabljati programa SimuLab enostavno izberemo ukaz »Izhod« in zaključimo z delom.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 15

Slika 3.5: Vnos parametrov dinamičnega sistema v obliki prenosne funkcije ali matrik v prostoru stanj

Dodatno lahko izbiramo obliko referenčnega signala. Referenčni signal lahko pošiljamo na analogni izhod AD/DA vmesnika. Na ta način se izognemo uporabi zunanjega funkcijskega generatorja. V primeru načina dela brez AD/DA vmesnika pa nam referenčni signal predstavlja vhod v matematični model. Ta signal je lahko sinusne, pravokotne ali žagaste oblike različne amplitude, frekvence in amplitudnega zamika. Numerično izračunane vrednosti modelnih izhodnih signalov so večinoma bipolarne vrednosti v območju od +10 do -10. Uporabljeni DA pretvornik uporablja napajane preko USB vodila in omogoča samo unipolarne izhodne signale v območju od 0-5 V. Ustrezno linearno prilagoditev lahko izvedemo programsko (-10 = 0 V, +10 = 5 V). Ob uporabi te bipolarno/unipolarne prilagoditve je potrebno na krmilniku izvest inverzno prilagoditev. Vključitev in izključitev prilagoditve je izvedena znotraj okna za izbiro vhodnega signala in je prikazana na sliki 3.6. Znotraj tega okna izbiramo še obliko in parametre vhodnega (referenčnega) signala.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 16

Slika 3.6: Izbira in vnos parametrov referenčnega signala

Pred samim začetkom izvajanja numeričnih izračunov je potrebno izbrati numerično metodo in parametre simulacije. V okvirju grafičnega uporabniškega vmesnika lahko izbiramo samo čas simulacije in integracijski korak. Numerično metodo pa lahko spreminjamo le znotraj Simulinkovih modelov v meniju parametri simulacije. Naprej nastavljena numerična metoda za izvajanje izračunov je Runge-Kuta 4. reda. Na sliki 3.7 je predstavljeno okno za vnos parametrov simulacije.

Slika 3.7: Vnos parametrov simulacije

Pri izbiri integracijskega koraka je ob upoštevanju dinamike sistema potrebno upoštevati tudi čas vzorčenja. Na splošno velja pravilo, da integracijski korak mora biti enak ali krajši kot pa je čas vzorčenja AD/DA vmesnika.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 17

4 NUMERIČNI IZRAČUN

Po vnosu zgradbe in parametrov modela je potrebno izračunati odziv modela na izbrane vhodne signale. Za numerične izračune smo uporabili programsko orodje Simulink, v katerem smo s pomočjo razpoložljivih knjižnic in ustrezne integracijske numerične metode izvajali numerične izračune diferencialnih enačb vnesenih matematičnih modelov. Zgradba dela za numerični izračun je prikazana na sliki 4.1 in je razdeljena v 3 bloke:

• priprava modelov,

• analiza sistema,

• simulacija modela.

Slika 4.1 Zgradba numeričnega izračuna

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 18

V prvem koraku prenesemo parametre modelov v vnaprej pripravljene simulacijske modele. Odvisno od oblike sistema in načina simulacije se nam odpre ustrezen Simulinkov model. Nato naredimo analizo vnesenega dinamičnega sistema in izvedemo simulacijo modela.

4.1 Priprava modela

Iz slike 4.1 je razvidno, da so v okviru programa SimuLab pripravljene štiri simulacijske sheme. Odvisno od vrste simulacije in vrste vnesenega modela program izbere ustrezno simulacijsko shemo. Pripravljene so naslednje simulacijske sheme:

• simulacijska shema za izračun odziva matematičnega modela v obliki prenosne funkcije brez uporabe AD/DA vmesnika (slika 4.1, datoteka GodsSim.mdl, slika 4.2),

• simulacijska shema za izračun odziva matematičnega modela v obliki prenosne funkcije z uporabo AD/DA vmesnika (slika 4.1, datoteka GodsADC.mdl, slika 4.3),

• simulacijska shema za izračun odziva matematičnega modela v prostoru stanj brez uporabe AD/DA vmesnika (slika 4.1, datoteka AbcdSim.mdl, slika 4.4),

• simulacijska shema za izračun odziva matematičnega modela v prostoru stanj z uporabo AD/DA vmesnika (slika 4.1, datoteka AbcdADC.mdl, slika 4.5).

izhodSim

casSim vhodSim

SG Prenosna funkcija

Ste(s) Ime (s)

Offset

0

Clock

Slika 4.2: Simulacijska shema za izračun odziva matematičnega modela v obliki prenosne funkcije brez uporabe AD/DA vmesnika

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 19

d

d

cT

K*u

b

K*u

casSimvhodSim

izhodSim

SG

Offset

0

Integrator

1 s

Clock

A

K*u

Slika 4.3: Simulacijska shema za izračun odziva matematičnega modela v prostoru stanj brez uporabe AD/DA vmesnika

Zero -Order Hold 1

Zero -Order Hold

casSimvhodSim izhodSim

Timer Function

RTBlock

Switch1

Switch SG

Ref

0

Rate Transition

Prilagoditev

In1 Out1

0

Pri1

0Prenosna

Ste (s) Ime (s)

Offset

0

Clock

Analog Output (Single Sample )

nidaq Dev 1 USB-6008

Analog Output (Single Sample )

nidaq Dev 1 USB-6008

Analog Input (Single Sample )

nidaq Dev 1 USB-6008

Prilagoditev

In1 Out1

Slika 4.4: Simulacijska shema za izračun odziva matematičnega modela v obliki prenosne funkcije z uporabo AD/DA vmesnika

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 20

d

d

cT

K*u

b

K*u

Zero -Order Hold 1

Zero -Order Hold

casSim vhodSim izhodSim

Timer Function

RTBlock

Switch1

Switch SG

Ref

0

Rate Transition

Prilagoditev

In1 Out1

0

Pri1

0

Offset

0

Integrator

1 s

Clock

Analog Output (Single Sample )

nidaq Dev 1 USB-6008

Analog Output (Single Sample )

nidaq Dev 1 USB-6008

Analog Input (Single Sample )

nidaq Dev 1 USB-6008

A

K*u

Prilagoditev

In1 Out1

Slika 4.5: Simulacijska shema za izračun odziva matematičnega modela v prostoru stanj z uporabo AD/DA vmesnika

Poleg standardnih blokov so v shemah uporabljeni tudi naslednji bloki. • blok Timer Functio je namenjen uskladitvi simulacijske in realne ure in bo

podrobneje opisan v poglavju 4.3, • blok Rate Transition je namenjen za prilagoditev časa vzorčenja AD/DA vmesnika

in integracijskega koraka ter nam v primeru različnih časov generira za izračun manjkajoče vzorce,

• blok Zero-Order Hold je zadrževalni člen nič-tega reda in je potreben pred blokom za klic DA pretvornika ker z njim določimo čas vzorčenja (klicanja) DA pretvornika.

4.2 Analiza sistema

V okviru programa SimuLab je omogočena tudi analiza modelov. Po vnosu parametrov matematičnega modela dinamičnega sistema se nam na zaslonu izpišejo njegove lastne vrednosti. Dodatno lahko izrišemo:

• Bode-jev diagram, • diagram lege korenov,

• odziv na stopnico,

• za model v prostoru stanj lahko narišemo odziv na začetne pogoje.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 21

Slika 4.6 prikazuje okno v katerem se nam izpišejo lastne vrednosti in v katerem se nahajajo gumbi za izris določenih diagramov in odzivov.

Slika 4.6: Izračun lastnosti sistema

4.3 Simulacija sistema

Glede na predhodno izbrane in vnesene parametre izvedemo simulacijo modela. Z izbiro polja »Start« v oknu simulacija zaženemo simulacijo, z izbiro polja »Stop« pa simulacijo prekinemo. Okno za simulacijo je prikazano na sliki 4.7.

Slika 4.7: Ukazi za zagon in prekinitev izračunov

Po končanih izračunih se nam rezultati prenesejo v Matlabov pomnilnik (Workspace) v vektorske spremenljivke:

• vhodSim,

• izhodSim,

• casSim. Največji problem, s katerim smo se soočali pri izdelavi simulatorja je bil zagotavljanje izvajanja numeričnih izračunov simuliranih procesov v realnem času. Program, ki se izvaja v Matlab/Simulinku se lahko izvaja hitreje ali počasneje kot teče realni čas. Zaradi tega so vsi izračuni, katere naredimo na računalniku brez uskladitve simulacijske in realne ure popolnoma neuporabni za preizkušanje procesnih krmilnikov. Obstaja več možnosti, s katerimi lahko rešimo ta problem in dosežemo časovno uskladitev. Te možnosti so:

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 22

• izbira integracijskega koraka, ki zagotavlja simulacijski izračun v realnem času, • izvajanje izračunov na periferni napravi, • uporaba knjižnice Real-Time Windows Target, • izdelava lastnega simulacijskega programa v katerem zagotovimo časovno realen

izračun (v okviru M-file datoteke), • uporaba dodatnega bloka v Simulinku, ki zagotavlja časovno realen izračun.

Najenostavnejši način za zagotavljanje časovno realnega izračuna je spreminjanje dolžine integracijskega koraka. S krajšanjem integracijskega koraka se čas, potreben za simulacijski izračun, poveča. Ker se izračuni diferencialnih enačb uporabljenih modelov v Simulinku običajno izvajajo zelo hitro je čas izračuna krajši. Uskladitev časa izračuna in realnega časa lahko dosežemo tako, da izberemo ustrezno manjši integracijski korak simulacije. Tako dosežemo, da je čas simulacije enak realnemu času. Ker je čas izračuna vezan na računsko zahtevnost sistema nam vsaka sprememba podatkov povzroči porušitev uskladitve. Zaradi tega ja ta metoda pogojno uporabna, vendar zaradi enostavnosti predstavlja osnoven način zagotavljanja časovno-realne uskladitve. Najbolj uporaben način uskladitve časa simulacije in realnega časa je izvajanje izračunov na periferni napravi z lastnim procesorjem. V tem primeru model iz Simulinka zapišemo v ustrezno programsko kodo (C/C++, Fortran…) ki jo prevedemo v strojno kodo. Le to naložimo na periferno napravo z lastnim procesor in jo tam izvajamo. Za genenriranje želene programske kode uporabljamo Real-Time Workshop. Ker zunanji procesor deluje samostojno nismo več vezani za interni procesor in lahko izvajamo izračune časovno realno. Pomanjkljivost te metode je, da potrebujemo dodatno strojno opremo, ki velikokrat predstavlja visoke investicijske stroške (dSpace). Najbolj obetavna možnost je uporaba Matlabove knjižnice Real-Time Windows Target, ki deluje podobno kot izvajanje programov na periferni napravi. V tem primeru s pomočjo Real-Time Workshopa generiramo programsko kodo ampak izračune ne izvajamo na procesorju periferne naprave temveč na lastnem računalniškem procesorju. Žal ta metoda še ima zelo veliko pomanjkljivosti. V našem primeru nismo mogli uporabiti omenjene knjižnice ker ne podpira uporabljen AD/DA vmesnik. Real-Time Windows Target ne podpira bloke za branje in pisanje podatkov s pomočjo uporabljenega AD/DA vmesnika. Sicer ta knjižnica podpira veliko število AD/DA vmesnikov ampak noben vmesnik iz nabora ne uporablja USB vodilo za prenos signalov.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 23

Ena od metod za realizacija časovno realnega izračuna je izdelava lasnega programa v okvirju katerega usklajujemo izvajanje programa skladno z realnim časom. Vsak blok kateri je grafično predstavljen v Simulinku lahko zapišemo v obliki kode v Matlabovem komandnem oknu. V programu bi primerjali čas simulacije ter realni čas. Vsak naslednji korak izračuna bi izvedli le, če je čas simulacije enak (ali večji) realnemu času. S tem bi naredili naš proces časovno realen. Glavni problem pri uporabi te metode je prevelika zakasnitev signala pri branju in pisanju podatkov znotraj programskega okolja Matlab (dovolj hitro izvajanje smo dobili samo z uporabo Simulinkovih blokov). Namreč, ko AD/DA vmesnik uporabljamo znotraj M-file datoteke nam ta postane zaradi velike (100 ms) zakasnitve signala neuporaben. Edini primeren in uporaben način za zagotavljanje izvajanja časovno realnega izračuna dinamičnih procesov je uporaba dodatnega bloka v Simulinku. Ta blok v primeru, ko se izračun odvija počasneje kot pa teče realni čas, prekine izvajanje vseh tekočih procesov na računalniku in s tem pospeši izvajanje simulacije. V tem primeru se izvajanje numeričnih izračunov matematičnih modelov lahko izvaja poljubno hitro. S tem lahko zagotovimo časovno realno izvajanje numeričnih izračunov simulacije. Ta blok ni sestavni del programskega paketa Matlab/Simulink oziroma Mathworksovih knjižnic ampak predstavlja izdelek uporabnika Leonarda Dage, ki pa ga je dal na razpolago preko Mathworksovih internetnih strani. Zgrajen je s pomočjo S-funkcije katere koda je zapisana v programu okolju C++. Slika 4.8 prikazuje ikono bloka za zagotavljanje časovno realnega numeričnega izračuna

Slika 4.8: Simulinkov blok za zagotavljanje časovno realnega numeričnega izračuna

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 24

5 PRIKAZ REZULTATOV

Po narejenih numeričnih izračunih dobljene rezultate grafično predstavimo. Zgradba programskega dela za prikazovanje rezultatov je podana na sliki 5.1.

Slika 5.1: Zgradba prikaza rezultatov

Dobljene rezultate izrišemo z ukazom »Izriši«. Če želimo dobljeni potek rezultatov zadržati na zaslonu izberemo ukaz »Zadrži«. Če je ukaz »Zadrži« vključen nam vsi poteki izračunov ostanejo na grafu. V nasprotnem primeru pa so na zaslonu prikazani samo zadnji rezultati izračunov. Okno za izris dobljenih rezultatov numeričnih izračunov je prikazano na sliki 5.2.

Slika 5.2: Izris rezultatov

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 25

Izris je možen samo po zaključku izvajanja simulacije. Zato smo v vsak simulacijski model dodali osciloskop, ki omogoča časovno realno spremljanje rezultatov numeričnih izračunov.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 26

6 PRIMER UPORABE GRAFIČNEGA VMESNIKA SIMULAB

Uporabnost programa SimuLab smo preverili na primeru preizkušanja uporabnikovega regulacijskega programa procesnega krmilnika. Procesni krmilnik je predstavljal regulator, računalnik z AD/DA vmesnikom ter programom SimuLab pa simulator reguliranega dinamičnega sistema.

Slika 6.1: Povezava procesnega krmilnika in simulatorja dinamičnega sistema

Reguliran proces (ponazorjen z računalnikom, AD/DA vmesnikom in programom SimuLab) je imel dinamiko člena 3. reda. Matematični model reguliranega procesa prikazuje prenosna funkcija (6.1):

1( ) ( 1)(0.2 1)(0.1 1)G s s s s= + + + (6.1)

Računalnik +

AD/DA Vmesnik +

Program SimuLab

Krmilnik Vhod

Izhod

Referenca

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 27

6.1 Določitev regulatorja

Na krmilniku smo želeli preizkusiti uporabo diskretnega PI regulatorja. Najprej smo s pomočjo frekvenčnih karakteristik [L1] določili parametre zveznega regulatorja. Pri sintezi regulatorja izhajamo iz dopustnega 4% prenihaja na stopnično spremembo referenčne vrednosti. Iz prenosne funkcije (6.1) smo določili časovne konstante procesa:

1

2

3

=1.0 s =0.2 s =0.1 s

T T T

(6.2)

Glede na časovne konstante procesa (6.2) izberemo časovne konstante regulatorjev [L1]:

=1 s =0.2 s '=0.1 s

i

d

d

T T T

(6.3)

Prenosna funkcija PI regulatorja z ojačanjem Kr = 1 je:

, 1 1 1

1rr K sG

s =

+ =

(6.4)

Za regulator z vrednostjo ojačanja Kr = 1 izračunamo prenosno funkcijo odprte regulacijske zanke:

, 1 1 1 1

1 ( 1)(0.2 1)(0.1 1)ro K sG

s s s s =

+ =

+ + + (6.5)

Za izračunano prenosno funkcijo odprte regulacijske zanke (6.5) narišemo frekvenčno karakteristiko v Bodejevem diagramu (Slika 6.2).

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 28

-150

-100

-50

0

50

M ag

n itu

de

(dB )

10-1 100 101 102 103 -270

-225

-180

-135

-90

Ph as

e (de

g)

Bode Diagram

Frequency (rad/sec)

Slika 6.2: Bodejev diagram za izbrani člen 3. reda

S pomočjo izkustvene formule (6.6) iz [L2] :

[ ] [ ]

° % 70 fazna rezerva prenihaj+ ≈ (6.6)

smo za predpisani prenihaj 4% izračunali potrebno fazno rezervo 66°. Nato smo iz frekvenčne karakteristike odčitali amplitudo za izračunano fazno rezervo.

6666 0.68 fazna rezervafazna rezerva α = °= ⇒ = (6.7)

Iz odčitane vrednosti (6.7) amplitudne karakteristike izračunamo ojačanje PI regulatorja.

66

66

0.68 1 1 1.47

0.68

fazna rezerva

fazna rezerva k

α

α

= °

= °

=

= = = (6.8)

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 29

V procesnem krmilniku smo uporabili diskretni PI regulator, katerega parametre smo določili na osnovi zveznega PI regulatorja (6.8). Diskretni regulator opisuje enačba (6.9):

[ ] [ ] [ ] [ ]0 11 1u k u k q e k q e k= − + + ⋅ − (6.9)

Kjer je: • u[k],u[k-1] – vrednost vhodnega signala v trenutku k in k-1, • e[k],e[k-1] – vrednost razlike referenčnega in izhodnega signala

v trenutku k in k-1.

Konstanti q0 in q1 smo določili z enačbo (6.10) [L4]:

0 0

0 1

0

1

21

d

d

i

Tq k T

T Tq k T T

  = +  

  = − + −  

(6.10)

In za naš primer znašata:

0

1

1 .47 1.44

q q

=

= −

(6.11)

Uporabnik mora v okviru programa, ki se izvaja na procesnem krmilniku, zagotoviti ekvidistančno vzorčenje. Hitrost vzorčenja AD/DA pretvornika procesnega krmilnika lahko določimo z uporabo organizacijskega bloka OB35, v katerega vpišemo celotni regulacijski algoritem. Glede na dinamiko reguliranega procesa smo izbrali časovno konstanto vzorčenja T0 = 20 ms.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 30

6.2 Regulacijski algoritem

Za realizacijo diskretnega PI regulatorja smo uporabili procesni krmilnik Siemens Simatic S7-314 IFM. Regulacijski algoritem smo izdelali v programskem okolju STEP7 in je prikazan v dodatku A.

6.3 Rezultati izračunov

Izdelan računalniški simulator smo preko analognih vhodov in izhodov povezali s procesnim krmilnikom in preizkusili njegovo uporabnost. V procesnem krmilniku je tekel regulacijski algoritem, računalniški simulator pa je predstavljal člen 3. reda. Za krmilnikov referenčni signal smo uporabili enotino stopnično funkcijo, ki smo jo generirali v SimuLabovem oknu in preko analognega izhoda poslali na krmilnikov analogni vhod. Na sliki 6.3 je prikazan odziv člena 3. reda na generiran referenčni signal.

Slika 6.3: Odziv člena 3. reda na generiran referenčni signal

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 31

Odziv je stacionarno točen (integracijski del regulatorja) ima pa večji prenihaj, kot je bil predpisan. Razlog za preveliki prenihaj je pri simulacijskih izračunih neupoštevana zakasnitev procesnega krmilnika (20 ms). Slika 6.4 prikazuje:

• odziv iz slike 6.3 (rezultat iz računalniškega simulatorja), • v Simulinku izračunan stopnični odziv člena 3. reda z zveznim PI regulatorjem, • v Simulinku izračunan stopnični odziv člena 3. reda z zveznim PI regulatorjem in z

upoštevanjem zakasnitvenega časa procesnega krmilnika.

Slika 6.4: Primerjava odzivov člena 3. reda

Odziv brez upoštevanaj zakasnitve krmilnika

Odziv z upoštevanajem zakasnitve krmilnika

Odziv iz računalniškega simulatorja SimuLab

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 32

7 UPORABA OPC TEHNOLOGIJE ZA PRENOS SIGNALOV MED PROCESNIM KRMILNIKOM IN OSEBNIM RAČUNALNIKOM S PROGRAMSKO OPREMO MATLAB/SIMULINK

Velikokrat želimo realizirati prenos analognih in digitalnih signalov med osebnim računalnikom z operacijskim sistemom Windows in procesnimi krmilniki brez uporabe AD/DA vmesnika. Eno izmed rešitev predstavlja uporaba OPC tehnologije za prenos signalov. V tem poglavju je podrobno opisana realizacija vzpostavitve povezave med procesnim krmilnikom in računalniško opremo Matlab/Simulink s pomočjo OPC tehnologije. Opisana je konfiguracija uporabljenih OPC strežnikov in OPC odjemalcev. Razloženi so načini branja in vpisovanja podatkov ter njihova dejanska programska realizacija. Vsak ta opisani postopek je obravnavan ločeno in opisan v svojem poglavju. Ločeno so opisani postopki vzpostavitve povezave med:

• krmilnikom in OPC vodilom,

• OPC vodilom in Matlab/Simulinkom.

Slika 7.1: Shematski prikaz prenosa signalov s pomočjo OPC tehnologije

Matlab Simulink OPC Vodilo Krmilnik

Binarni izhod

Binarni vhod

Analogni izhod

Analogni vhod

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 33

7.1 Predstavitev OPC tehnologije

OPC je kratica za OLE-for Proces Control ki označuje Microsoftovo OLE tehnologijo (Object Linking and Embedding). Predstavlja vrsto skupnega komunikacijskega vmesnika (OPC vodila) med različnimi napravami in računalniki. Ta enotni način komunikacije uporabljamo pri krmiljenju in nadzoru tehnoloških procesov. OPC tehnologija je proizvajalcem programske opreme odvzela breme pisanja številnih gonilnikov, ter omogočila njihovim programom povezovanje z veliko večjim številom zunanjih naprav. Čas, ki so ga pri tem pridobili, so proizvajalci lahko porabili za izboljšanje svojih produktov. Zaradi enostavnosti same OPC tehnologije se nam zmanjšajo tudi stroški vzdrževanja in vsake bodoče nadgradnje nekega sistema.

Osnovna ideja OPC tehnologije je zmanjšanje potreb po specifičnih gonilnikih. Pri klasičnem načinu povezovanja programskih aplikacij (Matlab, Excel, LabView…) z zunanjo strojno opremo (krmilniki, merilniki…) potrebujemo za vsako periferno napravo gonilnik do vsake programske aplikacije. Na sliki 7.2 je grafično predstavljen navaden način povezovanja različnih perifernih naprav in računalniških aplikacij s specializiranimi gonilniki.

Slika 7.2: Navaden način povezovanja naprav

RAČUNALNIK

Merilne naprave Krmilne naprave Zaščitne naprave

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 34

V primeru uporabe OPC tehnologije pa moramo za vsako zunanjo strojno opremo zagotoviti samo en program, ki izvede prenos podatkov iz priključene strojne opreme do tako imenovanega OPC vodila. Prav tako potrebujemo samo en program znotraj programske aplikacije za prenos podatkov med OPC vodilom in programsko aplikacijo. Program, za povezavo med zunanjo strojno opremo in OPC vodilom imenujemo OPC strežnik. Program, za povezavo OPC vodila in programske aplikacije pa imenujemo OPC odjemalec. Na sliki 7.3 je predstavljen način povezovanja različnih perifernih naprav in računalniških aplikacij s pomočjo OPC tehnologije.

Slika 7.3: Povezovanje naprav s pomočjo OPC tehnologije

OPC je ime za standarde, katerih namen je olajšanje komunikacije do merilnih in krmilnih naprav različnih proizvajalcev v industriji. Ti standardi so bili razviti leta 1996 s strani vodilnih podjetji na področju avtomatizacije (Hewlett-Packard, Siemens…) v sodelovanju z podjetjem Microsoft. Organizacija, ki ureja te standarde, se imenuje OPC fundacija in šteje preko 300 članov z vsega sveta. Fundacija skrbi za razvoj in prilagoditev OPC standardov in je aktivna še danes. OPC fundacija je do sedaj izdala že več specifikacij OPC standarda:

RAČUNALNIK

Merilne naprave Krmilne naprave Zaščitne naprave

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 35

• OPC standard 1.0

• OPC standard 1.0 s časovno značko

• OPC standard 2.0

• OPC standard 3.0

Proizvajalci strojne opreme običajno izdelajo lastni strežnik, ki njihovo strojno opremo poveže z OPC vodilom. Na razpolago pa so tudi strežniki, ki podpirajo več različnih naprav različnih proizvajalcev. Z njimi lahko med seboj enostavneje povežemo različne naprave.

7.2 OPC strežnik (OPC server)

OPC strežnik je jedro vsake OPC povezave. Predstavlja navidezno povezavo med zunanjo strojno opremo in OPC vodilom. Njegova naloga je, da bere podatke iz določene naprave ter jih obdela in prilagodi določenemu programskemu okolju. OPC strežnik običajno zagotovi proizvajalec strojne opreme. Pri vzpostavitvi OPC povezave z OPC strežnikom je potrebna pravilna parametrizacija spremenljivk, ki jih želimo opazovati ali shranjevati. Obstajata dva osnovna načina parametrizacije OPC strežnika. Prvi način parametrizacije OPC strežnika je navadna interaktivna metoda, pri kateri je potrebno več znanja za pravilno konfiguracijo povezave. Metoda je zelo zamudna in občutljiva (že en napačen korak in povezava ni vzpostavljena). Pri sami vzpostavitvi povezave je najprej potrebno poiskati napravo, s katero želimo komunicirati (Device). V naslednjem koraku moramo nastaviti kanal (Channel), po katerem bo potekala komunikacija. Na koncu moramo še določiti želeno spremenljivko, (Tag) ki jo bomo opazovali. Pomembno je, da pravilno definiramo tip spremenljivke in njeno velikost zaradi nadaljnje obdelave podatkov v izbranem programskem okolju. Nastavitev potem shranimo in s tem zaključimo konfiguracijo OPC strežnika.

Druga metoda je uporabniško prijaznejša, saj omogoča hitro in enostavno konfiguracijo OPC povezave brez predznanja. Vendar pa to metodo vsebuje in podpira zelo malo število OPC strežnikov. Če OPC strežnik razpolaga s to funkcijo potem program samostojno poišče napravo, ki je priključena na računalnik in določi kanal, preko katerega bo komuniciral z napravo. Na koncu prikaže seznam vseh spremenljivk priključene strojne

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 36

opreme, ki jih lahko krmilimo in spremljamo. Uporabnik samo izbere spremenljivke, ki jih želi nadzorovati. S tem je konfiguracija OPC strežnika končana. Nekateri OPC strežniki dopuščajo spreminjanje in dodajanje določenih spremenljivk znotraj nekega procesa ne da bi s tem prekinili njegovo izvajanje. V našem primeru smo uporabili tri različne proizvajalce OPC strežnikov in preizkusili vsakega posebej. Na osnovi podrobnih preizkušanj smo določili njihove najpomembnejše lastnosti:

• hitrost obdelave podatkov,

• hitrost prenosa podatkov,

• enostavnost konfiguracije, • cena OPC strežnika.

Preizkusili smo naslednje OPC strežnike: • KEPServerEx V4.2,

• MatrikonOPC Server V3.03,

• Softing S7/S5 OPC Server V3.10.

7.2.1 KEPServerEx V4.2

V prvem primeru smo za prenos podatkov med krmilnikom in Matlabom uporabili KEPwareov OPC strežnik KEPServerEx V4.2. Cena popolne podjetniške verzije omenjenega OPC strežnika je 615€. Za ta OPC strežnik smo se odločili zaradi njegove zelo široke uporabe in enostavne konfiguracije. Njegova zelo pomembna lastnost je, da omogoča povezavo med mnogimi industrijskimi napravami in sistemi ki jih uporabljamo v avtomatizaciji, merilni tehniki in zaščitnih napravah. Podpira povezavo preko velikega števila različnih vodil kot so RS 232 vodilo, USB vodilo, Ethernet vodilo in druga podobna vodila. Razvit je bil z namenom hitre vzpostavitve komunikacije pri raznih regulacijskih in nadzornih sistemih. OPC tehnologije ki jih ta strežnik podpira so:

• OPC Data Access 1.0,

• OPC Data Access 2.05a,

• OPC Data Access 3.0,

• DDE Format CF_Text,

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 37

• DDE Format AdvancedDDE. OPC strežnik KEPServerEx omogoča istočasno komunikacijo z večjim številom naprav različnih proizvajalcev. Med veliko množico gonilnikov, ki jih ta OPC strežnik vsebuje, je tudi gonilnik za Siemensove krmilnike serije S7-200 S7-300 in S7-400 ki komunicirajo preko RS 232 ali Ethernet vmesnika. Program je bil zasnovan za delovanje na Microsoft Windows operacijskih sistemih Win Vista/Server 2008/XP/Server 2003/2000. Ob namestitvi KEPServerEx OPC strežnika se namestijo tudi druga orodja, s katerimi si lahko pomagamo med konfiguracijo OPC strežnika. V okvirju tega OPC strežnika se nahaja OPC odjemalec OPC Quick Client, s katerim lahko zelo hitro ugotovimo vse strežnike kateri so povezani na OPC vodilo, kanal preko katerega komunicira določen strežnik in celoten nabor vseh spremenljivk nekega procesa kot tudi njihove trenutne vrednosti. Ker smo uporabljali le demo verzijo KEPwareovega OPC strežnika, je bilo neprekinjeno delovanje programa časovno omejeno le na dve uri.

7.2.2 MatrikonOPC Server V3.03

MatrikonOPC server je namenjen samo za krmilnike iz serije Simatic (Siemens) S5/S7 in omogoča prenos podatkov preko Ethernet ali RS 232 vmesnika. Komunikacija lahko poteka samo med krmilniki iz serije S5/S7 in različnimi OPC odjemalci. Cena popolne podjetniške licence znaša 595€. Ta OPC strežnik smo izbrali zaradi njegove široke uporabe v industriji ter zaradi priporočil vodilnih računalniških podjetji kot so Mathworks (Matlab) in National Instruments (LabView). Konfiguracija tega OPC strežnika je nekoliko zahtevnejša kot pri ostalih OPC strežnikih. Pomembna lastnost programa je, da lahko direktno prenesemo tabelo simbolov iz programa STEP5/STEP7 v ta OPC strežnik in si s tem prihranimo veliko časa, ki bi ga sicer potrebovali za konfiguracijo opazovanih spremenljivk. OPC tehnologije, ki jih ta strežnik podpira, so:

• OPC Data Access 1.0a,

• OPC Data Access 2.0,

• OPC Data Access 2.05a,

• OPC Data Access 3.0,

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 38

• OPC Security 1.00. Program je namenjen za delovanje v računalniškem okolju Microsoft Windows Win 2000/XP/2003. Tudi ta program vsebuje lasten OPC odjemalec z imenom MatrikonOPC Explorer ter je namenjen opazovanju samih spremenljiv tokom izvajanja nekega tehnološkega procesa. Čeprav je konfiguracija programa zahtevnejša je MatrikonOPC strežnik zelo pregleden in pri uporabi prijazen program.

7.2.3 Softing S7/S5 OPC Server V3.10

Softingov S5/S7 OPC strežnik je podobno kot MatrikonOPC Server namenjen samo za Siemensove krmilnike iz serije Simatic S5/S7. Cena popolne podjetniške verzije Softing S5/S7 OPC strežnika je 400€. Razlog za uporabo tega strežnika je priporočilo podjetje Siemens. Je eden od vodilnih OPC strežnikov na področju Siemensovih krmilnikov. Softing S5/S7 OPC strežnik je zelo je enostaven za konfiguracijo in omogoča hitro vzpostavitev povezave. Prednost tega strežnika je samostojno iskanje procesnih krmilnikov ki so povezani na računalnik. S tem se izognemo konfiguraciji kanala. Dodatna prednost tega programa je, da samostojno poišče spremenljivke procesa iz datotek programskega paketa Step7. OPC tehnologije ki jih ta strežnik podpira so:

• OPC Data Access 1.0a,

• OPC Data Access 2.05,

• OPC Data Access 3.0,

• OPC XML – DA.

Program je namenjen za delovanje na Microsoft Windows operacijskih sistemih in sicer na Win XP/2000/NT/ME/98/95/Server2003. Kot vsi ostali programi tudi ta program vsebuje lasten OPC odjemalec z imenom Softing OPC Toolbox Client. Z njim lahko opazujemo trenutno stanje spremenljivk nekega procesa.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 39

7.3 OPC odjemalec (OPC client)

OPC odjemalec zagotovi proizvajalec programske opreme. Osnovna naloga vsakega uporabnika je nastavitev OPC odjemalca. Le ta mora biti izvedena tako, da lahko dostopamo do podatkov na OPC vodilu. Podatke nam na OPC vodilo posreduje OPC strežnik, od koder jih bere in pošilja nazaj na izbrano napravo. Zato je potrebno določiti napravo, s katero se želimo povezati, določiti kanal na katerem je sama naprava in določiti spremenljivko, katero želimo opazovati. Različni programski paketi imajo različne OPC odjemalce, kjer pa se postopki nastavitve med sabo razlikujejo. Pomembno je, da pravilno in smiselno povežemo OPC strežnik in OPC odjemalce. Za določeno programsko opremo imamo velikokrat na voljo večje število OPC odjemalcev. Vsi delujejo na enak način, razlikujejo se le po zahtevnosti konfiguracije povezave in nastavitve spremenljivk.

OPC odjemalec za programski paket Matlab/Simulink je knjižnica OPC ToolBox, ki jo lahko zasledimo pri novejših verzijah Matlaba. Z njo smo omogočili povezavo Matlaba z OPC vodilom. Z uporabo OPC ToolBoxovih funkcij ustvarimo OPC Data Access odjemalca (opcda), ki predstavlja povezavo med Matlabom in OPC strežnikom. Na sliki 7.4 je prikazano grafično okolje OPC Toolboxa.

Slika 7.4: Grafično okolje OPC Toolbox

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 40

Osnovna naloga knjižnice OPC Toolbox je izmenjava podatkov med Matlabom in OPC strežniki. Sami si ustvarimo in prilagodimo način branja in pisanja iz/v OPC strežnik. S pomočjo knjižnice OPC Toolbox lahko dostopamo do OPC vodila iz programskega okolja Matlab/Simulink na štiri različne načine:

• z uporabo Matlabovega ukaznega okna,

• z uporabo Simulinkovih blokov,

• z uporabo grafičnega vmesnika,

• z uporabo Matlabovih funkcij (M-file, S-function). Po povezavi z OPC strežnikom ustvarimo Data Access Group (dagroup), ki predstavlja zbirko Data Access Items (daitem), v kateri se nahajajo naslovi predmetov oziroma spremenljivk, katere lahko nadzorujemo ali spreminjamo (beremo/pišemo). Z uporabo lastnosti OPC DA odjemalca lahko preverimo stanje povezave, beležimo dogodke za kasnejšo analizo ali pa prenašamo podatke oziroma signale v kako drugo programsko okolje, kjer te podatke naknadno obdelamo ali izrišemo.

7.3.1 Povezava s pomočjo Matlabovega ukaznega okna

Matlabovo ukazno okno je namenjeno interaktivnemu delu. Za vzpostavitev povezave potrebujemo naslednje štiri ukaze:

• povezava=opcda('ime računalnika','ime OPC strežnika'); S tem ukazom

povemo, da dostopamo do podatkov na izbranem OPC strežniku, ki se nahaja na določenem računalniku. Računalnik se običajno poimenuje ''localhost'' če se strežnik nahaja na našem računalniku ali pa zapišemo njegovo IP številko, če je strežnik na drugem računalniku.

• connect (povezava); Ta ukaz vzpostavi povezavo med Matlabom in definiranim OPC strežnikom.

• ime skupine=addgroup (povezava); S tem ukazom definiramo ime skupine v kateri se bodo nahajali predmeti oziroma spremenljivke procesa.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 41

• predmet=additem(ime_skupine,'kanal.naprava.predmet','tipspremenljiv ke'); Ta ukaz uporabljamo za definiranje predmetov oziroma spremenljivk procesa. Pri definiranju predmetov moramo zapisati naslov natanko tako kot si sledi vrstni red v OPC strežniku ( kanal, naprava, predmet). Tip spremenljivke izberemo glede na vrsto formata ( integer, double, word, …). Vrsta spremenljivke je odvisna od tipa podatkov, ki jih prenašamo iz OPC strežnika v programski paket Matlab. Če prenašamo digitalne signale je to tip integer, če pa prenašamo analogne signale pa je to podatkovni tip double.

Vse štiri ukaze lahko zapišemo v obliki Matlabove datoteke M-file in na ta način pospešimo njihovo izvajanje.

7.3.2 Povezava s pomočjo Simulinkovih blokov

V Simulinku imamo na razpolago bloke za vzpostavitev OPC povezave. Knjižnica vsebuje štiri bloke:

• blok za konfiguracijo OPC odjemalca (OPC Configuration), • blok za branje podatkov iz OPC vodila (OPC Read), • blok za pisanje podatkov na OPC vodilo (OPC Write), • blok za kontrolo kvalitete prenosa podatkov (OPC Quality Parts),.

Uporaba teh blokov predstavlja najenostavnejši način povezave programskega okolja Matlab/Simulink z OPC vodilom. Lahko zelo hitro definiramo predmete oziroma spremenljivke procesa. Blok za konfiguracijo OPC odjemalca pa vsebuje funkcijo, ki omogoča časovno realni izračun simulacije. Na sliki 7.5 so prikazani Simulinkovi bloki za vzpostavitev OPC povezave.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 42

Slika 7.5: Bloki za vzpostavitev OPC povezave

7.3.3 Povezava s pomočjo grafičnega vmesnika za OPC Toolbox

Grafični vmesnik za OPC Toolbox je novost pri programskem paketu Matlab in je na razpolago samo v novejših verzijah knjižnice OPC Toolbox. Vmesnik omogoča hitro in enostavno konfiguracijo povezave med OPC vodilom in programskim okoljem Matlab/Simulink. Z uporabo tega vmesnika se izognemo pisanju ukazov v ukaznem oknu. Na enostaven način lahko izbiramo katere spremenljivke želimo nadzorovati. Pomembna lastnost vmesnika je ta, da lahko spremljamo trenutne vrednosti izbranih spremenljivk. Omogoča tudi snemanje in izris časovnega poteka posameznih spremenljivk. Slika 7.6 prikazuje delovno okolje grafičnega vmesnika za OPC Toolbox.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 43

Slika 7.6: Grafični vmesnik za OPC Toolbox

Na levi strani okna vidimo vse OPC strežnike, ki so nameščeni na osebnem računalniku. V levi polovici desnega okna se nahaja Matlabov OPC odjemalec, ki je povezan na želeni OPC strežnik. Tukaj lahko vidimo do katerih spremenljivk procesa dostopamo, na katerem kanalu so te spremenljivke in iz katere naprave beremo te spremenljivke. Na desni polovici desnega okna so prikazane lastnosti posamezne spremenljivke. Tukaj lahko v določenem časovnem trenutku preberemo trenutno vrednost spremenljivk ali pa vpišemo neko novo vrednost spremenljivke na OPC vodilo.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 44

7.4.3 Povezava z uporabo S-funkcije

S-funkcija je uporabniško definiran blok. Blok je lahko napisan v različnih programskih jezikih kot so C, M (nivo-1) ali Fortran in mora ustrezati standardom S-funkcije. V našem primeru smo uporabili M-file S-function, ki uporablja programski jezik M (nivo-1). M-file S-funkcija uporablja posebno sintakso, ki omogoča sodelovanje s Simulinkovim reševalcem enačb (Equation Solver), podobno kot pri privzetih Simulinkovih blokih. Z uporabo S-funkcije lahko poljubno opisujemo zvezne, diskretne ali hibridne sisteme. Argumenti S-funkcije so:

• trenutni čas t,

• vektor stanj x, • vhodni vektor u,

• flag (zastavica), celoštevilčna vrednost, ki pokaže katera izmed nalog naj se izvede. Zastavice so oštevilčene s števili:

Zastavice Izvedba naloge Opis

0 mdlInitialize Inicializacija; definira osnovne karakteristike kot so,čas vzorčenja, začetne vrednosti, povezava s strežnikom,št. vhodov, št. izhodov, določitev stanj…

1 mdlDerivates Preračunavanje odvodov zveznih spremenljivk stanja

2 mdlUpdate Posodablja diskretna stanja, čase vzorčenja 3 mdlOutputs Izračun izhodov S-funkcije 4 mdlGetTimeOfNextVarHit Preračuna naslednji časovni korak. To se

uporablja pri diskretnih sistemih 9 mdlTerminate Izvede potrebne naloge za končanje simulacije

Slika 7.7: Oštevilčenje in vloga zastavic

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 45

Izhodi S-funkcije so: • splošen izhodni argument sys. Vrnjene vrednosti so odvisne od zastavice. Če je

število zastavice 3, vsebuje sys izhode iz funkcije, ki so odvisni od namena uporabnika.

• začetna vrednost spremenljivke stanja x0, • čas vzorčenja ts.

V našem primeru smo s pomočjo S-funkcije vzpostavili povezavo med Matlabovim OPC Toolboxom in Simulinkom. Najpomembnejši nalogi funkcije sta bili vzpostavitev povezave z OPC Toolboxom pri inicializaciji (flag=0) in branje ter pisanje podatkov (flag=3). V nadaljevanju je podan primer S-funkcije za branje vrednosti iz OPC strežnika.

function [sys,x0]=modelp(t,x,u,flag)

global povezava

if flag == 0

sizes=simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs = 0; sizes.NumInputs = 1; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1;

povezava=opcda('localhost','Kepware.kepserverex.v4'); connect(povezava) skupina=addgroup(povezava,'skupina'); izhod=additem(skupina,'Kanal.Naprava.Izhod','double');

sys = [0 0 0 1 1 1]; x0 = [];

elseif flag == 3

write(Izhod,u);

sys = [];

elseif flag == 9

disconnect(da) clear Izhod sys = []; x0 = [];

end

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 46

7.5 Meritev hitrosti prenosa podatkov s pomočjo OPC tehnologije

Pomemben podatek o uporabnosti OPC tehnologije je podatek o hitrosti prenosa signalov. V tem poglavju pa je podrobno opisan postopek vzpostavitve celotne povezave in način merjenja hitrosti prenosa, oziroma merjenje zakasnitve prenosa signalov. Povezava med procesnim krmilnikom in osebnim računalnikom s programsko opremo Matlab/Simulink je bila izvedena v več korakih. Vsak ta korak nam vnaša določeno zakasnitev pri prenosu signalov. Celotna zakasnitev signala je sestavljena iz:

• zakasnitve signala zaradi branja analognega signala na vhodu AD vmesnika procesnega krmilnika in pretvorbe tega signala v digitalno obliko,

• zakasnitve signala, ki je posledica prenosa digitalne informacije med procesnim krmilnikom in OPC vodilom,

• zakasnitve signala zaradi izmenjave podatkov med OPC vodilom in programsko opremo Matlab/Simulink,

• zakasnitve zaradi časa trajanja numeričnih izračunov na osebnem računalniku,

• zakasnitve signala zaradi izmenjave podatkov med programsko opremo Matlab/Simulink in OPC vodilom,

• zakasnitve signala, ki je posledica prenosa digitalne informacije med OPC vodilom in procesnim krmilnikom,

• zakasnitve signala zaradi pretvorbe digitalne informacije v analogni signal in njegovega pošiljanja na izhod DA vmesnika procesnega krmilnika.

Slika 7.8 prikazuje shematsko povezavo procesnega krmilnika in osebnega računalnika ter način merjenja zakasnitve signala.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 47

Slika 7.8: Shematski prikaz merjenja hitrosti prenosa podatkov

Iz funkcijskega generatorja smo poslali signal na analogni vhod AD vmesnika procesnega krmilnika. Procesni krmilnik je signal spremenil v digitalno informacijo in jo shranil na izbrano pomnilniško lokacijo. OPC strežnik je prebral digitalno informacijo iz pomnilniške lokacije in jo posredoval na OPC vodilo. OPC odjemalec je informacijo iz OPC vodila prenesel v programsko okolje Matlab/Simulink v katerem smo izvajali numerične izračune. Na enak način smo s pomočjo OPC tehnologije pošiljali digitalno informacijo iz osebnega računalnika na analogni izhod DA vmesnika procesnega krmilnika. Originalni signal iz funkcijskega generatorja smo potem primerjali z signalom na izhodu DA pretvornika procesnega krmilnika. Na ta način smo izmerili celotno zakasnitev signala. Ocena posameznih komponent zakasnitev na ta način ni možna.

Za prenos signalov med procesnim krmilnikom in OPC vodilom smo najprej morali v procesnem krmilniku narediti program za branje in pisanje podatkov na njegovih vhodih in izhodih. Programska koda za branje in pisanje signalov je zgrajena v programskem jeziku STEP7 in je podana v nadaljevanju:

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 48

// Izmenjava podatkov // Pisanje L PIW 128 - preberemo vrednost signala na analognem vhodu ITD - pretvorimo 16-bitno številko v 32-bitno številko DTR - pretvorimo 32-bitno številko v realno število T MD 10 - shranimo realno število na izbrano pomnilniško lokacijo // Branje L MD 20 - preberemo podatek iz izbrane pomnilniške lokacije RND - pretvorimo realno število v 32-bitno številko T PQW 128 -pošljemo informacijo na analogni izhod // Konec

V programskem orodju Simulink preberemo informacijo iz OPC vodila s pomočjo bloka OPC Read. Prebrano informacijo zatem pošljemo s pomočjo bloka OPC Write na OPC vodilo. Shematska povezava blokov za branje in pisanje signalov v programskem okolju Matlab/Simulink je prikazana na sliki 7.9.

Scope

OPC Write

OPC Write (Sync): Kanal .Naprava .Izhod

OPC Read

OPC Read (Cache ): Kanal .Naprava .Vhod V

OPC Configuration

OPC Config Real -Time

Slika 7.9: Shematski prikaz OPC povezave v programskem paketu Matlab/Simulink

7.5.1 Prikaz rezultatov

Slike od 7.10 do 7.15 prikazujejo rezultate meritev hitrosti prenosa podatkov, oziroma zakasnitev med vhodnim in izhodnim signalom. Rezultati so dobljeni z uporabo treh različnih OPC strežnikov (KEPServerEx, MatrikonOPC Server in Softing S7/S5 OPC server) in z uporabo dveh različnih vodil (RS 232 in Ethernet vmesnik).

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 49

Slika 7.10: Zakasnitev signala z uporabo OPC strežnika KEPServerEx preko RS 232 vodila (∆t = 700 ms)

Slika 7.11: Zakasnitev signala z uporabo OPC strežnika KEPServerEx preko Ethernet vodila (∆t = 200 ms)

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 50

Slika 7.12: Zakasnitev signala z uporabo OPC strežnika Matrikon preko RS 232 vodila (∆t = 420 ms)

Slika 7.13: Zakasnitev signala z uporabo OPC strežnika Matrikon preko Ethernet vodila (∆t = 150 ms)

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 51

Slika 7.14: Zakasnitev signala z uporabo OPC strežnika Softing S7/S5 preko RS 232 vodila (∆t = 600 ms)

Slika 7.15: Zakasnitev signala z uporabo OPC strežnika Softing S7/S5 preko Ethernet vodila (∆t = 170 ms)

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 52

7.5.2 Primerjava lastnosti OPC strežnikov

Iz dobljenih rezultatov je vidno, da različni OPC strežniki razpolagajo z različnimi hitrostmi prenosa podatkov. Najhitrejši izmed teh treh OPC strežnikov je Matrikon s katerim dobimo najboljše rezultate. Pri vseh OPC strežnikih je opazno, da je Ethernet vmesnik precej hitrejši kot pa navaden RS 232 vmesnik. Na sliki 7.16 je prikazana primerjava zakasnitev signala posameznega OPC strežnika.

Slika 7.16: Primerjava rezultatov meritev zakasnitev signalov različnih OPC strežnikov z uporabo različnih vodilih

Pomemben dejavnik pri izbiri OPC strežnika je tudi cena, ki predstavlja poglaviten strošek OPC povezave. Na sliki 7.16 so podane cene polnih podjetniških licenc OPC strežnikov, katere smo uporabljali.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 53

Slika 7.17: Primerjava cen različnih OPC strežnikov

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 54

8 PRIMER IZDELAVE SIMULATORJA HIDRAVLIČNEGA SISTEMA Z UPORABO OPC TEHNOLOGIJE ZA PRENOS SIGNALOV

Iz rezultatov v poglavju 7 je razvidno, da je prenos signalov s pomočjo OPC tehnologije počasen. Zato smo uporabo OPC tehnologije prikazali na izdelavi simulatorja dinamično manj zahtevnega sistema. Kot primer smo vzeli enostaven hidravličen proces. Grafično ponazoritev smo realizirali s pomočjo Simulinkove knjižnice Gauges Blockset.

8.1 Knjižnica Gauges Blockset

S knjižnico Gauges Blockset lahko grafično ponazorimo enostavne elemente kot so inštrumenti, prikazovalniki, stikala, termometri, tanki in podobno. V tej knjižnici se nahajajo bloki za realističen prikaz specifičnih procesov v Simulinkovem delovnem okolju. Tipične aplikacije katere lahko realiziramo s pomočjo teh blokov so:

• avtomobilske armaturne plošče,

• letalske nadzorne plošče,

• nadzorne in procesne plošče,

• komunikacijske in elektroenergetske sisteme, • medicinske sisteme.

V našem primeru smo uporabili bloke iz knjižnice Gauges Blockset za grafično ponazoritev praznjenja in polnjenja tanka. Slika 8.1 prikazuje vsebino knjižnice Gauges Blockset.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 55

Slika 8.1: Knjižnica Gauges Blockset

8.2 Izdelava simulatorja hidravličnega procesa

Hidravlični sistem smo grafično ponazorili in krmilili s pomočjo procesnega krmilnika v katerem smo realizirali dvopoložajni regulator. Hidravlični sistem je sestavljen iz tanka, črpalke, ventila ter senzorjev za višino vode. Slika 8.2 predstavlja grafično ponazoritev hidravličnega sistema. Procesni krmilnik ima nalogo vzdrževanja pravilnega nivoja vode v primeru nastopa motnje. Ko je spodnji senzor višine vode izklopljen, vklopimo črpalko in začnemo polniti tank. Polnimo ga tako dolgo dokler se senzor zgornje višine vode ne vključi. Če uporabnik odpre ventil, voda začne iztekat iz tanka, ki se začne praznit. Ko se spodnji senzor višine vode izklopi, procesni krmilnik zazna pomanjkanje vode v tanku in vklopi črpalko ter začne polniti tank. Na sliki 8.2 je prikazana zgradba simulatorja hidravličnega procesa.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 56

Slika 8.2: Grafična predstavitev hidravličnega sistema

Slika 8.3: Zgradba hidravličnega sistema

8.2.1 Prenos signalov hidravličnega sistema

Za prenos signalov med procesnim krmilnikom in programsko opremo Matlab/Simulink v okviru katere smo realizirali simulator, smo uporabili OPC tehnologijo. Prenašali smo samo binarne signale s pomočjo katerih je procesni krmilnik reguliral nivo vode v tanku. Za prenos signalov smo uporabili štiri bloke iz Matlabove knjižnice OPC toolbox za branje in pisanje binarnih signalov. Dva bloka za vpisovanje signalov na procesni krmilnik sta bila uporabljena za signalizacijo stanja nivoja vode. Ostala dva bloka pa smo uporabili za branje stanja črpalke in ventila. Ti bloki so ponazorjeni na sliki 8.4.

Matlab Simulink

Računalnik Nivo vode zgoraj

Nivo vode spodaj

Vklop črpalke

Krmilnik Odpiranje ventila Operater

Simulator hidravličnega sistema

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 57

OPC Write

OPC Write (Sync): Senzor Gor

OPC Read

OPC Read (Cache ): CrpalkaV

OPC Write

OPC Write (Sync): Senzor Dol

OPC Read

OPC Read (Cache ): VentilV

OPC Configuration

OPC Config Real -Time

Slika 8.4: Bloki za prenos podatkov hidravličnega sistema

8.2.2 Vnos zgradbe in parametrov hidravličnega sistema

Kompletna zgradba hidravličnega sistema je bila narejena s pomočjo knjižnice Gauges Blockset v programskem orodju Simulink. Na sliki 8.5 je prikazan izdelan model hidravličnega sistema.

Slika 8.5: Model hidravličnega sistema

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 58

8.2.3 Numerični izračun hidravličnega sistema

Numerične izračune hidravličnega sistema smo izvajali v programskem okolju Matlab/Simulink. V njem smo reševali sistem (diferencialno enačbo) zgrajenega simulacijskega modela. Na sliki 8.6 je prikazana zgradba matematičnega modela hidravličnega sistema.

Slika 8.6: Matematični model hidravličnega sistema

8.2.4 Grafična ponazoritev hidravličnega sistema

Na sliki 8.7 je prikazana grafična ponazoritev simulatorja hidravličnega sistema s pomočjo programske opreme Matlab/Simulink.

Slika 8.7: Grafična ponazoritev hidravličnega sistema

1 Ti

+

_

Dotok

Odtok

Tank

Integrator

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 59

9 SKLEP

V okviru diplomskega dela smo naredili simulator za hitro testiranje uporabniških programov procesnih krmilnikov. Delo je bilo razdeljeno v dva dela.

V prvem delu smo za prenos signalov med procesnim krmilnikom in osebnim računalnikom s programsko opremo Matlab/Simulink uporabili AD/DA vmesnik. Uporabili smo AD/DA vmesnik National Instruments USB-6008. Za izbran AD/DA vmesnik smo izmerili hitrost prenosa signalov oziroma zakasnitev izhodnega signala proti vhodnemu. Celotna zakasnitev signala je znašala približno 6ms. V naslednjem koraku smo izdelali univerzalni grafični uporabniški vmesnik za hiter, enostaven in pregleden vnos zgradbe in parametrov matematičnih modelov dinamičnih sistemov. Vmesnik je namenjen hitremu testiranju uporabniških programov procesnih krmilnikov. Poglavitni problem s katerim smo se soočali pri izdelavi simulatorja je bil zagotavljanje izvajanja numeričnih izračunov simuliranih procesov v realnem času. Ta problem smo odpravili z uporabo dodatnega bloka v Simulinku, ki zagotavlja časovno realno izvajanje izračunov.

V drugem delu smo za prenos signalov med procesnim krmilnikom in osebnim računalnikom s programsko opremo Matlab/Simulink uporabili OPC tehnologijo. Uporabili smo tri različne proizvajalce OPC strežnikov in določili njihove najpomembnejše lastnosti. Medsebojno smo primerjali hitrosti prenosa podatkov in cene uporabljenih OPC strežnikov. Iz dobljenih rezultatov lahko sklepamo, da OPC tehnologija pri prenosu podatkov vnaša precejšno zakasnitev signala (najmanjša zakasnitev signala je znašla 150ms), medtem ko je cena OPC strežnikov za faktor 5 višja od cene uporabljenega AD/DA vmesnika. Zato smo uporabo OPC tehnologije prikazali na izdelavi simulatorja dinamično manj zahtevnega sistema.

Iz celotne analize narejene v tem diplomskem delu lahko sklepamo, da je pri dinamično zahtevnejših sistemih nujna uporaba AD/DA vmesnika. OPC tehnologija je zelo obetavna in bo z vsakdanjim razvojem računalniške i programske opreme vse bolj uporabna. Zaenkrat pa je uporaba OPC tehnologije za prenos podatkov smiselna le pri dinamično manj zahtevnih sistemih.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 60

VIRI, LITERATURA

[1] D. Dolinar: Dinamika linearnih sistemov in regulacije, 1. izd., Založniška dejavnost FERI, Maribor, 1997.

[2] J. Ritonja: Regulacijska tehnika: Zbirka vaj, 1. izd., FERI, Maribor 2004. [3] J. Ritonja: Industrijska krmilja, 1. izd., FERI, Maribor 1999. [4] B. Grčar, J. Ritonja: Računalniško vodenje procesov, 1. izd., FERI, Maribor 1997. [5] Brian R. Hunt, Ronald L. Lipsman, Jonathan M. Rosenberg: A Guide to MATLAB,

1. izd., Cambridge University Press, United Kingdom, 2001. [6] M. Kosec: Povezava procesnih krmilnikov Siemens s programskim okoljem Matlab,

Diplomsko delo, Maribor 2004. [7] www.mathworks.com [8] www.kepware.com [9] www.matrikonopc.com [10] www.softing.com

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 61

PRILOGE

A Regulacijski algoritem diskretnega PI regulatorja

//Program za branje vhoda L MD 30 L MD 30 //Branje reference T MD 34

L PIW 128 L MD 40 ITD T MD 44

DTR

L 2.764000e+003 //Računanje odstopanja e /R L MD 10 T MD 10 L MD 20

-R

//Prilagoditev signala T MD 40 L MD 10 L 4.000e+000 //Računanje faktorjev *R L 1.453000e+000 T MD 10 L MD 40

L MD 10 *R L 10.000e+000 T MD 50 -R L 1.424000e+000 T MD 10 L MD 44

*R

//Branje izhoda sistema T MD 54 L PIW 130 ITD //Računanje novega vhoda u DTR L MD34 L 2.764000e+003 L MD 50

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 62

/R +R T MD 20 L MD 54 L MD 20 +R L 4 T MD 30

*R

T MD 20 //Program za pisanje izhoda u L MD 20 L MD 30 L 10 L 2.764000e+003 -R *R

T MD 20 RND

T PQW 128 //Program za regulacijo A Q 124.0 JZ ZERO

L 0.000000e+000 T MD 34

L 0.000000e+000 T MD 44

ZERO: L MD 30

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 63

B Namestitev in konfiguracija OPC strežnika KEPServerEx V4.2

Najprej namestimo program na osebni računalnik. Po namestitvi začnemo z izdelavo nove aplikacije na OPC strežniku. Na sliki B.1 je prikazan primer programa KEPServerEx ob zagonu.

Slika B.1: Primer programa KEPServerEx

Prvi korak konfiguracije povezave je izbira imena kanala po katerem bo OPC strežnik komuniciral z želeno napravo. Ta postopek je prikazan na sliki B.2.

Slika B.2: Določitev imena kanala

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 64

B.1 Povezava s pomočjo RS 232 vmesnika

Ko smo enkrat določili ime kanala moramo določiti še napravo s katero želimo komunicirati. Če želimo do krmilnika dostopati preko RS 232 vmesnika moramo to narediti na način kot je prikazan na slikah B.3 in B.4:

Slika B.3: Izbira naprave

Po izbiri naprave moramo določiti COM kanala s pomočjo katerega želimo dostopati do izbrane naprave in hitrost prenosa podatkov (Baud Rate).

Slika B.4: Konfiguracija kanala in hitrosti prenosa podatkov

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 65

V naslednjem koraku sledi konfiguracija optimizacije, oziroma določitev razmerja med branjem in vpisovanjem trenutnih vrednosti spremenljivk na OPC vodilo. Konfiguracija optimizacije je prikazana na sliki B.5.

Slika B.5: Konfiguracija optimizacije

Na koncu preverimo še lastnosti konfigurirane povezave, kar je prikazano na sliki B.6.

Slika B.6: Lastnosti konfigurirane povezave

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 66

B.2 Povezava s pomočjo Ethernet vmesnika

Če želimo do krmilnika dostopati preko Ethernet vmesnika moramo to narediti na način, prikazan na slikah B.7 in B.8:

Slika B.7: Izbira naprave

Računalnik je lahko povezan na omrežje preko različnih Ethernet vmesnikov. Zato moramo definirati vmesnik preko katerega OPC strežnik komunicira z izbrano napravo.

Slika B.7: Izbira Ethernet vmesnika

Na koncu preverimo še lastnosti konfigurirane povezave, kar je prikazano na sliki B.8.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 67

Slika B.8: Lastnosti konfigurirane povezave

B.3 Konfiguracija naprave

Konfiguracijo naprave začnemo z izbiro ikone New Device. Izbira in vnos imena naprave sta prikazana na sliki B.9.

Slika B.8: Določitev imena naprave

V naslednjem koraku moramo izbrati tip naprave s katero bomo komunicirali. Izbira tipa naprave je razvidna iz slike B.10.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 68

Slika B.10: Izbira tipa naprave

Časovni parametri komunikacije pa se določijo v oknu, prikazanem na sliki B.11.

Slika B.11: Časovni parametri komunukacije

V zadnjem koraku preverimo še pravilnost konfiguranih parametrov naprave. Lastnosti parametrov naprave prikazuje slika B.12.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 69

Slika B.12: Lastnosti konfigurirane povezave

Po konfiguraciji kanala in naprave dobimo primer programa, ki je prikazan na sliki B.13.

Slika B.12: Primer programa po konfiguraciji kanala in naprave

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 70

B.4 Konfiguracija spremenljivk procesa

Začnemo z izbiro ikone New Tag. Pojavi se nam okno v katerem moramo določiti ime in lokacijo spremenljivke. Vnesena lokacija spremenljivke v programu se mora ujemati s spremenljivko, ki je vpisana v procesni krmilnik. Konifiguracija sprmenljivke je prikazana na sliki B.14.

Slika B.14: Primer konfiguracije spremenljivk procesa

Po končani konfiguraciji OPC strežnika lahko z OPC odjemalcem preverimo ali povezava deluje pravilno. Primer končane konfiguracije KEPwareovega OPC strežnik je podan na sliki B.15.

Slika B.15: Primer programa po konfiguraciji spremenljivk procesa

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 71

C Namestitev in konfiguracija OPC strežnika MatrikonOPC Server

Po namestitvi programa na osebni računalnik zaženemo program in začnemo z njegovo konfiguracijo. Sam primer programa je prikazan na sliki C.1.

Slika C.1: Primer programa MatrikonOPC Server

V prvem koraku konfiguracije moramo definirati kanal, po katerem bomo komunicirali z določeno napravo (Acess Path). Slika C.2 prikazuje konfiguracijo kanala.

Slika C.2: Primer okna za definiranje kanala

Matrikon OPC strežnik je namenjen samo napravam proizvajalca Siemens serije Simatic S5/S7. Komunikacija pa lahko poteka s pomočjo RS 232 ali Ethernet vmesnika.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 72

C.1 Povezava s pomočjo RS 232 vmesnika

Samo konfiguracijo povezave s pomočjo RS 232 vmesnika začnemo z izbiro nove povezave (New Connection). V prvem koraku izberemo ime povezave, kar je prikazano na sliki C.3.

Slika C.3: Izbira imena povezave

Slika C.4 prikazuje vnos parametrov povezave.

Slika C.4: Konfiguracija parametrov povezave

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 73

S tem je konfiguracija povezave končana, rezultat pa je prikazan na sliki C.5. Pravilnost konfiguracije lahko preverimo z OPC odjemalcem MatrikonOPC Explorer.

Slika C.5: Primer konfigurirane povezave

C.2 Povezava s pomočjo Ethernet vodila

S klikom na povezavo New Conection začnemo s konfiguracijo same naprave. Na začetku moramo definirati ime in tip povezave ter tip protokola. To naredimo na način, prikazan na sliki C.6.

Slika C.6: Določitev imena in vrste povezave

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 74

Potem se nam odpre okno v katerem moramo definirati parametre TCP/IP povezave. Tukaj izberemo IP številko naprave s katero želimo komunicirati, kot tudi vrsto protokola in optimizacijo branja. Definiranje parametrov TCP/IP povezave je prikazana na sliki C.7.

Slika C.7: Definiranje parametrov TCP/IP povezave

V področju Conection Settings z nastavitvijo ISO parametrov določamo do katere naprave želimo dostopati. Definiranje ISO parametrov prikazuje slika C.8.

Slika C.8: Definiranje ISO parametrov

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 75

S tem je konfiguracija Ethernet vodila končana. Na sliki C.8 je prikazano okno programa MatrikonOPC Server po končani konfiguaciji.

Slika C.8: Primer programa po konfiguraciji povezave

C.3 Optimizacija OPC strežnika

Z optimizacijo strežnika dosežemo večjo hitrost prenosa podatkov. Optimiziranje se predvsem nanaša na določanje razmerja med vpisovanjem in branjem podatkov na napravo. Nastavitev optimizacije je prikazana na sliki C.9.

Slika C.9: Nastavitev optimizacije

Ker je pri OPC strežnikih vpisovanje podatkov težavno in cikel vpisovanja traja dlje kot pa cikel branja lahko strežnik nastavimo tako, da izvaja branje med samim vpisovanjem podatkov. Optimizacija pisanja na OPC strežnik je prikazana na sliki C.10.

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 76

Slika C.10: Optimizacija pisanja na OPC strežnik

C.4 Konfiguracija spremenljivk procesa

Zelo velika prednost Matrikon OPC strežnika je direktno branje tabele simbolov iz programskega paketa Step S7. Z tem prihranimo veliko časa pri konfiguraciji spremenljivk procesa. Primer konfiguracije spremenljivk procesa je prikazan na sliki C.11.

Slika C.11: Primer konfiguracije spremenljivk procesa

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 77

Simbole vnesemo tako da izberemo direktorij določenega STEP7 projekta in kliknemo na gumb Import Symbol. Na ta način se nam avtomatsko konfigurirajo spremenljivke procesa. Slika C.12 prikazuje prenos spremenljivk procesa iz STEP7 projekta v OPC strežnik.

Slika C.12: Prikaz prenosa spremenljivk

Na koncu lahko preverimo še to, katere spremenljivke proces vsebuje STEP7 projekt in kakega podatkovnega tipa so te spremenljivke. Primer prenesenih konfiguriranih spremenljivk je prikazan na sliki C.13.

Slika C.13: Primer konfiguriranih spremenljivk

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 78

D Namestitev in konfiguracija OPC strežnika Softing S7/S5 OPC Server

Na samem začetku namestimo program na računalnik. Primer programa Softing S7/S5 OPC Server je prikazan na sliki D.1.

Slika D.1: Primer programa Softing S7/S5 OPC Server

Konfiguracijo začnemo z zaustavitvijo delujočega strežnika in z zaganjanjem OPC konfiguratora. Ta OPC strežnik vsebuje možnost samostojnega iskanja priključenih naprav, kar nam prihrani veliko časa, potrebnega za konfiguracijo kanala. Samostojno konfiguracijo izvedemo z izbiro ikone Scan. Slika D.2 prikazuje primer OPC konfiguratorja.

Slika D.2: Primer OPC konfiguratorja

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 79

D.1 Povezava s pomočjo RS 232 vmesnika

Konfiguracijo povezave s pomočjo RS 232 vmesnika začnemo z izbiro razpredelnice Chanel. V njej lahko vnaprej konfiguriramo 16 kanalov preko katerih pozneje komuniciramo z izbranimi napravami. Slika D.3 prikazuje način konfiguracije povezave s pomočjo RS 232 vmesnika.

Slika D.3: Konfiguracija povezave s pomočjo RS 232 vmesnika

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 80

D.2 Povezava s pomočjo Ethernet vmesnika

Če želimo komunicirati preko TCP/IP protokola se nam odpre okno v katerega moramo vpisati IP številko procesnega krmilnika oziroma IP številko naprave, ki omogoča Ethernet

povezavo. Slika D.4 prikazuje način konfiguracije povezave s pomočjo Ethernet vmesnika.

Slika D.4: Konfiguracija povezave s pomočjo Ethernet vmesnika

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 81

E Naslov študenta

Marko Jalšovec

Vučetinec 106a 40311 Lopatinec Hrvaška

Tel: 031 522 018 e-mail: markojalsovec@yahoo.com

F Kratek življenjepis

Rojen: 18.03.1985 v Čakovcu Šolanje: 1991-1999 Osnovna šola I.G Kovačić Lopatinec 1999-2003 Tehnička industrijska i obrtnička škola Čakovec 2003 Vpis na FERI

Izdelava računalniškega simulatorja za testiranje procesnih krmilnikov 82

UNIVERZA V MARIBORU

FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO (ime fakultete)

IZJAVA O ISTOVETNOSTI TISKANE IN ELEKTRONSKE VERZIJE ZAKLJUČNEGA DELA IN

OBJAVI OSEBNIH PODATKOV AVTORJA

Ime in priimek avtorja (avtorice): Marko JALŠOVEC Vpisna številka: 93550476 Študijski program: univerzitetni, Elektrotehnika Naslov zaključnega dela: Izdelava računalniškega simulatorja za testiranje

procesnih krmilnikov Mentor: doc. dr. Jožef RITONJA Somentor: red. prof. dr. Drago DOLINAR

Podpisani-a Marko Jalšovec izjavljam, da sem za potrebe arhiviranja oddal-a elektronsko verzijo zaključnega dela v Digitalno knjižnico Univerze v Mariboru. Zaključno delo sem izdelal-a sam-a ob pomoči mentorja. V skladu s 1. odstavkom 21. člena Zakona o avtorskih in sorodnih pravicah (Ur. l. RS, št. 16/2007) dovoljujem, da se zgoraj navedeno zaključno delo objavi na portalu Digitalne knjižnice Univerze v Mariboru.

Tiskana verzija zaključnega dela je istovetna elektronski verziji, ki sem jo oddal-a za objavo v Digitalno knjižnico Univerze v Mariboru. Podpisani-a izjavljam, da dovoljujem objavo osebnih podatkov, vezanih na zaključek študija (ime, priimek, leto in kraj rojstva, datum zagovora, naslov zaključnega dela) na spletnih straneh in v publikacijah UM.

Kraj in datum: Podpis avtorja (avtorice):