Sunteți pe pagina 1din 44

2

REPREZENTAREA CU RELEE
A VARIABILELOR LOGICE
2.1. Relee
Releul electromagnetic este format dintr-un solenoid (vezi
figura 2.1) care, atunci cnd este alimentat cu tensiune, acioneaz cu o
for asupra unei armturi mobile schimbnd starea contactelor
(contactele normal nchise se deschid iar cele normal deschise se
nchid).[22,1,18]

Fig. 2.1.
Contactele se afl n starea normal atunci cnd bobina
releului nu este alimentat cu tensiune.
Un releu are o parte din contacte normal nchise (las curentul
s treac) i altele normal deschise, fr legtur galvanic unul cu
altul.
Tensiunea de alimentare a bobinei releului este de valoare mic
(nepericuloas pentru om) 5 V, 12 V sau 24 V.

45

Butoanele sunt acionate manual (spre deosebire de relee),


starea complementar celei normale meninndu-se ct timp butonul
este apsat.
Starea contactului unui releu se menine ct timp este alimentat
cu tensiune bobina releului.
Contactele releului se pot afla n circuite de tensiune mare i pot
comuta cureni de valori mai mari sau mai mici n funcie de
construcia acestora. Spre exemplu contactele unui releu suport
cureni de ordinul a 20 mA, iar contactele altui releu pot comuta
cureni de pn la 5 A. Exist relele care au contacte pentru cureni
mici i contacte (de for) pentru cureni de valori mari.
De fapt, aparatul care are rolul de a comuta, prin nchiderea i
deschiderea circuitului pe baza unei comenzi (de natur electric),
cureni de valori mari se numete contactor (care poate fi
electromagnetic sau static).
n aceeai ordine de idei aparatul care nchide i deschide
circuite electrice care nu sunt parcurse de curent se numete
separator. El are rolul de a specifica faptul c circuitul este sub
tensiune sau nu.
De regul, un circuit electric care sufer dese intervenii (spre
exemplu pentru a fi recondiionat) se cupleaz la sursa de energie prin
intermediul unui separator urmat de un contactor. Pornirea oprirea
mainii (circuitului) se face cu contactorul. n caz de intervenii la
instalaia electric se oprete maina cu contactorul i apoi se deschide
circuitul prin acionarea separatorului.
D.p.d.v. constructiv diferena esenial dintre contactor i
separator este prezena camerei de stingere a arcului electric la
contactor. La deconectarea curenilor 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.
46

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 acionarea ntreruptorului din circuitul de alimentare al LEDului. [22]

Fig. 2.3.
Prin convenie un contact nchis reprezint starea 1 logic
(permite circulaia curentului) iar un contact deschis reprezint starea
0 logic (ntrerupe circulaia curentului).
innd seam de aceast convenie cu contacte ale releelor pot fi
realizate orice funcii logice, n figurile 2.4,...,2.6 fiind prezentate
cteva implementri.
n figura 2.4 avem un circuit SAU realizat cu releele CRA i
CRB, a cror contacte sunt notate respectiv A i B. Circuitul SAU are
rolul de a comuta n zero ieirea numai dac toate intrrile sunt n zero.
L1 i L2 sunt liniile de alimentare ale becului, L1 fiind faza iar L2
nulul reelei de alimentare cu energie electric.
Ieirea circuitului numit OUT este considerat n starea 1
logic dac becul se aprinde. Becul stins semnific 0 logic la ieirea
circuitului logic.
Se constat c becul lumineaz dac oricare din contacte este
nchis (sau amndou) fiind conectat la sursa de alimentare. Se stinge
dac ambele contacte sunt deschise, adic nici un releu nu este sub
tensiune (a se nelege bobin a releului).

47

Fig. 2.4.
n figura 2.5 este prezentat circuitul I cu dou intrri. Becul
lumineaz (este n starea 1 logic) dac ambele contacte A i B sunt
nchise, realiznd astfel conectarea becului la liniile de alimentare cu
energie electric. [23]

Fig. 2.5.

Pentru a realiza o negaie (un circuit NU ) se folosete un


contact normal nchis al releului, ca n figura 2.6.

48

Fig. 2.6.
Becul este aprins numai dac releul nu este alimentat cu
tensiune, contactul A rmnnd n starea normal (nchis).
Pe lng releele normale, prezentate mai sus, exist o clas de
relee care ndeplinesc funcii de protecie specifice i o alt clas care
acioneaz avnd drept variabil de intrare att comanda ct i timpul,
motiv pentru care se numesc relee de timp.
Releele de protecie au n componen un senzor (traductor) al unei
mrimi supravegheate, un detector de valoare impus (pentru mrimea
urmrit) i un releu normal.
n condiiile n care mrimea monitorizat iese din domeniul impus
bobina releului este alimentat i contactele releului iniiaz o aciune
specific (spre exemplu semnalizeaz depirea limitelor).
Principalele relee de protecie sunt:
- relee maximale de curent, declaneaz dac curentul ntr-un
circuit depete valoarea impus;
- relee minimale de tensiune, acioneaz dac tensiunea
monitorizat scade sub valoarea impus;
- relee maximale de tensiune, acioneaz dac tensiunea
monitorizat depete valoarea impus;
- relee de temperatur, acioneaz cnd temperatura incintei
monitorizate scade sub o valoare (n cazul cuptoarelor) sau
crete peste o valoare impus;
- relee de timp.
Releele de timp sunt de dou tipuri
- cu temporizare la conectare contactele releului i schimb
starea dup un timp prestabilit msurat din momentul cnd
bobina releului a fost alimentat cu energie;
49

- cu temporizare la deconectare - contactele releului rmn n


starea n care au fost un interval de timp prestabilit dup ce
bobina releului a fost deconectat de la sursa de energie.
n figura 2.7 sunt prezentate contactele a dou relee de timp
a) contactul normal deschis se nchide la 5 secunde dup alimentarea
bobinei,
b) contactul care este nchis pe durata alimentrii bobinei, se deschide
la 5 secunde dup ce bobina nu mai este alimentat cu energie.

a)

b)
Fig. 2.7.

Releele pot fi utilizate n diferite scopuri (semnalizare, protecie,


condiionare, reglare a mrimilor, .a.) n continuare fiind prezentate
cteva aplicaii.
Exemplul 1. Circuitul "watchdog"
n aplicaiile industriale sistemele de conducere trebuie s
funcioneze continuu, iar n caz de defect al sistemului s intre n
funciune sistemele de protecie.

Fig. 2.8.

50

Circuitul "watchdog" semnaleaz oprirea programului rulat, pe


calculatorul de proces prin nchiderea unui contact, vezi figura 2.8.
Instruciunile programului se execut sincronizat cu o frecven
de tact. Dac programul s-a oprit, frecvena de sincronizare a
instruciunilor nu va mai fi prezent (lipsete tensiunea cu frecvena de
sincronizare).
Bobina releului este alimentat din tensiunea de sincronizare
(impulsurile din figura 2.8) dup redresare i filtrare. Dac programul
s-a oprit lipsete tensiunea de alimentare a releului i contactul releului
se nchide semnaliznd starea sistemului sau alimentnd circuitele de
protecie.
Exemplul 2. Circuitul de control al funcionrii unui cuptor
Circuitele de autorizare sunt circuite care permit declanarea unui
proces, n situaia cnd sunt ndeplinite condiiile impuse de sigurana
procesului sau de modul de funcionare al acestuia.
n figura 2.9 este prezentat circuitul de control al pornirii unui
cuptor.

Fig. 2.9.
Cuptorul pornete dac sunt ndeplinite cele patru condiii i
anume:
- presiunea gazului de ardere este ntre limitele admise (contactele
relelor de presiune maxim i minim sunt nchise, respectiv LM
i Lm);
- ventilatorul care furnizeaz aerul de amestec este pornit (releul
de debit al aerului Lf este nchis);
51

- coul de evacuare a gazelor arse nu este obturat (releul de pe


coul de ardere Lc este nchis).
Releele fiind n serie, alimentarea bobinei releului CR1 se face
numai dac toate sunt nchise. Contactul normal deschis CR1 se
nchide i becul verde semnaleaz pornirea corect. Contactul
normal nchis se deschide i becul rou se stinge.
Exemplul 3. Circuitul de pornire al unui motor de c.a.
n figura 2.10 este prezentat schema de for pentru schimbarea
sensului de rotire al unui motor de curent alternativ trifazat.

Fig. 2.10.
Pentru a inversa sensul de rotaie al unui motor se impune
schimbarea sensului de rotaie al cmpului magnetic nvrtitor produs
de nfurrile statorice ale mainii. Dup cum se tie rotaia cmpului
magnetic se produce n sensul succesiunii fazelor tensiunii de
alimentare a circuitului statoric ( R S T) . Pentru a schimba sensul
de rotaie al rotorului (antrenat n micare de rotaie de cmpul
magnetic nvrtitor) este suficient s se schimbe ordinea alimentrii cu
tensiune a dou din nfurrile statorice.
Pentru sensul direct ( n sensul de rotaie al acelor ceasornicului)
fazele R, S, T sunt conectate la nfurrile statorice notate cu 1, 2, 3

52

( astfel 1-R, 2-S, 3-T) de ctre contactele releului M1 , iar pentru


rotirea n sens invers releul M2 conecteaz nfurrile motorului
astfel 1-R, 3-S, 2-T (faza 2 a fost inversat cu faza 3).
Schema de comand este prezentat n figura 2.11.

Fig. 2.11.
Constatm c fiecare bobin de releu are, n serie, un contact
normal nchis al celuilalt releu (M2a cu M1 i M1a cu M2 ). Contactul
serie se numete contact de interblocare i are rolul de a nu permite
alimentarea cu tensiune a celuilalt releu (cnd unul dintre ele este sub
tensiune). Previne astfel manevrele greite de conectare invers a
alimentrii motorului cnd acesta se afl n micare de rotaie
(operatorul apas greit butonul de inversare a sensului).
Conectarea releului de schimbare a sensului se impune s se
fac numai dup ce motorul s-a oprit.
Se impune aceast condiie, pentru a nu solicita nici sarcina mecanic,
dar nici nfurrile mainii dac rotorul mainii are un sens de
rotaie i cmpul magnetic nvrtitor alt sens, cresc solicitrile
mecanice, crete valoarea curentului prin nfurri i crete
temperatura nfurrii.
Contactele M1b, M2b, aflate, n paralel, cu butoanele de sens se
numesc contacte de automeninere.
Butoanele de sens conecteaz alimentarea pe bobina releului, ct timp
sunt apsate, dup care circuitul se deschide i bobina releului este
53

scoas de sub tensiune (iar acesta modific contactele la starea


normal i motorul, dac a pornit se oprete). n schimb, dac exist
contact de automeninere, la apsarea butonului se alimenteaz bobina
releului i aceasta nchide contactul de automeninere. Dup ce butonul
nu mai este apsat, curentul bobinei se nchide prin contactul de
automeninere (M1 se alimenteaz prin M1b, iar M2 se alimenteaz
prin M2b ).
Releul RT este un releu de temperatur care, dac temperatura
nfurrilor motorului a depit limita admis, se deschide i ntrerupe
alimentarea cu tensiune a releelor, ceea ce conduce la tierea
alimentrii motorului i la oprirea acestuia.
Pentru oprirea motorului se apas butonul stop care scoate de
sub tensiune ambele relee.

2.2. Despre PLC


Controlerul PLC (Programmable Logic Controller) este un
sistem, care a aprut iniial din necesitatea de a nlocui funcia logic
realizat cu releele electromagnetice cu un ansamblu de contactoare
statice comandate de un program memorat capabil s efectueze
conexiunile (care erau realizate de releele electromagnetice).
Necesitatea se refer la creterea fiabilitii, la centralizarea sistemului
de comand, la standardizarea i modularizarea echipamentelor pentru
nlturarea rapid a defectelor.
Primul PLC a aprut n 1968 (realizat de firma Bedford
Associates) i ndeplinea numai funcia de control, prin program, a
instalaiilor industriale. [24]
ntre timp controlerele PLC au fost dotate cu noi funcii, pe lng cele
destinate controlului funcionrii instalaiilor industriale, dintre care
cea mai important este funcia de reglare.
Reglarea se refer la posibilitatea sistemului de a elabora
comenzi prin intermediul crora un proces s i menin starea de
funcionare impus, indiferent de perturbaiile care acioneaz (pentru
a scoate sistemul din starea dat).
Majoritatea productorilor (ABB, Allen-Bradley, GE-Fanuc,
Hitachi, Honeywell, LG Industrial Systems, Mitsubishi, Motorola,
Omron, Rockwell Automation, Schneider Automation, Siemens,
Toshiba, Yokogawa) de echipamente PLC au implementat funcia de
reglare dup abatere prin algoritmi PID [25,18,19]. n literatura de
specialitate se afirm c numai 10% din buclele de reglare nu sunt
54

realizate cu regulatoare de tipul PID, ceea ce nseamn c sistemele


PLC dotate cu funcia de reglare PID acoper 90% din necesitile de
reglare ale industriei.
Comenzile sunt elaborate pe baza msurrii unor variabile ale
procesului, ceea ce nseamn c sistemul este prevzut cu intrri
analogice i cu intrri numerice (de la 4 la 40 intrri, n funcie de
pre).
n cele mai multe cazuri intrrile analogice accept semnal de
intrare standardizat (spre exemplu tensiuni din domeniul 0,.., 1 V , 0,..,
5 V, -10,.., +10 V sau cureni din domeniul 2,.., 10 mA, 4,.., 20 mA)
dar uneori intrrile sunt specializate pentru un anumit tip de traductor
(spre exemplu are intrri pentru msurarea temperaturii cu o
termorezisten sau pentru msurarea temperaturii cu un termocuplu).
Specializarea implic dotarea intrrii cu blocuri funcionale (spre
exemplu amplificatoare sau atenuatoare de semnal) care s adapteze
valorile semnalului furnizat de traductor la domeniile standardizate,
acceptate de controler.
Spre exemplu, un termocuplu furnizeaz tensiuni de ordinul mV care
vor fi amplificate de adaptor, pentru a se ncadra ntr-unul din
domeniile tensiunilor de intrare standardizate ( de regul n domeniul
0,.., 5 V)
Intrrile pot fi stri contact sau nivele de tensiune de diferite
valori cu variaie lent sau rapid n timp(spre exemplu exist domenii
de 12 Vcc , 24 Vcc, 5 Vcc, 100-120 Vac, 200-240 Vac, .a.).
Observm c, fa de controlerele de nceput, controlerele
actuale au pe lng intrri de tip contact (de releu) att intrri ct i
ieiri analogice. O parte din intrrile analogice sunt folosite pentru a
prelua semnale de la traductoare n scopul controlului i proteciei
instalaiei i o mic parte pentru a implementa funcia de reglare a unor
parametri (spre exemplu debit, temperatur, nivel .a.).
De remarcat faptul c tipul intrrii i domeniul valorilor
semnalului de intrare pot fi stabilite prin program, la iniializarea
controlerului.
Comenzile, care reprezint ieiri ale controlerului, pot fi
- numerice de tipul stri ale unui contact (de releu) ;
- analogice un semnal de tensiune sau curent, cu domeniul
precizat de necesitile procesului.
Domeniul ieirilor analogice se stabilete prin program, iar n cazul
sistemelor ieftine este fixat la un domeniu ( spre exemplu 0,.., 5 V), de
ctre productorul echipamentului.
55

Ieirile pot fi stri contact sau nivele de tensiune de diferite


valori (spre exemplu 24 Vcc, 5 Vcc, 100-120 Vac, 230 Vac, .a.),
adoptate n aa fel nct s aib suficient energie pentru acionarea
unui element de execuie.
Elementele de execuie sunt dispozitive care pot modifica
controlat, fluxul de materie sau fluxul de energie ntr-un proces.
Drept elemente de execuie uzuale sunt motoare electrice,
maini hidraulice, maini termice, contactoare statice, dispozitive
mecanice .a.
Pentru prelucrarea numeric (de ctre microprocesorul
controlerului) a mrimilor analogice, dup adaptarea domeniului
semnalul de intrare (n sensul c semnalul de la intrarea analogic este
convertit amplificat sau atenuat ntr-un semnal care s se ncadreze
n domeniul intrrii convertorului analog numeric CAN) acesta este
transformat ntr-un semnal numeric de ctre CAN.
Pe lng intrrile i ieirile accesibile din exterior (conectate la
procesul industrial) controlerul are implementate:
relee interne, care sunt folosite pentru efectuarea unor operaii
logice (releele interne se ntlnesc uneori sub numele de
markeri, flaguri);
relee de timp, care permit iniierea unor activiti la momente de
timp prestabilite;
numrtoare (care numr spre exemplu de cte ori s-a
modificat o intrare i genereaz un semnal cnd numrtorul a
ajuns la o valoare prestabilit), regitrii i memorii;
oscilatoare, care permit sincronizarea n timp a unor activiti;
comparatoare, care permit compararea a dou semnale i
evidenierea egalitii sau inegalitii acestora;
sisteme de ntrerupere a unui program i comutarea pe o alt
secven n cazul unor evenimente deosebite (spre exemplu n
caz de defect al sistemului, n caz de nefuncionare a unui
traductor .a.).
O alt funcie este funcia de comunicare a controlerului PLC
cu alte echipamente (spre exemplu cu un microprocesor, cu un
calculator, cu un sistem de conducere centralizat, .a.).
Fiecare productor de echipamente PLC ofer un protocol de
comunicare, prin intermediul cruia dou (sau mai multe) PLC se
neleg i pot schimba date ntre ele. Necazul este c rareori dou PLC

56

ale unor productori diferii pot comunica ntre ele, datorit faptului c
au protocoale de comunicaie diferite.
Not: Prin termenul de protocol de comunicaie se nelege o
specificaie a modului de codare a mesajelor schimbate ntre dou
entiti. De fapt nu se refer numai la codarea datelor, ci i la modul n
care decurge dialogul. Spre exemplu:
- E1 trimite ctre E2 o cerere de conectare (connect request),
- E2 ctre E1 un rspuns 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 ctre E2 o
cerere pentru eliberarea conexiunii (disconnect request),
- E2 trimite o confirmare (disconnect confirmation) i legtura
este eliberat, canalul de comunicaie putnd fi utilizat de alte
echipamente.
Comunicarea se poate face prin interfee standardizate (spre
exemplu Ethernet, RS232, RS485), care permit integrarea PLC ntr-o
reea industrial sau chiar poate fi conectat la reeaua Internet. Uneori
comunicarea poate fi wireless pe baza standardului IEEE 802.3.
Not: Termenul de interfa standardizat se refer la o specificaie
care precizeaz att la mediul fizic (modul de legare ntre ele a
echipamentelor, spre exemplu prin 3 fire, prin 8 conductori .a.),
nivelele semnalelor, viteza de transfer ct i protocolul de comunicaie
dintre echipamente (care transmite primul, cum rspunde cellalt i n
ce ordine se transmit datele, cte date, ce semnificaie au semnalele
vehiculate pe liniile de conectare, .a.).
Cea mai simpl interfa este RS232 care are avantajul c poate
fi conectat att la PLC ct i la orice calculator care dispune de un
port serial. Dezavantajele interfeei RS232 se refer la viteza de
transfer de maximum 19,2 kbps i la distana mic dintre echipamente
( de maximum 15 m).
Datorit faptului c echipamentele lucreaz n timp real,
comunicarea trebuie s decurg n deplin siguran, fr erori i cu
ntrzieri ct mai mici. Din acest motiv se adopt protocoale de
comunicaie elaborate de diferite firme.
Spre exemplu protocolul MAP al firmei General Motors este folosit n
U.S.A. iar n Europa sunt folosite Profibus (cu posibilitatea de
transmisie pn la 1,2 km, rat de transfer de 9,6,.., 500 kbps, pentru
maximum 32 staii) , Modbus Plus (cu posibilitatea de transmisie pn
la 450 m, rat de transfer de 1 Mbps la care se pot conecta maximum
32 staii) , FIP Bus, .a. [5]
57

Funcia de diagnoz a controler-ului se refer la capacitatea


acestuia de a-i testa corecta funcionalitate, de a elabora rapoarte la
intervale de timp impuse, de a genera semnale de alarmare sau
atenionare la sesizarea unei anomalii.
Funcia de diagnoz poate fi implementat prin program i
extins pentru testarea funcionrii corecte a echipamentelor conectate
la intrrile i la ieirile sistemului. Pe lng testarea hardware-ului
sistemului, sistemele evoluate au posibilitatea de a verifica
funcionarea corect a ansamblului de programe (soft-ul sistemului)
prin rularea controlat a unor programe de autotestare, n sensul c se
genereaz intrri impuse i se verific corectitudinea comenzilor.
O alt clas de programe de diagnoz au drept scop ajustarea
parametrilor fizici ai sistemelor de msur n scopul compensrii
erorilor.
Spre exemplu, datorit temperaturii mediului ambiant, parametrii
adaptorului se modific (fr voia noastr). n aceste condiii semnalul
numeric, corespunztor mrimii msurate va fi mai mic sau mai mare
dect cel real. Controlerul genereaz la intrare un semnal care conduce
la o valoare numeric cunoscut. Dac se obine alt valoare,
controlerul modific factorul de amplificare al adaptorului pentru a
obine valoarea numeric corect. Aceast caracteristic a sistemului
de a-i modifica parametrii de funcionare sau structura intern n
scopul micorrii efectului perturbaiilor se numete adaptabilitate.
Elaborarea programului pentru controler se face pe un
calculator oarecare utiliznd:
- scheme de conexiuni (leadder logic diagram), similare celor din
figurile 2.9, 2.11;
- pe baza descrierii schemelor logice cu ajutorul unui program
specific controlerului, folosind instruciuni specifice;
- pe baza descrierii schemelor logice ntr-un limbaj de
programare (spre exemplu n C) acceptat de controler;
- pe baza unor limbaje standardizate pentru controlere, de cele
mai multe ori folosindu-se specificaiile IEC 1131.
Pentru programe simple sau pentru modificarea unui program existent
n memoria PLC se poate folosi interfaa local a controlerului.
Introducerea programului pentru controler, n memoria acestuia, se
face prin intermediul unui conector, cu care este prevzut sistemul
PLC ( de regul interfaa asigur un transfer serial al datelor, fiind de
tipul RS232 sau USB - Universal Serial Bus ). Prin intermediul
conectorului elementul de programare (un laptop, un calculator sau un
circuit specializat de programare) are acces la o magistral.
58

Limbajele folosite de controlere nu au fost nc standardizate,


fiecare productor folosind alte instruciuni, care de fapt au acelai
scop de implementare, prin intermediul controlerului, a unor funcii
logice.
Controlerele mai performante accept instruciuni n limbaje
evoluate, spre exemplu n limbajul C.
Sunt sperane de unificare a limbajelor de programare a PLC
prin intermediul standardului IEC 1131 elaborat de Comisia
Internaional de Electrotehnic IEC ( International Electrotechnical
Commision) vezi paragraful urmtor. De fapt productorii de
echipamente PLC nu au renunat n totalitate la sistemul propriu de
programare, ci au introdus suplimentar posibilitatea programrii pe
baza specificaiilor standardului menionat. Aceast facilitate este
indicat prin compatibilitatea echipamentului cu standardul (IEC 1131
compliant).
Nu trebuie confundat funcia de comunicare cu funcia de
programare a controlerului. Cele dou sunt separate att fizic (pentru
ca s se evite reprogramarea accidental a controlerului) ct i
funcional.
Pentru programarea PLC i testarea funcionalitii exist
soft-uri dedicate (CAD) puse la dispoziie de productorii de
echipamente. Spre exemplu PicoSoft cu ajutorul cruia se pot
desena schemele i se poate simula funcionarea este pus la dispoziie
gratuit (pentru platforme Windows) de firma Allen-Bradley. Poate fi
descrcat de la adresa [25].
Tabelul 1.
TABEL COMPARATIV AL CARACTERISTICILOR UNITATILOR CENTRALE PLC
COD
IC697CPX772
INTRARI/IESIRI NUMERICE 2k
INTRAR/IESIRI
8k
ANALOGICE
MEMORIA
DISPONIBILA
512k
APLICATIEI UTILIZATOR
TIMPUL DE EXECUTIE A
0.4ms/k
OPERATIILOR LOGICE
INDEX
AL
6.0
PERFORMANTEI
PROCESOR
486DX4
FRECVENTA
96MHz
PROCESORULUI
ARITMETICA IN VIRGULA
DA
MOBILA

59

IC697CPX782 IC697CPX928 IC697CPX935

12k

12k

12k

8k

8k

8k

1M

6M

1
M
memory)

0.4ms/k

0.4ms/k

0.4ms/k

8.0

8.0

10.0

486DX4

486DX4

486DX4

96MHz

96MHz

96MHz

DA

DA

DA

(Fast

n tabelul 1 sunt prezentate caracteristicile unitilor centrale de


prelucrare numeric din componena unor PLC iar n tabelul 2 sunt
prezentate comparativ performanele PLC produse de patru firme
reprezentative. S-au marcat cu stelue facilitile oferite de productor
privind caracteristicile ( sczut *, medie **, ridicat ***).[26]

Tabelul 2.
Firma
Includerea in setul de instruciuni a
funciilor trigonometrice
Includerea blocurilor PID
Posibilitatea includerii de subrutine
parametrizate
Structuri predefinite in C pentru
utilizatori
Software compatibil cu actualele
sisteme de operare
Comunicaii prin cablu
Furnizare piese de schimb (service)
Compatibilitate cu noile CPU
Extensibilitate
Programare cu laptop standard
Detectare si raportate defecte

ABB

Siemens

Allan Bradley

GE Fanuc

**

***

***

***

***

***

***

**

***

***

**

**

**

***

***

**
***
**
***
**
*

**
***
**
***
**
*

***
**
**
**
**
**

***
**
***
**
***
***

n figura 2.12 este prezentat aspectul exterior al unui PLC.

Fig. 2.12.
60

Exemplul 1. Semnalizarea strii unui circuit electric


Circuitul din figura 2.13 are rolul de a semnaliza luminos (cu un
LED) starea alimentrii sarcinii de curent alternativ, notat cu R.

Fig. 2.13.
Precizm, de la bun nceput, c situaia prezentat nu va fi niciodat
ntlnit n practic, datorit unor inconveniente printre care faptul c
nu revine n starea iniial fr o comand extern (vezi finalul logicii
de comand).
Rezistorul R este alimentat cu ~220 Vca de la sursa AC dac bobina
releului C este sub tensiune.
Circuitul de comand are dou butoane fr revenire (odat apsate
rmn aa) unul notat cu P pentru pornire i unul notat cu O pentru
oprire.
Dac P este apsat se alimenteaz bobina releului B, contactul
acestuia se nchide i bobina releului C va fi conectat la sursa de c.c.
notat VCC. Contactul releului C se nchide i sarcina este alimentat
iar LED - ul se aprinde indicnd prezena tensiunii n circuitul de for
(de c.a.).
61

Dac O este apsat se 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 indicnd faptul c sarcina nu este
alimentat.
Pentru a aduce circuitul n starea iniial se impune a debloca cele
dou butoane.
Constatm c toat logica de comand, inclusiv releele sunt
implementate de ctre PLC. n exteriorul acestuia se afl numai
butoanele care constituie intrri ale PLC i sarcina, conectat la una
din ieirile controlerului.
Exemplul 2. Transferul programului n memoria unui PLC
n figura 2.14 la PLC s-au conectat la intrri 3 contacte ale unor
mrimi din proces, iar la o ieire s-a conectat un bec.
PLC- ul prezentat are 6 intrri (notate cu X) , 6 ieiri (notate cu Y) ,
dou borne de alimentare L1 , L2 i un conector pentru programare
(Programming).

Fig. 2.14.
Contactele conectate la PLC pot avea orice nume, n schimb n
cadrul programului se vor folosi numai numele porilor (ale bornelor
PLC) la care este conectat contactul. Observm c n cadrul schemei
62

de programare (din partea de jos a figurii ) apar notaiile porilor


nscrise pe PLC (X1,X2, X3 pentru contactele de intrare i Y1 pentru
becul conectat la ieire).
Se impune a face o distincie clar ntre elementele fizice
conectate la PLC i elementele din programul controler-ului asociate
acestor elemente fizice, cu toate c pot avea aceeai denumire.
n cazul figurii 2.14 programul din memoria controlerului
(exprimat prin schema din partea de jos a figurii) conine contactul
notat X1(element de programare) care este asociat elementului fizic
conectat la prima born de intrare a PLC i care ca element fizic se
poate numi tot X1 sau altfel (spre exemplu START). De fapt,
elementul de programare X1 are alocat un registru (o zon de
memorie) n care se pstreaz valoarea ON sau OFF. Programul va
prelua starea contactului din registrul asociat (i tot acolo va face
actualizarea strii).
Execuia programului controlerului
Programul controlerului se execut secvenial spre deosebire
de circuitele cu relee unde aciunea contactelor este asincron (apare la
orice moment de timp i rezultatul se obine imediat ce s-a schimbat
starea unui contact).
Dup ncheierea programului acesta este reluat ciclic, de la
nceput. Durata unui ciclu poate fi n domeniul 1,..., 100 ms.
Etapele oricrui program sunt evideniate n continuare.
A. Selftest
Controlerul efectueaz o diagnosticare a strii sistemului i n cazul
funcionrii corespunztoare trece la etapa de preluare a mrimilor
conectate la intrrile PLC ului.
B. Actualizarea strii intrrilor
Secvenialitatea nseamn c la momente discrete de timp
controlerul execut o aciune de testare a unui contact sau intrare
analogic, apoi al altui contact .a.m.d., pn cnd efectueaz
actualizarea strii tuturor elementelor conectate la intrrile
controlerului . De fapt, actualizarea const n memorarea strii
intrrilor ntr-o memorie RAM.
B. Analiza circuitului i actualizarea n memorie a strii
ieirilor
n faza urmtoare analizeaz prima ramur a circuitului,
calculeaz rezultatele i modific n memorie starea ieirilor.
63

Trece la analiza urmtoarei ramuri de circuit .a.m.d. pn la sfritul


schemei. Acesta este ordinea impus n care se testeaz i se
calculeaz rezultatele aciunii contactelor.
Ordinea impus este:
- se ncepe din colul stnga sus al diagramei,
- se parcurge prima ramur de la stnga la dreapta i se memoreaz
rezultatul (adic starea ieirilor din ramura respectiv),
- se trece la urmtoarea ramur n josul schemei, pn la sfrit.
De reinut faptul c se memoreaz, imediat ce se face calculul, starea
ieirilor 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 intrrilor neactualizate, prin specificarea explicit a
acestei opiuni. S-a prevzut aceast posibilitate pentru a folosi n
calcule date considerate sigure sau date care se eantioneaz la
intervale mai mari de timp.
C. Actualizarea strii ieirilor PLC
n aceast ultim etap se face actualizarea ieirilor propriu-zise
de la bornele controlerului PLC, dup care se reia programul de la
punctul A.
Rezult c pe parcursul analizei schemei (a derulrii
programului ) starea unei ieiri se poate modifica de mai multe ori,
dac logica schemei o impune.
Aceast modalitate de parcurgere a schemei determin
necesitatea de a nu schimba ordinea n care sunt poziionate ramurile
circuitului, pentru c exist probabilitatea ca s se obin alte rezultate.
Dac un contact condiioneaz funcionarea altuia, prin schimbarea
poziiei se poate ca s fie testat mai nti contactul al doilea rezult
c primul contact nu va mai condiiona funcionarea celui de al doilea
(la testarea celui de al doilea contact se va lua n considerare starea
neactualizat , veche, din memorie a primului contact). Se impune
concluzia c o ramur de circuit nu poate condiiona funcionarea unei
ramuri din amonte (microprocesorul nu se ntoarce s reanalizeze
ramurile deja parcurse).
Exemplul 3. Realizarea
dreptunghiulare

unui

generator

de

oscilaii

Actualizarea strii intrrilor la momente discrete de timp, n ordinea


precizat, permite realizarea unui oscilator cu un singur releu i un
contact al acestuia, ca n figura 2.15.
64

La prima testare C1 este nchis i PLC alimenteaz bobina releului


C1care va fi n starea ON notat cu H. Bobina fiind alimentat
contactul C1 se deschide.
C1=H n intervalul de timp dintre testri, notat cu Ta.
A doua testare gsete C1 deschis i PLC taie alimentarea bobinei
releului C1 care va fi n starea OFF, altfel scris C1=L. Contactul C1 se
nchide.
C1=L n intervalul de timp dintre testri, Ta.
C1

C1

L1

L2

Fig. 2.15.
La a treia testare C1 este nchis i PLC alimenteaz bobina C1= H.
Bobina fiind alimentat contactul C1 se deschide.
C1=H n intervalul de timp dintre testri, Ta.
A patra testare gsete C1 deschis i PLC taie alimentarea i C1=L.
Contactul C1 se nchide.
C1=L n intervalul de timp dintre testri, Ta.
.a.m.d.
Constatm c starea bobinei BC1 se modific la fiecare testare,
obinnd astfel o form de und dreptunghiular de perioad 2Ta i
factor de umplere de 50%.
Din punctul de vedere al programrii, contactul C1 reprezint o
intrare pentru PLC iar bobina CR1 reprezint o ieire a controlerului.
Se justific aceast afirmaie prin faptul c intrarea C1 determin
starea bobinei CR1 (alimentat sau nealimentat).
Intrrile PLC sunt prezente n instruciunile condiionale ale
programului iar ieirile PLC sunt instruciunile care stabilesc starea
ieirilor.
Structurile PLC pot implementa funcii de memorare i
prelucrare matematic avansat a datelor (funcii statistice, funcii
trigonometrice, derivare, integrare, .a.).
65

Structura hadware a unui PLC


Din punct de vedere hardware, o instalaie complex poate
conine mai multe PLC de sine stttoare sau grupate ntr-un rack, cu o
singur surs de alimentare i cu un bus de comunicaie ntre ele i cu
exteriorul, vezi figura 2.16.

Fig. 2.15
Fig. 2.16.
Uneori exist mai multe rack-uri locale, n apropierea instalaiei,
care comunic cu un sistem centralizat de conducere i supraveghere.
Costul sistemelor PLC fiind n continu scdere, exist tendina de a
implementa cte un PLC sau un grup de PLC - uri pentru fiecare
element din sistem (main, instalaie, .a.) care s preia funciile
locale de supraveghere i conducere i s comunice cu sistemul
centralizat prin intermediul unei magistrale de comunicaie. Se poate
vorbi, n aceast situaie de sisteme de conducere distribuite pentru c
funcia de conducere nu mai este centralizat (o parte din decizii se iau
la nivel local).
Orice controler PLC, indiferent de productor, are urmtoarele
componente (vezi figura 2.17):
- surs de alimentare cu energie electric intern sau extern, care
poate fi de c.a. (120 V sau 220 V) sau de c.c. ( 24 V);
- unitate central de prelucrare CPU (Central Processing Unit);

66

- 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 INPUT;
- sistemul comenzilor ctre proces OUTPUT;
- o interfa pentru programarea PLC, care poate fi integrat n
sistemul intrrilor;
- una sau mai multe interfee pentru comunicarea cu alte
echipamente (o magistral de comunicaie cu exteriorul), care
poate fi integrat de blocurile I/O.
- un sistem de afiare (display i LED - uri) a strilor
controlerului .

Fig. 2.17.
Intrrile i ieirile sistemului sunt o parte digitale (DISCRETE i
REGISTER) i altele (mai puine) analogice (ANALOG).
Semnalul analogic de la intrare este convertit n semnal numeric prin
intermediul unui CAN convertor analog numeric la ieirea cruia se
obine o valoare pe 8, 10 sau 12 bii n funcie de rezoluia
convertorului.
O caracteristic important a sistemului intrrilor analogice (
condiionat de CAN) este viteza de conversie, exprimat prin timpul
dintre momentul aplicrii semnalului analogic i momentul de timp la
care este disponibil semnalul digital corespunztor valorii analogice de
la intrare. Dac 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 intrrile analogice au diferite
domenii de variaie a semnalului se impune prezena unui adaptor
67

(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.
Semnalele digitale de intrare, provenind de la traductoare, pot avea
diferite nivele de tensiune alocate cifrei zero logic i cifrei unu logic.
Controlerul lucreaz cu o singur reprezentare a semnalelor digitale,
motiv pentru care n structura PLC sunt prezente, la fiecare intrare
adaptoare de semnal digital. n figura 2.18 este prezentat o schem a
adaptorului pentru reprezentri n c.c. a semnalelor digitale din proces.

Fig. 2.18.
n figura 2.19 este prezentat o schem a adaptorului pentru
reprezentri n c.a. a semnalelor digitale din proces.

Fig. 2.19.
68

Constatm c n ambele scheme se folosete optocuplarea n scopul


separrii semnalelor din proces de controlerul sistemului, pentru
protecia 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 primete 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.
Semnalele digitale de ieire, sunt furnizate procesului prin
intermediul unui adaptor cu funcia de a converti semnalul digital
furnizat de CPU n semnal compatibil cu elementul de execuie care va
fi conectat la respectiva ieire.
Exist elemente de execuie la care PLC le furnizeaz un curent,
ceea ce nseamn c elementul de execuie se conecteaz ntre borna
de ieire a PLC i mas (sourcing output).
Exist elemente de execuie care dispun de o surs proprie de
alimentare i se vor conecta ntre borna de ieire a PLC i sursa proprie
(sinking output).
Elementele numerice de execuie lucreaz unele cu semnale de
intrare de c.c. iar altele cu semnale de intrare de c.a. [15]
Spre exemplu n figura 2.20 este prezentat o ieire a PLC care
furnizeaz semnale digitale de c.c. echipamentului conectat la
respectiva ieire.

Fig. 2.20.
n figura 2.21 este prezentat adaptorul pentru o ieire cu semnal
digital n curent alternativ.
69

Fig. 2.21.

Semnalele analogice de comand (de la ieirile PLC) se obin


prin convertirea semnalului digital ntr-un semnal analogic cu ajutorul
unui circuit electronic CNA numit convertor numeric analogic.

2.3. Elemente de programare a PLC


Elaborarea programului de funcionare al unui PLC se face prin
intermediul unor instruciuni de programare specifice fiecrui
productor de echipamente sau prin intermediul unor limbaje de
programare a PLC impuse de standardul IEC 1131 ( International
Electrotechnical Commision).
n continuare vor fi prezentate principalele elemente de
programare definite de IEC 1131, care standard datorit diferitelor
revizuiri este cunoscut i sub numele IEC 61131.
Standardul nu se refer numai la programarea PLC, fiind un manual de
definire a sistemelor cu logic programabil. Se compune din mai
multe seciuni, i anume:
- informaii generale (1);
- echipamente i testarea acestora (2);
- limbaje de programare, conine o descriere a instruciunilor i
informaii privind standardele de programare (3);
- indicaii pentru utilizarea sistemelor PLC (4);
- tehnici de comunicare (5);
- control prin logic fuzzy (6).

70

n cadrul celei de a treia seciuni 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
instruciuni, similare celor din limbajul BASIC clasic de programare;
SFC (Sequential Function Charts) este o metod grafic,
specificnd fluxul de date prin blocuri funcionale, in care se nscriu
instruciuni ale unui alt limbaj de programare. [17,27]
Tabelul 3.
Numele
BOOL
SINT
INT
DINT
LINT
USINT

Tipul
boolean
short integer
ntreg
double integer
long integer
unsigned
short
integer
UINT
unsigned integer
UDINT
unsigned double
integer
ULINT
unsigned
long
integer
REAL
nr. real
LREAL
long reals
TIME
durat
DATE
dat
TIME_OF_DAY, TOD
timp
DATE_AND_TIME, DT dat i timp
STRING
ir
BYTE
8 bits
WORD
16 bits
DWORD
32 bits
LWORD
64 bits

71

Numrul biilor
1
8
16
32
64
8

Domeniul
0 to 1
-128 la 127
-32768 la 32767
-2.1e-9 la 2.1e9
-9.2e19 la 9.2e19
0 la 255

16
32

0 la 65536
0 la 4.3e9

64

0 la 1.8e20

32
64
nespecificat
nespecificat
nespecificat
nespecificat
variabil
8
16
32
64

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 cteva consideraii privind abordarea
programrii controlerelor.
Secvenialitatea execuiei instruciunilor conduce la foarte multe
stri succesive ale automatului i o proiectare necorespunztoare
determin stri nedorite ale sistemului, ceea ce conduce la un efort
considerabil pentru depanarea programelor. O proiectare
necorespunztoare mparte bugetul de timp necesar implementrii
astfel : 10% stabilirea temei, 10% concepie, 30% scrierea programului
(softul), 40% testare i depanare, 10% elaborarea documentaiei.
O programare structurat determin un sistem fiabil, care poate
fi cu uurin completat (upgrade) i care, de altfel, scurteaz i timpul
necesar implementrii. Se afirm [10]c o cretere la 30% a timpului
alocat concepiei (structurrii) va micora timpul alocat scrierii
programului la 10% i va scdea timpul necesar depanrii la 10% (iat
o economie de 30%, adic o scdere a timpului necesar implementrii
automatului).
n figura 2.21 este prezentat modul orientativ de structurare i
indicaii privind limbajul care ar trebui adoptat pentru sistemele
secveniale.

Fig. 2.21.
Limbajul IL (Instruction List), poate fi considerat similar
limbajului de asamblare folosit de microprocesoare. Sunt puine tipuri
72

de controlere care mai pot fi programate prin intermediul listelor de


instruciuni (limbajul IL) i tendina este de a nu mai fi utilizat. Cauza
principal este faptul c celelalte limbaje sunt mai uor de
implementat.
Limbajul ST(Structured Text) de text structurat este similar
limbajelor de nivel nalt C i Visual Basic.
Exist un program principal (ntre PROGRAM i
END_PROGRAM) care apeleaz funcii sau subrutine.
n primele linii se declar tipul variabilelor ntr-un bloc (care se
ncheie la END_VAR). Blocul ncepe cu una din combinaiile
specificate n tabelul 4.
Tabelul 4.
Declaratia

Descriere

VAR

nceputul blocului de declarare a


variabilelor (n general)
Sfritul blocului de declarare a
variabilelor
Declararea variabilelor ce se vor transfera
unei funcii
Declararea variabilelor ce se vor transfera
dintr-o funcie
Declararea variabilelor ce se vor transfera
ntre funcie i program apelant, att ca
intrare ct i ca ieire
Variabile externe
Variabile globale
Variabile de acces

END_VAR
VAR_INPUT
VAR_OUTPUT
VAR_IN_OUT

VAR_EXTERNAL
VAR_GLOBAL
VAR_ACCESS

VAR_INPUT, VAR_OUTPUT i VAR_IN_OUT declar variabile care


vor fi argumente ale unor funcii prin intermediul respectivelor
variabile se transfer date ntre program i funciile pe care le apeleaz.
Exemple de declaraii pentru variabile:
VAR A, B, C : INT ;
END_VAR
VAR A : STRING[10] ;
END_VAR
VAR A : STRING[10] := mama; END_VAR
VAR A : BOOL;
END_VAR
VAR CONSTANT A : REAL := 6.12345 ;
END_VAR
VAR RETAIN A : ARRAY[1..5,1..6] OF INT; END_VAR
73

n tabelul 5 sunt precizate cuvintele cheie asociate variabilelor,


prin intermediul crora se fac precizri asupra proprietilor acestora.
Tabelul 5.
Declaratia

Descriere

RETAIN

Variabila i menine valoarea i dup ntreruperea


alimentrii PLC
Valoare constant ce nu poate fi modificat
Specific locaia de memorie ce se aloc vatiabilei
Pecizeaz tipul variabilei (INT, BOOL,...)

CONSTANT
AT
OF

Funciile sunt ncadrate de cuvintele cheie


FUNCTION nume_funcie i END_FUNCTION.
n tabelul 6 sunt prezentai operatorii aritmetici i operatorii logici,
ncepnd cu cel mai prioritar.
Tabelul 6.
Operatori
aritmetici i logici

Descriere

>
>=
=
<=
<
<>
AND(A,B)
OR(A,B)
XOR(A,B)
NOT(A)
!

Mai mare
Mai mare i egal
Egal
Mai mic i egal
Mai mic
Diferit
I
SAU
SAU EXCLUSIV
NU
NU

n cadrul tabelului 7 sunt prezentate structurile de control a


secvenialitii programului (de fapt cele care modific execuia
secvenial a programului).

74

Tabelul 7.
Instruciunile

Descriere

IF-THEN-ELSIF-ELSEEND_IF;
CASE-valoare:-ELSE-END_CASE;
FOR-TO-BY-DOEND_FOR;
WHILE-DOEND_WHILE;

IF
CASE
FOR
WHILE

Exemplu pentru IF:


Dac bitul 02 al intrrii I:000 (I:000/02) este OFF bitul 1 al
ieirii O:001 (O:001/01) se seteaz ON, iar dac 02 al intrrii I:000 ON
nu modific nimic.
IF (I:000/02 = 0) THEN
O:001/01 := 1;
END_IF;
Exemplu pentru IF complet:
IF (I:000/00 = 1) THEN
O:001/00 := 1;
ELSIF (I:000/01 = 1 AND T4:0/DN = 1) THEN
O:001/00 := 1;
ELSE
O:001/01 := 1;
END_IF;
Exemplu pentru CASE:
n funcie de valoarea variabilei N7:0 unul sau mai muli bii ai
portului de ieire O:000 se modific. Se seteaz ON unul din biii
00,...,03 iar dac N7:0 este mai mare ca 3 se seteaz toi biii 04,...,07
n OFF.
CASE N7:0 OF
0:
O:000/00 := 1;
1:
O:000/01 := 1;
2:
75

O:000/02 := 1;
3:
O:000/03 := 1;
ELSE
O:000 := 0;
END_CASE;

Exemplu de bucl FOR:


Pentru domeniul 0,...,4 al variabilei N7:0 se adun la variabila
F8:10 valorile F8:[ 0],..., F8:[4].
F8:10 := 0;
FOR (N7:0 := 0 TO 4) DO
F8:10 := F8:10 + F8:[N7:0];
END_FOR;
Alt mod de a realiza o bucl.
N7:0 := 0;
REPEAT
N7:0 := N7:0 + 1;
UNTIL N7:0 >= 10
END_REPEAT;
Exemplu de bucl WHILE:
Vezi exemplul pentru 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;
Exemplu de program principal:
PROGRAM MAIN
VAR
I: INT;
END_VAR
76

I:= 0;
REPEAT
I:=I+1;
UNTIL I>= 10;
END_REPEAT
END_PROGRAM
Exemplu de funcie pentru un bistabil RS:
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 ieirii*)
END_IF
END_FUNCTION_BLOCK
Instruciuni speciale:
Se face remprosptarea valorii de intrare imediat
(immediate input update);
EMPTY Variabil neiniializat.

IIN();

Limbajul ST are implementate principalele funcii matematice, spre


exemplu:
ABS(A) valoarea absolut;
SQR(A) radicalul de ordin doi;
LN(A) logaritmul natural;
LOG(A) logaritmul n baza zece;
EXP(A) exponeniala;
SIN(A), COS(A), TAN(A) funcii trigonometrice directe;
ASN(A), ACS(A), ATN(A) funcii trigonometrice inverse;
XPY(A,B) sau A**B ridicarea la putere;
77

MAX(A,B) furnizeaz valoarea maxim a celor dou;

Pe lng funciile matematice standardul IEC1131


implementeaz o serie de funcii pentru iruri de caractere:
CONCAT(A,B,...) concatenarea irurilor (de caractere);
DELETE(IN:=A, L:=n, P:=m) terge n caractere din irul A
ncepnd cu poziia m;
FIND( IN1:=A, IN2:=B) caut irul B n irul A i furnizeaz
poziia unde ncepe irul B n cadrul irului A;
INSERT( IN1:=A, IN2:=B, P:=C) nsereaz irul B n irul A
ncepnd cu poziia C;
LEN(A) furnizeaz lungimea irului A;
LEFT(IN:=A, L:=n) furnizeaz n caractere din cadrul irului
A, ncepnd din partea stng a irului;
O alt serie de funcii rezolv problema setrilor sistemelor din
cadrul PLC, spre exemplu setarea numrtoarelor se face cu funciile:
CTD, CTU, CTUD.
Astfel :
CTD(CD:=A, LD:=B, PV:=C) seteaz nu numrtor care i
scade valoarea registrului A (care iniial este setat la valoarea B prin
funcia LD - load preset) ct timp A<= C;
CTU(CU:=A, R:=B, PV:=C) seteaz nu numrtor care i
crete valoarea registrului A (care iniial este setat la valoarea B prin
funcia R - reset) ct timp A>= C;
TON (IN:=A, PT:=B) - seteaz n ON un circuit de
temporizare;
TOF (IN:=A, PT:=B) - seteaz n OFF un circuit de
temporizare;
RS(A,B) - stabilete intrrile A i B pentru un bistabil de tipul
RS;
Sistemul are funcii pentru manipularea biilor din cadrul unui
cuvnt, spre exemplu:
SHL(IN:=A, N:=m) - deplaseaz ctre stnga m bii din A;
SHR(IN:=A, N:=m) - deplaseaz ctre dreapta m bii din A;
ROR(IN:=A, N:=m) - rotete ctre dreapta m bii din A ;
ROL(IN:=A, N:=m) - rotete ctre stnga m bii din A ;

78

De remarcat faptul c limbajul ST permite apelarea de subprograme


scrise n alte limbaje.
Limbajul SFC (Sequential Function Charts) , spre deosebire
de celelalte limbaje, permite ca mai multe procese s fie active n
acelai moment de timp. De fapt programele se activeaz concurenial
n sensul c se strduie s acapareze resursele sistemului, mai exact s
preia din timpul de lucru al controlerului.
Limbajul mai este cunoscut sub numele Grafcet sau IEC 848.
Principalele elemente ale grafurilor SFC sunt prezentate n figurile
2.22,...,2.27.
Prin intermediul liniilor se indic trecerea de la un pas la altul,
adic tranziia automatului dintr-o stare n alta.

Fig. 2.22.

Fig. 2.23.

Simbolul din figura 2.22 specific o instruciune condiional


(de tipul IF sau WAIT) indicnd faptul c se va trece la pasul urmtor
cnd condiia este ndeplinit.
Prin intermediul blocurilor (a dreptunghiurilor) se indic starea
circuitului. Spre exemplu simbolul din figura 2.23 indic prima stare a
circuitului.
De regul o stare ( un pas al circuitului) are asociat o aciune,
vezi figura 2.24.

Stare (pas)

Aciune

Fig. 2.24.
79

Un macropas conine un numr de instruciuni, cu simbolul n figura


2.25. De regul blocul este asociat subrutinelor i funciilor.

Fig. 2.25.
n figura 2.26 este prezentat simbolul pentru selecia unei ci.
Programul va urma numai una din cele dou ci.

Fig. 2.26.

Fig. 2.27.
80

n figura 2.27 este prezentat blocul care semnific dou ramuri


simultane ( este vorba de un circuit I).

Fig. 2.28.
n figura 2.28 este prezentat un exemplu de aplicare a metodei SFC
pentru un sistem care are drept scop deblocarea (descuierea) a dou
ui. Prima u se deschide dac sunt introdui corect 3 digii, iar a doua
se deschide dac sunt introdui corect 2 digii. Daca unul din digii este
incorect ua rmne blocat (se d o nou comand de nchidere, cu
toate c ua este deja blocat).

Limbajul FBD (Function Block Diagram)


Principiul pe baza cruia a fost implementat limbajul FBD
const n transferul datelor de la intrri ctre ieiri prin intermediul
81

blocurilor funcionale. De fapt limbajul foreaz programatorul s


evidenieze transferul datelor prin sistem.
Spre exemplu n figura 2.29 ieirea O:000/01 este activ dac la
intrarea A avem o valoare mai mic dect la intrarea B (B=N7:2), unde
intrarea A este determinat de variabilele N7:0 i N7:1prin relaia
A = sin( N 7 : 0) * la ( N 7 : 1) .

Fig. 2.29.
Blocurile funcionale ale limbajului FBD au un corespondent n
instruciuni scrise n limbajul ST(Structured Text). Spre exemplu
blocul din figura 2.30 este implementat n ST cu instruciunea
O := LIM ( MN := A, IN := B, MX := C ) .

Fig. 2.30.
Exist blocuri funcionale definite (bistabili, timere, .a.), n cadrul
unor biblioteci, dar pot fi definite noi blocuri funcionale. Dup
definirea blocului funcional acesta poate cpta oricte instanieri n
cadrul sistemului (folosind numele asociat blocului).
Blocul divide din figura 2.31 permite implementarea funciei de
mprire a dou valori c = a / b .
n prealabil se face o verificare pentru eliminarea erorii de mprire la
o valoare nul, caz n care ieirea se aduce la zero.

82

Fig. 2.31.
Blocul funcional este de fapt o unitate care conine un set de
instruciuni care efectueaz diferite prelucrri ale variabilelor de
intrare pentru a genera valori ale variabilei de ieire. De notat c se pot
folosi, n cadrul prelucrrii li variabile interne.
Instruciunile (programul) cu care se implementeaz blocul funcional
divide sunt:
FUNCTION_BLOCK divide
VAR_INPUT
a: INT;
b: INT;
END_VAR
VAR_OUTPUT
c: INT;
END_VAR
IF b <> 0 THEN
c := a / b;
ELSE
c := 0;
END_IF;
END_FUNCTION_BLOCK

Implementarea blocurilor funcionale se poate face n oricare din


limbajele definite de standardul IEC 1131.
Blocurile pot fi prevzute cu intrri de autorizare EN care dac
sunt inactive blocheaz funcionarea circuitului.
Conectarea ieirii unui bloc la intrarea altuia se face prin unirea,
cu o linie, a celor dou elemente.
Salturile condiionate sau necondiionate se fac spre punctele
etichetate (LABEL a, etc.).
Dac exist mai multe reele de blocuri fiecrei reele i este
asociat un numr i ordinea execuiei se face n ordinea cresctoare a
numerelor asociate.
83

Sistemul permite implementarea subrutinelor din care revenirea poare


fi condiionat sau necondiionat, vezi figura 2.32 [11].

Fig. 2.32.
n figura 2.33 [11] sunt prezentate modalitile de ciclare.

Fig. 2.33.
Exist blocuri pentru conversia valorilor din BCD n numere ntregi i
invers, pentru conversia valorilor din numere ntregi n numere reale,
pentru rotunjire sau pentru trunchere.

84

Limbajul LD (Ladder Diagram)


ntr-o traducere aproximativ LD reprezint diagrame n scar.
Explicaia const n faptul c diagrama are pe laterale alimentarea cu
energie L1 i L2 (n care L1 este faza firul cald, iar L2 este masa) ntre
care se gsesc reele electrice (rnduri , linii) conectate n paralel.
Rndurile au n componen temporizatoare, numrtoare, contacte
normal nchise sau normal deschise - de intrare i bobine ale unor relee
sau elemente de execuie - de ieire (vezi figurile 2.11, 2.13, 2.14).
Execuia i actualizarea se face de jos n sus i pe linie de la stnga la
dreapta (un exemplu se afl n figura 2.15) fiecare linie fiind
numerotat pentru ca execuia s se fac conform numrului de ordine.
n cadrul diagramelor pot fi intercalate blocuri funcionale.
Figura 2.34 prezint simbolizarea contactului normal deschis (IN001)
i a contactului normal nchis (IN002, IN003 )

IN002

IN001
a)

IN003

b)

Fig. 2.34.
Elementele de ieire sunt bobinele (OUT001, OUT002) i bobinele
negate (OUT003).

OUT 001

OUT 002

a)

OUT 003

b)

Fig. 2.35.
Temporizatoarele sunt elemente care modeleaz funcionarea releelor de
timp i a contactelor temporizate.
Temporizatoarele, a cror reprezentare se afl n figura 2.36, permit
realizarea unei aciuni ntrziate cu un anumit interval de timp ce poate fi
programat.
85

Validare

Ieire
Nr. temporizator

Baza de timp

Iniializare

Valoarea
prestabilit

Fig. 2.36.
Iniializarea pornete temporizarea. Baza de timp stabilete
valoarea cu care se incrementeaz timpul (0,01s; 0,1s sau 1s). Numrul
de cuante de timp la care se termin temporizarea este specificat prin
program.
n figura 2.37 este prezentat un numrtor.
Numrare

Ieire
Nr. numrtor

Ieire negat
Iniializare

Valoare
prestabilit

Fig. 2.37.
Pentru desenarea schemelor cu contacte (Ladder Diagram) se folosesc
editoare puse la dispoziie, de obicei, de ctre firmele productoare de
echipamente PLC.
Exemple de editoare J-Ladder [31], DELMIA Automation LL1 [32],
ISaGRAF, TRiLOGY [33], .a.

86

Tabel din Introduction to Programmable Logic Controllers

Num
ber
1
2
3

5
6
7
8
9
10

Description
PLC book
PLC website
PLC tutorial
Quick PLC
description
PLC History
Online Encyclopedia
PLC online Forum
Course example
Course example
Course example

11

Course example

12

15
16
17
18
19

Course example
PLC simulation
software
PLC simulation
software
Mitsubishi
Toshiba
Siemens
Sprecher & Schuh
Allen Bradley

20

PLC book

13
14

23
24
25

PLC application
website
Verification of PLC
Applications
PLC Applications
PLC help thread
PLC Tutorial site

26

PLC Tutorial site

27
28
29
30

PLC info and tutorial


Modicon
PLC history
PLC primer

31

PLC information

32

PLC example

33

Siemens PLC primer

34

AB Pico Solutions
Applications
examples

21
22

35
36

TSX PLC manual

37

BORS oil application

Link/info
http://claymore.engineer.gvsu.edu/~jackh/books/plcs
http://www.plcs.net/
http://www.plcs.net/chapters/whatis1.htm
http://support.automationdirect.com/docs/whatisaplc.html
http://www.softplc.com/history.php
http://en.wikipedia.org/wiki/Programmable_logic_controller
http://www.plctalk.net/qanda/
http://claymore.engineer.gvsu.edu/~jackh/eod/egr450.html
http://www.pueblocc.edu/tec/auto_023.htm
http://www.cede.psu.edu/StudentGuide/EET220.htm
http://www.tech.mtu.edu/courses/eet3370/EET3370%20Class%20
Schedule%202.htm
http://www.utexas.edu/cee/petex/training/courses/iplc.html
http://www.tri-plc.com/trilogi.htm
http://www.ab.com/plclogic/pico/picosoft.html
http://www.meau.com/eprise/main/sites/public/PRODUCTS/default
http://www.tic.toshiba.com/productgroups.php?family=PLCs
https://pia.khe.siemens.com/index.asp?Nr=2140
http://www.ssusa.cc/pages/mainpg/prodmainall.html
http://www.ab.com/plclogic/
Programmable Logic Controllers An Introduction Third Edition W.
Bolton 2003 Newnes Publications
http://www.fbk.com/control-instrumentation/plctran.asp?menu=3
http://wwwhome.cs.utwente.nl/~mader/DEMOS/IPA2001.ppt
http://www.entertron.com/application.htm
http://www.plctalk.net/qanda/showthread.php?s=&threadid=12235
http://www.freestudy.co.uk/plc.htm
http://www.mikroelektronika.co.yu/english/product/books/PLCbook
/plcbook.htm
http://www.mrplc.com/kb/
http://www.modicon.com/Default.htm
http://www.barn.org/FILES/historyofplc.html
http://www.industrialtext.com/freestuff.htm
http://www.control.com/links_page#PLCs%20and%20related%20q
uestions.
http://www.htservices.com/Tutorials/plc_tutorial_2.htm
http://www.sea.siemens.com/step/templates/lesson.mason?plcs:1:
2:1
http://www.ab.com/plclogic/pico/picosolutions.html
http://public.modicon.com/nRepository/index.nsf/aa_getdocs?Ope
nAgent&prod=nanocus
http://www.modicon.com/nRepository/index.nsf/aa_getdocs?Open
Agent&prod=nanopro#
http://www.modicon.com/85256AE8006D78AB/all/AFB0118DEA9

87

38

PLC overview

39
40
41
42

49

PLC intro
RTU vs PLC
Ladder Logic Ideas
Ladder Logic editor
Ladder Logic
examples
PLC tutorial site
Intro to IEC 61131
IEC 61131-3 FAQ
Thread on PLC Scan
time
Seamans on scan
time
PLC operation

50

Info on Grafcet

51

PLC failure info


Programmable Logic
Controllers Third
Edition
picture of industrial
mixer
PicoSoft

43
44
45
46
47
48

52
53
54
55

58
59
60

GX-Developer
picture of relay timer
picture of relay
counter
picture of box PLC
picture of optoisolator
plc shipment article

61

Honeywell contactor

56
57

62
63
64
65
66
67

Price on start
relay/mounting $20
Price on timed relay$48-$70
3 phase power
converter example
ladder logic manual
3 phase converter
data sheet
PLC presentation

9C0AC85256BFA004F60F3!OpenDocument
http://www.mavrinac.com/technical/howto_plc_programming_for_b
eginners.txt
http://www.canadu.com/hjhtml/plcs1-4.html
http://www.tetragenics.com/Articles/RTUvsPLC.htm
http://xtronics.com/toshiba/Ladder_logic.htm
http://home.scarlet.be/~dc11cd/dciplc.html
http://www.ibiblio.org/obp/electricCircuits/Digital/DIGI_6.html
http://www.plcman.co.uk/
http://www.plcopen.org/TC1/intro_iec_61131-8.htm
http://www.holobloc.com/stds/iec/sc65bwg7tf3/html/faq.htm
http://www.plctalk.net/qanda/showthread.php?t=8220&highlight=sc
an+cycle+time
http://www.sea.siemens.com/step/templates/lesson.mason?plcs:7:
1:1
www.crakker.com/PLC_Primer.PDF
http://www.lurpa.enscachan.fr/grafcet/generalites/presentation_uk.html
http://www.processwest.ca/Past_Issues.htm?ID=354
W. Bolton Linacre House, Jordan Hill Oxford 2003
http://www.monoequip.com/images/Equipment/ind_cake_mixer.jpg
http://www.ab.com/plclogic/pico/PicoSoftWeb6L.exe
http://www.meau.com/eprise/main/sites/public/DOWNLOADS/search_results?SType=0&DocType=035&SessionNum=&UserID=
&Division=00015&Opt1=Yes&submit1=Search&Family=00015200
10&Series=000152001020030
http://web.mit.edu/cjoye/www/ebay/RelayTimer/
http://www.icc-gb.com/lc4h.html
http://www.controltech.cz/images/clanky/image30.jpg
http://searchnetworking.techtarget.com/WhatIs/images/optoisol.gif
http://www.drives.co.uk/news/worldnews/news_worldnews352.htm
http://customer.honeywell.com/Honeywell/CatalogNavigator.aspx?
Definition=Product&Catalog=Homes&Category=DP2030_10180&
Product=DP2030B5011&ChannelID={2EB2F178-20ED-44E097FB-CCFB4218DD64}#LiteratureDownload
http://www.mstores.umich.edu/catalog/grainger/electrical/relays/rel
ay_sockets/2A584.html
http://www.mstores.umich.edu/catalog/grainger/electrical/relays/ti
me_delay_relays/5YZ86.html
http://www.metalwebnews.com/howto/phase-converter/phaseconverter.html
http://www.iu.hio.no/~georgm/pls/doc/s7kop__b.pdf
http://www.phase-a-matic.com/PDF/RPL-2005-C.pdf
http://www.kwandong.ac.kr/~sylee/cadcam_s/chap5Plc.ppt

88