Upload
zlaja85
View
258
Download
5
Embed Size (px)
Citation preview
TEHNIČKO VELEUČILIŠTE U ZAGREBU
STRUČNI STUDIJ ELEKTROTEHNIKE
Zlatko Mihić
OPIS PROGRAMSKOG RAZVOJNOG SUSTAVA FUZZY DESIGNER ZA PLC TVRTKE ALLEN BRADLEY
ZAVRŠNI RAD br. 789
Zagreb, prosinac, 2009
TEHNIČKO VELEUČILIŠTE U ZAGREBU
STRUČNI STUDIJ ELEKTROTEHNIKE
Zlatko Mihić
JMBAG: 2401030006
OPIS PROGRAMSKOG RAZVOJNOG SUSTAVA FUZZY DESIGNER ZA PLC TVRTKE ALLEN BRADLEY
ZAVRŠNI RAD br. 789
Mentor : dipl.ing Goran Malčić
Zagreb, prosinac, 2009
Sadržaj 1 UVOD ....................................................................................................................... 1
2 OSNOVE FUZZY LOGIKE ....................................................................................... 2
2.1 Fuzzy upravljanje .............................................................................................. 7
2.2 Fuzzifikacija ....................................................................................................... 8
2.3 Fuzzy obrada pravila ...................................................................................... 11
2.4 Defuzzifikacija ................................................................................................. 17
3 FUZZY DESIGNER ................................................................................................ 19
3.1 Fuzzy Designer korisničko sučelje .................................................................. 20
3.2 Struktura glavnog izbornika ............................................................................. 22
3.3 Fuzzy Designer komponente ........................................................................... 27
3.3.1 Ulazni port (Input Port) ............................................................................. 29
3.3.2 Ulazna jezična varijabla (Input Linguistic Variable) .................................. 31
3.3.3 Izlazna jezična varijabla (Output Linguistic Variable) ............................... 37
3.3.4 Izlazna Takagi-Sugeno varijabla (Output Takagi-Sugeno Variable) ......... 41
3.3.5 Jezična međuvarijabla (Intermediate Linguistic Variable) ........................ 45
3.3.6 Blok pravila (Rule Block) .......................................................................... 47
3.3.7 PID regulator (PID Controller) .................................................................. 50
3.3.8 Izlazni port (Output Port) .......................................................................... 55
3.4 Rule Editor ...................................................................................................... 56
3.5 Rad s blokovima .............................................................................................. 60
3.6 Nadzor i analiza fuzzy sustava ........................................................................ 61
3.6.1 Watch ....................................................................................................... 62
3.6.2 History Graph ........................................................................................... 64
3.6.3 2D i 3D graf .............................................................................................. 66
3.7 Simulacija fuzzy sustava ................................................................................. 69
3.8 Add-On instrukcija ........................................................................................... 71
3.8.1 Dodavanje Add-On instrukcija u RSLogix 5000 ....................................... 72
3.9 Online nadzor i nadogradnja fuzzy sustava ..................................................... 75
3.9.1 Konfiguracija RSLinx OPC Server-a ........................................................ 78
4 ZAKLJUČAK ........................................................................................................... 79
5 LITERATURA ......................................................................................................... 80
Popis slika Slika 2.1 Funkcija pripadnosti izrazitog skupa „vruće“ ..................................................... 3
Slika 2.2 Funkcija pripadnosti neizrazitog skupa „vruće“ ................................................. 4
Slika 2.3 Neizraziti skupovi A i B ..................................................................................... 5
Slika 2.4 Osnovne operacije u neizrazitim skupovima ..................................................... 6
Slika 2.5 Struktura fuzzy regulatora ................................................................................. 7
Slika 2.6 Trapezna funkcija .............................................................................................. 8
Slika 2.7 S-funkcija ......................................................................................................... 9
Slika 2.8 Inverzna trapezna funkcija ................................................................................ 9
Slika 2.9 Inverzna S-funkcija ........................................................................................... 9
Slika 2.10 Jedinična (engl. sinelton) funkcija ................................................................. 10
Slika 2.11 Razlika između izrazitog i fuzzy skupa ulazne varijable temperatura ............ 10
Slika 2.12 Metoda Mamdani modela zaključivanja ........................................................ 14
Slika 2.13 Utjecaj funkcije pripadnosti na karakter izlazne funkcijeTakagi-Sugeno
modela ........................................................................................................................... 16
Slika 2.14 Defuzzifikacija izlaznih jediničnih funkcija izlazne varijable ........................... 18
Slika 3.1 Korištenje Fuzzy Designer-a pomoću RSLogix-a 5000 ................................... 19
Slika 3.2 Izgled glavnog prozora Fuzzy Designer-a ....................................................... 20
Slika 3.3 Izgled projektnog prozora Fuzzy Designer-a .................................................. 20
Slika 3.4 Alatna traka Fuzzy Designera ......................................................................... 21
Slika 3.5 Status bar ....................................................................................................... 21
Slika 3.6 Tree view ........................................................................................................ 21
Slika 3.7 Ispravno spajanje komponenti ....................................................................... 27
Slika 3.8 Neispravno spajanje komponenti .................................................................... 27
Slika 3.9 Ulazni port (Input Port) .................................................................................... 29
Slika 3.10 Bodeov dijagram Butterworth filtra (niski propust)......................................... 29
Slika 3.11 Glavni izbornik ulaznog porta ........................................................................ 30
Slika 3.12 Izbornik za opis funkcije ulaznog porta ......................................................... 31
Slika 3.13 Ulazna jezična varijabla (Input Linguistic Variable) ....................................... 31
Slika 3.14 Spajanje ulazne jezične varijable na ulazni port ........................................... 32
Slika 3.15 Odabir mjerne jedinice ulazne varijable ........................................................ 33
Slika 3.16 Odabir opsega vrijednosti ulazne varijable ................................................... 33
Slika 3.17 Izbor funkcija pripadnosti ulazne varijable .................................................... 34
Slika 3.18 Opis funkcije ulazne jezične varijable ........................................................... 34
Slika 3.19 Nadzor i uređivanje funkcija pripadnosti ....................................................... 35
Slika 3.20 Detaljno uređivanje granica funkcija pripadnosti ........................................... 36
Slika 3.21 Izlazna jezična varijabla (Output Linguistic Variable) .................................... 37
Slika 3.22 Određivanje naziva izlazne jezične varijable i metode defuzzifikacije ........... 38
Slika 3.23 Odabir mjerne jedinice izlazne varijable ........................................................ 38
Slika 3.24 Izbor mjernog opsega i postavljanje defaultne izlazne vrijednosti ................. 39
Slika 3.25 Odabir izlaznih funkcija pripadnosti ............................................................... 40
Slika 3.26 Opis funkcije izlazne jezične varijable ........................................................... 40
Slika 3.27 Prikaz defaultne vrijednosti izlazne varijable ................................................. 41
Slika 3.28 Izlazna Takagi-Sugeno varijabla (Output Takagi-Sugeno Variable).............. 41
Slika 3.29 Spajanje linkova na Takagi-Sugeno varijablu ............................................... 42
Slika 3.30 Odabir mjerne jedinice Takagi-Sugeno varijable .......................................... 43
Slika 3.31 Opseg vrijednosti Takagi-Sugeno varijable ................................................... 44
Slika 3.32 Opis funkcije Takagi-Sugeno varijable .......................................................... 45
Slika 3.33 Jezična međuvarijabla (Intermediate Linguistic Variable) ............................. 45
Slika 3.34 Određivanje naziva međuvarijable ................................................................ 46
Slika 3.35 Odabir funkcija pripadnosti međuvarijable .................................................... 46
Slika 3.36 Opis funkcije međuvarijable .......................................................................... 47
Slika 3.37 Blok pravila (Rule Block) ............................................................................... 47
Slika 3.38 Odabir naziva bloka pravila i vrste T-norme koju on koristi ........................... 48
Slika 3.39 Spajanje ulaznih i izlaznih linkova na blok pravila ......................................... 49
Slika 3.40 Opis funkcije bloka pravila ............................................................................ 50
Slika 3.41 Izbor glavnih parametara PID regulatora unutar Fuzzy Designera ............... 51
Slika 3.42 Izbor dodatnih opcija PID regulatora ............................................................. 53
Slika 3.43 Opis funkcije PID regulatora ......................................................................... 54
Slika 3.44 Izlazni port (Output Port) ............................................................................... 55
Slika 3.45 Određivanje naziva izlaznog porta ................................................................ 55
Slika 3.46 Opis funkcije izlaznog porta .......................................................................... 56
Slika 3.47 Blok zadanih pravila ...................................................................................... 56
Slika 3.48 Korištenje ILI (OR) veznika u kreiranju pravila .............................................. 58
Slika 3.49 Automatsko generiranje pravila .................................................................... 58
Slika 3.50 Odabir rednog broja označenog pravila ........................................................ 59
Slika 3.51 Prikaz zadanih pravila u obliku teksta ........................................................... 59
Slika 3.52 Nadzor ulaznih i izlaznih varijabli .................................................................. 62
Slika 3.53 Ograničavanje količine semplova u memoriji ................................................ 62
Slika 3.54 Odabir varijabli čije će se vrijednosti spremati u memoriju ............................ 63
Slika 3.55 Odabir varijabli koje želimo prikazati na grafu ............................................... 63
Slika 3.56 Odabir varijabli čije vrijednosti želimo spremiti za kasniju obradu ................. 64
Slika 3.57 Izgled History Graph prozora i neki njegovi dijelovi ....................................... 65
Slika 3.58 Odabir opsega vrijednosti vertikalne osi grafa .............................................. 65
Slika 3.59 Izbor varijabli koje želimo prikazati na 2D grafu ............................................ 66
Slika 3.60 2D graf ......................................................................................................... 67
Slika 3.61 Izbor varijabli koje želimo prikazati na 3D grafu ............................................ 68
Slika 3.62 3D graf .......................................................................................................... 68
Slika 3.63 Simulacija fuzzy sustava ............................................................................... 70
Slika 3.64 Kreiranje Add-On instrukcije ......................................................................... 71
Slika 3.65 Dodavanje Add-On instrukcije u RSLogix 5000 projekt ................................ 72
Slika 3.66 Odabir željene Add-On funkcije .................................................................... 73
Slika 3.67 Add-On instrukcija untar RSLogix 5000 spremna za korištenje .................... 73
Slika 3.68 Ad-On instrukcija kao ladder element ........................................................... 73
Slika 3.69 Kreirani tagovi za Add-On instrukciju ............................................................ 74
Slika 3.70 Prikaz ulaznih i izlaznih varijabli fuzzy sustava u ladder elementu ............... 74
Slika 3.71 Odabir RSLinx OPC Servera ....................................................................... 75
Slika 3.72 Izbor Add-On instrukcije koju želimo nadzirati .............................................. 76
Slika 3.73 Prozor za online nadzor i nadogradnju fuzzy sustava ................................... 76
Slika 3.74 Vrijeme osvježavanja ulaznih podataka s PLC-a .......................................... 77
Slika 3.75 Online nadzor ulaznih i izlaznih varijabli fuzzy sustava ................................. 77
Slika 3.76 Izgled ladder elementa Add-On instrukcije u upotrebi ................................... 77
Slika 3.77 Konfiguracija komunikacije između PLC-a i RSLinx Classic-a ...................... 78
1. UVOD
1
1 UVOD
Razvojem modernih industrijskih postrojenja došlo je do potrebe za uvođenje novih
regulacijskih tehnika. Želja da se brže, jeftinije, te kvalitetnije upravlja procesima samo
je ubrzalo taj proces. Jedna od tehnika regulacije čija se upotreba zadnjih desetak
godina intenzivirala je fuzzy (neizravna) regulacija, koja je bazirano na fuzzy logici.
Premda fuzzy logika svoju primjenu ima u svim granama znanosti (medicina,
ekonomija, biologija...) nama je najzanimljivija njezina upotreba u procesnoj industriji.
Takva vrsta regulacije nalazi svoju primjenu u sustavima kod kojih su tradicionalne
metode regulacije teško ostvarive zbog kompleksnosti sustava (nelinearni sustavi ili
sustavi čiji je matematički model vrlo teško ili nemoguće opisati). Fuzzy logika stvorena
je kako bi omogućila da se sistematski i matematički oponaša ljudski razum, stoga je
kod kreiranja fuzzy regulatora vrlo važano ekspertno znanje o sustavu kojeg se želi
regulirati. Ali osim za procese za čije je upravljanje potrebno ekspertno znanje,
realizirane su i brojne primjene neizravne logike u sustavima s poznatim matematičkim
modelom, kod kojih je problem regulacije već bio više ili manje kvalitetno rješen
korištenjem konvencionalnih koncepata. Kao glavni, premda često i osporavani razlozi
primjene fuzzye logike u takvim sustavima najčešće se navode veća robusnost i lakša
sinteza regulatora.
Vodeći svjetski proizvođači industrijske računalne opreme su stoga na tržištu ponudili
programske pakete s kojima je moguće primjeniti takav način regulacije na relativno
jednostavan način. Tvrtka Rockwell software je izdala programski paket Fuzzy Designer
pomoću kojeg je moguće ostvariti primjenu fuzzy regulacije u uređajima proizvođača
Allen Bradley .Opis i primjena Fuzzy Designer-a bit će obrađena opširnije u drugom
djelu ovog rada, gdje će se pokušati dati sve prednosti i mane njegove upotrebe u
automatskoj regulaciji. Prvi dio rada je rezerviran za detaljniji opis fuzzy logike i
usporedbu s klasičnom logikom.
2. OSNOVE FUZZY LOGIKE
2
2 OSNOVE FUZZY LOGIKE
Teoriju neizrazitih (engl. fuzzy) skupova predstavio je Lotfi Zadeh još 1965. godine u
sklopu koje je uveden i koncept fuzzy logike.Iako je početni razvoj ukazivao na
potencijalnu primjenu u društvenim znanostima, područje pune afirmacije postala je
tehnika, u kojoj se koristi u širokom rasponu industrijskih i znanstvenih primjena. Danas
su najznačajnija područja tehničke primjene fuzzy logike: automatska regulacija, analiza
podataka, te sustavi za nadzor i dijagnostiku. U primjenu je fuzzy logiku prvi uveo
E.Mamdani 1976. godine koji je uspio opisati problem regulacije protoka i temperature
pare u laboratorijskom parnom postrojenju, pomoću jezičnih pravila koje je postavio
iskusni operater.
Kako bi se najslikovitije prikazala razlika između klasičnog i fuzzy reguliranja,
potrebno je usporediti teorije skupova na kojima se one baziraju.
U tradicionalnoj (klasičnoj) teoriji skupova, skup predstavlja kolekciju objekata koji djele
neko zajedničko svojstvo. Pripadnost objekata klasičnom skupu točno je određena: ili je
objekt unutar skupa ili je izvan njega.
Ako se pripadnost objekata skupu želi izraziti funkcijski, tada funkcija pripadnosti
objekta x skupu A, µA (x) ima samo dvije vrijednosti i definirana je kao:
( )
∉∈
=AxzaAxza
xA ,0,1
µ
Skupovi klasične teorije se često nazivaju izraziti (engl. crisp).
U nekim podjelama objekata na skupove stroga definicija pripadnosti nije
prikladna, jer koji put nije moguće odrediti zadovoljavajuću izrazitu granicu između
objekata. Kao tipičan primjer često se navodi problem matematičkog opisa ljudske
percepcije temperature okoline, gdje se po iznosu vrlo bliske numeričke vrijednosti
mogu naći u različitim skupovima.
Tako naprimjer osoba upitnan za klasifikaciju temperature zraka, u skup vruće
može smjestiti sve temperature veće od 30 ˚C, dok će intuitivno vrlo bliska vrijednost od
29,9 ˚C pripadati drugom skupu (npr. toplo).
2. OSNOVE FUZZY LOGIKE
3
Simbolički zapis izrazitog skupa vruće preko funkcije pripadnosti bio bi:
( )
<
≥=
CxzaCxza
xvruce
30,030,1
µ
Za razliku od tradicionalnog pristupa, teorija neizrazitih (engl. fuzzy) skupova dopušta
djelomičnu ili stupnjevitu pripadnost elementa skupu, a funkcijske vrijednosti funkcije
pripadnosti nalaze se unutar intervala [0,1]. Pri tome vrijednost 0 označava da je objekt
potpuno izvan skupa, 1 da je potpuno unutar skupa, a bilo koja vrijednost između
označava djelomičnu pripadnost tom skupu. Na taj način neizraziti skup vruće mogao bi
se definirati kao:
( ) ( )
<
≥≤−
>
=
Cxza
CxCzaxCxza
xvruce
26,0
3426,826
34,1
µ
Ovakva definicija znatno je bliža načinu na koji čovjek doživljava i u govoru interpretira
osjet temperature okoline. Tako bi prosječan promatrač, označio temperaturu od 22 ˚C
s nije vruće, 28 ˚C s malo je vruće, 33 ˚C s prilčno je vruće, a 40˚C s jako je vruće.
Razlike između funkcije pripadnosti neizrazitog i izrazitog skupa vruće prikazane
su na slikama 2.1. i 2.2.
Slika 2.1 Funkcija pripadnosti izrazitog skupa „vruće“
2. OSNOVE FUZZY LOGIKE
4
Slika 2.2 Funkcija pripadnosti neizrazitog skupa „vruće“
U okvirima teorije neizrazitih skupova pojmovi vruće, visok, brzo, svježe
predstavljaju neizrazite stanja (skupove) koji određuju jezične (lingvističke) varijable ili u
užem smislu vrijednosti jezičnih varijabli ( temperture, tlaka, brzine vrtnje motora,
starosti sirovine).
Na primjer, jezična varijabla tlak može imati četiri stanja (nizak, normalan, visok i
vrlo visok), odnosno četiri odgovarajuća neizrazita skupa. Za svaku neizrazitu varijablu
se može definirati nekoliko neizrazitih stanja. Neizraziti skup određen je funkcijom
pripadnosti, a način zadavanja funkcije pripadnosti najviše ovisi o karakteru sustava ili
varijabli koje se grupiraju.
Na sličan način na koji klasična teorija skupova predstavlja temelj klasične logike,
teorija neizrazitih skupova temelj je neizrazite logike. Veza je uspostavljena preko
definicije osnovnih operacija nad skupovima i njihovih logičkih ekvivalenata.
Proširenje skupa funkcijskih vrijednosti funkcije pripadnosti sa dvije {0, 1} u klasičnoj
na čitav interval [0,1] u fuzzy logici omogućilo je i znatno veći broj definicija osnovnih
operacija nad neizrazitim skupovima.
Unija, presjek i komplement su osnovne teorijske operacije u neizrazitoj logici. Općenita
definicija operacija unije i presjeka nad neizrazitim skupovima izvedena je preko
trokutnih normi i konormi
2. OSNOVE FUZZY LOGIKE
5
U primjeni se najčešće koriste sljedeće T i S norme:
Minimum TM , maximum SM
( ) ( ) ( ) ( )yxyxSyxyxT MM ,max,,min, ==
Algebarski produkt TP
Lukasiewicz t-norma TL (ograničeni produkt), ograničena suma SL
( ) ( ) ( )1,min,)0,1(max, yxyxSyxyxT LL +=−+=
U sljedećem primjeru je zadano po jedno neizrazito stanje za svaku varijablu kako bi se
lakše predočile osnovne operacije u neizrazitim skupovima.
Ako su zadane t-norma T, t-konorma S, te neizraziti skupovi A i B na domeni X
Slika 2.3 Neizraziti skupovi A i B
( ) yxyxTP ∗=,
2. OSNOVE FUZZY LOGIKE
6
onda su funkcije pripadnosti presjeka BA∩ , unije BA∪ i komplementa AC
zadane s:
-unija
-presjek
-komplement
Slika 2.4 Osnovne operacije u neizrazitim skupovima
2. OSNOVE FUZZY LOGIKE
7
2.1 FUZZY UPRAVLJANJE
Do danas su razvijene mnoge tehnike upraljanja sustavima koje bi trebale omogućiti
ostvarivanje željenih performansi, a koje bi regulator trebao ispuniti. Najveći broj
regulatora u upotrebi danas su PID regulatori koji se često smatraju kao adekvatno
rješenje koje je jednostavno, pouzdano i u velikoj mjeri lako razumljivo. Temelje se na
diferencijalnim jednadžbama koje dovoljno dobro opisuju dinamičko ponašanje sustava.
Te jednadžbe opisuju proces sa određenim stupnjem zanemarivanja a sve u cilju da se
dobije što jednostavniji model procesa koji zadovoljavajuće predstavlja sustav i njegovu
dinamiku. Da bi se dobili regulatori dobrih performansi razvijene su razne metode
podešavanja regulatora, koje su u kompleksnijim sustavima previše komplicirane.Fuzzy
upravljanje osigurava metodologiju za predstavljanje, manipulaciju i implementaciju
ljudskog intuitivnog znanja o tome kako kontrolirati jedan, određeni sustav. Cilj fuzzy
pristupa je da, umjesto matematički pokuša što bolje rješiti problem upravljanja
sustavom, tako da omogući implementaciju inženjerskog iskustva o procesu u sam
algoritam regulatora.Fuzzy regulator treba gledati kao na donosioca odluke koji radi u
sustavu sa zatvorenom povreatnom vezom u realnom vremenu. On skuplja podatke s
izlaza procesa uspoređuje ih sa referentnim podacima i onda na način svojstven fuzzy
logici odlučuje što u tom trenutku treba biti na ulazu procesa i to tako da se zadovolje
željene performanse sustava.
Fuzz
ifika
cija
Def
uzzi
fikac
ija
Fuzzy obrada pravila i izlazna
kalkulacija
FUZZY REGULATOR
Ulazni modul
Izlazni modul
Proces
Slika 2.5 Struktura fuzzy regulatora
2. OSNOVE FUZZY LOGIKE
8
Fuzzy regulator izvršava tri osnovna procesa:
• Fuzzifikacija - Modificira signale ulaza tako da mogu biti pravilno protumačeni i
uspoređeni sa zadanim pravilima.Ukratko rečeno pretvara ulazne digitalne
varijable u jezične varijable
• Fuzzy obrada pravila – Izračunavaju se zadana pravila određenim
mehanizmom zaključivanja, koja su relevantna s obzirom na vrijednost ulaznih
varijabli kako bi se dobile izlazne vrijednosti.
• Defuzzifikacija – Transformira izlazne vrijednosti nakon obrade pravila u takav
oblik signala koji se može koristiti na ulazu u proces.Jezične varijable pretvara u
digitalni oblik.
2.2 FUZZIFIKACIJA
Fuzzifikacija u je proces kod kojeg se ulazna digitalna vrijednost pretvara u takav
oblik da bude primjenjiv u fuzzy logici odnosno regulatoru. To nam omogućuju funkcije
pripadnosti, koje ustvari određuju stupanj istinosti neke tvrdnje β. Tijekom fuzzifikacije
fuzzy logički kontroler, prima ulazne podatke u digitalnom obliku, koje se nazivaju fuzzy
varijable. Te varijable se analiziraju prema unaprijed zadanim grafovima (funkcije
pripadnosti). Funkcije pripadnosti određujemo ovisno o procesu kojeg želimo regulirati.
Možemo birati oblik (trapezna, s-funkcija, jedinična) i broj funkcija pripadnosti koji želimo
u procesu, ovisno o željenoj preciznosti odnosno stabilnosti sustava. Funkcije
pripadnosti grupiraju ulazne vrijednosti u fuzzy skupove određene jezične varijable.
U nastavku su grafički i matematički prikazane funkcije pripadnosti koje se
najčešće koriste :
Slika 2.6 Trapezna funkcija
2. OSNOVE FUZZY LOGIKE
9
Slika 2.7 S-funkcija
Slika 2.8 Inverzna trapezna funkcija
Slika 2.9 Inverzna S-funkcija
2. OSNOVE FUZZY LOGIKE
10
Slika 2.10 Jedinična (engl. sinelton) funkcija
Regulator dodjeljuje ulaznim podacima, vrijednost između 0 i 1, temeljeći to na funkciji
pripadnosti, te tako određuje u kojoj mjeri ulazna vrijednost pripada nekom fuzzy skupu.
Kako bi se slikovitije predočila, metoda fuzzifikacije je prikazana na sljedećoj slici.
Slika 2.11 Razlika između izrazitog i fuzzy skupa ulazne varijable temperatura
2. OSNOVE FUZZY LOGIKE
11
Vidljivo je da izraziti skup temperatura ima čvrsto određene granice skupova i ulazna
vrijednost temperature može pripadati samo u jedan skup (niska, srednja ili visoka).
Za razliku od izrazitog, fuzzy skupovi se preklapaju i ulazna varijabla može pripadati u
dva fuzzy skupa ovisno o samoj vrijednosti ulazne varijable.
Za temperaturu od 95 ˚C ulazana vrijednost ima sljedeći stupanj pripadnosti β :
Stupanj pripadnosti ulazne varijable temperatura za stanje niska je 0
Stupanj pripadnosti ulazne varijable temperatura za stanje srednja je 0.8
Stupanj pripadnosti ulazne varijable temperatura za stanje visoka je 0.2
, što je zapisano i na sljedeći jednostavniji način :
βtemp (niska)= 0
βtemp (srednja)= 0.8
βtemp (visoka)= 0.2
Proces fuzzifikacije je završen dodjeljivanjem stupnja pripadnosti β ulazne varijable
(temperature) u određeni skup (niska, srednja ili visoka).
2.3 FUZZY OBRADA PRAVILA
Cilj fuzzy regulatora je da fuzzy logikom obradi fazificirane ulazne vrijednosti na
temelju if-then pravila, te rezulatate takve obrade prenese na izlaz.
U formiranju kvantitativnih modela ljudskog razmišljanja (koje je izraženo riječima i
rečenicana govornog jezika) polazi se od fuzzy pretpostavki. Općeniti oblik fuzzy
pretpostavke zadan je s „x je A“ , gdje je A jezična vrijednost zadana fuzzy skupom
(funkcijom pripadnosti) nad domenom jezične varijable x. Fuzzy pretpostavka
uspoređuje varijablu x i skup A, odnosno određuje stupanj pripadnosti varijable x fuzzy
skupu A. Za povezivanje pretpostavki koriste se riječi (veznici) I, ILI, te AKO – ONDA (
engl. AND, OR, IF – THEN) , koje se kvantificiraju preko T i S normi.
2. OSNOVE FUZZY LOGIKE
12
Tako se za računanje zaključka nekog pravila, ako koristimo veznik I najčešće
koriste TM i TP norme, a ako koristimo veznik ILI SM norma.
Kombinacijom pretpostavki i veznika nastaje fuzzy pravilo koje u općem slučaju ima
oblik:
AKO x je A I y je B ONDA z je C
i gdje je „ x je A I y je B “ predstavlja uvjet, a „ z je C “ zaključak ili posljedicu pravila.
Takva pravila koriste se u svakodnevnom životu za opisivanje različitih pojava, npr:
- ako je brzina velika i nadolazeći zavoj oštar, onda treba usporiti
- ako je tlak visok, onda treba otvoriti ventil
- ako je temperatura visoka, onda treba isključiti grijač.
Za opis odabranog procesa odnosno sustava obično je potreban veći broj pravila,
pa se govori i o skupu, tj. bazi fuzzy pravila (engl. rule - base). Maksimalan broj pravila
je određen brojem ulaznih varijabli i brojem stanja jezičnih varijabli. Ako je broj ulaza n,
a broj stanja za svaku varijablu m, tada je maksimalan broj pravila mn , ali često je
proces moguće opisati uz manji broj pravila. Sva pravila se izvršavaju paralelno i njihov
redosljed nije bitan.
Potrebno je definirati i način na koji se na temelju poznatih činjenica i zadane
fuzzy relacije odnosno pravila određuju zaključci. Taj proces nazivamo algoritam fuzzy
zaključivanja i možemo ga podijeliti na dva modela
Prvi se naziva Mamdani model , koji se koristio u prvim praktičkim primjenama
fuzzy logike, te još uvijek ima veliku primjenu u jednostavnim sustavima gdje nije
potrebna velika točnost niti stabilnost. U većini slučajeva neizraziti modeli opisuju
sustave koji imaju više od jedne ulazne varijable. Stoga je na sljedećem primjeru
prikazan algoritam zaključivanja Mamdani modela s dvije ulazne i jednom izlaznom
varijablom.
2. OSNOVE FUZZY LOGIKE
13
Primjer 2.3.1: Fuzzy regulator temperature i vlažnosti zraka u prostoriji upravlja brzinom vrtnje
ventilatora. Ulazne varijable su temperatura T i vlažnost H. Varijable su zadane
funkcijama pripadnosti, tj zadanim stanjima niska, ugodna, visoka za temperaturu T i
niska,umjerena, visoka za vlažnost H. Brzina vrtnje ventilatora ω može biti mala,
srednja ili velika.Algoritam zaključivanja određen je za trenutne izrazite vrijednosti
signala temperature T=Ti i vlažnosti H=Hi.
Za određivanje istinitosti zaključka (implikaciju) koristi se TM norma.
Za trenutnu vrijednost temperature od 12 ˚C imamo sljedeće stupnjeve pripadnosti:
βtemp (niska)= 1
βtemp (ugodna)= 0
βtemp (visoka)= 0
, a za vlažnost od 55 % sljedeće:
βvlaga (niska)= 0.3
βvlaga (umjerena)= 0.7
βvlaga (visoka)= 0
U formiranju izlaznog koristit signala ćemo samo dva pravila kako bi što jednostavnije
opisali Mamdani model:
AKO je temperatura niska I vlažnost niska ONDA je brzina ventilatora normalna
AKO je temperatura niska I vlažnost umjerena ONDA je brzina ventilatora velika
Mamdani model obrađuje pravila na taj način da prvo usporđuje uvjete u zadanim
pravilima. Onaj uvjet koji ima manju pripadajuću vrijednost određenom skupu se uzima
za daljnje određivanje vrijednosti izlaznog skupa tog pravila.
Tako se u prvom pravilu za određivanje vrijednosti izlaznog skupa normalna (brzina
ventilatora) uzima vrijednost uvjetne varijabla niska (vlažnost) jer je manja od
vrijednosti uvjetne varijable niska (temperatura).
2. OSNOVE FUZZY LOGIKE
14
U drugom pravilu se za određivanje vrijednosti izlaznog skupa velika (brzina
ventilatora) uzima vrijednosti uvjetne varijable umjerena (vlažnost).
Ukupni izlazni skup (brzina ventilatora) se računa tako da se izlazni skupovi (normalna
i velika) oba skupa zbroje. Na temelju tog izlaznog skupa (osjenčani dio izlaznog skupa
na slici 2.3.1) se određenom metodom defuzzifikacije određuje realna izlazna vrijednost.
1.0niska
0.7 umjerena
0.3 niska
MIN
MIN
PRAVILO 1
PRAVILO 2β2=0.7
β1=0.3
TEMPERATURA
VLAŽNOST
β2 β1
BRZINA VENTILATORA Slika 2.12 Metoda Mamdani modela zaključivanja
2. OSNOVE FUZZY LOGIKE
15
Drugi model se naziva Takagi – Sugeno i ciljano je razvijan kako bi povećao stabilnost
sustava napravljenih pomoću fuzzy logike. Razlikuje se od Mamdani modela u načinu
definiranja zakključaka. Umjesto fuzzy pretpostavke koristi se izrazita funkcija čiji su
argumenti ulazne varijable.
Pravila Takagi – Sugeno modela se zadaju u obliku:
AKO x je Ai I y je Bi ONDA je zi = fi(x, y)
gdje su Ai i Bi dijelovi fuzzy skupova zadane nad domenom ulaznih varijabli X i Y
, a fi (x,y) izrazite funkcije zaključaka. Funkcije fi zadaju se polinomski, najčešće
polinomom nultog ili prvog stupnja, a stupanj polinoma određuje naziv modela (pa se
razlikuju Takagi - Sugeno modeli nultog i prvog reda). Izlaz iz Takagi - Sugeno modela
uvijek je izrazit i određuje se interpolacijom zaključaka prema izrazu:
∑∑
=
ii
ii
i zz
β
β
, gdje je βi stupanj istinitosti uvjeta pojedinog pravila, a i broj važećih pravila ili ukupan
broj pravila neizrazitog sustava.
Primjenom Takagi – Sugeno modela ostvaren je postepeni prijelaz s jednog
skupa parametara na drugi.To je i glavni razlog česte primjene u regulacijskim
sustavima gdje se koriste za vođenje parametara lokalnih konvencionalnih PID
regulatora.Na karakter izlazne funkcije Takagi – Sugeno modela utječe i tip ulaznih
funkcija pripadnosti, pa ćemo to i prikazati na sljedećem primjeru.
Primjer 2.4.1: Takagi – Sugeno model prvog stupnja s jednom ulaznom x i jednom izlaznom y
varijablom zadan je s tri pravila :
AKO je x mali ONDA je y = 3x + 2
AKO je x srednji ONDA je y = -2.5x + 30
Ako je x veliki ONDA je y = -0.01x + 5
2. OSNOVE FUZZY LOGIKE
16
U prvom stupcu date su funkcije pripadnosti (stanja) ulazne ulazne varijable x, a u
drugom stupcu konačna izlazna funkcija. U primjeru (a) ulazna particija je izrazita a
izlazna je prekinuta i po odsječcima linearna. U primjeru (b) ulazne funkcije pripadnosti
su glatke (s-funkcija) i djelomično se preklapaju, izlazna funkcija je neprekinuta, glatka i
po dijelovima približno linearna. U (c) primjeru ulazne funkcije pripadnosti su u obliku
trokuta, a izlazne funkcije uvelike odstupaju od linearnih aproksimacija.
Slika 2.13 Utjecaj funkcije pripadnosti na karakter izlazne funkcijeTakagi-Sugeno modela
2. OSNOVE FUZZY LOGIKE
17
2.4 DEFUZZIFIKACIJA
Da bi se rezultantni izlazni skup mogao koristiti na ulazu u proces potrebno je
napraviti neizrazito-izrazitu pretvorbu (engl. defuzzification). To je ustvari proces koji je
suprotan procesu fuzzifikacije. Za određivanje izrazite vrijednosti koriste se različite
metode deffuzifikacije, a najpoznatije su:
• metoda težišta (engl. Center of Gravity) geometrijskog lika definiranog
rezultantnim neizrazitim skupom, može se koristiti i za skupove zadane u više
dimenzija
• metoda središta ukupne površine (engl. Center of Area), u kojoj su površine
neizrazitog skupa lijevo i desno od izlazne veličine indentične
• metoda središnje točke maksimuma (engl. Mean of Maximum) , tj. srednja
vrijednost apscisa točaka u kojima funkcija pripadnosti izlaznog neizrazitog
skupa dostiže maksimum (slične metode su najmenje i najveće apscise,
odnosno Smallest and Largest of Maximum).
Metode defuzzifikacije su računski vrlo intenzivne što predstavlja nedostatak u
praktičnim primjenama. Opseg računanja može se smanjiti ako se u zaključku koriste
jedinične funkcije (engl. singleton) izlazni skupovi.
Zbog dobrih interpolacijskih svojstava u primjenama prevladava metoda težišta.
Ta metoda je kontinuirana tako da se koristi gdje je portebna blaga ulazno-izlazna
funkcija (fuzzy regulacija).
Izlazna vrijednost se računa na sljedeći način:
∑
∑
=
=
⋅= n
ii
n
iii c
y
1
1
β
β
, gdje je y realna izlazna vrijednost, βi stupanj pripadnosti određenom izlaznom skupu,a
ci realna izlazna vrijednost na kojoj se nalazi jedinična funkcija, koja predstavlja izlazni
skup. Metoda težišta je prikazana na sljedećem primjeru.
2. OSNOVE FUZZY LOGIKE
18
Primjer: Ako je izlazna varijabla brzina ventilatora određena s tri izlazna skupa, tj. jediničnim
funkcijama i to tako da je izraziti skup:
- mala (brzina ventilatora) određena na 250 o/min, c1=250
- normalna (brzina ventilatora) određena na 750 o/min, c2=750
- velika (brzina ventilatora) određena na 1250 o/min, c3=1250
i stupnjem pripadnosti:
- β1=0 (mala)
- β2=0.3 (normalna)
- β3=0.7 (velika)
Slika 2.14 Defuzzifikacija izlaznih jediničnih funkcija izlazne varijable
∑
∑
=
=
⋅= n
ii
n
iii c
y
1
1
β
β
110007.3.00
12507.07503.02500
321
332211 =++
⋅+⋅+⋅=
++++
=ccc
cccy
βββ o/min
3. FUZZY DESIGNER
19
3 FUZZY DESIGNER
Fuzzy Designer je programski paket koji omogućuje razvoj fuzzy sustava. Sadrži
komponente koje se mogu koristiti za izradu nelinearnih fuzzy sustava. Za
kompliciranije sustave postoji mogućnost korištenja hijerarhijske strukture kako bi se
kompliciraniji sustav rastavio na nekoliko manjih, tj. jednostavijih sustava. Takva
struktura osigurava smanjenje korištenih IF-THEN pravila, te omogućuje lakši uvid u
ponašanje sustava. Fuzzy Designer se može koristiti u kontrolerima familije Logix5000
tvrtke Allen Bradley. Sustav kreiran u Fuzzy Designer-u može se spremiti u .L5X
formatu i na taj način se koristiti kao add-on instrukcija (AOI) za projekte u RSLogix-u
5000. Pomoću Fuzzy Designer-a moguće je vršiti nadzor i nadogradnju Add-On
instrukcije direktno na kontroleru gdje se ona i koristi uz upotrebu RSLinx OPC Server-
a. Fuzzy Add-On instrukcije se izravno ne mogu uspoređivati sa standardnim PID
kontrolerima, nego se koriste kao dopuna standardnom načinu upravljanja.
Razvojni put fuzzy logike za Logix aplikacije je sljedeći:
1. Dizajniranje fuzzy sustava u Fuzzy Designer-u
2. Generiranje fuzzy add-on instrukcije
3. Integriranje fuzzy add-on instrukcije u RSLogix 5000 projekt
4. Nadzor i nadogradnja add-on instrukcije pomoću Fuzzy Designer-a.
FuzzyDesigner RSLogix 5000
Add-On Instrukcija
RSLinx Classic
1.
4.2.
3.
Nadzor i upravljanje
Slika 3.1 Korištenje FuzzyDesigner-a pomoću RSLogix-a 5000
3. FUZZY DESIGNER
20
3.1 FUZZY DESIGNER KORISNIČKO SUČELJE
Kontrole u Fuzzy Designer-u su slične ostalim Microsoft Windows aplikacijama i stoga
su jednostavne za korištenje. Izgled glavnog prozora i njegovi glavni djelovi prikazani
su u nastavku.
Slika 3.2 Izgled glavnog prozora FuzzyDesigner-a
Unutar glavnog
prozora je otvoren
manji prozor odnosno
projektni prozor pod
nazivom Ventilator
unutar kojeg se
nalaze međusobno
spojene komponente
koje čine fuzzy
sustav. Slika 3.3 Izgled projektnog prozora Fuzzy Designer-a
3. FUZZY DESIGNER
21
Tool bar (atlatna traka) omogućuje brži pristup komandama.Možemo birati koje će se
ikone naći na njoj.Alatnu traku možemo po potrebi isključiti.
Slika 3.4 Alatna traka Fuzzy Designera
Status bar (statusna traka) nam daje uvid u kojem modu radi FuzzyDesigner.
Design mode (projektni mod) kada se program koristi za izradu fuzzy regulatora ili
Monitoring mode (nadzorni mod) kada se program koristi za nadzor fuzzy sustava, a
moguće je i mijenjati neke parametre, no dizajn sustava mora ostati isti.
Statusna traka nam također daje uvid u moguće greške.
Postoji mogućnost da statusnu traku isključimo.
Slika 3.5 Status bar
Tree view pogled nam prikazuje sve otvorene
projekte i komponente koje se u njima
koriste.Moguće ju je proširit ili suziti, to činimo tako
da lijevom tipkom miša uhvatimo desni rub trake te
ju pomičemo lijevo ili desno.Možemo ju po potrebi
isključiti.
Slika 3.6 Tree view
3. FUZZY DESIGNER
22
3.2 STRUKTURA GLAVNOG IZBORNIKA
Svi elementi glavnog izbornika i njihovo značenje opisani su u nastavku.
-glavni izbornik (main menu)
-projekt izbornik (project menu)
• New – kreiranje novog projekta
• Open... – otvara postojeći projekt
• Close – zatvara aktivan projekt
• Close All – zatvara sve projekte
• Save – sprema aktivan projekt
• Save As... – sprema aktivan projekt s željenim
nazivom
• Project Information ... - prikazuje osobine
aktivnog projekta
• Preview – prikazuje izgled aktivnog projekta
• Print... – ispisuje aktivan projekt
• Recent Projects – prikazuje zadnja četiri aktivna projekta
• Exit – izlaz iz programa
- izbornik za uređivanje (edit menu)
3. FUZZY DESIGNER
23
• Undo – odustaje od zadnje akcije
• Redo – vraća zadnju akciju od koje se odustalo
• Refresh – osvježava aktivni projekt
• Go to Monitoring Mode – omogućuje izbor između nadzornog ili projektnog moda
• New Port
- New Input Port – kreiranje ulaznog porta
- New Output Port – kreiranje izlaznog porta
• New Variable
- New Input Linguistic Variable... – kreiranje ulazne jezične varijable
- New Output Linguistic Variable... – kreiranje izlazne jezične varijable
- New Output Takagi-Sugeno Variable... – kreiranje izlazne Takagi-Sugeno
varijable
- New Intermediate Linguistic Variable... – kreiranje srednje jezične varijable
• New Rule Block... – kreiranje bloka pravila
• New PID Controller... – kreiranje PID regulatora
-view izbornik (view menu)
3. FUZZY DESIGNER
24
• Tool Bar
- Hide All Buttons – skriva sve ikone s alatne trake
- Show All Buttons – prikazuje sve ikone na alatnoj traci
- Create New Project – prikazuje ili skriva Create New Project ikonu s alatne
trake
- Open Project – prikazuje ili skriva Open Project ikonu s alatne trake
- Save Active Project – prikazuje ili skriva Save Active Project ikonu s alatne
trake
- Undo – prikazuje ili skriva Undo ikonu s alatne trake
- Redo – prikazuje ili skriva Redo ikonu s alatne trake
- Refresh Active Project – prikazuje ili skriva Refresh Active Project ikonu s
alatne trake
- Go to Monitoring Mode – prikazuje ili skriva Go to Monitoring Mode ikonu s
alatne trake
- Preview – prikazuje ili skriva Preview ikonu s alatne trake
- Print – prikazuje ili skriva Print ikonu s alatne trake
- Hide Tree View – prikazuje ili skriva Hide Tree View ikonu s alatne trake
- New Input Port – prikazuje ili skriva New Input Port ikonu s alatne trake
- New Output Port - prikazuje ili skriva New Output Port ikonu s alatne trake
- New Input Linguistic Variable - prikazuje ili skriva New Input Linguistic
Variable ikonu s alatne trake
- New Output Linguistic Variable – prikazuje ili skriva New Output Linguistic
Variable ikonu s alatne trake
- New Output Takagi-Sugeno Variable – prikazuje ili skriva New Output Takagi-
Sugeno Variable ikonu s alatne trake
- New Intermediate Linguistic Variable – prikazuje ili skriva New Intermediate
Linguistic Variable ikonu s alatne trake
- New Rule Block – prikazuje ili skriva New Rule Block ikonu s alatne trake
- New PID Controller – prikazuje ili skriva New PID Controller ikonu s alatne
trake
- Help - prikazuje ili skriva Help ikonu s alatne trake
3. FUZZY DESIGNER
25
• Status Bar – prikazuje ili skriva Status Bar alatnu traku iz glavnog prozora
• Tree View - prikazuje ili skriva Tree View pogled iz glavnog prozora
- alatni izbornik (tools menu)
• Options
- Show in Status Area – postavlja Fuzzy Designer u server mod
• Reset Internal States – resetira sva početna stanja filtara na ulaznim portovima i
PID kontroleru u aktivnom projektu
• Process Membership Functions – određuje prikladne izlazne varijable s obzirom
na fuzzy skupove aktivnog projekta
• Set Port Order …- određuje redosljed ulaznih ili izlaznih portova
• Watch … - omogućuje nadzor nad fuzzy sustavom
• Simulation... - simulira proces tako što omogućuje promjenu ulaznih varijabli uz
nadzor izlaznih
• 2D Graph … – izrada 2D grafa
• 3D Graph … – izrada 3D grafa
• Add-On Instruction … – kreiranje i nadzor Add-on instrukcije
3. FUZZY DESIGNER
26
-window izbornik (window menu)
• Tile – raspodjeljuje sve otvorene prozore po radnoj plohi
• Cascade – kaskadno raspodjeljuje sve otvorene prozore po radnoj plohi
• Arrange Icons – razdjeljuje ikone na radnoj plohi
• Minimaze All – minimizira sve otvorene prozore na radnoj plohi
• Maximaze All – maksimizira sve otvorene prozore na radnoj plohi
• Restore All – vraća sve otvorene prozore na njihovu normalnu veličinu na radnoj
plohi
- Help izbornik (Help menu)
• Contents... – prikazuje sadržaj Help
izbornika
• Index... – prikazuje index Help izbornika
• Search... – prikazuje prozor za upis
traženog pojma
• Product Activation... – aktivacija programa
• About... – prikazuje informacije o FuzzyDesigneru (licencu , verziju)
3. FUZZY DESIGNER
27
3.3 FUZZY DESIGNER KOMPONENTE
Postoji osam komponenti pomoću kojih se efikasno može napraviti fuzzy sustav.
• Ulazni port
• Ulazna jezična varijabla
• Izlazni port
• Izlazna jezična varijabla
• Izlazna Takagi-Sugeno varijabla
• Srednja jezična varijabla
• Blok pravila
• PID regulator
One istog tipa korištene više od jednom u istom projektu moraju imati različite
nazive.Ulazni port i ulazna jezična varijabla mogu imati isti naziv, kao i izlazni port i
izlazna jezična varijabla.Komponente se spajaju linkovima. Fuzzy Designer koristi ikone
unutar komponenti kako bi znali koje komponente možemo međusobno spojiti. To znači
da s obje strane linka treba postojati ista ikona kako bi se dvije komponente mogle
spojiti. Razlog tomu je što neke komponente nemaju mogućnost rada s realnim i fuzzy
podacima , nego samo s jednim tipom podataka.
Slika 3.7 Ispravno spajanje komponenti
Slika 3.8 Neispravno spajanje komponenti
3. FUZZY DESIGNER
28
Komponente u aktivni projekt možemo dodati na sljedeće načine. Iz glavnog izbornika:
, s alatne trake
ili iz izbornika koji se otvori ako kliknemo desnom tipkom miša u projektnom prozoru
3. FUZZY DESIGNER
29
3.3.1 Ulazni port (Input Port)
Slika 3.9 Ulazni port (Input Port)
Ulazni port prikazuje trenutnu realnu vrijednost ulaza. Ulazne vrijednosti se mogu
filtrirati koristeći digitalni linearni filtar.Filtar je definiran prijenosnom funkcijom H
( ) ( )( ) ( ) ( ) ( )dudHdy
dadadbdbb
dadbdH n
n
mm =
++++++
== ,...1...
11
10
( ) ( ) ( ) ( ) ( ) ( )ntyatyamtubtubtubty nm −−−−−−++−+= ...1...1 110
i s koeficjentima u nazivniku a1, a2,...,an i b0, b1, ..., bm u brojniku.
Možemo načiniti dvije vrste filtra:
-korisnički filtar, gdje sami određujemo koeficijente filtra b0, b1, ..., bm i a1, a2,...,an.
-Butterworth filtar (niski propust), gdje je potrebno odrediti normiranu graničnu
frekvenciju q, na intervalu [0.01, 1], te red filtra(1, 2, 3).
Slika 3.10 Bodeov dijagram Butterworth filtra (niski propust)
Normirana frekvencija q korespondira absolutnoj frekvenciji nc qωω = , gdje je s
n Tπϖ =
Nyquistova frekvencija za vrijeme uzorkovanja Ts.
3. FUZZY DESIGNER
30
Kada dodajemo novi ulazni port ili uređujemo postojeći otvori se sljedeći prozor:
Slika 3.11 Glavni izbornik ulaznog porta
Izborniku General možemo koristiti sljedeće parametre pri kreiranju novog ili uređivanju
postojećeg ulaznog porta:
• Port Name – naziv ulaznog porta. Taj naziv će se koristiti kao ulazni parametar
kada se fuzzy algoritam kompajlira kao Add-On instrukcija
• Use Filter – ulazni port se može filtrirati, ako se označi Use Filter i odrede
koeficijenti filtra
• Butterworth Lowpass Filter – određuje parametre Butterworth niskopropusnog
filtra ako označimo ikonu Butterworth Lowpass Filter
- Filter Order – željeni red filtra
- Cutoff Frequency – granična frekvencija filtra
• Filter with Specific Transfer Function – određuje parametre filtra sa željenom
prijenosnom funkcije ako je ikona Filter with Specific Transfer Function
označena
- Numerator Coefficients – koeficijenti brojnika prijenosne funkcije b0, b1, ..., bm
- Denominator Coeffiicients – koeficijenti nazivnika prijenosne funkcije a1, a2,...,an
• Get Transfer Function– ako želimo dobiti koeficijente korištenog filtra
3. FUZZY DESIGNER
31
U izborniku Description unosimo opis ulaznog porta odnosno koja je njegova uloga.
Opis će se koristiti i u Add-On instrukciji.
Slika 3.12 Izbornik za opis funkcije ulaznog porta
• Reset Filter State – resetira početna stanja korištenog filtra
3.3.2 Ulazna jezična varijabla (Input Linguistic Variable)
Slika 3.13 Ulazna jezična varijabla (Input Linguistic Variable)
Ova komponenta sadrži funkcije pripadnosti (fuzzy skupove), te se koristi za
fuzifikaciju (poglavlje 2.2) ulazne realne vrijednosti.Izlaz ove komoponente je fuzzy
podatak odnosno stupanj pripadnosti ulazne realne varijable u neki od zadanih fuzzy
skupova koji su zadani funkcijama pripadnosti.
3. FUZZY DESIGNER
32
Ulazna jezična varijabla sastoji se od jezičnih stanja. Svako jezično stanje je definirao
fuzzy skupom, tj. funkcijom pripadnosti.Postoje četiri funkcije pripadnosti koje ova
komponenta podržava:
• trapezna
• S-funkcija
• inverzna trapezna
• inverzna S-funkcija
Kada dodajemo novu ulaznu jezičnu varijablu ili uređujemo postojeću, otvori se sljedeći
prozor:
• Izbirnik General
Slika 3.14 Spajanje ulazne jezične varijable na ulazni port
- Variable Name – naziv varijable
- Input Link: – iz padajuće trake odabiremo kompatibilnu komponentu koja se
spaja na ulazni link (ulazni port, izlazna jezična varijabla, izlazna Takagi-Sugeno
Varijabla, PID regulator).Ako ulazni link nije spojen niti na jednu komponentu u
padajućoj traci će se naći sve kompatibilne komponente.
3. FUZZY DESIGNER
33
• Unit izbornik
Slika 3.15 Odabir mjerne jedinice ulazne varijable
- Predefined – padajući izbornik koji nam omogućuje izbor vrste varijable i njezine
mjerne jedinice
- User Defined – ako želimo koristiti valstitu mjernu jedinicu, možemo koristiti do
100 znakova
• Range izbornik
Slika 3.16 Odabir opsega vrijednosti ulazne varijable
-Variable Range :
- Minimum – određuje donju granicu ulazne varijable
- Maximum – određuje gornju granicu ulazne varijable
3. FUZZY DESIGNER
34
- Rescale Membership Functions of the Aplied Terms – raspodjeljuje funkcije
pripadnosti na zadani opseg vrijednosti ulazne varijable
• Terms Izbornik
Slika 3.17 Izbor funkcija pripadnosti ulazne varijable
- Count – određuje broj skupova (funkcija pripadnosti)
- Type – određuje vrstu funkcija pripadnosti (trapezna ili s-funkcija)
- Names – određuje nazive skupova
• Description Izbornik
Slika 3.18 Opis funkcije ulazne jezične varijable
3. FUZZY DESIGNER
35
Term Editor – otvara prozor u kojem možemo uređivati zadane skupove ,te
dodavati nove
Slika 3.19 Nadzor i uređivanje funkcija pripadnosti
-na alatnoj traci Term Editora se nalaze sljedeće ikone koje nam omogućuju
uređivanje ulaznih skupova:
• Add Term – dodavanje novog skupa (funkcije pripadnosti)
• Delete Term – brisanje označenog skupa
• -Inverse Term – invertiranje označenog skupa
• Convert Terms to Trapezoids – pretvaranje svih funkcija pripadnosti u
trapezni oblik
• Convert terms to S-functions – pretvaranje svih funkcija pripadnosti u
• s-funkciju
3. FUZZY DESIGNER
36
• Next Term – pomicanje na sljedeći skup
• Term Properties – otvara novi prozor koji omogućava uređivanjenje
označene funkcije pripadnosti:
- -Term Name – naziv skupa
- Term Type – vrstu funkcije pripadnosti
- Parameters – određivanje granica skupa
Slika 3.20 Detaljno uređivanje granica funkcija pripadnosti
• Shift Selected Term Left – pomiče označeni skup ulijevo
• Shift Selected Term Right – pomiče označeni skup desno
• Term DOFs Table Auto Arrange – optimizira širinu stupaca koji prikazuju
stupanj pripadnosti ulazne varijable
• Zoom Out – poništava uvećavanje (zumiramo tako da lijevom tipkom miša
označimo dio skupa koji želimo uvećati)
• Hide Term Names in Graph – skriva nazive skupova
• Variable Properties – otvara prozor u kojem možemo odrediti parametre
ulazne jezične varijable
3. FUZZY DESIGNER
37
3.3.3 Izlazna jezična varijabla (Output Linguistic Variable)
Slika 3.21 Izlazna jezična varijabla (Output Linguistic Variable)
Koristi se za defuzifikaciju (poglavlje 2.4), odnosno pretvaranje fuzzy podatka u realnu
vrijednost.Sadrži ulazni logički link, tj stupanj pripadnosti svih skupova određene jezične
varijable. Broj ulaznih logičkih linkova može biti veći, što znači da može biti spojen na
nekoliko blokova pravila. Komponenta može imati dvije vrste izlaznih linkova, realni i
logički. Logički ulazni link može biti spojen na jedan ili više blokova pravila. Izlazna
realna vrijednost je određena željenom metodom zaključivanja (poglavlje 2.3) i
metodom deffuzifikacije. Izlazni logički link omogućuje spajanje direktno na sljedeći blok
pravila. Ako je ulazni link spojen na jedan blok pravila tada će stupanj pripadnosti na
izlazu biti jednak onome na ulazu, a ako je spojen na više blokova pravila tada će
stupanj pripadnosti na izlazu biti određen najvećim stupnjem pripadnosti na ulazu za
određeni skup.
Izlazna jezična varijabla sadrži skupove koji su određeni funkcijama pripadnosti i
nazivima.
Sljedeće funkcije pripadnosti je moguće koristiti s ovom komponentom:
• trapezna
• jedinična.
Izlaz
3. FUZZY DESIGNER
38
Kada dodajemo novu izlaznu jezičnu varijablu ili uređujemo postojeću, otvori se sljedeći
prozor:
• Izbornik General
Slika 3.22 Određivanje naziva izlazne jezične varijable i metode defuzzifikacije
– Variable Name – željeni naziv varijable
– Fuzzy Inference Algorithm – određuje koji mehanizam zaključivanja će
se koristiti u određivanju zaključaka pravila
– Defuzzification Algorithm – određuje metodu defuziffikacije
– Compute Output Fuzzy Set – ako označimo ovu funkciju izlazni fuzzy
skup će se pokazati grafički. Na temelju tog izlaznog skupa će se
računati izlazna vrijedost određenom metodom defuziffikacije
• Unit izbornik
Slika 3.23 Odabir mjerne jedinice izlazne varijable
3. FUZZY DESIGNER
39
- Predefined – padajući izbornik koji nam omogućuje izbor vrste varijable
i njezine mjerne jedinice
- User Defined – ako želimo koristiti valstitu mjernu jedinicu, možemo
koristiti do 100 znakova
• Range izbornik
Slika 3.24 Izbor mjernog opsega i postavljanje defaultne izlazne vrijednosti
-Variable Range :
- Minimum – određuje donju granicu ulazne varijable
- Maximum – određuje gornju granicu ulazne varijable
- Default Value – određuje početnu zadanu vrijednost
- Rescale Membership Functions of the Aplied Terms – raspodjeljuje
funkcije pripadnosti na zadani opseg vrijednosti ulazne varijable
3. FUZZY DESIGNER
40
• Terms izbornik
Slika 3.25 Odabir izlaznih funkcija pripadnosti
- Count – određuje broj skupova (funkcija pripadnosti)
- Type – određuje vrstu funkcija pripadnosti (trapezna ili jedinična)
- Names – određuje nazive skupova
• Description izbornik
Slika 3.26 Opis funkcije izlazne jezične varijable
Term Editor – otvara prozor u kojem možemo uređivati zadane skupove, te
dodavati nove
Prozor je gotovo jednak onome kod ulazne jezične varijable, pa su nabrojene
samo razlike između njih.Kod ulazne jezične varijable se koristi trapezna ili
s-funkcija, a kod izlazne se koriste jedinična ili trapezna.
3. FUZZY DESIGNER
41
Kod izlazne jezične varijable postoji još i defaultna vrijednost stupnja pripadnosti
koja se zadaje proizvoljno kao parametar varijable, ali mora biti u zadanim
granicama izlazne varijable.
Slika 3.27 Prikaz defaultne vrijednosti izlazne varijable
3.3.4 Izlazna Takagi-Sugeno varijabla (Output Takagi-Sugeno Variable)
Slika 3.28 Izlazna Takagi-Sugeno varijabla (Output Takagi-Sugeno Variable)
Komponenta bazirana na Takagi-Sugeno modelu (poglavlje 2.3) i bloku pravila
osigurava blagi prijelaz između analitičkih funkcija kojima je određena izlazna varijabla.
Komponenta sadrži parametre referentne linearne ili konstantne rezultantne funkcije.
Ima dva ulazna linka, logički ulazni link ( stupanj pripadnosti svih referentnih funkcija)
,koji može biti višestruk, tj. spojen na više blokova pravila i realni ulazni link (spaja se na
komponente koje imaju realne izlaze), također može biti višestruk. Broj linkova ovisi o
broju rezultantnih varijabli.
3. FUZZY DESIGNER
42
Sadrži i dvije vrste izlaznih linkova, realni i logički.Izlazni logički link omogućuje spajanje
komponente direktno na druge blokove pravila. Ako je ulazni link komponente spojen na
jedan blok pravila, tada je stupanj pripadnosti na izlazu jednak onome na ulazu.
Ako je ulazni link spojen na više blokova pravila, tada se izlazni stupanj pripadnosti
referentnog skupa izračunava prema najvećem ulaznom stupnju pripadnosti tog skupa.
Izlazna Takagi-Sugeno varijabla sastoji se od funkcionalnih skupova. Svaki skup je
definiran s parametrima (a0, a1, ..., an) i nazivom ( parametri se unose određenim
redosljedom, a razdvojeni su zarezom). Svaki skup može biti drugog tipa. Postoje dvije
vrste funkcija koje ova komponenta podržava:
• Linearna funkcija: f(x1,x2,...xn) = a0 + a1 x1 + a2 x2 +...+ an xn
• Konstantna funkctija: f(x1,x2,...xn) = a0 ,
gdje su x1,x2,...xn izlazi prethodnih komponenti koje daju realne vrijednosti.
Komponenta računa konačni rezultat kao realnu vrijednost y:
∑∑
=
ii
nii
i xxxfy
β
β ),...,,( 21
Kada dodajemo novu izlaznu Takagi-Sugeno varijablu ili uređujemo postojeću, otvori se
sljedeći prozor:
• Izbornik General
Slika 3.29 Spajanje linkova na Takagi-Sugeno varijablu
3. FUZZY DESIGNER
43
– Variable Name – željeni naziv varijable
– Applied Input Links –svi ulazni linkovi su prikazani ovdje,a mogu se
spojiti na ulazni port, izlaznu jezičnu varijablu, blok pravila, i PID
regulator
– Available Input Links – omogućuje odabir mogućeg ulaznog linka s
padajuće trake
– Add Pin button – dodaje odabrani link u Applied Input Links prozor
– Remove Pin button – briše odabrani link iz Applied Input Links
prozora
– Connect button – spaja odabrani link
• Unit izbornik
Slika 3.30 Odabir mjerne jedinice Takagi-Sugeno varijable
- Predefined – padajući izbornik koji nam omogućuje izbor vrste
varijable i njezine mjerne jedinice
- User Defined – ako želimo koristiti valstitu mjernu jedinicu, možemo
koristiti do 100 znakova
3. FUZZY DESIGNER
44
• Range izbornik
Slika 3.31 Opseg vrijednosti Takagi-Sugeno varijable
-Variable Range :
- Minimum – određuje donju granicu ulazne varijable
- Maximum – određuje gornju granicu ulazne varijable
- Default Value – određuje početnu zadanu vrijednost
- Rescale Membership Functions of the Aplied Terms – raspodjeljuje
funkcije pripadnosti na zadani opseg vrijednosti ulazne varijable
3. FUZZY DESIGNER
45
• Description izbornik
Slika 3.32 Opis funkcije Takagi-Sugeno varijable
3.3.5 Jezična međuvarijabla (Intermediate Linguistic Variable)
Slika 3.33 Jezična međuvarijabla (Intermediate Linguistic Variable)
Jezična međuvarijabla se koristi kao buffer, odnosno međuspremnik koja nam dopušta
da se lančano spoji više blokova naredbi. Sadrži jezične skupove koji su samo
simboličnog značenja. Svaki skup je definiran imenom. Stupanj pripadnosti svih
skupova je rezultat logičkog zaključka prethodnih blokova pravila koji su spojeni na ovu
komponentu. Ako je na ulaz komponente spojen jedan blok pravila, tada je na izlazu
komponente stupanj pripadnosti samo kopiran s ulaza. Ako je ulaz spojen na više
blokova pravila tada je izlazni stupanj pripadnosti određen odgovarajućim maksimalnom
stupnju pripadnosti na ulazu.
3. FUZZY DESIGNER
46
Kada dodajemo novu jezičnu međuvarijablu ili uređujemo postojeću, otvori se sljedeći
prozor:
• Izbornik General
Slika 3.34 Određivanje naziva međuvarijable
-Variable Name – željeni naziv varijable
• Terms izbornik
Slika 3.35 Odabir funkcija pripadnosti međuvarijable
- Count – određuje broj skupova (funkcija pripadnosti)
- Names – određuje nazive skupova
3. FUZZY DESIGNER
47
• Description izbornik
Slika 3.36 Opis funkcije međuvarijable
- Variable Description – željeni opis varijable
3.3.6 Blok pravila (Rule Block)
Slika 3.37 Blok pravila (Rule Block)
Ova komponenta sadrži pravila, izvršava logičko zaključivanje zadanih pravila, te
računa stupanj pripadnosti jezičnog skupa određene varijable (izlazni logički link)
pomoću stupnja pripadnosti jezičnog skupa korištenog kao uvjet u zadanom pravilu
(ulazni logički link).
Fuzzy Designer podržava sljedeće t-norme (poglavlje 2) za određivanje stupnja
pripadnosti zaključka određenog pravila:
• za fuzzy I (AND) operator:
Minimum TM
( ) ( )yxyxTM ,min, =
3. FUZZY DESIGNER
48
( ) yxyxTP ∗=,
Algebarski produkt TP
• za fuzzy ILI (OR) operator
Maximum SM
( ) ( )yxyxSM ,max, =
Kada dodajemo novi blok pravila ili uređujemo postojeći, otvori se sljedeći prozor:
• Izbornik General
Slika 3.38 Odabir naziva bloka pravila i vrste T-norme koju on koristi
– Block Name – naziv bloka
– T-norm Type –izbor željene t-norm iz padajućeg izbornika
3. FUZZY DESIGNER
49
• Links izbornik
Slika 3.39 Spajanje ulaznih i izlaznih linkova na blok pravila
- Applied Input Logical Links Tab Dialog – lista koja pokazuje sve ulazne
logičke linkove spojene na komponentu
- Applied Output Logical Links Tab Dialog – lista koja pokazuje sve izlazne
logičke linkove spojene na komponentu
- New Logical Link combo box – iz padajućeg izbornika odabiremo željeni ulazni
ili izlazni link koji želimo spojiti na komponentu
- Add Link button – spaja odabrani link na komponentu
- Delete Link button – briše odabrani link, tj. odspaja link s komponente
3. FUZZY DESIGNER
50
• Description izbornik
Slika 3.40 Opis funkcije bloka pravila
- Variable Description – željeni opis varijable
3.3.7 PID regulator (PID Controller)
PID regulator omogućuje nam da napravimo inteligentan nadzor konvencionalnog PID
regulatora.Simboli i terminologija PID regulatora:
• PV -procesna varijabla
• CV -kontrolna varijabla
3. FUZZY DESIGNER
51
• SP -zadana vrijednost
• E –greška, odstupanje E=SP-PV
• P -proporcionalan član
• I -integracijski član
• D -derivacijski član
• Man -ručno postavljena varijabla CV-a
• Mode -mod regulatora.
Ova komponenta se može koristiti kao konvencionalni PID regulator s nadziranim
parametrima koji su određeni ulaznim linkovima komponente. Izlazna vrijednost
komponente je realne vrijednosti, te predstavlja kontrolnu varijablu.
PID regulator omogućuje limitiranje izlazne veličine i kontrolu mtrvog vremena
regulatora .
• General Tab izbornik
Slika 3.41 Izbor glavnih parametara PID regulatora unutar Fuzzy Designera
3. FUZZY DESIGNER
52
– PID Controller Name – naziv regulatora
– Input Links group box – postavke svih dostupnih ulaznih linkova ili vrijednosti
- Process Variable – postavlja željenu ulaznu procesnu varijablu
- Set Point Link – ako želimo odrediti link za zadanu vrijednost iz padajućeg
izbornika
- Set Point Value – kada Set Point Link nije označen, tada upisujenmo željenu
zadanu vrijednst
- P Gain Link – ako želimo odrediti link za P-član iz padajućeg izbornika
- P Gain Value – kada P Gain Link nije označen, tada upisujenmo željenu
vrijednst P člana
- I Gain Link – ako želimo odrediti link za I-član iz padajućeg izbornika
- I Gain Value – kada I Gain Link nije označen, tada upisujenmo željenu vrijednst I
člana
- D Gain Link – ako želimo odrediti link za D-član iz padajućeg izbornika
- D Gain Value – kada D Gain Link nije označen, tada upisujenmo željenu
vrijednst D člana
- Bias Link – ako želimo odrediti link za Bias Link iz padajućeg izbornika - Bias Value – kada Bias Link nije označen, tada upisujenmo željenu vrijednst
- Manual Control – određuje link za ručnu kontrolu regulatora
- Mode Switch – određuje link za izbor moda regulatora
3. FUZZY DESIGNER
53
• Options Tab izbornik
Slika 3.42 Izbor dodatnih opcija PID regulatora
- Features group box – podešavanje opcija novog ili postojećeg PID-regulatora
- Equation Format – izbor formata jednadžbe koja se koristi
- Derivative Input – izbor derivacijskog ulaza regulatora
- Sampling Period – izbor perioda uzorkovanja .Mora biti veći od nule i isti je za
sve PID regulatore u projektu.
- Parameter b – izbor vrijednosti parametera b u jednadžbi regulatora
- P ·(b · SP − PV ) Vrijednost parametra je između 1 i 0.
- Dead Band – aktivira mtrvo vrijeme regulatora, područje i vrstu (zero crossing ili
no zero crossing)
- Dead Band Radius – kada je aktivno mrtvo vrijeme, određuje područje mrtvog
vremena.Mora biti veće od nule
3. FUZZY DESIGNER
54
- Dead Band Type – kada je aktivno mrtvo vrijeme, određuje vrstu (zero crossing ili
no zero crossing)
- Output Limiting with AntiReset Wind Up – aktivira limitiranje izlazne vrijednosti
- Minimum – određivanje minimalne izlazne vrijednosti regulatora
- Maximum – određivanje maksimalne izlazne vrijednosti regulatora
- Gain Forgetting Factor okvir – veličina faktora zaborava PID regulatora
- Value – određuje veličinu faktora regulatora direktnim upisom
- Gain Forgetting Factor track bar – određuje veličinu faktora regulatora klizačem
• Description Tab izbornik
Slika 3.43 Opis funkcije PID regulatora
- Variable Description – željeni opis varijable
3. FUZZY DESIGNER
55
3.3.8 Izlazni port (Output Port)
Slika 3.44 Izlazni port (Output Port)
Izlazni port prikazuje trenutnu vrijednost izlaza, koju omogućuje prethodna komponenta.
Izlaz ima realnu vrijednost.
• Izbornik General
Slika 3.45 Određivanje naziva izlaznog porta
- Port Name – naziv porta
- Input Link – iz padajućeg izbornika odabiremo koju ćemo komponentu
na njega spojiti. Moguće je spojiti izlaznu jezičnu varijablu, izlaznu
Takagi-Sugeno varijadlu ili PID regulator
3. FUZZY DESIGNER
56
• Description izbornik
Slika 3.46 Opis funkcije izlaznog porta
- Variable Description – željeni opis varijable
3.4 RULE EDITOR
Da bi se otvorio Rule Editor prozor potrebno je kliknuti na Rule Editor tipku u Rule Block
opcijskom prozoru ili dvaput kliknuti na Rule Block u aktivnom projektu.
Slika 3.47 Blok zadanih pravila
3. FUZZY DESIGNER
57
Prozor prikazuje sljedeće stupce:
• Index – prikazuje indeks (redni broj) pravila u bloku pravila
• Active – prikazuje stanje pravila (da li je aktivno ili ne)
• Rule DOF – prikazuje trenutan stupanj istinosti svakog pravila u bloku
• IF – prikazuje uvjetne varijable određenog bloka pravila i njihove nazive i
međuobni odnos
• THEN – prikazuje nazive zaključnih varijabli određenih pravilima. Vrijednosti
izlaznih zaključnih varijabli su također prikazane (RW –rule weights), a mogu biti
između 0 i 1.
Dodavanje novog pravila
Da bismo dodali novo pravilo potrebno je samo kliknuti na prvi prazan redak u Rule
Editor prozoru. Tada se pojavi novo pravilo s određenim indeksom. Ako želimo dodati
još pravila samo ponovimo postipak.
Kreiranje novog pravila
Rule Editor-om možemo načiniti novu ili urediti postojeću bazu pravila odabeanog bloka
pravila. Aktivno pravilo se obrađuje određenim mehanizmom zaključivanja i može
utjecacti na izlaznu varijablu, dok neaktivno pravilo ostaje u bazi pravila ali se ne
obrađuje.
Ako želimo kreirati novo pravilo prvo dodamo novo pravilo tako da kliknemo na prvi
prazan redak. Na stupcu IF koji prikazuje sve uvjetne varijable spojene na Rule Block,
kllikom miša iz padajućeg izbornika biramo skup ulazne varijable koji želimo koristiti u
novom pravilu. Klikom na stupac THEN biramo skup izlazne varijable odnosno
žaključak pravila, te određujemo njegovu vrijednost u stupcu RW (od 0 do 1).
Kod biranja varijable uvjeta iz padajućeg izbornika možemo koristiti i fuzzy operatore
OR (ILI) i NOT (NE). Ako želimo koristiti operator ILI tada se otvori sljedeći prozor u
kojem moramo označiti na koje se varijable taj operator odnosi. Može se također
primjeniti negacija na taj cijeli ILI izraz tako da označimo Apply NOT for the expression.
3. FUZZY DESIGNER
58
Slika 3.48 Korištenje ILI (OR) veznika u kreiranju pravila
Brisanje pravila
Želimo li obrisati neko od pravila potrebno ga je samo označiti klikom na prvi stupac i
pritiskom na tipu DELETE na tipkovnici.
Rule Editor alatna traka
• Generate Possible Rules – automatski generira uvjetni dio pravila korištenjem
ulaznih varijabli, tj. njihovom kombinacijom. Ako odaberemo ovu opciju otvori se
sljedeći prozor:
Slika 3.49 Automatsko generiranje pravila
3. FUZZY DESIGNER
59
Unutar prozora je moguće birati ulazne varijable pomoću kojih se generira uvjetni dio
pravila.Moguće je odrediti i broj pravila koja će se stvoriti.
• Shift Selected Rule Up – pomiče označeno pravilo prema gore
• Shift Selected Rule Down – pomiče označeno pravilo prema dolje
• Shift Selected Rule to Required Position – ako želimo postaviti neko pravilo na
određeno mjesto, tada kliknemo ovu ikonu i otvori se sljedeći Target Position
prozor:
Slika 3.50 Odabir rednog broja označenog pravila
, u kojem odabiremo željenu poziciju na koju želimo postaviti odabrano pravilo.
• Hide Column Bars – skriva stupce koji prikazuju stupanj pripadnosti određenog
pravila
• Show Rules As Text – ako kliknemo na ikonu otvori se prozor koji prikazuje
pravila u tekst formatu
Slika 3.51 Prikaz zadanih pravila u obliku teksta
3. FUZZY DESIGNER
60
3.5 RAD S BLOKOVIMA
U Fuzzy Designer-u se nalazi osam komponenti, koje se u obliku blokova dodaju u
projekt i konačno spajaju u fuzzy sustav kao blok dijagram. Blokovi su grafički objekti
koje možemo uređivati na sljedeće načine:
- Dodavanje blokova Nove blokove možemo dodati u postojeći dijagram na više načina. Prvi način je da
koristimo Project Window Context izbornik u kojem odaberemo koju komponentu želimo
koristiti. Drugi način je da koristimo galvni izbornik ili altnu traku.
- Označivanje blokova Kada kliknemo na željeni blok on će postati aktivan, a blok koji je prethodno bio
označen će automatski postati neaktivan.
Da bismo označili više blokova trebamo ih zahvatiti graničnikom kojeg dobivamo ako
držimo tipku miša i označavamo blokove. Možemo držati CTRL te označavati blokove
jednog po jednog.
Ako želimo zahvatiti i blokove i tekst tada moramo koristiti naredbu Select All.
- Brisanje blokova Blokove možemo obrisati tipkom Delete kada su blokovi označeni .
- Micanje blokova Grafičke objekte (blokovi i tekst) možemo micati mišem ako je blok označen. Možemo
ih micati samo unutar radnog područja.
- Mijenjanje dimenzija blokova Dimenzije bloka promijenimo tako što kliknemo mišem na kut bloka, te ga vućemo u
željenu stranu ovisno želimo li ga smanjiti ili povećati.
3. FUZZY DESIGNER
61
- Opcije blokova Blok ima dva seta parametara, grafički i unutarnji parametri. Svi parametri su dostupni
unutar block context izbornika:
, kojeg dobijemo ako kliknemo desnim klikom na blok ili skup blokova. Pomoću njega
možemo mijenjati grafičke parametre bloka. Unutarnje parametre bloka mijenjamo tako
da kliknemo na Block Properties.
RAD S TEKSTOM Tekst koristimo za stavljanje komentara o fuzzy sustavu u projektnom prozoru. Tekst
odabiremo iz izbornika koji se otvori kada kliknemo desnom tipkom miša u projektnom
prozoru.
3.6 NADZOR I ANALIZA FUZZY SUSTAVA
Fuzzy Designer omogućuje analizu kreiranog fuzzy sustava. Simulacijom ulaznih
varijabli moguće je gledati njihov utjecaj na izlazne varijable, te napraviti preinake u
sustavu ako je potrebno. Također je moguće nadzirati parametre sustava koji je već u
upotrebi i pratiti kretanje njihovih vrijednosti.
3. FUZZY DESIGNER
62
3.6.1 Watch
Da bismo provjerili ponašanje fuzzy sustava u radnim uvjetima potrebno je uključiti
opciju nadzora (watch) iz glavnog izbornika (Tools\Watch). Kada ju aktiviramo otvori se
sljedeći prozor:
Slika 3.52 Nadzor ulaznih i izlaznih varijabli
Unutar prozora su vidljive sve ulazne , izlazne ali i sve međuvarijable, te njihove
trenutne vrijednosti. S alatne trake možemo birati sljedeće ikone:
• Data History – određuje količinu podataka o sustavu koja se sprema u
memoriju.Kada kliknemo na ikonu otvori se Watch Data History prozor u kojem
određujemo koliko se zadnjih semplova sprema u memoriju
Slika 3.53 Ograničavanje količine semplova u memoriji
History Data – određuje koje će se komponente ,tj. varijable nadgledati odnosno
spremati u memoriju za kasniju analizu. Ako kliknemo na ikonu otvori se sljedeći prozor
u kojem možemo birati varijable za nadzor.
3. FUZZY DESIGNER
63
Slika 3.54 Odabir varijabli čije će se vrijednosti spremati u memoriju
• History Graph –ako kliknemo na ikonu otvori se otvori Watch History Graph
prozor:
Slika 3.55 Odabir varijabli koje želimo prikazati na grafu
U tom prozoru biramo varijable koje će se prikazati na grafu ( History Graph). Tipka
Show... otvara History Graph prozor koji će biti opisan kasnije.
• Save History – sprema podatke iz memorije o određenim varijablama koje
biramo u Watch Save History Data prozoru:
3. FUZZY DESIGNER
64
Slika 3.56 Odabir varijabli čije vrijednosti želimo spremiti za kasniju obradu
Podaci se spremaju u ASCII formatu.
• Clear History – briše podatke iz memorije
• Help – prikazuje Help izbornik
• Close button – zatvara Watch prozor.
3.6.2 History Graph
History Graph je alat za nadzor koji prikazuje mjerene ili simulirane veličine. Način
podešavanja i pristupa ovoj funkciji je opisan u prethodnom djelu poglavlja (funkcija
Watch). Graf može prokazivati apsolutne ili ralativne vrijednosti odabrane varijable.
Vrstu grafa biramo na alatnoj traci. S lijeve strane prozora prikazane su odabrane
varijable. Destna strana prozora rezervirana je za grafički prikaz varijabli, tj njihovu
vremensku promjenjivost. Varijable su različitih boja kako bi se bolje razlikovale.
Boju varijabli možemo mijenjati ako kliknemo desnom tipkom miša na željenu varijablu,
tada se otvori izbornik iz kojeg možemo birati boju odabrane varijable, te njezin opseg
vrijednosti koji želimo prikazati na grafu.
3. FUZZY DESIGNER
65
Slika 3.57 Izgled History Graph prozora i neki njegovi dijelovi
Slika 3.58 Odabir opsega vrijednosti vertikalne osi grafa
3. FUZZY DESIGNER
66
Iz alatne trake History Graph-a možemo mijenjati tri vrijednosti :
• izbor prikaza grafa (relativan ili absolutan)
• opcije zumiranja grafa
• izgled History Graph prozora (opcija koje će se na njemu prikazati)
Opciji zumiranja možemo pristupiti i tako da kliknemo desnom tipkom miša na graf i iz
izbornika odaberemo željenu vrstu.Iz tog izbornika je moguće i klikom na opciju
properties mijenjati varijable koje se prikazuju na grafu.
3.6.3 2D i 3D graf
2D i 3D grafovi su koristan alat za prikaz statičkih karakteristika fuzzy sustava.
Prikazuju ovisnost izlaznih varijabli o promjeni ulaznih.
2D grafu pristupamo iz glavnog izbornika (Tools/ 2D Graph). Prvo nam se prikaže 2D
Graph Properties prozor :
Slika 3.59 Izbor varijabli koje želimo prikazati na 2D grafu
3. FUZZY DESIGNER
67
U njemu određujemo koje će se ulazne varijable prikazati na x osi grafa i u kojem
mjernom opsegu. Na y-osi se prikazuju izlazne varijable koje želimo na grafu. Možemo
također mijenjati gustoću mreže po kojoj se iscrtava graf. Kada odaberemo varijable
koje želimo vidjeti na grafu kliknemo na tipku Create da bi prikazali taj graf.
Slika 3.60 2D graf
Kreirani graf možemo dodatno uređivati, korištenjem alatne trake grafa ili izbornika
(3D Graph Context Menu) koji se pojavi ako kliknemo desnom tipkom miša na područje
grafa.
3. FUZZY DESIGNER
68
Moguće je mijenjati boju, debljinu linija, vidljivost mreže, okvira, vrijednosti itd. Također
je moguće klikom na Graph Properties mijenjati varijable koje se prikazuju na grafu.
3D grafu pristupamo kao i 2D grafu iz glavnog izbornika (tools/ 3D
graph).Izborom te opcije se otvara 3D Graph Properties prozor koji je sličan onome 2D
grafa.Jedina je razlika što kod 3D grafa postoji još jedna os na kojoj se odabire još
jedna ulazna varijabla.
Slika 3.61 Izbor varijabli koje želimo prikazati na 3D grafu
Slika 3.62 3D graf
3. FUZZY DESIGNER
69
Kreirani graf možemo uređivati isto kao i 2D graf pomoću alatne trake ili detaljnije iz
izbornika (3D Graph Context Menu) koji se otvori desnim klikom miša na područje
grafa.3D graf prikazuje tri dimenzije pa iz tog razloga postoji mogućnost rotacije grafa u
svim smjerovima.
3.7 SIMULACIJA FUZZY SUSTAVA
Fuzzy Designer omogućuje ručnu simulaciju ulaznih varijabli fuzzy sustava uz nadzor
izlaznih varijabli.To je koristan alat za uvid u ponašanje sustava koji nam omogućuje da
podešavamo parametre sustava za željenu primjenu.Sve varijable u sustavu je
simulacijom moguće pratiti u Simulation Watch prozoru koji se otvara iz glavnog
izbornika (Tools/Simulation).
3. FUZZY DESIGNER
70
Slika 3.63 Simulacija fuzzy sustava
Pokretanjem simulacije Fuzzy Designer prelazi iz projektnog moda (design mod) u
simulacijski mod (simulation mod)Vrijednosti i vrsta varijabli su prikazane su tri tablice
unutar simulacijskog prozora.U prvoj tablici se nalaze ulazne varijable,u trćoj tablici se
nalaze sve izlazne varijable, dok se u drugoj tablici nalaze sve međuvarijable.
Simulaciju započinjemo tako da prvo odaberemo ulaznu varijablu.Njezinu vrijednost
mijenjamo klizačem i gledamo utjecaj na izlazne varijable.
- Input Value group box – određuje opseg vrijednosti i trenutnu vrijednost odabrane
ulazne varijable
• Minimum – određuje donju granicu opsega vrijednosti ulazne varijable
• Value – prikazuje trenutnu vrijednost varijable i omogućuje direktan upis
vrijednosti varijable
• Maximum – određuje gornju granicu opsega vrijednosti ulazne varijable.
Kada zatvorimo simulacijski prozor Fuzzy Designer se vraća u projektni mod rada.
3. FUZZY DESIGNER
71
3.8 ADD-ON INSTRUKCIJA
Fuzzy Designer omogućuje spremanje projekta kao add-on instrukciju u XML formatu
(.L5X).Takvu Add-On instrukciju možemo koristiti u projektu programa RSLogix 5000
kao fuzzy instrukciju.Takva instrukcija se može koristiti u bilo kojem obliku programskog
jezika:
-funkcijski blok dijagram
-ledder logika
-STL.
Na taj način je omogućeno da se projekti iz fuzzy designer-a koriste u PLC uređajima
tvrtke Allen Bradley.
Da bismo kreirali add-on instrukciju potrebno je iz glavnog izbornika odabrati
Tools>Add-On Instruction > Instruction Generator.
Slika 3.64 Kreiranje Add-On instrukcije
Sljedeći uvjeti moraju biti ispunjeni da bi se Add-On funkcija mogla kreirati:
• sve komponente fuzzy sustava moraju biti pravilno spojene
• fuzzy sustav mora sadržavati najmanje jedan ulaz i jedan izlaz
3. FUZZY DESIGNER
72
• sva pravila moraju biti potpuna
• svaki blok pravila mora sadržavati barem jedno pravilo
• svaka jezična varijabla mora sadržavati barem jedan skup.
Naziv Add-On instrukcije je po defaultu jednak nazivu fuzzy projekta, ali ga možemo
promijeniti koristeći do 40 znakova.
3.8.1 Dodavanje Add-On instrukcija u RSLogix 5000
Potrebno je otvoriti RSLogix 5000 projekt u koji ćemo dodati Add-On instrukciju.
Kliknemo desnom tipkom miša na Add-On Instructions mapu untar projekta
Slika 3.65 Dodavanje Add-On instrukcije u RSLogix 5000 projekt
Zatim kliknemo na Import Add-On Instruction, te se pojavi sljedeći prozor unutar kojeg
odaberemo Add-On instrukciju koju želimo dodati u RSLinx 5000 projekt.
3. FUZZY DESIGNER
73
Slika 3.66 Odabir željene Add-On funkcije
Add-On instrukcija će se nalaziti na onome mjestu na koje smo ju prethodno spremili,
pri njezinom kreiranju.
Zatim dodamo Add-On instrukciju u program RSLogix 5000 projekta
Slika 3.67 Add-On instrukcija untar RSLogix 5000 spremna za korištenje
U programu se pojavi Add-On instrukcija u obliku ladder elementa:
Slika 3.68 Ad-On instrukcija kao ladder element
3. FUZZY DESIGNER
74
Potrebno je odrediti tagove ulaznih i izlaznih varijabli (vlaga, temperatura i
BrzinaVentilatora), te tag Add-On instrukcije (ventilator) kako bi program mogli učitati u
PLC odnosno kako bi on ispravno radio.
Slika 3.69 Kreirani tagovi za Add-On instrukciju
Tagovi ulaznih i izlaznih varijabli trebaju biti realni jer će oni određivati stvarne ulazne
veličine koje se koriste u Add-On instrukciji. Na kraju je još kreirane tagove potrebno
dodati u ladder element na određena mjesta kako bi Add-On instrukcija ispravno radila
nakon učitavanja u PLC. Ulazne i izlazne varijable unutar Fuzzy Designer projekta,
vidljive su unutar ladder elementa Add-On instrukcije RSLinx 5000 projekta. Naziv
ladder elementa Add-On instrukcije jednak je nazivu pod kojim je ta instrukcija
spremljena.Također su i komentari o projektu napisani u Fuzzy Designer-u sadržani
unutar ladder elementa.
Slika 3.70 Prikaz ulaznih i izlaznih varijabli fuzzy sustava u ladder elementu
3. FUZZY DESIGNER
75
3.9 ONLINE NADZOR I NADOGRADNJA FUZZY SUSTAVA
Postoji mogućnost nadzora i nadogradnje fuzzy sustava, tj. Add-On instrukcije koja se
već koristi u PLC uređaju. Da bi to bilo moguće potrebno je prvo zadovoljiti neke uvjete:
• Add-On instrukcija mora biti kreirana unutar Fuzzy Designera
• Add-On instrukcija mora biti dodana unutar RSLogix 5000 projekta
• RSLogix 5000 projekt je učitan u PLC uređaj
• Konfigurirana je komunikacija između PLC uređaja i RSLinx Classic OPC
Server-a
• Fuzzy sustav pomoću kojeg je kreirana Add-On instrukcija je otvorena u Fuzzy
Designer-u
Kako bi smo omogućili komunikaciju s PLC uređajem potrebno je napraviti sljedeće:
1. U FuzzyDesigner-u ,kliknuti Tools > Add-On Instruction > On-line
Connection Wizard
2. Odrediti vrstu RSLinx OPC server-a :
Slika 3.71 Odabir RSLinx OPC Servera
• -ako je RSLinx instaliran na isto računalo kliknuti na RSLinx OPC server
• -ako je RSLinx instaliran na udaljeno računalo kliknuti na RSLinx Remote
OPC Server, te odrediti njegovu adresu
3. FUZZY DESIGNER
76
3. Odabrati Tag kojim je određena Add-On instrukcija kako bismo mogli pratiti
njezino ponašanje u stvarnim uvjetima:
Slika 3.72 Izbor Add-On instrukcije koju želimo nadzirati
Ako je komunikacija uspješno ostvarena prikaže se sljedeći prozor :
Slika 3.73 Prozor za online nadzor i nadogradnju fuzzy sustava
Na alatnoj traci je moguće pokretati i zaustavljati nadzor fuzzy sustava.Moguće je
i mijenjati period vremena u kojem se uzimaju vrijednosti fuzzy sustava s PLC-a. U
našem primjeru to znači da će se podaci s PLC-a uzimati svake tri sekunde.
3. FUZZY DESIGNER
77
Slika 3.74 Vrijeme osvježavanja ulaznih podataka s PLC-a
Ako napravimo neke promjene u Fuzzy Designer-u za vrijeme nadzora, npr. ako
promijenimo parametre neke funkcije pripadnosti, tada je potrebno potvrditi
promjene kako bi se one realizirale u PLC-u.
U Fuzzy Designer-u za vrijeme nadzora parametre fuzzy sustava možemo kontrolirati
unutar Watch prozora:
Slika 3.75 Online nadzor ulaznih i izlaznih varijabli fuzzy sustava
Parametre sustava možemo promatrati i unutar glavnog programa RSLinx 5000
projekta, tj.unutar njegovog ladder elementa Add-On instrukcije:
Slika 3.76 Izgled ladder elementa Add-On instrukcije u upotrebi
3. FUZZY DESIGNER
78
3.9.1 Konfiguracija RSLinx OPC Server-a
Da bi nam komunikacija između RSLinx-a i PLC-a ispravno radila potrebno je
konfigurirati tu vezu. Najprije se RSLinx 5000 projekt mora spremiti kako bi se taj projekt
pojavio unutar RSLinx Classic-a kao topic za konfiguraciju.
Kako bi bili sigurni da je željeni RSLinx topic u vezi s PLC-om, odnosno ako želimo
napraviti novu vezu ili rekonfigurirati postojeću moramo napraviti sljedeće:
1. Pokrenuti RSLinx Classic
2. Iz glavnog izbornika RSLinx Classic-a odabrati DDE/OPC > Topic Configuration
3. Odabrati topic unutar topic list izbornika. Topic je zapravo fuzzy sustav kojeg
želimo nadzirati ili eventualno vršiti njegovu nadogradnju. U našem slučaju
odaberemo Ventilator
4. Kliknemo Apply i zatim Done.
Slika 3.77 Konfiguracija komunikacije između PLC-a i RSLinx Classic-a
4. ZAKLJUČAK
79
4 ZAKLJUČAK
Iako se fuzzy logika odnosno regulatori koji su izrađeni na tom principu sve više
koriste u automatskoj regulaciji, ne može se reći da će takva vrsta regulacije u bliskoj
budućnosti izabciti konvencionalne metode automatske regulacije. Vrlo je vjerojatno da
fuzzy regulatori nikada u potpunosti neće moći zamjeniti konvencionalne (PID)
regulatore. Fuzzy regulatori su pogodni za rješavanje problema koji se teško mogu
modelirati kao i za probleme gdje zadaća regulacije nije točno definirana. Veliku
popularnost fuzzy regulatora se može objasniti sve većim brojem primjene takve
regulacije u uređajima široke potrošnje (perilice, klima uređaji, automobili, kamere,…).
U industrijskim procesima koji su složeni, tj. gdje je vrlo teško ili gotovo nemoguće
odrediti matematički model sustava , fuzzy regulatori nalaze svoju pravu primjenu jer
imitirajući ljudsko ponašanje omogućuju regulaciju takvih sustava. Kvaliteta i stabilnost
takvih sustava je određena količinom znanja o sustavu kojeg se regulira i količinom
osjetnika i izvršnih organa tog sustava, što je njihov broj veći to je i kvaliteta sustava
veća.
Programski paket Fuzzy Designer omogućuje vrlo laganu izradu fuzzy regulatora
i njegovu implementaciju u PLC uređaje tvrtke Allen Bradley pomoću Add-On
instrukcija. Naravno potrebno je imati određena znanja o sustavu za koji se želi
napraviti takav regulator, no sama upotreba programskog paketa je vrlo jdnostavna i
lako shvatljiva. Fuzzy Designer omogućuje za kompliciranije sustave s mnogo ulaznih i
izlaznih veličina kreiranje hijerarhijskog modela sustava, gdje taj veliki sustav možemo
rastaviti na nekoliko manjih i tako pojednostaviti njegovu regulaciju i poboljšati kvalitetu.
Moguće je također vršiti nadzor i kontrolu konvencionalnih PID regulatora i na taj način
poboljšati njihovu korisnost u postojećim sustavima regulacije gdje se oni koriste. Fuzzy
regulator napravljen u Fuzzy Designeru je moguće ispitati simulacijom u samom
programu, te na taj način otkloniti moguće pogreške do kojih bi došlo pri njegovoj
upotrebi. No i regulator koje smo već pomoću Add-On instrukcije učitali u PLC uređaj je
također moguće nadzirati i mijenjati neke njegove osnovne parametre kako bi ga fino
podesili za sustav u kojem se koristi. Ukratko rečeno Fuzzy Designer je programski
paket koji sadrži sve potrebno za kreiranje i nadzor fuzzy sustava, te njegovo korištenje
u PLC uređajima tvrtke Allen Bradley.
5. LITERATURA
80
5 LITERATURA
1. RSLogix 5000 Fuzzy Designer User Manual, 2007 Rockwell Automation, Inc.
2. Dave Carr; Jeff Shearer: Nolinear control and decision making using fuzzy logic in
Logix , 2007 Rockwell Automation, Inc.
3. Maršić, Danijel; Malčić, Goran; Rajković, Velimir: Izrada fuzzy regulatora
integriranog u programirljivi logički kontroler , Tehničko Veleučilište u Zagrebu,
Elektrotehnički odjel, Zagreb
Web: 4. http://powerlab.fsb.hr/dloncar/ch_2.pdf
5. http://control.etfbl.net/MVI/Fuzzy.pdf