PROGRAMUL DE STUDII UNIVERSITARE DE MASTER [612371]

UNIVERSITATEA DIN PITEȘTI
FACULTATEA DE ELECTRONICĂ, COMUNICAȚII ȘI CALCULATOARE
DEPARTAMENTUL ELECTRONICĂ, CALCULATOARE ȘI INGINERIE ELECTRICĂ
PROGRAMUL DE STUDII UNIVERSITARE DE MASTER

PROIECT DE DISERTA ȚIE

SISTEME DE CONTROL FUZZY
IMPLEMENTATE CU AJUTORUL PLC

Absolvent: [anonimizat] 2018

Cuprins

Listă figuri ………………………………………………………………………………………………………………………….. 4
Listă tabele …………………………………………………………………………………………………………………………. 4
1. Capitolul 1. Introducere …………………………………………………………………………………………………. 5
2. Capitolul 2. Aspecte generale privind sistemele de control cu PLC …………………………………….. 6
2.1. Introducere în automate programabile ………………………………………………………………………. 6
2.2. Proiectare și implementare PLC ……………………………………………………………………………….. 7
2.3. Programarea …………………………………………………………………………………………………………… 9
2.4. Funcționare ………………………………………………………………………………………………………….. 10
2.5. Funcții de bază ……………………………………………………………………………………………………… 10
2.6. Cronometre și numărătoare ……………………………………………………………………………………. 11
2.7. Releu logic programabil (Programmable Logic Relay – PLR) …………………………………….. 12
2.8. Caracteristici ale automatelor programabile ……………………………………………………………… 12
2.8.1. Principale trăsături ale PLC -urilor ……………………………………………………………………. 12
2.8.2. Timpul de scanare ………………………………………………………………………………………….. 13
2.8.3. Procesul unui ciclu de scanare …………………………………………………………………………. 14
2.8.4. Scalarea sistemului …………………………………………………………………………………………. 15
2.8.5. Interfața cu utilizatorul ……………………………………………………………………………………. 15
2.8.6. Programarea ………………………………………………………………………………………………….. 16
2.8.7. Securitatea …………………………………………………………………………………………………….. 19
2.8.8. Simularea ……………………………………………………………………………………………………… 19
2.8.9. Redundanța ……………………………………………………………………………………………………. 19
2.9. PLC în comparație cu alte sisteme de control …………………………………………………………… 19
2.10. Semnale discrete (digitale) și analogice ……………………………………………………………….. 21
3. Capitolul 3. Utilizarea logicii fuzzy în automatizări ………………………………………………………… 23
3.1. Aplicarea valorilor de adevăr …………………………………………………………………………………. 23
3.2. Variabilele lingvistice ……………………………………………………………………………………………. 23
3.3. Procesul de execuție a logicii fuzzy ………………………………………………………………………… 24
3.3.1. Fuzzificarea …………………………………………………………………………………………………… 24
3.3.2. Operatori de logică fuzzy ………………………………………………………………………………… 25
3.3.3. Regulile IF -THEN ………………………………………………………………………………………….. 26
3.3.4. Defuzzificarea ……………………………………………………………………………………………….. 26
3.4. Formarea unui consens de intrări și reguli fuzzy ………………………………………………………. 26
3.5. Primele aplicații ……………………………………………………………………………………………………. 27
3.6. Analiza logică ………………………………………………………………………………………………………. 27
2

3.6.1. Probleme de decidabilitate în logica fuzzy ………………………………………………………… 27
3.7. Baze de date fuzzy ………………………………………………………………………………………………… 28
3.8. Comparație cu probabilitatea ………………………………………………………………………………….. 28
3.9. Relația cu ecoritmul ………………………………………………………………………………………………. 29
3.10. Compensatorul logic fuzzy …………………………………………………………………………………. 29
3.11. STANDARDUL IEEE 1855 -2016 – Standardul IEEE pentru limbajul de marcare a
logicii fuzzy …………………………………………………………………………………………………………………… 30
4. Capitolul 4. Aspecte specifice privind implementarea logicii fuzzy în PLC ……………………….. 31
5. Capitolul 5. Proiectarea și implementarea unui sistem de control fuzzy cu PLC ………………….. 33
5.1. Caracteristicile de proces și aplicația fuzzy ……………………………………………………………… 33
5.2. Procesarea semnalelor cu control fuzzy …………………………………………………………………… 34
5.3. Limbajul de programare fuzzy ……………………………………………………………………………….. 41
5.4. Metode și algoritmi în controlul fuzz y …………………………………………………………………….. 44
5.5. Cerințe hardware și software ………………………………………………………………………………….. 44
5.6. Elaborarea și setarea aplicațiilor fuzzy …………………………………………………………………….. 45
5.7. Descărcarea și pornirea aplicației fuzzy …………………………………………………………………… 50
5.8. Implementarea în PLC …………………………………………………………………………………………… 51
5.9. Exemplu de control al temperaturii dintr -o încăpere ………………………………………………….. 53
5.9.1. Definirea intrărilor și a funcțiilor de apartenență ………………………………………………… 53
5.9.2. Definirea ieșiri și a funcțiilor de apartenență ……………………………………………………… 58
5.9.3. Baza de reguli ………………………………………………………………………………………………… 60
5.9.4. Rezultate simulare ………………………………………………………………………………………….. 63
Concluzii ………………………………………………………………………………………………………………………….. 65
Bibliografie ………………………………………………………………………………………………………………………. 66
ANEXE ……………………………………………………………………………………………………………………………. 67

3

Listă figuri

Figura 2.1. Exemple de configurații PLC ……………………………………………………………………………….. 7
Figura 2.2. Limbajul de programare LADDER ……………………………………………………………………….. 8
Figura 2.3. Limbajul de programare INSTRUCTION LIST ……………………………………………………… 8
Figura 2.4. Panou de comandă cu PLC Siemens S7- 300 …………………………………………………………. 13
Figura 2.5. Diagrama bloc a unui PLC …………………………………………………………………………………. 14
Figura 2.6. Diagrama de lucru a unui PLC ……………………………………………………………………………. 15
Figura 2.7. Diagrama Ladder pentru un proces de control ………………………………………………………. 18
Figura 3.1. Funcții de apartenență pentru variabila temperatură ………………………………………………. 24
Figura 5.1. Exemplu de funcție de apartenență ………………………………………………………………………. 34
Figura 5.2. Reprezentarea unui prag de temperatură în binar …………………………………………………… 35
Figura 5.3. Definire funcții de apartenență pentru variabila de intrare – Temperatura …………………. 36
Figura 5.4. Formarea complementului valorii lingvistice "A" ………………………………………………….. 37
Figura 5.5. Calcularea funcțiilor de apartenență pentru două reguli …………………………………………. 38
Figura 5.6. Aplicația Fuzzy funcționează în concordanță cu procesul ………………………………………. 39
Figura 5.7. Structura generală a unui siste m fuzzy cu p intrări, n reguli și o ieșire ……………………… 44
Figura 5.8. Mediul de lucru pentru pachetul software "Control fuzzy" ……………………………………… 45
Figura 5.9. Conectarea blocurilor de pornire la blocul de funcții fuzzy …………………………………….. 50
Figura 5.10. Fisierul cu structura hardware ce se va descărca in PLC ………………………………………. 51
Figura 5.11. Structura blocurilor funcționale utilizate în funcționarea corectă a PLC -ului …………… 51
Figura 5.12. Apelarea b locului funcțional pentru controlul fuzzy în OB1 …………………………………. 52
Figura 5.13. Funcția de apartenență "rece" ……………………………………………………………………………. 53
Figura 5.14. Funcția de apartenență "cald" ……………………………………………………………………………. 54
Figura 5.15. Funcția de apartenență "fcald" …………………………………………………………………………… 54
Figura 5.16. Funcția de apartenență "fierbin" ………………………………………………………………………… 55
Figura 5.17. Funcția de apartenență "neg" …………………………………………………………………………….. 56
Figura 5.18. Funcția de apartenență "zero" ……………………………………………………………………………. 56
Figura 5.19. Funcția de apartenență "poz" …………………………………………………………………………….. 57
Figura 5.20. Funcția de apartenență "oprit" …………………………………………………………………………… 58
Figura 5.21. Funcția de apartenență "P_lent" ………………………………………………………………………… 58
Figura 5.22. Funcția de apartenență "P_mediu" …………………………………………………………………….. 59
Figura 5.23. Funcția de apartenență "P_max" ………………………………………………………………………… 59
Figura 5.24. Matricea de reguli pentru variabila de intrare temperatura ……………………………………. 60
Figura 5.25. Matricea de reguli pentru variabila de intrare variatie temperatură ………………………… 61
Figura 5.26. Baza de reguli …………………………………………………………………………………………………. 62
Figura 5.27. Rule Activity și Curve Plotter …………………………………………………………………………… 64

Listă tabele
Tabel 3.1. Operatori Zadeh …………………………………………………………………………………………………. 25

4

1. Capito lul 1. Introducere

Tema de cercetare a pornit din dorința de a putea controla procesele industriale mai ușor și de
avea un randament cât mai mare. Lucrarea de față prezintă un sistem de control cu logică fuzzy
implementat cu ajutorul unui PLC (Programmable Logic Controller).
Vom proiecta și implementa un sistem de control pentru procese lente precum controlul
temperaturii, controlul unui nivel.
Algoritmul de control a fost dezvoltat și configurat cu instrum entele oferite de librăria
FuzzyControl ++ pentru automatizarea proceselor tehnice. Scopul cercetării este de a explora
posibilitățile de implementa re și de utilizare a controlului fuzzy în arii de lucru ce aparțin domeniului
reglementării clasic e. Modelul sistemului de control cu buclă închisă în mediul virtual este utilizat
pentru a se efectua cât mai multe simulări cu scopul de a detecta comportamentul s istemului în diferite
condiții.
Așadar, strategiile de control aplicate pot oferi aceleași proprietăți în curs de reglementare și
oferă o mai bună abordare a designului bazei de cunoștințe intuitive și a paramet rilor de configurare
ai controle r-ului.
Controlul eficient este strâns legat de îmb unătățirea calității proceselor de producție
industriale . În fabricile mari și uzine , întotdeauna, trebuie făcută o alegere dificilă între strategii
disponibile (convenționale, fuzzy și neuronale) dezvoltate în ultimele decenii. În industrie, logica fuzzy este implementată în controlere neliniare cu buclă închisă,
prognostic de răspuns al proceselor complexe din punct de vedere matematic sau o aplicație de
automatizare a proceselor care nu poate fi rezolvată cu instrumentele standard existente. Experiența
empirică a procesului și a cunoștințele acumulate din experiență pot fi t ransformate direct în
controlori, identificare a unui model sau a unei logici de deciziei.
Numeroase programe software intuitive, care necesită doar cunoștințe minime de specialitate
despre logica fuzzy, permit utilizarea logicii fuzzy în multe domenii și aplicații ale automatizării
industriale.
Tehnologia de control cu logic ă fuzzy (FLC – Fuzzy Logic Control ) a redus drastic timpul de
dezvoltare și costul de implementare pentru sint eza controlul neliniar al sistemelor dinamice. Ca
rezultat, s -a înregistrat un număr crescut de aplicații FLC. Vom scoate în evidență rolul logicii fuzzy
în dezvoltarea sistemelor de control în supraveghere a și menținerea criteriilor explicite de compromis
utilizate pentru gestionarea strategiilor multiple de control.
5

2. Capito lul 2. Aspecte generale privind sistemele de control cu PLC

PLC-urile sau controlerele logice programabile sunt automate de comandă și reglare
programabile care sunt foarte des întânite în industrie pentru programarea unor utilaje sau pentru urmărirea și controlul unor procese industriale. Aceste automate programabile sunt config urate și
încărcate cu programele de control prin intermediul interfețelor disponibile pentru fiecare tip de PLC,
interfețe ce pot fi instalate și utilizate de pe orice configurație hardware și software a unui computer.
Acestea au fost dezvoltate și implementate pentru prima oară în industria automobilelor având
un control flexibil, robust și ușor de programat , spre deosebire de logica pe relee, timere și diverse
secvențe pe fire. De atunci, automatele programabile au devenit un partener de încred ere în procesele
de reglare și de control, de la medii de lucru normale până la cele mai dure condiții, precum sudură,
minărit, extracție de petrol.
Un PLC este un sistem "dur" , robust în timp real, deoarece rezultatele producției trebuie să fie
furnizate ca răspuns la condițiile de intrare într -un interval de timp limitat, altfel producția este
estompată și apar defecte de producție ce pot duce chiar la cheltuieli suplimentare.

2.1. Introducere în automate programabile

PLC-urile sunt dispozitive cu dimensiuni variabile, de la dimensiuni mici cu zeci de intrări și
ieșiri (I/O) în aceeași carcasă cu procesorul până la dispozitive modulare mari, cu mii de intrări/ ieșiri,
ce pot fi conectate la alte PLC -uri sau diverse componente compatibile, precum SCADA.
Acestea sunt proiectate pentru diverse medii de lucru, diverse temperaturi de lucru, rezistente
la perturbații electrice și magnetice, dar și la impacturi mecanice, cu achiziție de date digitale sau
analogice. Programele pentru controlul funcționării mașinii sunt stocate în m emorie cu baterie sau
memorie nonvolatilă.
Înainte de PLC, controlul, secvențierea și logica de interblocare pe partea de securitate pentru
fabricii a fost , în principal , compusă din relee, timere CAM, secvențere tip tambur și regulatoare
dedicate cu buclă închisă. Deoarece acestea ar putea ajunge la un număr foarte mare, de sute chiar
mii, dar și procesul de mentenanță preventivă anuală, ce presupunea schimbar ea anuală a fiecărui
dispozitiv, fiind foarte consumatoare de timp și costisitoare a dus la gândirea rapidă a unor soluții mai
fiabile și mai puțin costisitoare, precum automatele programabile.

6

Figura 2.1. Exemple de configurații PLC

2.2. Proiectare și implementare PLC

În 1968, GM Hydra -Matic (divizia de transmisie automată a General Motors) a emis o cerere
de propuneri pentru înlocuirea e lectronică a sistemelor de relee. Ideea câștigătoare a venit de la
Bedford Associates din Bedf ord, Massachusetts. Primul PLC a fot numit 084 deoarece a fost proiectul
cu numărul 84 al companiei Bedfo rd Associates. Astfel, Bedford Associates a lansat o campanie
dedicată dezvoltării, fabricării, vânzării și service -ului unui nou produs: Modicon, care consta într -un
controler digital modular. Unul dintre cei care au lucrat la acest proiect a fost Dick Morl ey, care este
considerat tatăl PLC-urilor . Marca Modicon a fost vândută în 1977 firmei Gould Electronics,
achiziționată mai târziu de compania germ ană AEG, apoi de către compania franceză Schneider
Electric, care este și actualul proprietar.
Unul dintre primele modele 084 construite poate fi vizionat la sediul firmei Schneider Electric
din North Andover, Massachusetts. Acesta a fost prezentat către Modicon de către GM, când unitatea
a fost retrasă după aproape douăzeci de ani de serviciu neîntrerupt. Modicon a folosit numele de 084
la sfârșitul gamei sale de produse, mai precis, până la apariția modelului 984.
Industria automobilelor reprezintă una din cei mai mari utilizatori de automate programabile.
Paralel, Odo Josef Struger , denumit, uneori, și tatăl controlerului logic programabil . Acesta
a contribuit la inventarea controlerului logic programabil Allen Bradley în perioada anilor 1958- 1960.
Struger este, practic, creatorul acronimului de PLC . Astfel, Rockwell (Allen -Bradley) a devenit un
7

important producător de controlere logic e programabile în Statele Unite .
Primele PLC -uri au fost dezvoltate pentru a înlocui sistemele cu logică pe relee. Aces te
PLC-uri puteau fi programate în "logică de scară ", ladder . Aceast limbaj de programare a fost foarte
ușor acceptat deoarece era similar cu o diagramă schematică a logicii pe relee. Această metodă de
program are a fost foarte ușor învățată, astfel s -au redus costurile pentru eventualel formări ale
tehnicienilor . Alte PLC -uri au folosit o formă de programare ce se asemăna cu o listă de instrucțiuni .

Figura 2.2. Limbajul de programare LADDER

Figura 2.3. Limb ajul de programare INSTRUCTION LIST
8

PLC-urile din ziua de azi pot fi programate pri ntr-o varietate de moduri, pornind de la logica
ladder până la limbaje de programare derivate, precum dialecte special adaptate din limbajul C. O altă
metodă de programare este logica de stare, un limbaj de programare foarte înalt conceput pentru a
programa PLC -urile prin diagrame de tranzițir și de stare.
Majoritatea automatelor programabile respectă, astăzi , standardul de programare IEC 61131/3
a sistemelor de comandă care definește 5 limbaje de programare: Ladder Diagram (LD), Structured
Text (ST), Function Block Diagram (FBD), Instruction List (IL) și Sequential Flow Chart (SFC).
Primele automate programab ile nu aveau terminale de programare prin care logica să fie
reprezentată grafic, astfel se utiliza o serie de expresii logice asemănătoare cu algebra booleană.
Pe măsură ce terminalele de programare au evoluat, a devenit foarte comună logica ladder,
din motivele menționate mai sus și deoarece avea o structură asemănătoare cu panourile de comandă
electromecanice. Formele mai noi de programare, cum ar fi logica de stare ș i blocul de funcții (care
seamănă foarte mult cu modul de reprezentare a logicii cu cir cuite integrate digitale), dar acestea nu
sunt la fe l de populare ca logica ladder . Un principal motiv pentru care logica ladder a fost mai
populară este faptul că PLC -urile rezolvă logica într -o secvență predictibil ă și repetată, iar această
logică permite programatorului să depaneze mai ușor eventualele probleme apărute.

2.3. Programarea

PLC-urile mai vechi , până la mijlocul anului 1990, erau programate prin intermediul unor
panouri de programare personalizate sau prin termina le de programare speciale, care adesea aveau
funcții cheie dedicate reprezentând diferitele elemente logice ale programelor PLC. Unele terminale
de programare personalizate au elementele programelor PLC reprezentate ca niște simbolur i grafice,
dar, care erau reprezentări simple și intui tive ale contactelor, bobinelor și firelor. Programele erau
stocate pe niște dispozitive precum caseta cu bandă. Datorită capacității mici a memoriei partea de
printare și utilizarea de documente era minim dezvoltată, uneori chiar lipsind cu desăvârșire.Ce le mai
vechi PLC -uri foloseau un nucleu de memorie magnetică nonvolatilă.
Recent, PLC -urile sunt programate prin intermediul unei aplicații software, chiar de pe
computerele personale, adică acum este utilizată logica cu grafică în loc de simboluri de caractere.
Computerul se poate conecta la PLC prin interfață USB, Ethernet, RS -232, RS -485 sau RS -422.
Software -ul de programare permite introducerea și editarea logicii ladder. Unele software -uri permit,
de asemenea, editarea și vizualizarea programului de lucru în FBD, SFC sau ST.
În general, software -ul de programare a PLC -urilor oferă funcții de depanare a programului
și vizualizarea în timp real a execuției programului de lucru . Prin intermediul interfeței grafice se
poate descărca și încărca programul PLC , pentru a face salvări sau reinițializări de program . Unele
9

modele de automate programabil e permit programul ului să fie transferat de la un calculator personal
la un PLC printr -o plăcuță integrată de programare care scrie program ul înt r-un cip detașabil, cum ar
fi o memorie EPROM.

2.4. Funcționare

Funcționa rea PLC-urilor a evoluat odată cu trecerea anilor, incluzând controlul secvențial al
relelor , controlul mișc ărilor , controlul proceselor, sisteme de control distribuite și creare de rețele.
Capacitățile de procesare a datelor, de stocare, de procesare și de comunicare ale unor automate
programabile sunt aproximativ echivalente cu unele computere personale.
Programarea PLC -urilor , combinată cu partea hardware a dispozitivelor de întrări /ieșiri la
distanță, permit unui computer personal să poată înlocuii unele PLC -uri în anumite aplicații. Dar
computerele personale nu au f ost acceptate, în general , în industrie, deoarece computerele rulează pe
sisteme de operare mai puțin stabile decât cele ale PLC-urile și hardware -ul lor nu este , în mod
obișnuit , conceput la aceleași toleranțe de temperatură, umiditate, vibrații și longevitate ca procesoare
utilizate în PLC -uri.
Sistemele de operare, precum Windows, nu se pretează la o execuție log ică deterministă,
astfel, controlerul nu poate răspunde întotdeauna coerent schimbărilor de stare a intrărilor în timpul
care este utilizat în PLC-uri. Aplicațiile de logică de pe computere sunt plasate în situații mai puțin
critice, cum ar fi automatizare a într-un laborator și integrarea în instalații mici, unde aplicația este
mai puțin solicitantă și critică, deoarece acestea sunt, în general, mult mai puțin costisitoare decât PLC-urile.

2.5. Funcții de bază
Funcția de bază a unui automat programabil este aceea de a emula funcțiile releelor
electromecanice. Intrările discrete au o adresă unică și o instrucțiune PLC poate testa dacă starea de intrare este pornită sau oprită. Așa cum o serie de contacte cu relee realizează o funcție logică A ND,
permițând curentul ui să nu treacă dacă toate contactele nu sunt închise, deci o ser ie de instrucțiuni va
energiza bitul corespunzător ieșirii dacă toți biții de intrare sunt activi. În mod similar, un set paralel
de instrucțiuni va realiza funcția logi că SAU .
Într-o schemă de conectare electromecanică a releelor, un grup de contacte care controlează o
bobină este numit "o treaptă" a unei "diagrame ladder ", iar acest concept este folosit , de asemenea,
pentru a descrie logica PLC. Unele modele de PLC lim itează numărul de instrucțiuni înseriate și
paralele într -o singură " treaptă" logică. Ieșirea fiecărei trepte activează sau dezactivează un bit de
10

stocare, care poate fi asociat cu o adresă de ieșire fizică sau care poate fi o "bobină internă" fără
conexiu ne fizică. Astfel de bobine interne pot fi folosite, de exemplu, ca un element comun în mai
multe trepte separate. Spre deosebire de releele fi zice, de obicei, nu există nici o limită a numărului
de momente în care o intrare, ieșire sau o bobină internă pot fi menționate într -un program PLC.
Unele automate programabile implementează o linie de execuție strict de la stânga la dreapta,
de sus în jos, pentru evaluarea logicii. Acest lucru este diferit de contactele releelor electromecanice,
care, într -un circuit suficient de complex, pot lasă să treacă curentul de la stânga la dreapta sau de la
dreapta la stânga, în funcție de configurația contactelor utilizate . Eliminarea acest or "căi de curgere a
curentului electric" este fie un dezavantaj, fie un avantaj , în funcție de stilul de programare.
Instrucțiunile mai avansate ale PLC -urilor pot fi implementate ca blocuri funcționale, care
efectuează o anumită operație atunci când sunt activate de o intrare logică și care activeaz ă ieșiri
pentru a semnala, de exemplu, finalizarea operației sau erorile, în timp ce manipulează variabilele
interne care nu corespund unei ieșiri logice discrete.

2.6. Cronometre și numărătoare

Funcția principală a unui cronometru este de a menține o ieșire pentru o anumită perioadă de
timp. Un bun exemplu în acest sens este o lumină de garaj, în cazul în care se dorește întreruperea
comenzii după 2 minute, pentru a permite cuiva timpul necesar să intre în casă. Cele trei tipuri diferite
de cronometre utiliz ate în mod obișnuit sunt Întârziere Oprire (Delay OFF) , Întârziere Pornire (Delay
On) și Oprire Întârziere cu Reținere (Delay On Retentive ). Un temporizator de oprire se activează
imediat când este pornit, se contorizează un timp programat înainte de decuplare și este șters când
intrarea de activare este d ezactivată. Un cronometru Delay On este activat de o intrare și începe să
acumuleze timp, se contorizează până la un timp programat înainte de cuplare ieșire și este șter s când
intrarea de activare este dezactivată. O întârziere la activare cu reținere este activat ă de o intrare și
începe să acumuleze timp, păstrează valoarea acumulată chiar dacă treapta devine inactivă și poate fi
resetată numai de către o un bit de RESET.
Contoarele sunt utilizate , în principal , pentru a număra producția precum produsele care intră
într-o cutie pe o linie de asamblare. Acest lucru este important deoarece, odată ce cutia este umplut ă,
elementul trebuie mutat, astfel încât să poată fi plas ată o cutie goală. Multe companii folosesc
contoarele în PLC pentru a număra cutii, pentru a contoriza diferite producții sau pentru a număra câti paleți sunt pe un camion. Există trei tipuri de contoare, contoare cu numărătoare înainte , contoare
cu numără toare inversă și contoare mixte ce numără atât înainte, cât și înapoi. Contoarele cu numărare
înainte numără până la valoarea presetată, este activată ieșirea CTU (CounT Up) când se atinge
valoarea presetată și sunt șterse la primirea unei resetări. Contoarele cu numărare inversă scad de la
11

o valoare pres tabilită, activează CTD ( CounT Down) când se atinge valoarea 0 și sunt ș terse la
resetare. Contoarele mixte contorizează normal pe intrarea CU, invers pe CD, activeayă CTUD (ieșire
CounT Up / Down) când se atinge valoarea prestabilită și se șterge la resetare.

2.7. Releu logic programabil (Programmable Logic Relay – PLR)

În ultimii ani, produs ele mici numite PLR (relee logice programabile) au devenit mai comune
și acceptate. Acestea sunt asemănătoare PLC -urilor și sunt utilizate în industria ușoară, unde sunt
necesare doar câteva puncte de intrare / ieșire (adică câteva semnale care vin din lumea reală și câteva
ieșiri) și se dorește un cost redus. Aceste dispozitive mici sunt , în mod obișnuit , realizate într -o
dimensiune și formă fizică comune de către mai mulți producători și marcați de producătorii de PLC –
uri mai mari pentru a -și completa gama de produse finite. Denumirile populare includ controler PICO,
NANO PLC și alte nume care implică controlere foarte mici. Cele mai multe dintre acestea au 8 -12
intrări discrete, 4 până la 8 ieșiri discrete și până la 2 intrări analogice.
Majoritatea acestor dispozitive includ un mic ecran LCD de dimen siunea unui timbru pentru
a vizualiza logica simplificată (doar o mică parte a programului fiind vizibilă la un moment dat) și
starea punctelor de intrare / ieșire și , de obicei , aceste ecrane sunt însoțite de un buton rotativ cu 4
căi, plus patru butoane separate, similare butoanelor cu taste de pe telecomanda VCR și utilizate
pentru navigarea și editarea logicii Cele mai multe au un mufa mica pentru conectarea prin RS -232
sau RS -485 la un calculator, astfel încâ t, progr amatorii sa poată folosi aplicații W indows simple
pentru programare în loc sa fie obligați să folosească LCD -ul mic și să apese butonul setat în acest
scop. care sunt de obicei modulare și foarte extensibile, PLR -urile nu sunt , de obicei , modulare sau
extensibile, dar prețul lor poate fi de două ori mai mic decât al unui PLC și ele încă oferă un design
robust și o execuție deterministă a logicii.

2.8. Caracteristici ale automatelor programabile

2.8.1. Principale trăsături ale PLC -urilor

Principala diferență față de majoritatea dispozitivelor computerizate este aceea că PLC -urile
sunt destinate industriei și, prin urmare, sunt tolerante – unor condiții mai drastice (cum ar fi praful,
umiditatea, căldura, frigul), oferind în același timp o intrare / ieșire extensivă (I / O) către senzori și
actuatoare.
O intrare PLC poate include elemente digitale simple cum ar fi comutatoare de limită,
variabile analogice de la senzori i de proces (cum ar fi temperatura și presiunea) și date mai complexe,
cum ar fi cele din sistemele de pozițion are sau de vizion are mecanică. O i eșirea PLC poate include
12

elemente precum lămpi indicatoare, sirene, motoare electrice, cilindri pneumatici sau hidraulici, relee
magnetice, bobine sau ieș iri analogice. Aranjamentele intrărilor / ieșirilor pot fi integrate într -un PLC
simp lu, sau PLC -ul poate avea module externe I / O atașate la o rețea fieldbus sau la o rețea de
calculatoare care se conectează la PLC.

Figura 2.4. Panou de comandă cu PLC Siemens S7-300

2.8.2. Timpul de scanare
Un program PL C, în general, se execută în buclă, adică se execută în mod repetat, atâta timp
cât funcționează sistemul contro lat. La începutul fiecărei bucle de execuție, starea tuturor intrărilor
fizice este copiată într -o zonă de memorie, denumită uneori "tabela de imagini I / O", care este
accesibilă procesorului. Apoi, programul pornește de la prima instrucțiune până la ultima treaptă. Este
nevoie de ceva timp ca procesorul PLC să evalueze toate treptele, liniile de execuție și să actualizeze
tabela de imagini I / O cu starea ieșirilor. Timpii de scanare de câteva milisecunde pot fi întâlniți
pentru programe le mici și procesoare rapide, dar pentru procesoarele mai vechi și progr ame foarte
mari pot fi întâlniți timpi de scanare mai mari (de ordinul a 100 ms). Timpii de scanare excesiv de
lungi pot însemna că răspunsul PLC la schimbarea intrărilor sau condițiilor procesului este prea lent
pentru a fi util.
Deoarece PLC -urile au devenit mai avansate, s -au dezvoltat metode pentru a schimba secvența
de execuție a logicii ladder și au fost implementate subrutine. Această programare simplificată ar
putea fi utilizată pentru a economisi timpul de scanare pentru procesele de mare viteză; de exemplu,
13

părțile din programul utilizat numai pentru in stalarea mașinii ar putea fi separate de acele părți
necesare pentru a funcționa la o viteză mai mare. PLC -urile mai noi au acum opțiunea de a rula
programul logic sincron cu scanarea IO. Aceasta înseamnă că IO este actualizat în fundal, iar logica
citește și scrie valori așa cum este necesar în timpul scanării logice.

Figura 2.5. Diagrama bloc a unui PLC
Modulele I / O cu scop special pot fi utilizate în cazul în care timpul de scanare al PLC -ului
este prea lung pentru a permite performanța previzibilă. Modulele de temporizare cu precizie sau modulele de contor pentru utilizarea cu codificatoare de arbori sunt utilizate acolo unde timpul de
scanare ar putea fi prea lung pentru a număra impulsuri sa u pentru a detecta sensul de rotație al unui
codificator. Acest lucru permite unui PLC relativ lent să interpreteze în continuare valorile numărate pentru a controla o mașină, deoarece acumularea impulsurilor este efectuată de un modul dedicat,
care nu est e afectat de vit eza de execuție a programului în PLC.

2.8.3. Procesul unui ciclu de scanare

Există 5 pași principali într -un ciclu de scanare:
1. Citirea intrărilor
2. Executarea programului
3. Prelucrarea cererilor de comunicare
4. Executarea diagnosticării procesorului
5. Scrierea rezultatelor

14

Figura 2.6. Diagrama de lucru a unui PLC

2.8.4. Scalarea sistemului

Un PLC mic va avea un număr fix de conexiuni integrate pentru intrări și ieșiri. De obicei,
extensiile sunt disponibile dacă modelul de bază nu are I / O suficiente.
Modulele PLC m odulare au un raft (sau rack) în care sunt amplasate module cu funcții diferite.
Procesorul și selecția modulelor I / O sun t personalizate pentru fiecare aplicație în parte. Mai multe
rafturi po t fi administrate de un singur procesor și pot avea mii de intrări și ieșiri. Se utilizează fie o
conexiune de intrare / ieșire specială de mare viteză sau o metodă de comunicare comparabilă, astfel
încât rack -urile să poată fi distribuite departe de proce sor, reducând costurile de cablare pentru
instalațiile mari. De asemenea, sunt disponibile opțiuni pentru montarea punctelor I / O direct pe mașin ă și utilizarea cablurilor de conectare rapidă la senzori și supape, economisind timp pentru
cablare și înlocu irea componentelor.

2.8.5. Interfața cu utilizatorul
Este posibil ca PLC -urile să fie nevoite să interacționeze cu oamenii în scopul configurării,
rapoartelor de alarmă sau controlului zilnic. O interfață om -mașină (HMI) este utilizată în acest scop.
HMI -urile sunt denumite și interfețe om- mașină (MMI) și interfețe grafice de utilizator (GUI). Un
sistem simplu poate folosi bu toanele și luminile pentru a interacționa cu utilizatorul. Sunt disponibile
15

afișări de text, precum și ecrane grafice tactile. Sistemele mai complexe utilizează software -ul de
programare și monitorizare instalat pe un computer, cu PLC -ul conectat printr -o interfață de
comunicație.

2.8.6. Programarea

Programele PLC sunt , în general , scrise într -o aplicație specială pe un computer personal, apoi
sunt descărcate printr -un cablu de conectare directă sau printr -o rețea către PLC. Programul este stocat
în PLC fie în memorie RAM cu baterie, fie în altă memorie flash non volatilă. Adesea, un singur PLC
poate fi programat pentru a înlocui mii de relee.
În conformitate cu standardul IEC 61131- 3, PLC -urile pot fi programate folosind limbaje de
programare bazate pe standard e. Limba jul de progr amare cea mai frecvent utilizat este diagrama
Ladder (LD), cunoscută și sub denumirea de logică Ladde r. Utilizează logica Contact -Bobină pentru
a face programe ca o diagramă de control electric. O notație grafică de p rogramare denumită
Diagrame de F uncții Secvențiale (SFC) este disponibilă pentru anumite controlere pr ogramabile. Un
model care emula dispozitive LE cu panouri de comandă electromecanice (cum ar fi contactul și
bobinele releelor) pe care le- au înlocuit PLC -urile. Acest model rămâne comun astăzi.
IEC 61131- 3 definește , în prezent , cinci limbaje de programare pentru sisteme de comandă
programabile: diagrama blocurilor de funcții (FBD), diagrama scării (LD), textul structurat (ST, similar limbajului de programare Pas cal), lista de instrucțiuni (IL) și diagrama fu ncțiilor secvențiale
(SFC). Aceste tehnici subliniază organizarea logică a operațiunilor.
În timp ce conceptele fundamentale ale programării PLC sunt comune tuturor producătorilor,
diferențele de adresare I / O, organizarea memoriei și seturile de instrucțiuni înseamnă că programele
PLC nu sunt niciodată perfect interschimbabile între diferiții producători. Chiar și în cadrul aceleiași
linii de producție a unui singur producător, este posibil ca diferite model e să nu fie direct compatibile.

16

2.8.6.1. Exemplul de control în diagrama Ladder

Acesta este un exemplu de programare în diagrama ladder care arată s istemul de control. O
diagramă ladder este o metodă de desen are a circuitelor de control comandate de PLC-uri. Diagrama
ladder seamănă cu diagrama schematică a unui sistem construit cu relee electromecanice.
De exemplu, spunem că o instalație trebuie să depoziteze apă într -un rezervor. Apa este
extrasă din rezervor printr -un alt sistem, după cum este nec esar, iar sistemul nostru trebuie să
gestioneze nivelul apei din rezervor prin controlul supapei care umple rezervorul.Astfel, avem următoarele date:
• Două intrări (de la întrerupătoarele pentru nivel jos și nivel înalt) reprezentate de contactele comutatoarelor plutitoare.
• O ieșire la supapa de umplere, etichetătă ca supapa de umplere pe care o controlează.
• Un contact "intern", reprezentând semnalul de ieșire la supapa de umplere care este creată în program.
• O schemă logică de control creată prin i nterconectarea acestor elemente în software.

În diagram ladder , simbolurile de contact reprezintă starea biților din memoria procesorului,
ceea ce corespunde stării fizice a intrărilor în sistem. Dacă o intrare discretă este alimentată, bitul de
memorie este 1 și un contact "normal deschis", controlat de acel bit, va transmite un semnal logic
"adevărat" pe următorul element al scării. Prin urmare, contactele din programul PLC care "citesc" sau monitorizează contactele fizice ale comutatoarelor , în acest caz , trebuie să fie "opuse" sau
deschise pentru a returna o valoare adevărată pentru comutatoarele fizice închise. Biți de stare interni,
corespunzători stadiului în care se află ieșirile discrete , sunt, de asemenea, disponibili pentru program.
În exemplul nostru, starea fizică a contactelor comutatorului plutitor trebuie luată în
considerare la alegerea simbolurilor "normal deschis" sau "normal închis" din diagrama ladder.
PLC-ul are două intrări discrete de la comutatoarele plutitoare (nivel scăzut și niv el înalt). Ambele
comutatoare plutitoare (în mod normal închise) își deschid contactele atunci când nivelul apei din
rezervor se situează deasupra locației fizice a comutatorului.
Când nivelul apei este sub ambele comutatoare, cont actele fizice ale comutatoarelor plutito are
sunt închise și cu o valoare reală (logica, 1) este trecută la ieșirea ventilului de umplere. Apa începe
să umple rezervorul. Contactul intern "Supapă de umplere" blochează circuitul astfel încât, chiar dacă
se deschide contactul "Nivel scăzut" (deoarece apa trece prin comutatorul inferior), supapa de
umplere rămâne aprinsă. Deoarece nivelul înalt este, de asemenea, normal închis, apa continuă să curgă, deoarece nivelul apei rămâne între cele două nivele de comutare. Odată ce nivelul apei se ridică
suficient, astfel încât comutatorul "Ridicat" să fie oprit (deschis), PLC -ul va închide orificiul de
17

intrare pentru a opri scurgerea apei; acesta este un exemplu de logică de etanșare (blocare). Ieșirea
este sigilată până când o starea comutatorului de nivel înalt se va schimba . După aceasta, supapa de
umplere rămâne oprită până când nivelul scade atât de jos încât comutatorul de nivel scăzut este
activat, iar procesul se repetă din nou.

Figura 2.7. Diagrama Ladder pentru un proces de control

Un program complet poate conține mii de linii de program , evaluate în ordine. De obicei,
procesorul PLC va scana alternativ toate intrările și ieșirile, apoi va evalua logica ladder ; schimbările
pe intrări în timpul scanării programului nu vor fi eficient e până la următoarea scanare I / O. O scanare
completă a programului poate dura , doar, câteva milisecunde, mult mai rapid decât modificările
procesului controlat.
Automatele programabile variază în ceea ce priv ește capacitățile lor pentru o linie de execuție
a unei diagrame ladder Unii permit doar un singur bit de ieșire. Există, de obicei, limite la numărul
de contacte înseriate per linie și la numărul de ramuri care pot fi utilizate. Fiecare element al liniei de
execuție este evaluat secvențial. Dacă elementele îș i schimbă starea în timpul evaluării unui traseu,
se pot genera gr eșeli de diagnoză, deși uneori tehnica este utilă. Unele implementări au impus
evaluarea de la stânga la dreapta așa cum este afișată și nu au permis fluxul invers al unui semnal logic (în l iniile de execuție cu mai multe ramificații) pentru a afecta ieșirea.

18

2.8.7. Securitatea

Înainte de descoperirea virușilor de calculator Stuxnet în iunie 2010, securitatea PLC -urilor
nu era prioritară . PLC -urile moderne conțin, în general, un sistem de operare în timp real, cum ar fi
OS-9 sau VxWorks, iar exploatările pentru aceste sisteme există mult ca și în cazul sistemelor de
operare de tip desktop, cum ar fi Microsoft Windows. PLC -urile pot fi, de asemenea, atacate prin
dobândirea controlului asupra unui computer cu care comunică.

2.8.8. Simularea

Pentru a înțelege corect funcționarea unui PLC, este necesar petrecerea unui timp îndelungat
pentru programarea, testarea și depanarea programelor PLC. Sistemele PLC sunt în mod inerent
scumpe, iar timpul de conectare este adesea foarte costisitor. În plus, dacă un PLC este programat
incorect, acesta poate duce la pierderea productivității și la apariția unor condițiilor periculoase.
Software -ul de simulare PLC, cum ar fi PLCLogix, poate economisi timp în proiectarea aplicațiilor
automatizate de control și poate, de asemenea, să sporească nivelul de siguranță asociat
echipamentelor, deoarece pot fi încer cate și testate diferite scenarii de tipul "ce se întâmplă" dacă
sistemul este activat.

2.8.9. Redundanța
Unele procese speciale trebuie să lucrez e permanent cu un timp minim de oprire . Prin urmare,
este necesar să se proiecteze un sistem care să fie tolerant la erori și capabil să manipuleze procesul
cu module defecte. În astfel de cazuri, pentru a spori disponibilitatea sistemului în cazul unei
defecțiuni a componentelor hardware, modulele CPU redundante sau I / O cu aceeași funcționalitate pot fi adăugate la configurația hardware pentru a împiedica închiderea totală sau parțială a procesului
din cauza unei defecțiuni hardware.

2.9. PLC în comparație cu alte sisteme de control

PLC-urile sunt bine adaptate la o serie de sarcini de automatizare. Acestea sunt de obicei
procese industriale în producție , unde costul dezvoltării și menținerii sistemului de automatizare este
ridicat față de costul total al automatizării și, în cazul în care, se așteaptă modificări ale sistemului în
timpul vieții sale operaționale. PLC -urile conțin dispozitive de intrare și ieșire compatibile cu
dispozitive și comenzi pilot industriale; este nevoie de un design electric mic, iar problema de
proiectare se axează pe exprimarea secvenței de operații dorite.
19

Aplicațiile PLC sunt, de obicei , sisteme foarte personalizate, astfel încât costul unui PLC
ambalat este scăzut în comparație cu costul unui design specific al unui controler personalizat. Pe de
altă par te, în cazul mărfurilor produse în masă, sistemele personalizate de control sunt economice.
Acest lucru se datorează costului mai scăzut al componentelor, care poate fi ales în mod optim în locul unei soluții "generice" și în care taxele de inginerie non recurente sunt distribuite pe mii sau
milioane de unități.
Pentru sarcini de automatizare cu volum mare sau foarte simple, sunt utilizate diferite tehnici.
De exemplu, o mașină de spălat vase ieftină pentru consumatori ar putea fi controlată de un timer
electromecanic care costă doar câțiva dolari în cantități de producție de serie.
Un design bazat pe microcontrolere ar fi adecvat acolo unde se vor produce sute sau mii de
unități și, astfel , costurile de dezvoltare (proiectarea surselor de alimentare, hardware -ul de intrare /
ieșire, testarea și certificarea necesare) pot fi împărțite pe mai multe vânzări, – utilizatorul nu ar trebui
să modifice controlul. Aplicațiile pentru automobile reprez intă un exemplu; milioane de unități sunt
construite în fiecare an, și foarte puțini utilizatori finali modific ă programarea acestor automate. Cu
toate acestea, unele vehicule de specialitate, cum ar fi autobuzele de tranzit, utilizează în mod
economic PLC în locul comenzilor personalizate, deoarece volumele sunt scăzute, iar costul de
dezvoltare ar fi neeconomic.
Controlul foarte complex al procesului, cum este cel utilizat în industria chimică, poate
necesita algoritmi și performanțe dincolo de capacitat ea PLC -urilor de înaltă performanță.
Automatele programabile de mare viteză sau de precizie pot necesita, de asemenea, soluții
personalizate; de exemplu, controalele de zbor ale avioanelor. Computerele cu o singură plac ă care
utilizează hardware semi personalizat sau complet personalizat pot fi alese pentru aplicații de control
foarte solicitante, unde pot fi susținute costurile ridicate de dezvoltare și întreținere. "PLC -urile Soft"
care rulează pe computerele tip desktop pot interfața cu hardware- ul industrial I / O în timp ce execută
programe în cadrul unei versiuni a sistemelor de operare comerciale adaptate pentru nevoile de control al proceselor.
Automatele programabile sunt utilizate pe scară largă în aplicații de mișcare, poziționare sau
control al cuplului. Unii producători produc unități de control al mișcării pentru a fi integrate cu PLC,
astfel încât codul G (care implică o mașină CNC) să poată fi utilizat pentru a instrui mișcările mașinii.
PLC-urile pot include logica pentru o buclă de co ntrol analogică cu feedback variabil, un
controler proporțional, integrat, derivat (PID). O buclă PID ar putea fi utilizată pentru a controla, de
exemplu, temperatura unui proces de fabricație. Din punct de vedere istoric, PLC -urile au fost
configurate cu doar câteva bucle analogice de control; unde procesele au necesitat sute sau mii de bucle, în schimb ar fi folosit un sistem de control distribuit (DCS). Deoarece PLC -urile au devenit
mai puternice, limita dintre aplicațiile DCS și PLC a fost neclară.
20

PLC-urile au funcționalități similare ca unitățile terminale la distanță. Un RTU, de obicei, nu
suportă algoritmi de control sau bucle de control. Pe măsură ce hardware -ul devine din ce în ce mai
puternic și mai ieftin, RTU -urile, PLC -urile și DCS -urile încep din ce în ce mai mult să se suprapună
în responsabilități, iar mulți furnizori vând RTU -uri cu caracteristici PLC și invers. Industria a
standardizat pe limbajul funcțional IEC 61131- 3 pentru crearea de programe pentru a funcționa pe
RTU și PLC, deși aproape toți furnizorii oferă , de asemenea, alternative personalizate ș i medii de
dezvoltare asociate.
În ultimii ani PLC -urile cu partea de securitate integrată au început să devină populare, fie ca
modele independente, fie ca funcționalitate și hardware de siguranță adăugate la arhitecturile
controlerului existent (Allen -Bradley Guardlogix, Siemens F -series etc). Acestea diferă de tipurile de
PLC convenționale ca fiind potrivite pentru utilizarea în aplicații critice de siguranță, pentru care
PLC-urile au fo st în mod tradițional completate cu relee de securitate prin cablare. De exemplu, un
PLC cu securitate integrată ar putea fi utilizat pentru a controla accesul la o celulă cu robot cu acces
prin cheie sau poate pentr u a gestiona răspunsul la o oprire de urgență pe o linie de producție . Astfel
de PLC -uri au , în mod obișnuit , un set de instrucțiuni obișnuit cu restricții, instrucțiuni specifice de
securitate, concepute pentru a interfera cu opriri le de urgență, coloane luminoase și așa mai d eparte.
Flexibilitatea oferită de astfel de sisteme a dus la o creșter e rapidă a cererii pentru acește automate
programabile .

2.10. Semnale discrete (digitale) și analogice

Semnalele discrete (digitale) se comportă ca niște comutatoare binare, dând pur și sim plu un
semnal de pornit sau oprit (1 sau 0, respectiv Adevărat sau Fals). Butoanele, comutatoarele de limită
și senzorii fotoelectrici sunt exemple de dispozitive care furnizează un semnal discret. Semnalele
discrete sunt trimise utilizând fie tensiune, fi e curent, unde un anumit interval de tensiune sau curent
este desemnat ca fiind semnal de pornit și altul ca semnal de oprit . De exemplu, un PLC ar putea
utiliza I / O de 24 V DC, cu valori mai mari de 22 V DC reprezentând starea de pornit , valori mai
mici de 2 V DC reprezentând semnalul de oprit și valori le intermediare sunt nedefinite. Inițial,
PLC-urile aveau doar I / O digitale.
Semnalele analogice sunt ca și controalele de volum, cu o gamă de valori între zero și valoarea
maximă . Acestea sunt , în mod tipic , interpretate ca valori întregi de către PLC, cu diferite intervale
de precizie în funcție de dispozitiv și de numărul de biți disponibili pentru stocarea datelor. Deoarece
PLC-ul utilizează , de obicei , procesoare binare pe 16 biți, valorile întregi sunt limitate între – 32.768
și +32.767. Presiunea, temperatura, debitul și greutatea sunt adesea reprezentate de semnale
analogice. Semnalele analogice pot folosi tensiune sau curent cu o magnitudine proporțională cu
21

valoarea semnalului de proces. De exemplu, o intrare analogică de la 0 la 10 V sau 4- 20 mA ar fi
transformată într -o valoare întreagă de la 0 la 32767.
Intrările de curent sunt mai puțin sensibile la zgomotul electric (de exemplu, de la utilajele de
sudură sau la pornirea unui motorului electric) decât intrările de tensiune.
PLC-urile se află în fruntea automatizării producției. Un inginer care lucrează într -un mediu
de producție va întâlni cel puțin două tipuri diferite de PLC -uri. Studenții din domeniul electrotehnic
ar trebui să aib ă cunoștințe de bază despre PLC -uri datorită utilizării pe scară largă a acestora în
aplicațiile industriale.

22

3. Capito lul 3. Utilizarea logicii fuzzy în automatizări

Logica fuzzy este o formă de logică cu multe valori în care valorile de adevăr ale variabilelor
pot fi orice număr real între 0 și 1. Se folosește pentru a trata conceptul de adevăr parțial, unde valoarea adevărului poate varia între complet adevărat și co mplet fals. Prin contrast, în logica
booleană, valorile de adevăr ale variabilelor pot fi numai valorile întregi de 0 sau 1.
Termenul de logică fuzzy a fost introdus cu propunerea din 1965 a teoriei seturilor fuzzy de
Lotfi Zadeh. Cu toate acestea, logica fuzzy a fost studiată încă din anii 1920, ca o logică extrem de
apreciată – în special de Łukasiewicz și Tarski.
Logica fuzzy a fost aplicată în multe domenii, de la teoria controlului la inteligența artificială.
Logica clasică permite numai concluzii c are sunt fie adevărate, fie false. Cu toate acestea,
există, de asemenea, propuneri cu răspunsuri variabile, așa cum s -ar putea găsi atunci când se solicită
unui grup de persoane să identifice o culoare. În astfel de cazuri, adevărul apare ca rezultat al
raționamentului din cunoașterea inexactă sau parțială în care răspunsurile eșantionate sunt
cartografiate pe un spectru.
Ambele grade de adevăr și probabilități se situează între 0 și 1 și, prin urmare, pot părea
similare la început, dar logica fuzzy utilizează grade de adevăr ca un model matematic al
incertitudinii, în timp ce probabilitatea este un model matematic al ignor anței.

3.1. Aplicarea valorilor de adevăr

O aplicație de bază ar p utea caracteriza diferitele sub intervale ale unei variabile continue. De
exemplu, o măsurare a temperaturii dintr -o încăpere poate avea mai multe funcții separate de
apartenență care definesc anumite intervale de temperatură necesare pentru a controla răcirea în mod
corespunzător. Fiecare funcție are aceeași valoare a temperaturii la o valoare de adevăr în intervalul 0 la 1. Aceste valori ale adevărului pot fi , apoi , utilizate pentru a determin a modul în care răcitoarele
ar trebui să fie controlate.
3.2. Variabilele lingvistice

În timp ce variabilele din matematică iau de obicei valori numerice, în aplicațiile cu logică
fuzzy, valorile nonnumerice sunt adesea folosite pentru a facilita exprimarea regulilor și a faptelor.
O variabilă lingvistică, cum ar fi vârsta, poate accepta valori precum tinere și antonimul
bătrâne. Deoarece limbile naturale nu conțin întotdeau na valori suficiente pentru a exprima o scală
de valoare fuzzy, este o practică obișn uită să se modifice valorile lingvistice cu adjective sau adverbe.
23

Operațiunile de fuzzificare pot să primească valori matematice de intrare în funcțiile de
apartenență. Iar operațiile opuse de defuzzificare pot fi folosite pentru a mapa funcțiile de apartenență
de ieșire fuzzy într -o valoare de ieșire "clară" care poate fi apoi utilizată pentru decizii sau control.

3.3. Procesul de execuție a logicii fuzzy

1. Toate valorile de intrare sunt fuzzi ficate în funcții de apartenență fuzzy.
2. Se execută toate regulile aplicabile în baza de date pentru a calcula funcțiile de ieșire fuzzy.
3. Funcțiile de ieșire fuzzy sunt defuzzi ficate pentru a obține valori de ieșire "clare".

3.3.1. Fuzzi ficarea

Figura 3.1. Funcții de apartene nță pentru variabila temperatură

În această imagine, semnificațiile expresiilor rece, cald și fierbinte sunt reprezentate de funcții
care caracterizează o scală de temperatură. Un punct pe această scală are trei "valori de adevăr" – unul
pentru fiecare dintre cele trei funcții. Linia verticală a imaginii reprezintă o temperatură particulară
pe care o măsoară cele trei săgeți (valori de adevăr). Deoarece prima săgeată de jos indică zero,
această temperatură poate fi interpretată ca "nu este caldă". Săgeata care indică 0,2 poate să o descrie
ca fiind "uș or caldă" și săgeata care indică 0.8 "destul de rece".
Seturile fuzzy sunt adesea definite ca fiind curbe în formă de triunghi sau trapezoid, deoarece
fiecare valoare va avea o pantă în care valoarea este în creștere, un vârf unde valoarea es te egală cu
1 (care poate avea o lungime de 0 sau mai mare) și o pantă în care valoarea este în scădere. Ele pot
fi, de asemenea, definite utilizând o funcție sigmoidă. U n caz comun este funcția logi că standard
definită ca:
()1
1xSxe−=+
care are următoarea proprietate simetrică: ()()1 Sx S x+−= .
Din aceasta rezultă că: ()() ( )()() ( )()() ( )1 Sx S x Sy S y Sz S z+−⋅ +−⋅ +−=

24

3.3.2. Operatori de logică fuzzy

Logica fu zzy funcționează cu valorile funcțiilor de apartenență într-un mod care să imite
logica booleană.
În acest scop, înlocuirile pentru operatorii de bază AND, OR, NOT trebuie să fie disponibile.
Există mai multe moduri în acest sens. Un înlocuitor comun este reprezentat de operatorii Zadeh:

Logica booleană Logica fuzzy
AND(x,y) MIN(x,y)
OR(x,y) MAX(x,y )
NOT(x) 1-x
Tabel 3.1. Operatori Zadeh
Pentru valorile Adevărat / 1 și Fals / 0, expresiile fuzzy produc același rezultat ca expresiile
booleene.
Există și alți operatori, mai lingvistici în natură, numiți garduri care pot fi aplicate. Acestea
sunt, în general, adverbe, cum ar fi foarte, sau oarecum, care modifică sensul unui set utilizând o formulă matematică.
Totuși, o tabelă de alegere arbitrară nu definește întotdeauna o funcție logică fuzzy. În lucrare,
a fost formulat un criteriu pentru a recunoaște dacă o anumită tabelă de alegere definește o funcție
logică fuzzy și un algoritm simplu de sinteză a funcțiilor logice fuzzy a fost propus pe baza
conceptelor introduse ale constituenților minim și m axim. O funcție logică fuzzy reprezintă o
disjuncție a elementelor minime, unde un element constitutiv al minimului este o conjuncție a variabilelor din zona curentă mai mare sau egală cu valoarea funcției din această zonă (în dreapta
valorii funcției în i negalitate, inclusiv valoarea funcției).
Un alt set de operatori AND / OR se bazează pe multiplicare:
()()
11 1x AND y x yx OR y x y x y x y= ∗
=−− ∗− =+−∗
Expresia ()() 11 1 xy−−∗− vine de la :
()() ( ) ( )
() ( )
()() ( )
()() ,
1 ,1
11
11 1x OR y NOT AND NOT x NOT y
x OR y NOT AND x y
x OR y NOT x y
x OR y x y=
= −−
= −∗−
= −−∗−

25

3.3.3. Regulile IF -THEN

IF-THEN stabilește căile de intrare sau valorile calculate ale adevărului la valorile dorite de
ieșire ale adevărului. Exemplu:

1. IF temperatura IS foarte rece THEN viteza ventilatorului este oprită.
2. IF temperatura IS rece THEN viteza ventilatorului este lentă .
3. IF temperatura IS caldă THEN viteza ventilatorului este moderată .
4. IF temperatura IS caldă THEN viteza ventilatorului este ridicată .
Având o anumită temperatură, variabila fuzzy fierbinte are o anumită valoare de adevăr, care
este copiată la variabila mare.
Dacă o variabilă de ieșire se face în mai multe părți THEN, atunci valorile din respectivele
componente IF sunt combinate folosind operatorul OR.

3.3.4. Defuzzificarea

Scopul este de a obține o variabilă continuă din valorile fuzzy ale adevărului.
Acest lucru ar fi ușor dacă valorile adevărului de ieșire ar fi exact cele obținute prin
fuzzificarea unui număr dat. Deoarece, totuși, toate valorile de ieșire ale adevărului sunt calculate
independent, în majoritatea cazurilor ele nu reprezintă un astfel de set de numere. Unul trebuie să
decidă pentru un număr care se potrivește cel mai bine cu "intenția" codată în valoarea adevărului.
De exemplu, pentru mai multe valo ri ale adevărului de viteză , trebuie găsită o viteză reală care se
potrivește cel mai bine valorilor de adevăr ale variabilelor calculate "lent", " moderat " și așa mai
departe. Nu există un singur algoritm în acest scop.
Un algoritm comun este :
1. Pentru fiecar e valoare a adevărului, se reduce funcția de apartenență la această valoare.
2. Se combină curbele rezultate utilizând operatorul OR.
3. Se găsește centrul de greutate al zonei sub curbă.
4. Poziția x a acestui centru de greutate este, apoi , rezultatul final.

3.4. Formarea unui consens de intrări și reguli fuzzy

Deoarece ieșirea sistemului fuzzy este u n consens al tuturor intrărilor și al tuturor regulilor,
sistemele logice fuzzy se comportă bine atunci când valorile de intrare nu sunt disponibile sau nu sunt
de încredere. Eventualele ponderi pot fi adăugate opțional la fiecare regulă din baza de date, iar
ponderile pot fi utilizate pentru a regla gradul în care o regulă afectează valorile de ieșire. Aceste
26

corecții de reguli se pot baza pe prioritatea, fiabilitatea sau coerența fiecărei reguli. Aceste ponderări
ale regulilor pot fi statice sau pot fi mo dificate dinamic, chiar și pe baza rezultatelor din alte reguli.

3.5. Primele aplicații
Multe dintre aplicațiile de succes ale logicii fuzzy au fost implementate în Japonia. Prima
aplicație notabilă a fost în trenul de metrou din Sendai, în care logica fuzzy a reușit să îmbunătățească
economia, confortul și precizia călătoriei. De asemenea, a fost utilizat ca recunoaștere a simbolurilor
scrise de mână în computerele de buzunar Sony, ajutoarele de zbor pentru elicoptere, controlul
sistemelor de metrou pentru a îmbunătăți confortul de conducere, precizia opririi și economia de
energie, consumul îmbunătățit de combustibil pentru automobile, pentru mașinile de spălat, controlul automat al motorului pentru aspiratoare cu recunoașterea stării de suprafață și a gradu lui de murdărire
și sisteme de predicție pentru recunoaște rea timpurie a cutremurelor pentru Institutul de Seismologie
al Biroului de Meteorologie, Japonia.

3.6. Analiza logică

În logica matematică, există mai multe sisteme formale de "logică fuzzy", cele ma i multe
dintre ele fiind în familia logicilor fuzzy t- normat .

3.6.1. Probleme de decidabilitate în logica fuzzy

Noțiunile de "subset decisiv" și "subset recursiv enumerabil" sunt cele de bază pentru
matematica clasică și logica clasică. Astfel, problema unei extinderi adecvate a acestora la teoria
seturilor fuzzy este una crucială. O primă propunere în această direcție a fost făcută de E.S. Santos a
noțiunilor de mașină fuzzy Turing, algoritmul Markov fuzzy normal și program fuzzy. În mod
succesiv, L. Biacino și G. Gerla au susținut că definițiile propuse sunt destul de discutabile.
De exemplu, se demonstrează că mașinile fuzzy Turing nu sunt adecvate pentru teoria logicii
fuzzy, deoarece există limbi fuzzy naturale computerizate intuitiv care nu pot fi recuno scute de o
mașină fuzzy Turing. Apoi, s -au propus următoarele definiții:
Denumim prin U setul de numere raționale în [0,1]. Apoi, o submulțime fuzzy [] : 0,1sS→ a unui
set S este recursiv enumerabil dacă există o mapare recursivă : h SxN U→ astfel încât, pentru
fiecare x din S, funcția h (x, n) crește în raport cu n și s (x) = lim h (x, n). Spunem că s este decisabil
dacă atât s, cât și complementul său sunt recursiv enumerabili. Este posibilă extinderea unei astfel de
teorii la cazul general al subseturilor L . Definițiile propuse sunt bine corelate cu logica fuzzy.
27

Într-adevăr, următoarea teoremă este adevărată (cu condiția ca aparatul de deducere a logicii fuzzy
considerate să satisfacă o anumită proprietate de eficacitate evidentă).
Orice teorie fuzzy "axiomatizabilă" este regăsită recursiv. În special, setul fuzzy de formule
logic e adevărate este recursiv enumerabil, în ciuda faptului că setul clar de formule valide nu este
recursiv enumerabil, în general. Mai mult decât atât, orice teorie axiomatizabilă și completă este
decisabilă.
Este o întrebare deschisă de a susține o "teză a Bisericii" pentru matematică fuzzy, propunere a
noțiunii de enumerare recursivă pentru subseturile fuzzy este cea adecvată. Pentru a rezolva aceasta,
este necesară o prelungire a noțiunilor de gramatică fuzzy și mașină Turing fuzzy. O altă întrebare
deschisă este să pornim de la această noțiune de a g ăsi o extensie a teoremelor lui Gödel la logica
fuzzy.

3.7. Baze de date fuzzy

Odată ce sunt definite relațiile fuzzy, este posibil să se dezvolte baze de date relaționale fuzzy.
Prima bază de date relațională fuzzy, FRDB, a apărut în disertația lui Maria Ze mankova (1983). Mai
târziu, alte modele au apărut ca modelul Buckles -Petry, modelul Prade -Testemale, modelul Umano –
Fukami sau modelul GEFRED de J.M. Medina, M.A. Vila și colaboratorii .
Au fost definite limbaje fuzzy de interogare, cum ar fi SQLf de P. Bos c et al. și FSQL de către
J. Galindo și colaboratorii. Aceste limbaje definesc câteva structuri pentru a include aspecte fuzzy în
instrucțiunile SQL, cum ar fi condițiile fuzzy, comparatoarele fuzzy, constantele fuzzy, constrângerile fuzzy, pragurile fuzzy, etichetele lingvistice etc.

3.8. Comparație cu probabilitatea
Logica fuzzy și probabilitatea adresează diferite forme de incertitudine. În timp ce , atât logica
fuzzy, cât și teoria probabilităților pot reprezenta grade de anumite tipuri de credințe subiective, teoria seturilor fuzzy folosește conceptul de apartenență a setu lui fuzzy , adică cât de mult o observație se
află într -un set vag definit, iar teoria probabilității folosește conceptul de probabilitate subiectivă ,
adică probabilitatea unui eveniment sau a unei condiții. Conceptul de seturi fuzzy a fost dezvoltat la
mijlocul secolului al XX -lea la Berkeley ca răspuns la lipsa teoriei de probabilitate pentru modelarea
în comun a incertitudinii și a neclarității.
Bart Kosko pretinde în "Fuzziness vs. Probability" că teoria probabilității este o subteorie a
logicii fuzzy, deoarece întrebările despre gradele de credință în apartenența exclusivă în teoria
probabilităților pot fi reprezentate ca anumite cazuri de apartenență clasificată non -reciproc exclusiv
28

în teoria fuzzy . În acest context, el derivă, de asemenea, teorema lui Bayes din conceptul de subset
fuzzy. Lotfi A. Zadeh susține că logica fuzzy are un caracter diferit de probabilitate și nu este o
înlocuire a acesteia. El a fuzzificat probabilitatea de fuzzicare a probabilității și a generalizat -o și la
teoria p robabi litățiilor.
În general, logica fuzzy este una dintre numeroasele extinderi diferite ale logicii clasice
destinate să se ocupe de probleme de incertitudine în afara sferei logicii clasice, inaplicabilitatea teoriei probabilității în multe domenii și paradoxurile teoriei Dempster -Shafer.

3.9. Relația cu ecoritmu l
Teoreticianul computational Leslie Valiant folosește termenul ecoritmuri pentru a descrie cât
de multe sisteme și tehnici mai puțin exacte precum logica fuzzy (și logica "mai puțin robustă") pot fi aplicate algoritmilor de învățare. Valiant redefinește în mod esențial învățarea mașinilor ca fiind
evoluționistă. În general, ecoritmii sunt algoritmi care învață din mediile lor mai complexe (deci eco –
) să generalizeze, să aproximeze și să simplifice log ica soluției. Ca și logica fuzzy, ele sunt metode
folosite pentru a depăși variabilele continue sau sisteme prea complexe pentru a enumera sau înțelege complet discret sau exact. Ecoritmele și logica fuzzy au, de asemenea, proprietatea comună de a trata
posibilitățile mai mult decât probab ilitățile, deși răspunsul și feed forward , în esență ponderi
stochastice, sunt o caracteristică comună atunci când se ocupă, de exemplu, de sisteme dinamice.

3.10. Compensatorul logic fuzzy
Compensator logic fuzzy (CFL) este o ramură a logicii fuzzy cu reguli modificate pentru
conjuncție și disjuncție. Când valoarea adevărului unei componente a unei conjuncții sau a unei disjuncții este crescută sau scăzută, cealaltă componentă este scăzută sau mărită pentru a compensa.
Aceast ă creștere sau scădere a valorii adevărului poate fi compensată de creșterea sau descreșterea
unei alte componente. O compensare poate fi blocată când sunt îndeplinite anumite praguri. Susținătorii pretind că CFL permite comportamente semantice computațion ale mai bune și mimează
limbajul natural.
Compensator logic fuzzy constă din patru operatori cont inuu: conjuncție (c); disjuncție (d);
ordine strictă fuzzy (sau); și negarea (n). Conjuncția este media geometrică și este duală precum
operator ii conjunctivi și disjunctivi.

29

3.11. STANDARDUL IEEE 1855-2016 – Standardul IEEE pentru limbajul de
marcare a logicii fuzzy

IEEE 1855, standardul IEEE 1855- 2016, este despre un limbaj specificat numit Fuzzy Markup
Language (FM L) dezvoltat de Asociația de Standarde IEEE. F ML permite modelarea unui sistem de
logică fuzzy într -un mod independent și ușor de citit de către oameni. FML se bazează pe limbajul
eXtensible Markup Language (XML). Designerii sistemelor fuzzy cu FML au o metodologie unificată și de nivel înalt pentru d escrierea sistemelor fuzzy interoperabile. Standardul IEEE
1855- 2016 utilizează limba de definire a schemei W3C XML pentru a defini sintaxa și semantica
programelor FML.
Înainte de introducerea FML, practicanț ii logicii fuzzy puteau face schimb de informații
despre algoritmii lor fuzzy prin adăugarea la funcțiile software a capacității lor de a citi, de a analiza corect și de a stoca rezultatele muncii lor într -o formă compatibilă cu limbajul de control fuzzy (FC L).

30

4. Capito lul 4. Aspecte specifice privind implementarea logicii fuzzy
în PLC

Controlul bazat pe logică fuzzy sau controlul fuzzy a început să se dezvolte în anii '70. În
zilele noastre se aplică în mai multe procese cu eficacitate demonstrată și interes deosebit din parte a
comunității științifice și tehnologice.
Principalele avantaje ale logicii fuzzy pentru controlul proceselor sunt capacitatea de decizie
rapidă, aplicabilitatea sistemelor neliniare și definiția intuitivă a comportamentului controlerului. În
plus, nu est e nevoie nici de date istorice, nici de modele matematice, cum ar fi alți controlori
inteligenți, precum rețele le neuronale sau algoritmi i genetici.
PLC-urile sunt dispozitive electronice utilizate în controlul procesele secvențiale. Principalele
caracteristici ale acestora sunt fiabilitatea și robustețea. Acestea sunt aplicate pe scară largă în procesele industriale, dar sunt utilizate și în alte domenii, cum ar fi automatizarea locu ințelor și
clădirilor, siste me de energie regenerabilă etc.
Este evident interesul de a combina și de a integra o metodă avansată de control, cum ar fi
logica fuzzy, cu dispozitive tradiționale de automatizare, PLC -uri. În acest fel, PLC poate fi aplicat
în sisteme în care este dificil să se obțină modele exacte sau cu neliniarități, întârzieri etc.
Puterea de calcul a unui PLC modern permite implementarea unor strategii avansate de control
în programele lor. Implementarea controlului fuzzy în PLC -uri le face utile pentru multe aplicații în
mediul industrial.
Mulți producători de PLC -uri oferă pachete software sau module suplimentare pentru a
programa controale fuzzy, FLC (Fuzzy Logic Controller). Dezavantajele sunt creșterea incrementală
a costurilor și, în principal, lipsa abs olută de flexibilitate pentru modificarea codificării acestora.
Pe de altă parte, datorită in teresului crescând și aplicabilității în procesele de control, controlul
fuzzy are o secțiune specifică în standardul internațional IEC 1131, care se referă la st andardizarea
PLC. În 1997, partea IEC 1131- 7 a definit limbajul de control fuzzy, FCL, adică un grup de funcții
pentru a programa aplicații de control fuzzy. În plus, mai multe lucrări de cercetare studiază metode
fuzzy avansate, cum ar fi modelarea și controlul fuzzy (Piegat, 2001; Zhang and Liu, 2006) și neuro-
controlorii fuzzy (Joelianto, 2013).
Literatura științifică despre control bazat pe logica fuzzy implementată cu PLC este redusă.
În cazul modelului Siemens s7- 1200, nu s -au găsit lucrări în bibliografia studiată. În ciuda acestui
deficit, există câteva exemple care sunt expuse din acest punct de vedere.
În 1998, un controler fuzzy este dezvoltat într -un PLC Omron (Sysmac C200HS) pentru a
controla puterea de ieșire a unui reactor nuclear. Programarea FLC se realizează folosind software și
31

un modul specific. În 1999, un controler fuzzy cu un PLC Omron este aplicat unui proces termic.
Limitarea capacității de procesar e a PLC a determinat autorii să ruleze un program într -un PC pentru
a realiza baza de cunoștințe.
Karasakal și colaboratorii (Karasakal, 2005) au utilizat un PLC Siemens s7- 200 pentru a
implementa un controler PID fuzzy cu autoreglare și au făcut comparaț ia cu un PID clasic. Bogdan
și colaboratorii (Bogdan, 2007) implementează un controler logic fuzzy de auto- învățare, SLFLC,
pentru PLC Simatic, care este aplicat pentru a controla poziția unui servomotor. Song și colaboratorii
(Song, 2007) dezvoltă un cont roler fuzzy bazat pe un PLC Siemens s7- 200 pentru a automatiza
prelucrarea pulberilor de ou. Sun și colababoratorii (2009) aplică un controler fuzzy cu PLC Siemens
s7-300 la un sistem de eliminare a apelor reziduale de la o instalație chimică. Autorii indică costul
ridicat al modulelor pentru logica fuzzy a le producătorului. Aceștia au susțin ut că controlerul
dezvoltat este precis și flexibil datorită capacității de adaptare la cerințele utilizatorilor.
Aydogmus (Aydogmus, 2009) prezintă un controler fuzzy implementat cu un PLC Siemens
s7-200 pentru a controla nivelul de lichid dintr -un rezervor . Acest cercetător descrie propunerea sa
ca o soluție cu costuri scăzute datorită faptului că a fost dezvoltată fără a utiliza pachete software de logică fuzzy. În ( Saad și Arrofiq, 2012) este prezentată o metodă de dezvoltare a controalelor PID
fuzzy în PLC pentru motoarele de inducție cu comandă în PWM. În 2012 este expusă o bibliotecă de
cod deschis ă publicului bazată pe Java, iFuzzyLogic, pentru a proiecta și implementa controale fuzzy
în conformitate cu standardul IEC 61131- 7 pentru limbajul de control fuzzy. Mai mult, este efectuată
o revizuire a 25 de pachete software destinate dezvoltării unor controale fuz zy, evidențiind interesul
primit către această tehnică de control.
Pe de altă parte, Bosque ( 2014) afirmă că flexibilitatea de programare și costul PLC contribuie
la implementarea controlului fuzzy în mediile industriale.
Obiectivul principal al acestei lucrări este proiectarea și validarea unui modul software pentru
implementarea unui sistem de control fuzzy cu un PLC. Cazul de control al temperaturii dintr -o
încăpere este luat în considerare în acest scop.

32

5. Capito lul 5. Proiectarea și implementarea unui sistem de control
fuzzy cu PLC

5.1. Caracteristicile de proces și aplicația fuzzy

Compania Siemens produce SIMATIC S7- 300, un instrument pentru proiectarea controlerului
fuzzy. Este un pachet software Fuzzy Control ++ care utilizează metodele de logică fuzzy și de control
fuzzy. Implementarea metodei menționate mai sus în dispozitivele PLC cuprinde două etape. Primul
este reprezentat de dezvoltarea și setarea modelului sistemului de control în mediul instrumentului
respectiv. A doua fază este înregistra rea datelor salvate în dispozitivul PLC și corecția ulterioară a
valorilor lor. Algoritmii menționați mai sus se află pe partea PLC implementată în cadrul blocurilor funcționale ale programului care se execută.
Pentru metoda logică fuzzy este utilizat FB30 un bloc funcțional (controlul SIMATIC S7- 300
/ 400). Blocul funcțional menționat mai sus are un bloc de date alocate instanței proprii care cuprinde
elementele de memorie utilizate în apelarea blocului funcțional și variabilele care păstrează structura
și parametrii sistemului fuzzy modelat. Implementarea software a funcțiilor fuzzy reprezintă o sarcină
crescută pentru modulul CPU PLC, care se reflectă în durata ciclului de programare. Durata de
executare a funcțiilor menționate mai sus depinde în mare măsură de structura modelată a sistemului.
Acestea pot include, de exemplu, numărul de intrări sau ieșiri sau dimensiunea bazei de reguli .
Instrumentul Fuzzy Control ++ cuprinde aplicația de configurare care rulează în mediul Windows și
în timpul rulării modulelor, funcțiilor și instanțelor blocurilor de date pentru dispozitivele și
bibliotecile SIMATIC S7 -300 și SIMATIC S7- 400 pentru vizua lizarea în WinCC. Cu aplicația de
configurare, sistemul fuzzy este proiectat și generat. Modulele de rulare a aplicației sunt evidențiate
prin numele lor , procesează datele generate pentru sistemul dat direct în operația rulată a
dispozit ivului în câmpul de lucru.
Sunt acceptate următoarele module de execuție:
• SIMATIC S7;
• SIMATIC CFC;
• SIMATIC WinCC.
Definiția sistemului fuzzy cuprinde mai multe etape; în primul rând, definirea intrărilor și
ieșirilor, urmată de atribuirea funcțiilor de apartenență și, în sfârșit, determinarea regulilor. Folosind
această metodă putem determina structura blocului de sistem, fuzzificarea, mecanismul de deducere și defuzzificarea. Limitele definiției modelului fuzzy sunt determinate pentru 8 intrări, 4 ieșiri, 9
funcții de afiliere pentru fiecare intrare / ieșire și maximum 100 de reguli de bază. Este bine de știut
33

faptul că cu cât numărul de parametri ai sistemului fuzzy este mai mare, cu atât trebuie alocat mai
mult timp pentru prelucrarea lor în programul PLC, ceea ce poate influența negativ dinamica
controlului.
Definirea regulilor este posibilă în trei moduri: printr -un tabel de reguli, printr -o matrice de
reguli sau direct prin limbajul de programare fuzzy FPL (Fuzzy Programming Language). Direcția rezultată a cont rolului este determinată de reguli și poate fi monitorizată în 3D. Odată ce sistemul este
dezvoltat, datele generate sunt înregistrate în dispozitivul PLC țintă printr -o interfață MPI (Multi
Point Interface) sau prin intermediul interfețelor superstructura le PROFIBUS sau , alternativ , prin
intermediul unui Ethernet industrial.

5.2. Procesarea semnalelor cu control fuzzy

Ideea de bază utilizată în configurația sistemelor fuzzy este logica fuzzy. Fuzzy ca un set de
reguli cu logică fuzzy sau vagă are un avantaj distinct față de logica cu valo are dublă, cu expresii
clare de apartenență (logică binară): este mult mai aproape de înțelegerea umană a proceselor din
fabrici și sisteme.
În viața de zi cu zi oamenii descriu lucruri și procese cu termeni colocviali, cum ar fi mulți,
câțiva, puțini, mai mulți, etc. fără să se gândească la valori numerice concrete. Cu toate acestea, în logica binară, suntem obligați să definim limite relativ arbitrare și să rămânem în limitele unei logici
stricte de tipul Oricare – Sau.

Figura 5.1. Exemplu de funcție de apartenență
34

De exemplu, dacă trebuie decrisă o temperatură într -un proces care este "fierbinte", atunci
putem spune că o temperatură peste 90° C este, cu siguranță , în categoria "fierb inte". Opiniile
operatorilor din fabrici nu diferă la o temperatură de 80°C , dar o temperatură de 70 ° C este clar
clasificată ca nu mai fiind din categoria "fierbinte". În logica fuzzy asemenea declarații vagi pot fi
descrise cu o func ție de apartenență, așa cum se arată în Figura 5.1.
În logica binară, pe de altă parte, trebuie definită o valoare maximă care limitează capătul
inferior al clasei de temperatură "fierbinte". Dacă, ca în exemplu, am fixa valoarea limită a acestei
clase la 80°C , atunci o temperatură de 79 °C nu mai este , deja, în clasa "fierbinte" precum în
Figura 5.2.

Figura 5.2. Reprezentarea unui pra g de temperatură în binar
Pentru fiecare variabilă de intrare și ieși re a unei aplicații fuzzy putem seta un interval de
valori în care această variabilă, de exemplu , o temperatură, poate varia. Funcția de aparteneță
definește relația cu o anumită stare a procesului în intervalul de valori al variabilei de intrare sau
ieșire. S e caracterizează printr -o descriere în formă de panta a valorilor de adevăr ale statelor
intermediare.
Prin urmare, funcția poate avea forma unui triunghi sau a unui trapez (vezi Figura 5.3.) .
Dreptunghiurile sunt, de asemenea, posibile și corespund efect ului unei descrieri a stării binare.
Graficul funcțiilor de apartenență este fixat de două coordonate ale punctul ui de bază și două
coordonate ale punct ului superior. În cazul unui poligon triunghiular, punctele de vârf coincid.

35

Figura 5.3. Definire funcții de apartenență pentru variabila de intrare – Temperatura

Gradul de apartenență la o anumită valoare variabilă a procesului curent față de diferitele
afirmații despre această variabilă este reprezentat sub forma valorilor de adevăr (între 0 și 1). Sistemul
fuzzy poate calcula întotdeauna cu exactitate gradul de adevăr prin intermediul funcției de apartenență
(sau prin intermediul coordonatelor sale de definire).
În teoria fuzzy conceptul de valoare ling vistică joacă un rol important. Dacă ne uităm la zonele
vagi de valori de temperatură " rece" și "cald " în întreaga gamă de valori ale variabilelor de
temperatură, de exemplu, am descrie " rece", "cald" și "fierbinte" ca lingvistice ale variabilei
"temperatu ră". Valorile lingvistice reprezintă un mijloc de a aborda zonele unei variabile fizice care
nu sunt clar definite (seturi fuzzy).
Clasif icarea stărilor (un număr maxim posibil de șapte în Controlul Fuzzy) în intervalul
valoric numeric al unei variabile d e intrare sau ieșire necesită caracterizarea acestor stări diferite.
Aceste stări descriu calitativ comportamentul variabilei de proces relevante. Descrierea variabilei
folosește aceste, așa-numite , valori lingvistice care sunt toate definite "fuzzy" de o funcție de
apartenență.
36

Funcția de apartenență afirmă gradul de apartenență la valoarea lingvistică specifică pentru
fiecare valoare numerică a variabilei de proces care are loc. (Acest proces poate fi descris ca și
cuantificarea declarației calitative a unei valori lingvistice.)
Deoarece funcțiile d e apartenență se suprapun, în general, un număr de funcții de membru de
zero poate oferi valori diferite ale adevărului pentru o anumită val oare a procesului. În figura 5.3.,
funcțiile de apartenență pentru valorile lingvistice " rece" și "cald " definesc cu ce valori de adevăr se
definește valoarea procesului "27" ca fiind " rece" și "cald ".
Pe lângă definirea și cuantificarea valorilor lingvistice, este posibilă și legarea
complementului unei valori lingvistice în partea IF a unei reguli din setul de reguli pentru controlul
fuzzy. Aici, complementul C al unei valori lingvistice sau al funcției de membru A este descris de
relația C = 1 – A.

Figura 5.4. Formarea complementului valorii lingvistice "A"

Caracteristic ă aplicațiilor fuzzy este utilizarea directă a cunoștințelor empirice fuzzy pentru a
crea comportamentul optim al variabilelor de ieșire în toate combinațiile de valoare posibile ale
variabilelor de intrare. Această cunoaștere a modului în car e reacționează procesul este rezumată în
următoarele reguli folosind această metodă: DACĂ <condi ție>…ATUNCI <concluzie>.
Aceste reguli IF -THEN corespund celui mai simplu tip de decizie umană. Condiția și
concluzia sunt afirmații vagi precum:
IF “temp” IS “rece” AND “variatia” IS “usoara” THEN “ventilatia” IS “oprita”
Fiecare dintre aceste reguli lingvistice, cunoscute și ca reguli de producție, descriu o parte a
unei strategii care determină comportamentul aplicației fuzzy.
37

Pentru a procesa matematic aceste reguli IF -THEN, trebuie găsită o operațiune care să lege
valorile fuzzy ale părții IF și cele ale părții THEN (sau să le lege funcțiile de membru). În modul
Fuzzy Control se folosește minimul pentru a face acest lucru.
Această metodă (Figura 5.4 ) clarifică faptul că partea de concluzii poate avea cel mult același
nivel de adevăr ca și condiția. Funcția de apartenen ță a unei reguli rezultă din limitarea funcției de
apartenen ță a părții THEN la valoarea actuală a adevărului din partea IF.

Figura 5.5. Calcularea funcțiilor de apartenență pentru două reguli
Partea IF poate fi, de asemenea, o rețea de operații logice cu o complexitate destul de mare.
Partea THEN este, în general , o atribuire simplă a unei valori lingvistice unei variabile de ieșire. Prin
formularea regulilor în consecință, este posibil să se cr eeze o situație în care o regulă , maxim, este
responsabilă pentru fiecare valoare lingvistică a unei variabile de ieșire.
În algoritmele de co ntrol fuzzy au fost implementați algoritmi care funcționează prin aceste
reguli în conformitate cu legile logicii fuzzy. Suma tuturor regulilor sau a setului de reguli formează
nucleul unei aplicații fuzzy. Suprapunerea regulilor produce o funcție globală de apartenență
(Figura 5.5.) în sistemul algoritmic de control fuzzy. Caracterizează efectul actual al setului de reguli.
38

Din forma funcției de apartenență se generează o valoare numerică prin formarea centrului de
greutate al zonei ( defuzzificare). Această operație completează procesarea setului de reguli în
sistemul fuzzy.
Deoarece logica fuzzy face posibilă nu numai definirea a două stări binare, ci și valori
intermediare între 0 și 1, descrierea procesului este mult mai bună și ma i naturală, apropiindu- se mult
mai mult de situația din viața reală. Această extindere a conceptului de apartenență permite calcularea
expertizei lingvistice folosind algoritmii blocului de funcții Fuzzy Control.
Procesare
FuzzyNormalizare
NormalizareAplicatia Fuzzy
8 variabile de intrare
fizice4 variabile de
iesire fizice
Interfețele de proces ,
(conectate la S 7 STL)Interfețele de proces ,
(conectate la S 7 STL)Bloc de funcții :
Controlul fuzzy
Proces

Figura 5.6. Aplicația Fuzzy funcționează în concordanță cu procesul

39

Aplicațiile fuzzy create cu blocul de funcții standard sunt soluții software pure pentru crearea
de sisteme digitale de eșantionare. Valorile lor de intrare și de ieșire sunt procesate pe un procesor
(S7-300 sau S7- 400) cu ajutorul algoritmilor digitali. E le pot fi determinate în timp de sistemul de
operare al procesorului sau numite ciclic pentru procesare. În programul de utilizator sunt adresate în mod absolut. Frecvența cu care este procesată o anumită aplicație fuzzy depinde de nivelul procesării
progr amului.
Algoritmul din procesor emulează aplicația fuzzy în condiții de timp real. Între punctele
exacte ale timpilor de eșantionare, sistemul nu reacționează la modificările variabilelor de proces; variabilele de ieșire rămân aceleași.
În Figur a 5.6 este prezentată schematic utilizarea unei aplicații fuzzy într -un sistem de control
închis sau cu buclă deschisă. Această structură cu utilizarea maximă a intrăr ilor și ieșirilor disponibile
oferă o imagine de ansamblu a configurațiilor posibile.
Configur area unei aplicații fuzzy poate fi împărțită în trei etape:
– Definirea intrărilor și ieșirilor
– Determinarea funcțiilor de apartenență
– Setarea regulilor fuzzy
Toți acești pași sunt executați cu ajutorul instrumentului "Configuration Control Fuzzy".
Prin definirea variabilelo r de intrare și de ieșire putem crea un sistem de control multi –
dimensional cu buclă deschisă sau buclă închisă. Strategia ap licației fuzzy reprezintă o non linearitate
multidimensională, pur statică, cu o familie de grafice , în mo d corespunzător , neliniară.
După configurare, este recomandată efectuarea câtorva teste offline, pentru a verifica dacă
aplicația fuzzy funcționează și se comportă corect. În acest scop, există un recorder curbă la care
putem atribui parametrii care plase ază funcții triunghiulare sau valori numerice constante la intrările
necesare.
Acum se va conecta instrumentul de configurare (instalat pe dispozitivul de programare sau
pe PC) la procesorul S7. Blocul de funcții Fuzzy Control și aplicația fuzzy sub forma unui bloc de
date de instanță sunt descărcate la hardware -ul de destinație prin interfața multiplă (MPI) sau printr –
o legătură Fieldbus . Mediul de execuție trebuie să f ie deja instalat în sistemul destinație și legat de
mediul de sistem. Intrările și ieșirile ar t rebui deja conectate în sistem.
Numai datele relevante pentru execuție sunt descărcate în CPU. Denumirile intrărilor și
ieșirilor sunt stocate numai în baza de date offline a dispozitivul ui de programare. Când se citește o
aplicație fuzzy din CPU fără baza de date corespunzătoare, se utilizează denumirile originale oficiale.
40

Cu funcțiile de monitorizare din in strumentul de configurare putem examina comportamentul
aplicației fuzzy în condiții de timp real. Valorile intrărilor și ieșirilor sunt afișate sub formă de curbe
de timp. Se pot trage concluzii cu privire la efectul aplicației fuzzy prin referire la eficacitatea
controlului. Valorile de măsurare sun t stocate astfel încât să putem face și o analiză retrospectivă.
Aceste funcții sunt aranjate în ferestrele compatibile cu Windows în "Configurare Fuzzy
Control" și pot fi activate prin meniuri.

5.3. Limba jul de programare fuzzy

Controlul fuzz y nu este o metodă unică pentru Siemens. Formatul de date utilizat pentru
stocarea aplicațiilor fuzzy este Limba jul de programare fuzzy (FPL). Standardul FPL a fost specificat
de Togai InfraLogic și este utilizat într -un număr de instrumente fuzzy. Prin ut ilizare a acestui standard
este posibil schimbul de proiecte fuzzy între diferitele instrumente de dezvoltare.
Instrumentul de procesare " Configuratorul de Control Fuzzy" utilizează un subset al
standardului FPL pentru descrierea aplicațiilor fuzzy. De exemplu, toate proiectele fuzzy pot fi procesate cu TILShell. În sens invers, proiectele TILShell pot fi procesate numai cu " Configuratorul
de Control Fuzzy" dacă se respectă limitele domeniului limbajului:
• Un singur set de reguli este permis (cuvântul de control FUZZY).
• Nu sunt posibile sisteme fuzzy modulare într -o aplicație Fuzzy. Cuvântul de control
PACKAGE nu este permis.
• Sunt posibile maxim 8 intrări, 4 ieșiri și 200 de reguli, cu 2 intrări și 1 ieșire.
• Fiecare intrare poate conține maximum 7 funcții de membru.
• Fiecare ieșire poate conține maximum 9 funcții de membru.
• 10 caractere pentru intrări și ieșiri și 7 caractere pentru variabilele lingvistice sunt
semnificative pentru identificarea numelui în Controlul Fuzzy.
• Numai operațiile AND pot fi folosite în regulile fuzzy. OR și NOT nu sunt permise.
• Funcția de apartenență a unei intrări nu poate avea decât forma unui dreptunghi, triunghi sau
trapez, caz în care într -o imagine cu patru puncte, primul și al patrulea punct trebuie să aibă
un grad de adev ăr de 0, iar al doilea și al treilea punct un grad de adevăr de 1. Cu linii verticale
care specifică punctul superior sunt suficiente. Aceasta înseamnă că o funcție de apartenență
rectangular ă poate fi descrisă doar cu două puncte.
• Numai funcțiile singleto n pot fi procesate în Control Fuzzy ca și funcții de apartenență a
ieșirilor. Când datele sunt introduse în funcțiile TILShell, trebuie selectate funcțiile
41

rectangulare înguste (lățime = 1/200 din intervalul total) pentru ieșiri pentru a putea prelucra
aceste funcții în Control Fuzzy.
• Coordonatele funcțiilor de membru trebuie să fie stocate într -o listă de puncte. Etichetarea
ecuațiilor pentru funcțiile de apartenență nu este permisă atunci când se lucrează cu
"Configuration Fuzzy Control ".
Următorul exem plu prezintă o aplicație fuzzy generată cu "Configuration Fuzzy Control ".
Două intrări și o ieșire sunt utilizate în acest proiect. Prima intrar e este desemnată Temperatura, a
doua viteza de creștere a temperaturi . Rezultatul a fost desemnat Răcire. Sunt definite 12 reguli fuzzy.
PROJECT TEMP
VAR Temp
TYPE float
MIN 0.00
MAX 100.00
MEMBER rece
POINTS 0.00,0.00,1 0.00,40.00
END
MEMBER cald
POINTS 10.00,30.00,45.00,66.66
END
MEMBER fcald POINTS 35.00,55.00,75.00,90.00
END
MEMBER fierbin
POINTS 60.00,90.00,100.00,100.00
END END
VAR delta_T
TYPE float MIN 00.00
MAX 10.00 MEMBER neg
POINTS 0.00,0.00,1.00,4.00
END MEMBER zero
POINTS 3.00,4.00,5.00,6.0
END MEMBER zero
POINTS 5.00,7.00,10.00,10.0
END
END
VAR Racire
TYPE float
MIN 0.00
MAX 100.00
MEMBER oprit
POINT 25.00
END MEMBER P_lent
POINT 35.00
END
MEMBER P_mediu
POINT 55.00
END
MEMBER P_max
POINT 90
END END
FUZZY Fuzzy_Temp
RULE Rule_01
IF (Temp is rece) AND (Delta_T is
neg)
THEN Racire = oprit
END RULE Rule_02
IF (Temp is rece) AND (Delta_T is
zero)
THEN Racire = oprit
END
RULE Rule_03
IF (Temp is rece) AND (Delta_T is
pos)
THEN Racire = oprit
END
RULE Rule_04
IF (Temp is cald) AND (Delta_T is
neg)
THEN Racire = P_lent
END
RULE Rule_05
IF (Temp is cald) AND (Delta_T is
zero)
THEN Racire = P_lent
END
RULE Rule_06
IF (Temp is cald) AND (Delta_T is
pos)
THEN Racire = P_lent
END
RULE Rule_07
IF (Temp is fcald) AND (Delta_T is
neg)
THEN Racire = P_mediu
END
RULE Rule_08
IF (Temp is fcald) AND (Delta_T is
zero)
THEN Racire = P_mediu
END
RULE Rule_09
IF (Temp is fcald) AND (Delta_T is
poz)
THEN Racire = P_mediu
END
RULE Rule_10
42

IF (Temp is fierbin) AND (Delta_T is
neg)
THEN Racire = P_max
END
RULE Rule_11
IF (Temp is fierbin) AND (Delta_T is
zero)
THEN Racire = P_max
END
RULE Rule_12
IF (Temp is fierbin) AND (Delta_T is
poz)
THEN Racire = P_max
END
END
CONNECT
FROM Temp
TO Fuzzy_Temp
END CONNECT
FROM delta_T
TO Fuzzy_Temp
END CONNECT
FROM Fuzzy_Temp
TO Racire
END END

43

5.4. Metode și algoritmi în controlul fuzzy

Algoritmul fuzzy pentru calcularea valorilor numerice de ieșire dintr -o configurație
momentană de valori numerice de intrare se efectuează intern în următoarele sub operații (Figura 5.7.) :
• Fuzzificare (descrierea vagă a comportamentului variabilei de intrare)
• Inferență ( procesarea regulilor IF…THEN )
• Defuzzificarea (calculul variabilelor de ieșire prin ponderarea părților anterioare ale setului de regu li și calcularea centrului de greutate) .

X1
X2
XpReguliFunc ții de
apartenență pentru
intrări
yRegula 1:
IF . . .THEN y = K
Regula n:
IF . . .THEN y = GFunc ții de
apartenență pentru
ieșire

Figura 5.7. Structura generală a unui sistem fuzzy cu p intrări, n reguli și o ieșire

5.5. Cerințe hardware și software
Produsul software "Control fuzzy" poate fi utilizat pe toate dispozitivele de programare
SIMATIC S7 pe care este încărcat so ftware -ul de programare STEP 7.
Crearea și pornirea aplicațiilor fuzzy se face cu un dispozitiv de programare. Acesta este
conectat la CPU din contro lerul programabil de destinație fie direct printr -o legătură punct -la-punct
44

(MPI), fie prin magistrala LAN (SINEC L2 sau SINEC H1) și un modul de comunicație (CP). Dacă
dispozitivul de programare nu a re o interfață multiplă, va fi nevoie de un cablu PC / MPI care se va
conecta la portul de comunicație de pe dispozitivul de program are pentru o conexiune directă.
Aplicațiile fuzzy create cu pachetul software "Control fuzzy" rulează pe CPU -uri (cu număr
real și capabilități de întrer upere în timpul zilei) ale familiei S7 -300 și S7- 400.

Figura 5.8. Mediul de lucru pentru pachetul software "Control fuzzy"

5.6. Elaborarea și setarea aplicațiilor fuzzy

Înainte de a crea o aplicație fuzzy cu Control Fuzzy, ar trebui să vă planificați în mod clar sarcina de
control al procesului sau de automatizare, să decideți controlerul programabil pe care intenționați să
îl utilizați și să planificați mediul de operare și monitorizare. Pentru a vă putea spe cifica sarcina, veți
avea nevoie de:
45

1. O analiză exactă a sarcinii de automatizare, adică un calcul al caracteristicilor instalației
(comportamentul la diferite puncte de operare, luarea în considerare a variabilelor de
influențare în funcție de situație, sc himbarea strategiei în funcție de statut etc.).
2. Cunoașterea comportamentului variabilelor de proces relevante pentru rezolvarea sarcinii și o decizie asupra intrărilor și ieșirilor care urmează să fie utilizate în sistemul fuzzy.
3. Trebuie un ales un CPU cor espunzător aplicației fuzzy ce urmează a fi instalată și prelucrată.
4. Dacă este relevant, normalizarea sau denormalizarea semnalelor I / O (intrări și ieșiri) în ceea
ce privește gama de numere interne unificate în format REAL.
Cu sistemele de aplicație software "Control Fuzzy" sunt generate pe baza unui bloc de funcții
standard (FB30, în acest caz) . Aceasta înseamnă cunoașterea muncii cu blocurile funcționale în
SIMATIC S7 și structura programelor u tilizatorilor S7 (de exemplu, limbajul de programare în S7
este Statment List).
Funcționalitatea aplicației fuzzy care se dorește creată este definită în întregime prin atribuirea
parametrilor. În ciuda acestui fapt, conectarea blocului fuzzy cu procesele I / O și conectarea acestuia la ierarhia de apel are a p rocesorului necesită cunoașterea procedurilor mai complexe.
Elaborarea și stabilirea sistematică a unei aplicații fuzzy necesită o procedură care poate fi
efectuată în următoarele etape de planificare logică:
• Se analizează sarcina de automatizare care trebuie rezolvată: Comandă în buclă închisă –
control în buclă deschisă – ajustare parametru – generarea variabilelor de referință – schimbări
de strategie – variabile manipulate de transmitere – etc.
• Se utilizează criteriile de evaluare pentru utilizarea unei aplicații fuzzy
• Se definesc variabilele de proces (denumire, normalizare, interval de valori, valori lingvistice)
• Cuantificarea valorilor lingvistice prin definirea funcțiilor de membru
• se formuleză baza de reguli
• Se efectuează o analiză offline a aplicației fuzzy generate
• Se descarcă și se pune în funcțiune aplicația fuzzy
• Se corectează și ajustează parametrii care determină comportamentul sistemului "Control
fuzzy" care rulează pe control erul programabil în operarea on line.
Unele dintre scopurile principale ale aplicațiilor fuzzy sunt automatizarea completă a
proceselor tehnice ( fără ca operatorul să intervină în cazuri individuale), îmbunătățirea calității
controlului , controlul optim al timpului mișcărilor și proceselor de transport, creșterea productivității
și a calității produsului , și scăderea costurilor energiei.
46

Aceste obiective pot fi realizate folosind aplicații fuzzy pentru sarcini specifice de
automatizare, de exemplu:
• Sisteme de automatizare care depind de legarea mai multor variabile influențabile pentru a forma
o imagine a procesului .
• Sisteme cu un anumit grad de libertate (strategii) care necesită îndeplinirea mai multor stadii de
procese pentru a le controla.
• Structuri de automa tizare temporală sau variante în timp care nu pot fi complet automatizate
deoarece un model matematic al procesului nu există sau ar fi prea complex pentru a fi creat.
• Buclele de control care necesită intervenție manuală parțială sau în care i ntervenția manuală ar
avea un efect negativ asupra calității produsului (de exemplu, respinge re după operarea manuală
"slabă").
• Sisteme cu mai multe variabile pe care un operator al unei stații nu ar putea lucra în siguranță .
• Începerea și oprirea complexă a proceselor (de exemplu, reactoarele chimice) și substraturile care
ar putea fi executate și controlate anterior numai prin utilizarea manuală .
Relațiile ca uză-efect sunt ușor atribuite către aplicații fuzzy, ofe rind posibilitatea de a corecta
cu ușurinț ă comportamentul nedorit al procesului la diferite stări de operare. Sistemul poate reacționa
diferit la anumite stări ale instalației. Aplicațiile fuzzy sunt, în general , foarte ușor de creat și ușor de
înțeles. Chiar și după câțiva ani se pot observa regulile care au sens .
Pentru ca o aplicație fuzzy să aibă succes și să producă rezultate optime, este esențial ca în
timpul fazei de proiectare să se evalueze sarcina de automatizare în conformitate cu următoarele criterii:
• Au fost epuizate soluțiile optime prin metode convenționale (de exemplu, controlere PID,
controlere de stare P / PI) și proceduri de optimizare (de exemplu, controlul punctului de
referință, controlul feed- forward, adaptarea parametrilor)?
• Operatorul instalației dispune de o experiență suficientă pentru a determina baza de reguli a
aplicației fuzzy? Notă: Este important ca el să poată "verbaliza" aceste cunoștințe; simpla "simțire a locului de muncă", dar imposibilitatea de a o exprima nu este suficientă.
• Raportul cost – beneficiu: avant ajele sunt furnizate de costurile mici așteptate care rezultă din
realizarea obiectivelor de automatizare (economii de personal și energie, o calitate mai bună a
produselor etc.). Costurile sunt cauzate de efortul de inginerie crescut în comparație cu soluț iile
convenționale care pot ajunge la un număr de luni per om pentru aplicații fuzzy complexe.
• Pentru a calcula avantajele unei soluții fuzzy, este, de asemenea, necesar să se măsoare și să se
evalueze situația actuală (funcționarea manuală, calitatea con trolului). Prin logarea
47

intervențiilor operatorului asupra instalației, se poate verifica dacă declarațiile sale, care sunt
utilizate pentru reguli, sunt plauzibile.
O aplicație fuzzy este un sistem multidimensional de grafice fiecare cu un maxim de opt intrări
și patru ieșiri. Pentru a conecta o aplicație Fuzzy Control (FB30) în sistemul de control logic
programabil, este necesar să se calculeze și să se specifice variabilele de proces care trebuie atribuite intrărilor și ieșirilor sale.
Dacă variabilele de proces necesare nu sunt deja disponibile în automatul programabil,
variabilele I / O care lipsesc trebuie să fie alimentate în sistemul de comandă programabil prin senzori
suplimentari și module de intrare analogice. Exemple sunt:
• Valori de analiză de laborator a materiilor prime
• Valorile consumului de energie pentru preocuparea și instalația disponibilă, de exemplu, în computerele gazdă
• Influențe de mediu, cum ar fi efectele vremii asupra proceselor de fermentare
Aceste variabile trebuie să fie definite utilizând software -ul STEP 7. Apoi, ele trebuie să fie
reprezentate în memoria utilizatorului (simbolic sau absolut) și conectate la parametrii de intrare și ieșire ai blocului de funcții fuzzy.
Este posibil să se conecteze un sistem fuzzy direct într-un sistem de automat programabil dacă
adresele tuturor variabilelor de intrare și ieșire relevante sunt deja prezente în automatul programabil.
Un exemplu de proiectare a unei aplicații fuzzy utilizând intrările și ieșirile existente îl reprezintă
conversia acțiunilor manuale ale operatorului asupra instalației în reguli echivalente fuzzy. În acest
caz, două sau trei intrări și o ieșire vor fi suficiente pentru controlerul fuzzy.
Nucleul unei aplicații fuzzy este baza de reguli (setul tuturor regulilor fuzzy) care reprezintă
cunoștințele (expertiza) procesului empiric ale unui operator cu experiență în fabrică, formulate
"fuzzy". O regulă fuzzy este o relație If … Then relația are forma:
DACĂ … <condiție> … THEN … < concluzie>
în cazul în care până la 56 de condiții pot fi legate logic în partea IF dintr -un set de reguli (8 intrări
fiecare cu 7 funcții de membru).
Scopul stabilirii bazei de reguli este înregistrarea cât mai multor puncte de operare (combinații
de variabile de intrare diferite) pe care operatorul trebuie să le ia în considerare în operarea manuală
sau pe care procesul le poate prelua în timpul funcționării. O valoare lingvistică (fuzzy) a respectivei
variabile de ieșire este apoi atribuită fiecăruia dintre aceste puncte de operar e.
48

Putem simula și testa comportamentul operațional al unei aplicații planificate fuzzy off line
(adică fără conectarea la automatul programabil) pe dispozitivul de programare cu ajutorul
instrumentului de configurare. Pentru aceasta pot fi utilizate următ oarele funcții:
• "3D Graphic Display " cu care efectul regulilor fuzzy poate fi reprezentat pentru combinații
libere de intrări și ieșiri în coordonate spațiale .
• "Curve Recorder " cu care poate fi monitorizat efectul funcțiilor de test (funcțiile de pante care
pot fi dimensionate în funcție de viteza de schimbare și amplitudine) pe intrările selectate ale
sistemului fuzzy.
Acest lucru face posibilă verificarea în etape a reacției variabilelor de ieșire la modificările
anumitor variabile de intrare. Orice erori sau deviații de la țintele date pot fi corectate în dialogul de
configurare prin modificarea funcțiilor sau regulilor de apartenență în baza de reguli.
După finalizarea proiectării, inclusiv analiza off line, aplicația fuzzy poate fi descărcată în
CPU în automatul programabil S7. Folosind lista de instrucțiuni STEP 7, se conectează blocul de
funcții fuzzy numai la intră rile procesului I / O. Dacă variabilele manipulate se comportă conform
destinației ( 3D Graphic Display sau Curve Recorder în instrumentul de configurare), ieșirile pot fi
apoi conectate la elementele de acționare.
O aplicație fuzzy care nu afișează compor tamentul dorit odată pornit trebuie să fie corectată
sau optimizată folosind ins trumentul de configurare. Putem interveni prin modificarea funcțiilor de
apartenență sau prin modificarea sau extinderea bazei de reguli.

49

5.7. Descărcarea și pornirea aplicației fuzzy

Se descărcă blocul de date de instanță împreună cu programul pentru aplicația fuzzy, împreună
cu OB -urile apelate și blo cul de funcții FUZZY în CPU -ul automatului programabil. Pentru acest
lucru se va utiliza aplicația SIMATIC Manager .

Figura 5.9. Conectarea blocurilor de pornire la blocul de funcții fuzzy

Exemplu: Numai apelul minim cu parametrul INFO
CALL FB30, DB30 (
INFO := MB30;
Dacă un bloc de date a fost creat ca un bloc de date de instanță și dacă a fost atribuit un nume
simbolic, este posibil și accesul extern la aplicația fuzzy din programul de utilizator. Exemplu:
..
T ”Temp”.INPUT1 = Symbol of the DB
..
L ”Temp”.OUTPUT2 Variable in the DB
etc.

50

5.8. Implementarea în PLC

Figura 5.10. Fisierul cu structura hardware ce se va descărca in PLC

Figura 5.11. Structura blocurilor funcționale utilizate în funcționarea corectă a PLC -ului

51

Figura 5.12. Apelarea blocului funcțional pentru controlul fuzzy în OB1

52

5.9. Exemplu de control al temperaturii dintr-o încăpere

Aplicația fuzzy este realizată în software -ul specializat furnizat de firma Siemens.

5.9.1. Definirea intrărilor și a funcțiilor de apartenență

Pentru variabila de intrare „ temp ” avem 4 funcții de apartenență :

1. rece

Figura 5.13. Funcția de apartenență "rece"

53

2. cald

Figura 5.14. Funcția de apartenență "cald"
3. fcald

Figura 5.15. Funcția de apartenență "fcald"

54

4. fierbinte

Figura 5.16. Funcția de apartenență "fierbin"

55

Pentru variația temperaturii [°C/s] avem 3 func ții de apartenență :
1. neg

Figura 5.17. Funcția de apartenență "neg"
2. zero

Figura 5.18. Funcția de apartenență "zero"
56

3. poz

Figura 5.19. Funcția de apartenență "poz"

57

5.9.2. Definirea ieșiri și a funcțiilor de apartenență

Pentru variabila de ieșire „răcire” avem 4 funcții de apartenență :
1. oprit

Figura 5.20. Funcția de apartenență "oprit"
2. P_lent

Figura 5.21. Funcția de apartenență "P_lent"
58

3. P_mediu

Figura 5.22. Funcția de apartenență "P_mediu"
4. P_max

Figura 5.23. Funcția de apartenență "P_max"

59

5.9.3. Baza de reguli

Matricea de reguli pentru variabila de intrare temperatura

Figura 5.24. Matricea de reguli pentru variabila de intrare temperatura

60

Matricea de reguli pentru variabila de intrare variatie temperatură

Figura 5.25. Matricea de reguli pentru variabila de intrare variatie temperatură

61

Baza de reguli

Figura 5.26. Baza de reguli

62

5.9.4. Rezultate simulare

Reprezentarea grafică în 3D

63

Rule Activity și Curve Plotter

Figura 5.27. Rule Activity și Curve Plotter

64

Concluzii

Aplicarea tehnicilor de inteligență artificială în industrie, întâlnesc adesea dificultăți, fie în
aspectul tehnic al programării, fie în calitatea materialului pe diverse aplicații. În fabricile vechi
aplicarea logicii fuzzy necesită senzori foarte eficienți și avansați.
Aplicația noastră se bazează pe tehnica logicii fuzzy, implementată cu ajutorul instrumentului
FuzzyControl ++ al Siemens..
Sistemul cu logică fuzzy ajută operatorul să detecteze alarmele și să le întrețină. Mai mult
decât atât, controlul fuzzy este asigurat de către controlorii fuzzy, unde chiar și în caz de
indisponibilitate a celuilalt poate continua lucrul . În plus, controlul fuzzy continuu asigură o calitate
consistentă a produsului finit. Pe de altă parte, controlerele fuzzy au un efect mai precis decât
regulatorii obișnuiți, în special pentru sistemul de control al timpului și de stabilizare.
65

Bibliografie

[1] https://en.wikipedia.org/wiki/Programmable_logic_controller
[2] https://www.elprocus.com/understanding -a-programming -logic -controller/
[3] https://en.wikipedia.org/wiki/Fuzzy_logic
[4] https://www.researchgate.net/profile/Hanane_Zermane/publication/230773223_DEVELOPMENT _OF_
A_FUZZY_EXPERT_SYSTEM_BASED_ON_PCS7_AND_FUZZYCONTROL_CEMENT_MIL
L_CONTROL/links/555c9b8d08ae9963a112077b/DEVELOPMENT -OF-A-FUZZY -EXPERT-
SYSTEM -BASED -ON-PCS7 -AND- FUZZYCONTROL -CEMENT- MILL -CONTROL.pdf
[5] https://cache.industry.siemens.com/dl/files/654/1135654/att_24995/v1/Fuzzy_e.pdf

66

ANEXE

PROJECT TEMP
VAR Temp
TYPE float
MIN 0.00
MAX 100.00
MEMBER rece
POINTS 0.00,0.00,10.00,40.00
END
MEMBER cald
POINTS 10.00,30.00,45.00,66.66
END
MEMBER fcald
POINTS 35.00,55.00,75.00,90.00
END
MEMBER fierbin
POINTS 60.00,90.00,100.00,100.00
END
END VAR delta_T TYPE float
MIN 00.00
MAX 10.00
MEMBER neg
POINTS 0.00,0.00,1.00,4.00 END
MEMBER zero
POINTS 3.00,4.00,5.00,6.0
END
MEMBER zero
POINTS 5.00,7.00,10.00,10.0
END
END
VAR Racire
TYPE float
MIN 0.00
MAX 100.00
MEMBER oprit
POINT 25.00
END
67

MEMBER P_lent
POINT 35.00
END
MEMBER P_mediu
POINT 55.00
END
MEMBER P_max
POINT 90
END
END
FUZZY Fuzzy_Temp
RULE Rule_01
IF (Temp is rece) AND (Delta_T is neg)
THEN Racire = oprit
END RULE Rule_02
IF (Temp is rece) AND (Delta_T is zero)
THEN Racire = oprit
END
RULE Rule_03
IF (Temp is rece) AND (Delta_T is pos)
THEN Racire = oprit
END
RULE Rule_04
IF (Temp is cald) AND (Delta_T is neg) THEN Racire = P_lent
END
RULE Rule_05
IF (Temp is cald) AND (Delta_T is zero)
THEN Racire = P_lent
END
RULE Rule_06
IF (Temp is cald) AND (Delta_T is pos)
THEN Racire = P_lent
END
RULE Rule_07
IF (Temp is fcald) AND (Delta_T is neg)
THEN Racire = P_mediu
END
RULE Rule_08 IF (Temp is fcald) AND (Delta_T is zero)
THEN Racire = P_mediu END
68

RULE Rule_09
IF (Temp is fcald) AND (Delta_T is poz)
THEN Racire = P_mediu
END
RULE Rule_10
IF (Temp is fierbin) AND (Delta_T is neg)
THEN Racire = P_max
END
RULE Rule_11
IF (Temp is fierbin) AND (Delta_T is zero)
THEN Racire = P_max
END
RULE Rule_12
IF (Temp is fierbin) AND (Delta_T is poz)
THEN Racire = P_max END

END
CONNECT
FROM Temp
TO Fuzzy_Temp
END
CONNECT
FROM delta_T
TO Fuzzy_Temp END
CONNECT
FROM Fuzzy_Temp
TO Racire
END
END

69

Similar Posts