Sunteți pe pagina 1din 62

46

CAP. 5 PROBLEME REZOLVATE



Problema 1: Controlul unei macarale

1. Descrierea procesului:

Aplicaia const n controlul unei macarale care trebuie s realizeze cele 2 cicluri de micare
reprezentate n figura 5.1. Iniial macaraua se gsete n poziia de repaus 1. La apsarea butonului
de pornire, macaraua pornete i se realizeaz ciclul 1, pn se ajunge n poziia de repaus 2, unde
ramne pentru un anumit timp cunoscut (3 s), nainte de a porni ciclul 2; cnd ajunge n poziia de
repaus 1, macaraua se va opri. Un nou ciclu va porni dup reapsarea butonului de pornire.




















Fig. 5.1 Controlul unei macarale

Elemente de execuie:
2 motoare cu 2 sensuri de rotaie, unul pentru micarea orizontal i unul pentru cea vertical
Elemente de msur:
4 limitatoare de curs
1 buton de pornire

2. Soluia de automatizare

Varianta 1: implementarea n mediul ISAGraf

Prima soluie pentru controlul acestei aplicaii o reprezint un automat programabil de tip PEP Smart
pentru care s-a dezvoltat un proiect Isagraf ce cuprinde un program principal secvenial.

Dicionarul de variabile globale:

Variabile de intrare booleene: Variabile de ieire booleene:
Pornire : buton de pornit ciclu M1S : acionare motor 1 stnga
l1 : limitator jos M1D : acionare motor 1 dreapta
l2 : limitator sus M2S : acionare motor 2 sus
l3 : limitator stnga M2J : acionare motor 2 jos
l4 : limitator dreapta
Limitator
1
Limitator
2
Limitator
3
Limitator
4
Poziia de
repaus 1
Poziia de
repaus 2
Ciclul 1
Ciclul 2
Problema 1
1
47
Programul principal este prezentat n figura 5.2



Problema 1
2
48


Fig. 5.2 Programul principal
Problema 1
3
49

Varianta 2: implementarea in limbajul Ladder Diagram

Pentru controlul acestei aplicaii s-a ales un automat programabil de tip Allen Bradley pentru care s-a
dezvoltat 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 tabelul
5.2:


Problema 1
4
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

Problema 1
5
51
B3 I:1 B3
||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
3 5 | 3 |
| B3 |
|---- (L) ----|
4

B3 O:3
||----] [-------------------------------------------------------------------------------------|---- (L) ----|---------||
4 | 2 |
| O:3 |
|---- (L) ----|
4
B3 I:1 B3
||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
4 2 | 4 |
| B3 |
|---- (L) ----|
5

B3 |---- TON --------------|
||----] [-------------------------------------------------------------------------|TIMER ON DELAY|---------||
5 |TIMER T4:0 |
|TIME BASE 0.01 |
|PRESET 300 |
|ACCUM 0.0 |
|-------------------------|
| O:3 |
|----------- (U) ---------|
4

B3 T4:0 B3
||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
5 DN | 5 |
| B3 |
|---- (L) ----|
6

B3 O:3
||----] [------------------------------------------------------------------------------------------ (L) -------------||
6 3

B3 I:1 B3
||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
6 3 | 6 |
| B3 |
|---- (L) ----|
7

B3 O:3
||----] [-------------------------------------------------------------------------------------|---- (U) ----|---------||
7 | 3 |
| O:3 |
|---- (L) ----|
1
Problema 1
6
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

Problema 1
7
53
Cs Cd
MOTOR
MOBIL
URUB
Problema 2: Comanda micrii oscilatorie a unui mobil

1. Descrierea procesului:

Un mobil alunec pe un urub micat de un motor acionat de 2 contactoare ( Cd dreapta i Cs
stnga). Mobilul trebuie s realizeze o micare oscilatorie continu din momentul n care se primete
comanda (impuls) de la butonul M. Un impuls de la butonul P trebuie s opreasc motorul, dar nu
imediat, ci la finalul micrii ncepute. Un impuls de la butonul E produce o retragere imediat a
mobilului n poziia de origine, iar sistemul se mai poate pune n micare doar apsnd butonul R.


























Fig. 5.5 Micarea oscilatorie a unui mobil

Element de execuie:
1 motor cu 2 sensuri de rotaie
Elemente de msur:
2 limitatoare de curs


2. Soluia de automatizare

Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart PLC pentru care se
dezvolt un proiect Isagraf. Proiectul conine 2 programe, un program principal i un program copil,
numit Osc. Programul Osc este pornit si oprit de catre programul principal i este responsabil cu
realizarea micrii oscilatorii i sesizarea apsrii butoanelor, conform specificaiilor aplicaiei.






Problema 2
8
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.



































Problema 2
9
55




















































Problema 2
10
56















Fig.5.6 Programul Main


Programul fiu Osc este prezentat n figura 5.7.




































202
301
Problema 2
11
57





















































Fig. 5.7 Programul copil Osc

201 201
Problema 2
12
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 ncheie
totdeauna cnd mobilul ajunge prima dat in partea dreapt.
Problema 2
13
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 a
ncheierii secvenei de umplere. Sticlele se deplaseaz pe banda 1, separate de aceeai distan i cu
vitez constant. Scopul aplicaiei este detectarea i extragerea sticlelor care ies din faza de nchidere
fr dopul corespunztor; pe lng aceasta, dac ntr-o perioad determinat de timp (n acest caz 7
sticle), sunt rejectate mai mult de 3 sticle consecutive, trebuie activat o alarm. Repornirea ciclului se
face prin apsarea butonului Pc. Pentru detecia sticlei defecte se conjug aciunile unui senzor
inductiv, care detecteaz prezena dopului i un echipament foto electric care semnaleaz prezena
unei sticle.



























Fig. 5.8 Detecia i expulzarea sticlelor fr dop

Procesul este iniiat prin apsarea butonului M, care produce pornirea benzii transportoare 1. Atunci
cnd se detecteaz o sticl fr dop, este oprit banda 1 i este pornit banda transportoare 2 (dac era
oprit). n momentul n care sticla fr dop se gsete n zona de expulzare, este activat mecanismul de
expulzare. 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 fi
oprit 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 de
Expulzare
Detector
Fotoelectric
Detector
Inductiv
Alarma
Panou de control
Motor
Banda 1
Motor
Banda 2
Banda
Transportoare 1
Banda
Transportoare 2
Problema 3
14
60
2. Soluia de automatizare:

Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart pentru care se
dezvolt un proiect Isagraf, cu un singur program principal, dar cu 2 seciuni programate i anume
seciunea 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 dop

Variabile interne de tip Integer:
Nr_sticle : contorizeaz numrul de sticle fr dop expulzate consecutiv

Variabile interne de tip timer:
Timer : folosit la contorizarea celor 5 secunde de activare a conveiorului 2






















Problema 3
15
61
Programul principal main este prezentat n figura 5.10


















































Fig. 5.10 Programul principal, seciunea secvenial
3
Problema 3
16
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 dac
perioada ei de activare a expirat
deoarece seciunea de end se execut la fiecare ciclu automat, testarea timer_ului se va face la
fiecare 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
Problema 3
17
63
Problema 4:Staie automat de splat autovehicule

1. Descrierea procesului:

Scopul proiectrii acestui sistem de control l reprezint automatizarea unei staii de splat
autovehicule. Vehiculele vor trebui s treac succesiv prin 4 posturi de lucru, nmuiere, splare cu
detergent, cltire i uscare. Procesul este iniiat de apsarea unui buton de pornire, care determin
activarea benzii transportoare iar vehiculele vor trece succesiv prin cele 4 posturi. Bariera, n condiii
normale, trebuie s stea ridicat i semaforul dezactivat. Cnd n staie sunt detectate 4 vehicule, cte
unul n fiecare post, bariera trebuie cobort i semaforul activat, indicnd faptul c nu se mai poate
trece. 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 se
activeaz 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 fotocelula
2 nu este activ dar fotocelula 3 este activ. Analog pentru postul 3. Postul 4 se dezactiveaz
cnd 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 de
Uscare
Post de
Clatire
Post de
Spalare cu
Detergent
Post de
Inmuiere
Semafor
Bariera
F1
Senzor de
Inmuiere

F2
Senzor de
Detergent

F3
Senzor de
Clatire

F4
Senzor de
Uscare

F5
Banda
Transportoare
Problema 4
18
64
Elemente de msur:
5 celule fotoelectrice
2 limitatoare de curs ale barierei


2. Soluia de automatizare

Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart pentru care se
dezvolt un proiect Isagraf, proiect ce consta din 6 programe SFC ce ruleaz n paralel. Structura
proiectului 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

Problema 4
19
65
Programul bariera este prezentat n figura 5.14











































Fig. 5.14 Programul Bariera Fig.5.15 Programul Start
Problema 4
20
66
Programul Post1 este prezentat n figura 5.16.





Fig.5.16 Programul Post1

Problema 4
21
67
Programul Post2 este prezentat n figura 5.17.




Fig.5.17 Programul Post2

Problema 4
22
68
Programul Post3 este prezentat n figura 5.18.











































Fig.5.18 Programul Post3
Problema 4
23
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 mult
nelegerea programului

Propunere:
S se modifice programul n cazul n care bariera se va ridica atunci cnd se elibereaz primul post
de lucru
S se modifice proiectul astfel nct s se dezvolte un singur program care s automatizeze acest
proces
Problema 4
24
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 de
un 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 astfel
identificat n funcie de greutatea citit. n continuare pachetul este transportat pe banda 1 pn la
planul elevator. Cilindrul C ridic pachetele. Apoi pachetele sunt transportate diferit; pachetele
mici sunt plasate pe banda 2 de cilindrul A, iar pachetele mari sunt aezate pe banda 3 de cilindrul
B. 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-a
dezvoltat un proiect Isagraf ce cuprinde 5 programe secveniale ce ruleaz n paralel i un program n
seciunea 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 0
Banda 1
Banda 2
Banda 3
Cilindru A
Cilindru B
Cilindru C
Cntar
F0
F1
Problema 5
25
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 pachetelor

Variabile 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












Problema 5
26
72
Programul Banda_0 este prezentat n figura 5.22.
































Fig.5.22 Programul Banda_0

















Problema 5
27
73
Programul Banda_1 este prezentat n figura 5.23.













































Fig.5.23 Programul Banda_1








Problema 5
28
74
Programul Cilin_A este prezentat n figura 5.24.











































Fig.5.24 Programul Cilin_A










Problema 5
29
75
Programul Cilin_B este prezentat n figura 5.25












































Fig.5.25 Programul Cilin_B










Problema 5
30
76
Programul Cilin_C este prezentat n figura 5.26







































Fig.5.26 Programul Cilin_C
Problema 5
31
77
Programul convers din seciunea Begin

Programul convers realizeaz conversia din uniti CAN (Convertor Analog Numeric) n valori
exprimate n uniti de msur inginereti. Intrarea analogic a modulului de intrare lucreaz pe 12 bii
i msoar un curent de 0 - 20 mA , dar traductorul de la cntar genereaz un curent de 4 - 20mA. n
aceast 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 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






Problema 5
32
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), n
timp 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 la
capacitatea fixat; n acel moment, valva 2 se va nchide i va rmne aa pn cnd lichidul din
rezervorul 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 vor
rmne nchise pn cnd temperatura va fi reglat. Totdeauna va fi prioritar variaia temperaturii
fa 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-a
dezvoltat 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 de
Temperatura
Calorifer
Depozit 1
Depozit 2
Dispozitiv de
rcire
Problema 6
33
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 valori
exprimate n uniti de msur inginereti. Intrarea analogic a modulului de intrare lucreaz pe 12 bii
i msoar un curent de 0 - 20 mA , dar traductorul de la cntar genereaz un curent de 4 - 20mA. n
aceast 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 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

temp := INT(((REAL(temp_citita)- 819)* 100.0 ) / (3276) ;

Problema 6
34
80
Programul Main este prezentat n figura 5.28






















































401
301
Problema 6
35
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)
Problema 6
36
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 una
cte 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 i
alimentarea 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 n
timpul golirii.



Figura:

Elemente de execuie:
3 electrovalve
motorul benzii transportoare
motorul de rotaie al malaxorului
2 motoare de pivotare ale malaxorului

Elemente 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 de
Alimentare
Motor
Va Vb
A
B
Cantar
Malaxor
Pivotant
Limitator
Dreapta P1
Limitator
Stanga P2
Md
Ms
Vc
d
Detector de
trecere
Problema 7
37
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-a
dezvoltat 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

Problema 7
38
84
Programul principal Main este prezentat n figura 5.30:





















































5
Problema 7
39
85

















































Fig. 5.30 Programul principal

Problema 7
40
86
2.2 Varianta 2 : implementarea n limbajul Ladder Diagram

Aceast variant presupune folosirea unui automat programabil Allen Bradley, tip SLC500, pentru
care 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

Problema 7
41
87
Asocierea intrrilor i ieirilor fizice cu bii din regitrii de intrare / ieire este prezentat n tabelul 5.3:

Tabelul 5.3
Intrare fizic Adres intern Ieire fizic Adres intern
START I:1/1 Valva_A O:3/1
A I:1/2 Valva_B O:3/2
B I:1/3 Valva_C O:3/3
Z I:1/4 Mt O:3/4
lim_dreapta I:1/5 Rotire O:3/5
d I:1/6 Piv_dreapta O:3/6
lim_stanga I:1/7 Piv_stanga O:3/7

Asocierea etapelor cu bii din fiierul de bit B3 i alegerea fiierului de timer este prezentat n tabelul
5.4:

Tabelul 5.4
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
9 B3/9
101 B3/10
102 B3/11
103 B3/12
104 B3/13

Diagrama Ladder este prezentat n continuare:

B3 B3
||--- [OSR] ------------------------------------------------------------------------------------- (L) --------------||
0 1

B3 I:1 B3
||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
1 1 | 1 |
| B3 |
|---- (L) ----|
| 2 |
| B3 |
|---- (L) ----|
10

B3 O:3
||----] [------------------------------------------------------------------------------------------ (L) -------------||
2 1




Problema 7
42
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) ----|
Problema 7
43
89
12
B3 I:1 B3
||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
12 6 | 12 |
| B3 |
|---- (L) ----|
13

B3 O:3
||----] [------------------------------------------------------------------------------------------ (U) -------------||
13 4


B3 B3 B3
||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
13 5 | 5 |
| B3 |
|---- (U) ----|
| 13 |
| B3 |
|---- (L) ----|
6

B3 |---- TON --------------|
||----] [-------------------------------------------------------------------------|TIMER ON DELAY|---------||
6 |TIMER T4:0 |
|TIME BASE 0.01 |
|PRESET 1500 |
|ACCUM 0.0 |
|-------------------------|
| O:3 |
|----------- (L) ---------|
5

B3 T4:0 B3
||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
6 DN | 6 |
| B3 |
|---- (L) ----|
7

B3 O:3
||----] [------------------------------------------------------------------------------------------ (L) -------------||
7 6

B3 I:1 B3
||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
7 5 | 7 |
| B3 |
|---- (L) ----|
8




Problema 7
44
90

B3 O:3
||----] [-------------------------------------------------------------------------------------|---- (U) ----|---------||
8 | 5 |
| O:3 |
|---- (U) ----|
| 6 |
| O:3 |
|---- (L) ----|
7

B3 I:1 B3
||----] [------] [--------------------------------------------------------------------------|---- (U) ----|---------||
8 7 | 8 |
| B3 |
|---- (L) ----|
9

B3 O:3
||----] [------------------------------------------------------------------------------------------ (U) -------------||
9 7

B3 B3
||----] [-------------------------------------------------------------------------------------|---- (U) ----|---------||
9 | 9 |
| B3 |
|---- (L) ----|
1

Comentarii:
n diagrama SFC se pot observa cele 2 secvene paralele, aducerea lichidelor i aducerea
brichetelor n malaxor. Ieirea din paralelism se face atunci cnd ambele secvene s-au ncheiat
Temporizarea a fost realizat cu instruciunile TSTART i TSTOP

Propunere:
S se modifice diagrama Ladder folosind pentru activarea ieirilor instruciunea OTE (acolo unde
este posibil)
Problema 7
45
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. La
conectarea sistemului, se pornete motorul benzii transportoare. Acesta se va opri cnd exist
sticle n situaia de a fi umplute i n situaia de a fi astupate. Se cere ca simultan cu umplerea unei
sticle alta deja umplut s fie astupat, aciune posibil datorit configuraiei sistemului. Cilindrul
A este responsabil cu umplerea sticlelor, deplasndu-se ntre limitatoarele F1 i F2. Cilindrul C
aduce dopurile din stiva de dopuri, pentru a fi mpinse de ctre cilindrul B pentru astuparea unei
sticle. Astuparea sticlei se faca de ctre un dispozitiv de rotire, a crui micare este limitat de un
limitator. Sticlele de umplut i cele de astupat sunt detectate de cte dou fotocelule.


























Fig. 5.32 Umplerea 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 C Valve antiretur
Stiva de dopuri
Vc
F5
F3
F4
F1
F2
F6
F7
Problema 8
46
92
2. Soluia de automatizare

Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-a
dezvoltat 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
Problema 8
47
93















































Problema 8
48
94























































Problema 8
49
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
Problema 8
50
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 band
transportoare. 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. n
momentul n care un container de tip C se gsete pe platform, banda 1 va fi oprit iar cilindrul D va
avansa o poziie. Cnd containerul C activeaz detectorul 2, banda 1 va fi din nou activat iar cilindrul
D va fi oprit; banda 1 se va opri din nou cnd containerul B ajunge la platform i n consecin
cilindrul D va avansa din nou pn cnd containerul C activeaz detectorul 3 iar containerul B
activeaz detectorul 2. n acest moment banda 1 este repornit pn cnd containerul A atinge
platforma, 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 A
timp 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 E
va avansa pentru a evacua containerul A pn activeaz detectorul 4. n acest moment cilindrul E se
retrage. Dup ce a ajuns n poziia de retragere, cilindrul D va fi retras pn activeaz detectoarele 1 i
2. Apoi containerele B i C vor fi umplute cu lichid de tip A, respectiv B, dup care urmeaz
evacuarea containerului B. n final containerul C va fi umplut cu lichid de tip A i va fi evacuat. Dup
evacuare cilindrul D va fi retras i un nou ciclu poate ncepe.




Lichid A Lichid B Lichid C
Electrovalve
C B A
Containere
C
B
A
Cilindrul E
Cilindrul D
M1 Motor
Banda 1
M2 Motor
Banda 2
Banda 1
Banda 2
Detectoare 1,2,3
4
Problema 9
51
97
Elemente de execuie:
3 electrovalve
2 cilindri cu dublu efect
2 motoare ale benzilor transportoare
Elemente de msur:
4 detectoare de poziie


2. Soluia de automatizare

Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-a
dezvoltat un proiect Isagraf ce cuprinde un program principal.

Dicionarul de variabile globale:

Variabile de intrare booleene:
Poz_A: detectorul de poziie A
Poz_B: detectorul de poziie B
Poz_C: detectorul de poziie C
Lim_4: limitatorul de avans al cilindrului E

Variabile de ieire booleene:
Banda_1 : activare / dezactivare banda 1
Banda_2 : activare / dezactivare banda 2
D_avans : avans cilindru D
D_retragere : retragere cilindru D
E_avans : avans cilindru E
E_retragere : retragere cilindru E
Valva_A : comanda de deschidere-nchidere valva A
Valva_B : comanda de deschidere-nchidere valva A
Valva_C : comanda de deschidere-nchidere valva A

Constante interne de tip INTEGER:

TA_container_1 : perioada de timp pentru umplerea containerului 1 cu lichid de tip A
TB_container_2 : perioada de timp pentru umplerea containerului 2 cu lichid de tip B
TC_container_3 : perioada de timp pentru umplerea containerului 3 cu lichid de tip C
TA_container_2 : perioada de timp pentru umplerea containerului 2 cu lichid de tip A
TB_container_3 : perioada de timp pentru umplerea containerului 3 cu lichid de tip B
TA_container_3 : perioada de timp pentru umplerea containerului 3 cu lichid de tip A
Problema 9
52
98
Programul principal este prezentat n figura

















































Problema 9
53
99
















































Problema 9
54
100




















































Problema 9
55
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 alt
variant era folosirea unor variabile de tip Timer.
Umplerea containerelor este facut n paralel cu ajutorul elementului de paralelism al diagramelor SFC

Problema 9
56

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 reglarea
debitului 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 posibilitatea
de a fi conectat n diferite scheme de reglare.

Temperatura este msurat cu un traductor de temperatur avnd semnal de ieire 4-20mA, msura se
filtreaz iar valoarea real se transmite regulatorului n procente. Referina se citete de la un panou
operator care comunic cu automatul prin interfaa serial 232.

Regulatorul face parte dintr-o schem n care se intenioneaz meninerea constant a temperaturii
unui agent termic (n cazul acesta abur de joas presiune 4-6 bar) prin comanda debitului de intrare al
gazului 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 n
curent unificat). Soluia cu automate programabile este destul de flexibil i din faptul ca ele au
module de intrare pentru toate tipurile de termocuple, eliminnd astfel din bucl convertorul
milivoli - 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) i
liniarizarea curbei valorilor)
automat programabil SmartPLC cu module de intrri analogice, respectiv n termocuple i modul
de ieiri analogice care la rndul lor sunt nite convertoare analog-numerice i invers (pentru
realizarea algoritmului de reglare)
Electroventil comandat n curent de 4-20mA, reprezentnd elementul de execuie (se mai poate
folosi 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 de
ardere
Reglare_temp
57

103

Regulatorul se acordeaz prin:
banda de proporionalitate [n procente]
timp de integrare [n secunde]
timp de derivare [n secunde]
Valorile de acordare se citesc i ele de la interfaa operator odat cu referina.

n regim manual regulatorul transmite valoarea absolut a poziiei elementului de execuie (comanda
direct), venit tot de la consola operator, de unde se citete i regimul de lucru.

Trecerea din regim manual n regim automat i invers trebuie s se fac fr variaii brute de
comand, pentru a se evita intrarea sistemului n regimuri de lucru improprii. La comutarea
regimurilor de lucru, pe ct posibil comanda va trebui s rmn aceeai.

Elementul de execuie primete la intrare valoarea absolut a poziiei. Meninerea acestei valori este o
problem a elementului de execuie. Dac e necesar se poate insera un regulator de poziie ntre
regulatorul de temperatur i elementul de execuie.


2. Soluia de automatizare

Pentru implementarea acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-
a dezvoltat un proiect Isagraf, a crui structur ierarhic poate fi vizualizat n figura 5.37 i ale crui
seciuni standard sunt descrise n continuare.



Fig. 5.37 Structura proiectului Isagraf pentru implementarea regulatorului

Iniializrile de constante, msurile, filtrrile, adaptrile, evaluarea existenei condiiilor de
funcionare, interfaa cu utilizatorul, sunt realizate n afara regulatorului de ctre alte taskuri care se
ocup doar de aceste lucruri. Comanda se adapteaz i se transmite n afara regulatorului.

Numele de variabile s-au ales pentru varianta cu identificatori proprii. Pentru o versiune generic,
impersonal, se lucreaz cu array-uri (vectori de variabile), iar accesul se face prin indexul la variabila
respectiv.

n cadrul seciunii BEGIN, care se execut la nceputul fiecrui ciclu de automat, au loc urmtoarele
aciuni:
Msuri, filtrri, testare de ncadrare n limite, evaluare alarme, avarii, contorizri
Adaptri, pregatire variabile de lucru
Citirea variabilelor de control de la interfaa operator

Reglare_temp
58

104

n cadrul seciunii SEQUENTIAL, adic acolo unde este implementat logica de funcionare a
programului, au loc, n principal, urmtoarele aciuni:
secvena de iniializare, n care sunt iniializate anumite constante i este pornit timer-ul pentru
perioada de eantionare.
algoritmul de reglare, a crui descriere detaliat este prezentat n subcapitolul urmtor

Nu ntmpltor seciunea secvenial are o singur stare pentru fiecare regim de lucru. Aceast
necesitate a aprut datorit faptului c automatul (care poate lucra multitasking) nu trece la o alt
activitate dect dup terminarea unui ciclu main. ntr-un ciclu main se execut seciunea de
BEGIN, cea de END i un anumit numr de stri din seciunea SEQUENTIAL, ct permite durata
unui ciclu main. Dac pentru execuia aciunilor asociate unei stri, procesorului i-ar lua un timp mai
ndelungat dect perioada unui ciclu predefinit, ciclul va fi prelungit pn cnd toate aciunile asociate
strii sunt executate.

Cu aceast metod ciclul de reglare devine constant i ct mai mic posibil. Durata ciclului poate fi
fixat i altfel (software), dar oricum, perioada va avea o valoare mai mare, pierzndu-se astfel din
timpul de rspuns al regulatorului. Mai mult, n cazul n care ar exista mai multe etape, apare
posibilitatea ca comanda ce se d elementului de execuie s nu fie consecina ultimei citiri, ceea ce
face 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 i
ca urmare a ultimei valori a intrrii.
Transmiterea ctre interfaa utilizator a valorilor calculate, pentru vizualizare

Diagrama logic de funcionare a regulatorului (Sequential Function Chart), n care pot fi identificate
etapele n care se poate gsi automatul i tranziiile pe care le poate efectua, sunt ilustrate n figura
5.38.



Fig. 5.38 Diagrama logic de funcionare a regulatorului


Reglare_temp
59

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 manual

Tranziii:
Tranziia 1- S1 -> S2: se execut dac sunt condiii de trecere n starea de calcul PID (regimul
automat)
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 iniial

Variabilele 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 n
exterior
1 OK, adica sunt msuri bune, elemente de executie funcioneaz, resurse
energetice ok, etc
0 not OK, nu se face reglare cu regulatorul PID
ModRT Logic Regimul de lucru al regulatorului, evaluat n exterior
1 regim AUTOMAT (PID)
0 regim MANUAL (comand direct)
timer_p1 Timer Timer de ciclu de eantionare
cycle1 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 acord
Tint1 Real Constant de timp pentru efectul de integrare, valoare de acord
kp1 Real Amplificarea, valoare calculat, dac banda este valoarea de acord
deriv1 Real Componenta derivativ, variabil de calcul
w real Calcul parial pentru incrementul de comand, variabil de lucru
T_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 anterior
Comanda
ventil
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 regulatorul
funcioneaz 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:






Reglare_temp
60

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, se
lucreaza 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 de
eantionare 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 de
eantionare 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 reglare
sa fie aceeai, ct mai scurt, adic doua cicluri IsaGRAF (init+automat sau init +manual), pentru ca
modul de funcionare a ISaGRAF-ului (la un ciclu main execut seciunea de BEGIN , din seciunea
SEQUENTIAL 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 un
ciclu 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 sau
egal 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 o
sincronizare .

Oricum, secvena n dou stri pe ramur este cea mai convenabil n cazul n care se adopt aceast
soluie. Soluia corect de realizare a unui regulator este aceea n care funcia de reglare este descris
ca o funcie C ce se va apela chiar n seciunea de BEGIN i va fi executat cu siguran cte un pas
incremental la fiecare ciclu main.

Diagrama SFC a programului principal de reglare este prezentat n figura 5.39.


Reglare_temp
61

107




Fig. 5.39 Diagrama SFC a programului Reg_temp
Reglare_temp
62

S-ar putea să vă placă și