86
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

Opis Programskog Razvojnog Sustava Fuzzy Designer Za Plc Tvrtke Allen Bradley

  • 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