Sunteți pe pagina 1din 74

qwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwer tyuiopasdfghjklzxcvbnmqwerty Automate programabile CURS uiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfgh jklzxcvbnmqwertyuiopasdfghjkl zxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcv

bnmqwertyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqw


Conf. dr. ing. Tiberiu Coroescu
2011/2012 Autor: tefan Amaximoaie

Concepte fundamentale privind automatele

Elemente de stiinte automate

1. Utilizarea comutatiei la realizarea automatelor


Partea dintre un sistem automat ce conduce instalatia industriala sau procesul se numeste dispozitiv de automatizare. Exista o categorie de dispozitive de automatizare care elaboreaza comenzi discrete de tipul pornit oprit, inchis deschis, actionat blocat, etc. numite automate discrete. Automatele discrete care realizeaza un algoritm, parcurgand un numar finit de etape, se numesc, pe scurt, automate. Spunem despre un element ca este in comutatie daca are un numar finit de stari stabile, trecerea de la o stare la alta facandu-se sub actiunea marimii de intrare. In practica, cele mai folosite elemente de comutatie prezinta doua sau trei stari stabile astfel, in figura a, se prezinta ca exemplu un releu cu un contact comutator cu doua stari stabile, in figura b unul cu trei stari stabile, ce are in plus starea intermediara, elementul fiind sensibil la polaritatea tensiunii.

Caracteristicile de stare ale contactului in cele doua cazuri sunt prezentate in figura c, respectiv figura d.

Elementele prezentate realizeaza comutatia printr-o miscare mecanica a contactelor, de aceea se numesc elemente de comutatie dinamica. Elementele de comutatie se pot realiza si din componente electronice, caz in care comutatia este realizata in tensiune sau curent. Elementul de baza, in comutatia electronica, este tranzistorul. In figura a si figura b se prezinta un element de comutatie cu doua stari utilizand tranzistorul Q si caracteristica sa.

In figura c si figura d se prezinta un element de comtuatie cu doua stari, utilizand doi tranzistori, Q1 si Q2, ce functioneaza in contratimp si sunt comandati de tensiunile de intrare U1 si U2. U1 = +V produce starea +I0, intrarea U2 = +V produce starea I0, iar in cazul U1 = U2 = 0 se produce starea I0 = 0, numita a treia stare.

Comutatia electronica se face fara elemente de miscare si se numeste comutatie statica. Elementele de comutatie, avand doua stari, pot fi puse in corespondenta cu valorile logice de adevarat sau fals din logica matematica. Un element de comutatie X parcurs de curent are valoarea X = 1 (Adevarat) si unul care nu este parcurs de curent are valoarea X = 0 (Fals).

Un element de comutatie se poate gasi in doua stari, logic 0 cand nu este parcurs de curent si logic 1 cand este parcurs de curent. Comutatia de la logic 0 la logic 1 reprezinta frontul pozitiv al semnalului, iar de la logic 1 la logic 0 reprezinta frontul negativ al semnalului. Se considera doua contacte care au o functionare inversa unul fata de celalalt. Contactul normal deschis (ND) realizeaza, in repaus, logic 0, iar in comutatie trece in logic 1 (se inchide). Un contact normal inchis (NI) realizeaza, in repaus, logic 1, iar in comutatie trece in logic 0 (se deschide). Notam starea celor doua contacte prin variabila . Putem reprezenta starea contactelor sub forma unui tabel logic numit tabel de adevar: 0 1 1 0 Un contact ND se spune ca realizeaza operatia logica DA, iar cel NI realizeaza operatia logica NU.

2. Operatii logice fundamentale pentru automate


Pentru analiza automatelor, se considera ca elemente de comutatie sunt reprezentate prin variabilele ui ce pot lua doar valorile 0 si 1, deci (0,1). Variabila ui se numeste variabila binara, iar cu ajutorul acestora se pot realiza operatii matematice respectand anumite reguli. Totalitatea acestor proprietati formeaza algebra Boole. Algebra Boole este definita prin urmatoarele 11 proprietati: - Comutativitatea: 1 + 2 = 2 + 1; 1 2 = 2 1 - Asociativitatea: 1 + (2 + 3 ) = (1 + 2 ) + 3 - Distributivitatea: (2 + 3 ) = 2 + 3 ; 1 + 2 3 = (1 + 2 ) (1 + 3 ) - Absorbtia: 1 + 2 = 1; (1 + 2 ) = 1 - Idempotenta: 1 + 1 = 1 ; 1 1 = 1 - Necontradictia: = 0 - Tertul exclus: + = 0 - Proprietatea valorii logice 0: + 0 = ; 0 = 0 - Proprietatea valorii logice 1: 1 = ; + 1 = 1 - Negatia: 0 = 1; 1 = 0; = - De Morgan: (1 + 2 ) = 2 ; (1 2 ) = + 2

3. Operatii si functii logice derivate pentru automate


operatii logice de doua variabile va fi = 22 = 22 = 16 operatii logice. Pentru N = 1, vom avea O = 22 = 4 operatii logice de o variabila:
2

Operatia logica se realizeaza cu una sau doua variabile, deci N = 2. Numarul total de

Cele 16 operatii logice de doua variabile sunt prezentate in tabelul urmator:

Operatiile logice SI sau NU sunt operatii logice fundamentale, iar expresiile logice realizate cu operatiile fundamentale se numesc functii logice derivate. Exista 6 operatii logice derivate si anume: - SAU exclusiv, Dilema (y6); - Echivalenta sau coincidenta (y9); - Interdictia sau inhibitia (y2, y4); - Implicatia (y11, y13); - Nici sau NOR (y8); - Numai sau NAND (y14). Conventia SHANNON afirma ca operatia logica SI corespunde legarii in serie a elementelor de comutatie, operatia logica SAU corespunde legarilor in paralel, operatia DA corespunde contactului normal deschis, iar operatia NU corespunde contactului normal inchis. Functia logica este o expresie formata din mai multe variabile binare utilizand operatiile logice fundamentale sau derivate.

4. Sinteza functiilor logice de comanda a unui automat prin metoda algebrica directa
Pentru aplicarea metodei algebrice directe de sinteza se impune introducerea unor notiuni specifice, si anume, o functie logica este sub forma dijunctiva daca contine mai multi termeni legati intre ei prin operatia logica SAU, fiecare termen continand variabile de intrare negate sau nu, legate intre ele prin operatia logica SI. = 1 + 2 + 3 ; 1 = 1 2 3 , 2 = 1 2, 3 = 3 = 1 2 3 + 1 2 + 3 O functie logica este sub forma canonica dijunctiva daca termenii sai legati intre ei prin operatia logica SAU contin fiecare toate variabilele de intrare. 2 3 = 1 + + = 1 2 3 + 1 2 3 + 1 2 3

O functie logica este scrisa sub forma conjunctiva daca contine mai multi factori legati intre ei prin operatia SI, fiecare factor continand variabilele de intrare, negate sau nu, legate intre ele prin operatia logica SAU. = 1 2 3 ; 1 = 1 + 2 + 3 , 2 = 1 + 2 , 3 = 3 O functie logica este scrisa sub forma canonica conjunctiva daca fiecare dintre factorii sai, legati intre ei prin operatia SI, contin toate variabilele de intrare. 2 3 ) = 1 = (1 + 2 + 3 ) (1 + 2 + 3 ) (1 + 2 + 3 = (1 + 2 + 3 ) (1 2 ) + 3

In urma sintezei prin metoda algebrica directa, functia logica se obtine sub forma canonica dijunctiva. Pentru aplicarea metodei algebrice directe este nevoie sa se intocmeasca o tabela speciala numita tabela de adevar. Aceasta contine un numar de linii L = 2n si un numar de coloane C = n+1, unde n reprezinta numarul variabilelor de intrare. In primele n coloane se trec toate combinatiile posibile ale variabilelor de intrare scrise in cod binar natural. In ultima coloana se trec valorile functiei logice y conform conditiilor de sinteza. Functia logica obtinuta prin aceasta metoda este formata din atatia termeni cate valori de 1 exista in coloana lui y. Fiecare termen contine toate variabilele de intrare, negate sau nu, dupa cum in linia termenului respectiv variabilele au valoarea 0 sau 1. Functia logica finala contine toti termenii legati intre ei prin operatia SAU, deci este scrisa sub forma canonica dijunctiva si este nesimplificata. Simplificarea se face aplicand proprietatile algebrei Boole. variabile binare, adica = (1 , 2 , 3 ) stiind ca functia are valoarea 1 daca doua sau trei variabile au valoarea 1. Tabela de adevar va avea un numar de linii L = 23 = 8 si un numar de coloane C = 3+1 = 4. Liniile si coloanele sunt active.

Exemplu : Sa se faca sinteza prin metoda algebrica directa pentru o functie logica de 3

Pentru simplificarea functiei aplicam in urmatoarea ordine proprietatile algebrei Boole: - Idempotenta; - Distributivitatea; - Tertul exclus; - Proprietatea ultimului element.

5. Sinteza functiilor logice de comanda a unui automat prin metoda diagramelor Karnaugh
Metoda de sinteza a diagramelor Karnaugh se mai numeste si metoda diagramelor de combinatii. Este o metoda grafica de sinteza si simplificare a functiilor logice. Pentru aplicarea metodei este necesar sa se contruiasca un tablou special numit diagrama de combinatie, avand un anumit numar de linii si coloane. Variabilele se vor imparti pe linii si coloane, astfel daca n este numarul variabilelor de intrare se vor grupa pe linii n1 variabile si pe coloane n2 variabile, astfel incat = 1 + 2 , cu conditia ca 1 2 (cu o singura unitate). Diagramele de combinatie vor avea un numar de linii = 21 si un numar de coloane = 22 . Pe liniile diagramei de combinatii se trec toate variantele de combinatie posibile ale variabilelor in succesiunea codului Gray. Acest cod este ciclic, simetric si reflectat, adica variabilele sale sunt simetrice fata de anumite axe de simetrie. In interiorul casutelor diagramei de combinatie, obtinute la intersectia liniilor cu coloanele, se trec valorile functiei logice conform conditiilor de sinteza. Valorile de 1 ale functiei logice se vor grupa cate doua, patru, opt, etc. grupele de 1 fiind simetrice fata de o axa. Aceste grupe se numesc adiacente si se marcheaza. Daca se reuseste ca toate valorile de 1 ale functiei sa fie grupate in adiacente, atunci functia logica finala se obtine direct simplificata, aceasta deoarece din fiecare adiacenta dispare variabila care are si valoarea 0 si valoarea 1. Fiecare adiacenta produce cate un termen. Functia logica finala obtinuta este simplificata, este scrisa sub forma dijunctiva insa nu canonica.

Exemplu : Sa se faca sinteza prin metoda diagramelor Karnaugh pentru o functie logica
de trei variabile binare, stiind ca functia are valoarea 1 daca doua sau trei variabile iau valoarea 1. = 3 = 1 + 2 2 = 1 (3 ) 1 = 2 (1 , 2 ) , 2 = 2 = 4 = 22 = 2 Avem 4 linii si 2 coloane active.

Trei adiacente simetrice fata de axele 1,2 si 3. Fiecare din adiacenta va produce un termen.

6. Sinteza automata a functiilor logice de comanda a unui automat prin metoda Quine McCluskey
Este o metoda generala si sistematica de sinteza si simplificare a functiilor logice avand oricat de multe variabile de intrare. Metoda se aplica pe baza unui algoritm, putand fi rulata pe computer. Spre deosebire de celelalte metode de sinteza la care numarul variabilelor de intrare este limitat la 6-8 variabile, pentru aceasta metoda numarul variabilelor de intrare este limitat doar de memoria computerului. Metoda se aplica in trei etape: - Etapa de simplificare; - Etapa de alegere; - Etapa finala.

Etapa de simplificare
Pe baza tabelei de adevar se scrie functia logica sub forma canonica dijunctiva. Se grupeaza apoi termenii obtinuti intr-o tabela de simplificare (combinare) care contine mai multe grupe de termeni. Fiecare grupa a tabelei contine toti termenii avand acelasi numar de variabile negate. Deobicei, grupele se construiesc in ordine descrescatoare a numarului de variabile negate. Pe prima coloana a tabelei se trece numarul grupei. Pe a doua coloana se trec termenii din fiecare grupa. Pe a treia coloana se face marcajul termenilor. Se vor marca toti termenii care se combina dintr-o grupa cu grupa urmatoare. Combinarea se face numai in cazul cand doi termeni din grupe diferite difera printr-o singura variabila. Doi termeni care se combina vor da prin combinare un implicant. Variabila care difera va disparea fiind inlocuita printr-o liniuta in cadrul implicantului.

In cadrul aceleiasi tabele se grupeaza apoi implicantii obtinuti tot dupa numarul de variabile negate, formandu-se noi grupe. Implicantii din fiecare grupa se compara cu implicantii celorlalte grupe marcandu-se in cazul cand se combina. Termenii ramasi nemarcati, ca si implicantii ce nu se mai pot combina, se numesc implicanti primi. Etapa intaia se incheie cu obtinerea implicantilor primi.

Exemplu : Daca avem termenii 1 2 3 + 1 2 3 = 1 2

Etapa de alegere
Cu implicantii primi obtinuti in etapa intai se construieste o tabela de alegere. Aceasta contine pe prima linie toti termenii functiei logice initiale, iar pe prima coloana toti implicantii primi. In cadrul tabelei exista o limita pentru marcaj, atat in limita termenilor, cat si in coloana implicantilor primi. Se verifica daca implicantii primi provin din termenii functiei logice, adica daca termenii contin variabilele implicantilor primi, in acest caz se spune ca termenii sunt implicati de implicantii primi si acesti termeni se marcheaza cu cate o steluta. Acelasi marcaj se face in tabela la intersectia liniei implicantului prim cu coloana termenului. Se studiaza apoi tabela de alegere urmarindu-se daca pe coloana unui termen exista un numar minim de marcaje. Implicantii primi care implica acel termen se numesc implicanti primi esentiali si se marcheaza si ei. Etapa a doua se incheie cu obtinerea implicantilor primi esentiali.

Etapa finala
Se construieste o functie de alegere formata din mai multi factori, fiecare factor corespunzand unui termen nemarcat. Functia de alegere este sub forma conjunctiva, fiecare factor contine implicanti primi neesentiali legati intre ei prin operatia SAU. Va fi o functie = 1 2 . . . , unde F1 este un factor ce corespunde unui termen nemarcat, de exemplu 1 = + + , unde a, b, c sunt implicantii neesentiali. Se inlocuiesc factorii, se deschis parantezele, obtinandu-se la final un numar de termeni care ar putea sa apara in functia logica finala doar daca au un numar minim de variabile. Daca presupunem ca in urma etapei a doua s-au obtinut trei implicanti esentiali Ta, Tb si Tc si ca functia de alegere, dupa prelucrari, contine doi termeni = , atunci = + + + .

Exemplu : Sa se faca sinteza prin metoda Quine - McCluskey pentru o functie cu 3 variabile binare, stiind ca functia are urmatoarea tabela de adevar:

10

Etapa 1: construim tabela de simplificare combinare:

Etapa 2: construim tabela de alegere:

11

Etapa 3: functia de alegere = 1 = + = 1 3 + 2 3

Functii logice binare: 1 = + + = 1 2 + 1 2 + 1 3 3 2 = + + = 1 2 + 1 2 + 2

7. Clasificarea si structura automatelor


O clasificare se poate face in raport cu modul de realizare a elementelor de comutatie si a algoritmului de lucru. Din acest punct de vedere, automatele pot fi in logica cablata sau in logica programata. Automatele in logica cablata au proprietatea ca folosesc elemente de comutatie cu structura simpla, iar algoritmul de lucru se realizeaza pe baza unei scheme cablata interior. Automatele in logica programata folosesc ca elemente de comutatie circuite electronice programabile, iar algoritmul de lucru se realizeaza prin programul inscris in memoria automatului. O clasificare mai detaliata ar fi urmatoarea: - WLC: wire logic controler (automate in logica cablata): o Elemente in comutatie dinamica; o Elemente in comutatie statica. - PLC: programmed logic controler (automate in logica programata): o PLD embedded; o Microcontroler; o Microprocesor. Automatele WLC in comutatie dinamica folosesc ca elemente logice relee, contactoare, comutatoare si butoane. Avantaje: - Suporta curenti mari; - Nu sunt sensibile la perturbatii. Se folosesc foarte rar datorita comutatiei dinamice. Automatele WLC in comutatie statica folosesc comutatia pe principiu electronic si au avantajul robustetii, compactitatii, dar si dezavantajul lipsei de flexibilitate. Automatele PLC au urmatoarele avantaje: - Flexibilitate mare; - Realizare de operatiuni complexe; - Usurinta de adaptare a automatului la diverse procese tehnologice. Dezavantaj este viteza redusa de executie. 12

Sunt utilizate acolo unde viteza de executie nu este critica. Structura PLC cu microprocesor este urmatoarea:

Microprocesorul este pilotat cu ceasul format din cristalul de cuart XTAL si este resetat la punerea sub tensiune automat prin circuitul RC. Microprocesorul produce 3 magistrale: MA, MD (bidirectionala) si MC (magistrala de control pentru citirea/scrierea memoriei). Pentru citirea/scrierea intrarilor/iesirilor se folosesc IOR, respectiv IOW. Memoria are doua sectiuni: ROM, pentru programele de conducere a procesului, care ar trebui sa aiba capacitate mare, si RAM, pentru datele culese din proces. Memoria RAM nu are capacitate prea mare, deoarece se stocheaza doar datele curente. Aceasta caracteristica este o diferenta esentiala fata de microcalculator. Prin intrarile I si iesirile O placa de achizitie DAQ va conduce procesul pe baza algoritmului continut de programul din memoria ROM.

13

Structura PLC cu microcontroler este urmatoarea:

Microcontrolerul are ceasul cu cristal de cuart XTAL, circuitul de reset RC, 8 intrari logice (PI0 PI7), 8 iesiri logice (PO0 PO7), 8 intrari analogice (IA0 IA7), doua iesiri analogice (OA0 OA1) si linia de intrerupere INT0. Pentru a conecta la proces un echivalent PLC cu microcontroler este necesar sa adaptam semnalele ca amplitudine si putere la necesitatile procesului si sa le izolam galvanic de tensiunile si curentii de putere din proces. Acest lucru se face prin interfata de adaptare. Procesul va trimite date microcontrolerului prin intrarile PI si IA si va fi condus prin iesirile PO si OA. Atunci cand procesul are nevoie de sprijinul microcontrolerului pentru a rezolva o situatie specifica activeaza linia de intrerupere INT0. In acel moment, microcontrolerul opreste executia programului si trece la executia unei rutine speciale adecvata situatiei concrete. Dupa ce s-a rezolvat situatia ceruta de proces, microcontrolerul revine la executia programului din punctul unde a fost intrerupt. Din punct de vedere al stiintei automatelor, automatele pot fi definite ca un obiect matematic astfel: Se cunosc: - spatiul de intrare U numit multimea marimilor de intrare; - spatiul de iesire Y numit multimea marimilor de iesire; - spatiul X numit stare; - functia de tranzitie a starilor f; - functia de iesire g. Definim un automat ca un model matematic de forma: A={U,X,Y,f,g}, unde: - U={ui} - Y={yi} - X={xi} - F: UxX X; Xi+1=f(xi, ui) - G: UxX Y; yi = g(xi, ui), unde I = multimea indicilor;

Particularizand functiile si marimile introducem diversele reprezentari ale automatelor si anume tabele de tranzitie, grafuri de tranzitie, scheme logice algoritmice si retele Petri. 14

8. Alegerea tipului de automat cablat sau programat


Alegerea intre un tip de automat realizat prin cablare WLC si un tip de automat realizat prin program PLC este dictata de 4 factori: - Complexitatea automatului; - Viteza de actiune; - Flexibilitatea; - Capacitatea de memorare. Complexitatea este dictata de complexitatea procesului sau a instalatiei, de necesitatea efectuarii unor calcule sau operatii logice complexe, in acest caz impunandu-se o logica programata. Daca avem o complexitate redusa si nu se fac calcule, se alege o logica cablata. Viteza de lucru: Sisteme in logica programata daca trebuie sa execute programe complexe pot introduce intarzieri, deci nu mai permit sincronizarea cu desfasurarea procesului, adica nu mai pot lucra in timp real. In aceste cazuri este obligatorie logica cablata ce functioneaza in timp real. Flexibilitatea echipamentului se refera la faptul ca acelasi echipament trebuie sa se poata adapta la diverse instalatii, eventual cu modificari minime. Echipamentele flexibile trebuie sa poata fi dezvoltate in viitor, daca procesul sufera perfectionari. Este cazul logicii programate. In cazul unor instalatii sau procese simple la care flexibilitatea nu este critica s-ar putea folosi si logica cablata. Capacitatea de memorare se refera la faptul ca sistemele ce functioneaza in timp real au nevoie sa preia date din proces pe care sa le prelucreze imediat, sa emita comenzi si semnalizari pentru operatorul uman. Cand cantitatea de date este redusa se foloseste logica cablata. Daca trebuiesc multe date memorate sau stari logice stocate se impune logica programata. Urmatoarea schema sintetizeaza alegerea tipului de automat: Constatam ca, in general, automatele WLC sunt preferate in doua cazuri: - Sisteme complexe de mare viteza; - Sisteme simple dedicate (neflexibile) si cu putina memorie. Automatele PLC sunt cerute in toate celelalte cazuri, precum: - Sisteme complexe cu viteza necritica; - Sisteme simple, dar flexibile; - Sisteme cu mare capacitate de memorie.

15

Reprezentarea, modelarea si simularea automatelor


9. Reprezentarea automatelor ca sisteme cu stari finite
Din punct de vedere al stiintei sistemelor, automatul se poate considera ca un sistem cu stari finite SSF, definit matematic de urmatoarele ecuatii generale: = ( , ) +1 = ( , ) - marime de intrare momentana; - marime de stare momentana; - marime de iesire momentana; - +1 marime de stare viitoare. Sistemul SSF se poate reprezenta prin urmatoarea schema bloc:

Partea fara memorie este realizata de sistemele logice combinationale. Partea cu memorie este realizata de sistemele logice secventiale. Sistemele logice combinationale sunt sisteme discrete fara memorie ale caror marimi pot lua doar valorile binare 0,1 si au proprietatea ca iesirea yi depinde doar de combinatia valorilor marimilor 0,1 de la intrare. In acest caz, functia g se numeste functie logica si este descrisa de tabela de adevar. Partea logica combinationala a automatului se poate reprezenta ca in figura urmatoare:

16

S-a renuntat al indicele care reprezenta timpul. Intr-o tabela de adevar se scriu in binar toate combinatiile marimilor de intrare care sunt p 2 , unde este numarul intrarilor. Pentru fiecare combinatie se atribuie o valoare logica marimii de iesire conform specificatiilor functiei g. Ca exemplu, presupunem ca funtia g depinde doar de marimile si si genereaza logic 1 atunci cand o singura intrare are valoarea logic 1. Avand doua intrari vom construi tabela de adevar cu un numar de combinatii de 22 = 4: XOR: = + = + u 0 0 1 1 x 0 1 0 1 y 0 1 1 0

Sistemele logice secventiale sunt sisteme discrete cu memorie a caror marimi de intrare si iesire au doar doua valori 0 si 1. Sistemele secventiale au in structura lor elemente de memorare a starilor care asigura si functia de timp T. Partea logica secventiala din automat este data de functia de tranzitie a starii f si asigura marimea de stare xi+1. Functia se poate reprezenta in tabela de tranzitie a starilor care ne arata starea viitoare xi+1 in care ajunge automatul sub actiunea unei secvente de intrare plecand din starea curenta xi. Pentru a exemplifica, presupunem ca functia depinde de marimea de stare xi ce poate lua valorile 0,1,2 si 3 (4 stari) si de marimea de intrare logica ui cu valorile 0 si 1. Sub actiunea intrarii = 1 are loc tranzitia starii din una inferioara in urmatoarea stare in ordinea: 0,1,2,3,0,1,2... Daca intrarea = 0 starea xi ramane neschimbata. Schema bloc si tabela de tranzitie sunt urmatoarele:

17

10. Reprezentarea automatelor prin tabele de tranzitie sau grafuri


Un automat se mai poate reprezenta ca un sistem cu stari finite format din doua parti si anume: o parte avand logica combinationala ce asigura transferul intrare/iesire, si a doua parte avand logica secventiala (cu memorie) ce asigura transferul pe reactie (feedback) (iesire/intrare) precum in figura urmatoare:

Structura automatului din figura permite o reprezentare a functiilor sub forma tabelara. Functia este reprezentata prin tabela de tranzitie, iar prin tabela de adevar. In acest fel un automat se poate reprezenta printr-o tabela complexa (tabela de tranzitie/iesire) formata din alaturarea la tabela de tranzitie a tabelei de iesire. Automatul se mai poate reprezenta prin graful de tranzitie. Graful se obtine din tabela de tranzitie si iesire astfel: - Fiecare stare xi se reprezinta printr-un nod; - Se traseaza un arc daca are loc o tranzitie de la starea xi la xi+1; - Daca tranzitia nu are loc se figureaza o bucla; - Se trece pe fiecare arc valoarea logica a intrarii care a produs tranzitia u si valoarea logica a iesirii y; Sa consideram cazul unui automat care are tabela de tranzitie cu 4 stari, o singura marime de intrare si o singura marime de iesire .

18

Marimea de iesire y va fi = 1 atunci cand starile xi+1 sunt impare (1 si 3) si = 0 cand starile sunt pare (0 si 2). Construim tabela de tranzitie/iesire astfel: xi 0 1 2 3 0 0 1 2 3 xi+1 1 1 2 3 0 0 0 1 0 1 yi 1 1 0 1 0

Pe intrarea se aplica semnalele logice ( = 0 = 1) avand loc o tranzitie succesiva in inel. Acest automat reprezinta un registru de deplasare in inel. Graful construit pe baza tabelei tranzitie/iesire este urmatorul:

Sa se contruiasca tabela de tranzitie/iesire si graful de tranzitie pentru automatul definit de un numarator binar de 4biti. Numaratorul are doua iesiri y0, y1 si 4 stari date de secventele de numarare in ordinea 0,1,2,3,0,1...

19

11. Reprezentarea automatelor prin scheme logice. Algoritmi liniari


Functionarea unui automat poate fi descrisa printr-un procedeu ce prezinta pas cu pas toate etapele prin care trec starile acestuia. Acesta este algoritmul de functionare al automatului, iar acesta poate fi reprezentat printr-o schema logica. Algoritmii pot fi descrisi plecand de la tabelele de adevar sau tranzitie si sunt de doua tipuri: algoritmi liniari sau algoritmi cu subrutine. Algoritmii liniari sunt mai simpli si au doar doua blocuri, unul de test si unul de atribuire. Blocul de test face testarea unui bit si in functie de valoarea sa ia o decizie de ramificatie, astfel daca notam cu Bi un bit si cu Aj, Ak si Ax trei adrese, atunci acest bloc se reprezinta ca in figura urmatoare si se realizeaza printr-o singura instructiune si anume:

Altfel spus, un bit B ce soseste de la adresa Ax va fi evaluat (test) si daca are valoarea 1, algoritmul continua la adresa Aj (JNZ), altfel algoritmul continua la adresa Ak (JMP).

20

Blocul de atribuire va atribui o cifra binara marimii de iesire si apoi va face un salt neconditionat la o adresa de continuare a algoritmului. Notam prin Yi marimea de iesire, cu Nj o cifra binara si Ak, Ax doua adrese. Blocul de atribuire se va reprezenta astfel:

La adresa Ax are loc o incarcare (MOV) si in registrul Yi a cifrei binare Nj dupa care algoritmul continua la adresa Ak (JMP). Pentru intocmirea algoritmului liniar se parcurg etapele: - Se realizeaza tabela de adevar a automatului; - Se intocmeste arborele primitiv si se simplifica; - Se reprezinta schema logica a algoritmului; - Se scrie microprogramul algoritmului cu cele doua tipuri de isntructiuni; Consideram un automat cu n intrari si o singura iesire Y. Arborele primitiv va avea n+1 nivele, iar pe fiecare nivel vor fi 2n blocuri. Pe primul nivel (nivel 0) vom avea 20 = 1 blocuri de decizie. Pe al doulea nivel (nivel 1) vom avea 21 = 2 blocuri de decizie s.a.m.d, iar pe ultimul nivel vom avea 2n blocuri de atribuire. Arborele primitiv se simplifica in sensul ca blocul cu iesiri identice se elimina transmitand semnalul de iesire la blocul superior. Daca doua blocuri sunt identice se utilizeaza unul singur cncentrand cele doua intrari in acelasi bloc. Schema logica a algoritmului se va obtine din arborele simplificat caruia i se adauga o legatura de reactie de la iesire la intrare, precum si adrese la intrarea fiecarui bloc. Se poate scrie apoi microprogramul folosind cele doua microinstructiuni.

21

Pentru exemplificare consideram schema de comanda la distanta cu doua butoane O/P si un releu Y. Obtinerea comenzii se va obtine cu contactul x1 al releului Y. Vom avea 3 intrari: O, P si x1 si o singura iesire Y.

Tabela de adevar este urmatoarea:

Arborele algoritmului va avea n+1 (n=3, 4 nivele). Pe primele 3 se pun blocuri de decizie pentru intrarile O, P, x. Pe ultimul nivel vor fi blocuri de atribuire pentru Y cu valorile din ultima coloana a tabelei de adevar. Pe cele 4 nivele vom avea 1,2,4 blocuri de decizie, iar pe ultimul nivel vom avea 8 blocuri de atribuire.

22

Arborelui primitiv ii vom atribui si adrese de intrare/iesire pentru fiecare bloc. Vom avea urmatorul arbore primitiv:

Blocurile A7, A8, A9 si A10 au aceleasi iesiri logice, si anume valoarea logica 0, deci se transmite valoarea 0 pana la intrarea blocului A1, iar blocurile aferente se elimina. Din aceleasi motive se elimina blocurile A5, A11 si A12. In final se conecteaza intre ele iesirile avand aceeasi valoarea logica, se ataseaza noile adrese si se inchide arborele prin legatura de feedback, obtinand schema logica simplificata sau arborele simplificat al algoritmului. Pe baza schemei simplificate se scrie microprogramul algoritmului folosind cele doua tipuri de instructiuni: A0: TEST0 JNZA, JMPAZ A1: MOVY10 JMPA0 A2: TESTP JNZA3 JMPA4 A3: MOVY2I JMPA0 A4: TESTX1 JNZA3 JMPA1

23

12. Reprezentarea automatelor prin scheme logice. Algoritmi cu subrutine


Sunt adesea cazuri cand intr-un algoritm se repeta de un numar de ori acelasi timp de secvente. Asta inseamna ca si in microprogramul automatului vor exista portiuni ce se vor repeta. Un asemenea microprogram se mai numeste si microsubrutin. Pentru a putea utiliza subrutinele sunt necesare cateva precizari: - Subrutina se va depune la o alta adresa As si se va incheia cu o instructiune sepciala numita RET (return), care asigura revenirea programului principal la instructiunea imediat urmatoare; - Organizarea in memorie a unei zone speciale numita stiva (stack) unde sa fie depozitata adresa de revenire Ar; - Intrucat se poate lucra cu subrutine indexate trebuie sa se asigure un protocol de lucru special cu stiva in sensul ca ultima adresa depusa trebuie sa fie prima extrasa. Acest protocol se numeste LIFO (last in first out); - Folosind principiul LIFO inseamna ca la introducerea unei adrese in stiva toate celelalte se vor deplasa cu o unitate in jos (push), iar la extragerea din stiva toate adresele vor avansa in sus (pop). Exemplu de apel a unei subrutine: An: call As An+1: continua As: microsubrutina RET In momentul folosirii intructiunilor call si RET lucrul cu stiva se declanseaza automat. Consideram un numarator binar de 2biti ce realizeaza trecerea succesiva de la secventa 00 la secventa 11, la comutarea pulsului din 0 in 1 (pe front pozitiv). Prezentam in figura a modul de functionare, b graful si c algoritmul de determinare al frontului pozitiv.

24

Microsubrutina ce simuleaza testarea frontului pozitiv al semnalului de clock este urmatoarea: As: TEST0 JNZAs JMPAs+1 As+1: TEST1 JNZAs+2 JMPAs+1 Folosind TEST si MOV se poate reprezenta arborele primar al numaratorului binar:

In loc sa folosim de 4 ori blocul de testare a clockului , se poate realiza o subrutina care apoi sa fie apelata de 4 ori.

25

In figura A urmatoare avem schema logica de testare a blocului, iar in figura B algoritmul numaratorului din subrutina:

Folosind instructiunile TEST, MOV, CALL si RET se poate realiza microprogramul care sa materializeze algoritmul numaratorului binar de 2biti. A0: CALL A8 A1: MOVQ0Q100 JMPA2 A2: CALL A8 A3: MOVQ0Q101 JMPA4 A4: CALL A8 A5: MOVQ0Q110 JMPA6 A6: CALL A8 A7: MOVQ0Q111 JMPA0 A8: TEST JNZA8 JMPA9 A9: TEST JNZA10 JMPA9 A10: RET

26

13. Reprezentarea automatelor prin retele PETRI


Retelele PETRI au fost introduse de inginerul german Karl Adan Petri in teza sa de doctorat sustinuta in 1962. De atunci retelele PETRI si conceptele lor au fost extinse, dezvoltate si aplicate intr-o mare varietate de domenii printre care si la automatele programabile. O retea PETRI este o colectie de noduri circulare numite pozitii P, noduri dreptunghiulare numite tranzitii T si arce orientate ce conecteaza pozitiile cu tranzitiile sau invers. Pozitiile contin simboluri numite jetoane sau token. Starea de marcaj a unei retele este data de distribuirea de simboluri in pozitii. Prezentam o retea simpla demonstrativa ce contine toate elementele componente a unei retele PETRI:

Marcajul retelei este de tip: {1 , 2 } = {1,0}. Arcele de capacitate 1 au capaitate implicita si nu se mai marcheaza. Daca este diferita de 1 capacitatea trebuie marcata. Pozitiile au capacitate infinita implicit (pot stoca oricate simboluri), iar tranzitiile nu au nicio capacitate (nu pot stoca niciun simbol). Numarul de arce ce pot intra sau iesi din pozitii sau tranzitii este nelimitat. Intr-o retea PETRI simbolurile circula intre pozitii atunci cand se realizeaza conditiile, caz in care tranzitiile se activeaza apoi se executa. O tranzitie este activata cand numarul de simboluri din fiecare dintre pozitiile sale de intrare este cel putin egal cu capacitatea arcului ce merge de la pozitie la tranzitie. Consideram o retea PETRI avand urmatorul marcaj: {1 , 2 , 3 , 4 , 5 } = {2,1,0,0,0}

27

O tranzitie activata poate fi executata in orice moment. Cand se executa, simbolurile din pozitiile de intrare sunt mutate in pozitiile de iesire, in concordanta cu capacitatile arcelor si ale pozitiilor. Obtinem o noua marcare a retelei cu T1 ejecutata:

Intoarcerile au capacitati si poate aparea o situatie cu o comportare incerta deoarece dupa executie numarul de simboluri de iesire difera de cele de intrare. Prezentam o astfel de retea gata de executie, figura a, si dupa executie, figura b:

In T1 au intrat 4 simboluri, iar la iesire s-au distribuit 6 simboluri. Asta deoarece cand se executa o tranzitie, aceasta preia din pozitiile de intrare simbolurile care au activat-o, apoi distribuie simbolurile la pozitiile de iesire in functie de capacitatile arcelor. Daca toate arcele au aceeasi capacitate, se creeaza impresia ca simbolurile doar parcurg nodurile tranzitiei. Daca arcele au capacitati diferite, se creeaza impresia ca simbolurile ori pot disparea ori pot fi create in plus.

28

Defapt, situatia reala este aceea in care tranzitiile sterg simbolurile de activare si produc simboluri de iesire in functie de capacitatea arcelor. O categorie aparte de arce sunt arcele de inhibare folosite pentru a inversa logica unei pozitii de intrare. La un arc de inhibare, absenta, si nu prezenta unui simbol in pozitia de intrare, activeaza tranzitia. Prezentam doua cazuri, A si B:

In cazul A, lipsa simbolului din P1 activeaza tranzitia T1, iar dupa executie apare un simbol in P2. In cazul B, nu se poate executa tranzitia deoarece simbolul din P2 o inhiba. Important pentru retelele PETRI sunt primitivele.

29

In figurele urmatoare se prezinta o colectie de structuri primitive ce pot aparea in retelele PETRI:

In figura A, reteaua se numeste secventa. Fiecare tranzitie avanseaza jetonul spre pozitia finala P3. In figura B, reteaua se numeste conflict, aici toate tranzitiile snt activate de pozitia P1. Daca una dintre ele se executa, celelalte doua sunt dezactivate si nu se mai pot activa. Daca se transmite executie simultana, intarzierile inerente ce pot aparea intre executii nu pot garanta executia tuturor tranzitiilor, deci nu stim care tranzitie s-a executat. In figura C, structura se numeste concurenta. Cand T1 se executa apar trei procese concurente. Ele pot fi prelucrate in paralel cu ajutorul tranzitiilor T2, T3 si T4. In figura D, structura se numeste sincronizare. Exista 3 pozitii ce activeaza o tranzitie, cand T1 se executa, toate pozitiile sunt sterse, iar P4 primeste un simbol. In figura D, denumirea structurii primitive provine de la faptul ca atunci cand procesele ce conduc la P1, P2 si P3 sunt terminate, se produce executia T1, deci toate trei procesele sunt sincronizate prin inceperea procesului P4. Combinatia intre conflict si concurenta creeaza confuzie. Este cazul figurii E. P1 activeza atat T1 cat si T2, dar daca T1 se executa, T2 nu mai este activat. P2 activeaza T2 si T3, dar daca T3 se executa, T2 nu mai este activat. Apare confuzie, nu se stie cine a activat pe T2. In figura F, structura se numeste fuzionare. Este diferita de sincronizare daca nu exista restrictii ca cele 3 tranzitii sa se execute in acelasi moment sau sa se execute inaintea lui T4. Acest caz realizeaza fuzionarea a trei procese paralele. Constructia G este numita prioritate prin inhibare. Structura foloseste arcul de inhibare intre P1 si T2 pentru a controla tranzitia T2. Atata timp cat P1 are un simbol, T2 nu se poate executa. Este obligatorie tranzitia T1 urmata de T2, deci T1 are prioritate fata de T2. Aceste primitive sunt foarte importante deoarece pe baza lor se pot dezvolta structuri logice de comanda foarte sofisticate.

30

14. Modelarea si simularea automatelor in Matlab Simulink


Numele de Matlab provine din cuvintele Matrix Laboratory. Aplicatia contine o familie de blocuri numite toolbox pentru aplicatii predefinite Matlab contine 7 parti principale si anume: - Limbajul Matlab o Acesta este un limbaj matricial de nivel inalt cu instructiuni de control a programului, functii, structuri de date, instructiuni de intrare-iesire si caracteristici de programare orientata pe obiect. - Mediul de lucru Matlab o Este spectrul de unelte si facilitati cu care lucreaza utlizatorul sau programatorul Matlab. - Suportul grafic o Este sistemul grafic al Matlab ce contine comenzi de nivel inalt pentru reprezentarea datelor bidimensionale si tridimensionale pentru procesarea imaginilor, animatie si prezentari grafice. - Biblioteca de functii matematice Matlab o Este o colectie vasta de algoritmi de calcul pentru functii elementare precum suma, sinus, cosinus, dar si functii sofisticate precum inversarea matricelor sau inversata fourier. - Interfata cu programe de aplicatie API (aplication interface) o Este o biblioteca ce permite scrierea programelor in C si Fortran. - Toolbox-urile o Sunt biblioteci de functii Matlab ce permit rezolvarea unor clase particulare de probleme. - Simulink o Este un sistem pentru simulare neliniara ce combina interfata de tip schema bloc cu posibilitati de simulare in timp real si cu grafice. Ca structura este un pachet soft ce contine o biblioteca vasta de blocuri de tip surse, afisoare, componente liniare si neliniare, conectori si blocuri proprii create de utilizator. Simulink organizeaza blocurile in biblioteci in functie de comportarea acestora existand un numar de 10 biblioteci. In fereastra Simulink se afiseaza pictogramele bibliotecelor de numere si blocurile de numere. o Biblioteca Source contine blocuri ce genereaza programe; o Biblioteca Sinks contine blocuri ce afiseaza iesirile; o Biblioteca discrete contine blocuri care descriu componente discrete in timp; o Biblioteca Continuous contine blocuri ce descriu functiile liniare; o Biblioteca Nonlinear contine blocuri ce descriu functiile neliniare; o Biblioteca Math contine blocuri pentru functii matematice liniare; o Biblioteca functions and tabels contine functii generale ce opereza cu tabele; o Biblioteca Signals of Systems contine blocuri de multiplexare a datelor, transmitere date spre anumite zone ale modelului, implementare de intrariiesiri, creare de subsisteme si altele. Aplicatie: Simularea unui releu cu 4 contacte cu doua ND (normal deschise) si doua NI (normal inchise) Laborator 31

Automate in logica cablata si arhitecturi logice programabile prin hard


15. Automat de protectie si comanda in comutatie dinamica a unui motor asincron
Schema de principiu a unui astfel de automat este prezentata in figura a, realizarea constructiva in figura b, tabela de adevar :

Z 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

O 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

P 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

K4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

K 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

32

Automatul permite pornirea motorului M conectat la bornele A,B,C, prin actionarea butonului P de pornire de e carcasa acestuia. Comanda se autoretine prin contactul K4, iar prin K1-K3 se furnizeaza tensiune trifazata motorului M. Cele trei relee termice RT si cele doua relee maximale de curent RI asigura protectia motorului la suprasarcina si respectiv la scurtcircuit prin contactul Z, iar bobina K realizeaza protectia la tensiune nula. Semnalizarea functionarii motorului se face prin lampa L de pe automat, iar K5-K6 asigura conectarea automatului la alte dispozitive. Pe baza tabelei de adevar, prin metoda algebrica directa se deduce functia logica a automatului care este = ( + 4). Pe baza acesteia se intocmeste arborele primitiv a algoritmului din figura d. Dupa simplificare se obtine arborele simplificat al algoritmului automatului din figura e, ce ne permite pe de o parte sa analizam functionarea automatului prin simulare prin Matlab simulink, iar pe de alta parte sa realizam o logica programata (prin diagrama ladder Step 7).

33

16. Automat de pornire reversibila in comutatie dinamica a unui motor asincron


Schema de principiu a automatului de protectie si comanda destinat pornirii reversibile, stanga-dreapta a unui motor M este ilustrata in figura urmatoare:

Functiile logice ale automatului sunt obtinute prin metoda diagramelor Karnaugh si anume 1 = ( + 2) , = ( + 2) . 1

34

Pe baza functiilor logice se contruieste algoritmul automatului, in figura a arborele primitiv, iar in figura b, arborele simplificat. Deoarece argumentele Z si O au actiune similiara se vor include intr-un singur bloc numit ZO.

Ca aplicatie, simularea in Matlab Simulink a unui contactor trifazat inversor la laborator. Comanda se face prin Step 7.

35

17. Automat de comanda stea triunghi in comutatie dinamica a unui motor asincron
Schema de comanda pentru un astfel de automat ce realizeaza comutatia stea triunghi, in comutatie dinamica, este prezentata in figura urmatoare:

Schemele sunt protejate prin aparatele APF si APC (forta si comanda). Acestea joaca rolul de automate de comanda si protectie in caz de scurtcircuit sau suprasarcina. La inceput, motorul M este deconectat de la retea, contactorul de linie KL fiind neaclansat contactele sale KL1-KL3 deschise. Daca se inchide circuitul pentru contactorul de stea KS si contactele KS1 si KS2, se formeaza steaua infasurarii statorice prin F1-F3 dupa cateva fractiuni de secunda se inchide contactorul de linie KL, se inchid KL1-KL3 si motorul porneste in conexiune stea. Motorul accelereaza in stea dupa care din schema de comanda se face comutarea din stea in triunghi prin deschiderea contactorului KS si inchiderea contactorului de triunghi KT. Astfel spus e deschis KS1 si KS2 si se inchid KT1-KT3. Infasurarea statorica trece in conexiune triunghi, avand loc un proces tranzitoriu de accelerare ce poate fi de la 0.5 la 20 secunde. Temporizarea se realizeaza din releul de timp RTS, prin contactul RTS3. Aplicatie: Simularea in Matlab simulink a automatului de comanda stea triunghi La laborator. 36

18. Tastatura matriciala de 32 de simboluri din structura automatelor folosind circuite CMOS
Toate automatele necesita o modalitate de transmitere a unor informatii de la operator, informatii de tip date, comenzi sau initializari. In acest sens se utilizeaza, de obicei, o tastatura de taste folosind ca si simboluri variante alese de utilizator. La apasarea unei taste se genereaza un cod binar denumit codul tastei apasate. Pentru ca un numar de taste sa aiba cat mai putine fire de legatura pana la circuitul electronic, tastele trebuie atasate intr-o matrice de tip unde e numarul de linii, iar numarul de coloane, cu conditia ca = , iar > 4. Este nevoie de un circuit care in mod automat sa scaneze daca o tasta a fost apasata si atunci sa genereze codul binar al acesteia. Circuitul de acest tip se numeste codificator matricial de tastatura sau keyboard encoder. Codificatorul matricial va genera semnale succesive de scanare S0-Sp primind la intrare liniile matricei I0-Iq. Principiul scanarii este urmatorul: Se genereaza un impuls zero pe coloana zero, apoi se asteapta pana se citesc toate liniile, dupa care se trece la coloana urmatoare. Acest proces este continuu, deci se desfasoara in bucla, dupa Sp revenindu-se la S0. Sa consideram o tastatura matriciala care are 32 taste, la care = 8 4 = 32 taste.

37

Se codifica 32 de taste, schema tastaturii fiind urmatoarea:

Daca o tasta este apasata, de exemplu tasta 2, atunci semnalul 0 de pe coloana S0 ajunge de pe intrarea respectiva (I2). Circuitul formeaza codul binar al tastei apasate, adica 2=00010. Codul devine disponibil la iesire (D0-D4), in acelasi timp va afisa, in display-ul cu 7 celule, caracterul tastat. Caracterul poate fi preluat dintr-o memorie ROM de 32 de cuvinte de tip 82S123. Folosind celula cu 7 segmente nu se pot insa realiza urmtoarele caractere, mari sau mici: k, m, v, w, x, iar litera S se confunda cu 5, iar litera Z cu 2. Pe baza schemei bloc se poate realiza schema de principiu. Exista circuite integrate SLI de exemplu I8279 sau I82C79, ce realizeaza codificarea unei tastaturi de 8x8 taste si afisare intrun display de 8 celule cu 7 segmente. Acest circuit este programabil, se poate conecta la un microcontroler sau microprocesor printr-o magistrala (bus). Aplicatie: Simularea in Matlab simulink a tastaturii cu 32 de contacte La laborator.

38

19. Automat de tip intreruptor static de comanda bidirectionala si de protectie


Schema bloc asigura protectia la scurtcircuit si comanda pornirii si functionarii bidirectionale a unui motor asincron:

Automatul se conecteaza la reteaua trifazata de curent alternativ RST si permite alimentarea cu tensiune a unui motor asincron trifazat conectat la bornele ABC. Automatul are un contactor static CS cu triac comandat prin semnalul de control Y provenit de la o logica de comanda. Daca Y = 0, contactorul CS este blocat (deschis), iar daca Y = 1, CS este inchis pentru curent si permite transmiterea puterii de la RST la ABC. Pentru protectia la scurtcircuit se foloseste traductorul de curent HALL al carui semnal se compara cu o valoare legata de la potentiometrul P, iar la depasirea acestuia se transmite un semnal spre logica de comanda ce va declansa contactorul CS prin Y. Comanda de inchidere-deschidere a contactorului se poate face si manual prin butoanele P si O conectate la logica de comanda. Automatul ce se realizeaza pe baza acestei scheme bloc contine urmatoarele elemente: - Contactorul CS format din 3 triace cate unul pe faza TS, TR si TT. - Traductoarele de curent cu senzori HALL in numar de doua, pe fazele R si T. - Sursa de alimentare pentru circuitele analogice si logice ce furnizeaza tensiunea de 6V. - Doua amplificatoare operationale cu rol de comparator pentru prelucrarea semnalelor de curent de la trductoarele HALL. - O capsulsa NOR pentru sesizarea scurtcircuitului - O capsula NAND de putere pentru comanda unor relee. - Butoane de comanda P si O. - Un releu de comanda.

39

Fiecare contact static este un circuit integrat de putere ce se comanda cu o tensiune de minimum 3V, sesizand un curent de 10mA. Se folosesc circuite CRYDOM. Intrarile de comanda trebuie izolate galvanic fata de partea de forta. Traductoarele HALL genereaza la iesire tensiune continua intre 0V si 5V proportionala cu amplitudinea curentilor ce circula prin contactele statice. Aplicatie: Simularea in Matlab simulink a automatului de comanda bidirectionala si protectie maximala de curent La laborator.

20. Utilizarea circuitelor PLD in cadrul automatelor


Circuitul PLD este un dispozitiv logic programabil (Programmable Logic Device), fiind deci un dispozitiv logic ce se poate programa pentru a realiza functiile logice ale unui automat. Clasificarea dispozitivelor logice programabile este urmatoarea: - SPLD: simple programable logic device; - CPLD: complex programabile logic device; - FPGA: field programable gate array; - ASIC: aplication specific integrated circuit. SPLD: se prezinta sub urmatoarele 4 forme: - PAL: programmable array logic; - GAL: generic array logic; - PLA: programmable logic array; - PLD: programmable logic device. CPLD: se prezinta sub urmatoarele 4 forme: - EPLD: erasable PLD; - PEEL; - EEPLD: electrically EPLD; - MAX: multiple array matrix. FPGA: sunt de 6 tipuri: - LCA: logic cell array; - PASIC: programmable ASIC; - FLEX, APEX; - ACT; - ORCA; - VIRTEX.

40

Arhitectura unui SPLD este prezentata in figura urmatoarea:

Circuitul SPLD contine o arie de fuzibili ce pot fi arsi sau lasati nemodificati pentru a conecta diferite intrari la fiecare poarta AND. Un PLD poate fi programat cu un set de functii binare booleene pentru a realiza anumite functii logice necesare in cadrul unui sistem. SPLD pot contine maxim 10 pana la 20 de functii logice. In acest fel, intr-un singur cip se poate introduce un proiect logic destul de mare. In cazul unor proiecte logice foarte mari, mai intai trebuie realizata impartirea acestora in proiecte mai mici pentru a fi introduse in mai multe PLD-uri. Acest proces este mare consumator de timp si necesita realizarea interconexiunilor dintre PLD-uri prin fire. Un CPLD contine cateva blocuri PLD ale caror intrari si iesiri sunt conectate printr-o matrice globala de interconexiuni. In acest fel, un CPLD are doua nivele de programare. Mai intai fiecare bloc PLD poate fi programat independent, iar apoi si interconexiunile dintre PLD-uri pot fi si ele programate prin matricea globala.

41

Schema bloc a structurii interne a unui CPLD este urmatoarea:

Circuitele FPGA pot fi folosite la implementarea aproape oricarui algoritm logic. Fiind realizat ca matrici de porti programabile, utilizarea lor obisnuita este pentru prototiparea unui hardware ce va scris ulterior intr-un ASIC.

Arhitectura tipica a unei FPGA este urmatoarea:

42

Din arhitectura tipica a unui FPGA constatam ca exista 3 parti componente ale structurii acestuia: blocuri logice, interconexiuni si blocuri de intrare-iesire. Blocurile I/O sunt in numar de 8 4 = 32 si formeaza un inel in jurul partii exterioare. Fiecare dintre aceste blocuri asigura intrari si iesiri selectabile individual cu acces bidirectional la pinii de intrare-iesire de uz general. In interiorul inelului de blocuri I/O se afla o matrice bidimensionala de 5 4 = 20 de blocuri logice. Conectarea intre blocurile logice, blocurile I/O si interiorul blocurilor reprezinta cablarea interconexiunilor programabile. Circuitul de tip ASIC este un circuit integrat complex, neprogramabil, realizat ca urmare a proiectarii si testarii prin CPLD sau FPGA. ASIC este un circuit unei aplicatii specifice, deci un ASIC este un PLD introdus intr-un circuit integrat pentru o realizare de serie. Este prin urmare ultima versiune a unui PLD si se materializeaa prin productia de serie a circuitului. ASIC se realizeaza obligatoriu numai dupa ce PLD a fost testat si verificat. Intr-un ASIC se pot realiza de la circuite numerice complexe pana la ultimele generatii de microprocesoare si microcontrolere.

43

Structura automatelor programabile generice


21. Structura unui PLC generic cu microcontroler de 4 instructiuni
Vom realiza un PLC generic avand proprietatea ca atat adresele cat si datele sale se transfera pe o singura magistrala numita magistrala unica. O asemenea configuratie are avantajul ca softul este mai simplu si dezavantajul ca durata de executie a microinstructiunilor este mai mare. Se considera schema bloc a unor asemenea PLC, schema care pune in evidenta blocurile sale componente:

In schema bloc apar 5 elemente de baza: - PC: program counter, registru care fie memoreaza o adresa preluata de pe magistrala, fie depune o adresa pe magistrala; - RAM: blocul de memorie, cu rolul de a memora datele de pe magistrala; - IR: instruction register, registrul de instructiuni cu rol de a memora codul unei instructiuni preluata din memorie si care va fi decodificata trimitand codul sau spre unitatea centrala CU; - A: registrul acumulator, are rolul de a permite schimbul de informatii dintre memorie si celelalte elemente componente ale sistemului; - CU: central unit, genereaza toate semnalele de comanda hard pentru celelalte blocuri componente. Unitatea centrala se poate realiza in structura cablata sau microprogramata.

44

Semnalele generate de CU sunt: o Semnalele de citire a informatiei de pe magistrala care au terminatia IN de la input; o Semnalele de transmitere a informatiei catre magistrala cu terminatia AUT de la output; o Pentru memoria RAM aceste doua semnale sunt notate cu RD si WR de la citire si scriere; Unitatea CU mai are un registru de adresare a memoriei MAR, care genereaza adresa la aplicarea semnalului de intrare MAR-IN. Controlul de programe PC are cele mai multe semnale si anume: o Un semnal pentru incrementarea controlului INC-PC; o Doua semnale notate PC-IN, PC-AUT; o Un semnal de reset la punerea sub tensiune, care il aduce in zero. Registrul IR are doua semnale: o IR-IN o IR-AUT Acumulatorul are tot doua semnale: o A-IN o A-AUT Pentru exemplificarea modului de functionare a acestui automat PLC vom considera ca poate realiza doar 4 instructiuni: - MOV A,M - MOV M,A - TEST N,A - JZ ADR Primele doua instructiuni realizeaza citirea, respectiv, scrierea memoriei. A treia testeaza un bit N a registrului acumulator, iar a patra face un salt la o anumita adresa ADR a memoriei. Vom considera ca magistrala este de 8 biti daca pe ea se pot transfera si cuvinte mai mici, dupa caz. Pentru a realiza orice instructiune este nevoie de maximum 4 pasi. - Extragere instructiune din memorie; - Decodificarea instructiunii; - Preexecutia instructiunii; - Executia finala a instructiunii.

45

Cei 4 pasi sunt realizati in maximum 4 impulsuri de clock sau 4 tacte. Cele 4 tacte pentru instructiunea MOV A,M sunt prezentate in tabelul urmator:

22. Structura unitatii de control cablata pentru un PLC generic


Unitatea de control CU trebuie microprogramata pentru a realiza semnalele care genereaza microinstructiunile. Exista doua metode de a microprograma unitatea CU: - Microprogramarea CU in logica cablata; - Microprogramarea CU in logica microprogramata (microcodare). Logica cablata se foloseste in cazul unitatilor CU simple. Consideram o astfel de unitate CU simpla care trebuie sa genereze microcodurile pentru urmatoarele 4 instructiuni: - MOV A,M continutul memoriei se trimite in acumulator; - MOV M,A continutul acumulatorului se trimite in memorie; - TEST N,A se testeaza bitul N din acumulatorul A si se depune in carry; - JZ ADR se face salt la adresa ADR daca carry egal cu zero, iar = 1. Acestea se realizeaza in maximum 4 tacte notate T1-T4, prezentate in tabelul urmator:

46

Pe baza acestei tabele se construieste unitatea logica de control cablata folosind multiplexoare pentru realizarea instructiunilor. Avem nevoie de un multiplexor M pentru cele 4 instructiuni, pentru fiecare instructiuni mai este necesar cate un multiplexor pentru generarea celor 4 impulsuri de tact T1-T4. Vom nota aceste 4 multiplexoare M1-M4. Schema bloc de realizare este implementata in figura a, iar schema desfasurata este prezentata in figura b:

Din figurile a si b se observa ca din cei 8 biti din registrul IR numai 2 biti (B0 si B1) sunt folositi pentru a decodifica una din cele 4 instructiuni. Restul de 6 biti (B2-B7) sunt returnati pe magistrala si pot fi folositi ca adresa de memorie. Cele 4 impulsuri de tact (T1-T4) sunt generate de catre un numarator de 2 biti (Q0-Q1) microinstructiunile fiind generate printr-o conexiune matriciala formata dintr-un circuit SAU cu diode ce face parte dintr-un dispozitiv logic programabil, simplu, SPLD de tip PLA.

47

23. Structura unitatii de control, microcodata pentru un PLC generic


In cazul unui numar mare de instructiuni este dificil sa se genereze instructiunile folosind varianta cablata. Se alege o alta solutie, folosind pentru generarea instructiunilor o memorie ROM in care sunt inscrise de la inceput microcodurile care realizeaza microinstructiunile. Se folosesc doua variante de unitati de control CU microcodate. Unitate CU microcodata pe orizontala si unitate CU microcodata pe verticala. Unitatea microcodata pe orizontala utilizeaza doua memorii ROM, una pentru generarea instructiunilor (ROM1) si alta pentru generarea microcodurilor (ROM2). Dimensiunea memoriei ROM1 este egala cu 2n cuvinte, in care n este numarul instructiunilor ce trebuie generate. Fiecare cuvant are i biti, unde i este numarul de tacte. Memoria ROM2 are dimensiunea 2 cuvinte, fiecare cuvant avand k+1 biti, iar k fiind numarul de semnale de microcod. Schema de principiu a unitatii centrale CU microcodata pe orizontala este prezentata in figura urmatoare:

48

Aceasta unitate de control este microcodata pe orizontala pentru ca fiecare instructiune area pagina ei de memorie ROM si nu se poate sari dintr-o pagina in alta decat succesiv. Paginile sunt una dupa alta, parcurgerea lor fiind secventiala pe orizontal. Modelul corespunde unei unitati ce genereaza alte instructiuni MOV, TEST si JZ. Cele 4 coduri ale instructiunilor sunt generate de ROM1 care are doi biti de adresa ce vin de la registrul IR. Selectia se face conform urmatoarei tabele de adevar:

Iesirile din ROM1 sunt de 4 biti, de la B0 la B3, si se incarca intr-un registru contor printr-un semnal MOV preluat de la cel de al doisprezecelea bit al memoriei ROM2 (bitul B11). La inceput cel de al doisprezecelea bit din ROM2 este in logic 1, astfel incat MOV este activ si incarca in contor adresa paginii de memorie corespunzator instructiunii ce se va executa. Primul impuls de clock de la implementeaza cu o unitate, asfel incat la iesirea contorului se va obtine adresa urmatoare din pagina de memorie, generandu-se la iesire primele semnale ale microcodului. In tot acest timp bitul B11 este in logic 0 si nu se mai face nicio incarcare in contor, pastrandu-se aceeasi pagina de memorie selectata. La fiecare impuls de clock se genereaza un tact Ti si semnalul de cod corespunzator la iesirea ROM2. Ultimul cuvant va avea B1 iarasi logic 1, incarcand astfel noua adresa corespunzatoare paginii urmatoare.

49

Automate programabile semnificative

Automate programabile cu microprocesor de 8 biti


24. Principii de realizare a PLC cu microprocesor de 8 biti
Un microprocesor PLC pe 8 biti are partea hardware formata dintr-o unitate centrala realizata in jurul microprocesorului, o memorie de programe de tip ROM, o memorie de date tip RAM interfete pentru conectare la proces, o tastatura si un display. Schema bloc este urmatoarea:

In general pentru PLC cu microprocesoare pe 8 biti se utilizeaza tipurile I-8085 sau Z-80. Microprocesorul realizeaza operatii aritmetice si logice precum si transferul informatiei intre microprocesor si toate celelalte blocuri. Algoritmul de automatizare se programeaza, iar codul sau se depune in memoria ROM care va pastra programul in permanenta, datele variabile ale sistemului, precum si cele culese din proces, se depun in memoria RAM. Tastatura KB poate fi cu electronica proprie, folosind un circuit specializat de tip encoder sau poate fi scanata prin program. Interfetele I/O sunt izolate galvanic fata de proces. Se pot folosi optocuploare, formate din LED-fotorezistor, sau microrelee separarea facandu-se prin contactele acestor microrelee.

50

In figura a prezentam schema unei interfete simple de intrare folosind intrari optoizolante:

Sunt disponible 8 intrari din proces prin cabluri ecranate la o sursa de tensiune si optocuploarele O1-O8. Prin optocuploare se asigura cele 8 iesiri y1-y8. Fiecare intrare este dotata cu un led de semnalizare (L1-L8) ce semnalizeaza cand intrarea (U1-U8) este conectata la masa (activ 0) si o rezistenta R1-R8 de limitare a curentului prin optocuplor. Daca intrarea U1 este suntata la masa, iesirea optocuplorului y1 va deveni logic 0.

51

Schema unei interfete de iesire cu relee, folosita pentru comanda unor procese cu frecventa redusa de comutatie, este urmatoarea:

In cazul in care la iesirea y1 a portului paralel al PLC de 8 biti apare un semnal logic 1, inversorul de putere I1 este activat, releul 1R este amplasat, iar ledul L1 se aprinde semnalizand anclansarea releului, iar prin contactul 1R1 se transmite comanda la iesire.

52

25. Arhitectura PLC realizat cu microprocesorul I-8085


Schema contine microprocesorul I-8085 cu frecventa de 4MHz. Memoria EPROM de 2kB de tip I2716. Memoria RAM de 1kB formata din doua celule I2114. Interfata I/O cu trei porturi de 8 biti programabile PA, PB, PC in circuitul I8255. Tastatura matriciala, hexazecimala scanata KB. Display din 7 celule, cu 7 segmente si 8 leduri.

Microprocesorul I-8085 este realizat intr-o capsula de 40 de pini dintre care: - 8 pini reprezinta magistrala multiplexata de date si adrese inferioare AD (AD0-AD7). Aceasta magistrala se demultiplexeaza extragand octetul inferior (A0-A7) folosind un latch incarcat cu semnalul ALE (address latch enable); - 8 pini reprezinta octetul superior de adrese A(A8-A15) care cu octetul inferior extras in latch formeaza magistrala de adrese de 16 biti (address bus). Folosind un decodificator marcat DECOD se vor decodifica 3 adrese, iar impreuna cu IOM vor produce semnalele de selectie pentru EPROM, RAM, KB, DISPLAY si I8255, precum si semnalele de citire, scriere a memoriei si dispozitivelor I/O; - 9 semnale de selectie si anume: CSROM IOW; - Intrarile 1 si 2 sunt pentru cristalul de cuart ce genereaza semnalul de clock; - Intrarea RESET este pentru circuitul RC de reset la punerea sub tensiune; - Iesirea RESO este pentru reset out, adiaca reset pentru alte circuite din sistem; - Iesirea CLK este un semnal de clock pentru alte circuite din sistem. Microprocesorul dispune de SID si SOD folosite la comunicatii seriale cu alte sisteme. Schema dispune de un ciruit programabil I-8255 care contine 3 porturi paralele de 8 biti configurabile ca intrari-iesiri (PA, PB, PC). PLC-ul dispune de o tastatura matriciala de 23 de taste si tasta de reset RS si de un display format din 7 celule cu 7 segmente si 8 leduri. Tastatura permite programare manuala in cod hexa, precum si examinarea memoriei si registrilor. Tastatura are doua grupe de taste. Tastele numerice hexa de la 0 la 9 si A, B, C, D, E, F si tastele de control in numar de 8. 53

PLC-ul are alocata memoria la urmatoarele adrese: 0000h - 07FFh 0800h - 08FFh 0029h 011Fh 035Ah 03B1h 03BDh 03C7h 00h 04h 2k EPROM 1k RAM Subrutina stergere DISPLAY - CLRDS Subrutina afisare in DISPLAY - DISPL Subrutina citire TASTATURA - INPUT Subrutina de timp, 1s Subrutina de timp, 100ms Subrutina de timp, 1ms Display-ul cu 8 leduri Adresa PA (I-8255) 05h 06h 07h 10h 20h 30h 40h 50h 60h 70h Adresa PB (I-8255) Adresa PC (I-8255) Cuvant control I-8255 Adresa celulei - 1 Adresa celulei - 2 Adresa celulei - 3 Adresa celulei - 4 Adresa celulei - 5 Adresa celulei - 6 Adresa celulei - 7

26. Programarea PLC realizat cu microprocesorul I-8085


Microprocesorul I-8085 are setul de instructiuni din 59 tipuri diferite, in total 252 instructiuni. Instructiunile se pot codifica pe 1 octet, 2 octeti sau 3 octeti. Microprocesorul I-8085 are un numar de 6 registri de 16 biti, dintre care primii 4 sunt impartiti in cate doi registri de 8 biti. Structura registrilor este urmatoarea:

Registrul A este registru acumulator de 8 biti. BC este registrul pereche de 16 biti, format din B de 8 biti si C de 8 biti. DE este registrul pereche de 16 biti. HL este registrul pereche de 16 biti folosit pentru adresa memoria in mod indirect. SP este registrul de 16 biti indicator de stiva (stack pointer). PC registrul contor de programe de 16 biti, de la program counter. PSW este registrul de stare al procesorului avand 5 biti de conditii (flags) si anume C (carry) care semnalizeaza depasirea la adunare sau imprumutul la scadere; AC (auxiliar carry) pentru transport auxiliar cu aceeasi semnificatie ca si C, dar lucrand pentru 4 biti; P (parity) este bitul de paritate care se refera la rezultatul numarului de biti logic 1; S (sign) este bitul de semn.

54

Toti registrii pot fi accesati prin program, insa PSW, SP si PC sunt utilizati implicit doar de catre microprocesor. I-8085 are 3 clase de instructiuni de transfer aritmetice si logice si de control al programului. Instructiunile de transfer sunt in numar de 19 tipuri diferite, aceste instructiuni trasfera date intre registrii microprocesorului, date din si in memorie, sau catre un dispozitiv de intrare iesire. Au particularitatea ca nu afecteaza bitii de flag din PSW. EX: MOV A,B AB, 78h Instructiuni aritmetice si logice, sunt in numar de 29 tipuri diferite si realizeaza operatii aritmetice si logice simple, precum si manipularea unor biti. Aceste instructiuni afecteaza bitii flag si unele dintre ele lucreza implicit cu acumulatorul. EX: ADD B, AA+B, 80h Instructiunile de control ale programului sunt in numar de 11 tipuri diferite si realizeaza ramificarea programelor prin SART, apel la subrutine sau intreruperi.

55

Automate programabile cu microprocesor de 16/32 biti


27. Principii de realizare al PLC cu microprocesor de 16/32 biti
Principiul PLC-urilor bazate pe microprocesor consta in utilizarea unei placi de baza performante cu microprocesor, a catorva interfete de intrare iesire si a unui limbaj de asamblare, foarte performant ce are posibilitatea lucrului in timp real. Schema bloc a unui PLC cu microprocesor cu 16/32 biti din familia I-80X86:

Un astfel de PLC este foarte asemanator cu un PC. In functie de tipul de sistem PLC ales, adica mic, mediu sau mare, partile sale componente se pot afla toate amplasate intr-o singura unitate compacta (cazul PLC-urilor mici) sau pot fi distribuite (PLC-uri medii sau mari). Principala diferenta intre PLC-uri si PC-uri este aceea ca PLC-urile sunt unitati robuste pentru amplasare in medii industriale, ele sunt ecranate pentru a evita perturbatiile electrice si sunt modulare ceea e permite adaugarea ulterioara de noi unitati. PLC-urile lucreaza cu conexiuni INPUT, OUTPUT si nivele de semnal standard si sunt proiectate astfel incat sa fie usor de programat. Conexiunile dintre PLC si mediu se realizeaza prin interfete. In ceea ce priveste partea de software, cele mai cunoscute tipuri de limbaje intalnite la PLC-urile bazate pe microprocesor sunt: - Limbajul de asamblare; - Limbajul C/C++/C#; - Limbajele de nivel inalt; - Metalimbaje. Limbajul de asamblare este limbajul nativ a microprocesorului , este un limbaj foarte puternic, ce poate realiza orice sarcina prin software. Pentru a folosi acest limbaj e nevoie in prealabil de instruirea personalului. 56

Limbajul C/C++/C# este un limbaj de nivel mediu, destul de puternic pentru proiectarea de software. Are dezavantajul ca in acest caz componentele hard ale PLC-ului sunt invizibile pentru programator, precum si faptul ca trebuie realizata instruirea personalului. Limbajele de nivel inalt au aparut datorita necesitatii de a crea o interfata grafica, prietenoasa si usor de realizat. Aceste limbaje sunt folosite pentru comunicarea cu utilizatorul, deoarece afisarea rapoartelor si alte functii speciale sunt mai greu de realizat prin limbaj de asamblare sau C. Un mare dezavantaj al limbajului de nivel inalt este acela ca viteza de executie este foarte mica, ceea ce impiedica utilizarea lor la conducerea proceselor in timp real. Metalimbajele sunt limbaje dedicate utilizatorului, ele sunt foarte simple de folosit. Contin si comenzi vocale.

28. Arhitectura PLC bazat pe microprocesorul PENTIUM


Schema bloc simplificata ce prezinta structura interna a unui PLC modern bazat pe microprocesor PENTIUM este urmatoarea:

Spatiul maxim de memorie ce poate fi adresata de catre un microprocesor de 32 de biti, asa cum este cel Pentium, este de 4 GB. Aceasta memorie se imparte in memorie ROM si memorie RAM. Primul MB de memorie RAM contine doua blocuri, primul bloc este de 640 kB fiind pentru programe utilizator, purtand numele de TPA (transient program area). Al doilea bloc este de 360 kB, cotine principalele elemente ale sistemului de operare si se numeste SMA (system memory area). Restul de pana la 4 GB din memoria RAM este numir EMA (extended memory area).

57

La randul sau, primul MB din memoria EMA este impartit in mai multe parti in functie de destinatie, dupa cum se vede in figura urmatoare:

Dispozitivele de intrare iesire ale PLC pot fi accesate prin adresele lor omice. Ele au un spatiu de adrese de 64 kB, de la adresa 0000h pana la adresa 0FFFh. In primul kB a spatiului de adrese sunt distribuite principalele dispozitive I/O, intre adresele 0000h si 03FFh. Aceasta este o dimensiune de 0400h fiind echivalent pentru 4 162 = 1 . Structura hartii I/O:

Magistrala PLC-ului are 3 sectiuni: magistrala de adrese, magistrala de date si magistrala de control. Magistrala de control contine patru semnale si anume: - : memory read control pentru controlul citirii din memoria ROM sau RAM; - : memory write control pentru controlul scrierii in memoria RAM; - : input output read control pentru controlul citirii dispozitivelor I/O; - : input output write control pentru controlul scrierii in dispozitivele I/O. 58

29. Programarea unui PLC realizat dintr-un PC pentru comanda unui motor asincron
Se realizeaza un program de comanda a unui motor asincron de la un robot mobil. Partea hardware consta dintr-un PLC realizat dintr-un PC folosind portul paralel (PPI). Programul are urmatoarele taste de comanda: - L: pornire spre stanga; - R: pornire spre dreapta; - S: oprire; - E: iesire din program; Pentru a comanda actionarea motorului se vor utiliza 2 biti, D0 si D1 ai portului paralel PPI. Tabela de adevar este urmatoarea:

Schema bloc simplificata a partii hardware este prezentata in figura a, iar meniul afisat pe ecran, in figura b:

59

Schema logica a programului este urmatoarea:

Programul principal start are urmatoarea structura simplificata:

60

Subrutina de stergere a display-ului este urmatoarea:

61

Automate programabile PLC semnificative de tip industrial


30. Structura generala hardware si software a unui PLC de tip industrial
Structura generala hardware a unui PLC industrial este prezentata in urmatoarea schema bloc:

Modulul CPU contine procesorul central, microprocesorul, memoria si echipamentul de comunicatii. Memoria include o zona ROM reprogramata ce contine sistemul de operare, programele de aplicatie, programele driver si functiile preprogramate. Memoria RAM contine programe utilizator, date de configuratii, date imagini intrare, date imagini iesire, alte date adresabile, toate datele de lucru si memoriile tampon (buffer) de comunicatii. Memoria RAM are si un modul de RAM cu baterii sau ROM inscriptibil destinat pentru programe utilizator, date de configuratii si date importante salvate. Constructorii de PLC-uri ofera diferite tipuri de memorie nevolatila pentru a salva programele utilizator si datele la intreruperea alimentarii. In acest fel, PLC-ul isi poate relua programul la revenirea energiei electrice. In cazul in care un PLC are memorie nevolatila suplimentara, el nu ar trebui sa fie reprogramat de fiecare data dupa reconectarea la tensiunea de alimentare. In acest fel se explica de ce nu este nevoie de o tastatura sau un monitor in structura sistemului cu PLC industrial.

62

Memoria nevolatila se obtine in urmatoarele 3 moduri: - In cele mai multe PLC-uri, cel putin o parte din continutul memoriei RAM este protejata de o baterie cu un ciclu de viata de ordinul anilor. Alte PLC-uri au sisteme de backup bazate pe condensatoare, astfel incat continutul RAM este salvat numai pe o perioada scurta, de cateva ore; - Multe PLC-uri ofera si module de memorie independenta, care se pot introduce in socluri din modulul CPU. Utilizatorul face o copie a programului utilizator intr-un EEPROM format din module independente. Deobicei, utilizatorul trebuie sa achizitioneze un modul hardware de programare pentru a scrie datele in EEPROM, dar unele PLC-uri mai noi contin partea hard necesara pentru a scrie date in modulele de memorie. PLC-urile mai noi pot fi configurate ca ori de cate ori se conecteaza la sursa de alimentare sa copieze continutul unui modul de memorie in memoria RAM; - Recent, constructorii de PLC-uri incep sa includa memorii FLASH in componenta unitatii centrale. Memoria FLASH este precum o memorie EEPROM cu avantajul ca poate fi scrisa mai rapid, iar scrierea ei se poate face fara a fi nevoie de circuite speciale. Memoria FLASH se foloseste in locul chip-urilor EEPROM din modulele de memorie independenta, dar cel mai des se include direct in modulul CPU. Aceasta permite ca sa se salveze automat anumite zone din RAM chiar in timpul functionarii PLC-ului. In cazul disparitiei tensiunii de alimentare, la un PLC cu FLASH, informatia nu se pierde, iar executia programului se va relua automat la aparitia alimentarii. Magistrala (bus) PLC-ului modular este folosit ca modulul CPU sa se conecteze la fiecare din modulele I/O. In unele sisteme modulare aceasta magistrala este realizata pe o placa de circuit imprimat in partea posterioara a unui cadru metalic numit REC. Modulele ce alcatuiesc PLC-ul sunt introduse in socluri, montate pe aceasta magistrala. In alte sisteme modulare, modulele I/O sunt introduse intr-o parte a modulului CPU. Structura soft a unui PLC industrial include un sistem de operare diferit de acela din PC-uri. Acest sistem de operare initializeaza PLC-ul atunci cand se conecteaza sursa de alimentare (modul ON), asigura rularea programului utilizator atunci cand PLC-ul se comuta in modul RUN si realizeaza emiterea de raspunsuri la comenzile utilizatorului la rularea programelor de aplicatii. Programele de aplicatie permit utilizatorului sa introduca programe in memoria PLC-ului. Un PLC isi pastreaza sistemul de operare, programele de aplicatie, programele utilizator si anumite date importante in memoria nevolatila. Acestea se pastreaza chiar daca PLC-ul industrial este trecut in starea OFF sau este deconectat de la alimentare. Sistemul de operare asigura executia programelor utilizator intr-un mod diferit fata de PC, astfel se executa un pas de initializare de fiecare data cand PLC-ul este trecut in modul RUN, iar apoi PLC-ul executa in mod repetat un ciclu de scanare pe toata durata cat PLC-ul lucreaza in modul RUN, altfel spus executia programelor este ciclica.

63

Modul in care se executa programele este descris de ciclul standard de scanare din urmatoarea schema:

Desi exista anumite diferente intre PCL-urile produse de diferite firme, mai ales in ceea ce priveste modul in care se realizeaza pasul de initializare, totusi acest ciclu de scanare alcatuit din 3 pasi este fundamental pentru toate tipurile de PLC-uri. De fiecare data cand PLC-ul incheie un ciclu de scanare si incepe un ciclu nou, sistemul de operare declanseaza un temporizator. Acesta functioneaza atata timp cat se executa ciclul de scanare. Daca temporizatorul isi atinge valoarea setata, inainte de a fi restartat, deci daca ciclul de scanare consuma mai mult timp decat era necesar, PLC-ul se va bloca intr-o stare de eroare si executia se va opri. Dupa eroare este nevoie intotdeauna de interventia operatorului uman inainte de reluarea executiei. OBS: este o situatie similara cu watchdog de la microprocesoare.

64

31. Automat programabil industrial PLC Siemens de tip LOGO!


Firma Siemens produce multe tipuri diferite de PLC-uri industriale precum LOGO!, Simantic S5, Simantic S7, etc. Cel mai popular PLC este LOGO!, adica Siemens Universal Logic Module. Automatul programabil LOGO! este disponibil in 4 module diferite: - LOGO! Pure, fara display; - LOGO! Basic, identic cu Pure, dar cu display LCD; - LOGO! Long, mai mic decat doua LOGO!-uri Basic, dar cu posibilitati duble de utilizare; - LOGO! Bus, are o interfata de magistrala inteligenta si autonoma. Principalele 8 caracteristici ale PLC-ului LOGO! sunt: - Are functii de control; - Prezinta unitate de operare si display; - Prezinta alimentare independenta; - E dotat cu interfata pentru modulele program si un cablu pentru conexiune la PC; - Prezinta functii de baza prefabricate necesare frecvent la operarea curenta, precum functiile pentru intarziere la pornire/oprire si releele de impuls de curent; - Este dotat cu comutatoare de timp; - Prezinta relee intermediare; - Are intrari si iesiri in functie de tipul de dispozitiv. PLC-ul LOGO! poate fi folosit pentru sarcini domestice, inginerie mecanica si aplicatii speciale. Ca sarcini domestice pot fi, de exemplu, iluminatul scarilor, iluminatul exterior, comanda jaluzelelor, iluminarea vitrinelor magazinelor, etc. Ca inginerie mecanica se poate folosi la sisteme de contro a portilor sisteme de pompe, sisteme de ventilatoare, etc. Ca aplicatii speciale se utilizeaza pentru sisteme de control delicate in sere sau green house-uri, precum si controlul centralizat a masinilor si proceselor din halele industriale. Pot fi folosite si pentru constructia de masini mici, aparate si instrumente de control. Prezentam pentru varianta LOGO! Basic o vedere din fata si modul de operare:

65

De la schema a, 1 reprezinta alimentarea cu tensiune, 2 reprezinta intrarile, 3 iesirile, 4 modulul de memorie, 5 panoul de comanda si 6 display-ul LCD. De la schema b, I afiseaza pe display NO PROGRAM. Comuta LOGO! in modul de programare. LED-ul rosu este aprins. Pentru II afiseaza pe display Mask for Monitoring the inputs and outputs. Comuta LOGO! in modul de parametrizare. LED-ul verde este aprins. Pentru III intrarile nu sunt citite, programul nu este executat, contactele de releu sunt deschise, iar iesirile prin tranzistor sunt deconectate. Pentru IV LOGO! citeste starea intrarilor. Programul calculeaza starea iesirilor. LOGO! comuta on/off starea iesirilor prin relee si tranzistoare. I1-I6 sunt intrari logice, iar I7-I8 e pot utiliza fie ca intrari analogice, fie ca intrari logice. Q1Q4 sunt iesiri comutatoare (prin relee sau tranzistori). L1 si N sunt conectori pentru sursa de alimentare de tip DC/AC in functie de tipul de LOGO!. Display-ul LCD este utilizat pentru programarea in ladder impreuna cu panoul de control care prezinta 6 butoane cu functii de programare, doua fiind speciale pentru ESC si OK. Se poate folosi un modul de memorie EEPROM. Se vede ca LOGO! Basic are doua moduri de operare notate STOP si RUN.

66

32. Automat programabil industrial PLC de tip Klckner-Mller de tip EASY


Cel mai popular PLC al firmei KM este denumit Easy. Acesta este un releu comandat electronic, avand functii logice, functii de timer, functii de control si functii de intreruptor. Este folosit ca dispozitiv de comanda in aplicatii domestice, precum si la comanda echipamentelor electromecanice. Schemele circuitelor sunt realizate folosind tot reprezentarea in trepte sau ladder, iar fiecare element este introdus direct pe display-ul lui Easy. Se pot realiza urmatoarele 7 functiuni: - Se pot conecta contacte ND si NI in serie si in paralel; - Se pot conecta pana la 4 relee de iesire si 16 relee intermediare; - Se pot defini iesirile fie ca relee, fie ca relee comutatoare la impuls, fie ca relee cu zvorre mecanica; - Se pot selecta relee de timp cu diferite functii; - Se poate asigna o numaratoare inainte si inapoi; - Se poate determina sensul de circulatie al curentului prin circuit; - Se pot incarca, salva si proteja cu parola schemele de circuit realizate. Aspectul PLC-ului de tip Easy este prezentat in figura urmatoare:

67

1 este alimentarea, 2 reprezinta 8 intrari, 3 reprezinta un display LCD, 4 reprezinta butoanele, 5 cardul de memorie, 6 reprezinta iesirile. Tastatura Easy apare la blocul 4 si are urmatoarea semnificatie: - DEL, sterge un obiect din schema circuitului; - ALT, functii speciale in schema circuitului; - Tastele sus, jos, stanga, dreapta, pentru a realiza deplasarea cursorului, selectarea articolelor prin meniu, alegerea unor nume, valori, timpi pentru temporizari, etc. - OK, este pentru urmatorul nivel de meniu. La apasare stocheaza ceea ce s-a introdus; - ESC, este ultimul nivel de meniu, la apasare anuleaza ceea ce s-a introdus.

33. Automat programabil industrial PLC OMRON de tip ZEN


ZEN este un automat programabil cu rol de releu inteligent programabil de tip compact, destinat automatizarilor flexibile la o scara redusa. Sunt necesare doar cunostinte elementare referitoare la programare pentru a comanda aceste dispozitive, ceea ce confera automatului programabil ZEN statutul de dispozitiv usor si prietenos de programat. Gama de produse de tip ZEN a firmei japoneze OMRON cuprinde 30 de produse distincte cu unitati centrale de procesare avand 10-20 de intrari/iesiri fixe precum si extensibile cu modulele de extensie suplimentara ajungandu-se pana la 40 de intrari/iesiri. Sunt disponibile fie iesirile de tip releu fie de tip tranzistor, iar modelele de 12 pana la 24 volti cc dispunand si de intrati analogice precum si de un numarator rapid pe 8 biti, acestea facand din ZEN solutia ideala pentru orice aplicatie. Posibilitatile de utilizare au o gama larga si anume de la controlul iluminarii in camere si efecte de iluminare in cadrul standurilor de prezentare, pana la sere automate, control asupra luminozitatii si temperaturii, controlul jaluzelelor si portilor electrice, controlul sistemelor de irigare, a sistemelor de ventilatie si pentru evenimente ce necesita sincronizare si cronometrare.

68

Datele tehnice principale pentru automatul programabil ZEN sunt: - Pe langa doua tipuri de tensiuni de alimentare, 12-24 volti cc sau 100-240 volti ca; - Intrari de 220 volti ca sau 12-24 volti cc; - Prezinta 96 linii de program; - Prezinta filtre la intrari pentru a elimina zgomotul; - La modelele cu alimentare in cc exista si doua intrari analogice; - Prezinta iesiri cu capacitate ridicata de comutare, astfel pentru modelele cu relee ea ajunge la 8 amperi la 250 volti; - Realizeaza gestionarea a pana la 44 de canale de intrare/iesire utilizand modulele de extensie; - Mesajele afisate sunt in 6 limbi diferite; - Prezinta functie de calendar si ceas; - Posibilitatea de protectie a programelor cu parola; - Au acumulator pentru backup; - Pentru afisarea mesajelor sau datelor pe ecranul LCD se folosesc 4 randuri a cate 12 caractere; - Au integrat un ceas calendar, gestionarea perioadei vara-iarna; - Prezinta functii de cronometrare cu interventie zilnica, saptamanala si lunara, existand cate 16 cronometre pentru fiecare tip; - Este integrata functia de intarziere si temporizare la pornire/oprire; - Exista un ceas pentru controlul alarmei si al indicatorului luminos; - Sunt integrate 16 numaratoare, 8 cronometre cu retinere si 16 cronometre fara retinere; - Foloseste un numarator rapid de 150 Hz; - Pentru semnalele analogice exista comparatoare; - Unitatea de comanda are port serial de tip RS485 pentru comunicatie in retea sau cu PC. Ca aspect, ZEN este similar cu PLC Easy de la firma KM.

69

Limbaje de programare semnificative pentru automatele programabile PLC de tip industrial


34. Limbajul de programare grafica de tip ladder pentru PLC de tip industrial. Aplicatii
Diagrama in trepte, numita si Ladder Diagram, este cea mai cunoscuta metoda de construire a unui program ce urmeaza sa fie realizat de un automat programabil. Programarea folosind diagrama ladder a aparut in cadrul automatelor programabile datorita necesitatii de a gasi un mod usor de programare a acestora fara a fi nevoie de cunostinte evoluate de programare. Diagramalele ladder au fost preluate din electrotehnica, de aceea folosesc denumiri si reprezentari caracteristice acestei discipline. Ca urmare, elementele de baza in cadrul diagramelor ladder vor fi contactele si bobinele. Ca structuri, diagrama ladder este formata din ramuri, iar pe fiecare ramura vor exista instructiuni specifice automatului respectiv. Instructiunile se impart in doua mari categorii: de intrare si de iesire. Este obligatoriu ca pe fiecare ramura sa existe cel putin o instructiune de iesire, de asemenea, fiecarei instructiuni trebuie sa ii fie asociat un simbol grafic. Contactele sunt cunoscute ca intrari pentru un modul cu mai multe intrari, fiecare intrare a modului va fi recunoscuta de catre unitatea centrala a automatului programabil ca un contact. Adresele prin care facem deosebirea dintre diverse intrari pot fi notate cu litere precum litera I. Deoarece aceste contacte au valori binare, ele putand fi inchise sau deschise (1, 0), vor fi grupate in octeti sau cuvinte. Pentru recunoasterea lor se folosesc doua cifre, prima reprezentand numarul octetului, iar cea de a doua numarul bitului din octet. Se folosesc urmatoarele 3 tipuri de contacte: - Contact normal deschis; - Contact normal inchis; - Contact cu functie speciala (not). Prin aranjarea contactelor in serie sau in paralel pot fi materializate diferite operatii si functii logice. Bobinele sunt defapt iesirile din automat inspre proces. Deobicei, ele se noteaza prin litera Q. Din aceleasi motive ca si la contacte, si bobinele ca iesiri se noteaza tot prin doua cifre. In cazul bobinelor simple, bitul de la adresa bobinei este setat doar daca rezultatul este 1. La bobinele unde apar litere sau simboluri apare o functionare aditionala conform destinatiei lor.

70

Se folosesc urmatoarele 3 tipuri de bobine: - Bobina simpla; - Bobina functiei atribuite o Eticheta; o Bit. Vom da 5 exemple de diagrame ladder: 1. Scrierea unui program pentru comanda unui LED cu ajutorul unui intrerupator 2. Scrierea unui program pentru implementarea functiei SI 3. Scrierea unui program pentru implementarea functiei SAU 4. Scrierea unui program pentru implementarea functiei logice 0.0 = 0.0 + 0.2 0.1 5. Scrierea unui program pentru comanda unui modul 0.0 de tip bistabil RS

In acest ultim caz avem o instalatie cu doua butoane ND din care primul este de oprire (R=1, Q=0), al doilea este de pornire (S=1, Q=1). Actionarea acestuia poate conduce la aprinderea sau stingerea unui led ce avertizeaza despre faptul ca instalatia este pornita/oprita. Programul ladder este editat pe un calculator personal, dar se poate folosi si un panou mobil special al automatului, numit teach pendant sau handheld pendant. Programul este transformat in instructiuni specifice ale automatului programabil si descarcate in memoria automatului. Automatul scaneaza apoi programul incarcat ramura cu ramura, iar pe fiecare ramura executa isntructiunile gasite de la stanga spre dreapta. Programul este executat ciclic, intr-o bucla infinita, adica dupa scanarea ultimei ramuri se trece din nou la scanarea primei ramuri. Aplicatie: sa se realizeze diagrama ladder pentru comanda reversibila a unui motor electric. Se poate folosi softul Step 7 al firmei Siemens sau CX Programmer sau CX One al firmei OMRON.

71

Dezvoltarea de soft de tip ladder pentru lucrul in timp real, consta din parcurgerea urmatorilor 7 pasi: - Crearea simbolurilor specifice; - Crearea modulului soft de tip ladder; - Compilarea si verificarea automata a rutinelor; - Transferarea modulului soft de la PC la PLC; - Comparare din punct de vedere a compatibilitatii noului modul soft cu sistemul de operare existend al PLC-ului; - Monitorizarea noului modul soft in timpul executiei; - Realizarea unei editari de tip online. 1. Realizam setul complet de simboluri necesare

72

2. Trecem la crearea modulului soft de tip ladder Va trebui sa obtinem expresia functiilor logice de comanda pentru sensul stanga YS, respectiv pentru sensul dreapta YD pe baza conditiilor de sinteza. Folosim metoda diagamelor Karnaugh pentru sinteza, deoarece vem 5 variabile (numar mare). Obtinem ca = ( + ) , iar = ( + ) . Pe baza functiilor logice realizam diagrama ladder de forma urmatoare:

3. Realizam instructiunile soft de tip ladder ce rezulta ca secventa de cod sub forma unei tabele, instructiunile folosite fiind specifice automatului programabil OMRON CP1E

73

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