Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
UNIVERZA V MARIBORU
FAKULTETA ZA ELEKTROTEHNIKO,
RAČUNALNIŠTVO IN INFORMATIKO
Andrej Glažar
ANALIZA REGULACIJSKIH ALGORITMOV PRILAGOJENIH ZA PLC
Diplomsko delo
Maribor, januar 2008
II
UNIVERZA V MARIBORU
FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO 2000 Maribor, Smetanova ul. 17
Diplomsko delo univerzitetnega študijskega programa
ANALIZA REGULACIJSKIH ALGORITMOV PRILAGOJENIH ZA PLC
Študent: Andrej GLAŽAR
Študijski program: univerzitetni, elektrotehnika
Smer: avtomatika
Mentor: izr. prof. dr. Boris TOVORNIK
Komentor: doc. dr. Nenad MUŠKINJA
Maribor, januar 2008
III
IV
ZAHVALA
Zahvaljujem se mentorju, prof. dr. Borisu
Tovorniku, in komentorju, doc. dr. Nenadu
Muškinji, ter ostalim zaposlenim v laboratoriju za
procesno avtomatizacijo za strokovno pomoč in
vodenje pri izdelavi diplomskega dela.
Posebna zahvala velja družini, ki mi je ves čas
študija stala ob strani in mi omogočila študij; ter
vsem ostalim, ki so mi kakorkoli pomagali na poti
študija.
V
ANALIZA REGULACIJSKIH ALGORITMOV PRILAGOJENIH ZA PLC
Ključne besede: regulacijski algoritem, PLC, Siemens, STEP7, MATLAB, simulacija, UDK: 681.51(043.2) Povzetek V diplomskem delu je predstavljena analiza regulacijskih algoritmov, prilagojenih za PLC.
Oprema je sestavljena iz Siemens-ovega krmilnika Simatic S400 in njemu pripadajoče
programske opreme na enem računalniku ter MATLAB simulacijsko okolje na drugem
računalniku, ki sta med seboj povezana z A/D-D/A kartico. Na prvem računalniku s
pomočjo SIMATIC manager-ja načrtamo program, ki ga naložimo na krmilnik. Na
drugem računalniku pa teče simulacija problema, s tem lahko testiramo različne
regulacijske algoritme na različnih problemih. S tem tudi ugotovimo optimalen
regulacijski algoritem za določen problem in odpravimo morebitne težave, ki nastopijo pri
uvajanju algoritma v industriji.
VI
ANALYSIS OF CONTROL ALGORITHMS USED IN PLCs
Keywords: Control algorithm, PLC, Siemens, STEP7, MATLAB, Simulation.
UDK: 681.51(043.2) Abstract In the diploma paper analysis of control algorithms suitable for PLCs is presented. The
equipment exists of Siemens controller Simatic S7-400 series and Siemens software, which
is installed on the first PC and Matlab simulation software running on the second PC. Both
PCs are connected together by the AD/DA card. In Simatic Manager software a PLC
program is designed and transferred into the PLC where is executed. On the other PC in
Matlab a real-time simulation of the studied process is performed. This method enables the
analysis and testing of various control algorithms to study problems in control theory.
Synthesis and analysis of optimal control algorithm designed for studied process can be
performed, with possibility to minimize issues when transferring control algorithms to
industrial practice.
VII
KAZALO
1 UVOD ............................................................................................................... …..1
2 SIEMENS KRMILNIKI ............................................................................................ 3 2.1 KRMILNIK SIMATIC S7-400 ..................................................................................3
2.1.1 Opis signalnih modulov......................................................................................5
Analogna vhodna enota – AI ..............................................................................................5
Merjenje napetosti s krmilnikom S7 – 400.........................................................................5
Merjenje toka s krmilnikom S7 – 400 ................................................................................6
Merjenje upornosti s krmilnikom S7 – 400........................................................................6
Analogna izhodna enota – AO ...........................................................................................7
Digitalana vhodna enota – DI.............................................................................................9
Digitalna izhodna enota – DO ............................................................................................9
2.1.2 Nastavitev strojne opreme ..................................................................................9
2.1.3 Pisanje programa ..............................................................................................13
2.2 MPI POVEZAVA ....................................................................................................16
3 MATLAB................................................................................................................... 19 3.1 SIMULINK...............................................................................................................21
3.1.1 Kratek opis nekaterih blokov............................................................................23
3.1.2 Pomembni napotki............................................................................................29
3.2 GRAFIČNI VMESNIK (GUI) .................................................................................30
4 A/D-D/A KARTICA ADVANTECH PCL – 818H ................................................ 34 4.1 KLJUČNE ZNAČILNOSTI KARTICE...................................................................34 4.2 SPECIFIKACIJA IZDELKA ...................................................................................36
5 ANALIZA REGULACIJSKIH ALGORITMOV PRILAGOJENIH ZA PLC ............................................................................................................................ 40
5.1 SIMULACIJSKO OKOLJE .....................................................................................41 5.2 TESTIRANJE PID BLOKA V KRMILNIKU.........................................................48
5.2.1 Načrtovanje parametrov PID regulatorja..........................................................59
6 SKLEP ....................................................................................................................... 65
VIRI IN LITERATURA ................................................................................................... 67
VIII
UPORABLJENI SIMBOLI, KRATICE IN TUJKE PLC Programmable Logic Controler
TAG Točka v nadzornem sistemu
OB Object Block
LAD Ladder logic
GUI Graphic User Interface
PID controller proportional–integral–derivative controller
P del Proporcionalni del regulatorja
I del Integracijski del regulatorja
D del Diferencialni del regulatorja
MPI Multi Point Interface
VAT tabela Variable tabel
Cleve Moler Napisal je prvi program Matlaba
Kp Ojačanje regulatorja
Ti Integracijska časovna konstanta
Td Diferencialna časovna konstanta
e(t) vhod regulatorja (regulacijsko odstopanje)
v(t) izhod regulatorja
1
1 UVOD
Regulacijski sistemi, ki vsebujejo PLC (Programmable Logic Controlers) in DCS
(Distributed Control Systems), se pogosto uporabljajo za vodenje realnih procesov, ki jih
srečamo v industriji, avtomatizaciji zgradb in drugod. Veliki industrijski procesi ponavadi
ne omogočajo prekinitev, da bi proces nadgradili ali modernizirali. Praktična in ugodna
rešitev so simulatorji, ti so sposobni simulirati celoten proces z vsemi parametri. Ko je
nadgrajeni regulacijski sistem načrtan, se ga temeljito testira na simulatorju in kasneje
vključi v že obstoječ proces, ne da se ta prekine. Simulator služi tudi za trening
načrtovanja in spoznavanja raznih procesov, ki jih v realnosti s težavo ali pa sploh ne
moremo testirati, z njim lahko tudi enostavno načrtamo optimalno regulacijsko progo za
dano problematiko.
Ključni namen diplomskega dela je testiranje in primerjava regulacijskih algoritmov
prilagojenih za PLC, poznavanje SIEMENS-ovih krmilnikov in ostalih komponent ter
njihove programske pakete za programiranje te strojne opreme. Vse to bo omogočilo lažjo
izbiro pravilnih regulacijskih algoritmov za posamezen proces.
Po uvodu so v drugem poglavju navedeni Siemens-ovi krmilniki, pod drobnogled smo
vzeli Siemens-ov krmilnik Simatic S7-400, kajti tega smo uporabili, da je na njem tekel
PID regulator. Regulator smo načrtali s Siemens-ovim programskim paketom SIMATIC
manager, ki podpira večino Siemens-ovih krmilnikov. Podprogram simatic managerja je
STEP 7, v katerem se generira koda, ta vsebuje dva bloka za PID regulator. Ta bloka se
enostavno potegne v OB in se jima nastavi parametre, kateri so potrebni za regulacijo
procesa. Nato je potrebno še nekatere signale prikrojiti, da jih je možno izpisovati in
program se lahko naloži na krmilnik. Ker je potrebno testirati, ali program in krmilnik
delujeta pravilno, to pa ni mogoče na realnem procesu, smo zaradi tega zgradili
simulacijsko okolje. Najbolj je ustrezalo simulacijsko okolje MATLAB-a, ker ta vsebuje
2
simulacijo v realnem času. To je bil eden ključnih razlogov za izbiro tega programa, kajti
matlab je dokaj enostaven za uporabo. Omogoča tudi izdelavo grafičnega vmesnika za
lažjo vnašanje podatkov v simulacijsko shemo, za izdelavo slednjega je na voljo GUI
(Graphic User Interface), v katerem se nariše vmesnik in nato v m-datoteki napiše
program, da dobijo gumbi in okna funkcije. Kako se kreira grafični vmesnik, nariše
simulacijska shema in delovanje je opisano v tretjem poglavju.
V naslednjem, četrtem poglavju, je opisana povezava med krmilnikom, matlab
simulacijskim okoljem in kako je to realizirano z Advantech-ovo A/D-D/A kartico preko
dveh vhodov in enim izhodom. Ta en izhod je bila omejitev, s katero smo morali
preoblikovati sistem, kajti želeno vrednost smo želeli vnašati v simulacijskem okolju, a je
potem ne bi mogli pošiljati na krmilnik, zaradi samo enega izhoda, ta izhod pa je bil že
zaseden s procesno vrednostjo.
Opis kartice in še naslednja omejitev, ki je nastopila zaradi uporabe le-te, ter rešitev je
prav tako opisana v četrtem poglavju.
V zadnjem poglavju so navedeni vsi rezultati in njihova analiza ter način, kako smo
načrtali parametre za PID regulator, katerega smo testirali. Ob koncu poglavja sledijo
ugotovitve z zaključkom, sklep in viri, ki so mi bili v pomoč pri izdelavi diplomskega
dela.
Za izvedbo PID regulacijeje je veliko krmilnikov, a nam je na voljo bil krmilnik
proizvajalca SIEMENS, in sicer Simatic S7-400, ki je v naslednjem poglavju podrobneje
opisan.
3
2 SIEMENS KRMILNIKI
Siemens premore veliko paleto krmilnikov, in sicer različnih cenovnih razredov in
različnih zmogljivosti. Tukaj so krmilniki skupine simatic S7, ki se delijo na S7-200, S7-
300/S7-300F, in S7-400/S7-400H/S7-400F/FH. Ti so trenutno najbolj v uporabi.
Obstajajo še starejši, serije S5, ki pa niso tako v ospredju in jih nadomeščajo novejši
krmilniki. Dobra lastnost novejših krmilnikov je med drugim ta, da so modularne
izvedbe. Tako si lahko vsak sestavi krmilnik, ki mu ustreza glede na avtomatizacijo
krmilnih in regulacijskih nalog strojev in procesov. Glavni deli, brez katerih ne gre, so
podnožje (rack), napajalni modul (PS), centralna procesna enota (CPU), potem so
Vhodno/Izhodni signalni moduli (SM), ki jih poljubno dodajamo glede na potrebe.
Podrobneje si bomo ogledali krmilnik simatic S7-400, kajti s tem krmilnikom smo delali
projekt diplomskega dela.
2.1 KRMILNIK SIMATIC S7-400
Skupina SIMATIC S7-400 obsega množico komponent za izgradnjo krmilnih sistemov.
Za izgradnjo krmilnega sistema na osnovi krmilnika iz skupine S7-400 potrebujemo
naslednje elemente:
■ podnožje (Rack), ki predstavlja fizično osnovo za povezavo modulov krmilnega
sistema;
■ napajalnik (Power Supply);
■ centralno procesno enoto (CPU);
■ vhodno/ izhodni signalni moduli (SM), preko katerih se prenašajo analogni in digitalni
signali v krmilni sistem in iz krmilnega sistema;
signalne module delimo na:
- digitalne vhodne module (DI),
- digitalne izhodne module (DO),
- analogne vhodne module (AI),
- analogne izhodne module (AO);
■ funkcijski moduli (FM), ki so namenjeni izvajanju časovno kritičnih in spominsko
4
zahtevnih nalog npr. pozicijoniranje, regulacije itd.;
■ komunikacijski procesorji (CP), ki služijo za povezavo krmilnika na industrijsko
omrežje
PROFIBUS-DP; potrebni dodatek pri tem je povezovalni kabel;
■ SIMATIC TOP konektor za ožičenje digitalnih modulov;
■ povezovalni moduli (IM) za povezavo več kot osmih razširitvenih modulov na en
krmilnik; potrebni dodatek pri tem je povezovalni kabel;
■ PROFIBUS kabel s konektorji, ki služi za povezavo vozlišč (krmilnikov, programirnih
naprav in modulov za vnos in prikaz) PROFIBUS omrežji;
■ kabel za povezavo krmilnika s programirno napravo ali s PC računalnikom; pri uporabi
PC računalnika moramo le-tega opremiti z dodatno MPI kartico ali pa uporabimo
povezovalni
kabel z MPI/PC adapterjem;
■ RS 485 repiter, služi za ojačanje (ponovitev) signalov PROFIBUS omrežji in za
povezavo posameznih segmentov v omrežjih;
■ programirna naprava ali PC računalnik z ustrezno strojno opremo, služi za
konfiguriranje,
programiranje in testiranje delovanja krmilnega sistema.
Slika 2.1.1: Krmilnik Simatic S7-400
5
2.1.1 Opis signalnih modulov V našem primeru je imel krmilnik S7-400 dva med sabo ločena analogna modula:
• analogni vhod (AI – Analog Input),
• analogni izhod (AO – Analog Output).
Na voljo imamo 8 analognih vhodov in 8 analognih izhodov.
Poleg analognih modulov je imel krmilnik še dva digitalna modula, in sicer:
• digitalni vhod (DI – Digital Input),
• digitalni izhod (DO – Digital Output).
Pri obeh imamo na voljo 4-krat po 8 bitov, torej skupaj 32 bitov oziroma vhodov in 32
izhodov.
Analogna vhodna enota – AI
Ima 8 vhodov, ki so lahko v obliki napetosti, toka (dvo- ali štirižična metoda merjenja
toka) ali upornosti, odvisno od tega, kako smo izvedli konfiguracijo posameznih vhodov.
Za posamezni vhod lahko določimo tudi merilno območje. Naslovi vhodov so od I 512 za
prvega do I 527 za zadnjega oz. osmi vhod. Vsak vhod zasede dva naslova. Vhod v
programu naslavljamo v obliki PI (Perifferal Input), nato sledi tip vrednost W (Word) ali
DW (Double Word), na koncu pa še naslov vhoda (512, 514 ... 527). Primer: če imamo
PIW 518, pomeni, da gre za 4. analogni vhod in da je tip vrednosti beseda (Word).
Merjenje napetosti s krmilnikom S7 – 400
Krmilnik meri napetost le tedaj, če mu nastavimo analogne vhode. To storimo s
konfiguracijo analogne vhodne enote, tako da za vsak posamezni vhod določimo vrsto
signala (napetost) in območje. Po opravljeni konfiguraciji lahko na vhod priklopimo
napetost in jo v primeru, če smo v programu krmilnika napisali ustrezen program,
opazujemo v digitalni obliki (Word ali Double Word).
6
Merjenje toka s krmilnikom S7-400
Krmilnik lahko meri tok po dveh metodah: 2-žični ali 4-žični metodi. Najprej moramo
pravilno konfigurirati posamezne vhode za meritev toka. To naredimo s konfiguracijo
analogne enote, tako da določimo vrsto signala (tok) in območje. Če smo v programu
krmilnika napisali ustrezen program, lahko opazujemo vrednost toka v digitalni obliki
(Word ali Double Word).
Merjenje upornosti s krmilnikom S7-400
S pomočjo krmilnika lahko merimo upornost. Pred meritvijo moramo pravilno nastaviti
analogne vhode. To storimo s konfiguracijo posameznih vhodov, tako da določimo tip
signala (upornost). Krmilnik meri upornost posredno, tako da meri tok in napetost ter
izračunava upornost. Če smo v programu krmilnika napisali ustrezen program, lahko
opazujemo vrednost upornosti v digitalni obliki (Word ali Double Word).
7
Slika 2.1.1.1: Priklopna shema AI
Analogna izhodna enota – AO
Ima 8 izhodov, ki so lahko napetostni ali tokovni, odvisno od konfiguracije posameznih
izhodov. Tudi pri izhodih lahko za posamezen izhod določimo merilno območje. Naslovi
analognih izhodov so od Q 512 za prvega do Q 527 za zadnjega. Vsak izhod zasede dva
naslova. Vhod v programu naslavljamo v obliki PQ (Perifferal Output), nato sledi tip
8
vrednosti W (Word) ali DW (Double Word), na koncu še naslov vhoda (512, 514 ... 527).
Primer: če imamo PQW 522 pomeni, da gre za 6. analogni izhod in da je tip vrednosti
beseda (Word).
Slika 2.1.1.2: Priklopna shema AO
9
Digitalana vhodna enota – DI
Ima 4-krat 8 vhodov (I), kjer števka 4 pomeni število byte-ov, števka 8 število bitov, črka I
pa pove, da gre za vhod. Vsak byte ima naslov od 0 do 3, biti pa imajo naslov od 0 do 7.
Če imamo naslov I 1.3 pomeni, da je to 2. byte in 4. bit digitalnega vhoda.
Digitalna izhodna enota – DO
Ima 4-krat 8 vhodov (Q), kjer števka 4 pomeni število byte-ov, števka 8 število bitov, črka
Q pa pove, da gre za izhod. Vsak byte ima naslov od 0 do 3, biti pa imajo naslov od 0 do 7.
Če imamo naslov Q 0.5 pomeni, da je to 1. byte in 6. bit digitalnega izhoda.
2.1.2 Nastavitev strojne opreme S konfiguriranjem strojne opreme se v konfiguracijski tabeli definira, kateri moduli bodo
uporabljeni za avtomatizacijo in kateri naslovi bodo uporabljeni za dostop do modulov iz
uporabniških programov. Lastnosti modulov so prav tako določljive z uporabo parametrov.
Programski paket Simatic STEP 7 je namenjen konfiguraciji in programiranju krmilnika
S7-400 in vseh ostalih Siemens-ovih krmilnikov serije 7. Tako je najprej potrebno krmilnik
fizično povezati z računalnikom, naložiti programski paket ter krmilnik pravilno
konfigurirati glede na sestavne dele, kot so napajalnik, procesorska enota, analogni vhodi
in izhodi ter digitalni vhodi in izhodi. Zelo pomembna je pravilna nastavitev vseh naslovov
(adress) vhodov in izhodov ter vrsta in hitrost komunikacije.
Po zagonu programskega paketa STEP 7 se pojavi osnovno okno, kjer se lahko s
čarovnikom po krajši poti ustvari nov projekt, ali pa odpre že obstoječ projekt. Nov projekt
se izbere z ukazom NEW, kjer je potrebno v okno vpisati ime projekta ter izbrati tip
procesorske enote; vrsto komunikacije, naslov komunikacije (v tem primeru MPI
ADRESS) pa je najbolje, da se izbere tako, kot je predhodno določil računalnik ter se
njegovi predlogi samo potrdijo z ukazom ENTER.
10
Slika 2.1.2.1: STEP 7 Wizard
Slika 2.1.2.2: Izbira krmilnika Na ta način smo ustvarili novo projektno okno. V projektnem oknu se na levi strani pojavi
drevesna struktura (TREE) novega projekta, kjer je zapisan tip krmilnika, strojna
11
konfiguracija, povezava v mrežo ter nazadnje še OB (OB1), v katerega se kasneje napiše
osnovna struktura programa.
Slika 2.1.2.3: Izbira strukture projekta in programirnega jezika
Na koncu izberemo še ime projekta.
Slika 2.1.2.4: Izbira imena projekta
12
Pri strojni konfiguraciji je potrebno v drevesni strukturi projekta izbrati HARDWARE
CONFIGURATION, kjer je potrebno določiti, kateri moduli so priključeni na RACK
(RACK je podnožje, nanj so nameščeni moduli krmilnika). Odpre se novo okno, ki je
razdeljeno na tri dele (Slika 2.6). Zgoraj se lahko pomika med podnožji (RACK-i), ki so
skupaj povezana v mrežo, teh je lahko do 32. Če je samo en RACK, ima le-ta ime oziroma
število 0. Spodaj je tabela, v katero se vnaša module, ki so izbrani (tabela predstavlja in
prikazuje, po kakšnem vrstnem redu so moduli zloženi v RACK-u). Moduli se
konfigurirajo glede na tip in tipsko številko ter se izbirajo iz kataloga na desni strani okna
(Slika 2.1.2.5).
V tabeli se najprej označi prva vrstica ter se v katalogu, na desni strani, poišče tip
napajalnika (POWER SUPLLY). Nanj se dvakrat klikne z miško ter se tako izbran
napajalnik avtomatsko prenese v tabelo. Nato se označita dve vrstici in vanju se iz kataloga
prenese procesorska enota. Ta zasede dva priključka na RACK-u, saj ima poleg
procesorske enote še komunikacijsko enoto. Na enak način se nazadnje v tabelo prenesejo
še želeni vhodno izhodni moduli (analogni in digitalni). Celotna konfiguracija se mora
nato naložiti v krmilnik z ukazom DOWNLOAD, ki je v ukazni vrstici. [3]
13
Slika 2.1.2.5: Konfiguracija krmilnika S7 Konfiguracijo strojne opreme ali program naložimo v krmilnik z ukazom DOWNLOAD. V
krmilniku se začne izvajati, ko se prestavi krmilnik v stanje RUN (ni možno nalaganje) ali
v stanje RUN/P (možno vmesno nalaganje in takojšnje izvajanje). Siemens omogoča
monitorig z ukazom MONITOR ON/OFF direktno iz LAD programa.
2.1.3 Pisanje programa STEP 7 omogoča programiranje v LAD, STL in FBD. Način programiranja si lahko vsak
izbere sam glede na to, kaj komu bolj ustreza, osebno mi bolj leži leder logika, ker je
pregledna in omogoča boljšo in lažjo predstavo. Na samem začetku programiranja
odpremo OB, v tem oknu lahko začnemo programirati, ko vključimo potrebne bloke v
svoj program. S tem, da lahko blokce ločimo med sabo, tako da jih damo v različne
Netzwerke, je tud program bolj pregleden. Te bloke v nadaljevanju smiselno povežemo,
14
jim dodamo in nastavimo parametre ter program je skorajda končan. Napisan program
lahko naložimo v krmilnik z ukazom DOWNLOAD in program teče na krmilniku.
Slika 2.1.2.6: OB 1 (Na levi strani je knjižnica z blokci, na desni je prostor za program.) Za lažje opazovanje delovanja našega programa je dobro, če si naredimo VAT tabelo
(Variable Tabel). V njej lahko spreminjamo tudi parametre našega programa ter
postavljamo bite na 1 ali 0. V stolpec ¨Modify value¨ lahko vpišemo želene vrednosti
parametrov in s klikom na gumb se prenesejo nove vrednosti v krmilnik in prav tako jih
vidimo v stolpcu Status value. S pritiskom na gumb se pojavi VAT tabela v
monitoring obliki in lepo vidimo, kaj se dogaja s programom v krmilniku.
15
Slika 2.1.2.7: VAT tabela
Za še boljšo preglednost in lažjo uporabo si lahko v Simbol Tabeli za vse spremenljivke
določimo imena ter napišemo komentarje. To tabelo shranimo in zapremo, simbole nato
vpišemo v okna za spremenljivke in namesto spremenljivk so vpisani simboli, a program
jemlje ustrezne spremenljivke.
16
Slika 2.1.2.8: Simbolna tabela
2.2 MPI POVEZAVA
MPI omrežje povezuje CPU (CPU-je) s programirnimi napravami, to so v večini prenosni
računalniki – od tod tudi ime (Multi Point Interface).
Do centralno procesne enote lahko dostopamo iz več mest. CPU je z MPI omrežen brez
dodatnih modulov. Hitrosti prenosa informacij v MPI omrežju:
17
Baudrate Maksimalna dolžina segmenta (v m)
187,5 kBaud 50
19,2 kBaud 50
12 MBaud 50
Tabela 2.1: Dovoljena dolžina segmenta v MPI mreži
Dolžina segmenta je v MPI omrežju omejena na največ 50 m, t.j. od prvega vozlišča do
zadnjega vozlišča v segmentu. Če potrebujemo daljšo povezavo, moramo uporabiti RS 485
repeater. Med dvema repeaterjema je lahko kabel dolžine največ 1000 m (v MPI mreži) ali
dolžine največ en segment (v PROFIBUS mreži), maksimalna dolžina je dovoljena, če med
dvema repeaterjema ni nobenega vozlišča. V serijo lahko povežemo do 10 repeaterjev.
Slika 2.2.1: Repeater RS 485
Možna vozlišča v MPI mreži:
18
• programirne naprave (PG ali PC z ustrezno programsko opremo)
• naprave za vnos in prikaz (OP)
• krmilniki serij S7-300/M7-300
• krmilniki serij S7-400/M7-400
Slika 2.2.2: MPI mreža
Za testiranje Siemens-ove opreme smo si zamislili simulator in najlažje ga je bilo narediti v
MATLABU. Kajti za nas je bilo zelo pomembno, da teče simulacija v realnem času in
matlab ima to podporo.
19
3 MATLAB
Matlab je moderno programsko orodje za reševanje numeričnih problemov. Primeren je za
raziskovanje in reševanje praktičnih problemov. Jezik ima bogate podatkovne strukture in
je objektno orientiran.
Matematik Cleve Moler je napisal prvo verzijo Matlaba v programskem jeziku Fortran v
poznih 70-ih letih 20. Stoletja, in sicer kot pripomoček za poučevanje numeričnih metod.
Pozneje so kodo prepisali v programski jezik C. Zaradi enostavne uporabe je Matlab postal
orodje, ki so ga začeli na široko uporabljati tako v industriji kot na univerzah. Ima nekaj
značilnih prednosti pred drugimi numeričnimi knjižnicami, in sicer:
- omogoča hitro in enostavno pisanje programov,
- na razpolago so kakovostna orodja za vizualizacijo,
- teče na več operacijskih sistemih, Matlabove m datotek so neodvisne od operacijskega
sistema,
- sestavni del Matlaba je Maplovo jedro, s čimer so ustvarjalci omogočili, da lahko tudi v
njem, podobno kot v Matematiki, računamo simbolično,
- na voljo so posebni programski sklopi za posamezna področja, in sicer za procesiranje
signalov, slik, simbolično računanje in statistiko,
- na internetu lahko najdemo mnogo programov za Matlab, ki jih prispevajo različni
uporabniki in so brezplačni,
- večina raziskovalcev na področju numerične linearne algebre dovoljuje vgrajevanje
najnovejših algoritmov, tako da v Matlabu najdemo vedno sveža dognanja na tem
področju.
Ker Matlab svoje datoteke interpretira (izvaja po vrsticah), pri tem izgubi precej
dragocenega časa, vendar je mogoče kodo m datotek prevesti in s tem pospešiti izvajanje
programa. Ozka grla pri izvajanju (to so deli programov, ki porabijo največ časa) lahko
tudi zakodiramo v katerega od drugih programskih jezikov, na primer C ali Fortran, in
prevedeno v mex datoteko, ki jo zna Matlab uporabljati podobno kot m datoteko,
prevedena koda pa teče mnogo hitreje.
20
Zraven osnovne verzije Matlab-a so na razpolago tudi orodja (.toolbox.), in sicer orodje za
regulacijsko tehniko (Control system), orodje za numerično identifikacijo sistema (System
identification), orodje za mehko logiko (Fuzzy logic), orodje za simbolično reševanje
enačb (Symbolic Math), orodje za statistiko (Statistic), orodje za delo v realnem času (Real
time toolbox), orodje za izgradnjo grafičnega vmesnika (GUI) in ostala. Pogosto najdemo
na internetu tudi orodja, ki so jih izdelali posamezniki, takšen primer je orodje za robotiko,
Robotics toolbox, in so v prostem dostopu. Orodja vsebujejo množico funkcij, ki jih lahko
uporabimo v svojih programih.
Slika 3.1: Logotip matlab 7
Te funkcije so zapisane za vse najbolj pogoste operacije s področja, ki ga orodje pokriva
(npr. Control system toolbox, vsebuje funkcije za izris stopničnega odziva, Bode-jevega
diagrama, krivulje lege korenov, iskanje ničel in polov). V Matlab-u je tako za osnovni
program kot za orodja na voljo obsežna pomoč v obliki *.pdf dokumentov ali spletnih
strani, ki poleg uporabe razpoložljivih funkcij podaja tudi pripadajočo osnovno teorijo.
21
Prav tako so v Matlab vgrajeni demo programi, ki nazorno prikazujejo uporabo funkcij.
Dodatna podpora, vključno s primeri uporabniških aplikacij, je pa na voljo na njihovi
spletni strani.
Posebno orodje je v Matlab-u Simulink, to je grafična nadgradnja osnovnega programa.
Simulink omogoča prikaz diferencialnih enačb v obliki blok diagrama. To je koristno, ko
diferencialne enačbe opisujejo kakšen realen sistem ali mehanizem. Za uporabo Simulink-a
ni potrebno poznati Matlab ukazov.
3.1 SIMULINK
Simulink je grafična nadgradnja programskega paketa Matlab. Modele izgradimo z
razpoložljivimi bloki, tako da ni potrebno poznavanje Matlab ukazov. Seveda pa Simulink
ne nudi vseh možnosti, ki so na razpolago v osnovnem Matlabu. Glavno okno knjižnice
Simulinka je prikazano na sliki 3.1.1 in se odpre, če v Matlab-ovem delovnem prostoru
izvedemo ukaz simulink. Zbirke blokov, ki jih bomo uporabljali, najdemo v poddirektoriju
Simulink (Continuous, Discrete, Functions & Tables …). Če so Matlabu dodana še orodja
(Toolbox) za npr. mehko logiko, jih vidimo kot posebni direktorij (Fuzzy logic Toolbox).
22
Slika 3.1.1: Osnovno okno Simulinka
Posamezni poddirektorij odpremo s klikom nanj, nekaj teh poddirektorijev: Continous,
Functions & Tables, Math, Nonlinear, Signals & Systems, Sinks and Sources … Če iščemo
blok, katerega ime poznamo, ne vemo pa, v katerem poddirektoriju se nahaja, ga najdemo
tako, da njegovo ime vpišemo v prazno vrstico na zgornjem delu okna. Vsak blok je
opremljen tudi s pomočjo (Help), ki pojasnjuje njegov namen in način uporabe.
Nov model izgradimo tako, da v Matlab ali Simulink oknu gremo pod File->New->Model.
Odpre se okno z naslovom ’untitled’, za katerega je najbolje, da ga kar shranimo pod
nekim imenom. Datoteka se samodejno shrani s končnico *.mdl, kar označuje Simulink
23
model. V prazno okno potrebne bloke zložimo tako, da jih v odprtem oknu knjižnice
primemo z levo tipko miške, jo držimo in na primernem mestu spustimo. Povezave med
bloki narišemo z miško.
Preden poženemo simulacijo je potrebno nastaviti parametre simulacije. Gremo pod
Simulation->Configuration Parameters, tako da se odpre okno, kot je prikazano na sliki
3.1.2. V prvem delu okna nastavimo čas simulacije. Drugi parametri določajo integracijsko
metodo in njene parametre. Ko vse ustrezno nastavimo, poženemo simulacijo s
Simulation->Start. Za izris rezultatov simulacije lahko uporabljamo tudi XY Graph ali To
Workspace bloka.
Slika 3.1.2: Simulacijski parametri
24
3.1.1 Kratek opis nekaterih blokov Blok Prenosna funkcija (Transfer Fcn):
Nastavimo vrednosti števca in imenovalca. Vpis poteka po padajočih potencah in v obliki
vektorja. Red števca mora biti manjši ali enak redu imenovalca.
Blok Ojačanje (Gain):
Ojačanje oziroma množenje s skalarjem.
25
Blok Vsota (Sum):
Vsota/razlika poljubnega števila vhodov. Predznaki se vpisujejo po vrsti, kot jih želimo na
bloku. Blok je lahko okrogle ali pravokotne oblike (bolj praktično pri večjem številu
vhodov).
Blok konstante (Constant):
26
Na izhodu da konstantno vrednost, kot je vpisana v ¨Constant value¨parametru. Ta
parameter lahko vpišemo kot vektor.
Blok XY osciloskop (XY Scope):
Izriše signala na vhodu bloka v XY obliki. Če je na X osi kot vhod podan čas, deluje enako
kot blok Scope. Primerno za sprotno opazovanje rezultatov.
27
Blok stikalo z več vhodi (Multiport Switch):
Preklaplja med vhodi in da na izhod izbrano veličino vhoda. Nastavimo mu lahko želeno
število vhodov. Izbrano vrednost izhoda dobimo tako, da na prvi vhod od zgoraj navzdol
damo konstantno cifro od 0 do št. vhodov, katerega pač želimo dobiti na izhodu.
Blok analogni vhod (Analog Input):
28
Na izhodu da vrednost, ki jo prebere iz kartice, katero nastavimo. Kartico nastavimo s
tipko Board setup, če želene kartice ni v seznamu, jo dodamo, tako da pritisnemo na gumb
Install new board, izberemo kartico in to potrdimo. Nato nastavimo parametre in blok nam
daje želene podatke iz kartice.
Blok analogni izhod (Analog output):
Ta blok deluje obratno kot blok Analog input, zajema podatke iz sheme in jih daje na
kartico, ki jo izberemo. Prav tako mu moramo nastaviti parametre.
29
Blok Diskretni PID regulator (Discrete PID Controller):
Blok PID simulira diskretni PID regulator. Na vhodu mu nastavimo želeno in procesno
vrednost, on nato poskuša približati procesno vrednost želeni. Če smo parametre
regulatorja pravilno nastavili, dobimo na izhode pravilen odziv.
3.1.2 Pomembni napotki
Simulink modeli, zgrajeni s Simulink-om, ki je dodan Matlab-u 5.6 ali 6.0 (prejšnje
verzije), delujejo tudi s Simulink-om v Matlabu 7. Obratno ne velja.
Poti do direktorija, v katerem so shranjeni Simulink modeli, ni potrebno nastavljati.
Rezultate simulacij v Simulink-u si je najbolje shraniti (npr. prenesti v MS Word), tako da
jih z blokom To Workspace prenesete v delovni prostor, kjer jih izrišete s plot(..) ukazom.
Tako boste lahko grafe opremili tudi z oznakami.
30
Simulink sheme lahko shranite v MS Word, tako da v oknu z modelom izberete Edit-
>Copy model to clipboard in nato sliko prenesete s ’Paste’.
Imena blokov v modelu lahko spreminjate, tako da dvakrat kliknete na napis pod blokom.
Priporočljivo je, da poimenujete bloke glede na njihovo fizikalno ozadje (npr. R [ohm]).
Prav tako lahko z dvakratnim klikom poimenujete povezave med bloki.
Blok rotirate tako, da ga označite s klikom in pritisnete CTRL+r.
Blok povežete na še obstoječo povezavo, tako da začnete na vhodu tega bloka in končate
(spustite gumb na miški) na povezavi, na katero ga želite priključiti.
Pred simulacijo ne pozabite nastaviti parametrov simulacije. Posebej previdni bodite pri
izbiri integracijske metode.
Ne pozabite sproti shranjevati vašega modela.
3.2 GRAFIČNI VMESNIK (GUI)
Grafični vmesnik je namenjen za lažjo uporabo programov, ki smo jih naredili v Matlab-u.
Vmesnik posreduje in izmenjuje podatke med uporabnikom in Simulink shemo. Njegova
zasnova je grafična, zato mu pravimo tudi grafično-uporabniški vmesnik (graphical user
interface - GUI). Preko njega uporabnik "komunicira" s Simulink shemo. Uporabniški vmesnik
je sestavljen iz oken, menijev in gumbov. Z meniji (ali gumbi) program nadzira, kaj je
uporabnik vnesel v program, zahteve obdela in potem prikaže zahtevano na ustreznih mestih v
shemi ali na vmesniku.
31
Slika 3.2.1: Guide za risanje grafičnega vmesnika
V Matlab-u izdelavo vmesnika zelo poenostavi vgrajeni urejevalnik, imenovan GUIDE
(GUI editor). Ukaz guide nam pripravi vse potrebno za začetek izdelave novega grafičnega
vmesnika (odpre se okno, v katerem narišemo novo grafično okolje).
Kot prvo prilagodimo velikost polja za naš vmesnik, nato na to polje vključimo tekstovna
polja in gumbe:
– Edit text - polje za vnos podatkov;
– Static text - polje za izpis besedila;
– Slider - drsnik po območju [0,1];
– ListBox - seznam možnosti;
– Push Button - gumb za potrditev ali klic ukaza;
– Radio Button in Check Box - polji za izbiro (neizbiro);
– Axes - polje za prikaz grafike;
– Pop-up menu - meni s seznamom ukazov.
Ko smo namestili vse gumbe in polja, jim moramo z dvoklikom na gumb ali objekt v oknu
property inspector nastaviti parametre in po želji tudi barvo ozadja, velikost objekta ipd.
32
S tem je vmesnik oblikovan, sedaj je na vrsti glavni del, potrebno je napisati program za
celoten vmesnik. Nekaj kode naredi guide sam, ta koda ni dobra, potrebno jo je zbrisati in
napisati novo. Vsakemu gumbu in polju pripada rutina ImePolja_Callback, ta se izvede, ko
kliknemo na polje ali gumb. Klici rutin, ki pripadajo poljem in gumbom, se izvedejo v
okolju vmesnika, če ne zahtevamo drugače. Polja in gumbe naslavljamo preko njihovih
imen (lastnost tag). Struktura, ki vsebuje vsa polja in gumbe vmesnika, se imenuje handles.
Vsebino in vrednosti polj in gumbov upravljamo kot pri ostali grafiki:
– z ukazom set nastavimo lastnost:
SET (handles.ImePolja,’ImeLastnosti’,’VrednostLastnosti’);
– z ukazom get pa preberemo zahtevano lastnost:
GET(handles.ImePolja,’ImeLastnosti’).
Ko je program napisan, je GUI nared in pripravljen za uporabo.
33
Slika 3.2.2: Okno za nastavitev parametrov objektov v grafičnem vmesniku
Za povezovanje simulacijskega okolja s krmilnikom je na voljo več možnosti. Povezujemo
lahko fizične signale (tokovne, napetostne, digitalne) ali pa uporabimo povezovanje na
nivoju komunikacijskih vmesnikov (OPC, PB …). V primeru uporabe A/D-D/A modulov
je smoterna povezava realnih signalov na naše simulacijsko okolje. V laboratoriju je bila
na razpolago Advantech-ova PCL – 818H A/D-D/A kartica, ki je v naslednjem poglavju
podrobneje opisana.
34
4 A/D-D/A KARTICA ADVANTECH PCL – 818H
PLC – 818H je zelo učinkovita, zelo hitra, multifunkcionalna podatkovno obogatena
kartica s programirljivim ojačanjem za IBM-ov PC/XT/AT ali drug združljiv računalnik.
Končana specifikacija te polno zmogljive kartice in dovršena programska podpora jo
naredi idealno za široko območje tako v industriji kot v laboratorijskem okolju za nadzor
procesov, za testiranje avtomatizacije in industrijskih procesov.
Slika 4.1: A/D D/A kartica advantech PCL-818H
4.1 KLJUČNE ZNAČILNOSTI KARTICE
Značilnosti kartice:
N na razpolago ima dva analogna vhodna kanala, kanal z 16 singleended ali 8
diferencialnih vhodov;
35
N industrijski standardni 12- bitni zaporedni približevalni A/D pretvornik, ki se uporablja
za pretvorbo analognih vhodov;
N območje analognih vhodov, ki so na razpolago:
bipolarni: ±0.625, ±1.25, ±2.5, ±5, ±10,
unipolarni: 0 ~ 1.25 V, 0 ~ 2.5 V, 0 ~ 5 V, 0 ~ 10 V;
N nadzorna koda analognega vhodnega območja je shranjena v RAM-u na kartici;
N A/D pretvorba podatkov se lahko prenaša po programskem vodilu, interaptnem rotinskem
ali DMA prenosu;
N intelov 8254 programirljiv števec poskrbi za hitrost na območju od 2,5 MHz do 0,00023
Hz (71 min/pulz);
N 12-bitni enoten množilni D/A izhodni kanal; izhodno območje od 0 V do – t 5 V (+10 V)
se lahko generira z uporabo – 5 V (- 10 V) reference na kartici; prav tako se lahko uporabi zunanja AC ali DC referenca za generiranje ostalih D/A izhodnih območij;
N 16 digitalni vhodni in 16 digitalni izhodni kanal je TTL/DTL kompatibilni (združljivi).
Kot dodatek k močni posebnosti PCL – 818H za boljšo okretnost kartice je možna razširitev z eno od možnih ploščic:
I PCLD – 789,
I PCLD – 788,
I PCLD – 787,
I PCLD – 786,
I PCLD – 785/885,
I PCLD – 782,
I PCLD – 780: ta kartica je narejena (konstruirana) za enostavno analogno in/ali
vhodno/izhodno priključitev,
36
Slika 4.1.1: Ploščica PCLD – 780
I PCI,D – 779,
I PCLD – 770/7701/7702,
I PCLD – SB 16.
PCL-818H je prav tako oskrbljen z močno in za uporabo enostavno programsko opremo.
Uporabnik pri nalaganju sam definira, katere komponente želi naložita na PC.
4.2 SPECIFIKACIJA IZDELKA
Analogni vhod:
• kanal: na izbiro sta dva kanala; 16 singeleended ali 8 diferencialnih vhodov
• čas pretvorbe: 8 ms
• resolucija: 12 bits
• območje vhoda (V):
bipolar: ±10, ±5, ±2.5, ±1.25, ±0.625
unipolar: 0 ~ 10, 0 ~ 5, 0 ~ 2.5, 0 ~ 1.25
• pretvorbeno razmerje: 100 kHz
• prenapetost: ±30V max
• točnost: ± (0.01% pri branju), ±0.1 bit
• linearnost: ± 1bit
37
Slika 4.2.1: Shema analognih vhodov (single-ended kanali)
Slika 4.2.2: Shema analognih vhodov (diferencialni kanali)
Analogni izhod:
• kanal: 1 kanal
• resolucija: 12 bits
• območje izhoda (V):
0 do +5(+10)V na kartici -5 (-10)V reference
max ±10 V z zunanjo DC ali AC referenco
• linearnost: ± 0.5 bit
• čas poravnave: 5 mikros
38
Slika 4.2.3: Shema analognih izhodov
Digitalni vhod:
• kanal: 16 bits
• raven: TTL kompatibilen
• vhodna napetost:
spodnja – 0.8 V max
zgornja –2.0 V min
Slika 4.2.4: Shema digitalnih vhodov
39
Digitalni izhod:
• kanal: 16 bits
• raven: TTL kompatibilen
• izhodna napetost:
spodnja ~8 mA pri 0.5 V max.
zgornja – 04 mA pri 2.4V min
Slika 4.2.5: Shema digitalnih izhodov
Opisana je vsa uporabljena oprema, sledi analiza in pregled rezultatov. Rezultate iz
simulatorja in krmilnika smo med seboj primerjali in analizirali, da bi videli učinkovitost
delovanja in če je potrebno kaj spremeniti ali dodati.
40
5 ANALIZA REGULACIJSKIH ALGORITMOV PRILAGOJENIH ZA PLC
Vodenje pomeni vplivanje na proces z namenom, da dosežemo želeno obnašanje. Ker se
potrebe po vodenju pojavljajo v vsakdanjem življenju, v proizvodnji pa tudi v raziskavah
na številnih področjih, je omenjeno področje skupaj s teorijo sistemov, s simulacijami, z
računalništvom, robotiko in s številnimi drugimi (tudi netehniškimi) vedami ter skupaj z
moderno tehnologijo odločilno vplivalo na vsesplošni napredek. Medtem ko k
enostavnejšim metodam, zlasti odprto zančnim, vodenja včasih še lahko pristopimo na bolj
intuitivni način, pa regulacije kot zaprto zančni način vodenja potrebujejo več teoretičnih
in praktičnih znanj. Čeprav v zadnjih letih na področja regulacij uspešno prodirajo številne
metode umetne inteligence (ekspertni sistemi, uporaba konceptov nevronskih mrež, mehki
regulatorji ...), pa večino industrijskih problemov zadovoljivo in cenovno ugodno rešujejo
s konvencionalnimi algoritmi - seveda v novi, tehnološkemu razvoju primerni, preobleki.
Prav zato je poznavanje PID-regulatorjev, stopenjskih regulatorjev ter nekaterih več
zančnih metod vodenja ob poznavanju teoretično manj zahtevnih postopkov sekvenčnega
vodenja bistvenega pomena pri avtomatizaciji industrijskih procesov.
Analiza sistema je predpogoj za zaključno fazo, in to je oblikovanje sistema. Če odziv
sistema kvantitativno in/ali kvalitativno ni zadovoljiv, moramo sistem korigirati, bodisi z
prilagoditvijo parametrov bodisi s kompenzacijo. Oblikovanje sistema vedno izhaja iz
izbranega modela fizikalnega sistema in izbrane predstavitve modela sistema. V analizi
regulacijskih sistemov opazujemo predvsem odzive sistemov na značilne vzbujalne
signale, spremembe želene vrednosti ali motnje. Pri tem opazujemo regulacijsko
odstopanje, regulirni signal (izhod regulatorja) ali reguliran signal (izhod sistema). Iz
poteka odzivov želimo ugotavljati lastnosti sistema in sprejeti zaključke o kvaliteti
regulacije. Za pridobitev ocene kvalitete regulacije uporabljamo objektivne kriterije v
obliki performančnih indeksov.
41
5.1 SIMULACIJSKO OKOLJE
Cilj diplomskega dela je načrtati optimalni regulacijski algoritem za izbrani regulator in
problematiko regulacije, zato smo naredili simulacijsko platformo za simuliranje
problematike in s tem omogočili lažjo pot do načrtovanja optimalnega regulacijskega
algoritma. Simulator za problematiko regulacije je sposoben simulirati vse mogoče
težavnosti problemov, prog, ki jih srečamo v industriji in naši okolici. Simulacijska shema
je zgrajena v Matlab-ovem Simulacijskem okolju Simulink, ki omogoča priključitev kartic
za zajem podatkov iz okolice. Shema je sestavljena tako, da uporabnik izbere parametre
problematike, ki jih za svojo simulacijo potrebuje. Tako je na razpolago izbira reda
sistema, izbira med različnimi vplivi in motnjami na sistem. Vse parametre proge je
potrebno nastaviti na dobljene veličine iz matematičnih modelov, da bo simulacija čim bolj
točna glede na realni problem, ki ga skušamo regulirati. Poleg tega lahko simuliramo tudi
regulator, da vidimo, kakšen naj bi bil rezultat in če dosegamo pravo rešitev, ki smo si jo
zastavili. Ta simulacija regulatorja služi predvsem za analizo in primerjavo z regulatorjem,
ki je naložen na krmilniku. Regulator lahko simuliramo kot objekt simulacijske proge; s
pomočjo regulatorja naloženega na krmilniku simuliramo samo problematiko, ki jo bo
regulator v resnici reguliral.
Slika 5.1.1: Glavno okno simulacijske sheme
42
Slika 5.1.2: Simulacijska shema simulatorja
43
Za lažjo uporabo simulacijske sheme smo izdelali uporabniški vmesnik (graphical user
interface- GUI), ki je tako kot simulacijska shema bil izdelan v Matlab-u. Uporabniški
vmesnik omogoča lažjo, boljšo in hitrejšo uporabo simulacije, kajti v tem vmesniku lahko
z nekaj vnosi spremenimo vse parametre simulatorja.
Slika 5.1.3: Grafični vmesnik simulatorja F16
Ko zaženemo grafični vmesnik, se avtomatsko zažene tudi shema simulacije. Nato
vnesemo parametre, za izbiro reda sistema vpišemo cifro 0 za prvi red, cifro 1 za drugi
red, ali cifro 2 za tretji red. Vpišemo lahko le cifre od 0 do 1, kajti če vpišemo višjo ali
nižjo cifro se pojavi v oknu prejšnja ustrezna cifra. Za izbiro vpliva na sistem lahko
vnesemo cifro od 0 do 3, pri tem pomeni cifra 0 vpliv histereze, cifra 1 vpliv mrtve cone,
cifra 2 vpliv saturacije in cifra 3 pomeni "brez vpliva". Za simulacijo PID regulatorja
moramo v tretje okno vpisati cifro1, če pa hočemo regulator iz krmilnika, pa izberemo
44
cifro 0. Na vrsti so nastavitve ojačanj od K1 do K3 ter izbira časa tipanja od Tau1 do
Tau3. Ko smo nastavili parametre, lahko poženemo simulacijo s pritiskom na tipko start.
Ustavimo jo z tipko stop, nato pa lahko izrišemo graf s tem, da pritisnemo tipko Plot. Ko je
optimalna rešitev dobljena, se lahko s pritiskom tipke Close vse zapre.
V simulacijsko shemo je mogoče vključiti PID regulator iz krmilnika, a le z Advantech-
ovo A/D D/A kartico in blokoma analog input in analog output. Več o teh blokih je
napisano v poglavju 3.1.1, tam je tudi opisano, kako se v shemo pravilno vključi kartico.
Simulacijska shema komunicira z A/D D/A kartico, ta je preko kabelske povezave z enim
izhodom in dvema vhodoma povezana na krmilnik Simatic S7-400 od SIEMENSA. Pri
tem je izhod iz kartice vhod v krmilnik, vhoda v kartico pa sta izhoda iz krmilnika. Točno
vezalno shemo najdete v prilogah. Kartica ima možnost vhodne in izhodne napetosti od 0
do 10 voltov, krmilnik pa od -10 do +10 voltov. Zaradi tega se je bilo potrebno z izhodom
krmilnika omejiti na od 0 do 10 voltov. Na kartici je uporabljen prvi in drugi vhodni ter
prvi izhodni kanal. Kartica po informacijah izdelovalca sicer omogoča dva izhoda, a ker ni
bilo možno dobit pravih gonilnikov, smo se zadovoljili z enim izhodom.
PID, izveden na krmilniku, je komuniciral s kartico prek analognih vhodov in izhodov
krmilnika. Program PID regulatorja je izdelan s pomočjo SIMATIC manager-ja step 7, in
sicer je napisan v bloku OB32, ker ta blok omogoča nastavitev časa sempliranja. Step 7
ima v knjižnici že narejen blok PID regulatorja, tako ga je potrebno le vključiti v program
in mu nastaviti parametre. Teh ni malo in pri vnašanju je potrebno biti previden, saj
zahteva parametre v pravi veličini, čas cikla mora bit v sekundah s sintakso T#2s, želena
vrednost mora biti podana v procentih, tu zadostuje cifra.
Vhodni parametri Pomen
COM_RST Reset vseh spremenljivk
MAN_ON Vklop ročnega delovanja
PVPER_ON Vklop
P_SEL Vklop P dela regulatorja
45
I_SEL Vklop I dela regulatorja
D_SEL Vklop D dela regulatorja
CYCLE Čas cikla
SP_INT Želena vrednost
PV_INT Vhodna procesna vrednost
PV_PER Vhod procesne vrednosti v procentih
MAN Ročna veličina
GAIN Ojačanje
TI Integralni del regulatorja
TD Diferencialni del regulatorja
TM_LAG Čas zakasnitve
LMN_HLM Maksimalna izhodna vrednost regulatorja
LMN_LLM Minimalna izhodna vrednost regulatorja
PV_FAC Faktor procesne veličine
LMN_FAC Faktor manipulacijske veličine
LMN_OFF Offset manipulacijske veličine
Izhodni parametri Pomen
LMN Izhod regulatorja
LMN_PER Izhod regulatorja v procentih
QLMN_HLM Dosežena maksimalna vrednost izhoda
QLMN_LLM Dosežena minimalna vrednost izhoda
LMN_P Proporcionalni del izhodne veličine
LMN_I Integralni del izhodne veličine
LMN_D Diferencialni del izhodne veličine
PV Procesna vrednost
ER Pogrešek
Tabela 5.1.1: Parametri PID regulatorja in njihov pomen
46
Slika 5.1.4: Blok PID regulatorja
47
Želeno vrednost smo vnašali v proces prek programa v VAT tabeli, potrebno jo je bilo
vpisati v procentih. Vrednosti v procentih A/D D/A kartica ne podpira, zaradi tega jo je
bilo potrebno pretvorit v številčni zapis od 0 do 27684. Te cifre potem krmilnik sam
pretvori in da na analognih izhodih ustrezno veličino v voltih. Spremenjeno vrednost nato
premaknemo v spremenljivko za izhodno vrednost in jo lahko pošljemo v kartico.
Vrednost v % Vrednost krmilnika Napetost (V)
0 0 0
10 2764.8 1
20 5529.6 2
30 8294.4 3
40 11059.2 4
50 13824 5
60 16588.8 6
70 19353.6 7
80 22118.4 8
90 24883.2 9
100 27648 10
Tabela 5.1.2: Pretvorba vrednosti v Krmilniku
Slika 5.1.5: Pretvorba želene vrednosti za izpis
48
Slika 5.1.6: Premik v spremenljivko za izpis
5.2 TESTIRANJE PID BLOKA V KRMILNIKU
PID regulator (Proportional Integral Derivative Controller) predstavlja klasično orodje
industrijske avtomatizacije. Z njim je mogoče rešiti mnogo regulacijskih nalog, še posebej,
če zahteve za regulacijo niso postavljene previsoko. Prav zaradi tega jih je mogoče najti v
velikem številu v vseh industrijskih panogah, v najrazličnejših oblikah. V procesni
industriji ima še vedno 95 % vseh regulatorjev obliko PID. Proizvajajo jih kot samostojne
enote za regulacijo ene ali več regulacijskih zank ali v kombinaciji z drugimi
regulacijskimi strukturami. Izvedbe PID regulatorjev so se hkrati s tehnološkim razvojem
spreminjale od pnevmatskih preko tranzistorskih do današnjih mikroprocesorskih.
Izhodišče vseh PID regulacijskih oblik je zvezni PID regulator, ki ga opišemo s prenosno
karakteristiko:
( ) ( ) ( ) ( )0
1 t
p di t
de tv t K e t e d T
T dtτ τ
⎛ ⎞= ⋅ + + ⋅⎜ ⎟⎜ ⎟
⎝ ⎠∫ ,
kjer so:
- Kp – ojačanje reguatorja
- Ti – integracijska časovna konstanta
- Td – diferencialna časovna konstanta
- e(t) – vhod regulatorja (regulacijsko odstopanje)
- v(t) – izhod regulatorja
Najprej smo testirali vsak del regulatorja posebej in nato cel regulator, to je razvidno iz
tabele 5.2.1. Za P-, I-, PI- in PD-del smo posneli odziv na stopnico, pri D-delu je bilo
49
potrebno uporabiti rampo, da se vidi, kako reagira na spremembo diferencialni del
regulatorja, pri PID smo posneli oba odziva. Da smo posneli odziv na stopnico ali rampo
pomeni, da smo dali na vhod, e(t) odprte zanke, stopnični signal ali signal rampe in posneli
odziv, ki smo ga dobili na izhodu. Od slike 5.2.2 in do slike 5.2.7 so prikazani idealni
odzivi regulatorjev ter njihove karakteristične enačbe, slika 5.2.8 pa prikazuje odprto zanko
s stopnico ali rampo na vhodu.
Slika 5.2.1: Shema PID bloka
50
Del
regulatorja poskus Čas cikla ojačanje Ti Td Ime grafa
1. 1 s 1 / / Odziv P dela 1
2. 1 s 3 / / Odziv P dela 2 P del
3. 1 s 5 / / Odziv P dela 3
1. 1 s 1 1 s / Odziv I dela 1
2. 1 s 10 1 s / Odziv I dela 2 I del
3. 1 s 1 10 s / Odziv I dela 3
1. 1 s 10 / 10 s Odziv D dela 1
2. 1 s 10 / 1 s Odziv D dela 2 D del
3. 1 s 1 / 10 s Odziv D dela 3
PI del 1. 1 s 1 5 s / Odziv PI dela 1
PD del 1. 1 s 10 / 1s Odziv PD dela 1
PID del 1. 1 s 10 1 s 1 s Odziv PID dela
1
Tabela 5.2.1: Parametri regulatorjev, s katerimi so izvedeni testi
Slika 5.2.2: Karakteristična enačba in odziv P-dela regulatorja na stopnico
Slika 5.2.3 Karakteristična enačba in odziv I-dela regulatorja na stopnico
51
Slika 5.2.4 Karakteristična enačba in odziv D-dela regulatorja na stopnico
Slika 5.2.5: Karakteristična enačba in odziv PI-dela regulatorja na stopnico
Slika 5.2.6: Karakteristična enačba in odziv PD-dela regulatorja na stopnico
Slika 5.2.7: Karakteristična enačba in odziv PID dela regulatorja na stopnico
52
Slika 5.2.8: Odprta zanka s stopnico ali rampo na vhodu
Sledeče slike prikazujejo odzive regulatorjev, ki smo jih posneli na simulacijski progi, te
smo dobili tako, da smo nastavili parametre, kateri so podani v tabeli 5.2.1 in nato pognali
simulacijo. Odziv smo izrisali s pritiskom na tipko plot uporabniškega vmesnika in ga
nato shranili. Na slikah odzivov je moder signal želena vrednost, zelen signal je procesna
vrednost in rdeč signal je signal, ki ga generira regulator v krmilniku.
Slika 5.2.9: Odziv P-dela regulatorja, 1. poskus
53
Slika 5.2.10: Odziv P-dela regulatorja, 2. poskus
Slika 5.2.11: Odziv P-dela regulatorja, 3. poskus
54
Slika 5.2.12: Odziv I-dela regulatorja, 1. poskus
Slika 5.2.13: Odziv I-dela regulatorja, 2. poskus
55
Slika 5.2.14: Odziv I-dela regulatorja, 3. poskus
Slika 5.2.15: Odziv D-dela regulatorja, 1. poskus
56
Slika 5.2.16: Odziv D-dela regulatorja, 2. poskus
Slika 5.2.17: Odziv D-dela regulatorja, 3. poskus
57
Slika 5.2.18: Odziv PI-dela regulatorja, 1. poskus
Slika 5.2.19: Odziv PD-dela regulatorja, 1. poskus
58
Slika 5.2.20: Odziv PID dela regulatorja, 1. poskus
Če primerjamo odzive P-dela iz slik 5.2.2 in 5.2.9 – 11 se vidi, da je dobljen odziv
identičen idealnemu odzivu P-dela regulatorja, le da je pri testiranju regulatorja vplival
reakcijski čas. To pomeni, da je od časa spremembe želene vrednosti do takrat, ko je začel
regulator reagirati, potekel nek čas, v našem primeru je bilo to 1 sekundo. Reakcijski čas
nastopi, ker v realnem svetu vsaka stvar potrebuje nek čas, da se odzove na spremembo, ki
se ji nenadoma pripeti. Če to odmislimo, je regulator odreagiral pravilno, in sicer tako kot
pravi enačba, da je razlika želene in procesne vrednosti krat ojačanje enaka višini
reguliranega signala. Pogled na slike 5.2.9 – 11 in preračunavanje teh vrednosti pokaže
pravilnost naših odzivov.
Pri odzivu I-dela lahko rečemo, da ustreza sliki idealnega odziva, a je tudi tukaj nastopil
reakcijski čas, ampak je daljši kot v primeru P-dela in šteje 5 sekund. Pri integralnem
odzivu dobimo naklon signala tako, da enačimo tangens kota z ojačanje krat čas cikla
deljeno z integracijskim časom. Če izračunamo naklon signala po dobljenih parametrih,
ugotovimo, da so odzivi pravilni tudi iz matematičnega stališča in ne le po primerjavi.
59
D-del odziva smo dobili tako, da smo na vhod dali rampo, ker na ta način vidimo odziv
diferenciatorja. Iz dobljenih odzivov lahko sklepamo, da so odzivi pravilni in da je tudi
tukaj v igri reakcijski čas, ki znaša 2 sekundi. Postavi se nam vprašanje, kako preveriti
pravilnost odziva. To storimo z enačbo, ki pove, kako visok je odziv D-dela regulatorja, ta
pravi, da je višina enaka ojačanje krat diferencialni čas. Tudi v tem primeru je enačba
dokazilo za pravilnost odzivov.
Pri PI-odzivu je lepo viden najprej P-del, nato začne I-del integrirati, prav tako kot
prikazuje slika 5.2.5. Torej lahko razčlenimo PI-odziv na posamezna dela in ju
preračunamo po prejšnjih enačbah ter vidimo, da so odzivi pravilni. Reakcijski čas je
nastopil tudi pri tem odzivu in je znašal 2 sekundi.
Ko primerjamo PD-del regulatorja vidimo, da se ujema z idealnim odzivom, to pomeni, da
tudi naš PD-del dela pravilno. Če hočemo to podkrepit še z izračunom, razdelimo
regulator na P- in D-del in uporabimo enačbe, ki smo jih prej navedli in vidimo, da naša
trditev o pravilnosti drži.
Na zadnje poglejmo še PID regulator kot celoto, prav tako primerjamo dobljeni signal z
idealnim signalom. Rezultati so očitni, slika je skoraj identična, le da v našem primeri
vpliva še reakcijski čas.
Ko smo ugotovili, da regulator pravilno dela, ga lahko testiramo in analiziramo še na progi
drugega reda in ga primerjamo z odzivom PID regulatorja iz simulacijske sheme.
Parametre, ki so potrebni, da regulator pravilno deluje, je mogoče izračunati na mnogo
načinov. Naj jih nekaj naštejem: metoda Chien,Hrones in Reswick; metoda Tyreus –
Luyben; metoda točne amplitudne fazne rezerve; sinteza s pomočjo lege korenov; metoda
frekvenčnega odziva; metoda Ziegler – Nichols ali metoda stopničnega odziva.
5.2.1 Načrtovanje parametrov PID regulatorja Metod za načrtovanje parametrov regulatorja je veliko, a odločili smo se za metodo
stopničnega odziva, ta je dokaj enostavna in hitra. Vse kar potrebujemo je stopnični odziv
60
regulacijskega objekta. Parametre regulatorja preračunamo po tabeli, v kateri so enačbe, in
s pomočjo izmerjenih značilnih koeficientov stopničnega odziva, ti so K, vt in dt . V
našem primeru smo dobili stopnični odziv, kot je prikazan na sliki 5.2.1.1. Iz tega odziva
smo odčitali vrednost koeficientov ter po tabeli 5.2.1.1 izračunali parametre regulatorja.
Slika 5.2.1.1: Stopnični odziv regulacijskega objekta
3141
v
d
ttK
===
61
parametri regulator
pK iT dT
P v
d
tK t⋅
PI 0.9 v
d
tK t⋅
⋅ 3 dt
PID 1.2 v
d
tK t⋅
⋅ 2 dt 0.5 dt
Tabela 5.2.1.1: Nastavitev parametrov regulatorja po Ziegler – Nichols metodi
za regulacijske objekte s proporcionalnim delovanjem
Izračun parametrov PID regulatorja:
311.2 1.2 9.31 4
vp
d
tKK t
= ⋅ = ⋅ =⋅ ⋅
2 2 4 8i dT t= ⋅ = ⋅ =
0.5 0.5 4 2d dT t= ⋅ = ⋅ =
Odziv PID regulatorja iz sheme na progo drugega reda prikazuje slika 5.2.1.2, s tem
odzivom smo primerjali odziv PID bloka iz krmilnika.
Dobljen odziv ima 10 % prenihaj, čas vzpona je 16 sekund in z želeno vrednostjo se ustali
po 52-ih sekundah.
62
Slika 5.2.1.2: Odziv PID regulatorja iz simulacijske sheme
63
Slika 5.2.1.3: Odziv PID regulatorja iz krmilnika
Odziv PID regulatorja iz krmilnika je podoben odzivu PID regulatorja iz sheme. Čas
vzpona ima 15 sekund, z želeno vrednostjo se ustali po 72-ih sekundah in prenihaj je 22
%. Kljub podobnostim med idealnim regulatorjem in regulatorjem iz krmilnika pa obstaja
neko odstopanje. Vidno je, da po metodi stopničnega odziva skorajda ni mogoče
izračunati parametrov, ki bi ustrezali tako enemu in drugemu regulatorju. Kajti tabela iz
metode stopničnega odziva je dobljena eksperimentalno, to pomeni, da so bila potrebna
zaokroževanja in približevanja. Privede pa k temu, da dobimo med realnim in
simulacijskim regulatorjem odstopanja. Prav v ta namen smo izdelali simulacijsko okolje,
da lahko analiziramo in primerjamo rezultate različnih regulatorjev in nato popravimo
parametre, tako da zadovoljijo vsem potrebam.
64
Slika 5.2.1.4: Odziv popravljenega regulatorja iz krmilnika
Odziv popravljenega regulatorja iz krmilnika je sedaj še boljši kot regulator iz sheme, po
tem takem je dokazano, da je ta naš simulator pripomogel k izboljšanju regulacijske proge
in da dela pravilno ter bo v korist vsakemu, ki bo hotel načrtati optimalne parametre
regulatorja.
Nov odziv ima prenihaj 8% čas vzpona je prav tako 16 sekund, z želeno vrednostjo pa se
ustali po 50-ih sekundah.
65
6 SKLEP
V diplomskem delu smo opisali delovanje in sestavo simulatorja, ki smo ga naredili v
sklopu diplomskega dela in SIEMENS-ovo strojno ter programsko opremo. Simulator je
realiziran v MATLAB Simulink-u in ima za lažje vnašanje parametrov izdelan grafični
vmesnik. Simulacijska shema omogoča simuliranje različne problematike, od
najenostavnejše proge prvega reda brez kakršnega koli vpliva, do proge tretjega reda z
vsemi vplivi. To si lahko izbere vsak sam glede na to, kaj potrebuje glede na problematiko,
ki jo skuša rešiti. Omogoča še simuliranje PID regulatorjev, različnih sistemov, kot so
neuro sistemi in fuzzy logika, torej sisteme, ki se najdejo v industriji. Siemensova oprema
za avtomatizacijo proizvodnih postopkov ima širok spekter uporabe in v veliki meri imajo
več vrst krmilnikov. Nekaj teh smo navedli v diplomskem delu, a podrobneje smo se lotil
krmilnika SIMATIC S7-400, kajti tega smo uporabili pri testiranjih PID regulatorja. V
SIMATIC manager-ju smo izdelali leder diagram za PID regulator in ga prenesli na
krmilnik. Za povezavo med krmilnikom je skrbela A/D – D/A kartica PCL -818H,
proizvajalca Advantech. Uporabili smo dva vhoda in en izhod, kajti kartica ima le ta en
izhod.
Testiranja so potekala tako, da smo najprej naredili simulacijo PID bloka v simulatorju na
progi drugega reda brez vplivov. Nato smo posneli karakteristiko PID regulatorja, ki je
tekel na krmilniku, prav tako na progi drugega reda. Pri analizi smo primerjali oba
dobljena odziva in iz tega ugotovili, kaj moramo spremeniti pri regulatorju iz krmilnika, da
bo naša regulacijska proga optimalna.
Zaradi pomanjkanja časa smo se omejili le na testiranje PID regulatorja na progi drugega
reda brez vplivov iz okolice. Kajti veliko časa je vzelo načrtovanje simulatorja in
grafičnega vmesnika v GUI –ju. Za grafični vmesnik je bilo potrebno narisati vmesnik in
nato za vse gumbe in okna napisati program v M-datoteki. Poleg tega smo morali napisati
še program v leder logiki za PID regulator, ki teče na krmilniku. Veliko časa je bilo
potrebnega za študiranje gradiva in pisanje programa v programu STEP 7.
Rezultati, ki smo jih dobili, so pokazali, da smo se naloge lotili na pravem delu in da smo
zastavljen cilj, kar se tiče pravilnosti delovanja simulatorja in načrtovanja optimalnih
66
regulacijskih algoritmov, tudi dosegli. Ko izračunamo parametre po eni izmed metod
načrtovanja parametrov in jih vstavimo v regulator in poženemo simulacijo, opazimo
razliko med odzivom idealnega regulatorja in odzivom regulatorja iz krmilnika. Do razlike
pride, ker ima regulator že sam po sebi druge pogoje delovanja. Te pa lahko v simulatorju
ocenimo in jih na podlagi ocene odpravimo, s tem, ko mu popravimo parametre, tako da
dela regulator na krmilniku tako dobro kot mi želimo, dobimo optimalno regulacijsko
progo sistema.
Pri tem simulatorju je še veliko možnosti za testiranje različnih sistemov in problematik.
Vseh pa nam zaradi pomanjkanja časa ni bilo mogoče realizirati. Med drugim je možnost
razširitve simulatorja in testiranje še drugih krmilnikov in regulacijskih algoritmov, kot je
na primer fuzzy logika. Ta simulator omogoča zelo kompleksno testiranje problematik
širokega spektra, zaradi tega bo vanj potrebno vložit še veliko dela in truda, a zasnova je
narejena.
67
VIRI IN LITERATURA
[1] R. Svečko: Diskretni regulacijski sistemi, FERI, Maribor, 2005.
[2] R. Svečko: Teorija sistemov, FERI, Maribor, 2000.
[3] Erste schritte und Übungen mit STEP 7 V5.3, Getting Started, Ausgabe 01/2004.
[4] Kontaktplan (KOP) für S7-300/400, Referenzhandbuch, Ausgabe 01/2004
[5] Basissoftware für S7-300/400 PID Control, Handbuch, Ausgabe 01/2004
[6] Programmieren mit STEP7 V5.3, Handbuch, Ausgabe 01/2004
[7] Automatisierungssystem S7-400 Aufbauen: Installationshandbuch, Ausgabe 11/2006
[8] MATLAB: Full product Family Help, Version 7.0.1
[9] MODEL PCL-818H, High Performence Data Acquisition Card With Programmable
Gain, User's Manuel
[10] Katalog CA 01-die offline Mall von Automation and Drives, Zgoščenka, 10/2006
[11] http://de.wikipedia.org/wiki/Regler#P-Regler_.28P-Anteil.29
[12] http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&lang=
de&siteid=cseus&aktprim=0&extranet=standard&viewreg=WW&objid=
10805186&treeLang=de
68
PRILOGE
- zgoščenka, na kateri je diplomsko delo v elektronski obliki, - program PID regulatorja za krmilnik, - program v M-datoteki za grafični vmesnik.
69
Naslov:
Ime in priimek: Andrej Glažar
Naslov: Dobrava 8a
Pošta: 2360 Radlje ob Dravi
Kratek življenjepis:
Rojen: 26. 6. 1982 v Slovenj Gradcu
Mati: Marija Glažar
Oče: Franc Glažar
Šolanje:
- Osnovna šola: OŠ Radlje ob Dravi; od šol. l. 1989/90 do šol. l. 1996/97
- Srednja šola: Gimnazija Ravne na Koroškem; od šol. l. 1997/98 do šol. l. 2000/01
- Študij: Fakulteta za elektrotehniko, računalništvo in informatiko; od študijskega leta
2001/02
do študijskega leta 2007/08
70
IZJAVA:
Podpisani Andrej Glažar izjavljam, da sem diplomsko nalogo izdelal sam. Zavedam se tudi
morebitnih posledic v primeru kršitve izjave.