Documente Academic
Documente Profesional
Documente Cultură
REPREZENTAREA CU RELEE
A VARIABILELOR LOGICE
2.1. Relee
Fig. 2.1.
41
Butoanele sunt acţionate manual (spre deosebire de relee),
starea complementară celei normale menţinându-se cât timp butonul
este apăsat.
Starea contactului unui releu se menţine cât timp este alimentată
cu tensiune bobina releului.
Contactele releului se pot afla în circuite de tensiune mare şi pot
comuta curenţi de valori mai mari sau mai mici în funcţie de
construcţia acestora. Spre exemplu contactele unui releu suportă
curenţi de ordinul a 20 mA, iar contactele altui releu pot comuta
curenţi de până la 5 A. Există relele care au contacte pentru curenţi
mici şi contacte („de forţă”) pentru curenţi de valori mari.
De fapt, aparatul care are rolul de a comuta, prin închiderea şi
deschiderea circuitului pe baza unei comenzi (de natură electrică),
curenţi de valori mari se numeşte contactor (care poate fi
electromagnetic sau static).
În aceeaşi ordine de idei aparatul care închide şi deschide
circuite electrice care nu sunt parcurse de curent se numeşte
separator. El are rolul de a specifica faptul că circuitul este sub
tensiune sau nu.
De regulă, un circuit electric care suferă dese intervenţii (spre
exemplu pentru a fi recondiţionat) se cuplează la sursa de energie prin
intermediul unui separator urmat de un contactor. Pornirea – oprirea
maşinii (circuitului) se face cu contactorul. În caz de intervenţii la
instalaţia electrică se opreşte maşina cu contactorul şi apoi se deschide
circuitul prin acţionarea separatorului.
D.p.d.v. constructiv diferenţa esenţială dintre contactor şi
separator este prezenţa camerei de stingere a arcului electric la
contactor. La deconectarea curenţilor mari între ploturi (elementele
contactorului prin care circulă curentul) apare un arc electric, care nu
trebuie să se extindă în afară - se întrerupe în interiorul camerei.
Fig. 2.2.
42
În figura 2.2 sunt prezentate simbolurile folosite pentru
contactele releului, ND – normal deschise şi NI – normal închise.
Comanda unui releu constă, în cazul releelor electromagnetice
în conectarea bobinei acestuia la sursa de alimentare sau în conectarea
tensiunii de comandă în cazul releelor electronice.
În cazul releului electromagnetic (din figura 2.1) comanda se
face prin închiderea comutatorului din circuitul bobinei releului, iar în
cazul releului electronic (cu optotriac din figura 2.3) comanda se face
prin acţionarea întrerupătorului din circuitul de alimentare al LED-
ului.
Fig. 2.3.
43
Fig. 2.4.
Fig. 2.5.
44
Fig. 2.6.
a) b)
Fig. 2.7.
Fig. 2.8.
46
Circuitul "watchdog" semnalează oprirea programului rulat pe
calculatorul de proces prin închiderea unui contact, vezi figura 2.8.
Instrucţiunile programului se execută sincronizat cu o frecvenţă
de tact. Dacă programul s-a oprit, frecvenţa de sincronizare a
instrucţiunilor nu va mai fi prezentă (lipseşte tensiunea cu frecvenţa de
sincronizare).
Bobina releului este alimentată din tensiunea de sincronizare
(impulsurile din figura 2.8) după redresare şi filtrare. Dacă programul
s-a oprit lipseşte tensiunea de alimentare a releului şi contactul releului
se închide semnalizând starea sistemului sau alimentând circuitele de
protecţie.
Fig. 2.9.
Fig. 2.10.
Pentru a inversa sensul de rotaţie al unui motor se impune
schimbarea sensului de rotaţie al câmpului magnetic învârtitor produs
de înfăşurările statorice ale maşinii. După cum se ştie rotaţia câmpului
magnetic se produce în sensul succesiunii fazelor tensiunii de
alimentare a circuitului statoric ( R – S – T) . Pentru a schimba sensul
de rotaţie al rotorului (antrenat în mişcare de rotaţie de câmpul
magnetic învârtitor) este suficient să se schimbe ordinea alimentării cu
tensiune a două din înfăşurările statorice.
Pentru sensul direct ( în sensul de rotaţie al acelor ceasornicului)
fazele R, S, T sunt conectate la înfăşurările statorice notate cu 1, 2, 3
48
( 1-R, 2-S, 3-T) de către contactele releului M1 , iar pentru rotirea în
sens invers releul M2 conectează înfăşurările motorului 1-R, 3-S, 2-T
(faza 2 a fost inversată cu faza 3).
Fig. 2.11.
52
ale unor producători diferiţi pot comunica între ele, datorită faptului că
au protocoale de comunicaţie diferite.
Notă: Prin termenul de protocol de comunicaţie se înţelege o
specificaţie a modului de codate a mesajelor schimbate între două
entităţi. De fapt nu se referă numai la codarea datelor ci şi la modul în
care decurge dialogul. Spre exemplu:
- E1 trimite către E2 o cerere de conectare (connect request),
- E2 către E1 un răspuns la cerere prin care acceptă conectarea,
- în continuare se transferă date de la E1 la E2 şi invers,
- după ce E1 a terminat de transferat datele trimite către E2 o
cerere pentru eliberarea conexiunii (disconnect request),
- E2 trimite o confirmare (disconnect confirmation) şi legătura
este eliberată, canalul de comunicaţie putând fi utilizat de alte
echipamente.
53
Funcţia de diagnoză a controlerului se referă la capacitatea
acestuia de a-şi testa corecta funcţionalitate, de a elabora rapoarte la
intervale de timp impuse, de a genera semnale de alarmare sau
atenţionare la sesizarea unei anomalii.
Funcţia de diagnoză poate fi implementată prin program şi
extinsă pentru testarea funcţionării corecte a echipamentelor conectate
la intrările şi la ieşirile sistemului. Pe lângă testarea hrdware-ului
sistemului, sistemele evoluate au posibilitatea de a verifica
funcţionarea corectă a ansamblului de programe (soft-ul sistemului)
prin rularea controlată a unor programe de autotestare, în sensul că se
generează intrări impuse şi se verifică corectitudinea comenzilor.
O altă clasă de programe de diagnoză au drept scop ajustarea
parametrilor fizici ai sistemelor de măsură în scopul compensării
erorilor.
Spre exemplu, datorită temperaturii mediului ambiant, parametrii
adaptorului se modifică (fără voia noastră). În aceste condiţii semnalul
numeric, corespunzător mărimii măsurate va fi mai mic sau mai mare
decât cel real. Controlerul generează la intrare un semnal care conduce
la o valoare numerică cunoscută. Dacă se obţine altă valoare
controlerul modifică factorul de amplificare al adaptorului pentru a
obţine valoarea numerică corectă. Această caracteristică a sistemului
de a-şi modifica parametrii de funcţionare sau structura internă în
scopul micşorării efectului perturbaţiilor se numeşte adaptabilitate.
Tabelul 1.
55
În tabelul 1 sunt prezentate caracteristicile unităţilor centrale de
prelucrare numerică din componenţa unor PLC iar în tabelul 2 sunt
prezentate comparativ performanţele PLC produse de patru firme
reprezentative. S-au marcat cu steluţe facilităţile oferite de producător
privind caracteristicile ( scăzută *, medie **, ridicată ***).[4]
Tabelul 2.
Fig. 2.12.
56
Exemplul 1. Semnalizarea stării unui circuit electric
Fig. 2.13.
57
Dacă O este apăsat sa alimentează bobina releului A, contactul
acestuia se închide şi bobina releului C va fi deconectată la sursa de
c.c. Contactul releului C se deschide şi sarcina este scoasă de sub
tensiune iar LED-ul se stinge indicând faptul că sarcina nu este
alimentată.
Pentru a aduce circuitul în starea iniţială se impune a debloca cele
două butoane.
Constatăm că toată logica de comandă, inclusiv releele sunt
implementate de către PLC. În exteriorul acestuia se află numai
butoanele care constituie intrări ale PLC şi sarcina, conectată la una
din ieşirile controlerului.
Fig. 2.14.
59
Trece la analiza următoarei ramuri de circuit ş.a.m.d. până la sfârşitul
schemei. Acesta este ordinea impusă în care se testează şi se
calculează rezultatele acţiunii contactelor.
Ordinea impusă este:
- se începe din colţul stânga sus al diagramei,
- se parcurge prima ramură de la stânga la dreapta şi se memorează
rezultatul (adică starea ieşirilor din ramura respectivă),
- se trece la următoarea ramură în josul schemei, până la sfârşit.
De reţinut faptul că se memorează, imediat ce se face calculul, starea
ieşirilor circuitului (din simplul motiv că starea memorată va fi
utilizată în restul calculelor, pe ramurile care urmează).
Notă: Există posibilitatea, ca în calculele care se execută, să se
folosească date ale intrărilor neactualizate, prin specificarea explicită a
acestei obţiuni. S-a prevăzut această posibilitate pentru a folosi în
calcule date considerate sigure sau date care se eşantionează la
intervale mai mari de timp.
C. Actualizarea stării ieşirilor PLC
În această ultimă etapă se face actualizarea ieşirilor propriu-zise
de la bornele controlerului PLC, după care se reia programul de la
punctul A.
C1 C1
L1 L2
Fig. 2.15.
Fig. 2.15
Fig. 2.16.
62
- memorii de tipul RAM şi memorii de tipul ROM (de obicei sunt
reinscriptibile electric, adică sunt EEPROM), blocul MEMORY
din figură;
- sistemul de preluare a semnalelor din proces IMPUT;
- sistemul comenzilor către proces OUTPUT;
- o interfaţă pentru programarea PLC, care poate fi integrată în
sistemul intrărilor;
- una sau mai multe interfeţe pentru comunicarea cu alte
echipamente (o magistrală de comunicaţie cu exteriorul), care
poate fi integrată de blocurile I/O.
- un sistem de afişare (display şi LED - uri) a stărilor
controlerului .
Fig. 2.17.
Intrările şi ieşirile sistemului sunt o parte digitale (DISCRETE şi
REGISTER) şi altele (mai puţine) analogice (ANALOG).
Semnalul analogic de la intrare este convertit în semnal numeric prin
intermediul unui CAN convertor analog – numeric la ieşirea căruia se
obţine o valoare pe 8, 10 sau 12 biţi în funcţie de rezoluţia
convertorului.
O caracteristică importantă a sistemului intrărilor analogice
( condiţionată de CAN) este viteza de conversie, exprimată prin timpul
dintre momentul aplicării semnalului analogic şi momentul de timp la
care este disponibil semnalul digital corespunzător valorii analogice de
la intrare. Daca semnalele analogice din proces sunt rapid variabile în
timp se impune ca PLC să dispună de un CAN performant, cu timp de
conversie mic (spre exemplu de ordinul s ).
Pentru că traductoarele conectate la intrările analogice au diferite
domenii de variaţie a semnalului se impune prezenţa unui adaptor
63
(înainte de CAN) care să modifice domeniul semnalului pentru a fi
compatibil cu domeniul acceptat de CAN. Spre exemplu domeniile
-10V,...,+10V; 0,...,10V; 0,..., 100mV; 2,...,10mA; 4,...,20mA trebuie
convertite la domeniul acceptat de CAN, adică la domeniul 0,...,5V.
Fig. 2.18.
Fig. 2.19.
64
Constatăm că în ambele scheme se foloseşte optocuplarea în scopul
separării semnalelor din proces de controlerul sistemului, pentru
protecţia acestuia.
În cadrul schemei din figura 2.18 diodele D1 şi D2 au rolul de limitare a
semnalului de la intrare.
Scheme din figura 2.19 primeşte la intrare semnal de c.a. care este
redresat de puntea de diode PD, filtrat de grupul R1,R,C şi limitat ca
valoare de dioda Zener Dz.
Fig. 2.20.
65
Fig. 2.21.
66
În cadrul celei de a treia secţiuni sunt definite diferite modele (limbaje)
de programare, şi anume:
LD (Ladder Diagram) – limbaj grafic, pe baza schemelor
(diagramelor) cu contacte;
FBD (Function Block Diagram) – limbaj grafic, pe baza
schemelor bloc (scheme logice);
IL (Instruction List) – limbaj text, pe baza listelor de
mnemonici;
ST (Structured Text) – limbaj text pe baza unui set de
instrucţiuni, similare celor din limbajul BASIC
clasic de programare;
SFC (Sequential Function Charts) – este o metodă grafică,
specificând fluxul de date prin blocuri funcţionale, in care se înscriu
instrucţiuni ale unui alt limbaj de programare.
Tabelul 3.
67
În cadrul tabelului 3 sunt prezentate tipurile de date acceptate de PLC
care pot fi folosite în cadrul programelor.
Înainte de a prezenta elementele principale ale celor cinci
limbaje de programare se impun câteva consideraţii privind abordarea
programării controlerelor.
Secvenţialitatea execuţiei instrucţiunilor conduce la foarte multe
stări succesive ale automatului şi o proiectare necorespunzătoare
determină stări nedorite ale sistemului, ceea ce conduce la un efort
considerabil pentru depanarea programelor. O proiectare
necorespunzătoare împarte bugetul de timp necesar implementării
astfel : 10% stabilirea temei, 10% concepţie, 30% scrierea programului
(softul), 40% testare şi depanare, 10% elaborarea documentaţiei.
O programare structurată determină un sistem fiabil, care poate
fi cu uşurinţă completat (upgrade) şi care, de altfel, scurtează şi timpul
necesar implementării. Se afirmă [10]că o creştere la 30% a timpului
alocat concepţiei (structurării) va micşora timpul alocat scrierii
programului la 10% şi va scădea timpul necesar depanării la 10% (iată
o economie de 30%, adică o scădere a timpului necesar implementării
automatului).
În figura 2.22 este prezentat modul orientativ de structurare şi
indicaţii privind limbajul care ar trebui adoptat pentru sistemele
secvenţiale.
Fig. 2.21.
Tabelul 4.
Declaratia Descriere
VAR Începutul blocului de declarare a
variabilelor (în general)
END_VAR Sfârşitul blocului de declarare a
variabilelor
VAR_INPUT Declararea variabilelor ce se vor
transfera unei funcţii
VAR_OUTPUT Declararea variabilelor ce se vor
transfera dintr-o funcţie
VAR_IN_OUT Declararea variabilelor ce se vor
transfera între funcţie şi pp atât ca
intrare cât şi ca ieşire
VAR_EXTERNAL Variabile externe
VAR_GLOBAL Variabile globale
VAR_ACCESS
69
VAR CONSTANT A : REAL := 6.12345 ; END_VAR
VAR RETAIN A : ARRAY[1..5,1..6] OF INT; END_VAR
Tabelul 5.
Declaratia Descriere
RETAIN Variabila îşi menţine valoarea şi după
întreruperea alimentării PLC
CONSTANT Valoare constantă ce nu poate fi modificată
AT Specifică locaţia de memorie ce se alocă
vatiabilei
OF Pecizează tipul variabilei (INT, BOOL,...)
Tabelul 6.
Operatori Descriere
aritmetici şi logici
> Mai mare
>= Mai mare şi egal
= Egal
<= Mai mic şi egal
< Mai mic
<> Diferit
AND(A,B) ŞI
OR(A,B) SAU
XOR(A,B) SAU EXCLUSIV
NOT(A) NU
! NU
70
În cadrul tabelului 7 sunt prezentate structurile de control a
secvenţialităţii programului (de fapt cele care modifică execuţia
secvenţială a programului).
Tabelul 7.
Instrucţiunile Descriere
IF-THEN-ELSIF-ELSE- IF
END_IF;
CASE-valoare:-ELSE- CASE
END_CASE;
FOR-TO-BY-DO- FOR
END_FOR;
WHILE-DO- WHILE
END_WHILE;
IF (I:000/02 = 0) THEN
O:001/01 := 1;
END_IF;
71
CASE N7:0 OF
0:
O:000/00 := 1;
1:
O:000/01 := 1;
2:
O:000/02 := 1;
3:
O:000/03 := 1;
ELSE
O:000 := 0;
END_CASE;
F8:10 := 0;
FOR (N7:0 := 0 TO 4) DO
F8:10 := F8:10 + F8:[N7:0];
END_FOR;
F8:10 := 0;
N7:0 := 1;
WHILE (N7:0 < 5) DO
F8:10 := F8:10 + F8:[N7:0];
N7:0 := N7:0 + 1;
END_WHILE;
72
Exemplu de program principal:
PROGRAM MAIN
VAR
I: INT;
END_VAR
I:= 0;
REPEAT
I:=I+1;
UNTIL I>= 10;
END_REPEAT
END_PROGRAM
FUNCTION_BLOCK SR
(*Bistabilul RS*)
VAR_INPUT
S: BOOL;
R: BOOL;
END_VAR
VAR_OUTPUT
Q: BOOL;
END_VAR
IF S OR R THEN
Q: = S;
ELSE
(*nu se modifica starea ieşirii*)
END_IF
END_FUNCTION_BLOCK
Instrucţiuni speciale:
73
LN(A) – logaritmul natural;
LOG(A) – logaritmul în baza zece;
EXP(A) – exponenţiala;
SIN(A), COS(A), TAN(A) – funcţii trigonometrice directe;
ASN(A), ACS(A), ATN(A) – funcţii trigonometrice inverse;
XPY(A,B) sau A**B – ridicarea la putere;
MAX(A,B) – furnizează valoarea maximă a celor două;
74
SHL(IN:=A, N:=m) - deplasează către stânga m biţi din A;
SHR(IN:=A, N:=m) - deplasează către dreapta m biţi din A;
ROR(IN:=A, N:=m) - roteşte către dreapta m biţi din A ;
ROL(IN:=A, N:=m) - roteşte către stânga m biţi din A ;
75
Stare (pas) Acţiune
Fig. 2.24.
Fig. 2.25.
În figura 2.26 este prezentat simbolul pentru selecţia unei căi.
Programul va urma numai una din cele două căi.
Fig. 2.26.
76
Fig. 2.27.
În figura 2.27 este prezentat blocul care semnifică două ramuri
simultane ( este vorba de un circuit ŞI).
Fig. 2.27.
77
În figura 2.28 este prezentat un exemplu de aplicare a metodei SFC
pentru un sistem care are drept scop deblocarea (descuierea) a două
uşi. Prima uşă se deschide dacă sunt introduşi corect 3 digiţi, iar a doua
se deschide dacă sunt introduşi corect 2 digiţi. Daca unul din digiţi este
incorect uşa rămâne blocată (se dă o nouă comandă de închidere, cu
toate că uşa este deja blocată).
78
Vers. 4.9, Grand Valley State University, Michigan, USA, 2007;
79