8/12/2019 Probleme automate programabilr
1/62
8/12/2019 Probleme automate programabilr
2/62
47
Programul principal este prezentat n figura 5.2
Prob
2
8/12/2019 Probleme automate programabilr
3/62
48
Fig. 5.2 Programul principal
Prob
3
8/12/2019 Probleme automate programabilr
4/62
49
Varianta 2: implementarea in limbajul Ladder DiagramPentru controlul acestei aplicaii s-a ales un automat programabil de tip Allen Bradley pentru care s-adezvoltat o diagram Grafcet (fig 5.3) i un program de tip Ladder Diagram (fig. 5.4).
Fig.5.3 Diagrama Grafcet
Asocierea intrrilor i ieirilor fizice cu bii din regitrii de intrare / ieire este prezentat n tabelul 5.1:
Tabelul 5.1
Intrare fizic Adres intern Ieire fizic Adres intern
Pornire I:1/1 M1S O:3/1
l1 I:1/2 M1D O:3/2
l2 I:1/3 M2S O:3/3
l3 I:1/4 M2J O:3/4
l4 I:1/5
Asocierea etapelor cu bii din fiierul de bit B3 i alegerea fiierului de timer este pezentat n tabelul5.2:
Prob
4
8/12/2019 Probleme automate programabilr
5/62
50
Tabelul 5.2
Etapa Adresa bit Temporizare Fiier de timer
1 B3/1 Temporizare 1 T4:0
2 B3/2
3 B3/3
4 B3/4
5 B3/5
6 B3/6
7 B3/7
8 B3/8
Diagrama Ladder este prezebta n continuare:
B3 B3||--- [OSR] ------------------------------------------------------------------------------------- (L) --------------||
0 1
B3 O:3||----] [-------------------------------------------------------------------------------------|---- (U) ----|---------||
1 | 1 || O:3 ||---- (U) ----|| 2 || O:3 ||---- (U) ----|| 3 || O:3 ||---- (U) ----|
4
B3 I:1 B3||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
1 1 | 1 || B3 ||---- (L) ----|
2
B3 O:3||----] [------------------------------------------------------------------------------------------ (L) -------------||
2 3
B3 I:1 B3||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
2 3 | 2 || B3 |
|---- (L) ----|3
B3 O:3||----] [-------------------------------------------------------------------------------------|---- (U) ----|---------||
3 | 3 || O:3 ||---- (L) ----|
2
Prob
5
8/12/2019 Probleme automate programabilr
6/62
8/12/2019 Probleme automate programabilr
7/62
52
B3 I:1 B3
||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||7 4 | 7 |
| B3 |
|---- (L) ----|8
B3 O:3
||----] [-------------------------------------------------------------------------------------|---- (U) ----|---------||8 | 1 |
| O:3 ||---- (L) ----|
3
B3 I:1 B3||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
8 2 | 8 || B3 ||---- (L) ----|
1
Fig.5.4 Diagrama Ladder
Prob
7
8/12/2019 Probleme automate programabilr
8/62
8/12/2019 Probleme automate programabilr
9/62
54
Dicionarul de variabile globale:
Variabile deintrare digitale:
M : buton de pornire micare oscilatorie P : buton de oprire motor E : buton de retragere n poziia de origine RST : buton de repornire L0 : limitator stnga L1 : limitator dreapta
Variabile de ieire digitale:
MS : comand motor stnga MD : comand motor dreapta
Variabile interne de tip Boolean:
oprit : are valoarea TRUE cnd micarea oscilatorie este oprit v_redge : necesar funciei REDGE
Programul Main este prezentat n figura 5.6.
Prob
9
8/12/2019 Probleme automate programabilr
10/62
55
Prob
10
8/12/2019 Probleme automate programabilr
11/62
56
Fig.5.6 Programul Main
Programul fiu Osc este prezentat n figura 5.7.
202
301
Prob
11
8/12/2019 Probleme automate programabilr
12/62
8/12/2019 Probleme automate programabilr
13/62
58
Comentarii :
- Funia REDGE este folosit pentru detectarea impulsurilor produse prin apsarea butoanelor- Comunicaia ntre programe este realizat prin intermediul variabilei oprit- Programul principal oprete execuia programului copil Osc atunci cnd variabila oprit
are valoare TRUE sau micarea este ntrerupt de apsarea butonului E
Propunere:
S se modifice programul n condiiile n care la apsarea butonului de oprire, ciclul s se ncheietotdeauna cnd mobilul ajunge prima dat in partea dreapt.
Prob
13
8/12/2019 Probleme automate programabilr
14/62
59
Problema 3: Detecia i expulzarea automat a sticlelor fr dop
1. Descrierea procesului:Una din fazele de producie ntr-o linie de mbuteliere const n aezarea unui dop, ca urmare ancheierii secvenei de umplere. Sticlele se deplaseaz pe banda 1, separate de aceeai distan i cuvitez constant. Scopul aplicaiei este detectarea i extragerea sticlelor care ies din faza de nchiderefr dopul corespunztor; pe lng aceasta, dac ntr-o perioad determinat de timp (n acest caz 7sticle), sunt rejectate mai mult de 3 sticle consecutive, trebuie activat o alarm. Repornirea ciclului seface prin apsarea butonului Pc. Pentru detecia sticlei defecte se conjug aciunile unui senzorinductiv, care detecteaz prezena dopului i un echipament foto electric care semnaleaz prezenaunei sticle.
Fig. 5.8 Detecia i expulzarea sticlelor fr dop
Procesul este iniiat prin apsarea butonului M, care produce pornirea benzii transportoare 1. Atuncicnd se detecteaz o sticl fr dop, este oprit banda 1 i este pornit banda transportoare 2 (dac eraoprit). n momentul n care sticla fr dop se gsete n zona de expulzare, este activat mecanismul deexpulzare. Banda 1 va fi repornit n momentul n care sticla fr dop nu se mai gasete n zona de
expulzare (practic semnalul transmis de detectorul fotoelectric are valoarea logic fals). Banda 2 va fioprit dup 5 secunde de la nceperea expulzrii ultimei sticle.
Elemente de execuie: 2 motoare care acioneaz 2 benzi transportoare 1 dispozitiv de expulzare a sticlelor fr dop
Elemente de msur:
1 detector inductiv pentru dopuri 1 detector fotoelectric pentru sticle
Sistem deExpulzare
DetectorFotoelectric
DetectorInductiv
Alarma
Panou de control
MotorBanda 1
MotorBanda 2
BandaTransportoare 1
BandaTransportoare 2
Prob
14
8/12/2019 Probleme automate programabilr
15/62
60
2. Soluia de automatizare:Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart pentru care sedezvolt un proiect Isagraf, cu un singur program principal, dar cu 2 seciuni programate i anumeseciunea secvenial i seciunea de sfrit, end sectionca n figura 5.9.
Fig. 5.9 Seciunile proiectului
Dicionarul de variabile globale:
Variabile de intrare booleene: M : buton de pornire R : buton de rearmare I : detector inductiv F : detector fotoelectric Pc : buton de punere la zero i oprire alarm
Variabile de ieire booleene: Banda_1 : comand pornire / oprire band 1 Banda_2 : comand pornire / oprire band 2 Alarma : comand alarm Expulzare : comand dispozitiv de evacuare a sticlelor fr dopVariabile interne de tip Integer:
Nr_sticle : contorizeaz numrul de sticle fr dop expulzate consecutivVariabile interne de tip timer:
Timer : folosit la contorizarea celor 5 secunde de activare a conveiorului 2
Prob
15
8/12/2019 Probleme automate programabilr
16/62
61
Programul principal main este prezentat n figura 5.10
Fig. 5.10 Programul principal, seciunea secvenial
3
Prob
16
8/12/2019 Probleme automate programabilr
17/62
62
Programul timing din seciunea de end este prezentat n figura 5.11
Fig. 5.11 Programul principal, seciunea de end
Observaii:
seciunea de end este necesar pentru ca banda 2 s poate fi oprit n orice moment dacperioada ei de activare a expirat
deoarece seciunea de end se execut la fiecare ciclu automat, testarea timer_ului se va face lafiecare ciclu automat.
contorizarea timpului este facut cu ajutorul funciilor TSTART i TSTOP dac o sticl trebuie s fie expulzat n timp ce o alt sticl se gsete pe conveiorul 2,
timer_ul este resetat i este reactivat incrementarea timer_ului
Propuneri: S se construiasc o diagram Ladder pentru un automat de tip Allen Bradley, care s
controleze acest proces
Prob
17
8/12/2019 Probleme automate programabilr
18/62
63
Problema 4:Staie automat de splat autovehicule
1. Descrierea procesului:Scopul proiectrii acestui sistem de control l reprezint automatizarea unei staii de splatautovehicule. Vehiculele vor trebui s treac succesiv prin 4 posturi de lucru, nmuiere, splare cudetergent, cltire i uscare. Procesul este iniiat de apsarea unui buton de pornire, care determinactivarea benzii transportoare iar vehiculele vor trece succesiv prin cele 4 posturi. Bariera, n condiiinormale, trebuie s stea ridicat i semaforul dezactivat. Cnd n staie sunt detectate 4 vehicule, cteunul n fiecare post, bariera trebuie cobort i semaforul activat, indicnd faptul c nu se mai poatetrece. Att bariera ct i semaforul rmn n aceast stare pn cnd cele 4 vehicule au prsit staia,moment n care bariera trebuie ridicat i semaforul dezactivat.
Fi. 11
Fig. 5.12 Staie automat de splat autovehicule
n momentul n care se activeaz celula fotoelectric 1, se va activa postul 1. Cnd seactiveaz fotocelula 2 iar fotocelula 1 nu mai este activat, se dezactiveaz postul 1. n
momentul activrii fotocelulei 2 se activeaz postul 2. Acesta va fi dezactivat cnd fotocelula2 nu este activ dar fotocelula 3 este activ. Analog pentru postul 3. Postul 4 se dezactiveazcnd fotocelula 4 se dezactiveaz iar fotocelula 5 se activeaz..
Elemente de execuie: motorul benzii transportoare motorul barierei cu 2 sensuri de rotaie 1 semafor 4 posturi de lucru
Post deUscare
Post deClatire
Post deSpalare cuDetergent
Post deInmuiere
Semafor
Bariera
F1Senzor deInmuiere
F2
Senzor deDetergent
F3Senzor deClatire
F4Senzor deUscare
F5
BandaTransportoare
Prob
18
8/12/2019 Probleme automate programabilr
19/62
64
Elemente de msur: 5 celule fotoelectrice 2 limitatoare de curs ale barierei
2. Soluia de automatizarePentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart pentru care sedezvolt un proiect Isagraf, proiect ce consta din 6 programe SFC ce ruleaz n paralel. Structuraproiectului Isagraf este prezentat n figura 5.13.
Fig. 5.13 Programele componente ale proiectului Isagraf
Dicionarul de variabile globale:
Variabile de intrare booleene: start : contact de pornire Limita_SUS : limitator de curs sus pentru barier Limita_JOS : limitator de curs jos pentru barier Foto_1 : fotocelula postului 1 Foto_2 : fotocelula postului 2 Foto_3 : fotocelula postului 3 Foto_4 : fotocelula postului 4 Foto_5 : fotocelula postului 5
Variabile de ieire booleene: Banda : comand pornire / oprire band Bariera_sus : comand ridicare barier Bariera_jos : comand coborre barier Semafor : comand activare / dezactivare semafor Inmuiere : comand activare dezactivare post nmuiere Detergent : comand activare dezactivare post detergent Clatire : comand activare dezactivare post cltire Uscare : comand activare dezactivare post uscare
Prob
19
8/12/2019 Probleme automate programabilr
20/62
8/12/2019 Probleme automate programabilr
21/62
66
Programul Post1 este prezentat n figura 5.16.
Fig.5.16 Programul Post1
Prob
21
8/12/2019 Probleme automate programabilr
22/62
67
Programul Post2 este prezentat n figura 5.17.
Fig.5.17 Programul Post2
Prob
22
8/12/2019 Probleme automate programabilr
23/62
68
Programul Post3 este prezentat n figura 5.18.
Fig.5.18 Programul Post3
Prob
23
8/12/2019 Probleme automate programabilr
24/62
69
Programul Post4 este prezentat n figura 5.19
Fig.5.19 Programul Post4
Comentarii:
Toate programele dezvoltate sunt independente i ruleaz n paralel, fapt ce uureaz foarte multnelegerea programului
Propunere:
S se modifice programul n cazul n care bariera se va ridica atunci cnd se elibereaz primul postde lucru
S se modifice proiectul astfel nct s se dezvolte un singur program care s automatizeze acestproces
Prob
24
8/12/2019 Probleme automate programabilr
25/62
70
Problema 5: Elevator clasificator de pachete
1. Descrierea procesului:Pe o band transportoare vin 2 tipuri de pachete (mic i mare). Tipul pachetului este determinat deun cntar, ulterior pachetele fiind transportate n direcii diferite n funcie de tipul pachetului.Procesul pornete cu transportul unui pachet ctre cntar; aici pachetul este cntrit fiind astfelidentificat n funcie de greutatea citit. n continuare pachetul este transportat pe banda 1 pn laplanul elevator. Cilindrul C ridic pachetele. Apoi pachetele sunt transportate diferit; pachetelemici sunt plasate pe banda 2 de cilindrul A, iar pachetele mari sunt aezate pe banda 3 de cilindrulB. Cilindrul elevator C se retrage doar cnd cilindrii A i B au atins poziia final.
Fig. 5.20 Elevator clasificator pentru pachete
Elemente de execuie: 3 cilindri cu dublu efect (A, B, C) o bascul nsrcinat cu clasificarea pachetelor 4 benzi transportoare
Elemente de msur:
6 limitatoare de curs 2 detectoare de poziie
2. Soluia de automatizare
Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-adezvoltat un proiect Isagraf ce cuprinde 5 programe secveniale ce ruleaz n paralel i un program nseciunea de Begin, program ce se execut la nceputul fiecrui ciclu automat. Structura proiectului
Isagraf este prezentat n figura 5.21
Fig. 5.21 Structura proiectului Isagraf
B0
A0
C0
C1
A1
B1
Banda 0Banda 1
Banda 2
Banda 3
Cilindru A
Cilindru B
Cilindru C Cntar
F0F1
Prob
25
8/12/2019 Probleme automate programabilr
26/62
71
Dicionarul de variabile globale:
Variabile de intrare booleene: foto_0: fotocelula 0 foto_1 : fotocelula 1 A0 : Limit retragere cilindru A A1 : Limit avans cilindru A B0 : Limit retragere cilindru B B1 : Limit avans cilindru B C0 : Limit coborre cilindru C C1 : Limit ridicare cilindru C
Variabile de ieire booleene: Banda_0 : activare / dezactivare banda 0 Banda_1 : activare / dezactivare banda 1 Banda_2 : activare / dezactivare banda 2 Banda_3 : activare / dezactivare banda 3 A_avansat : avans cilindru A A_retras : retragere cilindru A B_avansat : avans cilindru B B_retras : retragere cilindru B C_ridicare : ridicare cilindru C A_retragere : retragere cilindru A
Variabile interne booleene:
eroare : cod de eroare la cntrirea pachetelorVariabile globale analogice
cantar : variabil intern, reprezint valoarea real a greutii de pe cntar (integer) traductor_cantar : variabli de intrare, valoarea primit de la traductorul cntarului (integer,ntre 0 4096) pachet_actual : variabil intern, n care se memoreaz tipul pachetului actual ce urmeaz a fi
transportat pachet_viitor : variabil intern, in care se memoreaz tipul pachetului de pe cntar (urmtorul
ce va fi transportat) lim_inf : constant, greutatea minim a pachetului mic lim_sup_mic : greutatea maxim a pachetului mic mic : constant cu valoarea 1 mare : constant cu valoarea 2
Prob
26
8/12/2019 Probleme automate programabilr
27/62
72
Programul Banda_0 este prezentat n figura 5.22.
Fig.5.22 Programul Banda_0
Prob
27
8/12/2019 Probleme automate programabilr
28/62
73
Programul Banda_1 este prezentat n figura 5.23.
Fig.5.23 Programul Banda_1
Prob
28
8/12/2019 Probleme automate programabilr
29/62
8/12/2019 Probleme automate programabilr
30/62
75
Programul Cilin_B este prezentat n figura 5.25
Fig.5.25 Programul Cilin_B
Prob
30
8/12/2019 Probleme automate programabilr
31/62
76
Programul Cilin_C este prezentat n figura 5.26
Fig.5.26 Programul Cilin_C
Prob
31
8/12/2019 Probleme automate programabilr
32/62
77
Programul convers din seciunea Begin
Programul convers realizeaz conversia din uniti CAN (Convertor Analog Numeric) n valoriexprimate n uniti de msur inginereti. Intrarea analogic a modulului de intrare lucreaz pe 12 biii msoar un curent de 0 - 20 mA , dar traductorul de la cntar genereaz un curent de 4 - 20mA. naceast situaie trebuie fcut o translaie de scal. Se observ c la valoarea minim a domeniului demsur traductorul genereaz 4 mA, corespunztoare valorii 819 citit de automat, valoare pentru care
automatul trebuie s indice valoarea minim a mrimii msurate. Astfel formula de conversie este:
Val_ing = (Val_cit-819) *(Ds-Di)/(4095-819)
Unde : Val_ing valoarea n uniti inginereti Val_cit valoarea citit n uniti CAN Di domeniul inferior de msur Ds domeniul superior de msur
n cazul nostru Ds=100, Di=0, astfel nct instruciunea ce se execut n programul convers este
cantar := INT(((REAL(traductor_cantar)- 819)* 100.0 ) / (3276) ;
Propunere:
S se modifice programul de conversie n cazul n care traductorul de temperatur are ca domeniu-15 +150 grade i genereaz un curent n gama 2-10 mA
Prob
32
8/12/2019 Probleme automate programabilr
33/62
78
Problema 6: Controlul temperaturii unui lichid
1. Descrierea procesului:Problema const n meninerea temperaturii unui lichid ntre 2 valori determinate (60 i 65 grade), ntimp ce nivelul n cele 2 rezervoare pstreaz o capacitate determinat. Dac temperatura se gasete
ntre limitele fixate, valva 1 se va deschide iar valva 2 se va deschide pn cnd rezervorul 2 ajunge lacapacitatea fixat; n acel moment, valva 2 se va nchide i va rmne aa pn cnd lichidul dinrezervorul 2 se va gsi sub limita fixat. Cnd temperatura atinge marginile de temperatur fixat,valvele de intrare i de ieire se vor nchide ( indiferent dac rezervorul 2 i-a recuperat nivelul ) i vorrmne nchise pn cnd temperatura va fi reglat. Totdeauna va fi prioritar variaia temperaturiifa de variaia nivelului de lichid.
Fig. 5.27 Controlul temperaturii unui lichid
Elemente de execuie: 1 pomp cu motorul su 1 motor al echipamentului de pompat aerul 2 electrovalve 1 rezisten
Elemente de msur:
2 senzori de nivel 1 traductor de temperatur
2. Soluia de automatizare
Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-adezvoltat un proiect Isagraf ce cuprinde un program principal ,Main i programul seciunii de Begin,
numit Convers.
Dicionarul de variabile globale:
Variabile de intrare booleene: senzor_plin : are valoarea TRUE cnd depozitul 2 este plin senzor_gol : are valoarea TRUE cnd depozitul 2 este gol
Valva E1
Valva E2
Motor
Senzor deTem eratura
CaloriferDepozit 1
Depozit 2
Dispozitiv dercire
Prob
33
8/12/2019 Probleme automate programabilr
34/62
79
Variabile de ieire booleene: valva_1 : comanda electrovalvei 1, atunci cnd are valoarea TRUE electrovalva 1 se mchide valva_2 : comanda electrovalvei 2, atunci cnd are valoarea TRUE electrovalva 2 se mchide rezistenta : comanda cuplarea / decuplarea rezistentei racire : comand dispozitivul de pompat aer pompa : comand motorul pompei
Variabile analogice :
temp : variabil intern de tip Real, reprezint temperatura apei n grade Celsius temp_citita : variabil de intrare de tip Real ce reprezint valoarea analogic ( ntre 0 i 4095)
primit de la traductorul de temperatur
Programul Convers al seciunii de Begin:
Programul convers realizeaz conversia din uniti CAN (Convertor Analog Numeric) n valoriexprimate n uniti de msur inginereti. Intrarea analogic a modulului de intrare lucreaz pe 12 biii msoar un curent de 0 - 20 mA , dar traductorul de la cntar genereaz un curent de 4 - 20mA. naceast situaie trebuie fcut o translaie de scal. Se observ c la valoarea minim a domeniului de
msur traductorul genereaz 4 mA, corespunztoare valorii 819 citit de automat, valoare pentru careautomatul trebuie s indice valoarea minim a mrimii msurate. Astfel formula de conversie este:
Val_ing = (Val_cit-819) *(Ds-Di)/(4095-819)
Unde : Val_ing valoarea n uniti inginereti Val_cit valoarea citit n uniti CAN Di domeniul inferior de msur Ds domeniul superior de msur
n cazul nostru Ds=100, Di=0, astfel nct instruciunea ce se execut n programul convers este
temp := INT(((REAL(temp_citita)- 819)* 100.0 ) / (3276) ;
Prob
34
8/12/2019 Probleme automate programabilr
35/62
80
Programul Main este prezentat n figura 5.28
401
301
Prob
35
8/12/2019 Probleme automate programabilr
36/62
81
Fig.5.28 Programul Main
Comentarii: Programul folosete variabile analogice deoarece evenimentele ce produc modifcri n sistem
depind de o mrime cu variaie continu (temperatura)
Prob
36
8/12/2019 Probleme automate programabilr
37/62
82
Problema 7 : Dozare i malaxare automat
1. Descrierea procesului:Un malaxor pivotant primete produsele A i B cntrite de bascula C i brichete solubile aduse unacte una pe o band transportoare. Automatizarea permite realizarea unei amestecri a celor 3 produse.Ciclul de realizat este urmtorul: la acionarea butonului de alimentare se pornete cntrirea ialimentarea produselor n urmtorul mod:
cntrirea produsului A prin deschidera valvei Va, pn la referina A cntrirea produsului B prin deschiderea valvei Vb, pn la referina B apoi, golirea basculei n malaxor prin deschiderea valvei Vc pn la referina zero simultan cu precedentele operaii are loc malaxorului alimentarea cu 2 brichete solubile
Ciclul se termin cu rotaia malaxorului un anumit timp t i apoi pivotarea lui, meninndu-se rotaia ntimpul golirii.
Figura:
Elemente de execuie: 3 electrovalve motorul benzii transportoare motorul de rotaie al malaxorului 2 motoare de pivotare ale malaxoruluiElemente de msur: 3 senzori de greutate un senzor de detecie 2 limitatoare de curs
Fig. 5.29 Proces de dozare i malaxare
Elemente de execuie: 3 electrovalve (Va, Vb, Vc) Motorul benzii transportoare cu un singur sens de rotaie Motorul de rotaie al malaxorului Motorul de pivotare al malaxorului, cu dou sensuri de rotaie
Elemente de msur: 3 senzori de greutate, pentru referinele A, B i zero
Brichete Solubile
Banda deAlimentare
MotorVa Vb
A B
Cantar
MalaxorPivotant
LimitatorDreapta P1
LimitatorStanga P2
MdMs
Vc
dDetector detrecere
Prob
37
8/12/2019 Probleme automate programabilr
38/62
83
2 limitatoare de curs 1 detector de trecere
2. Soluii de automatizare
2.1 Varianta 1 : implementarea n mediul Isagraf
Aceast variant presupune utilizarea unui automat programabil de tip PEP Smart, pentru care s-adezvoltat un proiect Isagraf ce cuprinde 1 program principal.
Dicionarul de variabile globale:
Variabile de intrare booleene: Start : buton de pornire d : detector de trecere brichete solubile A : detectorul greutii produsului A B : detectorul greutii produselor A + B Lim_stanga : limitator stnga malaxor Lim_dreapta : limitator dreapta malaxor
Variabile de ieire booleene: Valva_ A : comand deschiderea / nchiderea valvei A Valva_ B : comand inchiderea / nchiderea valvei B Valva_ C : comand deschiderea / nchiderea valvei C Mt : comand motorul benzii transportoare Rotire : comand rotaia malaxorului Piv_dreapta : comand pivotarea ctre dreapta a malaxorului Piv_stanga : comand pivotarea ctre stnga a malaxorului
Variabile globale de tip timer: timer : temporizare folosit la rotaia malaxorului
Prob
38
8/12/2019 Probleme automate programabilr
39/62
84
Programul principal Main este prezentat n figura 5.30:
5
Prob
39
8/12/2019 Probleme automate programabilr
40/62
85
Fig. 5.30 Programul principal
Prob
40
8/12/2019 Probleme automate programabilr
41/62
86
2.2 Varianta 2 : implementarea n limbajul Ladder DiagramAceast variant presupune folosirea unui automat programabil Allen Bradley, tip SLC500, pentrucare se dezvolt o diagram de tip Grafcet i o diagram de tip Ladder.
Diagrama Grafcet este prezentata in figura 5.31:
Fig. 5.31 Diagrama Grafcet
Prob
41
8/12/2019 Probleme automate programabilr
42/62
8/12/2019 Probleme automate programabilr
43/62
88
B3 I:1 B3
||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||2 2 | 2 |
| B3 ||---- (L) ----|
3
B3 O:3||----] [-------------------------------------------------------------------------------------|---- (U) ----|---------||
3 | 1 || O:3 ||---- (L) ----|
2
B3 I:1 B3||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
3 3 | 3 || B3 ||---- (L) ----|
4
B3 O:3||----] [-------------------------------------------------------------------------------------|---- (U) ----|---------||
4 | 2 || O:3 ||---- (L) ----|
3
B3 I:1 B3||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
4 4 | 4 || B3 |
|---- (L) ----|5
B3 O:3||----] [------------------------------------------------------------------------------------------ (U) -------------||
5 3
B3 O:3||----] [------------------------------------------------------------------------------------------ (U) -------------||
10 4
B3 I:1 B3||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
10 6 | 10 || B3 ||---- (L) ----|
11
B3 I:1 B3||----] [------] / [--------------------------------------------------------------------------|---- (U) ----|---------||
11 6 | 11 || B3 ||---- (L) ----|
Prob
43
8/12/2019 Probleme automate programabilr
44/62
8/12/2019 Probleme automate programabilr
45/62
8/12/2019 Probleme automate programabilr
46/62
91
Problema 8: Umplerea i astuparea automat a sticlelor
1. Descrierea procesului:Scopul acestei aplicaii l constituie controlul unui sistem de umplere i astupare a unor sticle. Laconectarea sistemului, se pornete motorul benzii transportoare. Acesta se va opri cnd existsticle n situaia de a fi umplute i n situaia de a fi astupate. Se cere ca simultan cu umplerea uneisticle alta deja umplut s fie astupat, aciune posibil datorit configuraiei sistemului. CilindrulA este responsabil cu umplerea sticlelor, deplasndu-se ntre limitatoarele F1 i F2. Cilindrul Caduce dopurile din stiva de dopuri, pentru a fi mpinse de ctre cilindrul B pentru astuparea uneisticle. Astuparea sticlei se faca de ctre un dispozitiv de rotire, a crui micare este limitat de unlimitator. Sticlele de umplut i cele de astupat sunt detectate de cte dou fotocelule.
Fig.5.32Umplerea i astuparea automat a sticlelor
Elemente de execuie: 1 cilindru (A) ce regleaz dozatorul volumetric 1 cilindru de avans (B) cu 3 poziii 1 cilindru (C) ce reprezint mecanismul de transfer al capacelor motorul bezii transportoare un mecanism de nurubare dopuri
Elemente de msur:
6 limitatoare de curs 1 detector de poziie 1 fotocelul pentru detecie sticl de umplut 1 fotocelul pentru detecie sticl plin
Detector poziie sticl
Detector umplere sticl
Depozit lichid
Cilindru A
Cilindru B
Cilindru CValve antiretur
Stiva de dopuri
Vc
F5
F3
F4
F1
F2
F6
F7
Prob
46
8/12/2019 Probleme automate programabilr
47/62
92
2. Soluia de automatizare
Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-adezvoltat un proiect Isagraf ce cuprinde un program principal, numit main.
Dicionarul de variabile globale:
Variabile de intrare booleene: F1 : Limitator sus cilindru A F2 : Limitator jos cilindru A F3 : Limitator sus cilindru B F4 : Limitator jos cilindru B F5 : Limitator stanga cilindru C F6 : Limitator dreapta cilindru C F7 : Detector pozitie de preluat dop senzor_rotire : Limitator rotire dispozitiv de nurubare st_de_umplut : Senzor detecie sticl de umplut st_plina : Senzor detecie sticl plin
Variabile de ieire booleene: Banda : comand pornire / oprire band A_avans : comand avans cilindru A A_retragere : comand retragere cilindru A B_avans : comand avans cilindru B B_retragere : comand retragere cilindru B C_avans : comand avans cilindru C C_retragere : comand retragere cilindru C Insurubare : comanda de nurubare a dopului
Programul principal este prezentat n figura 5.33
Prob
47
8/12/2019 Probleme automate programabilr
48/62
93
Prob
48
8/12/2019 Probleme automate programabilr
49/62
94
Prob
49
8/12/2019 Probleme automate programabilr
50/62
95
Fig. 5.33 Programul principal
Comentarii:
n program au fost folosite 2 paralelisme, fiecare avnd cte 2 secvene ce se execut simultan A doua secven paralel implementeaz condiia ca o dat cu umplerea unei sticle, alta s fie
astupat
Propunere: S se modifce programul n situaia n care sticlele vin aleator pe banda transportoare
Prob
50
8/12/2019 Probleme automate programabilr
51/62
96
Problema 9: Umplerea automat a unor containere
1. Descrierea procesului:Aplicaia const n umplerea cu lichid a 3 containere (A, B, C) i evacuarea lor pe o bandtransportoare. Umplerea containerelor trebuie fcut n urmtoarea manier:
- containerul A : 5 secunde cu lichid de tip A- containerul B : 7 secunde cu lichid de tip A i 7 secunde cu lichid de tip B- containerul C : 3 secunde cu lichid de tip C, 5 secunde cu lichid de tip B i 8 secunde cu lichid
de tip A
Fig. 5.34 Umplerea automat a unor containere
n cadrul sistemului exist o band transportoare pe care vin, unul dup altul, cele trei containere A, B,C. Primul dintre ele care ajunge la platform este containerul C, apoi B i ultimul cel de tip A.Cilindrul E este responsabil cu evacuarea recipienilor cu ajutorul celei de-a doua benzi transportoare.Iniierea procesului se face prin pornirea benzii transportoare 1 pe care sunt aduse containerele. nmomentul n care un container de tip C se gsete pe platform, banda 1 va fi oprit iar cilindrul D vaavansa o poziie. Cnd containerul C activeaz detectorul 2, banda 1 va fi din nou activat iar cilindrulD va fi oprit; banda 1 se va opri din nou cnd containerul B ajunge la platform i n consecincilindrul D va avansa din nou pn cnd containerul C activeaz detectorul 3 iar containerul Bactiveaz detectorul 2. n acest moment banda 1 este repornit pn cnd containerul A atingeplatforma, moment n care banda este oprit. n acel moment cele trei valve vor fi deschise simultan,fiecare fiind meninut deschis un anumit timp, astfel nct contaienrul A se va umple cu lichid Atimp de 5 secunde, containerul B cu lichid de tip B timp de 7 secunde iar containerul C timp de 3
secunde cu lichid de tip C. Cnd toate aceste temporizri au expirat, valvele vor fi nchise, cilindrul Eva avansa pentru a evacua containerul A pn activeaz detectorul 4. n acest moment cilindrul E seretrage. Dup ce a ajuns n poziia de retragere, cilindrul D va fi retras pn activeaz detectoarele 1 i2. Apoi containerele B i C vor fi umplute cu lichid de tip A, respectiv B, dup care urmeazevacuarea containerului B. n final containerul C va fi umplut cu lichid de tip A i va fi evacuat. Dupevacuare cilindrul D va fi retras i un nou ciclu poate ncepe.
Lichid ALichid BLichid C
Electrovalve C B A
Containere CB A
Cilindrul E
Cilindrul D
M1 MotorBanda 1
M2 MotorBanda 2
Banda 1
Banda 2
Detectoare 1,2,34
Prob
51
8/12/2019 Probleme automate programabilr
52/62
8/12/2019 Probleme automate programabilr
53/62
98
Programul principal este prezentat n figura
Prob
53
8/12/2019 Probleme automate programabilr
54/62
99
Prob
54
8/12/2019 Probleme automate programabilr
55/62
100
Prob
55
8/12/2019 Probleme automate programabilr
56/62
101
Fig. 5.35 Programul principal
Comentarii: n cadrul secvenelor de deschidere a valvelor, temporizrile au fost implementate prin testarea permanent
a parametrului GSxxx.t asociat unei etape. Acest parametru indic timpul de cnd o etap este activ. O altvariant era folosirea unor variabile de tip Timer.
Umplerea containerelor este facut n paralel cu ajutorul elementului de paralelism al diagramelor SFC
Prob
56
8/12/2019 Probleme automate programabilr
57/62
102
Problema10: Proiectarea unui regulator PID pentru reglarea unei temperaturi
1. Descrierea procesului:
Problema const n meninerea unei anumite temperaturi ntr-o instalaie de granulare prin reglareadebitului de abur, dar, ca orice regulator, se poate acorda pentru o mare varietate de procese.
Regulatorul PID trebuie s funcioneze n dou regimuri de lucru, automat i manual, cu posibilitateade a fi conectat n diferite scheme de reglare.
Temperatura este msurat cu un traductor de temperatur avnd semnal de ieire 4-20mA, msura sefiltreaz iar valoarea real se transmite regulatorului n procente. Referina se citete de la un panouoperator care comunic cu automatul prin interfaa serial 232.
Regulatorul face parte dintr-o schem n care se intenioneaz meninerea constant a temperaturiiunui agent termic (n cazul acesta abur de joas presiune 4-6 bar) prin comanda debitului de intrare algazului metan.
Bucla de reglare n aceast situaie este compus din: termocuplu (pentru msurarea temperaturii) care genereaz milivoli dup o curb care nu este
liniar (ca alternativ la aceast soluie se poate utiliza orice alt traductor al crui semnal este ncurent unificat). Soluia cu automate programabile este destul de flexibil i din faptul ca ele aumodule de intrare pentru toate tipurile de termocuple, eliminnd astfel din bucl convertorulmilivoli - curent unificat, dar alegerea ntre cele dou metode se face strict economic.
convertor 4-20 mA (pentru conversia n miliamperi a semnalului de la termocuplu (mV) iliniarizarea curbei valorilor)
automat programabil SmartPLC cu module de intrri analogice, respectiv n termocuple i modulde ieiri analogice care la rndul lor sunt nite convertoare analog-numerice i invers (pentrurealizarea algoritmului de reglare)
Electroventil comandat n curent de 4-20mA, reprezentnd elementul de execuie (se mai poatefolosi i un ventil pneumatic mpreun cu un convertor electropneumatic dac este necesar)
n fig. 4.12 este prezentat schematic bucla de reglare pentru varianta cu convertor, cealalt fiind mai
simpl (ieirea termocuplului intrnd direct n automat):
Fig. 5.36 Structura buclei de reglare folosind convertor tensiune - curent
PLC
Ventil regulator
convertor termocuplu
cazan
Camera deardere
Reglar
57
8/12/2019 Probleme automate programabilr
58/62
8/12/2019 Probleme automate programabilr
59/62
104
n cadrul seciunii SEQUENTIAL, adic acolo unde este implementat logica de funcionare aprogramului, au loc, n principal, urmtoarele aciuni:
secvena de iniializare, n care sunt iniializate anumite constante i este pornit timer-ul pentruperioada de eantionare.
algoritmul de reglare, a crui descriere detaliat este prezentat n subcapitolul urmtorNu ntmpltor seciunea secvenial are o singur stare pentru fiecare regim de lucru. Aceastnecesitate a aprut datorit faptului c automatul (care poate lucra multitasking) nu trece la o altactivitate dect dup terminarea unui ciclu main. ntr-un ciclu main se execut seciunea deBEGIN, cea de END i un anumit numr de stri din seciunea SEQUENTIAL, ct permite durataunui ciclu main. Dac pentru execuia aciunilor asociate unei stri, procesorului i-ar lua un timp maindelungat dect perioada unui ciclu predefinit, ciclul va fi prelungit pn cnd toate aciunile asociatestrii sunt executate.
Cu aceast metod ciclul de reglare devine constant i ct mai mic posibil. Durata ciclului poate fifixat i altfel (software), dar oricum, perioada va avea o valoare mai mare, pierzndu-se astfel dintimpul de rspuns al regulatorului. Mai mult, n cazul n care ar exista mai multe etape, apareposibilitatea ca comanda ce se d elementului de execuie s nu fie consecina ultimei citiri, ceea ceface s se piard chiar noiunea de cauzalitate.
Seciunea END, care se execut la sfritul fiecrui ciclu automat, dup seciunea secvenial,realizeaz n principal urmtoarele aciuni: Adaptri de valori Actualizare ieiri: concret, n cazul algoritnului de reglare ce respect condiiile de mai sus, ieirea
este comanda ctre elementul de execuie calculat conform algoritmului la ultimul ciclu main ica urmare a ultimei valori a intrrii.
Transmiterea ctre interfaa utilizator a valorilor calculate, pentru vizualizareDiagrama logic de funcionare a regulatorului (Sequential Function Chart), n care pot fi identificateetapele n care se poate gsi automatul i tranziiile pe care le poate efectua, sunt ilustrate n figura5.38.
Fig. 5.38 Diagrama logic de funcionare a regulatorului
Reglar
59
8/12/2019 Probleme automate programabilr
60/62
105
Se observ c diagrama conine 3 etape i pot fi efectuate 4 tranziii ntre aceste etape.
Etape:
Etapa 1: iniializare regulator Etapa 2: se execut un pas de reglare n regim automat Etapa 3: se execut un pas de reglare n regim manualTranziii:
Tranziia 1- S1 -> S2: se execut dac sunt condiii de trecere n starea de calcul PID (regimulautomat)
Tranziia 2 - S1 -> S3: se execut dac sunt condiii de trecere n starea de comand manual(regimul manual)
Tranziia 3 - S2 -> S1: salt necondiionat n etapa iniial Tranziia 4- S3 -> S1: salt necondiionat n etapa iniialVariabilele declarate n cadrul proiectului sunt prezentate n tabelul 5.5:
Tabel 5.5 Variabilele folosite n cadrul proiectului
Variabil Tip Descriere
Run Logic Exist condiii generale de funcionare pentru regulatorul PID, evaluate nexterior1 OK, adica sunt msuri bune, elemente de executie funcioneaz, resurse
energetice ok, etc0 not OK, nu se face reglare cu regulatorul PID
ModRT Logic Regimul de lucru al regulatorului, evaluat n exterior1 regim AUTOMAT (PID)0 regim MANUAL (comand direct)
timer_p1 Timer Timer de ciclu de eantionarecycle1 Timer Perioada de eantionare, constant [ms]banda1 Real Banda de proporionalitate, inversul amplificrii, n %,Td1 Real Constant de timp pentru efectul de derivare, valoare de acordTint1 Real Constant de timp pentru efectul de integrare, valoare de acord
kp1 Real Amplificarea, valoare calculat, dac banda este valoarea de acordderiv1 Real Componenta derivativ, variabil de calculw real Calcul parial pentru incrementul de comand, variabil de lucruT_pv real Valoarea curent a temperaturii reglate, n %T_pv1 real Valoarea curent, la pasul anterior, a temperaturii reglate, n %T_pv2 real Valoarea curent, la pasul anteanterior, a temperaturii reglate, n %T_sp real Valoarea impus pentru temperatur, n %err1 real Eroarea (t_sp-t_pv) la pasul anteriorComandaventil
real Comanda curent, poziia absolut a elementului de executie, n %
xo1 real Comand manual, poziia absolut a elementului de execuie, n %
n etapa 1 (Init) se actualizeaz (dac e nevoie) valorile variabilelor de lucru (dac regulatorulfuncioneaz n alte regimuri de lucru, spre exemplu n cascad, sau n regim de selecie).
Aciunile asociate etapei 2(Regim automat) sunt descrise n tabelul 5.6:
Reglar
60
8/12/2019 Probleme automate programabilr
61/62
106
Tabel 5.6 Aciuni asociate etapei 2
iniializeaz ciclul timer_p1:=t#0s;calcul amplificare kp1:=100.0/banda1;calcul component derivativ deriv1:=Td1*1000.0*(T_pv-2.0*T_pv1+T_pv2)/real(cycle1);salvare valori pv anterioare T_pv2:=T_pv1; T_pv1:=T_pv;calcul noua comand (pt timpi, selucreaza n [ms]=[s]*1000)
w:=(T_sp-T_pv)+(T_sp-T_pv)*real(cycle1)/(Tint1*1000.0)-err1-deriv1;Comanda ventil:=Comanda ventil+Kp1*w;
limitri la 0% i 100% if(Comanda ventil>100.0) then Comanda ventil:=100.0; end_if;if(Comanda ventil< 0.0) then Comanda ventil:= 0.0; end_if;
salvare eroare err1:=T_sp-T_pv;pregatire trecere n regim manual xo1:=Comanda ventil;
n etapa 3 (Regim manual) este iniializat ciclul i pregatete trecerea n regim automat:
Tranziia 1(intrare n regulator automat s1 -> s2) are loc dac s-a epuizat timpul pentru perioada deeantionare i sunt condiii de reglare n regim automat:
timer_p1>cycle1 i Run i ModRT
Tranziia 2(intrare n regulator manual s1 -> s3) are loc dac s-a epuizat timpul pentru perioada deeantionare i sunt condiii de reglare n regim manual:
timer_p1>cycle1 i Run i notModRT
E important s se efectueze toate calculele necesare ntr-o singura stare (un sigur ciclu IsaGRAF) i,pentru uniformitate, e de dorit ca pe oricare ramur (automat sau manual), durata unui ciclu de reglaresa fie aceeai, ct mai scurt, adic doua cicluri IsaGRAF (init+automat sau init +manual), pentru camodul de funcionare a ISaGRAF-ului (la un ciclu main execut seciunea de BEGIN , din seciuneaSEQUENTIAL cte stri i permite ciclul maina i apoi seciunea END) s nu influeneze (mreasc)perioada de eantionare.
Un ciclu de eantionare, pentru valorile cu care se lucreaz la reglare, se calculeaz innd cont c unciclu activ nseamn stare calcul - comanda + stare init (2 isa) iar un ciclu pasiv nseamn stare init(1 isa) unde se ateapt epuizarea timpului ales pentru ciclul de reglare. Daca ciclul isa se fixeaz,atunci se poate alege ca perioada de eantionare pentru reglare un multiplu de ciclu isa mai mare sauegal cu 2 i se introduc n secven etape lipsite de aciuni care asigur implicit realizarea perioadei.Dac sunt necesare regulatoare suplimentare (de exemplu de poziie) va trebuie asigurat osincronizare .
Oricum, secvena n dou stri pe ramur este cea mai convenabil n cazul n care se adopt aceastsoluie. Soluia corect de realizare a unui regulator este aceea n care funcia de reglare este descrisca o funcie C ce se va apela chiar n seciunea de BEGIN i va fi executat cu siguran cte un pasincremental la fiecare ciclu main.
Diagrama SFC a programului principal de reglare este prezentat n figura 5.39.
Reglar
61
8/12/2019 Probleme automate programabilr
62/62
Reglar