programmable logic controller (plc)-proiect-

33
Universitatea “Dunarea de Jos” Facultatea de Automatica,Calculatoare,Inginerie Electrica si Electronica Programmable Logic Controller (PLC) ------ Proiect------

Upload: daniela-cofa

Post on 03-Feb-2016

124 views

Category:

Documents


5 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Programmable Logic Controller (PLC)-Proiect-

Universitatea “Dunarea de Jos”Facultatea de Automatica,Calculatoare,Inginerie Electrica si Electronica

Programmable Logic Controller (PLC)

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

Student : Cofa Daniela

Indrumator: Bogdan Codres

Page 2: Programmable Logic Controller (PLC)-Proiect-

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

Page 3: Programmable Logic Controller (PLC)-Proiect-

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

Arhitectura PLC-ului

unitatea deprogramare

UCP memoria

modulele de I/O

Magistrala

dispozitive deactionare

senzori

Î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

Page 4: Programmable Logic Controller (PLC)-Proiect-

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

Page 5: Programmable Logic Controller (PLC)-Proiect-

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

Page 6: Programmable Logic Controller (PLC)-Proiect-

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

Page 7: Programmable Logic Controller (PLC)-Proiect-

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  comunicatie 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

Page 8: Programmable Logic Controller (PLC)-Proiect-

fi  modificati  anumiti  parametri  în  program  sau  chiar  întregul  program  existent  î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  anumitor  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  serial  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

Page 9: Programmable Logic Controller (PLC)-Proiect-

Aceste  module  sunt  utilizate  în  cadrul  aplicatiilor  care  necesita  pozitionarespatiala  a  unor  elemente componente  prin  intermediul  unor  elemente  de  actionare.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  accelerare  si incetinire.  Este  mult  usurata  comanda  MPP  cu  ajutorul  AP în  aplicatii  ce  implica 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  asamblare automate  sau  robotica.  Cele mai  întâlnite  aplicatii  presupun  pozitionarea  unei  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  informatiilor  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

Page 10: Programmable Logic Controller (PLC)-Proiect-

- utilizarea  modulelor  de  intrare/iesire  obisnuite  si  materializarea  prin  program  a algoritmilor de reglaj.

Cele mai utilizate module pentru reglajul automat sunt cele care implementeazaalgoritmii de tip PID.

Ajustarea  sistemului  se  realizeaza  prin  reglarea  potentiometrelor  care  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,  ajustarea 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 simpleDispozitive simple care au de cele mai multe ori doar un monitor si o tastatura. Sunt  dotate  cu  inteligenta,  întreaga functionalitate  privind  comunicarea  dintre  om  si masina este înglobata în AP. Afiseaza informatia transmisa de AP si

10

Page 11: Programmable Logic Controller (PLC)-Proiect-

permit introducerea si   transmiterea   informatiei   de   la   utilizator   la   AP.  Transmiterea   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 dedicateAu î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  programul  poate  fi scris în aceasta memorie dupa care el este transferat în memoria AP.Mare  parte  din  aceste  dispozitive  permit  utilizatorului  sa  depaneze  programul 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ânaSunt 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   parametri   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  

11

Page 12: Programmable Logic Controller (PLC)-Proiect-

manuale  a sistemului, utilizând o microtastatura si un monitor software cu functiuni specifice.Î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  documentatie. 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  la  î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

Page 13: Programmable Logic Controller (PLC)-Proiect-

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

Reprezentarea grafică şi textuală a unui pasIndicatorul 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

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

Page 14: Programmable Logic Controller (PLC)-Proiect-

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.

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

14

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

Tij

Page 15: Programmable Logic Controller (PLC)-Proiect-

prin 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 activP Impuls execută când pasul asociat este activatS Setare execută până când calificativul relativ R este intersectatR Iniţializare termină execuţia stocată (S)L timp Limitat termină execuţia după un timp datD timp Întârziat începe execuţia după un timp datSD Stocat şi timp Întârziat începe execuţia S după un timp datDS timp Întârziat şi Stocat începe execuţia S dacă pasul durează un timp datSL Stocat şi timp Limitat începe execuţia S şi termină după un timp datP1 Puls front crescătorP0 Puls front căzătorRegulile 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

Page 16: Programmable Logic Controller (PLC)-Proiect-

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.

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

1

2 Pornirea motorului M1

3 Pornirea Timer-ului

4 Oprirea motorului M1

1

2

3

4

Run & nu Error

M1 pornit

Timer >t#3s

Tix

101 Alarmă

101

102

Eroare

Confirmare

Page 17: Programmable Logic Controller (PLC)-Proiect-

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:

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

1 Iniţializare

2 Proces 1

3 Aşteptarea Procesului 2

1

2

3

Run

Finalul Procesului 1

101 Proces 2

101 Finalul Procesului 2

Adevărat

102 Aşteptarea Procesului 2

Page 18: Programmable Logic Controller (PLC)-Proiect-

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.

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 :

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

Şina din stânga

Şina din dreapta

Şina verticală din stânga

Şina (magistrala) verticală din dreapta

Linia de conectare orizontală

Linia de conectare verticală

Linii de conectare multiplă (conectate toate împreună)

Contact asociat cu o variabilă

Coil asociată cu o variabilă de ieşire sau internă

Page 19: Programmable Logic Controller (PLC)-Proiect-

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 blocurilor funcţie şi a programelor ca un set de blocuri grafice interconectate, care la rândul lor sunt funcţii sau blocuri funcţie. După cum s-a anticipat deja, FBD poate fi folosită pentru a detalia condiţiile tranziţiei şi acţiunile schemelor SFC.

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

a)

a

b

c

ORb)a

bc

Page 20: Programmable Logic Controller (PLC)-Proiect-

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 bloc are un tip bine definit.

***Sintaxa blocului FBD***

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

intrări ieşiri

&intrări ieşiri

Numele funcţiei

Page 21: Programmable Logic Controller (PLC)-Proiect-

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.

Echivalenţa ST: output 1 : = input 1 AND NOT (input 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 :

**Utilizarea saltului şi a etichetei

Echivalenţa IL:LD manualAND b1 JMPC NOMODIF... ... ...

NOMODIF: LD resultOR validST 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

&intrarea 1

ieşirea 1intrarea 2

&manual

NOMODIFb1

>=1rezultat

validcmd 10

NOMODIF:

Page 22: Programmable Logic Controller (PLC)-Proiect-

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

***Utilizarea întoarcerii

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.

**Feedback explicit şi implicit

22

RETURN

&bi 10

bi 23 >=1 bo 67

x_cmd

>=1

auto_mode

alarm

OR s1

s2

&

enarun

a)

OR s1

s2

&

enarun

b)

run

&

ena

c)ror

OR s1

s2ror

Page 23: Programmable Logic Controller (PLC)-Proiect-

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.

*** Utilizarea funcţiilor FBDEchivalenţ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

Cântărire

mode

delta = RETURN0

+tare_weight

weight

net_weight

Page 24: Programmable Logic Controller (PLC)-Proiect-

        -  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