Sunteți pe pagina 1din 24

Universitatea “Dunarea de Jos”

Facultatea de Automatica,Calculatoare,Inginerie Electrica si Electronica

Programmable Logic Controller (PLC)

------ Proiect------

Student : Cofa Daniela


Indrumator: Bogdan Codres
I Introducere
Un controler logic programabil, denumit PLC (Programmable Logic
Controller) sau controler programabil, sau automat programabil – AP, este un
dispozitiv de tipul unui computer utilizat pentru a controla procesele din mediul
industrial. Astfel de procese, pe care PLC-urile le pot controla, sunt foarte variate
cum ar fi: sisteme de transport (transportor), maşina din industria alimentară,
liniile de asamblat autovehicule.
Un PLC este soluţia bazată pe un microprocesor care utilizează modulele
de intrare conectate la senzori pentru a citi starea sistemului controlat,
schimbarea task-ului de analiză a stării sistemului şi clarificarea acţiunilor
consecutive şi în sfârşit, utilizează modulele de ieşire pentru a dirija conductorii şi
dispozitivele de acţionare. De aceea, task-ul software a PLC-ului constă din
calcularea valorilor de ieşire corecte oferind o imagine a valorilor de intrare.

PCL -- Un sistem electronic (digital) de operare, proiectat pentru utilizarea


în mediul industrial, ce foloseşte o memorie programabilă pentru stocarea
internă a instrucţiunilor necesare implementării unor funcţii specifice (logice,
secvenţiale, temporizare, contorizare, calcul matematic), pentru a controla prin
intrările şi ieşirile digitale şi analogice diferite tipuri de maşini sau procese.

II Arhitectura PLC-ului

Unitatea centrală este în general, bazată pe un singur procesor dar pentru


aplicaţiile complexe este disponibil multiprocesorul. Majoritatea PLC-urilor au o
magistrală unică, comună cu UCP-ul, memoria şi interfeţele. Evoluţia controler-
ului este în direcţia soluţiilor multimagistrală (multibus) unde, în particular,
canalele de I/O au propria lor magistrală serială sau paralelă.
Unitatea de depanarea şi programare a PLC-ului este, de obicei, un dispozitiv
extern, întinzându-se de la o tastatură dedicată cu un display mic până la un
Computer Personal (PC).
Modulele de intrare/ieşire (I/O) convertesc semnalele provenite de la
senzori într-un format digital şi generează semnale electrice proporţionale cu
valorile digitale de la variabilele de ieşire stocate în memoria PLC-ului.
Semnalele înlocuite între sistem şi control pot fi discrete sau analogice.
Sunt câteva criterii de selecţie a PLC-ului corespunzător pentru o aplicaţie
dată. Tipic, clasa PLC-ului este definită de către numărul maxim de semnale de
I/O care sunt capabile să comande şi să conducă. Un alt criteriu este viteza de

2
calcul a PLC-ului, capabilitatea de luare a deciziei corecte într-un interval de timp
precizat.

Arhitectura PLC-ului

unitatea de
UCP memoria
programare

Magistrala

modulele de I/O

dispozitive de
senzori
actionare

Într-un sistem de control industrial tradiţional, toate dispozitivele de


control sunt cablate direct fiecare cu fiecare în conformitate cu modul cum
trebuie să lucreze sistemul controlat. Oricum, într-un sistem cu PLC, acesta
înlocuieşte cablarea dintre dispozitive. Astfel, înainte de a fi cablat direct fiecare
cu fiecare, tot echipamentul este cablat la PLC. Atunci, programul de control din
interiorul PLC-ului prevede ”cablarea” conectării dintre dispozitive. Un program
de control este un program de calculator stocat în memoria PLC-ului care
instruieşte PLC-ul despre ce urmează ca să se întâmple într-un sistem. Utilizarea
PLC-ulul pentru a oferi cablarea legăturilor dintre dispozitivele sistem este
denumită softwiring (cablare software).

PLC-urile oferă şi alte avantaje pe lângă sistemele de control


tradiţionale, cum ar fi:
 Siguranţă mai mare;
 Necesitatea unui spaţiu mic pentru implementare;
 Posibilitatea implementării de operaţii matematice;

3
 Costuri reduse;
 Abilităţi de a rezista la un mediu aspru;
 Dezvoltare.

III Structura unui PLC

De fapt, un PLC este alcătuit din două elemente:


 Unitatea centrală de prelucrare;
 Sistemul de intrare/ieşire.

Unitatea centrală de prelucrare (UCP) este partea controlerului programabil


care extrage, decodează, stochează şi procesează informaţia. De asemenea,
execută programul de control stocat în memoria PLC-ului. În esenţă, UCP-ul este
“creierul” controlerului programabil. UCP-ul are trei părţi:
 Procesorul;
 Sistemul de memorare;
 Alimentarea.

4
Procesorul este partea din UCP care codează, decodează şi calculează date.

Sistemul de memorare este partea din UCP care stochează atât programe cât
şi date de control pentru echipamentul conectat la PLC. Memoria PLC-ului este
împărţită în trei spaţii: spaţiul de sistem, spaţiul de program şi spaţiul de date.
Spaţiul de sistem conţine programe instalate de către fabricant (sistemul de
operare, modulele de diagnosticare şi simulare). Spaţiul de program conţine
codul de control scris de către programator. Spaţiul de date stochează toate
variabilele utilizate de către programul de aplicaţie.

Alimentarea este acea parte care furnizează PLC-ului tensiunea şi curentul


de care are nevoie pentru a funcţiona.

Sistemul de intrare/ieşire (I/O) este partea din PLC la care sunt conectate
toate dispozitivele din câmp. Dacă UCP-ul poate fi gândit ca un creier al PLC-
ului, atunci sistemul de I/O poate fi gândit ca fiind mâinile şi picioarele PLC-ului.
Sistemul de I/O constă din 2 părţi principale:

 Cadrul de montare (rack-ul);

 Modulele de intrare/ieşire (I/O).

Cadrul este o cutie cu sloturi înăuntru care este conectat la UCP.

5
Modulele de intrare/ieşire sunt dispozitive cu terminale de conectare la care
sunt legate dispozitivele din câmp. Împreună, cadrul şi modulele de I/O
alcătuiesc interfaţa dintre dispozitvele din câmp şi PLC. Când se setează corect,
fiecare dintre modulele de I/O este atât cablat la dispozitivele din câmp
corespunzătoare cât şi instalat într-un slot din cadru. Aceast lucru creează o
conectare fizică între echipamentul din câmp şi PLC. La unele PLC-uri mai mici,
cadrul şi modulele de I/O sunt încapsulate într-o singură unitate.

Toate dispozitivele de câmp conectate la PLC pot fi clasificate în una din


două categorii:
 de intrare;
 de ieşire.

Intrările sunt dispozitivele care transmit un semnal/dată la un PLC. Exemple


tipice de intrări sunt butoanele de acţionare, întrerupătoarele şi dispozitivele de
măsurare.

Ieşirile sunt dispozitivele care aşteaptă un semnal/dată de la PLC pentru a


efectua funcţiile de control. Semnalizările luminoase, hupele, motoarele şi valvele
sunt toate bune exemple de dispozitive de ieşire.

Există două tipuri de bază de dispozitive de intrare/ieşire:


 Discrete;

6
 Analogice.

Dispozitivele discrete sunt intrările şi ieşirile care au doar două stări: deschis şi
închis. Ca un rezultat, ele trimit/primesc semnale simple de la /către PLC. Aceste
semnale constau doar din 1 sau 0. Un 1 înseamnă că dispozitivul este deschis
iar 0 înseamnă că dispozitivul este închis.

Dispozitivele analogice sunt intrările/ieşirile care pot avea un număr infinit de


stări. Aceste dispozitive nu pot fi doar deschis şi închis, dar pot fi de asemenea
total aproape deschis, nu chiar închis, etc. Aceste dispozitive primesc/trimit
semnale complexe la/de la PLC.

IV. Comunicarea Automatelor Programabile cu alte


elemente de automatizare

Exista mai multe tipuri de interfete ce sunt folosite atunci cand omul are
nevoie sa interactioneze cu PLC pentru a-l configure sau a lucra cu el: simple
lumini, switch-uri, afisari de text sau, la sisteme mai complexe, un calculator cu
interfata web pe care se ruleaza sitemul Supervisory Control and Data
Acquisition (SCADA).

Modulele de comunicare

Cea mai utilizata legatura pentru dialog între AP si elementele perife


-ice(terminale de programare sau exploatare, imprimante) este cea serie.
Acest mod de comunicare permite schimbul de caractere compuse din biti
transmisi unul dupa altul pe linia de comunicare. Viteza de transmisie se exprima
în biti pe secunda (bauds).

Module de comunicare cu server


Aceste module sunt utilizate pentru a permite AP sa realizeze o comunica
tie bidirectionala cu un server care poate fi un PC sau un alt AP.În general,
comunicarea de la server la AP prin intermediul acestor module este folosita
pentru programarea AP. Pot

7
fi modificati anumiti parametri în program sau chiar întregul program existe
nt în memoria AP.
În sens invers, AP poate sa transmita serverului o serie de informatii care pot fi
folosite de acesta pentru a determina durata unor procese, încheierea anu
mitor etape, aparitia unor situatii de functionare necorespunzatoare.
De obicei aceste module permit comunicarea AP cu serverul prin
intermediul unei legaturi seriale de tip RS232.

V. Conectarea sistemelor PLC cu sistemele PC


Conectarea între un controler PLC si un PC este realizata prin intermediul unei
legaturi RS232. Unul din capetele cablului RS232 este conectat la portul s
erial PC(conector 9-pini sau 25 pini), în timp ce celalalt capat este conectat la
conectorul RS232C al modulului serial CPM1A. În scopul realizarii unei
conexiuni cu un PC, switch-ul DIP de pe conectorul modulului serial CPM1A va
trebui setat pe pozitia "HOST".

Module de comunicare de la egal la egal (peer-to-peer)


Modulele de la egal la egal sunt utilizate pentru
a permite comunicare AP între ele. Informatiile pe care acestea le schimba între
ele sunt utilizate pentru obtinerea unei functionari în care AP sa coopereze în
vederea îndeplinirii unor sarcini.
Module de comunicare ASCII

Au capacitatea de a receptiona si a transmite informatia codificata folosind


fisiere în cod ASCII. Avantajul acestor module este faptul ca pot fi folosite
pentru a realiza interfata dintre AP si alte echipamente care recunosc
informatia în cod ASCII cum ar fi imprimantele sau terminalele de dialog cu
utilizatorul.
Module pentru controlul pozitiei

8
Aceste module sunt utilizate în cadrul aplicatiilor care necesita pozitionare
spatiala a unor elemente componente prin intermediul unor elemente de a
ctionare.Modulele pot fi utilizate pentru controlul pozitiei în sisteme în
bucla deschisa - bucla închisa.
a) Module de pozitionare în bucla deschisa
În aceasta categorie intra modulele de control a pozitiei bazate pe
utilizarea
motoarelor pas cu pas (MPP).Asigura o serie de functii, în special de ac
celerare si
incetinire. Este mult usurata comanda MPP cu ajutorul AP în aplicatii ce i
mplica pozitionarea precisa în doua sau trei axe.
Alte functii:
- pozitionare a sistemului într-o pozitie initiala,
- protectie a sistemului prin limitarea cursei anumitor elemente mobile.
b) Module de pozitionare în bucla închisa
Utilizate pentru comanda masinilor cu comanda numerica, linii de a
samblare
automate sau robotica. Cele mai întâlnite aplicatii presupun pozitionarea u
nei mese mobile care este actionata de motoare de c.c. sau de c.a.
Pentru închiderea buclei, în cazul controlului pozitiei se utilizeaza un encoder.
Pentru reglajul vitezei, închiderea buclei esterealizata cu ajutorul unui
tahometru.
Module video
Folosite în special în aplicatiile care necesita realizarea unor operatii de
inspectie în cadrul procesului de fabricatie. Se poate face un reglaj automat
al procesului pentru eliminarea pieselor fabricate necorespunzator.
Module cititoare pentru codurile de bare

Utilizarea codurilor de bare pentru identificarea automata a devenit


o practica curenta în cadrul liniilor de asamblare automata. Folosite pentru
a codifica informatia referitoare la diverse etape ale procesului de
productie/asamblare, pentru a urmari traseul si evolutia anumitor produse în
cadrul fluxului tehnologic permit tinerea evidentei exacte a stocurilor existente si
a celor care sunt în curs de a fi finalizate.
Îmbogatesc capacitatea unui AP cu functii ce permit citirea informati
ilor astfel codificate pentru a fi ulterior folosite în comanda instalatiei.
Module pentru reglajul automat
AP pot fi utilizate în acest scop în cazul în care nu
se urmareste aplicarea unor algoritmi de reglare de complexitate ridicata.
Variante:
- utilizarea unor module de prelucrare speciale;-

9
- utilizarea modulelor de intrare/iesire obisnuite si materializarea
prin program a algoritmilor de reglaj.
Cele mai utilizate module pentru reglajul automat sunt cele care implementeaza
algoritmii de tip PID.
Ajustarea sistemului se realizeaza prin reglarea potentiometrelor car
e stabilesc parametrii buclelor de reactie proportionala, diferentiala si integrala.
Reglaj automat materializat prin program
În cazul în care bucla de reglare este materializata prin program, a
justarea sistemului se realizeaza prin modificarea unor parametri din program.
În acest caz pentru intrari se utilizeaza module de intrare analogice obisnuite în
timp ce pentru iesiri se pot utiliza module de intrare analogice sau digitale.
Exista module prin care se materializeaza alti algoritmi
de reglare automata cum ar fi module pentru controlul folosind reactia
pozitiva sau folosind logica fuzzy.Ca si în
cazul reglarii PID, ca urmare a cresterii puterii de calcul a unitatii centrale
, acesti algoritmi pot fi materializati prin programul automatului programabil.

Dispozitive de intrare/iesire pentru interfata om-masina

Functii:
- (principala) cea de programare a AP,
- monitorizarea functionarii AP,
- verificarea programului înscris în memoria AP,
- depanarea circuitului.
Prin intermediul acestor terminale, operatorul uman poate introduce sau
modifica programul unui AP la locul în care acesta se afla, fara a mai fi nevoie
de alte dispozitive sau aparate ajutatoare. Prin cuplarea terminalului,
comportarea AP poate fi examinata în timpul functionarii.
Informatiile necesare operatorului sunt afisate prin intermediul unui ecran cu
tub catodic sau cu cristale lichide. Dimensiunile acestora pot varia de la c
âteva linii de caractere pâna la un ecran. În primul caz, dispozitivul de
afisare vafi mai ieftin însa nu va permite decât afisarea unei portiuni mici din
programul AP si un numar restrâns de informatii legate de starea AP.
Informatiile catre AP sunt introduse de catre operatorul uman prin intermediul:
- unor butoane,
- a tastaturii,
- a ecranelor sensibile la atingere,
- cititoarelor de coduri de bare.

Terminale simple
Dispozitive simple care au de cele mai multe ori doar un monitor si o tastatura.
Sunt dotate cu inteligenta, întreaga functionalitate privind comunicarea dintr
e om si masina este înglobata în AP. Afiseaza informatia transmisa de AP si

10
permit
introducerea si transmiterea informatiei de la utilizator la AP. Transmite
rea informatiei prin intermediul acestor terminale se realizeaza în format
ASCII.
Avantaj:pret de cost redus, terminalul poate fi utilizat cu o gama larga de
AP.
Dezavantaj: nu permit încarcarea unui program sau modificarea acestuia în
memoria AP. Utilizarea lor devine din ce în ce mai redusa.

Terminale industriale dedicate


Au încorporata o anumita inteligenta care le permite sa îndeplineasca o parte
mai mica sau mai mare din functiile amintite mai sus.
O serie de terminale permit scrierea directa a programului în memoria AP. O
alta categorie de terminale sunt dotate cu memorie proprie astfel încât pro
gramul poate fi scris în aceasta memorie dupa care el este transferat în
memoria AP.
Mare parte din aceste dispozitive permit utilizatorului sa depaneze progra
mul scris chiar în timpul functionarii acestuia.
Pot fi introduse valori pentru intrarile sau pentru iesirile automatului astfel
încât sa se poata urmari functionarea acestuia în diverse situatii.

Programatoare de mâna
Sunt utilizate în general pentru programarea AP de dimensiuni mici. Cuplate la
AP, ele pot afisa informatii privind:
- starea AP,
- starea intrarilor,
- starea iesirilor,
- valorile diferitelor variabile interne,
- valoarea curenta si cea prestabilita a numaratoarelor,
- valoarea curenta si cea prestabilita a temporizatoarelor.
Programatoarele de mâna pot fi folosite pentru depanarea AP prin monitorizarea
functionarii acestuia si prin modificarea intrarilor, iesirilor sau alti para
metri ai programului.
Avantaje : dimensiunile mici care le fac portabile.
Dezavantaje: au înglobata inteligenta redusa, dimensiunea mica a ecranului
de afisare (la un moment dat nu poate fi vizualizata decât o mica parte a
programului din memoria calculatorului).

VI. Programarea controlerelor PLC

Metoda uzuala de programare a unui controler PLC este cea care utilizeaza un
PC conectat cu sistemul de control. Exista însa si posibilitatea programarii
manuale a sistemului, utilizând o microtastatura si un monitor software cu
functiuni specifice.

11
În scopul depanarii sistemului de control, un PLC este de regula însotit
de un subsistem de testare, realizat pe baza unor switch-
uri ce pot pozitiona în 0 sau 1 logic diverse linii. În felul acesta sistemul de
control poate fi testat pas cu pas, urmarindu-se
modul de comportare conform diagramei de functionare specificata în doc
umentatie. Diagrama de functionare este gândita astfel încât sa poata fi testata
si înteleasa întreaga gama de posibilitati comportamentale si de eventuale
malfunctiuni. Programatorul poate adauga comentarii programului de test, poate
denumi dispozitive de intrare si/sau iesire si
poate preciza secventele de executie ce trebuie urmate de catre sistem l
a întâlnirea anumitor erori sau comportari defectuoase ale unor subansamble.
De cele mai multe ori, un sistem cu PLC este documentat printr-o "diagrama în
scara", care prezinta structura logica de functionare a
întregului sistem. Întelegerea acestei diagrame permite
depanatorului sa înteleaga comportamentul sistemului în diversele cazuri
malfunctionale.

IEC 61131-3 reprezintă partea a 3-a a standardadului IEC 61131 şi, spre
beneficiul utilizatorilor de PLC-uri, standardizează cinci dintre cele mai utilizate
limbaje de programare a PLC-urilor şi anume:

 LD - Ladder diagram (grafic),


 FBD - Function Block Diagram (grafic),
 IL - Instruction list (text),
 ST - Structured text (text),
 SFC - Sequential Function Chart.

1.Diagrama Funcţională Secvenţială (SFC)

Diagrama Funcţională Secvenţială – SFC, este un formalism grafic foarte


expresiv al standardului IEC 1131-3. Nu poate fi considerat un limbaj complet
după cum cer instrucţiunile de la celelalte limbaje pentru a scrie un POU complet.
Oricum, pentru rolul său important în dezvoltarea codului reutilizabil, utilizarea sa
este studiată şi discutată profund în paragraful următor. Definiţiile SFC sunt
derivate de la primitivele Grafcet cu schimbările necesare pentru a defini un set
de elemente de control al execuţiei pentru POU-uri.
SFC furnizează o modalitate pentru împărţirea POU-ului într-un set de
paşi şi tranziţii interconectate de legături directe. Asociat cu fiecare pas este un
set de acţiuni şi cu fiecare tranziţie o condiţie de tranziţie. De vreme ce
elementele SFC solicită păstrarea informaţiei despre stare, singurele POU-uri
care pot fi structurate folosind aceste elemente sunt blocurile funcţie şi
programele (nu funcţiile).

12
Paşi şi tranziţii

Un pas reprezintă o situaţie în care comportamentul unui POU cu


respectarea intrărilor şi ieşirilor sale, urmează un set de reguli definite de
acţiunile asociate pasului. Un pas este fie activ, fie inactiv. La orice moment dat,
starea POU este definită de valorile variabilelor sale interne şi de ieşire şi de
setul paşilor activi. Un pas este reprezentat grafic de un bloc conţinând un nume
al pasului de forma unui identificator sau textual de o construcţie
STEP...END_STEP

Acţiuni Si PAS Si
Si
(*declaraţiile acţiunii*)
END_STEP

Reprezentarea grafică şi textuală a unui pas


Indicatorul pasului (starea activă sau inactivă a unui pas) este reprezentat de
valoarea logică a variabilei Booleene S.X, unde S este numele pasului. Variabila
booleeană X ia valoarea 1 dacă pasul corespunzător este activ şi valoarea 0
dacă pasul este inactiv. În mod similar, timpul consumat S.T. al pasului S este
definit ca o variabilă TIME. Atunci când pasul este dezactivat, valoarea timpului
consumat al pasului rămâne la valoarea pe care o avea în momentul
dezactivării, în timp ce este resetată la t#0s atunci când pasul este activat. Sfera
numelor pasului, indicatorii pasului şi timpii pasului sunt locali pentru POU-ul
unde apar paşii.
Starea iniţială a POU este reprezentată de valorile iniţiale ale variabilelor
interne, de ieşirile sale şi de setul său de paşi iniţiali, de exemplu paşii care sunt
iniţial activi. Fiecare reţea SFC sau echivalentul său textual, are exact un pas
iniţial, desemnat grafic cu linii duble pentru margini. Pentru iniţializarea
sistemului, indicatorul implicit al pasului iniţial este FALS pentru paşii normali şi
ADEVĂRAT pentru paşii iniţiali.
O tranziţie reprezintă condiţia prin care controlul trece de la unul sau mai
mulţi paşi premergători tranziţiei la unul sau mai mulţi paşi succesori de-a lungul
legăturii corespunzătoare orientate. Direcţia evoluţiei este de la baza pasului
(paşilor) premergător(i) spre vârful pasului (paşilor) următor. Fiecare tranziţie are
o condiţie de tranziţie asociată care este rezultatul evaluării unei singure expresii
Booleene. O condiţie a tranziţiei care este întotdeauna adevărată va fi
reprezentată de cuvântul cheie ADEVĂRAT.
Legăturile care ating sau care părăsesc paşii sunt reprezentate de linii
verticale (vezi Figura IV-2). O condiţie de tranziţie poate fi asociată cu o tranziţie
prin unul dintre următoarele mijloace:
 expresie Booleană descrisă în ST;

13
 reţea a diagramei în scară a cărei ieşire intersectează legătura orientată
vertical;
 reţea în FBD a cărei ieşire intersectează legătura orientată vertical;
 reţea LD sau FBD a cărei ieşire intersectează legătura orientată vertical
printr-un conector;
 construcţie TRANSITION...END_TRANSITION folosind ST, constând în
cuvintele cheie TRANSITION FROM urmate de numele pasului(-şilor)
premergător, cuvântul cheie TO urmat de numele pasului(-şilor) succesor,
operatorul de alocare urmat de o expresie Booleeană specificând condiţia,
cuvântul cheie de încheiere END_TRASITION;
 construcţie TRANSITION...END_TRANSITION folosind IL, constând în
cuvintele cheie TRANSITION FROM, urmate de numele pasului(-şilor)
premergător şi de două puncte, cuvântul cheie TO urmat de numele
pasului(-şilor) succesor, o listă de instrucţiuni în limbajul IL determinând
condiţia de tranziţie, cuvântul cheie de încheiere END_TRANSITION;
 un nume al tranziţiei asociat cu legătura orientată, referitor la o construcţie
TRANSITION...END_TRANSITION, a cărei evaluare rezultă din alocarea
unei valori Booleene pentru variabila denotată de numele tranziţiei şi a
cărui conţinut este o reţea în limbajul LD sau FBD, o listă cu instrucţiuni în
limbajul IL sau o alocare a unei expresii Booleene în limbajul ST.
Valabilitatea unui nume al tranziţiei este locală pentru POU-ul în care tranziţia
este localizată. Nici un “efect secundar” (de exemplu alocarea unei valori unei
variabile, alta decât numele de tranziţie) nu poate avea loc în timpul evaluării
unei condiţii de tranziţie.

TRANSITION Tij:
Tij (*condiţia tranziţiei*)
END_TRANSITION

Reprezentarea grafică şi textuală a unei tranziţii

Acţiuni

Zero, una sau mai multe acţiuni vor fi asociate cu fiecare pas. Un pas care
are zero acţiuni asociate este considerat ca având o funcţie WAIT, ceea ce
înseamnă că se aşteaptă ca următoarea condiţie de tranziţie să devină
adevărată. O declaraţie a acţiunii constă în numele acţiunii (de tip şir) şi
conţinutul acţiunii. Conţinutul acţiunii poate fi o variabilă Booleană, o colecţie de
instrucţiuni în IL, o colecţie de formulări în ST, o colecţie de trepte (paşi orizontali)
în LD, o colecţie de reţele în FBD sau o diagramă a funcţionalităţii secvenţiale
(SFC) la rândul său. Acţiunile sunt declarate şi apoi asociate cu paşi prin

14
conţinuturile textuale ale corpului acţinii sau prin blocuri grafice ale acţiunii.
Valabilitatea declaraţiei unei acţiuni este locală pentru POU-ul care conţine
declaraţia.
Controlul acţiunilor este exprimat de calificativi ai acţiunii. Valoarea
calificativului acţiunii este una dintre cele enumerate în tabelul următor.
Calificativii specifică ce acţiuni trebuie să fie executate în fiecare ciclu de
execuţie, în relaţie cu stările paşilor asociaţi lor. Acţiunile normale (N sau non-
calificative) sunt executate în mod continuu în timp ce paşii asociaţi lor sunt
activi. Calificativii L, D, SD, DS şi SL solicită o durată asociată de tip TIME.

Calif. Definiţie Efectul asupra acţiunii


N Ne-stocat execută în timp ce pasul asociat este activ
P Impuls execută când pasul asociat este activat
S Setare execută până când calificativul relativ R este intersectat
R Iniţializare termină execuţia stocată (S)
L timp Limitat termină execuţia după un timp dat
D timp Întârziat începe execuţia după un timp dat
SD Stocat şi timp Întârziat începe execuţia S după un timp dat
DS timp Întârziat şi Stocat începe execuţia S dacă pasul durează un timp dat
SL Stocat şi timp Limitat începe execuţia S şi termină după un timp dat
P1 Puls front crescător
P0 Puls front căzător
Regulile de evoluţie ale SFC

Situaţia iniţială a unei reţele SFC este caracterizată de pasul iniţial care
este în starea inactivă după iniţializarea programului sau a blocului funcţie care
conţine reţeaua. Evoluţia stărilor active ale paşilor are loc de-a lungul legăturilor
orientate când este cauzată de validarea uneia sau a mai multor tranziţii. O
tranziţie este validată atunci când toţi paşii precedenţi, conectaţi la simbolul
tranziţiei corespunzătoare prin legături orientate, sunt activi. Execuţia unei
tranziţii are loc atunci când tranziţia este validată şi când condiţia tranziţiei
asociate este adevărată.
Activarea unei tranziţii cauzează dezactivarea tuturor paşilor imediat
precedenţi conectaţi la simbolul tranziţiei corespunzătoare prin legături orientate,
urmată de activarea tuturor paşilor imediat următori. Timpul de activare a unei
tranziţii poate fi considerat, teoretic, cât de scurt se doreşte, dar nu poate fi
niciodată zero. În practică, timpul de activare va fi impus de implementarea
controlerului programabil. Pentru acelaşi motiv, durata activităţii unui pas nu
poate fi niciodată considerată a fi zero. Câteva tranziţii care pot fi activate
simultan vor fi în prezent activate respectând limitările de timp ale controlerului
programabil particular. Testarea condiţiei(-iilor) următoarei tranziţii a unui pas
activ este efectuată până când efectele activării pasului se vor propaga peste tot
POU-ul unde pasul este declarat.

Divergenţă şi convergenţă

Divergenţa este o legătură cu conectare multiplă de la un simbol SFC (pas


sau tranziţie) spre multe alte simboluri SFC de tip opus. Convergenţa este o

15
legătură cu conectare multiplă de la mai mult de un simbol SFC de acelaşi tip
spre un alt simbol de tip opus. Divergenţa şi convergenţa pot fi individuale sau
duble.

1 Run & nu Error 101 Eroare


Pornirea motorului M1 101 Alarmă
2

102 Confirmare
2 M1 pornit

3 Pornirea Timer-ului

3 Timer >t#3s

4 Oprirea motorului M1

4 Tix

O divergenţă individuală este o legătură multiplă de la un pas spre mai multe


tranziţii. După cum vom discuta în paragraful următor, doar o condiţie de
tranziţie, a tranziţiilor care părăsesc pasul, devine adevărată la un moment dat,
astfel încât doar un pas devine activ în următorul ciclu de execuţie. Cu toate
acestea, condiţiile ataşate diferitelor tranziţii la începutul unei divergenţe
individuale nu sunt în mod necesar exclusive, astfel încât exclusivitatea trebuie
să fie asigurată fixând o prioritate printre tranziţiile conflictuale (sau implicit,
depinzând de implementarea individuală) astfel încât doar o tranziţie este
activată. O convergenţă individuală este o legătură multiplă de la mai multe
tranziţii spre acelaşi pas. O convergenţă individuală este folosită în general
pentru a grupa ramurile SFC care au fost începute pe o divergenţă individuală.
Divergenţa şi convergenţa individuală sunt reprezentate de linii separate
orizontale, ca în exemplul din Figura IV-3. Un salt al secvenţei este un caz
special al divergenţei individuale unde una sau mai multe ramuri nu conţin paşi.
O buclă a secvenţei este un caz special al divergenţei şi convergenţei individuale
unde una sau mai multe ramuri se întorc la un pas precedent.
O divergenţă dublă (sau divergenţă simultană) este o legătură multiplă de
la o tranziţie la mai mulţi paşi. Aceasta corespunde operaţiilor paralele ale
procesului, numite şi secvenţe simultane. Divergenţa dublă este executată atunci
când pasul SFC precedent este activ şi condiţia de tranziţie devine adevărată.
După divergenţă, toate secvenţele simultane şi-au activat paşii iniţiali. O
convergenţă dublă (sau simultană) este o legătură multiplă de la mai mulţi paşi
spre aceeaşi tranziţie. Este folosită în general pentru a grupa ramurile SFC
pornite la o divergenţă dublă. Convergenţa dublă este executată atunci când toţi
paşii simultani care o preced sunt activi şi următoarea condiţie de tranziţie este

16
adevărată. După convergenţă, paşii activi precedenţi sunt dezactivaţi şi un singur
pas al schemei SFC este din nou activ.
Divergenţa şi convergenţa dublă sunt reprezentate de linii duble
orizontale:
1 Iniţializare

1 Run

2 Proces 1 101 Proces 2

2 Finalul Procesului 1 101 Finalul Procesului 2


102 Aşteptarea Procesului 2
3 Aşteptarea Procesului 2

3 Adevărat

2. Textul Structurat (ST)

Textul Structurat este unul dintre cele două limbaje textuale din cadrul
standardului IEC 1131-3, celălalt fiind limbajul Lista de Instrucţiuni. Standardul
defineşte elemente textuale comune limbajelor textuale, printre care:
 Declaraţii tip;
 Declaraţii variabile;
 Declaraţii ale pasului SFC, ale tranziţiei şi acţiunii;
 Declaraţii ale funcţiei şi ale blocurilor funcţie.
ST este un limbaj structurat de nivel înalt, similar cu Pascal şi C, proiectat
pentru procesele automate de programare. Acest limbaj este folosit în special
pentru a implementa proceduri complexe care nu pot fi exprimate uşor cu limbaje
grafice. ST este limbajul implicit pentru descrierea acţiunilor din cadrul paşilor şi
condiţiilor ataşate tranziţiilor limbajului SFC.

3. Lista cu instrucţiuni (IL)

Lista cu instrucţiuni este un limbaj de nivel jos, similar cu limbajul de


asamblare, foarte eficient pentru aplicaţiile mai mici sau pentru optimizarea
părţilor unei aplicaţii. Instrucţiunile sunt tot timpul raportate la rezultatul curent
(sau registrul IL) şi sunt determinate de un operator, care indică operaţia care

17
trebuie făcută între valoarea curentă şi operand. Rezultatul operaţiei este păstrat
din nou în rezultatul curent.

4. Diagrama în scară (LD)

Diagrama în scară (LD) este o reprezentare grafică a ecuaţiilor Booleene,


combinând contacte (argumente de intrare) cu coil (rezultate de ieşire). Limbajul
LD permite descrierea testelor şi a modificărilor datelor Booleene plasând
simboluri grafice în schema programului. Simbolurile grafice LD sunt organizate
în interiorul graficului într-un mod similar cu o “treaptă” a diagramei cu contacte
electrice.

Şina din stânga

Şina din dreapta

Exemplu de diagramă în scară (diagramă cu contacte)


O diagramă LD este limitată în partea dreaptă şi stângă de linii verticale, numite
şina (bară de alimentare, magistrală) din stânga şi respectiv şina din dreapta.
Simbolurile grafice ale diagramei LD sunt conectate la şine sau la alte simboluri
prin linii de conectare, numite şi legături. Liniile de conectare sunt orizontale sau
verticale. Componentele grafice de bază ale unei diagrame LD :

Şina verticală din stânga Linii de conectare


multiplă (conectate toate
împreună)
Şina (magistrala) verticală din dreapta
Contact asociat cu o
variabilă
Linia de conectare
orizontală Coil asociată cu o variabilă
de ieşire sau internă
Linia de conectare
verticală

Fiecare element al legăturii are starea sa proprie, indicată de valorile simbolului


Boolean 1 (TRUE, `ON`) sau respectiv 0 (FALSE `OFF`). Starea Booleană este
aceeaşi pentru toate segmentele legate împreună direct. Termenul starea
legăturii este sinonim cu termenul fluxul puterii. Starea magistralei din stânga
este considerată PORNIT tot timpul. Nu este definită nici o stare pentru
magistrala din dreapta.

18
Un element al legăturii orizontale este indicat de o linie orizontală. Un
element al legăturii orizontale transmite starea elementului din imediata
apropiere stânga elementului din imediata apropiere dreapta. Orice linie
orizontală conectată la magistrala verticală din stânga are starea ADEVĂRAT. Un
element al legăturii verticale constă într-o linie verticală care se intersectează cu
unul sau mai multe elemente ale legăturii orizontale pe fiecare parte. Starea
legăturii verticale reprezintă un SAU inclusiv a stărilor ON a legăturilor orizontale
pe partea stângă, ceea ce înseamnă că starea legăturii verticale este OFF dacă
stările tuturor legăturilor orizontale ataşate la stânga sa sunt OFF, în timp ce este
ON dacă starea uneia sau mai multor legături orizontale ataşate la stânga sa
este ON.

5. Diagrama cu blocuri funcţie (FBD)

FBD este un limbaj grafic pentru programarea PLC-urilor, bazat pe


interpretarea comportamentului sistemului în termenii fluxului de semnale dintre
elementele de procesare, analog cu fluxurile de semnal care pot fi observate în
diagramele circuitelor electronice. FBD exprimă comportamentul funcţiilor, a
a ca un set decblocuri grafice interconectate,
blocurilor funcţie şi a programelor
care la rândul lor sunt funcţii sau blocuri funcţie. După cum s-a anticipat deja,
a)
FBD poate fi folosită pentru a detalia
b condiţiile tranziţiei şi acţiunile schemelor
SFC.

a
b) OR c
b

Comparaţie între sintaxa LD şi FBD

Elementele limbajului FBD vor fi interconectate de linii de flux al semnalului


urmărind convenţiile stabilite în general pentru limbajele grafice. Ieşirile blocurilor
funcţie nu vor fi conectate împreună. În particular, funcţia OR exprimată ca o
conectare multiplă la dreapta, tipic pentru limbajului LD, nu este permisă în
limbajul FBD; în schimb este folosit un bloc OR Boolean explicit. Exemplul din
Figura IV-7 ne arată aceeaşi operaţie dintre variabilele Booleene (c := a OR b) în
LD (a) şi FBD (b).
O reţea FBD descrie un proces dintre variabilele de intrare şi variabilele
de ieşire, după cum este arătat în Figura IV-8. Un proces este descris ca un set
de blocuri elementare, care sunt funcţii sau blocuri funcţie. Variabilele de intrare
şi de ieşire sunt conectate la blocuri prin linii de conectare. Detalii asupra
funcţiilor şi a blocurilor funcţie sunt date în finalul acestui capitol. O ieşire a unui
bloc poate fi conectată la o intrare a altui bloc.

19
intrări ieşiri

Aspectul tipic al unei reţele FBD

Fiecare bloc are un număr fix de puncte de conectare la intrare şi un număr fix
de puncte de conectare la ieşire. Un bloc este reprezentat de un singur
dreptunghi. Intrările sunt conectate pe marginea sa stângă. Ieşirile sunt
conectate pe marginea sa dreaptă. Un bloc elementar efectuează un singur
proces între intrările şi ieşirile sale. Numele procesului care trebuie efectuat de
bloc este scris în dreptunghiul de simbolizare. Fiecare intrare sau ieşire a unui
intrări
bloc are un&tip bine definit.
ieşiri

***Sintaxa blocului FBD***


Numele funcţiei

Variabilele de intrare ale unui program FBD trebuie conectate la punctele de


conectare la intrare ale blocurilor. Tipul fiecărei variabile trebuie să fie acelaşi ca
tipul aşteptat pentru intrarea asociată. O intrare pentru diagrama FBD poate fi o
expresie constantă, orice variabilă internă sau de intrare sau o variabilă de ieşire.
Variabilele de ieşire ale unui program FBD trebuie conectate la punctele de
conectare la ieşire ale blocurilor. Tipul fiecărei variabile trebuie să fie acelaşi ca
tipul aşteptat pentru ieşirea blocului asociat. O ieşire pentru diagrama FBD poate
fi orice variabilă internă sau de ieşire.
Variabilele de intrare şi de ieşire ale blocurilor funcţie sunt cuplate
împreună cu liniile de conectare. Liniile individuale pot fi folosite pentru a conecta
două puncte logice ale diagramei:
(i) o variabilă de intrare şi o intrare a unui bloc;
(ii) o ieşire a unui bloc şi o intrare a unui alt bloc;
(iii) o ieşire a unui bloc şi o variabilă de ieşire.
Conectarea este orientată, ceea ce înseamnă că linia duce datele asociate de la
extremitatea stângă la extremitatea dreaptă. Extremitatea dreaptă şi cea stângă
a liniei de conectare trebuie să fie de acelaşi tip. Conectarea multiplă la dreapta
poate fi folosită pentru a difuza o informaţie de la extremitatea sa stângă la
fiecare dintre extremităţile sale drepte. Toate extremităţile conectării trebuie să fie
de acelaşi tip.

20
O linie de conectare individuală cu extremitatea sa dreaptă conectată la o
intrare a unui bloc poate fi terminată de o Negaţie Booleană. Negaţia este
reprezentată de un cerc mic. Atunci când este folosită o negaţie Booleană,
extremitatea stângă şi cea dreaptă a liniei de conectare trebuie să fie de tip
Boolean.

intrarea 1 Echivalenţa ST:


& ieşirea 1 output 1 : = input 1 AND NOT (input 2)
intrarea 2
Negaţia Booleană

Etichetele şi salturile sunt folosite pentru a controla executarea diagramei.


Nici un alt element nu poate fi conectat la dreapta unui simbol salt sau etichetă.
Dacă linia de conectare la stânga simbolului salt are starea Booleană
ADEVĂRAT, executarea programului sare direct după simbolul etichetă
corespunzător. Un exemplu de folosire a salturilor : manual
& NOMODIF
b1
**Utilizarea saltului şi a etichetei

NOMODIF:

rezultat
>=1 cmd 10
valid

Echivalenţa IL:
LD manual
AND b1
JMPC NOMODIF
... ... ...
NOMODIF: LD result
OR valid
ST cmd 10

Cuvântul cheie RETURN poate fi folosit pentru a ieşi din diagramă. Trebuie
conectat la un punct de conectare Boolean de ieşire a unui bloc funcţie.
Formularea de întoarcere reprezintă un final condiţional al programului: dacă

21
ieşirea cutiei conectate la formulare are valoarea Booleană ADEVĂRAT, finalul
(partea care a rămas) diagramei nu este executat.

auto_mode
>=1 RETURN
alarm ***Utilizarea întoarcerii

bi 10
&
bi 23 >=1 bo 67
x_cmd

Echivalenţa ST:
IF auto_mode OR alarm THEN RETURN ;
END_IF ;
bo 67 : = (bi 10 AND bi 23) OR x_cmd ;

În interiorul unui POU scris în limbajul FBD, ordinea evaluării reţelei urmează
regula conform căreia evaluarea unei reţele este completă înainte de începerea
evaluării unei alte reţele care foloseşte una sau mai multe dintre ieşirile reţelei
evaluate anterior. ena
run
s1 &
s2
OR
a)

ena
run
s1 &
b) s2
OR
run

**Feedback explicit şi implicit


s1
OR ror
s2
ena 22
c) &
ror
Direcţia de evaluare a unei reţele individuale este dependentă de
implementare, de obicei de la vârf la bază şi de la stânga la dreapta.
O cale feedback se spune că există într-o reţea atunci când ieşirea unei funcţii
sau a unui bloc funcţie este folosită ca intrare pentru o funcţie sau un bloc funcţie
care o precede în reţea. O cale explicită feedback este o conectare dintre o
variabilă de ieşire a unui bloc dat cu o variabilă de intrare a unui bloc precedent.
O cale implicită feedback este definită atunci când aceeaşi variabilă este o ieşire
a unui bloc dat şi o intrare a unui bloc precedent. net_weight

mode
Cântărire
delta = RETURN
0

+ weight
tare_weight

*** Utilizarea funcţiilor FBD


Echivalenţa ST:
net_weight : = Weighing (mode, delta) ; (* call *)
IF (net_weight = 0) THEN RETURN ;
END_IF ;
weight : = net_weight + tare_weight ;

VII. Avantaje-Dezavantaje

PLC ofera diverse avantaje, dar si dezavantaje. Ca avantaje avem:


- cost favorabil pentru controlarea sistemelor complexe;
- flexibil, putand fi reaplicat la controlul rapid si usor al altor sisteme;
- abilitatile computationale permit control sofisticat;

23
- instrumentele de identificare a problemelor faciliteaza programarea
si reduce timpul de nefunctionare;
- componentele de incredere face ca sistemul sa functioneze mai
multi ani fara probleme;
- posibilitatea vizualizarii functionarii;
- viteza de functionare;
- metode diferite de programare.
PLC-urile nu sunt atat de bune in:
- a utiliza o multime mare de date, date complexe sau functii
matematice complicate;
- a citi si scrie baze de date;
- a genera rapoarte;
- a afisa datele si informatiile operatorului.
Alt dezavantaj il constituie si noutatea tehnologiei.
Controllerele Logice Programabile (PLC) au o utilizare variata incluzand
controlul de baza al releelor, controlul miscarii, al procesului, putand
fi folosit si la Sistemele de Control Distribuite.
Pe scurt, un PLC este un automat ce foloseste intrarile pentru a
monitoriza un proces si iesirile pentru a controla un proces, utilizand un
program.

24

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