Documente Academic
Documente Profesional
Documente Cultură
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.
Operatia logica se realizeaza cu una sau doua variabile, deci N = 2. Numarul total de
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.
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
11
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
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
15
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
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
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.
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
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
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
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
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
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
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.
40
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
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.
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
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:
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
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
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
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
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
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.
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
60
61
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
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
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.
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
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