. Utilizarea Automatelor Programabile LA Pornirea Motoarelor

CAPITOLUL I

SISTEME NUMERICE. PRINCIPII DE FUNCȚIONARE

1.1. Introducere

Un sistem numeric servește la procesarea informațiilor digitale prin efectuarea asupra ei a unei succesiuni de operații aritmetice și logice în concordanță cu un algoritm. Sistemele numerice se pot clasifica în:

– sisteme numerice combinaționale (SNC) și

– sisteme numerice secvențiale (SNS).

SNC este un sistem cu un număr de n intrări și m ieșiri. La intrări sunt aplicate n variabile logice de intrare, ansamblul cărora constituie vectorul variabilelor de intrare. La ieșire se obțin variabile logice de ieșire care constituie vectorul variabilelor de ieșire. Vectorul variabilelor de ieșire depinde doar de valoarea momentană a vectorului variabilelor de intrare. SNC nu conțin elemente de memorare ale stărilor sistemului.

SNS au un număr de n intrări și un număr de m ieșiri. Aici vectorul ieșirilor depinde atât de valoarea momentană a vectorului intrărilor cât și de starea momentană a sistemului, respectiv de succesiunea anterioară a stărilor sistemului. SNS funcționează sub acțiunea unor impulsuri de tact cu frecvența de repetiție constantă. Pot avea o funcționare sincronă sau asincronă.

Lumea digitală

Există două modalități distincte de reprezentare a unei mărimi măsurabile: analogică și numerică (digitală). Mărimile analogice au o variație continuă, pe când cele numerice au o variație discontinuă, pas cu pas.

Electronica digitală s-a dezvoltat de la începutul secolului XX (tuburi electronice), dar mai ales după 1948, anul descoperirii tranzistorului. Electronica digitală a crescut o dezvoltare accentuată începând cu 1972, anul introducerii primului microprocesor. Prin excelență omul este o ființă analogică, adică toate informațiile pe care le percepe din mediul înconjurător sunt continue. Din acest motiv, tendința prezentă și foarte probabil viitoare a electronicii este de-a realiza analogic interfața cu omul. Anumite “excese” cum ar fi ceasurile cu indicație numerică sau vitezometrele numerice ale autoturismelor au pierdut teren în fața variantelor analogice – ceasul cu ace indicatoare (dar numeric în interior), respectiv vitezometrul cu ac (dar legat la un calculator numeric). Aceasta deoarece efortul suplimentar de procesare a mărimii reprezentate numeric este o problemă suplimentară pentru creierul uman, care poate însă interpreta instantaneu o reprezentare analogică.

În final, mai trebuie observat că lumea reală în macrostructura ei este continuă, deși în

microstructura ei ea este discontinuă.

AVANTAJELE TEHNICILOR NUMERICE

DEZAVANTAJELE TEHNICILOR NUMERICE

REPREZENTAREA MĂRIMILOR – NUMERICĂ SAU ANALOGICĂ?

Acum este mult mai simplu de răspuns: toate prelucrările interne vor fi făcute pe cât posibil în tehnica numerică, interfațarea cu operatorul uman va utiliza mărimi analogice.

Pe măsura perfecționării tehnologiei, circuitele VLSI au evoluat prin creșteri exponențiale în

densitatea de integrare și liniare în timpii de propagare. Binecunoscuta lege a lui Moore, enunțată laînceputul anilor ‘60 își păstrează incredibil de bine valabilitatea și în prezent: "numărul de tranzistoareper circuit integrat se dublează la fiecare 12…18 luni". Circuite ca memoriile, microprocesoarele,ariile de porți și FPGA-urile se integrează foarte bine în această lege, de vreme ce mărimi ca numărulde biți (capacitatea memoriei), numărul de porți, respectiv de celule a crescut de asemenea exponențial.

Este extrem de interesant de subliniat că există un prag (în jurul cifrei de 1000 de elemente utile,tranzistoare, porți, biți, celule) pentru care un tip nou de circuit se impune pe piață. Exemplele care vin să sprijine această afirmație sunt multiple, de pildă ariile de porți introduse de firma Ferranti (câteva sute de porți per cip) nu s-au bucurat de succes comercial, pe când ariile firmei LSI Logic (câteva mii de porți) au antrenat vânzări de peste un miliard de dolari.

LEGENDĂ

Figura 1.1 Procesul tehnologic după legea lui Moore

Clasificarea sistemelor numerice

Sistemele numerice se clasifică în ordine, existând în prezent șapte ordine.

S0, sistemele de ordin zero sau circuitele combinaționale au drept reprezentant poarta logică.Conectând corespunzător mai multe porți se obțin circuite logice combinaționale (CLC), celemai importante fiind: codificatorul, decodificatorul, comparatorul, sumatorul, generatorul de

paritate, convertorul de cod.

S1-sistemele de ordin unu sau circuitele de memorare au ca reprezentant tipic bistabilul. Conectând corespunzător mai multe bistabile (și eventual porți) se obțin circuite secvențiale, cele mai importante din acest sistem fiind registrele de deplasare și memorare.

S2-sistemele de ordin doi sau automatele elementare sincrone au ca reprezentant tipic

numărătorul. Extensia este formată de numărătoare, divizoare programabile, automate

secvențiale sincrone cu facilități multiple.

S3-sistemele de ordin trei sau sistemele microprogramabile tradiționale funcționau pe baza unui algoritm implementat în microcod. Primele microprocesoare au schimbat radical această abordare, microcodul nemaifiind accesibil utilizatorului. A devenit însă disponibil un set de instrucțiuni puternice al microprocesorului – codul mașină. În prezent sunt foarte puține aplicații în care se mai cere programarea în limbaj mașină – sunt preferate limbajele înalte C, Java, etc. Acesta este motivul pentru care am ales microcontrolerul și nu microprocesorul ca reprezentant tipic al acestui ordin, o serie de aplicații simple programându-se direct în limbajul mașină al microcontrolerului. În acest context, microprocesorul nu este extensia firească a microcontrolerului, ci un reprezentant mai complex (un microprocesor actual are peste 25 de

milioane de tranzistoare).

S4-sistemele de calcul au ca reprezentant tipic calculatorul. Paradoxal, este destul de greu de definit un calculator datorită progresului tehnologic accelerat care determina schimbarea unei generații de microprocesoare la fiecare 2 ani. Prin calculator în sensul acestui curs vom înțelege un sistem programabil cu prețul între 300 și 100.000 USD. Similar, un supercalculator va avea

prețul peste 100.000 USD (tipic peste 1 milion de dolari).

S5-sistemele de ordin patru sau rețeaua de calculatoare au drept reprezentant tipic rețeaua locală (LAN, local area network în limba engleză), amplasată într-o încăpere sau clădire. O rețea la nivel de oraș (MAN, Metropolitan Area Network) respectiv de întindere mare (WAN – wide

area network) la nivel de țară, continent sau intercontinentală. Rețeaua casieriilor Renel este un

bun exemplu de MAN, iar rețeaua de bancomate BCR un exemplu de WAN.

S6-sistemele de ordin șase sunt un caz special, fiind reprezentate unic de Internet, a cărui extensie nu este previzibilă în viitorul apropiat.

Tabelul 1.1.

Clasificarea sistemelor numerice

Este interesant de apreciat proporția dintre hardware și software la sistemele numerice clasificate mai sus. La sistemele de ordin 0 și 1 partea software este 0. Primele dispozitive programabile sunt cele de ordin doi, dar ele nu rulează propriu-zis un program – ci evoluează în

funcție de un cuvânt binar.

Ponderea software-ului crește puternic începând cu sistemele de ordin trei. La un calculator modern, costul software-ului (oficial, nu pirat!) depășește de multe ori costul hardware-ului, raportul fiind cu atât mai mare cu cât programele utilizate sunt mai specializate și deci mai scumpe. Este imposibil de imaginat un sistem de ordin cinci fără contribuția software-ului, iar Internetul este doar o construcție soft, chiar dacă se bazează pe sute de milioane de calculatoare conectate la circa 100 de milioane de servere.

Niveluri logice, forme de undă

Un circuit logic elementar (CLE) este un ansamblu de elemente electrice și electronice cu

ajutorul cărora se efectuează operații logice elementare. CLE funcționează binar, folosind elementesau dispozitive care se pot afla în două stări distincte, cărora li se asociază valorile binare 0 și 1.

Sesizarea stării în care se află un CLE se poate face prin mai multe metode, în funcție de mărimea urmărită (o tensiune, prezența unui curent, starea unui contact electric, etc). În prezent cea mai folosită metodă folosește drept mărime electrică asociată stării CLE tensiunea electrică. Sesizarea propriu-zisă a stării se poate realiza prin:

– detectarea nivelului tensiunii la ieșirea CCLE – logică de nivel;

– detectarea prezentei sau absenței unor impulsuri la ieșirea CLE – logică de impulsuri.

În general se utilizează logica de nivel. În logica pozitivă se asociază un nivel de tensiune relative ridicat VH valorii 1 logic (Sus sau High), respectiv un nivel relativ coborât VL valorii 0 logic (Jos sau Low). Se poate opera și în logica negativă în care aceste valori sunt inversate.

În practică este mai răspândită logica de nivel pozitivă (tehnică de calcul, echipamente numerice de comandă, etc), dar există și situații în care întâlnim logica negativă, de exemplu la portul serial al calculatoarelor PC.

Nivelurile asociate pentru 0 și 1 logic nu sunt în fixe sau constante, ele găsindu-se într-un interval de valori garantat de producător. Nivelurile de tensiune TTL sunt cuprinse între 0 și 0,8 V pentru 0 logic, respectiv între 2 și 5 V pentru 1 logic. În logica pozitivă nivelul corespunzător al tensiunii de ieșire 0 logic se notează cu U0L sau VOL, iar pentru 1 logic se utilizează U0H sau VOH. Pentru portul serial nivelul 1 logic corespunde unei tensiuni cuprinse în intervalul -12 la -5 V, iar 0 logic unei tensiuni cuprinse între 5 și 12 V.

Diagramele de semnal aferente circuitelor numerice de cele mai multe ori nu reprezintă valoarea realăa tensiunii în stările 0 și 1, preferându-se o reprezentare simplificată (figura 1.7). Primul semnal esteunul periodic cu perioada T, iar cel de-al doilea este un semnal neperiodic. Un semnal de tact este unexemplu tipic de semnal periodic, iar o linie a unei magistrale de date este un bun exemplu de semnal neperiodic.

Caracteristicile semnalelor periodice sunt frecvența, și factorul de umplere (duty cycle) exprimat de cele mai multe ori procentual: factorul de umplere.

Clasificarea circuitelor integrate digitale după complexitate

În funcție de numărul de porți echivalente, circuitele integrate numerice se clasifică conformtabelului de mai jos. Limita de 12 porți la circuitele SSI provine istoric – la mijlocul deceniului 7 era o performanță integrarea a peste 50 de tranzistoare pe un singur cip! (Un circuit complex actual are peste 100 de milioane de tranzistoare, adică de 2.000.000 de ori mai mult!). Din acest motiv, tabelul nu este definitivat, densitatea de integrare crescând permanent.

Tabelul 1.2

Clasificarea circuitelor integrate logice după numărul de porți echivalente

1.5.1. Tehnologii de fabricare a circuitelor integrate digitale

Realizarea CID moderne se face utilizând tranzistoare bipolare sau MOSFET. În tehnologie bipolară se fabrică circuitele ECL (Emitter-Coupled Logic) și TTL (Transistor-Transistor Logic),ultimele fiind mai larg răspândite. Cele mai răspândite tehnologii MOS sunt CMOS (Complementary MOS) și NMOS (n-channel MOS).

Circuitele SSI și MSI se produc atât în tehnologie TTL cât și CMOS. Circuitele LSI, VLSI și ULSI se produc numai în tehnologie MOS datorită densității (mult) mai mari de integrare necesare.

1.4.2. Capsule pentru circuitele integrate

Capsulele circuitelor integrate se clasifică după modul în care aceste circuite echipează o placă de circuit imprimat (cu găuri sau montate pe suprafață). Capsula DIP (engl. Dual in Line Package) este reprezentantul tipic pentru prima categorie.

Tehnologia SMT (engl. Surface-Mount Technology) utilizează circuite integrate aleerice de cele mai multe ori nu reprezintă valoarea realăa tensiunii în stările 0 și 1, preferându-se o reprezentare simplificată (figura 1.7). Primul semnal esteunul periodic cu perioada T, iar cel de-al doilea este un semnal neperiodic. Un semnal de tact este unexemplu tipic de semnal periodic, iar o linie a unei magistrale de date este un bun exemplu de semnal neperiodic.

Caracteristicile semnalelor periodice sunt frecvența, și factorul de umplere (duty cycle) exprimat de cele mai multe ori procentual: factorul de umplere.

Clasificarea circuitelor integrate digitale după complexitate

În funcție de numărul de porți echivalente, circuitele integrate numerice se clasifică conformtabelului de mai jos. Limita de 12 porți la circuitele SSI provine istoric – la mijlocul deceniului 7 era o performanță integrarea a peste 50 de tranzistoare pe un singur cip! (Un circuit complex actual are peste 100 de milioane de tranzistoare, adică de 2.000.000 de ori mai mult!). Din acest motiv, tabelul nu este definitivat, densitatea de integrare crescând permanent.

Tabelul 1.2

Clasificarea circuitelor integrate logice după numărul de porți echivalente

1.5.1. Tehnologii de fabricare a circuitelor integrate digitale

Realizarea CID moderne se face utilizând tranzistoare bipolare sau MOSFET. În tehnologie bipolară se fabrică circuitele ECL (Emitter-Coupled Logic) și TTL (Transistor-Transistor Logic),ultimele fiind mai larg răspândite. Cele mai răspândite tehnologii MOS sunt CMOS (Complementary MOS) și NMOS (n-channel MOS).

Circuitele SSI și MSI se produc atât în tehnologie TTL cât și CMOS. Circuitele LSI, VLSI și ULSI se produc numai în tehnologie MOS datorită densității (mult) mai mari de integrare necesare.

1.4.2. Capsule pentru circuitele integrate

Capsulele circuitelor integrate se clasifică după modul în care aceste circuite echipează o placă de circuit imprimat (cu găuri sau montate pe suprafață). Capsula DIP (engl. Dual in Line Package) este reprezentantul tipic pentru prima categorie.

Tehnologia SMT (engl. Surface-Mount Technology) utilizează circuite integrate ale căror pini se lipesc direct pe cablajul imprimat. Această soluție permite o importantă economie, deoarece:

– nu mai sunt necesare găuri de trecere a pinilor;

– porțiunea de cablaj de pe partea opusă circuitului SMT poate fi folosită pentru alte circuite sau trasee;

– circuitele SMT sunt mult mai mici decât echivalentul lor DIP (atât prin dimensiunile capsulei și cât și prin distanța mai mică dintre doi pini alăturați).

CAPITOLUL II

ALGEBRA BOOLEEANĂ. PORȚI LOGICE

2.1. Constante și variabile booleene. Tabele de adevăr

Procesul de convertire a obiectivelor procesului de comandă într-un program de logică scară implementat cu schema scară, necesită o gândire structurată, aprofundată și detaliată. Algebra logicei binare sau algebra booleeană prevede instrumentele necesare pentru analiza și sinteza acestor sisteme de comandă.

Algebra booleeană a apărut pe la mijlocul secolului XIX-lea, datorită matematicianului englez George Boole. Ea s-a dovedit a fi extrem de utilă în proiectarea circuitelor numerice și este folosită din plin de către proiectanții și cercetătorii din domeniile electrotehnică și știința calculatoarelor. Tehnicile algebrei pot modela un sistem logic, cum este și sistemul de comandă cu contacte și relee printr-o singură funcție logică. Funcția poate fi apoi simplificată și/sau prelucrată în forme noi. Aceste tehnici se adaptează foarte bine proiectării cu logica scară și sintetizării schemelor scară.

Algebra binară sau algebra booleeană constă din variabile binare, operații cu aceste variabile și proprietățile operațiilor. Operațiile elementare sunt în număr de trei: ȘI, SAU, NU, care se mai numesc, produsul logic sau conjuncția (ȘI), suma logică sau disjuncția (SAU), respectiv negarea logică (NU). Operații mai complexe sunt SAU-EXCLUSIV, SI-NU, SAU-NU.

În algebra booleană sunt două constante: 0 și 1. În funcție de tipul de logică folosit, de tehnologia utilizată, materializarea celor două constante se obține prin niveluri de tensiune bine stabilite. De exemplu, valoarea 0 logic se poate obține comod în anumite condiții prin simpla legare la masă a intrărilor unui circuit numeric.

Variabilele booleene pot lua una din cele două valori, 0 sau 1. O variabilă care nu este 0, va fi obligatoriu 1 și reciproc. Este important de reținut faptul că 0 și 1 nu reprezintă două numere, ci stări sau niveluri logice. O serie de sinonime desemnează cele două stări logice posibile, cele mai folosite fiind prezentate în tabelul următor.

Tabelul 2.1.

Sinonime pentru starea logică 0, respectiv 1

Tabelul de adevăr este o modalitate de descriere a dependenței ieșirii unui circuit logic combinațional de valorile logice ale intrărilor. În tabelul de adevăr sunt prezente toate combinațiile posibile ale variabilelor de intrare. În table, liniile se trec ordonat crescător, prima coloană aferentă variabilelor de intrare corespunzând bitului mai semnificativ – MSb al vectorului de intrare, iar ultima coloană bitului mai puțin semnificativ – LSb.

Tabel de adevăr

Circuitul logic combinațional din figura 2.1 are trei intrări A, B și C, iar ieșirea a fost notată cu y. Din citirea tabelului de adevăr se poate afirma că:

y este Adevărat dacă și numai dacă:

A este Fals ȘI B este Fals ȘI C este Adevărat

A este Fals ȘI B este Adevărat ȘI C este Adevărat

A este Adevărat ȘI B este Adevărat ȘI C este Adevărat,

ceea ce se poate exprima astfel:

În continuare este prezentat tabelul de adevăr al celor trei funcții elementare (NEGARE, ȘI, SAU).

Tabelul 2.2.

Tabelul de adevăr al funcțiilor elementare

Teoremă: Orice funcție poate fi realizată cu un singur tip elementar împreună cu inversoare.

2.2. Numere binare

Majoritatea oamenilor este obișnuită cu sistemul de numerație zecimal. În tehnica numerică este mult mai potrivit sistemul de numerație binar care folosește baza 2 și două numere: 0 și 1. Această alegere este convenabilă deoarece cele două numere se pot reprezenta ușor prin două stări distincte ale unor mărimi electrice (contact închis sau deschis, nivel de tensiune ridicat sau scăzut, prezența sau absența unui curent printr-o porțiune de circuit, etc.). În tehnica numerică dar mai ales în domeniul calculatoarelor sunt utilizate de asemenea pentru scurtarea lungimii reprezentării numerelor sistemul octal (baza de numerație 8) și cel hexazecimal (baza de numerație 16).

Un număr x exprimat într-o bază oarecare b este o sumă de puteri a bazei respective:

++…+ ( 2.1)

Numerele an…am se numesc cifre sau digiți ( digits în limba engleză). Fiecare cifră este cuprinsă Fiecare cifră este cuprinsă între 0 și b-1. Astfel, sistemul octal este format din cifrele 0…7, cel zecimal din cifrele 0…9, iar cel hexazecimal din cifrele 0…9, A, B, C, D, E, F. Un număr exprimat prin ecuația 2.1 se exprimă printr-un șir de cifre anan-1…a1a0 , a-1…a-m separate de un simbol pentru virgulă. Acest simbol este virgula înliteratura română și punctul în cea engleză.

2.3. Postulatele și teoremele algebrei booleene

Postulatele și teoremele algebrei booleene permit efectuarea de operații menite a simplifica modul de exprimare la funcțiilor logice și implicit oferă posibilitatea ușurării implementării fizice a acestor funcții.

Tabelul 2.3.

Postulatele algebrei boolene

Tabelul 2.4

Teoremele algebrei booleene

2.4. Porți logice elementare

Funcțiile logice elementare se implementează cu ajutorul porților logice. În categoria porților fundamentale întră inversorul, poarta ȘI, poarta SAU. Elementare sunt considerate și porțile ȘI-NU, SAU-NU, SAU-EXCLUSIV, SAU-EXCLUSIV NEGAT. Toate vor fi studiate în continuare.

2.4.1. Inversorul. Funcția NU

Cea mai simplă operație logică elementară operează cu o singură variabilă de intrare. Operația elementară NU (NOT în limba engleză) aplicată variabilei binare A se notează

și se citește “y este (egal) cu A negat” sau “y este (egal) cu non A”. Poarta logică care îndeplinește funcția NU (negare) se numește inversor. Cerculețul din figură este asociat inversării, triunghiul fiind consacrat amplificării neinversoare a semnalului, amplificare evident în putere în acest caz. Circuitul are o singură intrare și o singură ieșire și se numește circuit inversor, de negare, sau de complementare.

Figura 2.2. Inversorul și tabelul de adevăr

Funcționarea în regim dinamic a inversorului ideal este ilustrată în figura 2.3

În practică se utilizează și operatori neinversori. Un asemenea circuit mai este denumit buffer sau etaj tampon. Rolul său este de amplificare în curent (și implicit în putere).

2.4.2. Poarta ȘI

Operația elementară ȘI (AND în limba engleză) între variabilele binare A și B se notează

y =A·B

și se citește “y este (egal cu) A ȘI B”. Punctul din expresia logică ȘI nu trebuie confundat cu semnul înmulțirii – operația aritmetică de înmulțire și operația logică ȘI sunt chestiuni diferite. Confuzia poate fi sporită de tabelul de adevăr al operației ȘI, care este identic cu cel al operației de înmulțire. Poarta ȘI este un circuit cu cel puțin 2 intrări și o singură ieșire, ieșirea circuitului fiind 1 atunci când toate intrările sunt 1 logic.

Figura 2.3. Poarta ȘI cu două intrări și tabelul de adevăr

2.4.3. Poarta SAU

Operația elementară SAU (OR în limba engleză) între variabilele binare A și B se notează

și se citește “y este (egal) cu A SAU B”. Semnul “+” din expresia logică SAU nu trebuie confundat cu semnul adunării – operația aritmetică de adunare și operația logică SAU sunt chestiuni diferite.

Tabelul de adevăr al operației SAU nu mai este identic cu cel al adunării, deoarece în algebra booleană nu se poate depăși valoarea 1. Adică 1 + 1 = 1 (aici semnul + indică operația logică SAU), pe când 1+1 = 2 în aritmetică. Acest lucru este valabil și pentru operația SAU între mai multe variabile, de exemplu 1 + 1 + 1 = 1. Poarta SAU este cu cel puțin 2 intrări și o singura ieșire.

Circuitul funcționează astfel: nivelul de tensiune la ieșirea circuitului corespunde lui 1 logic atunci când cel puțin uneia dintre intrări i se aplică un nivel de tensiune ce corespunde lui 1 logic, adică ieșirea este 1 logic dacă cel puțin una dintre intrări este 1 logic.

Figura 2.5. Poarta SAU și tabelul de adevăr

2.4.4. Poarta ȘI-NU. Poarta SAU-NU

Se obțin din combinarea porților elementare prezentate anterior.

2.4.5. Teoremele lui DE MORGAN. Reprezentări echivalente

Teoremele lui De Morgan sunt frecvent utilizate în algebra booleană. Ele sunt reluate aici pentru cazul a trei variabile:

și

Ca o consecință directă a acestor teoreme, poarta SAU-NU din figura 2.9 este echivalentă cu poarta “NU-ȘI” care operează cu aceleași variabile de intrare. Este bineînțeles vorba despre aceeași poartă, cu deosebirea că reprezentarea normală este indicat a se folosi cu variabile de intrare active SUS, pe când cea echivalentă este potrivită la semnalele active JOS.

Figura 2.9 Simboluri echivalente

2.4.6. Poarta SAU-EXCLUSIV. Poarta SAU-EXCLUSIV NEGAT

Funcțiile SAU-EXCLUSIV (Exclusive OR sau XOR în limba engleză) și SAU-EXCLUSIV NEGAT (Exclusive NOR sau XNOR) sunt funcții compuse care pot fi implementate cu ajutorul porților ȘI, SAU, NU. Funcția SAU-EXCLUSIV între variabilele binare A și B este

și se citește “y este (egal) cu A SAU-EXCLUSIV B”. Simbolul porții și tabelul de adevăr aferent sunt prezentate în figura 2.10. Poarta SAU-EXCLUSIV are 2 intrări și o singură ieșire, care este 1 logic doar dacă cele 2 intrări au valori logice complementare.

Figura 2.10. Poarta SAU-EXCLUSIV și tabelul de adevăr

Figura 2.11. Funcționrea în regim dinamic a porții SAU-EXCLUSIV

Funcția SAU-EXCLUSIV NEGAT între variabilele binare A și B este

și se citește “y este (egal cu) A SAU-EXCLUSIV NEGAT B”. Simbolul porții și tabelul de adevăr aferent sunt prezentate în figura 2.11.

Figura 2.12. Poarta SAU-EXCLUSIV NEGAT și tabelul de adevăr

Figura 2.13. Funcționarea în regim dinamic a porții SAU-EXCLUSIV NEGAT

Tabelul 2.5.

Proprietățile funcțiilor SAU-EXCLUSIV și SAU-EXCLUSIV NEGAT

2.5. Memorii semiconductoare

2.5.1. Generalități

Memoriile semiconductoare sunt circuite integrate care au ca scop stocarea informației sub forma binară. Memoriile reprezintă categoria de circuite integrate cu cea mai mare raspândire si vânzare în lume în prezent. Ele se găsesc sub formă distinctă sau intră în componența altor circuite integrate cum ar fi microprocesoare, microcontrolere, FPGA, circuite de telecomunicații, etc.

2.5.2. Clasificarea memoriilor

Tradițional se deosebesc două categorii largi de memorii:

memorii care pot fi doar citite, denumite ROM (Read Only Memory);

memorii care pot fi și scrise și citite, denumite RAM (Random Access Memory).

În funcționare normală, memoriile ROM se pot doar citi. Înscrierea informației într-o astfel de memorie se realizează într-o etapă anterioară utilizării ei printr-o procedură numită programare (programming sau mai corect burning).

Memoriile RAM ar trebui denumite corect RWM (Read Write Memory) deoarece se pot citi si scrie în orice moment și la orice adresă, ele fiind memorii la care accesul poate fi aleator.

Din punct de vedere al tehnologiei de fabricație există memorii cu tranzistoare bipolare, MOS, CMOS respectiv BiCMOS.

Memoriile volatile își pierd conținutul la deconectarea alimentării, pe când memoriile nevolatile își mențin informația stocată si fără prezența tensiunii de alimentare. În general memoriile ROM sunt nevolatile, iar cele RAM sunt volatile.

În funcție de organizarea magistralei de date, deosebim memorii paralel si seriale. În prezent se fabrică memorii seriale EEPROM si SRAM.

În funcție de modul de utilizare:

memorii de program

memorii de date

În general memoriile ROM sunt folosite pentru stocarea programelor iar memoriile RAM a datelor. Clasificarea în memorii RAM si ROM mai are în prezent doar o semnificatie academică, deoarece memoriile EEPROM si Flash pot fi citite și scrise în funcționare normală la orice adresă (comportament de RAM), iar memoriile SRAM nevolatile (NV SRAM) stochează informația peste 10 ani fără alimentare externă (comportament de ROM).

Câteva caracteristici importante ale principalelor tipuri de memorii produse în prezent sunt prezentate comparativ în tabelul 2.6. Reprogramabilitatea si posibilitatea de programare în montaj sunt specifice doar unor tipuri de memorii ROM, de aceea câmpurile aferente lor au fost hașurate în cazul memoriilor RAM.

O memorie ideală se caracterizează prin capacitate ridicată de stocare (și implicit densitate mare de integrare), timp de acces redus, programabilitate în circuit, informație nevolatilă, consum de current scăzut si cost redus. Categoriile de memorii din tabelul 4.1 au două sau mai multe avantaje din cele de mai sus – singura care le îndeplinește pe toate fiind însa memoria Flash.

Tabelul 2.6

Comparație între caracteristicile diverselor tipuri de memorii

2.5.3. Unități de masură a informației

Bitul este cea mai mica unitate de masura a informatiei. Un bit este prin definitie masura cantitatii de informatie necesara eliminarii nedeterminarii la aruncarea cu banul. În algebra booleana un bit poate memora un 0 sau un 1. Multiplii bitului (notat cu b) sunt kilobitul, megabitul, gigabitul si terabitul:

1 kb = 210 b = 1024 b

1 Mb = 220 b = 1024 kb = 1.048.576 b

1 Gb = 230 b =1024 Mb = 1.073.741.824 b

1 Tb = 240 b = 1.099.511. b

În echipamentele numerice informația este organizată fizic și logic. Prin organizare fizică se întelege modul de stocare propriu memoriei semiconductoare, iar prin organizare logică – modul de organizare a informației în echipament. Cele două mărimi nu sunt neapărat egale. Există memorii integrate cu organizare multiplă de obicei pe 8 sau 16 biți (memoria din figura 2.14. are o capacitate de 64 de biți și se poate organiza în 64 de cuvinte de 1 bit, 16 cuvinte de 4 biți sau 8 cuvinte de 8 biți).

Marimea logică care caracterizeaza lățimea unei adrese de memorie adresată unic se numește cuvânt. Cuvântul are o lățime de unul sau mai mulți octeți (1, 2, 4 sau 8). Mai multe locații de memorie de la adrese succesive formeaza o pagină de memorie. O pagină de memorie poate avea 2 kB sau mai mult.

Figura 2.14. Posibilități de organizare a unei memorii de 64 de biți

În circuitele de memorie, informația este organizată fizic pe 1 bit, 4 biți, 8 biți, 16 biți sau 32 de biți. O locație de memorie de 8 biți se mai numește octet (byte), iar una de 4 biți o jumătate de octet sau nibble. Octetul (notat o sau B) are aceeasi multipli ca și bitul – kB, MB, GB, TB.

2.5.4. Parametrii memoriei

Timpul de acces este cel mai important parametru dinamic al unei memorii și reprezintă durata dintre momentul adresării memoriei până la momentul în care la ieșirea de date devine disponibilă informația accesată. Timpul de acces este cuprins între câteva ns la cele mai rapide memorii SRAM la câteva sute de ns la cele mai lente memorii EPROM.

Capacitatea memoriei (exprimată de obicei în multipli de biți sau de octeți) este , unde

m = numărul de cuvinte distincte ce pot fi adresate;

k = numărul de biți ce corespund fiecărui cuvânt memorat.

2.5.5. Funcționarea unei memorii

Selecția unui cuvânt din memorie se poate face liniar, utilizând un singur decodificator sau prin coincidență, utilizând două decodificatoare – unul pentru linii si altul pentru coloane (figura ). Selecția prin coincidență este singura utilizată la memoriile de capacitate mare. De exemplu în cazul unei memorii avânt o capacitate de 1 Mcuvânt, sunt necesare 20 de linii de adresă, iar utilizarea unui singur DCD ar presupune ca acesta să aibă 1.048.576 linii de ieșire, pe când utilizarea a două DCD, fiecare cu 10 intrări, reduce numărul de linii de ieșire pentru fiecare DCD la 1024. În figura 2.15. matricea de memorare este presupusă bidirecțională, la selecția prin coincidență cuvântul având o lățime de 1 bit. În cazul des întâlnit în practică de cuvinte pe 4, 8 sau 16 biți modelul matricii de memorare bidirecțional nu mai satisface si se utilizează un model tridimensional .

Figura 2.15. Selecția liniară și prin coincidenț

2.5.6. Memorii ROM

Există mai multe variante constructive pentru memoriile ROM (figura 2.16.).

Memoriile ROM cu programare prin mască – se referă la memorii programate la producător, caz în care informația se scrie la locul fabricației și nu poate fi modificată ulterior de utilizator. Conținutul memoriei este conform cu dorințele utilizatorului. Aceste memorii sunt ieftine, dar se produc doar la comenzi ridicate (peste 10.000 de bucăți).

Memoriile PROM (Programmable ROM) pot fi programate la utilizator, dar o singură dată (informția scrisă nu mai poate fi rescrisă).

Memoriile EPROM (Erasable PROM) sunt reprogramabile electric de către utilizator. Circuitele EPROM se șterg prin expunere la radiații ultraviolete, permițând apoi o nouă înscriere.

Memoriile OTP (One Time Programmable) sunt o variantă a circuitelor EPROM încapsulate în plastic fără fereastră de cuarț. Acestea se pot programa o singură dată, fiind însă mai ieftine decât omoloagele EPROM.

Memoriile EEPROM (Electrically Erasable PROM) – asigură utilizatorului posibilitatea programării și stergerii electrice în circuitul final, fără a fi nevoie de expunerea structurii la radiații ultraviolete.

Memoriile FLASH sunt o variantă de EEPROM la care procesul de ștergere este foarte scurt (câteva microsecunde) – față de zeci de ms la EEPROM, respectiv zeci de minute la expunere la radiații ultraviolete la EPROM).

Memoriile ROM programabile prin masca si cele PROM s-au produs si cu tranzistoare bipolare; aceste tipuri nu se mai utilizează în proiectele moderne. Memoriile EPROM, OTPROM, EEPROM sunt fabricate în tehnologie NMOS si mai ales CMOS.

Figura 2.16. Clasificarea memoriilor ROM

Schema bloc a unei memorii ROM

Se pot imagina mai multe arhitecturi didactice pentru a putea explica și întelege funcționarea unei memorii ROM. Una dintre acestea (figura 2.17.) se obține interconectând un decodificator cu un codificator. În figura 2.17., semnificația liniilor electrice este:

– A0 – An-1 sunt liniile de adresă prin intermediul cărora se specifică cuvântul ce va fi citit;

– W0, …, Wm-1 sunt m = 2n linii de cuvânt, ele selectează intern cuvântul adresat.

– D0, …, Dk-1 sunt k linii de date, k fiind lățimea cuvântului memorat.

Figura 2.17. O arhitectură posibilă pentru memoria ROM

Aplicând o adresă la liniile A0 – An-1, la ieșirea DCD se activează o singură linie Wi. La ieșirea CD se obține un cod pe k biți ce reprezintă chiar informația înmagazinată în locația ce corespunde liniei de cuvânt Wi active, respectiv adresei selectate la intrarea DCD și implicit a memoriei ROM. În aceasta schemă sediul informației memorate este CD, DCD neconținând informația ce urmează să fie citită. Cuvântul binar obținut la ieșirea CD depinde de structura codificatorului, înscrierea sau programarea unui cuvânt într-o anumită locație se face prin modificarea structurii schemei CD ce corespunde liniei de cuvânt respective.

2.5.7. Memorii Ram

Sunt circuite integrate cu integrare pe scară foarte largă (VLSI) care permit în timpul funcționării atât citirea cât si înscrierea în locația adresată. O denumire mai potrivită pentru aceste

memorii este de memorii RWM (Read-Write Memory).

Clasificarea memoriilor de tip RAM(figura 2.18.):

– RAM statice (SRAM), realizate cu bistabile în tehnologie bipolară sau unipolară;

– RAM dinamice (DRAM), numai în tehnologie unipolară NMOS sau CMOS.

Dupa modul de selecție a locației:

– selectie liniara, în cazul memoriilor de capacitate redusa, organizate pe cuvinte de mai multi biți;

– selecție prin coincidență, în cazul memoriilor de capacitate relativ ridicată, organizate pe cuvinte de un bit;

– selecția tridimensională, în cazul memoriilor de capacitate foarte mare, organizate pe cuvinte de mai mulți biți.

Figura 2.18. Principalele tipuri de memorii RAM disponibile în prezent

Selecția cuvântului adresat

Selecția liniară se realizează similar cu selecția omonimă prezentata la memoriile ROM. Memoria din figura 2.19. este organizată pe m = 2n octeți. Pentru combinația de adrese An-1 … A0 = 0…0, W0 = 1, selectându-se primul octet, care se va regăsi la ieșire (10111011).

Figura 2.19. Selecția liniară într-o memorie RAM

Selecția prin coincidență utilizează două decodificatoare de adresă, unul pe linii și celălalt pe coloane. Nodul selectat din memoria din figura 2.20. corespunde adresei de linii A0 …Ax-1 = 0 1 …1 și de coloane Ax … Ax+y-1 = 0 0 1 0 … 0. Pentru o folosire eficienta a ariei de siliciu ocupate se cauta ca matricea de memorare sa fie patrată sau cât mai aproape de un patrat în cazul unui număr impar de adrese, dimensiunile celor doua DCD fiind egale sau apropiate.

Figura 2.20. Selecția prin concidență

2.5.8. Aplicațiile memoriilor

Principalele aplicații ale memoriilor prezentate anterior sunt:

Memorii auxiliare

Flash reader PC

Generatoare de funcții (generatoare de semnal programabile)

Implementarea funcțiilor logice

Automate programabile

Firmware

Tabele de date

Convertoare de cod

Capitolul III

CIRCUITE LOGICE SECVENȚIALE (CLS)

3.1. Generalități

CLS este un echipament (iar în cazul cel mai simplu un circuit integrat) cu mai multe intrări și ieșiri; în cazul cel mai frecvent, una dintre intrări se numește intrare de tact. Vectorul ieșirilor depinde nu numai de valoarea momentană a vectorului intrărilor ci si de starea în care se află circuitul, respectiv de succesiunea stărilor prin care a trecut acest circuit. Pentru cunoașterea stării în care se află CLS, acestea se memorează folosind unul sau mai multe circuite basculante bistabile (CBB). Starea CLS este caracterizată prin variabilele de stare.

Modificarea stării CLS are loc în momente sau intervale de timp determinate de un semnal de tact (ceas, clock, CLK, CK). Un semnal de tact este format din impulsuri dreptunghiulare cu perioada de repetiție constantă.

CLS își pot modifica starea pe front sau palier. Semnalul de tact se consideră:

activ pe “1” dacă modificarea stării CLS se face pe frontul crescător al impulsului de tact sau pe întreaga durată a acestuia.

activ pe “0” atunci când modificarea stării circuitului se face pe frontul scăzător al impulsului sau pe durata pauzei dintre două impulsuri de tact.

Semnalul de tact din figura 3.1. este activ pe front, Ti este durata impulsului de tact iar T este perioada semnalului.

Figura 3.1. Semnal de tact activ pe front crescător (CLK1), scăzător (CLK2), pe palier 1 (CLK3) și 0 (CLK4).

Cel mai simplu CLS este circuitul basculant bistabil CBB. Starea acestuia este caracterizată printr-o variabilă de stare notată Q.

3.2. Circuite basculante bistabile (CBB)

Dacă un bistabil are prevazută o intrare de tact îl vom numi bistabil secvențial sau sincron, sau pe scurt bistabil, iar dacă nu are o asemenea intrare va fi denumit bistabil asincron, nesecvențial sau latch. Există si se folosesc următoarele tipuri de bistabile și latch-uri: SR, D, JK si T.

În tehnologie TTL se fabrică următoarele tipuri de latch-uri: 74LS256, 74LS259, 74LS373, 74LS375, 74LS75, iar CMOS: 4042, 4043, 4044, 4508.

În tehnologie TTL se fabrică urmatoarele tipuri de bistabile: 74107, 74109, 74112, 74173, 74174, 74175, 74273, 74374, 74377, 74378, 7473, 7476, iar CMOS: 4013, 4027, 4076.

Latch-ul S-R ( Set-Reset )

Este cel mai simplu CLS si CBB, utilizat pentru memorarea unui bit de informație (figura 3.2.). Este alcătuit din două porți ȘI-NU care formează un latch și eventual două inversoare care formează circuitul de intrare pentru intrări active SUS.

Pentru latch, S și R sunt variabile de intrare, iar Q este variabila de stare.

Figura 3.2. Latch SR

Circuitul de mai sus cuprinde două porți incluse într-o buclă de reacție pozitivă. Presupunând ca P1 si P2 funcționeaza ca inversoare, bucla de reacție este activă doar atunci când cele două porți funcționează simultan în zona de tranziție a caracteristicii de transfer. În această zonă amplificarea în valoare absolută este:>>1. Porțile P1 și P2 efectuează o amplificare numai în zona de tranziție. În celelalte zone amplificarea este nulă, bucla de reacție nu este activă si ansamblul format din P1 și P2 este într-o stare stabilă.

Modificarea starii Q a unui latch SR se realizează prin modificarea variabilelor de intrare S si R. Dacă presupunem că inițial Q = 1 și, iar această stare se menține un timp nedefinit. Similar, dacă presupunem că pentru S=R=0 si inițial . Combinația S = 1 și R = 0 determină Q = 1 (setarea latch-ului), iar combinația S = 0 si R = 1 determină Q = 0 (ștergerea latch-ului).

Funcționarea este reflectată de un tabel de funcționare, care prezintă care va fi valoarea noua a lui Q, notată Q* în funcție de vechea valoare Q și valorile logice ale variabilelor de intrare S și R.

Combinația S = R =1 este interzisă deoarece determină apariția egalității tensiunilor la ieșire Q = nQ = 1, iar după înlăturarea acestei combinații și trecerea, de exemplu, la intrare la valorile S = R = 0, ieșirile se vor găsi într-o stare nedeterminată, influențată de procesul tehnologic, diferențele dintre P1 si P2, etc.

Tabelul 3.1.

Funcționarea latch-ului SR

Figura 3.4. Latch-ul, reprezentare simbolică

La reprezentarea tuturor CBB este important de respectat următoarea regulă: notând ieșirea Q cu un cerculeț, în interiorul bistabilului se trece doar Q, în nici un caz tot .

Bistabilul SR Master Slave

Acest tip de bistabil nu elimină nedeterminarea pentru Sn=Rn=1 așa cum se întâmplă în cazul

bistabilului JK-MS. Structura sa este inspirată din cea a bistabilului JK MS, cu deosebirea că nu există două bucle de reacție globală de la cele două ieșiri Q și la intrare. Pentru realizarea acestui bistabil se pot folosi doua latch-uri SR cu intrare de comandă (figura 3.5.). Acest bistabil îsi comută ieșirile pe frontul scăzător al impulsului de tact.

La aplicarea tactului, primul bistabil funcționează după tabelul 3.2., ieșirile , se poziționează după valorile din tabel. Informația înmagazinată la începutul semnalului de tact și pe durata lui nu e transmisă bistabilului S deoarece CK este pe intervalul Ti și bistabilul al II-lea Slave este zavorât.

Tabelul 3.2.

Tabel de funcționare pentru bistabilul SR Master Slave

Figura 3.5. Bistabilul SR MR, schema electrică

Bistabilul JK

În continuare vom analiza o topologie pentru bistabilul JK derivată din cea a latch-ului RS și obținută prin adăugarea unei bucle de reacție de la ieșiri la intrări, dar restricționată sever temporal pentru o funcționare corectă (durata impulsului de tact trebuie sa fie mai mică decât timpul de propagare prin bistabil:).

Figura 3.5. Bistabilul JK, schema electrică

Principalele deosebiri față de latch-ul RS sunt:

– intrările de date se notează cu J și K, litere fără o anumită semnificație, dar adiacente în alfabet.

– starea ieșirilor porților P3 si P4 depinde nu numai de intrările de date ci și de starea latch-ului , circuitul fiind prevăzut cu o reacție globală de la ieșiri la cele două porți din circuitul de intrare.

– sunt prevăzute și două intrări asincrone prioritare pentru stabilirea stării inițiale (Preset), (Clear).

Funcționarea: Reprezentarea tabelului de funcționare se face analizând funcționarea circuitului pentru fiecare combinație a lui Jn, Kn și Qn

În tabel se trece și pentru a facilita analiza funcționării

Tabelul 3.3.

Funcționarea bistabilului din figura 3.5. pentru Ti<tp

Analiza se bazează pe faptul că ieșirea unei porți SI-NU din circuitul de intrare este pe 1 daca cel puțin o intrare a sa este pe 0. Starea bistabilului se poate modifica numai dacă cel puțin una dintre ieșirile porților P3 și P4 este 0. Pentru Jn = Kn = 0, aplicarea impulsului CLKn+1 nu modifică starea bistabilului JK. Se constată că pentru Jn și Kn egale simultan cu 1 starea bistabilului este complementată la fiecare semnal de tact. Această afirmație, care presupune eliminarea nedeterminării, nu e valabilă decât în condiția în care durata impulsului de tact e mai mică decât un timp de propagare, tp reprezentând timpul de propagare de la oricare intrare la orice ieșire: Ti<tp, tp=.

Figura 3.6. Bistabilul JK, diagrama de semnal

Neglijăm durata fronturilor, dar nu și timpii de propagare. Dacă ieșirea Q a fost pe 0, după trecerea timpului tp, Q trece pe 1. Dacă Ti<tp atunci aceasta este starea finală a bistabilului. Dacă Ti are însa o durată mai mare, atunci după scurgerea a înca unui tp, Q trece din nou în 0, și așa mai departe, până când CLK devine 0. În acest caz apar oscilații la ieșire și nu se poate preciza starea finală a bistabilului.

Ecuația caracteristică a bistabilului J-K, în ipoteza eliminării nedeterminării, în conformitate cu tabelul este:

În final, se obține următoarea expresie pentru ecuația caracteristică:

Bistabilul JK Master-Slave (JK MS)

Acest tip de bistabil asigură eliminarea nedeterminării stării Qn+1 pentru combinația Jn = Kn =1. În acest scop reacția globală de la ieșiri la intrări este întreruptă pe durata impulsului de tact.

Figura 3.7. Bistabil JK Master Slave-schema electrică

Comunicarea între secțiunea Master și cea Slave este dirijată de porțile P1 și P2 prin intermediul semnalului de tact negat, CLK .

Atât timp cât CLK=1, rezultă , ceea ce împiedică transmiterea lui QM și la

secțiunea Slave. Prin aceasta se întrerupe bucla de reacție globală ieșire-intrare pe toată durata impulsului de tact, evitând apariția oscilațiilor si asigurându-se o funcționare corectă după tabel a ecuației bistabilului pentru orice durată a impulsului de tact.

În momentul apariției impulsului de tact n + 1 se modifică starea Qn în conformitate cu tabelul de funcționare, această informație nefiind transmisă spre ieșire prin secțiunea Slave datorită inhibării P7 și P8 de către CLK pe durata impulsului de tact. Dupa terminarea palierului impulsului de tact, începând cu frontul său scazator (crescător pe CLK ) informația QM se va transmite la ieșirile Q(QS) .

Reprezentarea diagramelor de timp nu ține seama de tp. Ecuatia caracteristica este și în acest caz:

Figura 3.8. Bistabilul JK MS, diagrame de semnal

Figura 3.9. Bistabilul JK MS, simboluri pentru diferite variante de realizare

O largă utilizare o au bistabilele D (Delay) si T (Toggle). Aceste bistabile utilizează unul dintre tipurile de bistabile văzute mai înainte. Numai că bistabilele D și T sunt forțate să funcționeze doar într-o zonă limitată a tabelelor de funcționare ce corespunde bistabilelor SR respectiv JK.

D – Delay (sau Data) – se pot realiza folosind bistabile SR sau bistabile JK de orice tip, ele funcționează doar în zona tabelului de funcționare S = , respectiv J =

T – Toggle – îsi comută ieșirile la fiecare impuls aplicat, el funcționează în zona J = K=1. Se pot realiza folosind bistabile JK-MS sau bistabile D transformate în bistabile T.

Latch-ul D

Latch-ul D este asemănător cu latch-ul SR care este utilizat pentru memorarea unui bit de informație. Acest bistabil realizat din SR funcționează cu restricția că S trebuie sa fie întotdeauna complementul lui R sau invers.

Figura 3.10. Latch D, schema electrică Figura 3.11. Latch D, diagrame de semnal

Pentru EN = 1, Q = D (latch-ul este transparent). La tranziția 1→0 a intrării EN, latch-ul zăvorăște ultima valoare a lui D, memorând-o până când EN se modifică din nou.

Figura 3.12. Latchul D-simbol

În prezent se fabrică în tehnologie TTL: 74LS75 – Latch cvadruplu, 74LS373 – Latch octal des folosit, 74LS573 idem 373 dar cu o dispunere mai avantajoasă a intrărilor și ieșirilor.

Bistabilul de tip T

Bistabilul T (toggle) se caracterizează prin faptul că are un comportament definit atât de intrare, cât și de starea în care se află.

Intrarea T a unui astfel de bistabil se obține prin interconectarea intrărilor J si K. Pentru realizarea bistabilului de tip T se folosesc numai bistabile JK-MS.

Figura 3.13. Bistabilul T din JK Figura 3.14. Bistabilul T-simbol

La funcționarea secvențială:

– dacă T este permanent egal cu 1

– dacă T este permanent egal cu 0

CAPITOLUL IV

AUTOMATE PROGRAMABILE

4.1. Generalități

Conducerea digitală și secvențială este preferată în proiectarea sistemelor moderne. Aceste sisteme sunt mai stabile și uneori chiar mai ieftine. Cele mai multe sisteme continue pot fi controlate prin logica digitală. Există și suficiente cazuri de sisteme ce trebuie controlate continuu. Dacă sistemele continue sunt impropriu conduse, acestea pot fi instabile și devin periculoase.

Unele sisteme sunt cu autoreglare. Aceste sisteme nu au nevoie a fi îndeaproape monitorizate și poate fi utlizată o conducere în buclă deschisă. O unitate de comandă (controler) în buclă deschisă va comanda punerea intr-o stare dorită a sistemului, dar nu va folosi nici un senzor pentru a verifica starea prescrisă. Când un sistem trebuie să fie constant monitorizat și ieșirea sa ajustată continuu, se știe că este nevoie de o buclă închisă de conducere. Conducerea unui automobil este un bun exemplu. Aceasta va urmări viteza curentă a mașinii și va ajusta viteza pentru a tinge viteza țintă sau dorită.

Multe tehnici de comandă sunt disponibile pentru conducerea mașinilor și proceselor tehnologice. Implementarea unui sistem de conducere se poate face folosind: circuite de comandă cu relee (logica releelor), regulatoare, automate programabile, calculatoare. Sistemele de comandă timpurii s-au bazat pe mecanică și electronică. Cele mai moderne controlere actuale utilizează un calculator pentru îmbunătățirea conducerii. Cele mai flexibile dintre aceste controlere sunt automatele programabile (AP).

Automatele programibile (AP) sau controlerele cu logică programabilă (Programable Logic Controllers – PLC’s) au fost dezvoltate pentru a prevedea înlocuirea unei mari părți din releele electromecanice ale sistemelor de comandă electrice. AP înlocuiesc circuitele electrice cu un program de calculator.

În zilele mai vechi ale electrotehnicii (cum sunt cele de înaintea anului 1980) conducerea unei mașini sau sistem tehnic se implementa cu ajutorul releelor. Releele sunt robuste electric, termic și mecanic, ușor de proiectat cu ele, ieftine și capabile de a comanda curenți foarte mari prin contactele lor de ieșire.

Când au apărut microprocesoarele (la sfârșitul anilor 70) s-a realizat că acestea nu puteau asigura baza componenetelor necesare pentru o formă mai flexibilă de conducere a instalațiilor industriale. Așa s-au născut automatele programabile. Bedford Associates, fondate de Richard Morley, au realizat primul PLC în anul 1968, cunoscut cu denumirea Modular Digital Controller, de la care compania MODICON și-a desemnat numele. De menționat că, automatele programabile s-au născut ca urmare a solicitării emise de General Motors (GM) către furnizorii de sisteme de conducere industriala. General Motors se săturase cu înlocuirea și refacerea conexiunilor dulapurilor și panourilor complexe cu relee, ajustându-le mereu să devină puțin mai mari sau puțin mai mici. În 1969, General Motors a fost primul care a folosit un automat programabil la înlocuirea logicei cu relee pe liniile sale de asamblare.

Automatele programabile au câștigat o bună popularitate în sectoarele industriale din țările dezvoltate economic și vor rămâne probabil predomninante pentru ceva timp încolo. În țara noastră, în măsura in care se produce modernizarea tehnologiilor, automatele programabile sunt tot mai prezente. Toate acestea sunt datorită principalelor care le oferă automatele programabile:

Costuri reduse la conducerea sistemelor complexe;

Flexibilitatea și pot fi reaplicabile la controlul altor sisteme, repede și ușor;

Abilități de calcul ce permit o conducere mai sofisticată;

Fiabilitate înaltă ce face ca automatul programabil sa opereze mulți ani fără defecte;

Robustețe față de acțiunea vibrațiilor, temperaturii și umidității;

Gabarit redus.

4.2. Structura de bază a unui automat programabil

Structura de bază a unui automat programabil cuprinde două componente:

1

2

Unitatea centrală de procesare (UCP) este partea automatului programabil care recuperează, decodează, stochează și procesează informații. UCP este de fapt un număr de unități de prelucrare interconectate care sunt fiecare responsabile pentru un aspect al funcției unității centrale de prelucrare. Unitățile centrale de prelucrare standard conțin unități de prelucrare care interpretează și implementează instrucțiunile software-ului, realizează calcule și comparații, fac decizii logice (determinând dacă o propoziție este adevărată sau falsă după regulile Algebrei booleene), înmagazinează temporar informații pentru utilizarea ulterioară de către altă unitate de prelucrare a UCP, țin evidența pasului curent în execuția programului și permit UCP să comunice cu automatului programabil

Acesta execută, de asemenea, programul de comandă stocat în memoria auotmatului programabil. În esență, unitatea centrală de procesare este „creierul” unui automat programabil. Acesta funcționează aproape în același mod ca un calculator pentru conducerea unui proces, cu excepția faptului că utilizează instrucțiunui și coduri speciale pentru îndeplinirea funcțiilor sale. UCP are trei părți principale(figura 4.1.):

Procesorul

Sistemul de memorie

Sursa de energie

Figura 4.1. Părțile unei unități centrale de procesare

Procesorul este componenta care codează, decodează și face calcule cu date. Sistemul de memorie este componenta unității care stochează atât programul de comandă cât și datele de le echimpamentul conectat la automatul programabil. Sursa de energie prvede alimentarea automatului programabil cu tensiunile și curenții necesari funcționării.

Avantajul conexiunilor electrice prin soft prevăzut de automatul programabil este extreme de important. De fapt, acesta este cea mai importantă carateristică a AP. Realizarea circuitelor electrice prin programare soft permite schimbări ușoare și ieftine în sistemul de comandă. Dacă se dorește ca un dispozitiv al sistemului AP să se comporte altfel sau de a comanda în mod diferit un element al procesului, tot ce este de făcut este schimbarea programului de comandă. Într-un sistem tradițional, o astfel de schimbare presupune modificări fizice de conexiuni dintre dispozitive ce implică eforturi costisitoare și consumatoare de timp.

Sistemul de intrări/ieșiri (I/O) al automatului programabil prevede conexiunile fizice între echimpamentul de proces și procesor. Acesta constă din rack-uri și module I/O. Un rack este o rampă sau o montură cu nișe și conectori în care sunt instalate modulele I/O. Modulele I/O sunt dispozitive la care se conectează dispozitivele din instalația industrială care constituie dispozitivele de proces I/O ale AP. Împreună, rack-ul și modulele I/O formează interfața dintre dispozitivele de process și AP. Fiecare modul I/O este conectat electric în siguranță la dispozitivele de process corespondente, dar este de asemenea fixat în siguranță intr-o deschidere a rack-ului. Aceasta asigură legătura fizică dintre echipamentul industrial și AP. Automatele programabile mici sunt livrate ca o unitate asamblată, fără rack, cu intrări și ieșiri încorporate în această unitate. AP medii și mari folosesc un sistem rack. Sunt fixate locațiile pentru alimentarea cu energie, processor și cartelele de comunicații, iar nișele ce rămân pot fi completate cu module I/O.

Dispozitivele de intrare furnizează sistemului I/O al AP semnale/date din process. Exemple tipice sunt întrerupatoarele cu buton de apăsare, comutatoarele și dispozitivele de măsurare.

Dispozitivele de ieșire primesc semnale/date de la AP pentru îndeplinirea funcțiilor de conducere.

Dispozitivele de intrare și ieșire pot fi discrete sau analogice.

Dispozitivele discrete sunt intrări și ieșiri ce au numai două stăride funcționare, de exemplu, închis și deschis. Tabelul 4.1. prezintă exemple de astfel de dispozitive.

Tabelul 4.1.

Dispozitive I/O discrete

Dispozitivele analogice sunt intrări și ieșiri ce pot avea un număr infinit de stări. Aceste dispozitive trimit/primesc semnale complexe la/de la un AP. Exemple de astfel de dispozitive sunt arătate în tabelul 4.2.

Tabelul 4.2.

Dispozitive I/O continue

4.3. Limbaje de programare a automatelor programabile

Metodele sau limbajele de programare ale AP sunt cuprinse în standardul CEI 6131-3 din 1993, elaborate de Comisia de Electrotehnică Internațională (CEI). CEI a elaborat opt părți ale standardului 6131 care acoperă ciclul de viață complet al automatelor programabile. Dintre acestea, partea a treia se ocupă, așa cum s-a menționat, de limbajele de programare, care sunt următoarele:

Schema scară (SS), un limbaj de programare grafic, evoluat din metodele de proiectare a circuitelor cu relee

Schema bloc funcțională (SBF), un limbaj de programare grafic bazat pe blocuri care pot fi reutilizate în părți diferite ale unei aplicații

Textul structurat (TS), un limbaj bazat pe text, de înalt nivel, similar cu Pascal, pentru dezvoltarea de software de comandă bine structurat

Lista de instrucțiuni (LI), un limbaj cu listă de instrucțiuni de nivel redus, bazat mnemonici

Schema secvențială funcțională (SSF), un limbaj grafic pentru dezvoltarea programelor cu secvențe de comandă ce includ operații simultane.

Dintre aceste limbaje de programare, primele două (SS și SBF), sunt limbaje grafice, iar următoarele două (TS și LI) sunt limbaje bazate pe text. Harta de funcții secvențiale sau schema secvențială funcțională (SSF) nue este propriu-zis un limbaj de programare (mai degrabă o metodă de programare), dar descrie grafic comportarea secvențială a programului de comandă și ajută la structurarea organizăriiinterne a acestui program.

În continuare se va descrie numai schema scară, întâlnită și la sinteza schemelor de comandă cu relee, care este cel mai utilizat limbaj de programare pentru comanda mașinilor și proceselor tehnice cu automate programabile.

Schema sau diagrama scară este un limbaj grafic bazat pe logica scară (logica treaptă) a circuitelor electrice cu relee. Programarea AP a fost la început strict booleeană. Logica scară a releelor, reprezentată grafic prin schema sau diagrama scară, a fost găsită ca o exprimare ideală a funcțiilor logice booleene. Aceasta permite descrierea unor funcții ale mașinilor, dar ce se întâmplă când programatorul are nevoie de funcții speciale, cum sunt cele matematice, sau are nevoie de intrări si ieșiri continue? Blocurile funcționale au rezolvat această problemă. Editorii de programe SS au creat bibliotecă de blocuri funcționale speciale pentru temporizatoare (timers), numărătoare(counters), matematică, transfer informațional și funcții de complexitate crescută, asemenea conducerii automate PID.

Automatele programabile pot implementa toate condițiile vechilor scheme scară și încă mult in plus. Acestea pot îndeplini operațiile de conducere a mașinii industriale intr-o manieră mult mai sigură și la un cost mai scăzut. Un AP implementează în UCP toate interconexiunile instalației electrice utilizând instrucțiunile sale software. Aceasta se îndeplinește folosind schemele scară familiare specialiștilor într-o manieră ce este clară pentru inginerul de program.

L1 SB1 L2

H

S1

S2

Fig 4.2. O simplă schemă electrică scară

Figura 4.3. arată transformarea schemei din figura 4.2. într-un format AP. De notat că, dispozitivele I/O din echipament sunt conectate la interfetele de intrare și ieșire, în timp ce programul scară este implementat, intr-o manieră similară cablării electrice, în interiorul automatului programabil (programare prin soft în interiorul automatului programabil (programare prin soft în interiorul UCP a AP în loc de cablare într-un panou). UCP citește stările intrărilor, activează elementele de circuit corespunzătoare în acord cu programul și comandă dispozitivele de ieșire din echipament prin intermediul interfeței de ieșire a AP.

L1 L2 L1 L2

SB1

SB1 S1 H H

S2

S1

S2

modul de intrare modul de ieșire

Fig 4.3. Implementarea intr-un AP a schemei din figura 4.2.

Fiecare instrucțiune este reprezentată în interiorul AP printr-o adresă de referință, o valoare alfanumerică prin care fiecare dispozitiv este cunoscut în programul AP. De exemplu, întrerupătorul cu buton de apăsare SB1 este reprezentat în interiorul AP cu numele SB1 (indicat deasupra simbolului de instrucțiune). Aceste instrucțiuni sunt reprezentate aici, pentru simplificare, cu aceleași nume ca și pentru dispozitive. Figura 4.3. sugerează similaritatea în operare între circuitele cablate și cele din AP.

Figura…. prezintă principalele simboluri de intrare și ieșire folosite în programarea AP cu logica scară.

Intrări: contacte de relee și contactoare Ieșire: bobină de releu

Normal deschis Normal închis

Figura 4.4. Simboluri de intrare și ieșire

Programarea în scară are un număr de deficiențe:

Simbolurile și facilitățile variază între diferite produse de AP

Facilități limitate pentru reutilizarea de software

Slabe facilități pentru adresarea și manipularea structurilor de date

Facilități limitate pentru construirea secvențelor complexe

Control limitat asupra execuției programului

Facilitățile pentru operații aritmetice sunt limitate

4.4. Avantajele automatelor programabile

În general, arhitectura unui AP este modulară și flexibilă, permițând extinderea elementelor hardware și software odată cu schimbarea cerințelor aplicațiilor. În cazul că o aplicație depășește limitele AP, unitatea poate fi ușor înlocuită cu alta având capacitatea memoriei și a interfeței I/O mai mare, iar vechiul ansamblu poate fi reutilizat pentru o aplicație mai redusă. Un sistem AP asigură multe beneficii la soluțiile de conducere a proceselor și mașinilor industriale, de la fiabilitate și repetabilitate până la programabilitate. Tabelul 4.3. listează principalele caracteristici și beneficii obținute cu AP.

Mai presus de orice, caracteristica “programabil”, oferă cel mai mare beneficiu pentru utilizarea și instalarea de AP. Eliminarea conducerii prin elemente interconectate în favoarea conducerii programabile este primul pas către un sistem flexibil de conducere. Odată instalat, planul de conducere poate fi modificat pentru îndeplinirea cerințelor de conducere zi de zi, fără schimbarea circuitelor electrice fizice. Această modificare ușoară este posibilă deoarece nu există conexiuni fizice între dispozitivele de intrare și cele de ieșire ale AP, aflate în instalația industrială. Singurele conexiuni sunt cuprinse în programul de conducere, care poate fi ușor modificat.

Un exemplu tipic al beneficiilor oferite de software este un circuit ce conține bobină de releu comandată cu două contacte limitatoare conectate în serie (figura 4.3.a.). Schimbarea modului de operare a circuitului prin plasarea celor două contacte limitatoare în pralel (figura 4.3.b.), sau prin adăugarea unui al treilea contact la circuitul existent (figura 4.4.c.), ar putea lua mai puțin de un minut într-un AP. În cele mai multe cazuri, schimbarea simplă a programului poate fi făcută fără întreruperea funcționării sistemului. Aceeași schimbare făcută în echipamentul sistemului ar necesita între 30 și 60 minute de întrerupere a funcționării sistemului, ceea ce adesea înseamnă pierderi costisitoare de producție.

Tabelul 4.4.

Caracteristici și beneficii tipice ale AP

O situație asemănătoare există dacă este nevoie de schimbarea unei valori prestabilite a temporizării sau a unei alte constante. Un timer software din AP poate fi schimbat în zece secunde. Un set de comutatoare de reglare și un buton pot fi ușor configurate pentru introducerea noilor valori prestabilite. Este evident beneficiul câștigului de timp prin modificarea valorilor la un timer software față de modificarea unor valori la blocurile de reglare a timpilor din dispozitivele echipamentelor electrice.

Caracteristicile componentelor fizice ale AP prevăd în mod similar flexibilitate și reducere de costuri. O unitate centrală de procesare (UCP) este capabilă să comunice cu alte dispozitive inteligente. Această posibilitate permite automatului programabil sa fie integrat atât în scheme de comandă cât și în cele de la nivelul întregii fabrici. Cu o astfel de configurație de comandă , un AP poate permite mesaje în limba engleză privind sistemul controlat la un display inteligent. Pe de altă parte, un AP poate primi informații de conducere și supraveghere, cum ar fi informații pentru schimbări sau planificare de producție de la un calculator principal. Un sistem I/O standard include o varietate de module speciale de interfață, analogice și digitale, care permit conducerea sofisticată fără untilizarea unui echipament electronic de intarfață scump și special adaptat pentru utilizator.

Circuit cablat AP

(a) Serie

S1 K S1 K

S2 S2

(b) Paralel

S1 S3 K

S1 S3 K

S2 S2

(c) Adăugarea unui contact serie

Fig 4.3. Exemple de schimbări cablate vis-a-vis de schimbările prin soft

4.5. Organizarea și implementarea programului de conducere cu AP

4.5.1 Ghid de implementare a programului de conducere

Un automat programabil este o mașină puternică, dar poate să facă numai ceea ce este instruit să facă. Acesta primește toate directivele de la programul de conducere, setul de instrucțiuni sau algoritmii de conducere creați de programator. Totuși, succesul unui program de comandă al unui AP depinde de modul de organizare al utlizatorului. Există mai multe căi de a aborda o problemă; dacă însă problema este abordată într-o manieră sistematică, probabilitatea de a greși este mai mică.

Primul pas în dezvoltarea unui program de conducere constă în a defini obiectivele conducerii. Obiectivele conducerii specifică cerințele impuse care sunt definite prin funcționarea mașinii sau procesului.

Al doilea pas în dezvoltarea programului este de a determina o strategie de conducere, secvența pașilor de procesare ce trebuie îndeplinită într-un program pentru a produce prin ieșirea sa conducerea dorită. Această strategie presupune de obicei dezvoltarea unui algoritm.

Tehnicile folosite la implementarea programului de conducere variază funcție de programator. Cu toate acestea, programatorul poate urmări un anumit ghid în procesul programării. Tabelul 4.5. listează liniile directoare în programare pentru aplicații noi și modernizări. Aplicațiile noi sunt sisteme noi, în timp ce modernizările sunt îmbunătățiri și optimizări ale sistemelor de conducere existente și care au funcționat înainte fără un AP (cum ar fi sistemele de comandă cu relee sau cele cu regulatoare PID în buclă.

Tabelul 4.5.

Ghid de programare

Organigramele sau schemele bloc pot fi utilizate la planificarea unui program după o descriere scrisă. O organigramă este o reprezentare grafică, picturală a procesului care înregistrează, analizează și comunică informații și tot atât de bine definește secvențele procesului.

Schemele cu porțile logice sau cele cu contacte sunt folosite la implementarea secvențelor logice într-un program de conducere.

Trei documente importante ce prevăd informații despre aranjamentul sistemului AP sunt: tabelul de atribuire I/O, tabelul de atribuire a adreselor interne și tabelul de atribuire a adreselor registrelor:

Tabelul de atribuire a I/O furnizează nume, locații și descrieri ale intrărilor și ieșirilor reale (dispozitive din proces)

Tabelul de atribuire a adreselor interne menționează locațiile și descrierile de ieșiri interne, register, temporizatoare, număratoare și releele principale sau MCR-urile (Master Control Relay)

Tabelul de atribuire a adreselor registrelor listează toate registrele disponibile ale AP.

Codificarea programului este procesul de transformare a unei scheme logice sau cu relee într-o formă de program-scară al AP.

4.5.2. Configurarea unui AP

Configurarea unui AP poate fi considerată din timpul elaborării organigramei și a secvențelor logice de funcționare. Configurarea presupune definirea modulelor I/O ce vor fi utilizate și a tipurilor de semnale cu care acestea lucrează, precum și localizarea modulelor în montura rack locală sau la distanță. Locațiile modulelor determină adresele I/O ce vor fu utilizate în programul de conducere.

Se consideră ca exemplu un AP de mărime mijlocie capabil sămanipuleze până la 512 puncte I/O (000 la 777 în octal) pentru a explica cum se implementează și configurează un program AP. Structura I/O a automatului are 4 puncte I/O pe modul. AP are 8 rack-uri (de la 0 la 7), fiecare cu 8 fante sau grup de fante, unde pot fi introduce modulele. Figura 4.4. ilustrează această configurație.

AP acceptă patru module analogice de intrare, care pot fi plasate într-o locație de fantă oarecare. În aceeași fantă sau deschidere pot fi utilizate numai module I/O analogice sau numai module I/O discrete. Modulele multiplexate necesită două poziții de fante și prevăd legături la dispozitive I/O.

Adresele de la 000 la 777 (octal) reprezintă conexiuni ale dispozitivelor de intrare și ieșire figurate în tabelul I/O. Prima cifră din adresă reprezintă numărul de rack-uri, a doua reprezintă fanta sau deschiderea rack-ului, iar a treia cifră specifică conexiunea terminală în fantă. AP detectează dacă fanta deține o intrare sau o ieșire.

Modul I/O Grup de fante

0 1 2 3 4 5 6 7

Rack 0

Punct I/O

Fig 4.4. Exemplu de configurare

4.5.3. Atribuirea intrărilor și a ieșirilor reale și interne

Atribuirea intrărilor și a ieșirilor este una dintre cele mai importante proceduri ce au loc pe timpul etapelor de organizare și implementare a programării. Tabelul de atribuire I/O documentează și organizează ceea ce este de făcut pe viior. Tabelul indică intrările AP ce sunt conectate la dispozitivele de intrare și ieșirele AP ce acționează dispozitivele de ieșire (reale sau dine echipament). Aceste atribuiri sunt reprezentări de contacte și bobine ce sunt folosite în programul în format shema scară. În aplicațiile în care sunt disponibile schemele de circuite cu relee electromecanice (de exemplu la modernizarea unei mașini sau proces), identificarea I/O reale poate fi făcută prin înlocuirea simbolurilor de dipozitiv și apoi alocarea adreselor acestor I/O.

Tabelul 4.6. arată o atribuire de adrese I/O pentru intrări și ieșiri reale (dispozitive din echipament), în timp ce tabelul 4.7. prezintă atribuirea adreselor pentru elementele interne ale AP. Aceste alocări pot fi extrase din schemele cu porți logice sau simbolurile schemelor scară ce au fost folosite la desrierea secvențelor logice. Acestea pot proveni, de asemenea, de la elementele încercuite pe o schemă de circuite electrice. Numerele utilizate pentru adresele I/O depind de modelul de AP. Adresele pot fi reprezentate în codurile octal, zecimal sau hexazecimal. Secțiunea Descriere a tabelului specifică dispozitivele de echipament ce corespund fiecărei adrese.

Tabelul 4.6.

Atribuirea adreselor I/O pentru intrări și ieșiri reale

Tabelul 4.7.

Atribuirea adreselor I/O pentru ieșirile interne

L1 L2 L1 L2

K1

S1

Codificare program

S2 H1

Fig 4.5. Schemă de conexiuni parțială pentru atribuirea de adrese din tabelul 4.6.

Tabelul cu alocările de adrese poate fi urmat de schema conexiunilor intrare/ieșire (fig. 4.5.). Deși standardele industriale pentru reprezentările I/O variază printre utlizatori, intrările și ieșirile sunt în mod tipic reprezentate prin dreptunghiuri și respectiv pătrate. Schema I/O face parte din documentație.

4.5.4. Codificarea programului

Codificarea programului este procesul de translatare a schemei logice sau cu relee într-o formă de program scară în AP. Acest program scară, care este stocat în memoria aplicației este logica curentă care va implementa conducerea mașinii sau procesului. Ușurința codificării programului este legata direct de cât de îngrijit și ordonat s-au făcut etapele anterioare (definirea sarcinilor de conducere, atribuire I/O, etc). De notat mai este faptul că, codificarea este o reprezentare în AP a logicei sale funcționale pentru o anumită aplicație.

CAPITOLUL V

AUTOMATUL PROGRAMABIL “ ZELIO LOGIC” SR1-A101 BD

5.1. Generalități

Releul ,,Zelio Logic”, produs de una din cele trei ramuri ale Schneider Electric Télemecanique, este construit pentru a fi folosit în sisteme automate mici. El este potrivit pentru a fi utilizat în ambele sectoare, atât în cel industrial cât și în cel comercial. Compactivitatea sa și ușurința de instalare promovează o alternativă competitivă la cablul logic de bază. Ușurința programării, asigurată de universalitatea limbajului de contact, îndeplinește toate cerințele automaticii și de asemenea nevoile electricianului.

Versiunile fără ecran sau butoane furnizează nu doar o soluție competitivă valoroasă ci și confidențialitatea aplicațiilor. Programarea poate fi realizată :

independent, folosind butoanele releului

pe un PC, folosind programul de calculator „Zelio Soft”

pe un PC de buzunar, folosind programul de calculator ,,Zelio Soft Pocket PC”

Tipul de releu ,,Zelio Logic” utilizat în aplicație este SR1-A101 BD, a cărui elemente și funcționare sunt descrise în continuare.

Figura 5.1. Descrierea releului SR1-A101 BD

Dispozitiv retractabil de fixare

noi linii

6. Buton de anulare

Butoane de navigare sau butonul Z ,după configurație

Buton de validare și selecție

Buton Escape

Spațiu pentru ,, back-up memory” (memoria de rezervă) și pentru transferul de pe un produs pe un altul (opțional) sau pentru cablul de conectare a releului /PC

Terminale pentru ieșiri

Spațiu pentru etichetă și legendă

Memoria de rezervă (back-up) permite unui program să fie copiat într-un alt releu (ex. -echipament de construcții identic). De asemenea, permite o copiere de rezervă (back-up) a programului, pentru a putea fi salvat înainte de a schimba rezultatul.

5.2. Meniul automatului SR1-A101 BD

Meniul principal al acestui automat cuprinde următoarele submeniuri:

Submeniul PROGRAMARE-este specific modului de lucru STOP. Această funcție permite utilizatorului sa introducă diagramele de tip scară cu care va lucra releul. Acest program se scrie doar utlizând diagrame de stare LD (Ladder diagrams).

Odată introduse modificările , prezentarea se întoarce în meniul principal.

Notă : Această funcție poate fi protejată cu ajutorul unei parole.

Submeniul PARAMETRI

Descriere

Acest meniu permite utilizatorului să introducă și să modifice în mod direct pe ecran parametrii aplicației utilizând toate tastele releului.

Dacă există parametri introduși (și unde aceștia nu sunt blocați), ei sunt listați în fereastră, altfel apare mesajul FĂRĂ PARAMETRI.

Modul LD

Funcționează cu dispozitive ca :

relee auxiliare

ieșiri blocate

ceasuri

comparatori analogici

regulatoare

Modificarea unui parametru se face astfel:

1. Se plasează cursorul pe meniul Parametri în meniul principal (Parametri-pâlpâie),se apasă butonul OK si astfel fereastra se deschide la primul parametru

2. Se selectează funcția ce urmează a fi modificată.Pentru a ajunge la funcția cerută se parcurg toate funcțile (cu ajutorul tastelor ↑ și ↓până se găsește funcția corectă)

3. Se selectează parametrul ce trebuie modificat. Se utilizează tastele← și → pentru a ajunge la parametrul ce trebuie modificat.

Modul RUN

Este posibilă modificarea parametrilor in modul RUN atâta timp cât aceștia nu sunt blocați. Modificările pot fi făcute:

de la meniul PARAMETRI

de la meniul MONITORIZARE: se mută cursorul pe funcția ce trebuie modificată folosind tastele “săgeți” și se deschide fereastra parametrilor din meniu.

Submeniul RUN/STOP

Descriere

Această funcție permite utlizatorului să înceapă sau să oprească programul conținut de releu:

STOP: programul este oprit, ieșirile sunt dezactivate, valorile curente (de ex. curentul) sunt aduse la zero.

RUN: programul este executat.

Notă: Când trecem din STOP în RUN, programul este inițializat.

Atunci când interfața este deschisă, aceasta arată utlizatorului starea curentă :

YES- pâlpâie întotdeauna

NO.

Dacă programul este în modul:

STOP: PROGRAMUL RUN este propus,

RUN: PROGRAMUL STOP este propus.

Tastele de navigare↑↓sunt utilizate pentru a schimba opțiunea aleasă anterior. Când este validat acest mod cu OK, imaginea se mută la ecranul INTRARE-IEȘIRE.

Submeniul CONFIGURARE

Este făcut pentru următoarele opțiuni:

parolă

filtru

Zx Keys

schimbare D/T

schimbare SUMM/WINT

Dacă programul este protejat de parolă utilizatorul trebuie să introducă parola înainte de a acționa.

Submeniul ȘTERGE PROGRAM

Descriere: este accesibil în modul LD

Această funcție permite ca întregul program să fie șters. Dacă programul este protejat, utilizatorul trebuie să introducă parola înainte de a putea șterge programul. Ștergerea programului se realizează astfel:

Când este deschis, este selectată automat opțiunea NO.

Procedura de ștergere a programului este:

1. Se selectează YES utilizând tastele de navigație↑↓

1. Se validează comanda de ștergere apăsând OK.

Rezultat: execuția se întoarce în meniul principal

Submeniul TRANSFER

Este utilizat pentru:

a încărca aplicația conținută, din modul în memoria de rezervă ( back-up memory)

a încărca un program din memoria de rezervă în modul.

Această memorie este valabilă ca o opțiune. Dacă există deja o aplicație în memorie ea va fi ștearsă și acoperită de noul transfer. Nu s-a inventat încă nici un sistem care să verifice dacă memoria este liberă.

Transferul Modul → Memorie se realizează astfel :

Se selectează timpul transferului : Zelio Memorie utilizând tastele săgeți – ↑↓

Se confirmă comanda de transfer cu tasta Ok ( se introduce parola dacă programul este protejat prin parolă).

Se așteaptă până când transferul este complet. Pe ecran apare: ››› Memorie apoi Transfer. Se apasă Ok când transferul este complet.

Se confirmă a doua oară apăsând Ok pentru a ieși din meniu. Expunerea se întoarce în Intrări / Ieșiri din modul Run și în meniul principal în modul Stop.

Transferul Memorie → Modul presupune parcurgerea următoarelor etape:

Se selectează tipul transferului : Memorie › Zelio utilizând tastele săgeți – ↑↓

Se confirmă comanda de transfer cu tasta Ok

Se așteaptă până când transferul este complet. Pe ecran apare ››› Module apoi Transfer. Se apasă Ok când transferul este complet.

Erorile posibile ce pot apărea:

• Fără memorie

Mesaj de eroare : Eroare transfer: fără memorie.

• Configurația programului ce urmează a fi transferat incompatibil cu configurația hardware.

Mesaj de eroare : Eroare transfer: configurație incompatibilă ( numere de referință ale hardware sau software).

Submeniul LIMBI

Această funcție lasă utilizatorul să aleagă limba de comnuicare utlizând tastele releului.

Toate mesajele pot apărea în șase limbi:

engleză

franceză

germană

portugheză

Limba curentă(aleasă) este ilustrată prin simbolul de selecție

Procedura de selecție a limbii este:

Se selectează limba utilizând tastele de navigție ↑↓

Se confirmă opțiunea aleasă apasând OK.

Rezultat: Aplicația se întoarce la ecranul INTRĂRI în modul RUN și în meniul principal în modul STOP.

5.3. Diagrama scară (LD)

5.3.1 Reguli de introducere a diagramei scară

Un releu SR1-A101 BD permite introducerea a 120 de linii pentru diagrama scară, fiecare linie trebuie să includă întotdeauna o bobină.

Ecranul de expunere a releului poate fi utilizat pentru a afișa aceste linii, 4 odată, în felul următor:

1. Coloană rezervată contactelor (condiții)

2. Coloană rezervată contactelor și legăturilor

3. Coloană rezervată bobinelor (acțiuni)

4. Coloană rezervată legăturilor

Fiecare linie cuprinde 5 câmpuri, fiecare cu câte 2 caractere. Primele patru coloane pot fi folosite ca legături principale, iar ultima este rezervtă pentru bobine.

Legăturile trebuie introduse între coloanele de contact și bobină.

O diagramă de stare este introdusă într-un releu utilizând tastele de pe panoul frontal al acestuia.

Principalele reguli de introducere a diagramei scară sunt prezentate in tabelul de mai jos:

Introducerea unui element

Este posibil a poziționa doar un element (contact sau bobină) când cursorul ce clipește ■ apare pe ecran. Contactele se introduc în cele 5 coloane din stânga, iar bobinele pot fi introduse în ultima coloană.

A. Introducerea unui contact

a1. Se poziționează cursorul principal clipind ■, în poziția cerută, utilizând tastele Z1 până la Z4 : ← ↑ ↓ →.

a2. Se apasă tasta Shift (tasta albă). Meniul contextual apare.

a3. Se introduce contactul utilizând tastele Z2 (-) sau Z3 (+).

a4. Se alege tipul contactului cerut ( I, Q, q, M, n, T, t) utilizând tastele Z2 (-) și Z3 (+)

a5. Se apasă tasta Shift.

a6. Se utilizează tasta Z4 – pentru a apărea un număr.

a7. Se apasă tasta Shift. Meniul contextual apare.

a8. Se selectează numărul ( 12, ….., 9, A, ….) utilizând tastele Z2 (-) și Z3 (+).

a9. Se apasă tasta Shift.

B. Introducerea unei bobine

b1. Se poziționează cursorul principal clipind ■, în poziția cerută, utilizând tastele Z1 până la Z4 : ← ↑ ↓ →

b2. Se apasă tasta Shift (tasta albă). Meniul contextual apare.

b3. Se introduce bobina utilizând tastele Z2 (-) sau Z3 (+)

b4. Se alege tipul de bobină cerut utilizând tastele Z2 (-) și Z3 (+)

b5 . Se apasă tasta Shift

b6. Se utilizează tasta Z4 – pentru a apărea un număr

b7.

Z2 (-) și Z3 (+)

b13. Se utilizează tastele Z1 până la Z4 pentru a muta pe o nouă linie a programului.

Validarea unor bobine ca bloc funcțional va aduce o imagine a setărilor blocului funcțional al parametrilor.

Schimbarea unui element

Pentru a schimba un element într-o diagramă de scară existentă, se mută pur și simplu cursorul pe elementul ce trebuie schimbat și se urmează aceeași procedură ca și în cazul introducerii unui nou element.

Ștergerea unui element

Se plasează cursorul pe elementul respectiv

Se apasă Shift: Meniul contextual este disponibil.

Se utilizează tasta Menu ( ok/del ) pentru a șterge un element

Se apasă Shift.

În general, elementul șters, trebuie înlocuit printr-o legătură.

5.3.5. Metode de introducere a legăturilor

Introducerea legăturilor dintre elemente

Legăturile pot fi introduse când cursorul • clipind apare.

Se poziționează cursorul • în poziția cerută utilizând tastele de la Z1 până la Z4 : ← ↑ ↓ →

Se apasă Shift. Contactul este creat și apare meniul contextual.

c. Se trasează legătura mutând cursorul până în locația dorită utilizând tastele Z1 până la Z4.

d. Se apasă tasta Shift

Se repetă această acțiune de atâtea ori cât este necesar pentru a lega elementele.

Ștergerea legăturilor dintre elemente

Această operație se poate realiza astfel:

a. Se mută cursorul • sau ■ pe legătura ce trebuie ștearsă utilizând tastele de la Z1 până la Z4

b. Se apasă Shift

c. Se folosește tasta Menu ( ok/del ) pentru a șterge elementul

d. Se apasă Shift

Înlocuirea unei legături cu un contact

Se face plasându-se pur și simplu cursorul ■ în locația cerută și introducându-se contactul urmând instrucțiunile din secțiunea ,, Introducerea unui element” .

5.3.6. Metode de introducere automatizată a parametrului

Când se introduce o diagramă de stare trebuie să se introducă parametrii. Acest ecran al parametrilor permite să se introducă.

Funcții cu parametri :

relee auxiliare

ieșiri discrete

ceas

comparatori analogi

temporizări

Setările blocului funcțional al parametrilor pot fi accesate :

când introduci o linie a diagramei de stare;

din meniul Parametri dacă blocul nu a fost blocat;

Indiferent care ecran al setării parametrului este disponibil, principiul de intrare al parametrului este același.

1. Se poziționează cursorul clipind ■ pe parametru ce se vrea modificat utilizând tastele de la Z1 până la Z4.

2. Se apasă tasta Shift. Contactul este creat și apare meniul contextual. Se apasă Z4 pentru a accesa configurația meniului. Parametrul este disponibil dacă funcția automată cere un parametru.

3. Se apasă tasta Shift. Apare meniul.

4. Se selectează parametrul ce trebuie modificat utilizând tastele Z1 și Z4 ( selecția este semnalizată de clipirea parametrului ).

5. Se modifică valoarea parametrului utilizând tastele Z2 și Z3.

6. Se confirmă și se salvează schimbările apăsând Menu / Ok.

Expunerea se întoarce în fereastra de introducere a diagramelor de stare.

Ștergerea și introducerea liniilor diagramei de stare

5.3.7. Ștergerea unei linii a diagramei de stare

Liniile diagramei de stare sunt șterse linie cu linie. Principiul este următorul :

1. Se poziționează cursorul pe o suprafață goală de pe linie ( nu legătură sau element ) utilizând tastele de la Z1 până la Z4. Dacă este nevoie se șterge un element pentru a obține un spațiu liber.

2. Se apasă tasta Shift. Meniul este disponibil. Apoi se apasă tasta Menu / Ok pentru a șterge o linie.

3. Se validează alegerea apăsând Menu / Ok. Linia este ștearsă.

Notă : Este posibilă ștergerea tuturor liniilor diagramei de stare aflate într-un releu. Pentru aceasta se merge în opțiunea Clear program a meniului principal și se validează ștergerea tuturor liniilor diagramei.

5.3.8.. Inserarea unei linii corespunzătoare diagramei

Se poziționează cursorul pe linia imediat următoare ( de dedesubt ) și se utilizează tastele Z2 și Z3.

Se apasă tasta Shift. Meniul contextual este disponibil.

Se utilizează tasta Z1 pentru a insera o linie.

Se apasă tasta Shift.

Intrări discrete

O intrare discretă poate fi utilizată ca un contact:

IN0-contact normal deschis

iN0-contact norma închis

Exemplul 1:

Când contactul de intrare I1 este închis, ieșirea Q1 este activată.

Exemplul 2:

Când contactul de intrare I1 este deschis, ieșirea Q1 este activată.

Ieșiri discrete

O ieșire discretă poate fi utilizată fie ca o bobină fie ca un contact:

Utilizată ca o bobină:

Ieșirea discretă utilizată ca un contact

Q No – normal deschis O ieșire poate fi utilizată ca un contact pentru a-i determina starea

q No – normal închis la un moment dat.

Exemplul 1

când ieșirea Q1 este activată, ieșirea Q2 este de asemenea activată.

când ieșirea Q1 este dezactivată, ieșirea Q2 este activată. Ieșirea Q2 va avea întotdeauna starea inversă față de ieșirea Q1.

Funcțiile , , Set și Reset trebuie utilizate odată și doar o dată pentru fiecare bobină într-o diagramă de control.

Dacă este utilizată o bobină Set, se recomandă realizarea unei acțiuni Reset pentru această bobină.

Exemplu: Utilizarea unui releu de control alternant

Acesta este o funcție foarte obișnuită care permite stingere sau aprinderea unei lămpi utilizând un buton. Dacă butonul este conectat la intrarea I 1 și lampa la ieșirea Q1, de fiecare dată când butonul este apăsat, lampa se va aprinde dacă era stinsă sau se va stinge dacă era aprinsă. Pentru a stabili o aprindere în două etape, trebuie doar corectate intrările în paralel și câte un buton la fiecare intrare.

5.3.9. Relee auxiliare

Releele auxiliare ( notate cu M ) operează doar ca bobine de ieșire Q. Singura diferență este că ele nu au terminale de conectare. Există 31 de relee auxiliare ( numerotate în hexazecimal de la 1 la 9 și de la A la Y, neutilizând literele I, M și O ). Sunt utilizate pentru a salva sau pentru a înainta o stare. Starea salvată va fi apoi utilizată ca fiind contactul repartizat.

5.4. Blocul funcției ceas

Este folosit pentru a valida porțiuni de timp în timpul cărora au loc acțiuni. Se comportă ca un ceas programabil săptămânal și are 4 limite operative ( A, B, C, D ) utilizate pentru a controla ieșirile. Setările parametrului acestui bloc funcțional poate fi accesată :

când introducem o linie în Diagrama de stare

din meniul parametrului ( parameter ) dacă blocul nu a fost blocat.

Activarea ceasului este săptămânală și necesită să fie configurată :

zilele săptămânii

activare limitei de timp, prin stabilirea timpului de început ON și a celui de sfârșit OFF

Utilizat ca un contact

No – normal deschis – contactul este deschis când ceasul este într-o perioadă disponibilă.

No – normal închis – contactul este închis când ceasul nu este într-o perioadă disponibilă.

Parametrii

1. Modulul numărul ceasului – pot fi utilizate 8 blocuri, numerotate de la 1 la 8.

2. Configurația tipului de dată – D/W – zile ale săptămânii

3. Ziua validă 0 – luni, 1- marți , …..6 – duminică

– zilele care nu sunt selectate sunt indicate prin _ ( tălpiță)

4. Timpul de început – 00.00 la 23.59 H:M

5. Timpul de sfârșit – H:M 00.00 la 23.59

6. Blocarea – acest parametru este utilizat pentru a bloca parametrii ceasului. Odată blocat valoarea selectată nu mai este dispusă în meniul Parametri.

7. Limite operaționale – sunt disponibile 4 limite operaționale A, B, C, D.

Exemplu : Managementul timpului utilizând blocul funcțional Ceas

Pentru a controla o activitate de luni până sâmbătă în timpul a 2 reprize de timp : de la 09.00 la 13.00 și de la 15.00 la 19.00. Dispozitivul este conectat la ieșirea Q2 a releului utilizând ceasul numărul 1.

Diagrama scară este

Când este introdus utilizatorul trebuie să specifice limitele operaționale. Se utilizează următoarele taste:

– Ok pentru a selecta un parametru,

– Z2 și Z 3 pentru a schimba valoarea parametrului selectat,

– Z1 și Z4 pentru a muta de la un parametru la altul.

5.5. Blocul funcțional al numărătorului

Este utilizat pentru a crește sau scădea numărul de impulsuri. Poate fi setat la 0 sau la valoarea prestabilită ( fixată )depinzând de parametrul ales în timpul utilizării.

Poate fi utilizat ca un contact pentru a afla dacă:

valoarea prestabilită a fost găsită ( upcounting )

valoarea 0 a fost găsită (downcounting )

Setarea parametrului blocului funcțional poate fi accesată :

când se introduce o linie a diagramei de stare.

Din meniul Parametru dacă blocul nu a fost blocat.

Utilizat ca un contact

Când este utilizat ca un contact, numărătorul indică că valoarea indusă și valoarea curentă sunt egale:

valoarea curentă a numărătorului a găsit valoarea introdusă ( modul To – Către )

valoarea curentă a numărătorului este egală cu 0 ( modul From – De la )

C No – normal deschis – contactul este închis când numărătorul găsește valoarea introdusă.

c No – normal închis – contactul este închis până când numărătorul găsește valoarea introdusă.

Utilizat ca o bobină

CC – introducerea numărului de impulsuri

Exemplu : ( upcounting )

Resetarea stării inițiale a numărătorului

aduce numărătorul la starea inițială

valoarea curentă de calcul este resetată la 0 dacă timpul numărătorului este To ( Către )

valoarea curentă de calcul este resetată la valoarea introdusă dacă timpul numărătorului este From ( De la )

Exemplu :

Parametrii

tipul numărătorului

poate fi folosit pentru a selecta modul de operare a numărătorului :

a. To ( Către ) – urcă până la valoarea indusă

From ( De la ) – coboară ( descrește ) de la valoarea introdusă

Valoarea introdusă ( preset value )

Această valoare este între 0 și 32767 și reprezintă

• valoarea ce trebuie găsită în modul : creștere până la valoarea introdusă ( modul To )

• valoarea inițială în mod : descreștere de la valoarea introdusă ( modul From )

Acest parametru este pentru a bloca valoarea introdusă. Odată blocată, valoarea introdusă nu mai este dispusă în meniul Parametru.

Acest parametru permite accesul la valorile introduse.

C sau c – utilizat ca un contact , acest element al blocului funcțional de numărare indică că valoarea introdusă și valoarea curentă sunt inegale.

Exemplu : Luminarea unei lămpi conectate la ieșirea releului Q1 când valoarea introdusă este găsită. Astfel lampa nu funcționează.

– este folosit pentru a salva valorile curente în cazul unei căderi de curent

Exemplu :

Utilizând un bloc funcțional al numărătorului counting și reseting

Numărătorul ( counter ) este incrementat de fiecare dată când intrarea I1 este activată. Numărătorul este resetat ( șters ) de fiecare dată când I 2 este activat.

Numărătorul este decrementat de fiecare dată când intrarea I1 este activată.

Numărătorul este resetat ( șters ) de fiecare dată când I 2 este activat.

Numărătorul este incrementat de fiecare dată când intrarea I1 este activată.

Numărătorul este decrementat de fiecare dată când intrarea I3 este activată.

Numărătorul este resetat ( șters ) de fiecare dată când I 2 este activat.

Valoarea curentă a numărătorului

Aceasta este valoarea în orice moment, rezultată din acțiunile de numărare succesive sus / jos, care au apărut ultima dată când numărătorul a fost resetat la starea inițială. Această valoare este între 0 și 32767. Odată ce aceste valori au fost găsite, valoarea rămâne la 0 (după descreștere) sau + 32767 ( după creștere ).

Inițializare

Starea contactelor și a valorii curente la inițializare

modul normal – deschis ( starea directă ) este inactiv;

modul normal – închis ( starea inversă ) este activă;

valoarea curentă este 0.

5.6. Blocul funcțional temporizator

Este utilizat pentru a întârzia, a prelungi și a controla acțiunile în timpul unei perioade de timp bine fixată. Are o intrare pentru reset, o intrare de comandă și o ieșire folosită pentru a indica timpul de ieșire al temporizatorului.

Setarea parametrului blocului funcțional poate fi aceasta:

când introducem o linie a diagramei de stare

din meniul Parametri dacă blocul nu este blocat.

Duratele pot fi stabilite utilizând una sau două valori impuse în concordanță cu tipul temporizatorului.

Există 11 tipuri de temporizatoare.

Utilizat ca un contact

THo – normal – deschis ( 1 la G ) Operarea ieșirii acestui contact depinde de setările din

tHo – normal – închis temporizator.

Utilizat ca o bobină

TT – utilizat ca o bobină într-o diagramă de stare, acest element reprezintă intrarea blocului funcțional temporizator.

RT – acest element reprezintă intrarea de reset. Aceasta va reseta valoarea curentă a temporizatorului : contactul T este inactiv și blocul este gata pentru un nou ciclu de temporizări.

Acestea sunt cele 10 tipuri de temporizări. Fiecare tip atrage ( presupune ) un tip de operație specific utilizat pentru a trata cazurile posibile într-o aplicație:

A = operație cu control “held down”

a=operație cu pulsul început / oprit

C = nefolosit ( idle )

A / C = combinație de temporizări A și C

B = switch de activare a pulsului : impuls calibrat pe marginea crescătoare a intrărilor de control

W = switch de dezactivare a controlului impulsului : impuls calibrat pe marginea descrescătoare ( căzătoare ) a intrărilor de control.

D = aprindere simetrică

d = Flasher with pulse start/stop control: symmetrical

L i= Flasher with control held down: asymmetrical

li= Asymmetrical Flasher Unit; Press to Start/Stop

T = activitate totală

5.7. Blocul funcțional de schimbare a timpului vară / iarnă

Descriere

Ieșirea acestei funcții este la STOP pentru tot timpul iernii, și se schimbă cu RUN pentru tot timpul verii. De obicei, nu există o schimbare a timpului vară / iarnă. Această funcție poate fi activată din meniul CONFIGURARE / SCHIMBARE / VARĂ / IARNĂ.

Notă : Această funcție este valabilă doar în releele care conțin ceas la timp real.

Dacă această opțiune este validată, schimbarea datelor trebuie să fie definită :

fiecare utilizând una din zonele geografice predefinite.

prin configurare manuală a datei ( lună / Duminică )

Utilizat ca un contact

W No – normal deschis Contactul este închis tot timpul verii.

W No – normal închis

Sunt posibile următoarele moduri de operare :

No : nici o schimbare ( nici o zonă )

Schimbarea este automată, datele sunt definite în concordanță cu zona geografică ( Europa : Europa, MB : Marea Britanie, USA : SUA )

Alte zone : schimbarea este automată, dar trebuie specificată luna : M și Duminica – D ( 1, 2, 3, 4, sau 5 ).

5.8. Blocul funcțional text

Descriere

Funcția automată TEXT este utilizată pentru a expune textul sau valoarea numerică ( valoarea curentă sau valoarea indicată – preset ) pe LCD în loc de ecranul Intrări / Ieșiri.

Un bloc TEXT poate fi expus pe maxim 4 linii, corespunzând unei combinații de :

text

valori numerice

Până la 16 blocuri TEXT pot fi folosite ( X1 la XG ) simultan într-un program, dar ultimul bloc ce trebuie activat este expus.

Apăsând tastele Shift și Menu / Ok în ordine și simultan se schimbă expunerea din ecran Text în ecran Intrări / Ieșiri.

Apăsând cele 2 taste din nou simultan se reîntoarce expunerea în ecranul Text.

Utilizat ca o bobină

Tx No – normal deschis – expunere activată când contactul asociat devine activ ;

Rx No – normal închis – expunere dezactivată când contactul asociat devine activ.

Informația este expusă în modul dacă contactul conectat la bobina Text este activ. Dispare dacă corespunzătorul Rx este activat ( se întoarce în ecranul Intrări / Ieșiri ).

5.9. Exemplu de sinteză a schemelor electrice cu automate programabile

În acest subcapitol se va prezenta un exemplu de implementare a schemei de pornire a unui motor asincron trifazat cu rotorul bobinat folosind automatul programabil tip SR1-A101 BD produs de firma Schneider, prezentat anterior. Schemele de montaj și de principiu corespunzătoare sunt prezentate în figurile 5.1. și 5.2.

Figura 5.1. Schema de principiu

Figura 5.2. Schema de montaj

În continuare este prezentată simularea realizată pe calculator a pornirii motorului cu ajutorul automatului programabil SR1-A101 BD.

Mai sunt aici la final niste planes cu programul automatului programabil care porneste motoarele alea sunt separat in alt document.

Similar Posts