Cuprins
PROGRAMAREA PLC .............................................................................................................. 1
Configuraţia Hardware .......................................................................................................... 3 Scrierea unei linii de program ................................................................................................ 7
Activarea intrărilor şi ieşirilor .............................................................................................. 14
FUNCŢIONAREA PLC ............................................................................................................ 24
PROGRAMAREA PLC
Pentru programarea unui controler logic programabil (PLC) se porneşte de la definirea
intrărilor ca tip şi evoluţie. Intrările unui PLC pot fi de tip digital: „0” sau „1” sau de tip
analogic, ca nivel de tensiune, de obicei cu gamă cuprinsă între 0 şi 10V curent continuu (DC).
În cazul intrărilor digitale nivelul logic „1” este determinat de valoarea tensiunii de
alimentare a controlerului logic programabil. Dacă tensiunea de alimentare a PLC este de 24 V
DC atunci valoarea pentru „1” logic pe intrări va fi de 24V DC. Dacă tensiunea de alimentare a
PLC-ului este de 12V DC atunci şi valoarea tensiunii pentru activarea intrărilor va fi de 12 V
DC. Senzorii de proximitate care activează intrările unui PLC au gama tensiunii de alimentare
cuprinsă între 10 V şi 30 V DC.
În aplicaţii se pot întâlni cazuri în care avem numai intrări digitale sau cazuri în care
avem numai intrări analogice. Foarte multe aplicaţii se bazează pe combinaţii de intrări, atât
digitale cât şi analogice. Un PLC poate fi utilizat pentru a comanda succesiuni simple de
operaţii în liniile de producţie caz în care comanda se bazează pe informaţiile primite de PLC
de la senzorii de proximitate. În acest caz programul pe baza căruia se realizează
automatizarea se scrie ca succesiuni de linii scrise sub formă de Ladder diagram sau Function
Block Diagram sau Statement List.
Execuţia programului începe cu prima linie de sus-stânga, „Top rung” se parcurg de la
stânga la dreapta, linie cu linie până se ajunge la ultima linie „Bottom rung” unde se va
actualiza ieşirea O:2/3. Timpul în care un PLC parcurge toate liniile de program depinde de
frecvenţa procesorului, timpul unui ciclu precum şi de numărul liniilor de program, figura 1.
Figura 1. Parcurgerea liniilor de program
Pentru activarea intrărilor cu semnale digitale la fiecare din aceste intrări se
conectează un element de control: buton cu sau fără memorie, întreruptor cu contact normal
deschis sau normal închis, senzor de proximitate etc. Pe intrările PLC-ului pot ajunge şi
semnale de la alt PLC care este pe poziţia de „Master”, faţă de care primul PLC este
subordonat, caz în care este „Slave”.
Pe liniile tehnologice şi de producţie pot exista PLC-uri aşezate la diferite nivele
ierarhice. Să presupunem că ne referim la un PLC aflat la nivelul unui post de lucru, la nivelul
unei maşini de lucru. Legarea intrărilor şi ieşirilor PLC-ului la elementele de proces o numim
configuraţie hardware. După ce am definit configuraţia hardware se poate trece la
programarea sistemului. Pentru programare se apelează la platformele de programare
recomandate de producătorul PLC-ului. În figura 2 se poate vedea circuitul de alimentare a
PLC, activarea intrării I1 printr-un contact normal deschis spre 24 V DC iar pe ieşirea Q1
circuitul de activare a ieşirii L care poate fi o lampă de semnalizare, un electromagnet al unui
contactor sau releu intermediar etc.
Configuraţia Hardware
Configurarea hardware presupune alegerea PLC-ului, a sursei de alimentare,
elementelor care activează intrările precum şi a elementelor prin care se corectează procesul:
actuatori electromecanici, electromagneţi, contactoare, relee sau elemente care
semnalizează starea procesului, semnalizatoare luminoase sau acustice.
Figura 2. Accesul la intrările şi ieşirile unui controller logic programabil
Numărul intrărilor şi al ieşirilor se stabileşte de către utilizator în funcţie de
complexitatea aplicaţiei. Un PLC conţine un număr de intrări şi ieşiri ca dotare de bază iar
dacă sunt necesare mai multe intrări sau ieşiri se pot face extinderi prin conectare de module.
Cu cât numărul acestora este mai mare cu atât se pierde din viteza de lucru a sistemului,
timpul de scanare a tuturor intrărilor creşte. În cazul automatizării mişcărilor, a deplasărilor,
dacă unitatea de bază are ca timp de ciclu, de scanare a intrărilor din modulul de bază de 3ms
atunci extinderea numărului de intrări nu poate afecta performanţele de ansamblu a
sistemului, în cele mai multe din cazurile practice.
Pentru accesarea ieşirilor din PLC se pot utiliza sisteme cu microrelee interne care
adesea oferă un contact normal deschis pe fiecare ieşire. Pentru interfaţarea cu procesul se
interpune, cel mai adesea, un contactor sau releu intermediar. Folosirea unui contactor sau
releu intermediar duce la creşterea durabilităţii PLC-ului ca ansamblu, deoarece distrugerea
unui microreleu intern are ca urmare inutilitatea PLC-ului. Pierderea materială creşte de la
valoarea unui releu la valoarea unui PLC. În aplicaţiile practice se recomandă controlul
elementelor de proces prin intermediul unui contactor sau releu intermediar.
Pentru scrierea programului aplicaţie cu ajutorul unei platforme specifică PLC-ului
ales, şi încărcarea acestuia în interiorul PLC avem nevoie de instrucţiuni. Elementele de bază
ale unei instrucţiuni sunt: OPERATORUL ŞI OPERANDUL. Operatorul se referă la operaţia
logică ce se efectuează asupra unui operand. Operaţiile logice sunt cele şase funcţii logice
elementare, atribuiri de semn, comparaţii logice etc. Operanzii sunt fie intrări prin starea lor
logică „0” sau „1”, fie imagini ale ieşirilor, fie conţinutul locaţiilor de memorie, programate şi
cunoscute prin definire în program, figura 3.
Figura 3. Structura unei instrucţiuni
În categoria „Operand” putem să avem imaginea stării unui Timer sau Counter care, la
rândul lor pot fi programate prin aceeaşi platformă specifică PLC. În figura 4 este prezentată
situaţia în care configuraţia prezentată anterior este programată să poată permite preluarea
stării logice a intrării I1. Se poate vedea cum starea intrării I1 schimbă în mod direct starea
ieşirii Q1. Programul aplicaţie prezentat in dreapta figurii 4 arată că dacă I1=1 atunci Q1=1,
PLC-ul funcţionând ca un simplu întrerupător. Citind programul scris în STL avem: „LD” adică
încarcă, citeşte starea intrării I0.1 iar rezultatul transferă-l la ieşirea Q0.1 care în program
corespunde cu (=Q0.1).
Figura 4. Programarea funcţiei logice „ŞI” (AND)
Pentru programare ne folosim de câmpurile pe care le avem la dispoziţie şi oferite de
platforma în care lucrăm. Pentru toate PLC-urile indiferent de firmă avem câmpuri pentru
intrări şi un singur câmp pentru ieşiri. Ieşirile, de exemplu cea din figura 4 unde pe Q1 avem
consumatorul L, nu ne permite să legăm fizic decât lampa L. Dacă această lampă trebuie să ne
semnalizeze ceva din proces atunci acel ceva este unic, nu se poate suprapune cu alta
semnalizare sau comandă spre un element al procesului. Pentru anumite firme aceste
câmpuri, ale intrărilor sunt limitate funcţie de model, la 3, 4 sau 5. Pentru ieşiri vom avea o
singură coloană (un singur câmp).
În câmpul intrărilor se pot plasa mai multe imagini ale intrărilor, ieşirilor, memoriilor,
timere-lor, contoarelor etc., ce vor avea rolul de operanzi.
PLC-ul „citeşte” starea intrărilor după care execută programul, prelucrează logic starea
logică a intrărilor, a imaginilor celorlalte elemente din programul aplicaţie după care
transferă rezultatul spre ieşirile vizate în programul aplicaţie. Programul aplicaţie este
programul întocmit de noi pe baza unei platforme de programare spre a rezolva o problema
din procesul automatizat după care ciclul se reia cu scanarea (citirea) intrărilor, figura 5.
Figura 5. Fazele executării ciclice a programului în PLC
Execuţia ciclică a programului este specifică numai controlerelor logice programabile –
PLC. Această calitate a lor le-a făcut să devină acele calculatoare de proces care pun pe primul
loc starea procesului şi nu alte activităţi pe care procesorul trebuie să le rezolve. Dacă la un
PC procesorul primeşte informaţia spre a fi procesată, pe baza unor priorităţi care cel mai
adesea nu ţin seama de exteriorul acestuia, de un eventual proces industrial. La un PLC nu
apare niciodată „Pease wait” ca la PC. La PLC prioritare sunt intrările, starea acestora,
trecerea acestora dintr-o stare în alta astfel încât orice schimbare a unei intrări determină
execuţia întregului program aplicaţie aflat într-o memorie internă a PLC şi numită memorie
program. La un PC programul se lansează în execuţie şi rămâne rezident în memoria RAM a
calculatorului până în momentul opririi calculatorului. Şi un PC are intrări (mouse, pad, USB,
tastatura, microfoane, camere video etc.) pe care le supraveghează în permanenţă dar
schimbarea stării acestora nu relansează programul (windows-ul). Prin urmare un PLC este un
calculator creat special pentru automatizarea proceselor industriale, având o structură
minimală şi performantă pentru acest scop, fiabilitate şi comportament bun in mediul
industrial, cu consum mic de energie. Execuţia ciclică a unui program în cazul PLC este
ilustrată în figura 6. Cea mai mare parte a timpului este ocupată de execuţia programului.
Timpii care curg începând cu citirea intrărilor şi până ce are loc schimbarea stării procesului
sunt foarte importanţi şi, în funcţie de numărul parametrilor de proces urmăriţi, de numărul
traductoarelor din proces, aceşti timpi trebuind să fie mai mici decât timpul schimbării stării
unui parametru de proces.
Figura 6. Execuţia ciclică a programului
Foarte mulţi parametrii de proces au evoluţii „lente” în comparaţie cu timpii de lucru
ai procesoarelor din PLC. Parametrii cu evoluţii lente sunt: temperatura, nivelul unui lichid,
nivelul unei turaţii, presiunea, debitul etc. Îmbunătăţirea performanţelor controlerelor logice
programabile a făcut ca aceste sisteme să fie tot mai mult integrate în automatizări complexe
în tandem cu sisteme de achiziţie a datelor, cu calculatoare sau echipamente de comandă
numerică etc.
Scrierea unei linii de program
Pentru scrierea unei linii de program considerăm o aplicaţie simplă cu o comandă de
start, una de stop şi o automenţinere pe care o putem vedea în schema din figura 7 şi pe care
o ştim de la automatul cu relee.
Figura 7. Automatul cu relee
Pentru a scrie programul aplicaţie pentru un PLC, pentru această schemă considerăm
linia verticală din stânga ca fiind linia activă, cea care este conectată la potenţialul care are
nivelul logic „1”, de exemplu + 24 V DC. Linia verticală din partea dreaptă o considerăm linia
legată la potenţial „0 V”. Acum putem considera că circuitul se închide de la + 24V DC prin
contactul de start, stop, bobina releului şi „0V”. Butonul de „start”, cel de „stop” precum şi
imaginea ieşirii „contactor”, „automenţinere” se aşează în câmpul intrărilor. Ieşirea
„contactor” se aşează în coloana ieşirilor care este una singură. Interpretarea logică a ceea ce
se întâmplă informaţional cu starea celor două intrări „Start” şi „Stop” este redată în figura 8.
Figura 8. Reprezentarea în funcţii logice
Ieşirea din program, starea contactorului este determinată de funcţia logică „AND”
care are ca intrări starea logică a butonului de „Stop” precum şi rezultatul prelucrării în
operatorul „OR” a stării butonului de „Start” şi a imaginii ieşirii (starea contactorului) prin
starea logică a „Automentinere”. Funcţia de automenţinere este determinată de starea
contactorului, un contactor alimentat, activat, va avea asigurată funcţia de automenţinere
prin contactele proprii, normal deschise care se activează odată cu acesta.
Trecerea la programul Ladder se face simplu chiar cu ajutorul platformelor în care
realizăm programul aplicaţie pentru PLC. Aşa cum reiese din figura 9, programul scris în
Ladder diagram se aseamănă foarte mult cu schema cu relee, au fost schimbate simbolurile
pentru contactul normal deschis al butonului de „Start”, cel normal închis al butonului de
„Stop” şi imaginea ieşirii, automenţinerea.
Figura 9. Construcţia unei linii de program Ladder
Configuraţia hardware a acestei aplicaţii este prezentată în figura 10.
Figura 10. Configuraţia hardware, activarea intrărilor şi a ieşirilor
Pe lângă conectarea cu sursa de alimentare la + 24 V DC, respective 0 V se vor conecta
spre + 24 V DC cele două intrări I1 şi I2 prin intermediul contactului normal deschis al
butonului de „Start” respectiv prin contactul normal deschis al butonului de „Stop”. La ieşire
va fi conectată bobina contactorului, în cazul nostru pe ieşirea Q1. Valoarea tensiunii VL se
stabileşte în funcţie de parametrii de funcţionarea a contactorului. În multe cazuri tensiunea
de alimentare a bobinelor contactoarelor este aceeaşi cu cea a controlerului logic
programabil. În câmpul intrărilor vom găsi imaginile şi, implicit instrucţiunile intrărilor
„START” şi „STOP”, figura 11. În câmpul ieşiri găsim instrucţiunea ieşirii.
Programul scris astfel, în Ladder diagram, reproduce logica funcţiei „AND”, Q1=I1xI2.
Figura 11. Structura unei linii de program Ladder
Când programul se complică pot să apară ramificaţii prin care se combină funcţiile
logice elementare „AND” cu „OR”. În câmpul intrărilor avem A OR B legate în logică AND cu C
şi D. Cele două ieşiri E şi F vor deveni active în acelaşi timp. Cele două ieşiri pot fi 2 bobine ale
unor contactoare, relee intermediare, electromagneţi diverşi etc. Fiind legate în paralel
trebuie să aibă aceeaşi impedanţă. Ecuaţia de transfer pentru programul din figura 12 va fi:
E=(A+B)(C)(D).
Figura 12. Interpretarea programului
În cazul programului scris în figura 12 configuraţia hardware presupune activarea
intrărilor: Io prin A, I1 prin B, I2 prin C şi I3 prin D, figura 13. Ieşirile E şi F vor fi alimentate în
acelaşi timp şi la aceeaşi parametri. Privind configuraţia în jurul PLC-ului aceasta arată foarte
simplă, în principiu fiecare element de comandă se conectează la una din intrări şi fiecare
element de ieşire se va conecta la una dintre ieşirile PLC. Modul în care se vor activa ieşirile
din PLC depinde de operanzii, de funcţiile logice, care interpretează operatorii aceştia fiind
intrările, locaţii de memorie, timere, imagini ale ieşirilor etc.
Figura 13. Schema logică a programului din figura 12
Figura 14. Configuraţia hardware pentru programul din figura 12
După ce s-a realizat configuraţia hardware urmează transferul programului în
memoria program a PLC-ului. După comanda start programul este parcurs instrucţiune cu
instrucţiune, se parcurge linia de program de la linia activă la linia de program zero apoi linia
următoare, figura 15.
Figura 15. Program scris în Ladder, parcurgerea instrucţiunilor
Programul poate fi scris în mai multe moduri: Instruction List (IL), Structured Text (ST),
Function Block Diagram (FBD) şi Ladder Diagram (LD), figura 16.
Figura 16. Programe scrise în 4 limbaje
Exemplu
Să considerăm o aplicaţie care permite comanda de la distanţă a unui actuator A.
Trebuie asigurată posibilitatea de Start, stop de urgenţă, automenţinere. Prin apăsarea
butonului PB1 se va activa releul R1 care-şi va schimba starea contactelor sale, cele normal
deschise se vor închide iar cele normal închise se vor deschide. Contactul R1 din coloana 1 va
asigura automenţinerea.
Figura 17. Comanda de la distanţă a actuatorului A
Oprirea automatului se realizează prin apăsarea PB2, a stopului de urgenţă.
Configuraţia hardware conţine pe intrare butonul de start (PB1) şi butonul de stop PB2, figura
18.
Figura 18. Configuraţia hardware
Ieşirea R1 din interiorul controlerului logic programabil va asigura alimentarea
actuatorului A.
În figura 19 este prezentată atât configuraţia hardware cât şi programul aflat în
interiorul PLC-ului-programul aplicaţie, în memoria program. Pe intrări sunt conectate cele
două contacte normal deschise A şi B iar pe ieşirea 11 elementul de comandă C. Programul
din memoria program a PLC-ului asigură comanda de la distanţă, automenţinerea şi stopul.
Elementul 20 din program este o locaţie de memorie care se va încărca cu „1” logic atunci
când butonul A va fi acţionat. Când în memoria 20 avem „1” logic ieşirea 11 va deveni activă.
Figura 19. Legarea PLC la proces şi legătura cu programul
Activarea intrărilor şi ieşirilor
Activarea intrărilor se realizează prin legarea la o sursă de tensiune aflată în interiorul
PLC sau în exteriorul acestuia, figura 20. Activarea se poate realiza în curent continuu (DC) sau
curent alternativ (AC).
Figura 20. Activarea intrărilor unui PLC
Pentru ieşiri, la fel ca şi pentru intrări se pot activa în curent alternativ sau în curent
continuu, figura 21. Ieşirile pot fi digitale sau analogice, cele digitale pot fi de tip releu, sau pe
bază de tranzistor.
Figura 21. Activarea ieşirilor unui PLC
Exemplu
În figura 22 avem două linii de program pentru funcţia logică „ŞI”
Figura 22. Funcţia logică “ŞI”
În figura 23 avem o linie de program în care apare funcţia logică „SAU”.
Figura 23. Funcţia logică “SAU”
În figura 24 un program cu o combinaţie de „ŞI” într-o funcţie „SAU”.
Figura 24. Combinaţie “ŞI”, “SAU”
În figura 25 avem un program scris în FBD.
Figura 25. Program scris în FBD
În figura 26 avem acelaşi program scris în STL.
Figura 26. Program scris în STL
Exemplu
Considerăm programul din figura 27, în care apare imaginea unei intrări la care avem
conectat un buton cu contact normal deschis şi un buton cu contact normal închis.
Figura 27. Program în Ladder diagram
În figura 28 acelaşi program poate fi văzut scris în toate cele 5 limbaje specifice PLC.
Figura 28. Programul din figura 27 scris în 5 limbaje
EXEMPLE
Figura 29. Comanda condiţionată din două puncte simultan
Figura 30. Aplicaţie pentru funcţia logică “OR”
Figura 31. Funcţia de inversor
Figura 32. Program pentru “OR-EXCLUSIV”
Figura 33. Bistabil
Figura 34. Aplicaţie bistabil R-S
Figura 35. Bistabilul T
Figura 36.
MASTER CONTROL RELAYS (MCRs)
Figura 37. Program Master control Realays
MCRs Emergency stop
Figura 38. Aplicaţie „Emergency stop
Figura 39. Program Master
FUNCŢIONAREA PLC
Figura 40. Componentele unui PLC
Figura 41. Activarea intrărilor-faza 1
Figura 42. Activarea intrărilor-faza 2
Figura 43. Activarea ieşirilor-faza 1
Figura 44. Activarea ieşirilor-faza 2
Figura 45. Scanarea programului
Figura 46. Scanarea programului
Figura 47. Trecerea datelor de la intrări spre ieşiri
Figura 48. Scanarea procesului
Figura 49. Parcurgerea unui program in Ladder
Figura 50. Parcurgerea unui program în Ladder
Figura 51. Exemplu de program în 4 limbaje
Figura 52. Comparaţie între limbaje
Figura 53. Starea intrări-ieşiri
Figura 54. Starea intrări-ieşiri
Figura 55. Exemplu program în Ladder diagram
Figura 56. Exemplu program în Ladder diagram
Figura 57. Starea unei linii de program
Figura 58. Starea unei linii de program
EXEMPLE
Figura 59. Program scris în FBD
Figura 60. Expresia logică şi programul în Ladder diagram
Figura 61. Program pentru emergency stop
Figura 62. Program în Ladder diagram pentru o aplicaţie dată
Figura 63. Comanda pornirii unui MAS
Figura 64. Schema electrică a automatului cu relee şi programul Ladder