Introducere în sisteme automate de...

807
1 Automate programabile Introducere în sisteme automate de comandă

Transcript of Introducere în sisteme automate de...

1

Automate programabile

Introducere în sisteme automate de comandă

Generalităţi

Comanda unui sistem de acţionare electrică = realizarea unui ansamblu de operaţii care fac ca valoarea unei mărimi, de care depinde procesul tehnologic al unei maşini de lucru, să se modifice după o lege prestabilită sau după anumite impulsuri externe date de modificarea procesului de lucru.

Într-o instalaţie de comandă şi control fenomenele se succed într-o ordine dinainte stabilită. Unei anumite mărimi aplicate la intrarea în sistem (mărime de intrare) îi corespunde în sistemul de comandă o mărime bine definită obţinută la ieşirea sistemului comandat (mărime de ieşire).

Clasificarea sistemelor de comandă şi control (SCC)

După modul de transmitere a impulsului de comandă– SCC manuale– SCC semiautomate– SCC automate

Clasificare

SCC manuale– Efortul necesar pentru acţionarea

mecanismului de comandă este asigurat aproape în întregime de operatorul uman.

– funcţionarea este asigurată prin mijloace mecanice.

Exemple: – Întrerupătoare– Întrerupătoare automate– Comutatoare tobă

Sisteme de comandă manuale

Clasificare

SCC semiautomate– un număr de faze succesive ale unui ciclu de

lucru se execută automat, iar între acestea , pentru realizarea unor operaţii este necesară intervenţia operatorului uman.

– sunt utilizate în sisteme de complexitate redusă care nu necesită reglaje de viteză sau schimburi de regimuri de funcţionare frecvente.

Sisteme de comandă semiautomate

Clasificare

SCC automate– toate comenzile pentru realizarea întregului ciclu

de lucru sunt executate automat prin intervenţia unor elemente ale dispozitivului de comandă.

– operatorului uman îi revine sarcina de a da doar impulsul iniţial de pornire şi eventual de oprire

– creşte precizia de execuţie a comenzilor odată cu scurtarea ciclului de lucru al sistemului.

Clasificarea sistemelor de comandă şi control (SCC)

După modul de execuţie a dispozitivului de comandă– SCC în circuit deschis– SCC în circuit închis

SCC în circuit deschis

SCC în circuit închis

Clasificarea sistemelor de comandă şi control (SCC)

După modul de acţionare asupra elementelor dispozitivului de comandă– SCC discrete

directesecvenţialedupă program

– SCC analogice

SCC discrete

Sunt acele sisteme în care mărimile fizice din sistem sunt determinate de starea elementelor componente ale dispozitivului de comandă. Realizarea unui sistem de comandă discret se bazează pe o succesiune de semnale date de elementele dispozitivului de comandă.

SCC directe

– starea elementelor de execuţie ale dispozitivului de comandă depinde de starea elementelor de comandă în acel moment.

– mărimea de intrare are diferite valori, rezultând corespunzător diferite valori ale mărimii de ieşire.

Sisteme de comandă secvenţiale

– starea elementelor de execuţie este dependentă nu numai de starea momentană a elementelor de comandă ci şi de stările anterioare ale unor elemente din sistem.

– o singură variaţie a mărimii de intrare (ex. impuls de pornire) declanşează sistemul de comandă, urmând o succesiune de faze după un program fixat înainte.

– Terminarea programului are loc în momentul când mărimea de ieşire a ajuns la o valoare dinainte stabilită

Sisteme de comandă după program

la care dispozitivul de comandă este prevăzut cu un dispozitiv de programare. Esenţial - dispozitivul de comandă primeşte semnale de la dispozitivul de programare şi pe baza acestor semnale realizează comanda impusă.

Clasificarea sistemelor de comandă şi control (SCC)

După modul de implementare a sistemului de comandă– SCC ce folosesc tehnologia cablată– SCC ce folosesc tehnologia programată

SCC în tehnologie cablată

Într-o tehnologie cablată, SCC este realizat din module legate între ele. Funcţionarea obţinută rezultă din alegerea acestor module şi de legăturile care le unesc. În toate cazurile, SCC este în întregime particularizat prin realizarea sa materială.

SCC în tehnologie programată

SCC este realizată prin programarea elementelor componente prevăzute în acest scop. Funcţionarea obţinută rezultă din programarea făcută. În acest caz, personalizarea este făcută prin alegerea componentelor dar şi prin programare.

Tehnologie programată

Structura unui SCC

parte operativă: operează asupra materiei de lucru – utilaje şi mijloace diverse care realizează procesul de

elaborare: mori, maşini de tăiat şi găurit, pompe, capete de sudură, etc.

– elemente de acţionare destinate mişcării sau funcţionării acestor mijloace, ex: motoare electrice, valve hidraulice sau pneumatice

parte de comandă: emite ordinele către partea operativă şi primeşte de la aceasta semnalele de răspuns necesare coordonării acţiunilor acestuia

Structura unui SCC

Elementele unui SCC

Tensiunea de comandăElemente de siguranţăElemente de comandăElemente intermediare (relee)Elemente de conectare cu acţionare electromagnetică Elemente de acţionareElemente de protecţieElemente de semnalizareSurse de alimentareSenzori si traductoare

Elemente componente ale SCC

Elemente de acţionare: motoare de diferite tipuri şi principii de funcţionare, ele acţionează propriu-zis mecanismele maşinilor. Dintre cele mai cunoscute elemente de acţionare amintim motoarele

– electrice, – pneumatice şi – hidraulice.

Elemente de comandă: cele mai uzuale sunt întrerupătoarele, butoanele şi limitatoarele de cursă. Comandă semnale

– puternice (curenţi de câţiva amperi) – semnale slabe (de ordinul mA) cum sunt microcontactele unor aparate de

măsură şi control, traductoarele inductive şi capacitive, etc.Elementele de protecţie sunt destinate pe de-o parte protecţiei maşinilor electrice contra deteriorărilor, iar pe de altă parte protecţiei conductoarelor instalaţiei în caz de scurtcircuit (siguranţe).Elementele de conectare: realizează legătura propriu zisă a elementelor de acţionare (motoare) cu sursele de energie (electrică, pneumatică sau hidraulică).

Elemente componente ale SCC

Elemente intermediare: sunt intercalate între elementele de comandă şi elementele de conectare. Aceste elemente (relee) îndeplinesc rolul de transformatoare ale semnalelor de comandă transmise către elementele de conectare. Transformări :

– amplificări de semnal, – multiplicare semnalului, – întârzierea semnalului, – memorarea semnalului, – negarea (inversarea) semnalului, etc.

Elemente de semnalizare (optice sau acustice)Elemente auxiliare cum ar fi transformatoare, redresoare, rezistenţe, etc.

Funcţiile unui sistem de comandă şi control.

PornireaOprireaInversarea sensului de rotaţieMenţinerea regimului de lucruControlul vitezeiProtecţia operatorului

Pornirea

Motorul poate fi pornit prin cuplare direct la reţea. Poate fi de asemeni necesară o pornire lentă şi graduală nu numai pentru proteja maşina dar şi pentru a asigura că valoarea curentului nu este prea mare pentru reţeaua la care este cuplat motorul. Unele motoare pot fi distruse dacă sunt pornite cu un cuplu de pornire ce creşte brusc. Un alt factor de luat în seamă este şi frecvenţa cu care va fi pornit motorul respectiv.

Oprirea

Unele controlere permit motorului să se oprească într-o poziţie precizată. Altele impun întreruperea funcţionării motorului când acesta trebuie să se oprească repede. Oprirea rapidă este o funcţie vitală pentru un controler atunci când sunt situaţii de urgenţă. Controlerele asistă oprirea motorului prin întârzierea mişcării centrifugale

Inversarea sensului de rotaţie

Controlerele sunt utilizate pentru schimbarea automată a sensului de rotaţie a motoarelor la comanda operatorului de la staţia de comandă. Schimbarea sensului de rotaţie poate fi un regim permanent pentru unele aplicaţii industriale.

Menţinerea regimului de lucru

Menţinerea regimului de lucru dorit poate fi una din principalele destinaţii ale controlerului. El protejează motoarele, operatorii, maşinile şi materialele în timpul lucrului. Există o mare diversitate de tipuri de circuite de protecţie pentru a proteja oamenii, echipamentul şi procesul de producţie împotriva posibilelor defectări ce pot apare atunci când maşinile sunt în funcţiune.

Controlul vitezei

Unele controlere pot menţine foarte precis viteza proceselor industriale. Unele controlere pot modifica viteza motoarelor fie în trepte fie gradual printr-un domeniu continuu de valori ale vitezei.

Protecţia operatorului

O parte din elementele de protecţie mecanice au fost înlocuite sau îmbunătăţite prin folosirea sistemelor electrice de protecţie. Mai nou, o serie din funcţiile de protecţie au fost preluate de sistemul de comandă şi control care oferă o mai mare siguranţă pentru operatori.

Pornirea şi oprirea maşinilor electrice

În regimurile de pornire şi de oprire a maşinilor electrice trebuie ţinut seama de o serie de condiţii care afectează motorul. Dintre acestea amintim:

– Frecvenţa de pornire şi oprire– Tipul pornirii în funcţie de tipul sarcinii

uşoară: pornire în golgrea: porniri în sarcini

– Tipul pornirii în funcţie de durata acesteiarapidălentă

– Pornire şi oprire manuală sau automată– Tipul opririi în funcţie de durata acesteia

lentărapidă

– Tipul opririi în funcţie de poziţia de oprireprecisăaproximativăindiferentă

– Frecvenţa de inversare a sensului de rotaţie

Exigenţele impuse sistemelor de comandă şi control

SimplitateSiguranţa în funcţionareRepetabilitatea regimurilor de funcţionareFlexibilitatePosibilitate de evoluţieCoordonareDialogCalitateGestiune

Simplitate

Se consideră că un SCC este simplu atunci când asigură îndeplinirea tuturor condiţiilor ce-i sunt impuse cu minimum de elemente componente. Un număr mare de componente reduce siguranţa în funcţionare deoarece fiecare element al schemei, în parte, poate constitui sursa unor defecţiuni şi ale unei funcţionări defectuoase. O schemă simplă presupune şi costuri mai reduse.

Siguranţa în funcţionare

O parte din funcţionarea unei maşini automate este orientată spre propria protecţie sau spre protejarea materialelor pe care le prelucrează sau le manipulează. La aceasta se adaugă condiţiile necesare protejării operatorului uman. Un alt element legat tot de siguranţa în funcţionare este cel de disponibilitate prin care se înţelege capacitatea sistemului de a-şi îndeplini rolul pentru care a fost conceput.

Repetabilitatea regimurilor de funcţionare

Odată sistemul de comandă şi control instalat şi reglat, el trebuie să asigure repetabilitatea regimurilor de funcţionare şi respectarea normelor de funcţionare existente în vigoare.

Flexibilitate

Flexibilitatea unui sistem de comandă presupune posibilitatea trecerii cu uşurinţă de la un tip de comandă la altul (manual-automat şi invers) şi de la un regim al sistemului la altul, posibilitatea comandării acestuia din punctul în care se află sistemul de comandă sau de la distanţă.

Posibilitate de evoluţie

Aceasta are la bază faptul că sistemul poate evolua în timp atât din punct de vedere funcţional cât şi din punct de vedere structural. În exigenţa posibilităţii de evoluţie se poate considera şi posibilitatea de scalare a sistemului astfel încât cu acelaşi sistem să poată fi comandate mai multe sisteme de acelaşi fel sau diferite.

Coordonare

Această exigenţă se impune în cazul în care sistemul este integrat într-un ansamblu mai larg în cadrul căruia trebuie să se ţină cont şi de evoluţia celorlalte componente ale sistemului.

Dialog

Această exigenţă are drept scop realizarea unui dialog om-maşină mai clar şi mai complet pentru ambele părţi.

Dialogul poate fi realizat şi cu alte sisteme de comandă la acelaşi nivel ierarhic sau la nivele ierarhice diferite.

Gestiune

Presupune posibilitatea SCC de a primi o gamă largă de informaţii din partea sistemului, şi de a le gestiona în vederea realizării comenzii pentru care a fost conceput.

1

Automate programabile

Algebra booleană Funcţii booleene (FB)Reprezentarea FB

Definiţie

Algebră booleană = o structură algebrică formată din:O mulţime BDouă operaţii binare notate cu (+) şi (.)O operaţie unară notată cu (‘) pentru care sunt valabile 6 axiome:

Axiomele algebrei booleene

1. Mulţimea B conţine cel puţin două elemente diferite

2. Axioma închiderii: operaţiile (+) şi (.) sunt operaţii interne adică:

∀a,b∈B(i) a+b ∈B(ii) a.b ∈B

Axiomele algebrei booleene

3. Existenţa elementelor neutre pentru operaţiile binare

(i) ∃ element neutru faţă de operaţia (+) notat cu 0 a.î.:∀a∈B , a+0=a

(i) ∃ element neutru faţă de operaţia (.) notat cu 1 a.î.∀a∈B , a.1=a

Axiomele algebrei booleene

4. Comutativitate∀a,b∈B(i) a+b=b+a(ii) a.b=b.a

5. Distributivitatea∀a,b ∈B(i) a+(b.c) =(a+b).(a+c)(ii) a.(b+c)=a.b+a.c

Axiomele algebrei booleene

6. Existenţa elementului opus

∀a ∈B, există elementul opus lui a, notat a’ a.î.:(i) a+a'=1(ii) a.a'=0

Denumirea operaţiilor

Operaţia “ + ” se numeşte sumă logică, adunare logică, surjecţie şi o vom numi pe scurt sumăOperaţia “ . ” se numeşte produs logic, înmulţire logică, conjuncţie şi o vom numi pe scurt produsOperaţia “ ‘ ” se numeşte negare sau complementare

Prioritatea operaţiilor

În cadrul unei algebre booleene operaţiile au urmatoarea prioritate( ) – expresiile din paranteză’ – operaţia de complementare. – operaţia de înmulţire logică+ – operaţia de sumare logică

Principiul dualităţii

• Axiomele algebrei booleene sunt prezentate în perechi fiecare axiomă din pereche fiind duala celeilalte

• O axiomă se poate obţine din duala sa modificând operaţia “+” cu operaţia “.” şi elementul 0 cu elementul 1 (şi invers).

• Exemplu: existenţa elementului opus(i) a + a‘ = 1

↕ ↕(ii) a . a‘ = 0

Proprietăţile algebrei booleene

Idempotenţa∀a∈B(i) a + a = a (ii) a.a = a

Proprietăţile lui 0 şi 1∀a∈B(i) a+1=1(ii) a.0 = 0

Proprietăţile algebrei booleene

Unicitatea lui 0 şi 1Elementele 0 şi 1 sunt unice

Unicitatea elementului opusPentru ∀a∈B , a’ este unic

Distincţia dintre 0 şi 1Elementele 0 şi 1 sunt distincte

Involuţia∀a∈B, (a')'=a

Proprietăţile algebrei booleene

Absorbţia∀a,b∈B(i) a + a.b = a (ii) a.(a+b) = aAsociativitatea

∀a,b,c∈B(i) a + (b + c) = (a + b) + c(ii) a . (b . c) = (a . b) . c

Proprietăţile algebrei booleene

De Morgan∀a,b∈B(i) (a + b)’ = a’ . b’(ii) (a . b)’ = a’ + b’

Exemple de algebre booleene

Algebra binarăB={0,1} împreună cu operaţiile

Definire alternativă a operaţiilor

Exemple de algebre booleene

Simboluri– Contact normal deschis (cnd)– Contact normal închis (cni)

K= mulţimea contactelor electrice împreună cu operaţiile:– Legare în serie

– Legare în paralel

– Schimbarea stării contactului

Comutativitate

a b b a≡

a b

b ≡ a

Element neutru

a 1 a≡

a a

0 ≡

Distributivitate

a a a

b c ≡ b c

b a ba

c ≡ a c

Element opus

a a 0≡

a 1

a ≡

Idempotenţa

a a a≡

a a

a ≡

Proprietăţile lui 0 si 1

a 0 0≡

a 1

1 ≡

Absorbţia

a a

a b ≡

a a a

b ≡

De Morgan

a d a b F

b ≡

d F

a b d a F

d F ≡ b

24

Funcţii booleene (FB)

Definiţii

O variabilă care poate lua doar valorile 0 şi 1 va fi denumită variabilă binară booleană, variabilă bivalentă booleană sau simplu variabilă binară.O funcţie booleană este o funcţief:{0,1}n→{0,1}m pentru m,n≥0. Fiecărei n-tuple x=(x1,…,xn)∈{0,1}n, funcţia îi pune încorespondenţă o m-tuplă unicăf(x)=y=(y1,…,ym)∈{0,1}m.

Definiţii

Datorită asocierii cu circuitele numerice, componentele x1,…,xn se mai numesc variabile de intrare sau intrări iar componentele vectorului y, y1,…,ym se mai numesc variabile de ieşire sau ieşiri.n>1, m=1 funcţii booleene cu o singură ieşire şi n intrări.n>1,m>1 funcţii booleene cu n intrări şi mieşiri.

Funcţii booleene

Pentru o funcţie care depinde de n de variabile avem:2n combinaţii de valori pentru variabile22n=funcţii de nvariabile

Vari-abile

Combi-naţii

Funcţii

1 2481632

42 163 2564 65.5365 4.294.967.296

Funcţiile booleene de două variabile

n=2 nr. de variabile22=4 combinaţii de valori pentru variabile222=16 funcţii de 2 variabile

Funcţiile booleene de două variabile

F0 = 0 Funcţia constantă 0F1 = A.B (SI) ANDF2 = AB' Inhibiţie (A dar nu B)F3 = A IdentitateF4 = A B Inhibiţie (B dar nu A)F5 = B IdentitateF6 = AB' + A'B SAU-Exclusiv (XOR), se notează

şi A⊕BF7=A+B SAU

Funcţiile booleene de două variabile

F8 = (A + B)' SAU-NU (NOR) (în logica matematică denumită funcţia lui Peirce, se mai notează A ↓B

F9 = A'B' + AB Echivalenţă, se notează şi A≡BF10=B' Complement, NU (NOT)F11 = A + B' Implicaţie (B implică A), se notează şi

B → AF12 = A' Complement, NU (NOT)F13= A' + B Implicaţie (A implică B), se notează şi

A → BF14 = (AB)' SI-NU (NAND) - în logica matematică

denumită funcţia Sheffer, se mai notează A ↑BF15 = 1 Funcţia constantă 1

Sisteme complete de FB

Un set de FB este complet dacă orice FB poate fi exprimată folosind funcţiile din acel set.Ex. {+,.,’} este un set complet de FB (vezi reprezentările canonice ale FB).

Sisteme complete de FB

Ex. {+,’} este un set complet de FB.Arătăm ca setul {+,.,’} poate fi reprezentat de FB din setul Ex. {+,’}a+b=a+ba.b=((a.b)’)’=(a’+b’)’ - s-a folosit DeMorgana’=a’

Sisteme complete de FB

Ex. {.,’} este un set complet de FB.Arătăm ca setul {+,.,’} poate fi reprezentat de FB din setul Ex. {.,’}a.b=a.ba+b=((a+b)’)’=(a’.b’)’ - s-a folosit DeMorgana’=a’

Sisteme complete de FB

Ex. {↓↑,’} este un set complet de FB. S-a notat cu ↓ funcţia SAU-NUArătăm ca setul {+,.,’} poate fi reprezentat de FB din setul Ex. {↓}a’=(a+a)’=a↓aa+b=((a+b)’)’=(a↓b)’=(a↓b) ↓(a↓b)a.b=(a’+b’)=a’ ↓b’=(a↓a) ↓(b↓b)

Sisteme complete de FB

Ex. {↑} este un set complet de FB. S-a notat cu ↑ funcţia SI-NUArătăm ca setul {+,.,’} poate fi reprezentat de FB din setul Ex. {↑}a’=(a.a)’=a ↑ aa.b=((a.b)’)’=(a ↑ b)’=(a ↑ b) ↑(a ↑ b)a+b=(a’.b’)=a’ ↑ b’=(a ↑ a) ↑(b ↑ b)

36

Reprezentarea funcţiilor booleene

Reprezentările FB pot fi:

GraficeAnalitice

Reprezentări grafice

Tabele de adevărScheme de operatori (porţi logice)Arbori de decizie binarăDiagrame Veitch-KarnaughScheme cu contacteHipercubDiagrame de semnale

Reprezentări analitice

Simbolice– forme normale necanonice disjunctive şi

conjunctive– forme normale canonice disjunctive şi conjunctive– simbol de marcare

Coduri– vectori booleeni– numere convenţionale– notaţia cubică poziţională

Tabele de adevăr

Unei funcţii de n variabile i se asociază o tabelă cu:– 2n linii – corespund celor 2n combinaţii posibile ale

variabilelor– n+1 coloane – n coloane corespunzătoare celor n

variabile şi o coloană pentru valorile funcţiei

Tabele de adevăr

Funcţie de 2 variabilea b f

0 0 0

0 1 1

1 0 1

1 1 0

Tabele de adevăr

Funcţie de 3 variabile

a b c f

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 1

Definiţii

Un literal este apariţia unei variabile în forma normală sau negată.– Ex. x, x’, a, a’, x1, x1’ etc.

Un termen produs sau termen normal conjunctiv este produsul logic al mai multor literale. Fiecare literal apare o singură dată– Ex. x.z’, a.b’.c, x1’.x2.x3

Definiţii

Un minterm sau constituent al unităţii este un termen produs care include toate variabilele de care depinde funcţia.

– Ex. Pentru f(x,y,z)x.y.z, x’.y.z sunt mintermi, x.y nu este minterm pentru ca lipseşte variabila z– Ex. Pentru f(a,b,c,d)a.b.c.d’, a’.b.c.d’ sunt mintermia.d nu este minterm pentru că lipsesc variabilele b şi c

Definiţii

Un maxterm sau constituent al lui 0 este un termen sumă care include toate variabilele de care depinde funcţia.

– Ex. Pentru f(x,y,z)x+y+z, x’+y+z sunt maxtermi, x+y nu este maxterm pentru ca lipseşte variabila z– Ex. Pentru f(a,b,c,d)a+b+c+d’, a’+b+c+d’ sunt mintermia+d nu este maxterm pentru că lipsesc variabilele b şi c

Definiţii

Un termen sumă sau termen normal disjunctiv este suma logică a mai multor literale. Fiecare literal apare o singură dată– Ex. x+z’, a+b’+c, x1’+x2+x3

Definiţii

O expresie sumă de produse sau formă normală disjunctivă este formată din suma logică a mai multor termeni produs.Ex.

a.b’.c’+a’.b.c+a’.b.c’ObservaţiePentru simplificare, când nu există dubii, operatorul “.”

se poate omiteEx.

ab’c’+a’bc+a’bc’

Definiţii

O expresie produs de sume sau formă normală conjunctivă este formată din produsul logic a mai multor termeni sumă.Ex.

(a+b’+c’).(a’+b+c).(a’+b+c’)ObservaţiePentru simplificare, când nu există dubii, operatorul “.”

se poate omiteEx.

(a+b’+c’)(a’+b+c)(a’+b+c’)

Adiacenţă

Doi termeni sunt adiacenţi dacă ei au acelaşi număr de variabile şi diferă prin forma unei singure variabile.

Ex.a.b.c’ şi a.b.c sunt adiacenţi pentru că diferă prin forma variabilei c care în primul termen apare negat iar in cel de al doilea apare normala’.b.c’.d şi a’.b’.c’.d’ nu sunt adiacenţi pentru că diferă prin forma a două variabile b şi d.a’+b+c şi a+b+c sunt adiacenţi pentru că diferă prin forma variabilei a care în primul termen apare negat iar in cel de al doilea apare normala+b+c’+d’ şi a’+b’+c’+d’ nu sunt adiacenţi pentru că diferă prin forma a două variabile a şi b.

Tabela de adevăr şi mintermi

Regulă:Fiecărei combinaţii de valori îi corespunde un

minterm în care– xi apare normal dacă pentru combinaţia

respectivă xi=1– xi apare negat dacă pentru combinaţia respectivă

xi=0

Tabele de adevăr şi mintermi

Funcţie de 2 variabile

a b f Mintermi Notaţie

0 m0

m1

m2

m3

1

1

0

0 0 a’.b’

0 1 a’.b

1 0 a.b’

1 1 a.b

Tabele de adevăr

Funcţie de 3 variabile

a b c f Mintermi Notaţie

a’.b’.c’ m0

m1

m2

m3

m4

m5

m6

m7

a’.b’.c

a’.b.c’

a’.b.c

a.b’.c’

a.b’.c

a.b.c’

a.b.c

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 0

Tabela de adevăr şi maxtermi

Regulă:Fiecărei combinaţii de valori îi corespunde un

maxterm în care– xi apare negat dacă pentru combinaţia respectivă

xi=1– xi apare normal dacă pentru combinaţia

respectivă xi=0

Tabele de adevăr şi mintermi

Funcţie de 2 variabile

a b f Maxtermi Notaţie

0 M0

M1

M2

M3

1

1

0

0 0 a+b

0 1 a+b’

1 0 a’+b

1 1 a’+b’

Tabele de adevăr

Funcţie de 3 variabile

a b c f Maxtermi Notaţie

a+b+c M0

M1

M2

M3

M4

M5

M6

M7

a+b+c’

a+b’+c

a+b’+c’

a’+b+c

a’+b+c’

a’+b’+c

a’+b’+c’

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 0

Forma canonică normal disjunctivă

O funcţie f(x1,x2,...,xn) poate fi scrisă sub forma canonică normal disjunctivă:

2n-1

f(x1,x2,...,xn)=Σ αK.mKK=0

unde αK=f(kn-1,kn-2,...,k1,k0) este valoarea funcţiei din tabelul de adevăr corespunzător mintermului mk

Forma canonică normal disjunctivă

f(a,b)==f(0,0).a’.b’+ f(0,1).a’.b+ f(1,0).a.b’+ f(1,1).a.b==a’.b+a.b

a b f Mintermi Notaţie

0 m0

m1

m2

m3

1

1

0

0 0 a’.b’0 1 a’.b

1 0 a.b’

1 1 a.b

Forma canonică normal disjunctivă

Funcţie de 3 variabilef(a,b,c)=m2+m3+m4=

= a’.b.c’+ a’.b.c+ a.b’.c’

a b c f Min-termi

Notaţie

a’.b’.c’ m0

m1

m2

m3

m4

m5

m6

m7

a’.b’.c

a’.b.c’

a’.b.c

a.b’.c’

a.b’.c

a.b.c’

a.b.c

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 0

Forma canonică normal disjunctivă

FCND este formată din suma logică a mintermilor pentru care funcţia ia valoarea 1.Observaţie: FCND are atâţia mintermi câte valori de 1 are funcţia

Forma canonică normal conjunctivă

O funcţie f(x1,x2,...,xn) poate fi scrisă sub forma canonică normal conjunctivă:

2n

-1

f(x1,x2,...,xn)=Π (βK+MK)K=0

unde βK=f(kn-1,kn-2,...,k1,k0) este valoarea funcţiei din tabelul de adevăr corespunzător maxtermului Mk

Forma canonică normal conjunctivă

f(a,b)==(f(0,0)+a+b).( f(0,1)+a+b’).( f(1,0)+a’+b).( f(1,1)+a’+b’)==M0.M3==(a+b).(a’+b’) a b f Maxtermi Notaţie

0 M0

M1

M2

M3

1

1

0

0 0 a+b

0 1 a+b’

1 0 a’+b

1 1 a’+b’

Forma canonică normal conjunctivă

Funcţie de 3 variabilef(a,b,c)=M0.M1.M5.M6.M7

=(a+b+c)..(a+b+c’)..(a’+b+c’)..(a’+b’+c)..(a’+b’+c’)

a b c f Maxtermi Notaţiea+b+c M0

M1

M2

M3

M4

M5

M6

M7

a+b+c’

a+b’+c

a+b’+c’

a’+b+c

a’+b+c’

a’+b’+c

a’+b’+c’

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 0

Forma canonică normal conjunctivă

FCNC este formată din produsul logic al maxtermilor pentru care funcţia ia valoarea 0.Observaţie: FCNC are atâţia maxtermi câte valori de 0 are funcţia

Forme normale necanonice

Forma elementară a unei FB conţine termeni care nu sunt canoniciFormele elementare pot fi disjunctive (sume de produse) sau conjunctive (produse de sume)O formă neelementară a unei FB are doi sau mai mulţi termeni care conţin aceeaşi variabilăToate formele prezentate se numesc forme normale pentru că sunt alcătuite din termeni normali (termeni în care nici una din variabile nu apare decât o singură dată

Forme normale necanonice. Exemplu

Funcţia de 3 variabile având forma canonică:f(a,b,c)=a.b’.c’+a’.b’.c’+a.b.c+a.b.c’+a.b’.c

se poate reprezenta în două forme elementare disjunctive:

f(a,b,c)=b’.c’+a.b+a.cf(a,b,c)=b’.c’+a

sau într-o formă elementară conjunctivăf(a,b,c)=(a+b’).(a+c’)

Forme neelementare. Exemplu

Funcţia de 3 variabile având forma canonică:f(a,b,c)=a.b’.c’+a’.b’.c’+a.b.c+a.b.c’+a.b’.c

se poate reprezenta în forma neelementarăf(a,b,c)=b’.c’+a.(b+c)

Reprezentarea FB folosind simboluri

Există două varianteANSI/IEEE 91-1973ANSI/IEEE 91-1984 şi IEC

Reprezentarea FB folosind simboluri

Reprezentarea FB folosind simboluri

Diagrama Veitch Karnaugh (V-K)

metodă grafică de a reprezenta într-o formă condensată tabelul de adevăr al unei FBpoate fi folosită pentru reprezentarea FB cu un număr oricât de mare de variabile însă, în mod practic, se utilizează pentru reprezentarea FB cu până la 6 variabile

Structură

Dacă n este numărul de variabile, diagrama V-K va avea 2n căsuţe, una pentru fiecare din cei 2n mintermi (maxtermi) ai FB deci, câte una pentru fiecare linie a tabelului de adevăr al funcţieicăsuţe sunt aranjate în astfel încât mintermii (maxtermii) sunt reprezentaţi într-o dispoziţie geometrică care permite evidenţierea mintermilor adiacenţiLiniile şi coloanele diagramei V-K sunt etichetate astfel încât combinaţia variabilelor de intrare pentru fiecare căsuţă este determinată cu uşurinţă din etichetele ataşate liniei şi coloanei corespunzătoare căsuţei

Diagrama V-K pentru n=2

x y f

0 0 0 m0

0 1 1 m1

1 0 1 m2

1 1 1 m3

Tabela de adevăr a funcţiei f

Diagrama V-K a funcţiei f

f

x

0 1 x

0 m0

0m1

1

1 m2

1m3

1y

y

Diagrama V-K pentru n=3

x y z g

0 0 0 0 m0

0 0 1 1 m1

0 1 0 1 m2

0 1 1 0 m3

1 0 0 0 m4

1 0 1 1 m5

1 1 0 0 m6

1 1 1 1 m7

g

y

00 01 11 10 yz

0 m0

0m1

1m3

0m2

1

1 m4

0m5

1m7

1m6

0x

x

z

Tabela de adevăr a funcţiei gDiagrama V-K a funcţiei g(a se observa schimbarea poziţiei combinaţiilor 10 cu 11 pentru a obţine adiacenţa între căsuţele alăturate)

Liniile indică zonele pentru care variabila ia valoarea 1

Diagrama V-K pentru n=4

x y z w h

0 0 0 0 0 m0

0 0 0 1 1 m1

0 0 1 0 1 m2

0 0 1 1 1 m3

0 1 0 0 0 m4

0 1 0 1 0 m5

0 1 1 0 1 m6

0 1 1 1 1 m7

1 0 0 0 0 m8

1 0 0 1 1 m9

1 0 1 0 0 m10

1 0 1 1 1 m11

1 1 0 0 0 m12

1 1 0 1 1 m13

1 1 1 0 1 m14

1 1 1 1 0 m15

h

z

00 01 11 10 zw

00 m0

0m1

1m3

1m2

1

01 m4

0m5

0m7

1m6

1y

x 11 m12

0m13

1m15

0m14

1

10 m8

0m9

1m11

1m10

0

xy

w

(a se observa schimbarea poziţiei combinaţiilor 10 cu 11

pentru a obţine adiacenţa între căsuţele alăturate)

Reprezentarea FB pe hipercub

Funcţii de o variabilă– Se utilizează un sistem cu o axă de coordonate– Valorile de 0 indicate cu un cerc gol– Valorile de 1 indicate printr-un cerc plin

10

Exemplu f(x)=x

10

x

x

Reprezentarea FB pe hipercub(2 variabile)

Funcţii de două variabile– se utilizează un sistem cu 2

axe de coordonate (câte una pentru fiecare variabilă)

– Hipercubul corespunde unui pătrat

– Cele 4 combinaţii posibile ale valorilor funcţiei corespund celor 4 vârfuri ale pătratului

(0,0) (0,1)

(1,1)(1,0)

x

y

Reprezentarea FB pe hipercub(2 variabile)

Funcţii de două variabile– Exemplu: f(a,b)=a+b

– Exemplu: f(a,b)=a.b

(0,0) (0,1)

(1,1)(1,0)

a

b

(0,0) (0,1)

(1,1)(1,0)

a

b

Reprezentarea FB pe hipercub(3 variabile)

Funcţii de 3 variabilese utilizează un sistem cu 3 axe de coordonate (câte una pentru fiecare variabilă)Hipercubul corespunde unui cubCele 8 combinaţii posibile ale valorilor funcţiei corespund celor 8 vârfuri ale cubului

(0,0,0) (0,0,1)

(0,1,0) (0,1,1)(1,0,0)

(1,0,1)

(1,1,0) (1,1,1)

x

y

z

Reprezentarea FB pe hipercub(3 variabile)

Funcţii de 3 variabile– Exemplu: f(a,b,c)=a.b+a.c

(0,0,0) (0,0,1)

(0,1,0) (0,1,1)(1,0,0)

(1,0,1)

(1,1,0) (1,1,1)

a

b

c

Reprezentarea FB prin diagrame de semnale

Reprezentarea funcţiei f(a,b)=a.b

Reprezentarea funcţiei f(a,b)=a+b

Arbori de decizie binară

Reprezentarea FB F prin tabelă de adevăr şi arbore de decizie binară

1

Automate programabile

Minimizarea funcţiilor booleene

Introducere

Deoarece FB modelează funcţionarea circuitelor logice sau schemelor cu contacte minimizarea poate determina reducerea costurilor de materializare a acestor scheme

Problema minimizării

Fiind dată o FB F (sau mai multe FB, F1,..,Fs), se cere să se obţină o expresie a FB (sau a FB F1,..,Fs) care să îndeplinească o condiţie de minimalitate.

Criterii de minimalitate

apariţia unui număr minim de literaleapariţia unui număr minim de literale într-o expresie normal disjunctivă (sumă de produse)număr minim de termeni produs într-o expresie normal disjunctivădiferenţă minimă între numărul de variabile în formă normală şi numărul de variabile în formă negată (luată în modul)funcţia să poată fi materializată cu număr minim de module dintr-un anumit set (porţi logice, contactoare de un anumit tip,...)timpii de întârziere introduşi de circuitul materializat să fie minimetc

Problema minimizării FB în forma normal disjunctivă

Fiind dată o FB în forma normal disjunctivă să se găsească o expresie tot în forma normal dijunctivă care să aibă un număr minim de literale

Metoda 1

Se aplică proprietăţile algebrei booleene– distributivitatea– idempotenţă– absorbţia

Metoda 1. Exemplu

Se dă funcţia

f(x,y,z)=m0+m2+m3+m4+m5+m7=x’.y’.z’+ x’.y.z’+x’.y.z+ x.y’.z’+ x.y’.z+ x.y.z.

Adăugăm m0+m7

f(x,y,z)=m0+m2+m3+m4+m5+m7=x’.y’.z’+ x’.y.z’+x’.y.z+ x.y’.z’+ x.y’.z+ x.y.z+x’.y’.z’ + x.y.z.

Metoda 1. Exemplu

Combinăm m0 şi m2, m0 şi m4, m3 şi m7, m5 şi m7şi obţinem:

f(x,y,z)=x’.z’(y+y’)+y’.z’.(x+x’) +y.z.(x’+x) +x.z.(y’+y)=x’.z’+y’.z’+y.z+x.z

Dacă combinăm m0 şi m2, m4 şi m5, m3 şi m7obţinem:f(x,y,z)=x’.z’(y+y’)+x.y’.(z’+z)+y.z.(x’+x)= x’.z’+x.y’+y.z

Metoda 1. Exemplu

Dacă în mod similar grupăm m2 cu m3, m4 cu m0 şi m5 cu m7, se obţine pentru funcţia f expresia:f(x,y,z)=x’.y+y’.z’+x.z

Observaţii:– pentru aceeaşi funcţie am obţinut mai multe expresii reduse

faţă de expresia iniţială – dintre cele trei expresii însă numai ultimele două sunt

expresii minime – pentru o FB se pot obţine una sau mai multe expresii

minime

Metoda 2. Diagrama Veitch-Karnaugh

este o metodă grafică pentru minimizarea cu uşurinţă a FB cu până la 6 variabilecăsuţele sunt aranjate în astfel încât mintermii (maxtermii) sunt reprezentaţi într-o dispoziţie geometrică care permite evidenţierea mintermilor adiacenţi

Metoda 2. Diagrama Veitch-Karnaugh

fiecare căsuţă care are un 1 corespunde unui minterm a FCND a funcţieidouă celule adiacente în diagramă corespund la doi mintermi care diferă între ei doar prin forma unei singure variabileperechea de valori de 1 se încercuieşte indicând astfel că mintermii corespunzători se combină rezultând un singur termen

Metoda 2. Diagrama Veitch-Karnaugh

Regula prin care se determină cum pot fi grupate căsuţele conţinând valori de 1 este următoarea:

– - o mulţime de 2i celule pot fi grupate dacă există i variabile ale funcţiei booleene care iau toate cele 2i combinaţii posibile în acea mulţime de căsuţe în timp ce celelalte n-i variabile au aceeaşi valoare pentru aceeaşi mulţime de căsuţe.

– Termenul corespunzător grupării va conţine cele n-i variabile în care variabila este în formă normală dacă ea apare ca 1 pentru toate căsuţele grupării şi în forma negată dacă ea apare ca 0 pentru toate căsuţele grupării.

Metoda 2. Diagrama Veitch-Karnaugh

Din punct de vedere grafic, regula de mai sus ne spune că putem încercui mulţimi dreptunghiulare având 2i valori de 1, prin aceasta înţelegând şi mulţimile dreptunghiulare obţinute dacă muchiile opuse diagramei ar fi unite

Metoda 2. Diagrama Veitch-Karnaugh

Se pot determina variabilele şi forma pe care acestea o au în termenul rezultant:

– dacă o încercuire acoperă căsuţe în care variabila este 0 atunci variabila apare în termenul rezultant în forma negată

– dacă o încercuire acoperă căsuţe în care variabila este 1, atunci variabila apare în termenul rezultant în forma normală.

– dacă o încercuire acoperă atât căsuţe în care variabila este 0 cât şi căsuţe în care variabila este 1, atunci acea variabilă nu mai apare în termenul rezultant.

Metoda 2. Exemplul 1

Confrom figurilor putem scrie:g(x,y,z)=xz+y’z+x’yz’h(x,y,z,w)=x’w+xz’w+x’z+yzw’

g h x’yz’ yz y x’w zw z x 00 01 11 10 xy 00 01 11 10 y’z 0 0 1 0 1 xz’w 00 0 1 1 1 1 0 1 1 0 x 01 0 0 1 1 y xz x’z x 11 0 1 0 1 z 10 0 1 1 0 yzw’

w

Teorema implicanţilor primi

pentru o funcţie booleană, o expresie sub forma normală (sumă de produse) minimală este o sumă de implicanţi primi ai funcţiei.Observaţie:– pentru a obţine o expresie minimală a funcţiei nu

va trebui să luăm în considerare termenii care nu sunt implicanţi primi

Diagrame V-K şi implicanţi primi

În cadrul diagramei V-K, un implicant prim este reprezentat printr-o încercuire rectangulară de valori de 1 (conform regulii prezentate anterior) care dacă încercăm să o mărim (acoperind de două ori mai multe căsuţe) va cuprinde şi valori de 0

Obţinerea expresiei minimale

expresie minimală se va obţine astfel prin alegerea încercuirilor cele mai mari şi astfel încât fiecare valoare de 1 să fie cuprinsă în cât mai puţine încercuiri

Metoda 2. Exemplul 2

t1=x’yz f zw z t2=yzw xy 00 01 11 10 00 0 0 0 0 t3=xyw 01 0 0 1 1 y x 11 0 1 1 0 t4=xz’w 10 1 1 0 0 t5=xy’z’ w

Metoda 2. Exemplul 2

Funcţia f se poate scrie ca suma tuturor implicanţilor primi:

f(x,y,z)=t1+t2+t3+t4+t5

forma minimală se obţine însă ca suma:

f(x,y,z)=t1+t3+t5= x’yz+ xyw+ xy’z’

Metoda Quine McCluskey

Permite minimizarea unor funcţii cu număr mare de variabilepermite implementarea uşoară a algoritmului cu ajutorul unui program pe calculator

Pondere a unui număr binar

Ponderea unui număr binar este numărul zecimal egal cu numărul de biţi având valoarea 1 din reprezentarea binară a respectivului numărExemplu– Ponderea numărului binar x=1001 este 2– Ponderea numărului binar x=1101 este 3

Algoritmul Quine-McCluskey

Se porneşte de la forma canonică disjunctivă a funcţiei şi se parcurg etapele:1. se face conversia din zecimal în binar a indicilor

mintermenilor funcţiei binare2. se împart numerele binare care reprezintă indicii

mintermenilor în grupuri, după ponderea fiecărui indice, în sens crescător al ponderilor; grupurile se separă între ele prin linii orizontale şi rezultă primul tabel

Algoritmul Quine-McCluskey(continuare)

3. se compară fiecare număr binar din grupul de pondere i cu fiecare număr binar din grupul de pondere i + 1, pentru toate grupurile. Două numere binare formează o nouă grupare dacă diferă printr-un singur bit de acelaşi rang. Gruparea nouă se trece într-un al doilea tabel

Algoritmul Quine-McCluskey(continuare)

4. De fiecare dată când ponderea i de la punctul 3 creşte cu o unitate, se trage o linie orizontală întabelul 2. După completarea tabelului 2, se repetă comparaţiilede la punctul 3, pentru elementele din tabel şi rezultătabelul 3, şi aşa mai departe5. când se ajunge la un tabel care conţine un singurnumăr binar, atunci termenul corespunzător este un implicant prim al funcţiei. Ceilalţi implicanăţi primi segăsesc căutând în toate tabelele construite termeniicare nu au fost folosiţi în comparaţii.

Algoritmul Q-M. Exemplu

Se consideră funcţia

Algoritmul Q-M. Exemplu. Tabelul 1

Algoritmul Q-M. Exemplu. Tabelul 2

1

Automate programabile

Circuite logice combinaţionale (CLC)

Definiţie

Sisteme la care semnalele de ieşire depind doar de combinaţia valorilor semnalelor aplicate la intrare.

Descriere

Funcţionarea circuitelor combinaţionale este descrisă de un set de funcţii booleene

y1=F1(x1,x2,...,xn)

Valorile aplicate la intrare şi valorile la ieşire pot fi doar 0 şi 1.

y2=F2(x1,x2,...,xn).........................ym=Fm(x1,x2,...,xn)

Observaţii

Materializarea FB determină structura internă a CLCO FB poate fi reprezentată folosind diverse expresii booleene => un CLC poate avea diverse structuri realizând aceeaşi funcţionalitateUrmătoarele denumiri se pot folosi una în locul celeilalte:

– variabilă = semnal de intrare = intrare– funcţie = semnal de ieşire = ieşire

Specificarea CLC

CLC pot fi specificate în 2 moduri:– funcţional – descrie funcţionarea circuitului

indicând modul în care se modifică ieşirile la modificarea intrărilor (circuitul este tratat ca o cutie neagră)

– structural – descrie structura internă a circuitului prin specificarea elementelor componente şi legăturile dintre acestea

Probleme

Există două tipuri de probleme legate de CLC– analiza CLC – se porneşte de la structura unui

CLC şi se cere să se determine funcţionalitatea acestuia

– sinteza CLC – se porneşte de la descrierea funcţionării CLC şi se cere structura acestuia

Subproblema 1

Se dă structura circuituluiSe cere valoarea ieşirilor circuitului pentru o anumită combinaţie a valorilor intrărilor

Subproblema 1. Procedeu

1. Se porneşte de la intrările circuitului. Pentru fiecare poartă logică care depinde doar de intrările circuitului se determină expresia FB a ieşirii acesteia

2. Pentru fiecare poartă logică care are ca intrări intrările circuitului sau ieşirile altor porţi logice se determină expresia FB a ieşirii

3. Se repetă paşii 1 şi 2 până când ieşirile porţilor sunt de fapt ieşirile circuitului.

4. Aplicând proprietăţile algebrei booleene se simplică FB obţinute (etapă opţională dar utilă pentru reducerea volumului de calcul)

5. În expresiile obţinute se înlocuiesc valorile pentru care se caută valorile la ieşirea CLC

Subproblema 1. Exemplu

Să se determine valorile la ieşirile circuitului din figură pentru x1=0, x2=1, x3=1 şi x4=0.

Subproblema 1. Exemplu

Se determină expresiile ieşirilor

Subprobelma 1. Exemplu

Funcţiile corespunzătoare celor două ieşiri sunt:– F1(x1,x2,x3,x4)=x1x3’+x2(x3.x4+x1)– F2(x1,x2,x3,x4)= x2(x3.x4+x1)

Înlocuim valorile x1=0, x2=1, x3=1 şi x4=0 – F1(0,1,1,0)=0.1’+1.(1.0+0)=0+0.0=0– F2(0,1,1,0)= 1.(1.0+0)=1.0=0

Subproblema 2

Se dă structura circuituluiSe cere valoarea ieşirilor circuitului pentru toate combinaţiile valorilor intrărilor

Subproblema 2. Procedeu

1. Se porneşte de la intrările circuitului. Pentru fiecare poartă logică care depinde doar de intrările circuitului se determină expresia FB a ieşirii acesteia

2. Pentru fiecare poartă logică care are ca intrări intrările circuitului sau ieşirile altor porţi logice se determină expresia FB a ieşirii

3. Se repetă paşii 1 şi 2 până când ieşirile porţilor sunt de fapt ieşirile circuitului.

4. Se obţine o formă normală (sumă de produse sau produse de sume) prin desfacerea parantezelor

5. Se determină forma canonică normal disjunctivă sau conjunctivă (facem să apară variabilele lipsă folosind proprietatea x+x’=1)

6. Pe baza formei canonice se construieşte tabela de adevăr

Subproblema 2. Exemplu

Să se determine valorile la ieşirile circuitului pentru toate combinaţiile posibile aplicate la intrări.

Subproblema 1. Exemplu

Se determină expresiile ieşirilor

Subprobelma 1. Exemplu

Funcţiile corespunzătoare celor două ieşiri sunt:– F1(x1,x2,x3,x4)=x1x3’+x2(x3.x4+x1)– F2(x1,x2,x3,x4)= x2(x3.x4+x1)

Determinăm formele normale disjunctive (sume de produse)– F1(x1,x2,x3,x4)=x1x3’+x2.x3.x4+x1. x2

– F2(x1,x2,x3,x4)= x2.x3.x4+x1. x2

Subprobelma 1. Exemplu

Determinăm formele canonice normal disjunctive– F1(x1,x2,x3,x4)=x1x3’.(x2+ x2’).( x4+ x4’)+

+(x1+ x1’).x2.x3.x4+x1. x2.(x3+ x3’) .(x4+ x4’)– F2(x1,x2,x3,x4)= (x1+ x1’).x2.x3.x4+x1. x2.(x3+ x3’). .(x4+ x4’)

Desfacem parantezele– F1=x1.x2.x3’. x4 +x1x2. x3’. x4’+x1.x2’.x3’. x4 +x1x2’. x3’. x4+

+x1.x2.x3.x4+ x1’ .x2.x3.x4 + x1. x2.x3 .x4 +x1. x2. x3’ .x4+x1. x2.x3.x4’+x1. x2. x3’ .x4’

– F2(x1,x2,x3,x4)= x1.x2.x3.x4+ x1’ .x2.x3.x4 + x1. x2.x3 .x4 +x1. x2. x3’ .x4+x1. x2.x3.x4’+x1. x2. x3’ .x4’

Subprobelma 1. Exemplu

Eliminăm termenii care se repetă– F1=x1.x2.x3’. x4 +x1x2. x3’. x4’+x1.x2’.x3’. x4 +

+x1.x2.x3.x4+ x1’ .x2.x3.x4 +x1. x2.x3.x4’ =m1+m2+m3+m6+m8+m15

– F2(x1,x2,x3,x4)= x1.x2.x3.x4+ x1’ .x2.x3.x4 +x1. x2. x3’ .x4+x1. x2.x3.x4’+x1. x2. x3’ .x4’=m2+m3+m8+m15

Subprobelma 1. Exemplu

Construim tabela de adevăr pentru cele două funcţii F1şi F2 trecând valori de 1 în dreptul mintermilor care intră în componenţa FCND . Restul valorilor vor fi 0

x1 x2 x3 x4 F1 F2

0 0 0 0 0 0

0

1

1

0

0

0

0

1

0

0

0

0

0

0

1

m0

0 0 0 1 1 m1

0 0 1 0 1 m2

0 0 1 1 1 m3

0 1 0 0 0 m4

0 1 0 1 0 m5

0 1 1 0 1 m6

0 1 1 1 0 m7

1 0 0 0 1 m8

1 0 0 1 0 m9

1 0 1 0 0 m10

1 0 1 1 0 m11

1 1 0 0 0 m12

1 1 0 1 0 m13

1 1 1 0 0 m14

1 1 1 1 1 m15

Sinteza circuitelor logicecombinaţionale

cunoscând modul de funcţionare a circuitului combinaţional exprimat prin valorile semnalelor de ieşire corespunzătoare diferitelor combinaţii ale variabilelor de intrare, se cere să se stabilească structura circuitului

Etapele sintezei

sinteza abstractă– care constă în stabilirea expresiilor funcţiilor booleene care

corespund condiţiilor impuse între semnalele de ieşire şi de intrare.

– Pentru ca circuitul realizat să fie cât mai simplu şi deci mai economic, se caută expresiile minime ale funcţiilor.

– Din punct de vedere matematic, problemele de sinteză presupun minimizarea funcţiilor booleene în sistemul de funcţii elementare alese din considerente practice;

sinteza structurală, – constă în determinarea structurii fizice a circuitului sintetizat. – se face în funcţie de tipul circuitelor logice elementare (module)

şi de numărul de intrări ale acestora, de semnalele disponibile în diferite puncte ale sistemului etc.

Algoritmul sintezei circuitelor combinaţionale

Din condiţiile problemei se stabilesc corespondenţele între combinaţiile semnalelor de intrare şi ieşire folosind tabelul de adevăr, diagrama V-K etc.Se realizează minimizarea funcţiilor booleene care rezultă din etapa precedentăSe implementează daca este cazul cu funcţiile elementare impuse de realizarea practicăSe stabileşte logigrama plecând de la forma minimă obţinută pentru funcţiile de ieşire în pasul al treileaSe analizează circuitul obţinut pentru a vedea dacă corespunde condiţiilor impuse iniţial (etapă facultativă).

1

Automate programabile

Circuite logice combinaţionale (CLC)

Circuite de validare

Semnalul de validare permite unui semnal să treacă printr-o poartă logicăSemnalul de invalidare blochează un semnal să treacă spre ieşire şi face ca la ieşire să avem un semnal de valoare fixă (0 sau 1).

Decodare

Operaţia de conversie a unei intrări pe n biţi intr-o ieşire de m biţiCircuitele care realizează decodarea se numesc decodoaredenumite decodoare n la m unde m<=2n

Decodoare

Un decodor 2 la 4 are 2 intrări şi 4 ieşiriFuncţionarea acestui decodor este dată de tabela de adevăr

S1 S0 Q0 Q1 Q2 Q30 0 1 0 0 00 1 0 1 0 01 0 0 0 1 01 1 0 0 0 1

Decodoare

Pe baza tabelului de adevăr se pot determina ecuaţiile care descriu funcţionarea decodorului şi schema care realizează această funcţionare:Q0 = S1’ S0’Q1 = S1’ S0Q2 = S1 S0’Q3 = S1 S0

Decodoare cu intrări de validare

Multe circuite au o intrare adiţională numită de validare care permite activarea sau dezactivarea circuituluiPentru decodor– EN=1 activează circuitul (doar o ieşire va fi 1)– EN=0, dezactivează circuitul. Prin convenţie asta

înseamnă că toate ieşirile vor fi 0.

Decodoare cu intrări de validare

Tabela de adevăr a decodorului va fi:

EN S1 S0 Q0 Q1 Q2 Q30 0 0 0 0 0 00 0 1 0 0 0 00 1 0 0 0 0 00 1 1 0 0 0 01 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 1

Decodoare cu intrări de validare

Se observă că pentru EN=0 toate ieşirile sunt 0 indiferent de valorile intrărilor S0 şi S1

Tabela poate fi scrisă într-un format mai compact astfel:

EN S1 S0 Q0 Q1 Q2 Q30 0 0 0 0 0 00 0 1 0 0 0 00 1 0 0 0 0 00 1 1 0 0 0 01 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 1

EN S1 S0 Q0 Q1 Q2 Q30 x x 0 0 0 01 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 1

Decodoare. Simbol

Decodorul 2 la 4 poate fi reprezentat printr-un bloc cu 2(3) intrări şi 4 ieşiri.

Decodor 3 la 8

S2 S1 S0 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q70 0 0 1 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 00 1 0 0 0 1 0 0 0 0 00 1 1 0 0 0 1 0 0 0 01 0 0 0 0 0 0 1 0 0 01 0 1 0 0 0 0 0 1 0 01 1 0 0 0 0 0 0 0 1 01 1 1 0 0 0 0 0 0 0 1

Q0 = S2’ S1’ S0’Q1 = S2’ S1’ S0Q2 = S2’ S1 S0’Q3 = S2’ S1 S0Q4 = S2 S1’ S0’Q5 = S2 S1’ S0Q6 = S2 S1 S0’Q7 = S2 S1 S0

Implementarea FB utilizând decodoarele

Decodoarele sunt uneori denumite generatoare de mintermi.

– pentru fiecare combinaţie la intrări doar una dintre ieşiri este 1

– fiecare ecuaţie conţine toate variabilele de intrare

– proprietăţile sunt adevărate pentru decodoare de orice dimensiune

Cu ajutorul decodoarelor se poate implementa orice funcţie

Q0 = S1’ S0’Q1 = S1’ S0Q2 = S1 S0’Q3 = S1 S0

Implementarea FB utilizând decodoarele. Exemplu

Funcţiile având tabelul de adevăr de mai jos pot fi scrise sub forma canonică disjunctivă astfel:

– C(x,y,z)=m3+m5+m6+m7– C(x,y,z)=m1+m2+m4+m7

X Y Z C S0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1

Implementarea FB utilizând decodoarele. Exemplu

Cu 2 decodoare Cu 1 decodor

Multiplexoare

Un multiplexor 22->1 trimite una dintre cele 2n intrări la ieşirea circuitului.Un multiplexor are 2 seturi de intrări:

– 2n linii de date– n linii de selecţie

Multiplexorul 2->1 are ecuaţia şi blocul funcţional de mai jos:

Q = S’ D0 + S D1

Multiplexoare

Tabelul de adevăr al unui multiplexor este:

El poate fi scris mai compact astfel:

S D1 D0 Q0 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 01 1 0 11 1 1 1

S Q0 D01 D1

Implementarea FB folosind multiplexoarele

Multiplexoarele pot fi folosite pentru implementarea oricărei FB.Metoda 1 – folosind un multiplexor n->1:– pentru fiecare minterm mi a funcţiei se

conectează un 1 la intrarea Di (fiecare linie de date corespunde unui rând al tabelului de adevăr)

– celelalte intrări se conectează la 0.– se conectează variabilele de intrare la intrările de

selecţie a multiplexorului

Implementarea FB folosind multiplexoarele. Exemplu

Pentru funcţia f(x,y,z) = Σm(1,2,6,7)

x y z f0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 01 0 1 01 1 0 11 1 1 1

Implementarea FB folosind multiplexoarele

Metoda 2 – se înlocuieşte un multiplexor 8->1 cu unul 4->1

– Se grupează rândurile din tabelul de adevăr

când xy=00, f=zcând xy=01, f=z’când xy=10, f=0când xy=11, f=1

– conectează primele 2 variabile la intrările de selecţie (x şi y) la intrările de selecţie S1 S0 ale multiplexorului 4->1.

– conectează ecuaţiile de mai sus la liniile de date D0-D3.

x y z f0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 01 0 1 01 1 0 11 1 1 1

1

Automate programabile

Circuite logice secvenţiale (CLS)

Circuite secvenţiale

Circuite logice combinaţionale– ieşirile depind doar de combinaţia de valori de la

intrareCircuite logice secvenţiale– ieşirile depind nu numai de combinaţia de valori

de la intrare ci şi de combinaţiile aplicate la intrare anterior

– circuitele necesită o componentă care să memoreze combinaţiile de valori anterioare

Circuit basculant bistabil

Circuitul care are două stări stabile distincte, în care tranziţiile de la o stare la alta au loc rapid prin procese de basculare amorsate cu ajutorul unor semnale de comandă aplicate din exterior.

Circuite basculante bistabile (CBB) de tip RS

Un bistabil RS este prevăzut cu două intrări de comandă (de date) notate S (Set) şi R (Reset) şi două ieşiri Q şi Q’. Notaţia folosită pentru ieşiri indică faptul că ieşirile circuitului sunt complementate.

CBB de tip RS

cu Q sau Q(t) se notează starea prezentă a circuitului, starea la momentul când se aplică semnalele de intrarecu Q+ sau Q(t+1) se notează starea următoare, starea pe care o ia circuitul ca răspuns la aplicare semnalului de intrare

CBB de tip RS

Intrarea S se va folosi pentru a înscrie informaţia în circuit, Intrarea R pentru a şterge informaţia din circuit.

CBB de tip RS. Simboluri

CBB de tip RS. Tabela de adevăr

tn tn+1

Rn Sn Qn Qn+1

0 0 0 0

0 0 1 1 Qn+1=Qn

0 1 0 1

0 1 1 1 Qn+1=l

1 0 0 0

1 0 1 0 Qn+1=0

1 1 0 ?

1 1 1 ?

CBB de tip RS. Funcţionare

Circuitul funcţionează astfel:în lipsa unor comenzi pe intrări (Sn = Rn=0), starea circuitului să nu se schimbe Qn+1= Qn ). Spunem că în acest caz circuitul memorează starea sa anterioară.există posibilitatea de a înscrie informaţia în circuit. Comenzile aplicate vor fi Sn=1, Rn=0 iar la ieşire apare starea Qn+1 = 1.se poate şterge informaţia înmagazinată în circuit cu comenzile Sn = 0, Rn = 1. În acest caz ieşirea trece în starea Qn+1 = 0.

CBB de tip RS. Ecuaţii caracteristice

Rn.Sn=0Qn+1=Rn’.(Sn+Qn)= Rn↓(Sn↓Qn)Qn+1’=Sn’.(Rn+Qn’)= Sn↓ (Rn↓Qn’)

↓ reprezintă operatorul SAU-NU: a↓b=(a+b)’.

CBB de tip RS. Tabela de adevăr redusă

tn tn+1

Rn Sn Qn Qn+1

0 0 0 0

0 0 1 1 Qn+1=Qn

0 1 0 1

0 1 1 1 Qn+1=l

1 0 0 0

1 0 1 0 Qn+1=0

1 1 0 ?

1 1 1 ?

CBB de tip RS. Tabela de excitaţie

CBB de tip JK

Un circuit basculant bistabil JK este prevăzut cu două intrări de date J, KLa CBB sincrone există şi o intrare de tact, C.

CBB de tip JK. Simbol grafic

CBB de tip JK. Tabela de adevăr

tn tn+1

Rn Sn Qn Qn+1

0 0 0 0

0 0 1 1 Qn+1=Qn

0 1 0 1

0 1 1 1 Qn+1=l1 0 0 0

1 0 1 0 Qn+1=01 1 0 1

1 1 1 0 Qn+1= Qn’

CBB de tip JK. Funcţionare

La un circuit bistabil JK, pentru combinaţia de semnale (J = K = 1) starea bistabilului la ieşire devine complementară stării precedente (adică J = K = 1 implică Qn+1= Qn’) pentru restul combinaţiilor dintre semnalele J şi K se comportă conform tabelului de adevăr al unui bistabil RS,Intrarea J este echivalentă intrării S iar intrarea K este echivalentă intrării R

CBB de tip JK. Tabela de adevăr redusă

tn tn+1

Kn Jn Qn Qn+1

0 0 0 0

0 0 1 1 Qn+1=Qn

0 1 0 1

0 1 1 1 Qn+1=l1 0 0 0

1 0 1 0 Qn+1=01 1 0 1

1 1 1 0 Qn+1= Qn’

CBB de tip JK. Ecuaţiile caracteristice

Qn+1=Jn. Qn’ +Kn’.Qn

Qn+1’=Jn’. Qn’ +Kn.Qn

CBB de tip JK. Tabela de excitaţie

CBB de tip D

Un circuit bistabil de tip D este prevăzut cu o intrare de date şi o intrare de tact C. La circuitele bistabile asincrone, intrarea de tact lipseşte.

CBB de tip D. Tabelă de adevăr

tn tn+1

Dn Qn Qn+1

0 0 0

0 1 0

1 0 1

1 1 1

CBB de tip D. Funcţionare

Starea ieşirii bistabilului D la momentul tn+1 este identică cu cea de la intrarea sa la momentul tn, cu alte cuvinte, semnalul de intrare este întârziat (de fapt şi denumirea sa D derivă din engleză de la delay = întârziere)

CBB de tip D. Ecuaţii caracteristice

Qn+1=Dn

CBB de tip D. Tabelă de adevăr redusă

tn tn+1

Dn Qn Qn+1

0 0 0

0 1 0

1 0 1

1 1 1

CBB de tip D. Simbol grafic

CBB de tip D. Tabela de excitaţie

CBB de tip T

Bistabilul T are o singură intrare de date şi o intrare de tact C, care în regim asincron poate lipsi.

CBB de tip T. Tabelă de adevăr

tn tn+1

Tn Qn Qn+1

0 0 0

0 1 1

1 0 1

1 1 0

CBB de tip T. Funcţionare

Ieşirea bistabilului îşi păstrează starea (Qn+1= Qn) iar dacă intrarea de date este pe nivel "1" logic, starea la ieşirea bistabilului se schimbă (Qn+1 =Qn’)

CBB de tip T. Tabelă de adevăr redusă

tn tn+1

Tn Qn Qn+1

0 0 0

0 1 1

1 0 1

1 1 0

CBB de tip T. Ecuaţii caracteristice

Qn+1=Tn’. Qn +Tn.Qn’=Tn⊕Qn

Qn+1’= Tn. Qn +Tn’.Qn’=(Tn⊕Qn)’

CBB de tip T. Tabelă de excitaţie

CBB de tip T. Simbol grafic

1

Automate programabile

Generalităţi

au apărut la sfârşitul anilor 60 în industria de automobile a dus la diminuarea timpilor necesari schimbării schemelor de comandă, de la aproape 1 lună la câteva zileApariţia microprocesoarelor şi utilizarea acestora în construcţiaAP a dus la dezvoltarea funcţionalităţii acestora odată cu reducerea preţului de cost cu îmbunătăţirea performanţelor componentelormicroelectronice, s-au îmbunătăţit şi performanţele AP

– gabaritul, – preţul de cost – consumul de energie

Linie de asamblare automata

Avantajele AP

FlexibilitateaUşurinţă în modificarea programului şi corectare a erorilorNumăr mare de resurseCost redusCosturi reduse de punere în funcţiune

Avantajele AP

Posibilitatea vizualizării funcţionăriiViteza de funcţionareMetode diferite de programare

Avantajele AP

Siguranţa în funcţionareDocumentaţiaSimplitatea achiziţiei sistemului de comandăModificarea funcţionalităţii schemei de comandăAchiziţionarea rapidă a elementelor schemei de comandă

Flexibilitatea

AP elimină necesitatea ca să fie realizată o schemă de comandă pentru fiecare sistem de acţionare specific. cu un singur tip de AP pot fi implementate scheme de comandă diferite pe un singur AP pot fi implementate mai multe scheme de comandă. Acesta pot să comande în acelaşi timp mai multe sisteme de acţionare. ceea ce diferă la două AP care implementează schemele de comandă diferite este programul stocat în memoria fiecăruia.

Brutărie

Staţie de pompare

Inspecţie video

Uşurinţă în modificarea programului şi corectare a erorilor

Cu ajutorul AP, modificarea schemei de comandă şi corectarea erorilor se poate face foarte simplu prin modificarea programului de aplicaţie din memoria AP cu ajutorul unei console de programare. La schemele de comandă clasice, atunci când sunt necesare modificări ale schemei sau corectarea erorilor

– trebuiesc refăcute legăturile fizice dintre elementele schemei– uneori, este necesară modificarea chiar a structurii schemei de

comandă prin adăugrarea de noi elemente. Modificarea structurii şi refacerea legăturilor fizice necesită

– timp de lucru destul de mare – abilitate din partea tehnicianului în urmărirea acestor legături.

Număr mare de resurse

Schemele clasicemodificarea unei scheme de comandă prin adăugarea, de exemplu, a unor contacte,necesita adăugarea unor relee sau blocuri de contacte suplimentare. Consecinţe

– costuri suplimentare şi – modificarea schemei de amplasare care să includă şi componentele noi.

AP adăugarea de contacte noi sau alte elemente intermediare (numărătoare, temporizatoare etc) se face foarte simplu prin adăugarea unor linii de program. dacă nu se depăşeşte capacitatea AP, nu se modifică nici necesarul de elemente componente ale schemeiConsecinţă

– nu avem creştere a costului implementării obţinute.

Cost redus

Costurile AP, realizate cu ajutorul circuitelor numerice integrate pe scară foarte largă, continuă să scadă datorită evoluţiei tehnologice în domeniul electronicii. Această evoluţie aduce şi alte avantaje cum ar fi: – miniaturizarea, – consum redus de energie, – creşterea vitezei de lucru.

Costuri reduse de punere în funcţiune

Schemele clasiceBuna funcţionare putea fi verificată doar după ce era realizată fizic schema cu relee pentru a fi apoi testată şi verificată.

AP Se reduc costurile necesare punerii în funcţiune a schemei de comandă deoarece este posibilă scrierea programului de aplicaţie, testarea acestuia, simularea şi efectuarea modificărilor în laborator, înainte de a fi realizată fizic schema.

Posibilitatea vizualizării funcţionării

În cazul AP este posibilă urmărirea funcţionării acestuia pe un ecran. Pot fi observate porţiunile din schema de comandă care sunt în funcţiune şi pot fi detectate vizual mai uşor cazurile în care apare o funcţionare defectuoasă. În unele scheme de comandă se poate realiza uşor identificarea unor funcţionări defectuoase prin afişarea unor mesaje de eroare.Elementele schemei de comandă pot fi uşor identificate în cadrul programului AP prin atribuirea acestora a unor nume simbolice, sugestiveSe pot adăuga comentarii pentru a uşura citirea schemei.

Viteza de funcţionare

Sistemele clasiceDatorită inerţiei părţilor mecanice în mişcare a elementelor (contactoare, relee), viteza de funcţionare a acestora este limitată şi pentru anumite aplicaţii inacceptabilă

APPe măsura evoluţiei tehnologiilor electronice, viteza de funcţionare a schemelor creşte tot mai mult ea fiind determinatăîn primul rând de timpul de baleiere a programului. La ora actuală, mărimea timpului de baleiere a programului este de ordinul milisecundelor.

Metode diferite de programare

La ora actuală, majoritatea producătorilor de AP dau utilizatorilor posibilitatea de a scrie programele de aplicaţie pentru AP utilizând diverse modele şi limbaje de programare. Unele limbaje sunt mai apropiate de schemele clasice cu relee, în timp ce, altele sunt mai apropiate de limbajele de programare.

Siguranţa în funcţionare

Prin utilizarea dispozitivelor electronice, siguranţa în funcţionare a schemelor de comandă realizate cu AP este mai ridicată decât a celor clasice ce utilizează relee mecanice. Întreţinerea dispozitivelor electronice este mai uşoară iar cheltuielile de reparaţii sunt şi ele reduse.

Documentaţia

Schemele clasiceModificări ale schemei de comandă, fizic realizate în circuitul electric, nu erau operate şi în schema electrică din documentaţie.După mai mulţi ani documentaţia poate să lipsească sau să fie incompletă

AP Programul de aplicaţie prin care AP urmează să implementeze schema de comandă, poate fi listat cu uşurinţă la o imprimantă.Se poate obţine oricând prin listare schema de comandă care este în acel moment în funcţionare

Securitate

Schemele clasicePosibilitatea de intervenţie şi de modificare în timpul funcţionării nu este întotdeauna asigurată

APModificarea programului după care funcţionează schema de comandă nu poate fi modificat decât dacă AP este oprit şi reprogramat.

Simplitatea achiziţiei sistemului de comandă

Sistemele clasiceErau alcătuite de cele mai multe ori din multe elemente diferite achiziţionate de la producători diferiţi. Obţinerea acestor produse atât pentru realizarea schemei dar şi pentru înlocuirea unor elemente defecte în decursul funcţionării acesteia este costisitoareNecesită timp şi alocare de resurse umane.

APAutomatele conţin de la început toate elementele necesare, deci acestea sunt disponibile toate odată la momentul achiziţiei. În mod normal, schemele de comandă nu folosesc toate resursele unui AP. Astfel, dacă avem nevoie de numărătoare, contacte temporizate sau alte elemente în plus, ele sunt deja acolo, în AP, la dispoziţia noastră.

Modificarea funcţionalităţii schemei de comandă

Funcţionalitatea schemei de comandă poate fi modificată uşor prin reprogramarea APSe pot realiza schimbări uşoare şi rapide în fluxul de producţie în care intră acestea, ceea ce constituie un avantaj. De exemplu, în cazul liniilor de asamblare comandate cu ajutorul AP, modificările necesare în cazul schimbării produsului asamblat necesitând un timp de ordinul minutelor necesar reprogramării AP.

Achiziţionarea rapidă a elementelor schemei de comandă

Prin achiziţionarea AP sunt de fapt achiziţionate simultan releele cu contacte, numărătoarele, temporizatoarele necesare realizării schemei de comandă care poate fi implementată prin program. De obicei, numărul acestora este mai mare decât necesarul real, ele sunt deja disponibile prin program şi nu este necesară comanda lor. AP actuale, permit utilizarea unor blocuri funcţionalecomplexe care oferă o gamă largă de posibilităţi de implementare a schemei de comandă.

Dezavantajele automatelor programabile

Noutatea tehnologieiAplicaţiile specificeInfluenţa mediuluiFuncţionarea nesigură la apariţia unor defecte

Noutatea tehnologiei

AP constituie o noutate tehnologică pentru majoritatea electricienilor şi tehnicienilorImpune un nou mod de gândire diferit de cel necesar schemelor de comandă clasice bazate pe relee cu contacte. Necesită utilizarea calculatorului pentru scrierea şi rescrierea programelor de aplicaţii pentru APUtilizează simboluri diferite faţă de standardele naţionale

Aplicaţii specifice

Există anumite scheme de comandă care sunt specifice unor anumite scheme de acţionare şi nu presupun modificarea acestora. În aceste cazuri nu se justifică utilizarea unor sisteme de comandă bazate pe elemente ce pot fi programate, cum ar fi AP. Pentru rezolvarea acestor situaţii, producătorii recurg de cele mai multe ori la soluţii clasice care se dovedesc a fi şi mai avantajoase din punct de vedere al costului. Exemplu: utilizarea controlerelor mecanice cu came pentru realizarea unor anumite secvenţe de comenzi.

Influenţa mediului

În construcţia AP intră componente electronice care sunt sensibile la anumite condiţii de mediu cum ar fi:– temperaturi, – radiaţii – vibraţii ridicate.

Nefuncţionare în siguranţă la apariţia unor defecte

Schemele clasiceÎn cazul unei scheme de comandă clasice butonul de oprire deconectează schema de comandă de la sursa de alimentare oprind funcţionarea acesteia. Dacă are loc o întrerupere a tensiunii de alimentare, funcţionarea schemei de comandă se întrerupe şi nu este reluată dacă tensiunea de alimentare este restabilită.

APÎn cazul anumitor programe ale AP condiţii de mai sus nu sunt întotdeauna îndeplinite ceea ce determină o funcţionare nesigură în condiţii de defectare.

Funcţiile principale ale AP

În cadrul funcţionării sale, AP trebuie să realizeze cel puţin primele trei funcţii prezentate mai jos: – citirea intrărilor,– rezolvarea ecuaţiilor booleene şi execuţia

secvenţelor de calcul logic,– comanda ieşirilor.

Funcţiile suplimentare ale AP

În funcţie de complexitatea procesului pe care îl comandă, AP poate să realizeze una sau mai multe din funcţiile prezentate mai jos:– stocarea în memorie a rezultatelor parţiale sau a stării

intrărilor şi ieşirilor;– înregistrarea valorilor de consemn şi transferarea acestora

către proces;– implementarea unor funcţii de calcul aritmetic,

incrementare, decrementarea, decalaj de biţi; codificare, registru de deplasare bit cu bit;

Funcţiile suplimentare ale AP

În funcţie de complexitatea procesului pe care îl comandă, AP poate să realizeze în plus una sau mai multe din funcţiile prezentate mai jos:– realizarea dialogului de exploatare;– realizarea dialogului de supervizare;– realizarea dialogului de programare;– realizarea dialogului cu elementele periferice.

Citirea intrărilor

– Funcţionarea AP presupune urmărirea variaţiilor unor semnale provenite de la proces. În acest scop, intrările AP sunt citite la intervale bine stabilite de timp. Fiecare citire se face pe rând dar, având în vedere că timpul dintre citirile a două intrări diferite este foarte mic (de ordinul microsecundelor) pentru o anumită categorie de procese, se poate considera că citirile se fac simultan pentru toate intrările.

Rezolvarea ecuaţiilor booleene şi execuţia secvenţelor de calcul logic

Implementarea schemei de comandă în cadrul AP se realizează prin modelarea acesteia prin intermediul

– unor ecuaţii booleene sau a – unor secvenţe de calcul logic unde variabilele sunt semnalele de

intrare ale AP Rezultatele sunt valorile care trebuie să fie atribuite ieşirilor AP. Această operaţie se execută în fiecare ciclu ţinând seama de valorile actualizate ale intrărilor. Ecuaţiile sunt rezolvate pe rând dar, având în vedere că timpul dintre rezolvarea a două ecuaţii diferite este foarte mic, pentru o anumită categorie de procese, se poate considera că rezultatele se obţin simultan pentru toate ecuaţiile.

Comanda ieşirilor

Funcţionarea AP presupune ca acesta să emită prin intermediul ieşirilor semnale de comandă pe baza

– valorilor intrărilor – programului care implementează funcţia de comandă.

Fiecare ieşire este comandată pe rând dar, având în vedere că timpul dintre comenzile a două ieşiri diferite este foarte mic (de ordinul microsecundelor), pentru o anumită categorie de procese, se poate considera că toate ieşirile sunt comandate simultan.

Stocarea în memorie a rezultatelor parţiale sau a stării intrărilor şi ieşirilor

În cazul unor programe de complexitate ridicată ce presupun o serie de calcule laborioase, este posibil ca registrele procesorului să nu fie suficiente pentru stocarea rezultatelor intermediare. Pentru a evita această problemă AP trebuie să poată stoca temporar aceste rezultate într-o memorie de lucru pentru a le putea utiliza mai târziu. În acelaşi scop, există posibilitatea stocării valorilor intrărilor şi ieşirilor într-un ciclu anterior.

Implementarea unor funcţii de calcul aritmetic

Funcţiile de calcul aritmetic pot fi:– incrementarea, – decrementarea, – decalaj de biţi, – codificare– etc.Complexitatea proceselor comandate prin intermediul AP face ca schema de comandă implementată de acesta să trebuiască să realizeze şi o serie de alte operaţii decât cele logice.

Implementarea unor funcţii de calcul aritmetic

Este uneori necesar ca AP să poată realiza funcţii de calcul aritmetic cum ar fi: – radicalul, – ridicarea la putere – funcţii trigonometrice, – operaţii asupra datelor din memorie

(incrementarea, decrementarea, decalaj de biţi la stânga sau la dreapta, codificare etc).

Dialogul de exploatare

În perioada de exploatare, sunt necesare dialoguri om-maşină având drept scop conducerea maşinii, realizarea de reglaje sau efectuarea depanării.Elementele prevăzute în acest scop sunt:

– butoane, – elemente de semnalizare, – panouri de comandă configurabile, – terminale de exploatare, – terminale de reglare, – terminale de depanare.

Dialogul de supervizare

Sistemele de comandă se integrează într-un proces de producţie care adesea este condus şi supravegheat de la un punct de comandă şi control central. AP trebuie să aibă posibilitatea de a dialoga într-un mod bine determinat cu terminalele periferice ale sistemului central.

Dialogul de programare

Prima punere în funcţiune precum şi eventualele modificări datorită evoluţiei procesului de producţie necesită existenţa unui dialog de programare. Cele mai uzuale căi de a realiza acest dialog este utilizarea unui calculator sau a unei console de programare. Legătura dintre dispozitivele de programare şi AP se realizează în general folosind o linie de comunicaţie serială.

Dialog cu elemente periferice(imprimantele).

– Imprimantele sunt utilizate pentru a lista informaţiile existente în memoria AP sau informaţiile oferite de software-ul utilizat pentru programarea acestuia fiind astfel uşurată vizualizarea programului şi a datelor legate de AP.

– Utilizatorul are posibilitatea de a urmări mult mai uşor programul indiferent dacă acesta este sub forma listei de instrucţiuni sau diagramă de tip schemă cu contacte.

– Se poate verifica mult mai uşor atât corectitudinea schemei implementate cât şi calitatea acesteia.

Dialog cu elemente periferice(imprimantele)

Principalele informaţii care pot fi listate la imprimantă sunt:

– diagrama bazată pe schemă de contacte;– programul sub formă de listă de instrucţiuni;– referinţele încrucişate;– blocurile de comentarii;– starea registrelor procesorului din unitatea centrală;– lista şi starea condiţiilor de forţare;– valorile impuse temporizatoarelor şi numărătoarelor.

1

Automate programabile

Structura automatelor programabile

Introducere

Automatul programabil se poate prezenta sub formă:– monolitică – un ansamblu de blocuri funcţionale care sunt grupate în jurul unei

căi de comunicaţie (magistrală internă). În acest caz, fiecare bloc poate fi realizat fizic sub forma unui modul specific. Organizarea modulară permite atât o flexibilitate crescută în configurarea AP în funcţie de necesităţile utilizatorului cât şi o depanare şi o întreţinere mai uşoară. Un AP este un calculator industrial care a fost adaptat din punct de vedere al hardware-lui şi al software-lui pentru a fi utilizat în anumite aplicaţii specifice

Tipurile de AP

Tip Rack

Tip Extensibil

Modulare

Tip Micro

CompacteTip Mini

Dimensiunile AP

AP Micro : < 32 I/OAP Mici: 32-128 I/OAP Medii: 128 -1024 I/OAP Mari: 1024 - 4096 I/OAP Foarte Mari: 4096- 8192 I/O

Elementele componente ale AP

Unitatea centrală de prelucrareProgramatorul/MonitorulModule de intrare/ieşireSertare şi carcase

şi opţionalImprimantăUnităţi de stocare a informaţiei

Elementele componente ale AP

Unitatea centrală de prelucrare

ConţineProcesorulMemoriaSursa de alimentare

Procesorul

Unul sau mai multe microprocesoare care realizează:

calcule aritmetice şi logice;Comunicaţia şi interacţiunea dintre celelalte componente.

Memoria

Aceasta poate fi de mai multe tipuri:ROMRAM

Memoria

ROM (read only memory) – această memorie este utilizată pentru stocarea sistemului de operare al AP;RAM (random access memory) – este împărţită în mai multe blocuri având fiecare o utilizare specifică.Sunt păstrate:

– imaginile ieşirilor şi intrărilor AP, – valorile prestabilite şi actuale ale temporizatoarelor şi contoarelor, – zona de lucru a procesorului, – zona de stocare a programului, – alte zone de memorie având destinaţie specială.

Memoria RAM îşi pierde conţinutul la întreruperea sursei de alimentare de aceea, pentru menţinerea programului şi a datelor stocate în aceasta, AP trebuie să aibă prevăzută o sursă de alimentare auxiliară (baterie).

Sursa de alimentare

Realizează adaptarea şi conversia tensiunii alternative în tensiune continuă pentru alimentarea diferitelor elemente ale AP.Poate furniza o tensiune pentru alimentarea elementelor conectate la intrări şi ieşiri (senzori, elemente de execuţie etc)

Programatorul/Monitorul

Acesta este un dispozitiv care comunică cu elementele AP şi care permite transferarea programului de aplicaţie în memoria AP, monitorizarea şi vizualizarea funcţionării AP. Programatorul poate fi: – un programator manual, – un terminal industrial – un calculator personal.

Module de intrare/ieşire.

Aceste module sunt dispozitive prin care AP comunică cu sistemul de acţionare sau instalaţia pe care trebuie să le comande şi cu mediul exterior.

Sertare şi carcase.

Aceste elemente permit montarea într-un ansamblu unitar a elementelor AP.

Imprimantă

Imprimantele sunt folosite pentru listarea programului de aplicaţie după care funcţionează AP şi a altor mesaje şi informaţii legate de sistemul comandat.

Unităţi de stocare a informaţiei

Sunt folosite ca dispozitive de stocare secundare pentru: – programul de aplicaţie din memoria AP – alte date şi informaţii utile pentru salvarea acestora sau încărcarea

lor pe/de pe suportul magnetic (bandă sau disc magnetic). Programele de aplicaţii pot fi realizate şi înregistrate pe suport magnetic în laboratoare de dezvoltare a aplicaţiilor de bază pentru AP şi apoi încărcate în memoria AP aflate în sistemele de comandă plasate în halele de producţie. Versiunile mai vechi de AP erau dotate cu casetofoane. Versiunile recente utilizează unităţi de disc flexibil sau unităţi de disc dur sau memorii de tip flash.

Modulele de intrare/ieşire totul sau nimic (digitale)

Semnalele sunt de tip logicValorile tipice sunt:

– “0” logic = 0 V– “1” logic =

5 V cc12 V cc

24 V cc

48 V cc

12 V ca

24 V ca

120 V ca

240 V ca

Modulele de intrare digitale

Permite unităţii centrale a AP să efectueze o citire a stării logice a traductoarelor sau senzorilor care îi sunt asociaţi. Modulele au în general 4, 8, 16 sau 32 de intrări.

Fiecărei intrări îi corespunde o cale care prelucrează semnalul electric pentru a elabora o informaţie binară, bitul de intrarecare este memorat.

Modulele de intrare digitale

Schema bloc a căii de semnal pentru o intrare digitală

Modulele de intrare digitaleAnsamblul de biţi de intrare formează cuvântul de intrare. Periodic, procesorul automatului adresează (citeşte modulul), conţinutul cuvântului de intrare este astfel copiat în zona de date ale automatului.

Fiecare cale este filtrată împotriva paraziţilor şi a contactelor imperfecte şi izolate electric pentru a mări fiabilitatea şi securitatea sistemului (izolare galvanică).

Un modul de intrare este definit în principal prin numărul de intrări pe care le are şi caracteristicile electrice acceptate (tensiune, tipul curentului etc.).

Structura şi conectarea senzorilor (cu 3 fire) la intrările digitale tip NPN

Vcc senzor

Masasenzor

Maro

Negru

Albastru

Structură NPN cu 3 fire

Structură NPN cu 3 fire

APAP

+24 V AP

0V APMasa internă

Vcc intern

In NPN

Masă senzor

Negru

Albastru

Structură NPN 2fire

Structură NPN 2fire APAP

+24 V AP

0V APMasă internă

Vcc intern

In NPN

Structura şi conectarea senzorilor (cu 2 fire) la intrările digitale tip NPN

Structura şi conectarea senzorilor (cu 3 fire) la intrările digitale tip PNP

APAP

+24 V AP

In PNP

0V APMasă internă

Vcc senzor

Masă senzor

Maron

Negru

Albastru

Structură PNP cu 3 fire

Structură PNP cu 3 fire

Structura şi conectarea senzorilor (cu 2 fire) la intrările digitale tip PNP

Vcc senzor Maron

Negru

Structură PNP 2 fireStructură PNP 2 fire APAP

+24 V AP

In PNP

0V AP Masă internă

Module de numărare de mare viteză

Sunt module de intrare digitale care au de îndeplinit funcţia de numărare a impulsurilor aplicate la intrarea modulului. Informaţia transmisă către memoria automatului, atunci când AP va adresa acest modul, va fi numărul de impulsuri sosite de la ultima adresare sau numărul total de impulsuri numărate de la iniţializare. Sunt utilizate în general pentru numărarea impulsurilor cu frecvenţă mare provenind de la senzori, encodere, sau contacte. Utilizarea modulelor de numărare de mare viteză uşurează munca programatorului deoarece el poate degreva unitatea centrală a AP de astfel de funcţii care consumă din puterea şi timpul de calcul al acesteia.

Modulele de ieşire digitale

Un modul de ieşire permite automatului programabil să acţioneze asupra elementelor de acţionare. Realizează corespondenţa: stare logică - semnal electric. Periodic, procesorul adresează modulul de ieşire şi realizează înscrierea biţilor unui cuvânt de memorie pe căile de ieşire ale modulului.Elementele de comutaţie ale modulului sunt

– electronice ( tranzistoare şi triacuri )– electromecanice (contacte de relee interne modulului).

Modulele de ieşire digitale

Ieşirile cu tranzistoare sunt utilizate în cazul comenzii dispozitivelor de c.c. Ieşirile cu triacuri sunt folosite pentru comanda dispozitivelor de c.a. Ieşirile cu relee pot fi utilizate atât pentru comanda dispozitivelor de c.c. cât şi a celor de c.a.Modulele care au număr mare de ieşiri

– au avantajul că prin utilizarea lor se ocupă mai puţine locuri pe magistrala automatului.

– au dezavantajul că nu pot furniza un curent mare de comandă pentru ieşiri.

Modulele de ieşire digitale

Schema bloc a căii de semnal pentru o ieşire digitală

Ieşire digitală electromecanică

Electromecanică cu releu

Yx

Cx

R

C

AP

250V – 2A minim

Ieşiri digitale de tip static

Statică de c.a.

AP

µCOpto-Triac/tiristor

Yx

Cx

Statică de c.c.

AP

µC

Yx

CxOpto-Tranzistor Bipolair NPN / PNP

Modulele de intrare/ieşire analogice

Având în vedere că AP sunt dispozitive numerice, modulele analogice trebuie să realizeze o corespondenţă între mărimi analogice (curenţi sau tensiuni) şi valori numerice. Rezoluţia (cea mai mică valoare de curent sau tensiune) este dată de numărul de biţi utilizaţi pentru codificarea numerică. O altă caracteristică a unui astfel de modul este viteza de conversie.

Modulele de intrare analogice

Există două tipuri de module de intrare analogice:– intrări analogice care realizează detectarea

depăşirii unui prag de tensiune sau curent,– intrări analogice de măsură.

Modulele de intrare analogice cu detecţie de prag

Schema bloc a căii de semnal pentru o intrare analogică cu detecţie de prag

Modulele de intrare analogice de măsură

Modulele sunt prevăzute cu circuite de conversie analog numerică (A/N). Modulele de intrare analogice de măsură de tensiune pot fi

– unipolare (primesc la intrare numai tensiuni pozitive în general 0÷10V) – bipolare (primesc la intrare tensiuni negative şi pozitive în general -

10÷+10V). Modulele de curent sunt unipolare şi primesc la intrare curenţi în general în gama 4÷20mA. Există posibilitatea reglării atenuării sau amplificării semnalului de intrare ceea ce permite mărirea domeniului de măsură. Un astfel de modul poate sau nu să efectueze o serie de operaţiuni de liniarizare a semnalului de intrare înainte de a fi scris cuvântul de intrare în memorie.

Modulele de intrare analogice de măsură

Schema bloc a căii de semnal pentru o intrare analogică de măsură

Modulele de ieşire analogice

Fiecare ieşire este imaginea analogică a valorilor numerice codificate pe un grup de biţi (8 sau 12) definit de program. Modulele analogice de ieşire permit conectarea AP la elemente de preacţionare (variatoare de putere, variatoare de viteză,...) pentru a realiza funcţii de comandă şi de reglare. Fiecare ieşire este definită prin natura semnalului furnizat şi prin limitele sale (0-10V, 4-20 mA).

Modulele de ieşire analogice

Schema bloc a căii de semnal pentru o ieşire analogică

Module de intrare/ieşire la distanţă

Folosite în cazul în care instalaţia comandată prin intermediul AP este formată din mai multe echipamente care sunt amplasate în locuri diferite aflate la o anumită distanţă unul faţă de celălalt şi faţă de AP. Caracteristici:

– calea prin care este transmisă informaţia– distanţa de la care se realizează această transmisie.

Transmisia informaţiei se face prin intermediul unei legături prin:– cablu torsadat (distanţe de sute de metri) – cablu cu fibre optice (distanţe de kilometri)

Utilizate datorită imunităţii crescute la perturbaţii.

Modulele de comunicare

Cea mai utilizată legătură pentru dialog între AP şi elementele periferice (terminale de programare sau exploatare, imprimante, ...), este cea serie. Acest mod de comunicare permite schimbul de caractere compuse din biţi transmişi unul după altul pe linia de comunicare. Viteza de transmisie se exprimă în biţi pe secundă (bauds).

Module de comunicare cu server

Aceste module sunt utilizate pentru a permite AP să realizeze o comunicaţie bidirecţională cu un server care poate fi un PC sau un alt AP. În general, comunicarea de la server la AP prin intermediul acestor module este folosită pentru programarea AP. Pot fi modificaţi anumiţi parametri în program sau chiar întregul program existent în memoria AP. În sens invers, AP poate să transmită serverului o serie de informaţii care pot fi folosite de acesta pentru a determina durata unor procese, încheierea anumitor etape, apariţia unor situaţii de funcţionare necorespunzătoare.De obicei aceste module permit comunicarea AP cu serverul prin intermediul unei legături seriale de tip RS232.

Module de comunicare de la egal la egal (peer-to-peer)

Modulele de la egal la egal sunt utilizate pentru a permite comunicare AP între ele. Informaţiile pe care acestea le schimbă între ele sunt utilizate pentru obţinerea unei funcţionări în care AP să coopereze în vederea îndeplinirii unor sarcini.

Module de comunicare ASCII

Au capacitatea de a recepţiona şi a transmite informaţia codificată folosind fişiere în cod ASCII.Avantajul acestor module este faptul că pot fi folosite pentru a realiza interfaţa dintre AP şi alte echipamente care recunosc informaţia în cod ASCII cum ar fi imprimantele sau terminalele de dialog cu utilizatorul.

Module pentru controlul poziţiei

Aceste module sunt utilizate în cadrul aplicaţiilor care necesită poziţionarea spaţială a unor elemente componente prin intermediul unor elemente de acţionare. Modulele pot fi utilizate pentru controlul poziţiei în sisteme în – buclă deschisă– buclă închisă.

Module de poziţionare în buclă deschisă

În această categorie intră modulele de control a poziţiei bazate pe utilizarea motoarelor pas cu pas (MPP). Asigură o serie de funcţii, în special de accelerare şi încetinire Este mult uşurată comanda MPP cu ajutorul AP în aplicaţii ce implică poziţionarea precisă în două sau trei axe.Alte funcţii:

– poziţionare a sistemului într-o poziţie iniţială – protecţie a sistemului prin limitarea cursei anumitor elemente

mobile.

Module de poziţionare în buclă închisă

Utilizate pentru comanda maşinilor cu comandă numerică, linii de asamblare automate sau robotică.Cele mai întâlnite aplicaţii presupun poziţionarea unei mese mobile care este acţionată de motoare de c.c. sau de c.a. Pentru închiderea buclei, în cazul controlului poziţiei se utilizează un encoder. Pentru reglajul vitezei, închiderea buclei este realizată cu ajutorul unui tahometru.

Module video

Folosite în special în aplicaţiile care necesită realizarea unor operaţii de inspecţie în cadrul procesului de fabricaţie.Se poate face un reglaj automat al procesului pentru eliminarea pieselor fabricate necorespunzător.

Module cititoare pentru codurile de bare

Utilizarea codurilor de bare pentru identificarea automată a devenit o practică curentă în cadrul liniilor de asamblare automată. Folosite pentru a codifica informaţia referitoare la diverse etape ale procesului de producţie/asamblare pentru a urmări traseul şi evoluţia anumitor produse în cadrul fluxului tehnologic. Permite ţinerea evidenţei exacte a stocurilor existente şi a celor care sunt în curs de a fi finalizate.Îmbogăţesc capacitatea unui AP cu funcţii ce permit citirea informaţiilor astfel codificate pentru a fi ulterior folosite în comanda instalaţiei.

Module pentru reglajul automat

AP pot fi utilizate în acest scop în cazul în care nu se urmăreşte aplicarea unor algoritmi de reglare de complexitate ridicată. Variante:

– utilizarea unor module de prelucrare speciale;– utilizarea modulelor de intrare/ieşire obişnuite şi materializarea

prin program a algoritmilor de reglaj.Cele mai utilizate module pentru reglajul automat sunt cele care implementează algoritmii de tip PID. Ajustarea sistemului se realizează prin reglarea potenţiometrelor care stabilesc parametrii buclelor de reacţie proporţională, diferenţială şi integrală.

Reglaj automat materializat prin program

În cazul în care bucla de reglare este materializată prin program, ajustarea sistemului se realizează prin modificarea unor parametri din program. În acest caz pentru intrări se utilizează module de intrare analogice obişnuite în timp ce pentru ieşiri se pot utiliza module de intrare analogice sau digitale.Există module prin care se materializează alţi algoritmi de reglare automată cum ar fi module pentru controlul folosind reacţia pozitivă sau folosind logica fuzzy.Ca şi în cazul reglării PID, ca urmare a creşterii puterii de calcul a unităţii centrale, aceşti algoritmi pot fi materializaţi prin programul automatului programabil.

Dispozitive de intrare/ieşire pentru interfaţa om-maşină

Funcţii:– (principală) cea de programare a AP. – monitorizarea funcţionării AP, – verificarea programului înscris în memoria AP– depanarea circuitului

Prin intermediul acestor terminale, operatorul uman poate introduce sau modifica programul unui AP la locul în care acesta se află, fără a mai fi nevoie de alte dispozitive sau aparate ajutătoare. Prin cuplarea terminalului, comportarea AP poate fi examinată în timpul funcţionării.Informaţiile necesare operatorului sunt afişate prin intermediul unui ecran cu:

– tub catodic– cu cristale lichide.

Dispozitive de intrare/ieşire pentru interfaţa om-maşină

Dimensiunile acestora pot varia de la câteva linii de caractere până la un ecran. În primul caz, dispozitivul de afişare va fi mai ieftin însă nu va permite decât afişarea unei porţiuni mici din programul AP şi un număr restrâns de informaţii legate de starea AP. Informaţiile către AP sunt introduse de către operatorul uman prin intermediul:

– unor butoane, – a tastaturii, – a ecranelor sensibile la atingere,– cititoarelor de coduri de bare.

Terminale simple

Dispozitive simple care au de cele mai multe ori doar un monitor şi o tastatură. Sunt dotate cu inteligenţă, întreaga funcţionalitate privind comunicarea dintre om şi maşină este înglobată în AP. Afişează informaţia transmisă de AP şi permit introducerea şi transmiterea informaţiei de la utilizator la AP. Transmiterea informaţiei prin intermediul acestor terminale se realizează în format ASCII. Avantaj: preţ de cost redus, terminalul poate fi utilizat cu o gamă largă de AP. Dezavantaj: nu permit încărcarea unui program sau modificarea acestuia în memoria AP. Utilizarea lor devine din ce în ce mai redusă.

Terminale industriale dedicate

Au încorporată o anumită inteligenţă care le permite să îndeplinească o parte mai mică sau mai mare din funcţiile amintite mai sus.

O serie de terminale permit scrierea directă a programului în memoria AP. O altă categorie de terminale sunt dotate cu memorie proprie astfel încât programul poate fi scris în această memorie după care el este transferat în memoria AP.

Mare parte din aceste dispozitive permit utilizatorului să depaneze programul scris chiar în timpul funcţionării acestuia. Pot fi introduse valori pentru intrările sau pentru ieşirile automatului astfel încât să se poată urmări funcţionarea acestuia în diverse situaţii.

Terminale industriale dedicate

Programatoare de mână

Sunt utilizate în general pentru programarea AP de dimensiuni mici. Cuplate la AP, ele pot afişa informaţii privind:

– starea AP, – starea intrărilori– starea ieşirilor, – valorile diferitelor variabile interne, – valoarea curentă şi cea prestabilită a numărătoarelor – valoarea curentă şi cea prestabilită a temporizatoarelor.

Programatoarele de mână pot fi folosite pentru depanarea AP prin monitorizarea funcţionării acestuia şi prin modificarea intrărilor, ieşirilor sau alţi parametri ai programului.Avantaje: dimensiunile mici care le fac portabile. Dezavantaje: au înglobată inteligenţă redusă, dimensiunea mică a ecranului de afişare (la un moment dat nu poate fi vizualizată decât o mică parte a programului din memoria calculatorului).

Programatoare de mână

Calculatoare personale

Datorită creşterii numărului de calculatoare personale disponibile, acestea au devenit în ultimul timp unul dintre celemai folosite dispozitive de interfaţă om maşină. Avantajele:

– permit programarea oricărui tip de AP cu condiţia să avem pachetul de programe corespunzător;

– în cazul în care calculatorul personal este de tip portabil, acesta permite programarea şi depanarea AP în locul de funcţionare;

– asigură o suprafaţă de afişare a informaţiei mare atât alb-negru cât şi color;

– permit păstrarea unor copii ale programului şi realizarea de verificări periodice pentru a vedea dacă programul în memoria AP nu s-a modificat datorită unor semnale perturbatoare;

Calculatoare personale (avantaje)

– permit documentarea programelor prin adăugarea de comentarii la liniile de program

– permit imprimarea documentaţiei la o imprimantă;– permit simularea funcţionării AP în vederea depanării

programului ce urmează a fi încărcat în memoria acestuia;

– asigură accesul la o gamă largă de dispozitive şi suporturi de stocare a informaţiei;

– permit utilizarea unor nume simbolice pentru intrări, ieşiri, variabile interne, temporizatoare sau numărătoare uşurând astfel înţelegerea programului AP;

– permit realizarea unor pachete de programe care să ofere informaţii bogate legate de starea de funcţionare a AP utile în procesul de depanare a acestuia.

Calculatoare personale

Alegerea unui AP

CriteriuNumărul de intrări şi ieşiri logiceMemoriaNumărul de module speciale de I/OPosibilităţile de extindereTimpul de scanarePosibilităţi de comunicaţiePachetele de programe softwareSuport tehnicPreţul

Exemplu de foaie de catalog`

Standardizareadezvoltării programelor

de aplicaţie pentruautomatele programabile

dupa E.v.d.Wal / PLCopen(www.plcopen.org)

Ficţiune?

Imaginează-ţi

* lucrezi în domeniul sistemelor de comandă industriale

* lucrezi cu sisteme de comandă de la 4 firme diferite

* foloseşti diferite dialecte ale limbajelor lor de programare

* încerci să aduci la acelaşi nivel tehnicienii şi electricieniişi vezi că cei cu care concurezi se descurcă mai bine

Limbajele de programare IEC 61131-3 /Programarea sistemelor de control

Interfaţa între programator şi sistemul de comandă

Limbajele de programare IEC 61131-3 /Programarea sistemelor de control

…cu suport pentru oameni cu pregătiri diferite

Stadardul IEC 61131-3

Elemente comune

Limbaje de programare

IEC 61131-3 : Elemente comune

Elemente comunea.o.

Tipuri de date & Variabile

• Reprezentări simbolice prin etichete

• Zonă restrânsă pentru harta I/O

• Independent de hardware

IEC 61131-3 : Elemente comune

ELEMENTE COMUNETipuri de date & Variabile

cum ar fi:BOOLBYTEINTEGERREALDATETIME_OF_DAYSTRING

IEC 61131-3 : Elemente comune

Tipuri de date & Variabile

în plus:

Propriile tipuri de date

IEC 61131-3 : Elemente comune

ELEMENTE COMUNE

Tipuri de date & Variabile

Configuraţii

Resurse

Taskuri

IEC 61131-3: Model Software

Configuratie

Functii de comunicatie

IEC 61131-3: Model Software

Configuratie

Functie de comunicatie

Resursa Resursa

IEC 61131-3: Model Software

Task Task Task Task

Resursa Resursa

Configuratie

Functie de comunicatie

IEC 61131-3: Model Software

Calea de executie a comenzii

Task

Program Program

Task

Program

Task

Program

Task

Resursa ResursaConfiguratie

Functie de comunicatie

IEC 61131-3: Model Software

Functie de comunicatie

Cale de acces

Calea de executie a comenzii

BFTask

Program ProgramBF BF

Task

Program

Task

ProgramBF BF

Task

Resursa ResursaConfiguratie

BlocFunctional

IEC 61131-3: Model Software

Variabile globale si directe

Cale de acces

Cale de executie a comenzii

Cale de accesvariabila

BFTask

Program ProgramBF BF

Task

Program

Task

ProgramBF BF

Task

Resursa ResursaConfiguratie

Functie de comunicatie

BlocFunctional

Variabila

ELEMENTE COMUNE

Tipuri de date & Variabile

Configuraţie, Resurse, Taskuri

Unitati de organizare a programelor

* Funcţii

* Blocuri funcţionale

* Programe

IEC 61131-3 : Elemente comune

Funcţii …..

* Funcţii standardADD, SQRT, SIN, COS, GT, MIN, MAX, AND, OR, etc.

* Funcţii definite de utilizatori: FUNCTION SIMPLE_FUN : REAL

VAR_INPUTA, B : REAL;C : REAL := 1.0;

END_VARSIMPLE_FUN := A*B/C;END FUNCTION

…. & Blocuri funcţionale (BF)

BF standardBF adiţionaleBF definite de utilizator

Toate BF suntutilizabile în altemodule sauprograme

FUNCTION_BLOCK

INPUT OUTPUT IN_OUT EXTERNAL

LocalType

HisterezisQXIN1

XIN2EPS

BOOLREALREALREAL

Exemplu de Bloc Funcţional

HisterezisQXIN1

XIN2EPS

BOOLREALREALREAL

1

EPSEPS

0

XIN2

Q

Exemplu de BF

FUNCTION_BLOCK HISTEREZISVAR_INPUT

XIN1, XIN2 : REAL;EPS : REAL; (* Zona de histerezis *)

END_VARVAR_OUTPUT

Q : BOOL := 0END_VARIF Q THEN

IF XIN1 < (XIN2-EPS) THENQ := 0 (* XIN1 la descrestere *)

END_IF;ELSIF XIN1 > (XIN2 + EPS ) THEN

Q := 1; (* XIN1 la crestere *)END_IF;

END_FUNCTION_BLOCK

HisterezisQXIN1

XIN2EPS

BOOLREALREALREAL

1

EPSEPS

0

XIN2

Q

Programe : proiectare ierarhizată

Automation

application

Start : BOOL;Emergency : BOOL;Limit : INT;

PROGRAM

GLOBAL

LocalType

FUNCTION

INPUT

LocalType

FUNCTION_BLOCK

INPUT OUTPUT IN_OUT EXTERNAL

LocalType

Diagrame funcţionale secvenţiale(DFS)

Metodă grafică puternică pentrudescrierea comportării secvenţialea programului de comandăFolosit pentru partitionarea uneiprobleme de comandăPermite o viziune de ansambluceea ce ajută la depanarea rapidăElementele de bază sunt Etapelecare au blocuri de acţiuni şi TranziţiiPermite ramificarea şi execuţia în paralel a secvenţelor

Etapa 1 N Umple

Etapa 3

Etapa 2 S Goleste

Tranzitia 1

Tranzitia 2

DFS secvenţe paralele

Etapa 2 a S Goleste

Tranzitia 1a

Tranzitia 2a

Etapa 1 N Umple

Etapa 3

Etapa 2 b S Goleste

Tranzitia 1b

Tranzitia 2b

Standardul IEC 61131-3

Elemente comune

Limbaje de programare

Limbajele de programare din IEC 61131-3

Lista de instrucţiuni Text structurat

Diagrama de blocuri funcţionale Diagrame scheme cu contacte

C:= A AND NOT B

A B C

-| |--|/|----------------( )

LD A

ANDN B

ST C

ANDA C

B

Diagrame bazate pe scheme cu contacte (DL)

Set de simboluri de programarebazate pe schemele cucontacte (în limba engleză –ladder), standardizat şiperfecţionatBazat pe stilul american de programare care seamănă cu schemele electrice americanestandard

A B C

-| |--|/|----------------( )

Lista de instrucţiuni (IL)

Model de execuţie bazat pe structuracu acumulator unicBazat pe modelul german‘Anweisungsliste’, AWLPe fiecare linie de program estepermisă o singură instrucţiune

LD A

ANDN B

ST C

Text structurat (ST)

Bazat pe limbajele evoluate structurate pe blocuriSintaxa asemănătoare limbajului PASCAL Sunt permise instrucţiuni complexe şi bucleSuport pentru

– Bucle iterative (REPEAT-UNTIL; WHILE-DO)– Instrucţiuni condiţionale (IF-THEN-ELSE; CASE) – Funcţii (SQRT(), SIN())

C:= A AND NOT B

Diagrame de BF (DFB)

Limbaj grafic mult utilizat în EuropaPermite utilizarea elementelor de program care apar sub formă de blocuri care trebuieconectate împreună obţinându-se o formăanalogă cu o schemă electronicăFolosite în multe aplicaţii care implicătransferul de informaţii între elementele de comandă

ANDA C

B

Chimie

Standardul IEC 61131-3

Elemente comune

Limbaje de programare

Sus -Jos

Jos -Sus

Medii de programare IEC

Multe dintre ele oferă:ecrane grafice de programaresuport pentru ferestremultipleoperare cu mousemeniuri pull-downfuncţii de help încorporateverificare software în timpulproiectării

Care este beneficiul acestuistandard ?

Utilizatori? Care utilizatori?

Educaţie

InstalareMentenanţă

Programare

Sisteme de comandă

Producători

Integrator de sistemDvs ??

Utilizatori? Care utilizatori?

• Linii de producţie din industria auto

• Staţii de tratare a apei

• Echipamente de prelucrare şi împachetare în industriaalimentară

• Industria cablurilor

• Sisteme automatizate din industria semiconductorilor

• Parcuri de distracţie

• Etc

Această arie largă presupune existenţa unor pregătiri diferite

Care este beneficiul standardizării

Reduce consumul inutil de resurseumane (în pregatire, depanare, service şi consultanţă)Permite concentrarea pe rezolvareaproblemelor prin reutilizarea modulelor existente (reduce investiţiile în dezvoltarea aplicaţiilor)Reduce neînţelegerile şi erorileTehnicile de programare utilizabileîn mai multe domenii (sisteme de comandă industriale)Combină armonios diferitecomponente din proiecte, locuri, companii sau ţări diferite

Function "LIMIT"

Function "TEST"

Function Block"Turning"

Function Block"Feeding"

Function Block"Heating"

SoftwareLibrary

1

Automate programabile

Limbajul de programare de tip “Listă de instrucţiuni” (IL)

Generalităţi

Funcţionarea AP se bazează pe executarea de către procesorul unităţii centrale a unui set de instrucţiuni. Instrucţiunea este cea mai mică unitate independentă de program fiind formată din simbolul sau denumirea operaţiei şi operandul sau operanzii.

În cazul AP, operaţiile cele mai des utilizate sunt cele ale algebrei booleene: – ŞI (AND, *), – SAU (OR, +), – NU (NOT, N), – ŞI-NU (NAND, ANDC), – SAU-NU (NOR, ORC), – SAU-EXCLUSIV (XOR) la care se adaugă – operaţiile de temporizare, numărare şi memorare.

Extensii ale operaţiilor de bază

În ultimul timp, datorită creşterii capacităţii de prelucrare şi a vitezei de execuţie, la operaţiile de bază au fost adăugate: operaţii aritmetice cum sunt adunarea, înmulţirea, împărţirea, operaţii logice pe mai mulţi biţi cum sunt deplasări la stânga şi la dreapta,operaţii de conversie a informaţiei dintr-un cod într-altul,funcţii de memorare de tip bistabil,alte funcţii speciale specifice AP.

Tipuri de operanzi

Operanzii acestor instrucţiuni sunt:– intrări (notate cu I, X sau IN), – ieşiri (notate cu E, Y sau OUT), – elemente de memorare (notate cu M) - modelează releele intermediare din

schemele electrice cu contacte, – elemente de temporizare (notate cu T)– elemente de numărare/contorizare (notate cu C).

operanzii sunt în corespondenţă directă cu resursele fizice pe care AP le are la dispoziţie: intrări, ieşiri, variabile intermediare (în strânsă legătură cu dimensiunea memoriei de lucru a AP), temporizatoare şi numărătoare implementate prin program sau prin circuite şi module specializate.corespondenţă indicată prin alăturarea la notaţiile prezentate anterior a unui identificator numeric care arată numărul resursei respective

Exemple de identificatori

Varianta 1:– primele două cifre ale părţii numerice =modulul pe care se află

resursa corespunzătoare variabilei respective (intrare, ieşire etc). – a treia cifră = resursa (numărul de ordine) în cadrul modului

precizat de primele două cifre.

Varianta 2:– identificatorul modulului şi numărul de ordine sunt separate de

punct.

Exemple de identificatori

Varianta 3:– variabilele de intrare, de ieşire şi de memorie nu sunt identificate

prin nici un simbol. – Faptul că o variabilă este de intrare, de ieşire sau de memorie

este identificat prin prima cifră a numărului de identificare. Aceasta corespunde modului de alocare a locaţiilor din memoria de lucru a AP.

– Adresele începând de la 000 sunt alocate intrărilor, adresele de la 200 sunt alocate ieşirilor şi adresele de la 400 sunt alocate variabilelor de memorie (relee interne).

Exemple de identificatori

Variabila Semnificaţia

Varianta 1 Varianta 2 Varianta 3

IN001 I 0.1 001 prima intrare a AP

OUT013 Q 0.3 203 a treia ieşire a AP

M010 M 0.10 410 a zecea variabilă intermediară

T002 T 0.2 T02 al doilea temporizator al AP

C001 C 0.1 C01 primul numărător al AP

Nume de instrucţiuni

De la apariţia AP, fiecare producător şi-a dezvoltat limbajul propriu de tip listă de instrucţiuni, alegerea numelor instrucţiunilor depinzând mult şi de limba vorbită de respectivii producători. Deşi se aseamănă între ele din punct de vedere funcţional, aceste limbaje au nume diferite şi folosesc pentru aceeaşi instrucţiune denumiri şi formate diferite.

Nume de instrucţiuni

Limbajul (Producătorul) Denumirea instrucţiunilor

AP-micro (IPA-Automatica)

AND, OR, ANDC, ORC,LD, LDC,STO, STOC, XOR, CMA, ZA, S, R, J, JC

PSE (AEG) *,+,-,=,E,A,S,R,Z,T,D,L

STEP (Siemens) U, UN, O, ON,=, S,R,ZV, ZR, L,T,M

SUCOS (Klockner-Moeller A, O, N, =

MELSEC (Mitsubishi) LD, LDI, AND, ANI, OR, ORI, MC, OUT, PLS, S, R, RST, ANB, ORB, NOP, END

Actsip-E (Hitachi) ORG, AND, OR, NOT, OUT, T/C, FUN

Exemplu. Schema electrică cu contacte

K1

S2

K3

K3

K4

S3

K2

L1

N

Exemplu. Program IL General Electric

Program

STR 000 AND NOT 001 OR 002AND 003OUT 200STR 200OUT 010

Observaţii

start sau memorare (primele două cifre ale identificatorului indică numărul modulului: 00 - modul de intrare,

01 - modul de ieşire)activare releu internvaloarea obţinută e trimisă la ieşirea 0 a

modulului 01

Exemplu. Program IL Kloeckner-Moeller

Program

L I 0.0AN I 0.1O I 0.2A I 0.3= M 0.0L M 0.0= Q 0.0

Observaţii

încarcă intrarea 0, modulul 0.SI-NUSAUSImarker, releu intern

Ieşire

Exemplu. Program IL Siemens

Program

U E 0.0UN E 0.1O E 0.2U E 0.3= M 0.0O M 0.0= A 0.0

Observaţii

E:Eingang, intrareUN: Und Nein, ŞI-NUO: Oder, SAUUndM: merker, releu intern

A: Ausgang, ieşire

Exemplu. Program IL Telemecanique

Program

L I 0.0AN I 0.1O I 0.2A I 0.3= B 10L B 10= O 0.0

Observaţii

Instrucţiunile sunt abrevieri ale denumirilor engleze

B: Bit, releu intern

O: Ieşire

Exemplu. Program IL Hitachi

Program

ORG 000AND NOT 001OR 002AND 003OUT 400ORG 400OUT 200

Observaţii

start (variabilele de intrare încep de la adresa 000, variabilele de ieşire de la adresa 200 iar variabilele de tip marker - releu intermediar - de la adresa 400).

ieşirea se face pe releu internIeşire

Exemplu. Program IL Mitsubishi

LD X000ANDI X001OR X002AND X003OUT M000LD M000OUT Y000

Încărcare intrare X000SI-NU cu intrarea X001SAU cu intrarea X002SI cu intrarea X003releu internÎncărcare releu internIeşire

Limbajul IL în standardul IEC 61131-3

Lista de instrucţiuni este compusă dintr-o secvenţă de instrucţiuniFiecare instrucţiune începe pe o linie nouă şi conţine operatorul (opţional cu modificatori) şi dacă este necesar, unul sau mai mulţi operanziInstrucţiunea poate fi precedată de o etichetă urmată de caracterul “:”

Example de câmpuri ale instrucţiunilor

START: LD %IX1 (* BUTON START*)

ANDN %MX5 (* NEBLOCAT *)

ST %QX2 (* VENTILATOR PORNIT*)

Etichetă Operator Operand Comentariu

result := result OP operand

Operatori şi semnificaţia lor

LD Atribuie operandului rezultatul curentST Memorează rezultatul curent la locaţia

operanduluiS Atribuie operandului de tip Boolean

valoarea 1R Atribuie operandului de tip Boolean

valoarea 0

Operatori şi semnificaţia lor

AND SI logic

& SI logic

OR SAU logic

XOR SAU-EXCLUSIV logic

Operatori şi semnificaţia lor

ADD Adunare

SUB Scădere

MUL Înmulţire

DIV Împărţire

Operatori şi semnificaţia lor

GT Comparaţie : >

GE Comparaţie : >=

EQ Comparaţie : =

NE Comparaţie : <>

LE Comparaţie : <=

LT Comparaţie : <

Operatori şi semnificaţia lor

JMP Salt la etichetă

CAL Apelul unui bloc funcţional

RET Întoarcere dintr-o funcţie sau bloc funcţional)

Exemplu de apel a unui bloc funcţional

1. CAL cu lista de intrări: CAL C10(CU:=%IX10, PV:=15)

2. CAL cu încărcarea/stocare intrărilor: LD 15ST C10.PVLD %IX10ST C10.CUCAL C10

3. Folosirea operatorilor de intrare:

LD 15PV C10LD %IX10CU C10

Tip de BF Operatori SemnificaţieSR S1,R Bistabil SRRS S,R1 Bistabil RSR_TRIG CLK Sesizare front crescătorF_TRIG CLK Sesizare front descrescătorCTU CU,R,PV Numărător crescătorCTD CD,LD,PV Numărător descrescătorCTUD CU,CD,R,LD,PV Numărător bidirecţionalTP IN,PT TemporizatorTON IN,PT Temporizator la închidereTOF IN,PT Temporizator la deschidere

Tipuri de blocuri funcţionale

Bibliografie

E. van der Wal Instruction List - an assembler type of

language, www.plcopen.org

SR EN 61131-3, Automate programabile. Partea 3.

Limbaje de programare

C.G.Haba, Sisteme de comandă a maşinilor electrice, Ed.

Gh.Asachi, Iaşi

1

Automate programabile

Limbajul de programare de tip “Scheme cu contacte” (LD)

Originile limbajului LD

Limbajul bazat pe scheme cu contacte - Ladder Diagram (LD) – provine de la reprezentarea grafică folosită pentru schemele electrice de comandă

– Comenzile erau realizate cu ajutorul releelor

Limbajul LD a fost dezvoltat pentru a uşura crearea programelor şi menţinerea facilă a acestora

– reprezentări realizate cu calculatorul bazate pe reprezentarea grafică a schemelor cu contacte care erau uşor de înţeles

– se reduc costurile de învăţare a limbajului şi de suport tehnic

Scrierea programului în LD

Scrierea unui program în limbajul LD presupune desenarea unei diagrame (diagramă LD) similare unei scheme electrice cu contacte. Elementele componente ale diagramei LD modelează funcţionarea elementelor unei scheme cu contacte. Interpretarea funcţionării diagramei LD este similară interpretării schemelor electrice cu contacte.Elementele de bază utilizate pentru scrierea unui program în limbaj LD sunt:

– contactele, – bobinele, – temporizatoarele, – numărătoarele şi – blocurile funcţionale (funcţiile).

Contactele

Contactele sunt elemente de programare care modelează contactele aparatelor electrice de comutaţie. Ca şi în cazul acestora din urmă, contactele pot fi de tip n.d. (a) şi n.i. (b).

a) b)

IN001 IN002 IN003

Contactele

În cadrul unui program LD, contactele pot fi asociate intrărilor AP, ieşirilor AP sau unor variabile interne. La intrări pot fi conectate dispozitive care au două stări de funcţionare cum ar fi:

– contactele auxiliare ale contactoarelor şi releelor, – contactele n.î. sau n.d. ale butoanelor de comandă, – contactele n.î. sau n.d. ale limitatoarelor de cursă, – contactele n.î. sau n.d. ale detectoarelor de mărimi fizice, – contactele n.î. sau n.d. ale elementelor de protecţie, – ieşirile digitale ale unor aparate de măsură, protecţie sau

comandă, – ieşirile digitale ale altor AP sau sisteme de comandă etc.

Contactele

Pe lângă contactele obişnuite, unii producători pun la dispoziţia programatorilor şi alte elemente de programare corespunzătoare intrărilor AP, întâlnite, îndeosebi, în cazul circuitele numerice, cum ar fi: intrări cu memorie (latch), intrări active pe frontul crescător intrări active pe frontul descrescător.

Bobinele

Bobinele sunt elemente de programare care modelează funcţionarea bobinele contactoarelor şi releelor electromagnetice. Ca şi în cazul bobinelor din schemele electrice, bobinele din programele LD pot avea două stări: alimentate sau nealimentate.

a) b)

OUT 001 OUT 002 OUT 003

Bobinele

Ele pot fi asociate ieşirilor automatului dar şi unor variabile interne modelând astfel releele auxiliare din cadrul schemelor electrice cu contacte. Bobinele sunt elemente de programare care modelează funcţionarea bobinele contactoarelor şi releelor electromagnetice. Ca şi în cazul bobinelor din schemele electrice, bobinele din programele LD pot avea două stări: alimentate sau nealimentate. Ele pot fi asociate ieşirilor automatului dar şi unor variabile interne modelând astfel releele auxiliare din cadrul schemelor electrice cu contacte.

Bobinele

Fiecare ieşire este de identificată în mod unic, modul de identificare diferind de la un producător la altul. Fiecărei ieşiri i se asociază o singură bobină şi unul sau mai multe contacte ce pot fi utilizate în schemă în mod asemănător contactelor auxiliare ale contactoarelor şi releelor.La aceste ieşiri pot fi conectate dispozitive care au două stăride funcţionare cum ar fi:

– bobinele contactoarelor sau releelor, – elemente de semnalizare acustică sau luminoasă, – sarcini de putere mică, – intrările digitale ale unor aparate de măsură, protecţie sau

comandă, – intrările digitale ale altor AP sau sisteme de comandă etc.

Temporizatoarele

Temporizatoarele sunt elemente de programare care modelează funcţionarea releelor de timp şi a contactelor temporizate. Sunt utilizate pentru a realiza acţiuni întârziate sau ce durează un anumit interval de timp.

Validare

Iniţializare

IeşireNr. temporizator

Baza de timp

Valoareaprestabilită

Temporizatoarele

Producătorii de AP furnizează atât funcţii elementare de temporizare cât şi funcţii mai complexe. Temporizatoarele utilizate în programele LD au o flexibilitate şi o funcţionalitate mult mai mare decât temporizatoarele utilizate în schemele electrice.Temporizatoarele simple permit realizarea unei acţiuni întârziate cu un anumit interval de timp ce poate fi programat. Temporizatoarele complexe au în vedere obţinerea unor temporizări variabile, funcţie de anumite condiţii care apar la un moment dat.

Temporizatoarele

Fiecare temporizator din schemă este identificat în mod unic, modul de identificare fiind diferit de la un producător la altul. În cazul în care baza de timp este aceeaşi pentru toate temporizatoarele, precizată în manualul de programare a AP, aceasta este omisă. Valoarea prestabilită poate fi exprimată în unităţi de timp (s).Temporizatoarele au cel puţin o intrare de iniţializare, la activarea căreia începe temporizarea şi o ieşire. În unele variante, temporizatoarele sunt prevăzute şi cu o intrare de validare şi încă o ieşire care reprezintă negata primei ieşiri.

Numărătoarele

Numărătoarele sunt elemente de programare care poate primi o serie de impulsuri care sunt analizate în cadrul programului LD pentru a detecta numărul de apariţii ale unor evenimente cum ar fi:

– numărul de paşi efectuaţi de un motor pas cu pas, – numărul de conectări-deconectări ale unui aparat.– numărul de sticle care au fost umplute într-o staţie de

îmbuteliere, etc.Numărare Ieşire

Ieşire negată

Nr. numărător

Valoareprestabilită

Iniţializare

Numărătoarele

Numărul de evenimente poate fi comparat cu anumite valori prestabilite şi în funcţie de rezultatul acestor comparaţii pot fi luate anumite decizii şi date comenzile corespunzătoare.Există mai multe tipuri de numărătoare, printre cele mai uzuale fiind:

– numărătoarele unidirecţionale crescătoare– numărătoarele unidirecţionale descrescătoare şi – numărătoarele bidirecţionale care pot număra atât descrescător

cât şi crescător. Fiecare numărător din schemă este identificat în mod unic, modul de identificare fiind diferit de la un producător la altul.

Numărătoarele

Pentru fiecare numărător se precizează valoarea prestabilită, aceasta reprezentând valoarea maximă pe care o va număra numărătorul după care va activa ieşirea. Numărătorul are cel puţin două intrări, una de numărare şi una de iniţializare (la activarea acesteia numărătorul începe să numere impulsurile sosite la intrarea de numărare) şi o ieşire. Alte variante de numărătoare sunt prevăzute şi cu o intrare de validare şi o ieşire care reprezintă negata primei ieşiri.

Blocurile funcţionale

Pentru materializarea unor funcţii mai complexe menite să uşureze scrierea programelor în limbaj LD sunt utilizate blocurile funcţionale (BF). BF modelează diverse categorii de funcţii cele mai utilizate fiind:

– funcţii de încărcare a unor constante numerice,– funcţii aritmetice,– funcţii logice pe 8 sau 16 biţi,– funcţii de conversie a informaţiei din diferite formate (binar,

BCD, Gray etc),– funcţii de tratare a întreruperilor,

Blocurile funcţionale

– funcţii pentru detectarea fronturilor crescătoare sau descrescătoare a semnalelor,

– funcţii pentru realizarea controlerelor şi secvenţiatoarelor,– funcţii pentru actualizarea rapidă a intrărilor şi ieşirilor,– funcţii pentru comanda numărătoarelor de mare viteză.

Formatul şi modul de funcţionare a blocurilor funcţionale diferă de la un automat la altul, fiind specific fiecărui producător în parte.

Restricţii în scrierea programelor orientate pe scheme de contacte

Atunci când se realizează scrierea unui program LD pentru un automat programabil concret, trebuie să se ţină seama de limitările pe care pachetul de programe le poate avea:– limitări privitoare la formatul diagramei LD– limitări legate de modul de execuţie a programului

Limitări privitoare la formatul diagramei LD

Limitările ţin de:– proprietăţile intrinseci ale limbajului;– implementările specifice ale diferitelor pachete de

programe comerciale Sunt datorate soluţiilor tehnice adoptate de firmele producătoare pentru implementarea diverselor elemente ale limbajului.

Limitări privitoare la formatul diagramei LD

O parte a acestor limitări sunt prezentate în continuare:

– o bobină trebuie să fie alimentată întotdeauna prin intermediul unui contact;

– bobina trebuie să fie introdusă întotdeauna la capătul din dreapta al liniei;

– toate contactele trebuie să fie pe direcţie orizontală;– numărul contactelor pe o linie de alimentare a unei bobine

este limitat prin program;

Limitări privitoare la formatul diagramei LD

– un grup de contacte poate alimenta o singură bobină;– realizarea buclelor poate fi realizată într-un singur mod sau

poate să nu fie permisă;– sensul curentului prin circuit este de la stânga la dreapta

diagramei.

De obicei manualele de utilizare ale programelor conţin toate informaţiile necesare pentru ca utilizatorul să poată scrie programul în formatul acceptat de AP.

Limitări legate de modul de execuţie a programului

Funcţionarea AP se bazează pe execuţia repetată a programului pe care îl are înscris în memorie. Fiecare ciclu de execuţie a programului cuprinde 3 etape separate:

– citirea intrărilor– execuţia instrucţiunilor din program– actualizarea ieşirilor

Durata unui astfel de ciclu depinde atât de viteza procesorului cu care este dotat AP, cât şi de lungimea programului utilizatorului.

Limitări legate de modul de execuţie a programului

Etapa de citire a intrărilor, se citesc stările terminalelor de intrare în AP şi conform acestora se înscrie informaţia în tabelul intrărilor.Etapa de execuţie a instrucţiunilor din program, valorile intrărilor sunt folosite pentru execuţia instrucţiunilor, rezultatul acestora fiind înscrise în tabela ieşirilor.Etapa de actualizare a ieşirilor constă în transferarea informaţiei din tabela ieşirilor către terminalele de ieşire a automatului.Cele trei etape amintite mai sus se execută separat, modificarea semnalelor de la intrările AP în etapa a doua nu are efect asupra valorilor intrărilor folosite pentru execuţia instrucţiunilor. Ele vor fi folosite doar după ce vor fi citite în următoarea etapă de citire a intrărilor.

Limitări legate de modul de execuţie a programului

Dacă în etapa a doua, în urma execuţiei uneia sau mai multor instrucţiuni se modifică valoarea unei ieşiri în tabela de ieşiri, această modificare nu va apare efectiv la terminalul de ieşire corespunzător, decât în etapa a treia. Atunci se realizează actualizarea ieşirilor pe baza tabelei ieşirilor calculată în etapa de execuţie a instrucţiunilor care a precedat-o.În scrierea unui program în limbajul LD trebuie avute în vedere şi modul în care este interpretat programul scris.

Interpretarea programelor LD

Există două moduri de interpretare a unui program LD:– citirea se face pe linie - se citesc contactele pe

linie, de la stânga la dreapta, linie cu linie, începând cu prima linie şi terminând cu ultima;

– citirea se face pe coloană - se citesc contactele pe coloană, câte unul, de sus până jos, coloană cu coloană, începând cu prima coloană din stânga şi terminând cu ultima din dreapta.

Interpretarea programelor LD

În ambele situaţii trebuie să se aibă în vedere diferenţa faţă de schemele de comandă cu relee:

– Relee: O modificare în starea unui contact din circuitul de alimentare a bobinei unui contactor poate duce la modificarea imediată a stării acesteia indiferent dacă mai există sau nu alte elemente legate în serie sau paralel cu acel contact.

– Program LD: starea bobinei nu va fi modificată decât după ce se va citi starea tuturor elementelor prin care aceasta este alimentată.

Datorită vitezei mari de execuţie a procesorului, acest lucru nu pune în general nici o problemă. Ea trebuie considerată în cazurilor unor aplicaţii critice unde ar putea să apară o funcţionare diferită de cea dorită.

Interpretarea programului LD - Citirea pe linie

Interpretarea programului LD - Citirea pe coloană

Limbajul LD în standardul IEC 61131-3

Prin introducerea acestui limbaj în standardul IEC 61131-3 s-a căutat uniformizarea unui întreg set de limbaje care se proclamau a fi de tip scheme cu contacte.

Execuţia programului

Liniile programului sunt evaluate de la stânga la dreapta şi de sus în josRamificaţiile din cadrul unei linii sunt evaluate de la stânga sus la dreapta jos

P S

R

A

B

D E

F G H

I J K

Fază

Ramificaţie

Nul

Linie a programului

Bobine fără memorie

Bitul corespunzător elementului este pus în 0 când tensiunea de alimentare este oprită– Bobină -( )-

Pune bitul în 1 când linia este evaluată la 1 logic şi pus în 0 când linia este evaluată la 0 logic

– Bobină negată -( / )-Pune bitul în 0 când linia este evaluată la 1 logic şi pus în 1 când linia este evaluată la 0 logicÎn general nu e folosită datorită confuziei pe care o poate introduce

Bobine fără memorie

– Bobină Set (Latch) -(S)-Pune bitul în 1 când linia este evaluată la 1 logic şi nimic când linia este evaluată la 0 logic

– Bobină Reset (Unlatch) -(R)-Pune bitul în 0 când linia este evaluată la 1 logic şi nimic când linia este evaluată la 0 logic

Contacte

Contact normal deschis -| |-– Validează linia de program la dreapta elementului

dacă linia este validată în stânga acestuia şi bitul corespunzător e în 1 logic.

Contact normal închis -|/|-– Validează linia de program la dreapta elementului

dacă linia este validată în stânga acestuia şi bitul corespunzător este în 0 logic

Contacte

Contact activ pe frontul crescător -|P|-– Validează partea dreaptă a liniei de program

pentru un ciclu când partea stângă este validatăContact activ pe frontul descrescător -|N|-– Validează partea dreaptă a liniei de program

pentru un ciclu când partea stângă este invalidată

Operaţii cu memorare sau fără memorare

Definiţie– Valorile cu memorare îşi menţin valoarea şi după

un ciclu deconectare-reconectare la sursa de alimentare

– Valorile fără memorare iau valoarea iniţială (de obicei 0) după un ciclu deconectare-reconectarela sursa de alimentare

IEC 61131-3 permite valorilor să fie definite ca fiind cu memorare– În majoritatea AP-urilor doar temporizatoarele şi

bobinele sunt elemente cu memorare.

Bobine cu memorare

Bitul din memorie corespunzător rămâne nemodificat după întreruperea şi reconectarea alimentării– Bobină cu memorie -(M)-

Pune bitul în 1 când linia este validă şi o pune în 0 când este invalidă.

– Bobină Set cu memorare (Latch) -(SM)-Pune bitul în 1 când linia este validă şi nu face nimic când este falsă

– Bobină Reset cu memorare (Unlatch) -(RM)-Pune bitul în 0 când linia este validă şi nu face nimic când este falsă

Bobine activate pe front

Bobină activată pe frontul pozitiv -(P)-– Pune bitul în 1 logic când linia din stânga trece

din starea invalidă în starea validă– Bitul rămâne în această stare

Bobină activată pe frontul negativ -(N)-– Pune bitul în 0 logic când linia din stânga trece

din starea validă în starea invalidă – Bitul rămâne în această stare

Temporizatoare in LD

Există 3 instrucţiuni ce realizează funcţiile de temporizare în cadrul standardului IEC 61131-3

– TP – Temporizator tip impuls– TON – Temporizator la conectare– TOF – Temporizator la deconectare

Valorile timpului– Baza de timp este de 1ms (1/1000 s)– Valorile sunt introduse folosind formatul literal

Temporizatoare in limbajul LD

Două variante de vizualizare în funcţie de folosirea ieşirilor EN/ENO

– prima metodă necesită elemente suplimentare de programare dacă este necesară utilizarea stării temporizatorului în alte linii de program

– a doua metodă asociază un bit lui Q ce poate fi apoi folosit de alte linii de program, ENO=EN

TONIN

T#200ms

Pump_Tmr

PT ET 178

Q

TON

T#200ms

Pump_Tmr

PT ET 178

Q

IN ENO

Pump_Tmr_DN

Funcţionarea temporizatoarelor

INQ

ETPT|0

Temporizare tip impuls (TP)

INQ

ETPT|0

Temporizare la conectare (TON)

INQ

ETPT|0

Temporizare la deconectare (TOF)

IN = condiţia de intrare a linieiQ = ieşirea comparatorului

– diferă în funcţie de tipul de temporizator

PT = valoarea prestabilităET = timpul scurs de la activarea temporizatorului

Numărătoare în LD

Trei instrucţiuni cu funcţii de numărător în IEC 61131

– CTU – Numărător crescător– CTD – Numărător descrescător– CTUD – Numărător bidirecţional

Toate trei contorizează tranziţiile liniei

Numărătoare în LD

Două vizualizări posibile în funcţie de utilizarea ieşirilor EN/ENO

– prima metodă necesită elemente de programare suplimentare dacă starea temporizatorului este necesară în alte linii de program

– a doua metodă asociază ieşirii Q un bit care poate fi folosit în alte linii de program, ENO=EN

CTU

200

Load_Cnt

PV CV 178

Q

IN ENO

Load_Cnt_DNR

CTU

200

Load_Cnt

PV CV 178

QIN

R

Funcţionarea numărătoarelor

Parametri– CU/CD = Numărare

crescătoare/descrescătoare– Q/QU/QD = Ieşirea

comparatorului– R = Aducere în Zero– LD = Încărcarea CV cu PV– PV = Valoarea prestabilită– CV = Valoarea numărată de

la momentul activării

...INQ

CVPV|0

LD

...Numărător descrescător (CTD)

...INQ

CVPV|0

R

Numărător crescător (CTU) ...

Funcţionarea numărătoarelor

Parametri– CU/CD = Numărare

crescătoare/descrescătoare– Q/QU/QD = Ieşirea

comparatorului– R = Aducere în Zero– LD = Încărcarea CV cu PV– PV = Valoarea prestabilită– CV = Valoarea numărată de

la momentul activării

...

...

CVPV|0

CUQUCDQD

LDR

Numărător bidirecţional (CTUD)

Setul de instrucţiuni IEC1131-3

IEC 61131-3 furnizează un set de bază de instrucţiuni care să realizeze operaţiile de bază (81 instrucţiuni LD)

– Conversii ale tipurilor de date - Trunc, Int_to_Sint, Dint_to_Real, Bcd_To_Int …– Operaţii Booleene - Bit Test, Bit Set, One Shot, Semaphores …– Temporizatoare / Numărătoare - Ton, Tp, Ctu, Ctd, Ctud– Operaţii aritmetice simple - Add, Sub, Mul, Div, Mod, Move, Expt– Diferite operaţii matematice - Abs, Sqrt, Ln, Log, Exp, Sin, Cos, Tan, Asin, Acos, Atan– Deplasări de biţi - Shl, Shr, Ror, Rol– Operaţii logice - And, Or, Xor, Not– Selecţie - Sel, Max, Min, Limit, Mux– Comparaţie - GT, GE, EQ, LE, LT, NE– Şiruri de caractere - Len, Left, Right, Mid, Concat, Insert, Delete, Replace, Find– Control - JMP, LBL, JSR, RET

Extinderea setului de instrucţiuni IEC1131-3

Toate operaţiile complexe sunt lăsate pentru a fi definite de producător sau utilizator– Operaţiile cu fişiere, PID, diagnostic, bucle

For/Next, căutările, sortările nu sunt în IEC1131-3– Sunt permise extensii astfel încât producătorii să

vină în întâmpinarea cerinţelor clienţilor– Toţi producătorii au definite propriile lor extensii

Bibliografie

Ron Bliss, Introduction to IEC1131-3 LadderDiagram, Allen-BradleySR EN 61131-3, Automate programabile. Partea 3. Limbaje de programareC.G.Haba, Sisteme de comandă a maşinilor electrice, Ed. Gh.Asachi, Iaşi

1

Automate programabile

Limbajul de programare de tip “Text structurat” (ST)

Operatori în ST

Simbol Operaţie

(expresie) Evaluarea parantezei

identificator(listă de parametri) Evaluarea funcţiei

Exemple:

LN(A), MAX(X,Y), etc.

** Ridicare la putereExponentiation

- Negare

NOT Complement

Operatori în ST

* Înmulţire

/ Împărţire

MOD Modulo

+ Adunare

- Scădere

< , > , <= , >= Comparare

= Egalitate

<> Inegalitate

Operatori în ST

& SI logic

AND SI logic

XOR SAU-EXCLUSIV

OR SAU logic

Instrucţiunea de atribuire

A := B;

Instrucţiunea de atribuire

A := B;

Tip dată la tip datăINT la INT

sauConfiguratie_Canal_Analogic la

Configuratie_Canal_Analogic

Instrucţiuni de control şi buclare

IF .. THEN .. ELSE

CASE

FOR

WHILE …

REPEAT UNTIL

Instrucţiunile IF .. THEN .. ELSE

IF conditie= true THEN actiune1ELSE actiune2 (condiţia nu e adevarată)

IF ploua THEN Stai_acasa ELSE Mergi_La_Plimbare

Instrucţiunile IF .. THEN .. ELSE

D := B*B - 4*A*C ;IF D < 0.0 THEN NROOTS := 0 ;ELSIF D = 0.0 THENNROOTS := 1 ;X1 := - B/(2.0*A) ;

ELSENROOTS := 2 ;X1 := (- B + SQRT(D))/(2.0*A) ;X2 := (- B - SQRT(D))/(2.0*A) ;

END_IF ;

Instrucţiunea CASE : IF repetitiv

CASE selector OFvaloare_selector : actiune

ELSE …..END_CASE;

Instrucţiunea CASE : IF repetitiv

TW := BCD_TO_INT(THUMBWHEEL);TW_ERROR := 0;

CASE TW OF1,5: DISPLAY := OVEN_TEMP;2: DISPLAY := MOTOR_SPEED;3: DISPLAY := GROSS - TARE;4,6..10: DISPLAY := STATUS(TW - 4);

ELSE DISPLAY := 0 ;TW_ERROR := 1;

END_CASE;QW100 := INT_TO_BCD(DISPLAY);

Instrucţiunea FOR

SUM := 0 ;

FOR valoare_initiala TO valoare_finala DO

END_FOR ;

Instrucţiunea FOR

SUM := 0 ;

FOR I := 1 TO 3 DOFOR J := 1 TO 2 DO

SUM := SUM + J ;END_FOR ;SUM := SUM + I ;

END_FOR ;

Instrucţiunea FOR

J := 101 ;

FOR I := 1 TO 100 BY 2 DOIF WORDS[I] = 'KEY' THENJ := I ;EXIT ;END_IF ;

END_FOR ;

Instrucţiunea WHILE

J := 1;

WHILE J <= 100 & WORDS[J] <> 'KEY' DOJ := J+2 ;

END_WHILE ;

Instrucţiunile REPEAT … UNTIL

J := -1 ;

REPEATJ := J+2 ;

UNTIL J = 101 OR WORDS[J] = 'KEY'END_REPEAT ;

Instrucţiunile EXIT şi RETURN

Instrucţiunea EXIT va fi folosită pentru a termina interaţiile înainte să fie satisfăcută condiţia de încheiere a iteraţiilor.

SUM := 0 ;FOR I := 1 TO 3 DO

FOR J := 1 TO 2 DOIF FLAG THEN EXIT ; END_IF

SUM := SUM + J ;END_FOR ;

SUM := SUM + I ;END_FOR ;

Bibliografie

E. van der Wal, Structured Text - a high level language,

www.plcopen.org

SR EN 61131-3, Automate programabile. Partea 3.

Limbaje de programare

C.G.Haba, Sisteme de comandă a maşinilor electrice, Ed.

Gh.Asachi, Iaşi

1

Structura automatelor programabile

Introducere

Automatul programabil se poate prezenta sub formă:– monolitică – un ansamblu de blocuri funcţionale care sunt grupate în jurul unei

căi de comunicaţie (magistrală internă). În acest caz, fiecare bloc poate fi realizat fizic sub forma unui modul specific. Organizarea modulară permite atât o flexibilitate crescută în configurarea AP în funcţie de necesităţile utilizatorului cât şi o depanare şi o întreţinere mai uşoară. Un AP este un calculator industrial care a fost adaptat din punct de vedere al hardware-lui şi al software-lui pentru a fi utilizat în anumite aplicaţii specifice

Tipurile de AP

Tip Rack

Tip Extensibil

Modulare

Tip Micro

CompacteTip Mini

Dimensiunile AP

AP Micro : < 32 I/OAP Mici: 32-128 I/OAP Medii: 128 -1024 I/OAP Mari: 1024 - 4096 I/OAP Foarte Mari: 4096- 8192 I/O

Elementele componente ale AP

Unitatea centrală de prelucrareProgramatorul/MonitorulModule de intrare/ieşireSertare şi carcase

şi opţionalImprimantăUnităţi de stocare a informaţiei

Elementele componente ale AP

Unitatea centrală de prelucrare

ConţineProcesorulMemoriaSursa de alimentare

Procesorul

Unul sau mai multe microprocesoare care realizează:

calcule aritmetice şi logice;Comunicaţia şi interacţiunea dintre celelalte componente.

Memoria

Aceasta poate fi de mai multe tipuri:ROMRAM

Memoria

ROM (read only memory) – această memorie este utilizată pentru stocarea sistemului de operare al AP;RAM (random access memory) – este împărţită în mai multe blocuri având fiecare o utilizare specifică.Sunt păstrate:

– imaginile ieşirilor şi intrărilor AP, – valorile prestabilite şi actuale ale temporizatoarelor şi contoarelor, – zona de lucru a procesorului, – zona de stocare a programului, – alte zone de memorie având destinaţie specială.

Memoria RAM îşi pierde conţinutul la întreruperea sursei de alimentare de aceea, pentru menţinerea programului şi a datelor stocate în aceasta, AP trebuie să aibă prevăzută o sursă de alimentare auxiliară (baterie).

Sursa de alimentare

Realizează adaptarea şi conversia tensiunii alternative în tensiune continuă pentru alimentarea diferitelor elemente ale AP.Poate furniza o tensiune pentru alimentarea elementelor conectate la intrări şi ieşiri (senzori, elemente de execuţie etc)

Programatorul/Monitorul

Acesta este un dispozitiv care comunică cu elementele AP şi care permite transferarea programului de aplicaţie în memoria AP, monitorizarea şi vizualizarea funcţionării AP. Programatorul poate fi: – un programator manual, – un terminal industrial – un calculator personal.

Module de intrare/ieşire.

Aceste module sunt dispozitive prin care AP comunică cu sistemul de acţionare sau instalaţia pe care trebuie să le comande şi cu mediul exterior.

Sertare şi carcase.

Aceste elemente permit montarea într-un ansamblu unitar a elementelor AP.

Imprimantă

Imprimantele sunt folosite pentru listarea programului de aplicaţie după care funcţionează AP şi a altor mesaje şi informaţii legate de sistemul comandat.

Unităţi de stocare a informaţiei

Sunt folosite ca dispozitive de stocare secundare pentru: – programul de aplicaţie din memoria AP – alte date şi informaţii utile pentru salvarea acestora sau încărcarea

lor pe/de pe suportul magnetic (bandă sau disc magnetic). Programele de aplicaţii pot fi realizate şi înregistrate pe suport magnetic în laboratoare de dezvoltare a aplicaţiilor de bază pentru AP şi apoi încărcate în memoria AP aflate în sistemele de comandă plasate în halele de producţie. Versiunile mai vechi de AP erau dotate cu casetofoane. Versiunile recente utilizează unităţi de disc flexibil sau unităţi de disc dur sau memorii de tip flash.

Modulele de intrare/ieşire totul sau nimic (digitale)

Semnalele sunt de tip logicValorile tipice sunt:

– “0” logic = 0 V– “1” logic =

5 V cc12 V cc

24 V cc

48 V cc

12 V ca

24 V ca

120 V ca

240 V ca

Modulele de intrare digitale

Permite unităţii centrale a AP să efectueze o citire a stării logice a traductoarelor sau senzorilor care îi sunt asociaţi. Modulele au în general 4, 8, 16 sau 32 de intrări.

Fiecărei intrări îi corespunde o cale care prelucrează semnalul electric pentru a elabora o informaţie binară, bitul de intrarecare este memorat.

Modulele de intrare digitale

Schema bloc a căii de semnal pentru o intrare digitală

Modulele de intrare digitaleAnsamblul de biţi de intrare formează cuvântul de intrare. Periodic, procesorul automatului adresează (citeşte modulul), conţinutul cuvântului de intrare este astfel copiat în zona de date ale automatului.

Fiecare cale este filtrată împotriva paraziţilor şi a contactelor imperfecte şi izolate electric pentru a mări fiabilitatea şi securitatea sistemului (izolare galvanică).

Un modul de intrare este definit în principal prin numărul de intrări pe care le are şi caracteristicile electrice acceptate (tensiune, tipul curentului etc.).

Structura şi conectarea senzorilor (cu 3 fire) la intrările digitale tip NPN

Vcc senzor

Masasenzor

Maro

Negru

Albastru

Structură NPN cu 3 fire

Structură NPN cu 3 fire

APAP

+24 V AP

0V APMasa internă

Vcc intern

In NPN

Masă senzor

Negru

Albastru

Structură NPN 2fire

Structură NPN 2fire APAP

+24 V AP

0V APMasă internă

Vcc intern

In NPN

Structura şi conectarea senzorilor (cu 2 fire) la intrările digitale tip NPN

Structura şi conectarea senzorilor (cu 3 fire) la intrările digitale tip PNP

APAP

+24 V AP

In PNP

0V APMasă internă

Vcc senzor

Masă senzor

Maron

Negru

Albastru

Structură PNP cu 3 fire

Structură PNP cu 3 fire

Structura şi conectarea senzorilor (cu 2 fire) la intrările digitale tip PNP

Vcc senzor Maron

Negru

Structură PNP 2 fireStructură PNP 2 fire APAP

+24 V AP

In PNP

0V AP Masă internă

Module de numărare de mare viteză

Sunt module de intrare digitale care au de îndeplinit funcţia de numărare a impulsurilor aplicate la intrarea modulului. Informaţia transmisă către memoria automatului, atunci când AP va adresa acest modul, va fi numărul de impulsuri sosite de la ultima adresare sau numărul total de impulsuri numărate de la iniţializare. Sunt utilizate în general pentru numărarea impulsurilor cu frecvenţă mare provenind de la senzori, encodere, sau contacte. Utilizarea modulelor de numărare de mare viteză uşurează munca programatorului deoarece el poate degreva unitatea centrală a AP de astfel de funcţii care consumă din puterea şi timpul de calcul al acesteia.

Modulele de ieşire digitale

Un modul de ieşire permite automatului programabil să acţioneze asupra elementelor de acţionare. Realizează corespondenţa: stare logică - semnal electric. Periodic, procesorul adresează modulul de ieşire şi realizează înscrierea biţilor unui cuvânt de memorie pe căile de ieşire ale modulului.Elementele de comutaţie ale modulului sunt

– electronice ( tranzistoare şi triacuri )– electromecanice (contacte de relee interne modulului).

Modulele de ieşire digitale

Ieşirile cu tranzistoare sunt utilizate în cazul comenzii dispozitivelor de c.c. Ieşirile cu triacuri sunt folosite pentru comanda dispozitivelor de c.a. Ieşirile cu relee pot fi utilizate atât pentru comanda dispozitivelor de c.c. cât şi a celor de c.a.Modulele care au număr mare de ieşiri

– au avantajul că prin utilizarea lor se ocupă mai puţine locuri pe magistrala automatului.

– au dezavantajul că nu pot furniza un curent mare de comandă pentru ieşiri.

Modulele de ieşire digitale

Schema bloc a căii de semnal pentru o ieşire digitală

Ieşire digitală electromecanică

Electromecanică cu releu

Yx

Cx

R

C

AP

250V – 2A minim

Ieşiri digitale de tip static

Statică de c.a.

AP

µCOpto-Triac/tiristor

Yx

Cx

Statică de c.c.

AP

µC

Yx

CxOpto-Tranzistor Bipolair NPN / PNP

Modulele de intrare/ieşire analogice

Având în vedere că AP sunt dispozitive numerice, modulele analogice trebuie să realizeze o corespondenţă între mărimi analogice (curenţi sau tensiuni) şi valori numerice. Rezoluţia (cea mai mică valoare de curent sau tensiune) este dată de numărul de biţi utilizaţi pentru codificarea numerică. O altă caracteristică a unui astfel de modul este viteza de conversie.

Modulele de intrare analogice

Există două tipuri de module de intrare analogice:– intrări analogice care realizează detectarea

depăşirii unui prag de tensiune sau curent,– intrări analogice de măsură.

Modulele de intrare analogice cu detecţie de prag

Schema bloc a căii de semnal pentru o intrare analogică cu detecţie de prag

Modulele de intrare analogice de măsură

Modulele sunt prevăzute cu circuite de conversie analog numerică (A/N). Modulele de intrare analogice de măsură de tensiune pot fi

– unipolare (primesc la intrare numai tensiuni pozitive în general 0÷10V) – bipolare (primesc la intrare tensiuni negative şi pozitive în general -

10÷+10V). Modulele de curent sunt unipolare şi primesc la intrare curenţi în general în gama 4÷20mA. Există posibilitatea reglării atenuării sau amplificării semnalului de intrare ceea ce permite mărirea domeniului de măsură. Un astfel de modul poate sau nu să efectueze o serie de operaţiuni de liniarizare a semnalului de intrare înainte de a fi scris cuvântul de intrare în memorie.

Modulele de intrare analogice de măsură

Schema bloc a căii de semnal pentru o intrare analogică de măsură

Modulele de ieşire analogice

Fiecare ieşire este imaginea analogică a valorilor numerice codificate pe un grup de biţi (8 sau 12) definit de program. Modulele analogice de ieşire permit conectarea AP la elemente de preacţionare (variatoare de putere, variatoare de viteză,...) pentru a realiza funcţii de comandă şi de reglare. Fiecare ieşire este definită prin natura semnalului furnizat şi prin limitele sale (0-10V, 4-20 mA).

Modulele de ieşire analogice

Schema bloc a căii de semnal pentru o ieşire analogică

Module de intrare/ieşire la distanţă

Folosite în cazul în care instalaţia comandată prin intermediul AP este formată din mai multe echipamente care sunt amplasate în locuri diferite aflate la o anumită distanţă unul faţă de celălalt şi faţă de AP. Caracteristici:

– calea prin care este transmisă informaţia– distanţa de la care se realizează această transmisie.

Transmisia informaţiei se face prin intermediul unei legături prin:– cablu torsadat (distanţe de sute de metri) – cablu cu fibre optice (distanţe de kilometri)

Utilizate datorită imunităţii crescute la perturbaţii.

Modulele de comunicare

Cea mai utilizată legătură pentru dialog între AP şi elementele periferice (terminale de programare sau exploatare, imprimante, ...), este cea serie. Acest mod de comunicare permite schimbul de caractere compuse din biţi transmişi unul după altul pe linia de comunicare. Viteza de transmisie se exprimă în biţi pe secundă (bauds).

Module de comunicare cu server

Aceste module sunt utilizate pentru a permite AP să realizeze o comunicaţie bidirecţională cu un server care poate fi un PC sau un alt AP. În general, comunicarea de la server la AP prin intermediul acestor module este folosită pentru programarea AP. Pot fi modificaţi anumiţi parametri în program sau chiar întregul program existent în memoria AP. În sens invers, AP poate să transmită serverului o serie de informaţii care pot fi folosite de acesta pentru a determina durata unor procese, încheierea anumitor etape, apariţia unor situaţii de funcţionare necorespunzătoare.De obicei aceste module permit comunicarea AP cu serverul prin intermediul unei legături seriale de tip RS232.

Module de comunicare de la egal la egal (peer-to-peer)

Modulele de la egal la egal sunt utilizate pentru a permite comunicare AP între ele. Informaţiile pe care acestea le schimbă între ele sunt utilizate pentru obţinerea unei funcţionări în care AP să coopereze în vederea îndeplinirii unor sarcini.

Module de comunicare ASCII

Au capacitatea de a recepţiona şi a transmite informaţia codificată folosind fişiere în cod ASCII.Avantajul acestor module este faptul că pot fi folosite pentru a realiza interfaţa dintre AP şi alte echipamente care recunosc informaţia în cod ASCII cum ar fi imprimantele sau terminalele de dialog cu utilizatorul.

Module pentru controlul poziţiei

Aceste module sunt utilizate în cadrul aplicaţiilor care necesită poziţionarea spaţială a unor elemente componente prin intermediul unor elemente de acţionare. Modulele pot fi utilizate pentru controlul poziţiei în sisteme în – buclă deschisă– buclă închisă.

Module de poziţionare în buclă deschisă

În această categorie intră modulele de control a poziţiei bazate pe utilizarea motoarelor pas cu pas (MPP). Asigură o serie de funcţii, în special de accelerare şi încetinire Este mult uşurată comanda MPP cu ajutorul AP în aplicaţii ce implică poziţionarea precisă în două sau trei axe.Alte funcţii:

– poziţionare a sistemului într-o poziţie iniţială – protecţie a sistemului prin limitarea cursei anumitor elemente

mobile.

Module de poziţionare în buclă închisă

Utilizate pentru comanda maşinilor cu comandă numerică, linii de asamblare automate sau robotică.Cele mai întâlnite aplicaţii presupun poziţionarea unei mese mobile care este acţionată de motoare de c.c. sau de c.a. Pentru închiderea buclei, în cazul controlului poziţiei se utilizează un encoder. Pentru reglajul vitezei, închiderea buclei este realizată cu ajutorul unui tahometru.

Module video

Folosite în special în aplicaţiile care necesită realizarea unor operaţii de inspecţie în cadrul procesului de fabricaţie.Se poate face un reglaj automat al procesului pentru eliminarea pieselor fabricate necorespunzător.

Module cititoare pentru codurile de bare

Utilizarea codurilor de bare pentru identificarea automată a devenit o practică curentă în cadrul liniilor de asamblare automată. Folosite pentru a codifica informaţia referitoare la diverse etape ale procesului de producţie/asamblare pentru a urmări traseul şi evoluţia anumitor produse în cadrul fluxului tehnologic. Permite ţinerea evidenţei exacte a stocurilor existente şi a celor care sunt în curs de a fi finalizate.Îmbogăţesc capacitatea unui AP cu funcţii ce permit citirea informaţiilor astfel codificate pentru a fi ulterior folosite în comanda instalaţiei.

Module pentru reglajul automat

AP pot fi utilizate în acest scop în cazul în care nu se urmăreşte aplicarea unor algoritmi de reglare de complexitate ridicată. Variante:

– utilizarea unor module de prelucrare speciale;– utilizarea modulelor de intrare/ieşire obişnuite şi materializarea

prin program a algoritmilor de reglaj.Cele mai utilizate module pentru reglajul automat sunt cele care implementează algoritmii de tip PID. Ajustarea sistemului se realizează prin reglarea potenţiometrelor care stabilesc parametrii buclelor de reacţie proporţională, diferenţială şi integrală.

Reglaj automat materializat prin program

În cazul în care bucla de reglare este materializată prin program, ajustarea sistemului se realizează prin modificarea unor parametri din program. În acest caz pentru intrări se utilizează module de intrare analogice obişnuite în timp ce pentru ieşiri se pot utiliza module de intrare analogice sau digitale.Există module prin care se materializează alţi algoritmi de reglare automată cum ar fi module pentru controlul folosind reacţia pozitivă sau folosind logica fuzzy.Ca şi în cazul reglării PID, ca urmare a creşterii puterii de calcul a unităţii centrale, aceşti algoritmi pot fi materializaţi prin programul automatului programabil.

Dispozitive de intrare/ieşire pentru interfaţa om-maşină

Funcţii:– (principală) cea de programare a AP. – monitorizarea funcţionării AP, – verificarea programului înscris în memoria AP– depanarea circuitului

Prin intermediul acestor terminale, operatorul uman poate introduce sau modifica programul unui AP la locul în care acesta se află, fără a mai fi nevoie de alte dispozitive sau aparate ajutătoare. Prin cuplarea terminalului, comportarea AP poate fi examinată în timpul funcţionării.Informaţiile necesare operatorului sunt afişate prin intermediul unui ecran cu:

– tub catodic– cu cristale lichide.

Dispozitive de intrare/ieşire pentru interfaţa om-maşină

Dimensiunile acestora pot varia de la câteva linii de caractere până la un ecran. În primul caz, dispozitivul de afişare va fi mai ieftin însă nu va permite decât afişarea unei porţiuni mici din programul AP şi un număr restrâns de informaţii legate de starea AP. Informaţiile către AP sunt introduse de către operatorul uman prin intermediul:

– unor butoane, – a tastaturii, – a ecranelor sensibile la atingere,– cititoarelor de coduri de bare.

Terminale simple

Dispozitive simple care au de cele mai multe ori doar un monitor şi o tastatură. Sunt dotate cu inteligenţă, întreaga funcţionalitate privind comunicarea dintre om şi maşină este înglobată în AP. Afişează informaţia transmisă de AP şi permit introducerea şi transmiterea informaţiei de la utilizator la AP. Transmiterea informaţiei prin intermediul acestor terminale se realizează în format ASCII. Avantaj: preţ de cost redus, terminalul poate fi utilizat cu o gamă largă de AP. Dezavantaj: nu permit încărcarea unui program sau modificarea acestuia în memoria AP. Utilizarea lor devine din ce în ce mai redusă.

Terminale industriale dedicate

Au încorporată o anumită inteligenţă care le permite să îndeplinească o parte mai mică sau mai mare din funcţiile amintite mai sus.

O serie de terminale permit scrierea directă a programului în memoria AP. O altă categorie de terminale sunt dotate cu memorie proprie astfel încât programul poate fi scris în această memorie după care el este transferat în memoria AP.

Mare parte din aceste dispozitive permit utilizatorului să depaneze programul scris chiar în timpul funcţionării acestuia. Pot fi introduse valori pentru intrările sau pentru ieşirile automatului astfel încât să se poată urmări funcţionarea acestuia în diverse situaţii.

Terminale industriale dedicate

Programatoare de mână

Sunt utilizate în general pentru programarea AP de dimensiuni mici. Cuplate la AP, ele pot afişa informaţii privind:

– starea AP, – starea intrărilori– starea ieşirilor, – valorile diferitelor variabile interne, – valoarea curentă şi cea prestabilită a numărătoarelor – valoarea curentă şi cea prestabilită a temporizatoarelor.

Programatoarele de mână pot fi folosite pentru depanarea AP prin monitorizarea funcţionării acestuia şi prin modificarea intrărilor, ieşirilor sau alţi parametri ai programului.Avantaje: dimensiunile mici care le fac portabile. Dezavantaje: au înglobată inteligenţă redusă, dimensiunea mică a ecranului de afişare (la un moment dat nu poate fi vizualizată decât o mică parte a programului din memoria calculatorului).

Programatoare de mână

Calculatoare personale

Datorită creşterii numărului de calculatoare personale disponibile, acestea au devenit în ultimul timp unul dintre celemai folosite dispozitive de interfaţă om maşină. Avantajele:

– permit programarea oricărui tip de AP cu condiţia să avem pachetul de programe corespunzător;

– în cazul în care calculatorul personal este de tip portabil, acesta permite programarea şi depanarea AP în locul de funcţionare;

– asigură o suprafaţă de afişare a informaţiei mare atât alb-negru cât şi color;

– permit păstrarea unor copii ale programului şi realizarea de verificări periodice pentru a vedea dacă programul în memoria AP nu s-a modificat datorită unor semnale perturbatoare;

Calculatoare personale (avantaje)

– permit documentarea programelor prin adăugarea de comentarii la liniile de program

– permit imprimarea documentaţiei la o imprimantă;– permit simularea funcţionării AP în vederea depanării

programului ce urmează a fi încărcat în memoria acestuia;

– asigură accesul la o gamă largă de dispozitive şi suporturi de stocare a informaţiei;

– permit utilizarea unor nume simbolice pentru intrări, ieşiri, variabile interne, temporizatoare sau numărătoare uşurând astfel înţelegerea programului AP;

– permit realizarea unor pachete de programe care să ofere informaţii bogate legate de starea de funcţionare a AP utile în procesul de depanare a acestuia.

Calculatoare personale

Alegerea unui AP

CriteriuNumărul de intrări şi ieşiri logiceMemoriaNumărul de module speciale de I/OPosibilităţile de extindereTimpul de scanarePosibilităţi de comunicaţiePachetele de programe softwareSuport tehnicPreţul

Exemplu de foaie de catalog`

1

Automate programabile

Elemente de programare

Utilizarea temporizatoarelor

Întârziere la închidere (on-delay)Motorul 1 va funcţiona atunci când întrerupătorul Start este acţionat.Motorul 2 va porni după o întârziere egală cu 10s realizată cu ajutorul temporizatorului de tip cu temporizare la închidere T01.

Diagrama de timp

Întârziere la deschidereMotorul M1 funcţionează în funcţie de starea întrerupătorului StartDupă ce motorul M1 a fost oprit, motorul pompei de lubrefiere mai funcţionează încă 20 de secunde

Întârziere la deschidere

Acţiune cu durată limitată

Motoarele M1 şi M2 pornesc în acelaşi timp la închiderea întrerupătorului Start.Motorul M2 va funcţiona numai pe durata a 20,5s stabilită de temporizatorul T01 după care se va opri.

Acţiune cu durată limitată

Acţiuni cu durată limitată

Motoarele M1, M2 şi M3 vor porni la închiderea întrerupătorului Start.Motorul M2 va funcţiona pe o durată limitată (20,5s) dată de temporizatorul T01Motorul M3 va funcţiona pe o durată limitată (41,5s) dată de temporizatorul T02

Acţiuni cu durată limitată

Semnalizare alternantă

Sistemul are 2 lămpi, L1 şi L2Când întrerupătorul Start este închis, cele două lămpi se vor aprinde alternativ pe o durată de 0,5s.Funcţionarea alternantă este obţinută utilizând temporizatoarele T01 şi T02 care se activează/dezactivează reciproc

Semnalizare alternantă

Întârzieri multiple

Sistemul comandă două motoare M1 şi M2Motorul M1 porneşte după închiderea întrerupătorului Start cu o întârziere de 10s realizată de temporizatorul T01Motorul M2 porneşte după închiderea întrerupătorului Start cu o întârziere de 15sÎn prima variantă temporizarea realizată de T02 pentru motorul M2 este independentă de T01În varianta a doua T02 este activat de T01 realizând doar o diferenţă de 5 secunde

Întârzieri multiple

Varianta 1 Varianta 2

Temporizări la închidere

Sistemul este folosit pentru asigurarea iluminării limitate după oprirea iluminării într-o clădire cu parcareDupă oprirea iluminării în clădire (LCladire), se asigură iluminarea pe holuri (LUsa) încă 40s (cu ajutorul lui T01)pentru a permite ajungerea în parcarea de la subsolDin momentul opririi iluminatul în clădire, se asigură încă 3 min de iluminare a parcării după stingerea luminii pe holuri (LParcare) cu ajutorul temporizatorului T02

Temporizări la închidere

Temporizare într-un interval de timp

Utilizarea numărătoarelor

Există 3 tipuri de numărătoare– crescător– descrescător– bi-direcţional

Numărarea evenimentelor

Intrarea Detect este corespunde unui detector de prezenţă a unor obiecte. Fiecare obiect detectat determină apariţia unui impuls la intrarea numărătoruluiButonul Zero poate fi utilizat pentru resetarea numărătoruluiManipulatorul M1 este activat după detectarea a 10 obiecte

Numărare crescătoare

Numărare descrescătoare

Parte a unei linii de ambalare sistemul de comandă urmăreşte ambalarea a 100 de obiecte pe o bandă rulantăNumărarea este descrescătoare. Când numărătorul ND2 ajunge la 0 (au fost detectate 100 obiecte) se dă comanda de ambalare.Încheierea operaţiei de ambalare (amb_ok) determină reîncărcarea numărătorului cu valoarea 100, corespunzătoare numărului de obiecte ce urmează a fi detectate şi ambalate

Numărare descrescătoare

Două numărătoare

Parte a unei linii de ambalare care presupune ambalarea a 40 obiecte de tip A cu 60 obiecte de tip B. Obiectele vin pe benzi rulante diferite, sunt detectate de detectoarele Detect1 şi Detect2 şi numărate de numărătoarele crescătoare N1 şi N2Când este îndeplinită condiţia (40 A şi 60 B) se activează procesul de ambalare. Sfârşitul acestuia (amb_ok) resetează numărătoarele N1 şi N2 pentru următoare operaţie de ambalare

Numărare bidirecţională

Parte a unui sistem de comandă a barierelor unei parcări cu plată cu maxim 30 de locuri.Evidenţa locurilor libere este ţinută de numărătorul bidirecţional NCD1. Intrarea în parcare (ridicarea barierei de intrare BIntrare activă) este posibilă dacă sunt locuri libere (Plina’) şi dacă a fost făcută o cerere de intrare (CIntrare). Fiecare intrare descreşte valoarea numărătorului.Ieşirea din parcare (ridicarea barierei BIesire activă) este posibilă dacă s-a făcut cererea de ieşire CIesire (s-a plătit suma corespunzătoare).Prin modificarea valorii numărătorului se pot asigura un număr de locuri de parcare rezervate.

Numărare bidirecţională

Numărare şi temporizare

Parte a unui sistem de comandă cu poziţionarea unui profil semifabricat în funcţie de repere echidistante. Un senzor sesizează trecerea prin dreptul reperelor. Numărătorul N1 sesizează trecerea prin dreptul a 20 de repere stabilind astfel poziţia la care trebuie sudată o piesă. Operaţia de sudare nu trebuie să dureze mai mult de 20s.

Numărare şi temporizare

Temporizare şi numărare

1

Automate programabile

Diagrame funcţionale secvenţiale (SFC)

Introducere

SFC – sequential functional chart (diagrame funcţionale secvenţiale)Metodă grafică puternică pentru descrierea comportării secvenţiale a programului de comandăFolosit pentru partiţionarea unei probleme de comandăPermite o viziune de ansamblu ceea ce ajută la depanarea rapidăElementele de bază sunt Etapele care au blocuri de acţiuni şi TranziţiiPermite ramificarea şi execuţia în paralel a secvenţelor

Avantajele SFC

Partiţionarea grafică a procesului în elemente structurale EtapeExecuţie repetată mai rapidă a elementelor logice individualeReprezentare grafică simplăTimp redus de scriere şi depanare a programuluiDetectarea mai rapidă a erorilorPosibilitate de actualizare şi îmbunătăţire uşoară

Etapele

Corespunde unei situaţii în care comportamentul sistemului este invariabil în raport cu intrările şi ieşirile saleO etapă este activă sau inactivăStarea internă a unui sistem, o situaţie, este dată de mulţimea etapelor active la momentul respectiv.O diagramă SFC reprezintă sub o formă statică mulţimea situaţiilor posibile. În funcţionarea dinamică a sistemului doar o situaţie este obţinută la un moment dat.

Exemple de reprezentare a etapelor

Tranziţii

Indică posibilitatea evoluţiei de la o situaţie la alta. Trecerea de la o situaţie la alta se face prin depăşirea tranziţiei

Tranziţii

Acţiuni

Acţiunea/acţiunile asociate unei etape nu este efectuată decât dacă etapa respectivă este activăReceptivitatea unei tranziţii este o funcţie logică ce depinde de intrări, variabile auxiliare şi activitatea sau inactivitatea uneia sau mai multe etape.Conexiunile se execută între etape şi tranziţii şi între tranziţii şi etape

Atribute ale acţiunilor

Atribute ale acţiunilorN non-stored(fără memorie) – acţiunea este activată atât timp cât etape este activăR reset – acţiunea este dezactivată indiferent de orice altă activareS set/stored – acţiunea este activată şi rămâne activată şi după ce etapa este dezactivată. De obicei necesită dezactivarea folosind atributul R (reset) L time limited (limitare în timp) acţiunea este activată pentru un interval de timp specificat sau până etapa este dezactivatăD time delayed (întârziere) – acţiunea este activată după perioada de timp specificatăP pulse – acţiunea este activată pentru a fi executată o singură dată când etapa este activată şi posibil încă o dată când etapa este dezactivată

Atribute ale acţiunilor

P0 (falling edge pulse) - acţiunea este activată atunci când etapa este dezactivatăP1 (raising edge pulse) – acţiunea este activată când etapa devine activăSD (stored, time delayed) – acţiunea este activată după un timp indiferent dacă între timp etapa este dezactivată şi poate fi dezactivată de o acţiune având atributul RDS (time delayed, stored) – acţiunea este activată după un timp dacă etapa este încă activă şi poate fi dezactivată de o acţiune având atributul RSL (stored, time limited) – acţiunea este activată pentru un interval de timp indiferent dacă între timp etapa a fost dezactivată

Atributul N

Atributul R

Atributul S

Atributul L

Atributul D

Atributul P

Atributul P0

Atributul P1

Atributul SD

Atributul DS

Atributul SL

Exemplu SFC

Reguli de evoluţie

Interpretarea diagramei pentru a reflecta comportamentul dinamic al unui sistem este realizată cu ajutorul a 5 reguli de evoluţie: Regula 1: Situaţia iniţială

– Situaţia iniţială caracterizează comportamentul părţii de comandă în raport cu partea de acţionare şi corespunde etapei de început a funcţionării părţii de comandă

Regula 1

Regula 2

Regula 2: Efectuarea unei tranziţii – O tranziţie este efectuată atunci când:

Tranziţia este validăCondiţia asociată tranziţiei este adevărată

Regula 3: Evoluţia etapelor active– Efectuarea tranziţiei produce simultan:

Dezactivarea tuturor etapelor anterioare legate la tranziţia respectivăActivarea tuturor etapelor următoare legate de tranziţia respectivă

Regula 2

Etapa 1 nu este activă deci tranziţia nu este validată

Regula 2

Etapa 1 este activă dar expresia tranziţiei este falsă.Tranziţia nu se efectuează.

Regula 2

Etapa 1 este activăşi expresia este adevăratăTranziţia se poate efectua

Regula 2-3

După efectuarea tranziţieietapa 1 a fost dezactivată,etapa 2 a fost activată

Regulile 2-3

Regula 2-3

Regulile 2-3

Regulile 2-3

Regula 4

Regula 4: Evoluţii simultane– Mai multe tranziţii care pot fi efectuate simultan sunt

efectuate simultan

Regula 4

2 10

3 11

a.X10 *(2) a.X2*(1)

Regula 4

102

3 11

a*(3)

Regula 4

2

4

1

3

c

c

*

*

Regula 5

Regula 5: Activarea şi dezactivarea simultană

– Dacă în cursul funcţionării o etapă trebuie să fie activată şi dezactivată, ea rămâne activă

Regula alternanţei

Trebuie întotdeauna respectată alternanţa etapă-tranziţie şi tranziţie-etapă indiferent de secvenţa parcursă

Erori de sintaxă

Erorile de sintaxă pot să ducă la diagrame care sunt ambigue (pot fi interpretate în moduri diferite)

Ambiguitate

Utilizarea evenimentelor

Configuraţii elementare

Reprezentări complexe pot fi descompuse în reprezentări elementareReprezentările elementare corespund unor funcţionalităţi elementare

Secvenţă

Este alcătuită dintr-un grup de etape care se execută una după alta

Secvenţă

Selecţie de secvenţă

O selecţie de secvenţă reprezintă o alegere între o cale (o etapă sau un grup de etape) şi altă cale ceea ce corespunde unei structuri de tip SAU)Doar o singură cale va fi executată

Selecţia unei secvenţe

Selecţia unei secvenţe

Secvenţe paralele

Secvenţele paralele reprezintă căi de execuţie care se execută în acelaşi timp ele reprezentând o structură de tip SIÎn cazul acestei secvenţetoate căile se executătoate căile trebuie să se încheie înainte de a se trece mai departe în cadrul diagramei

Secvenţe paralele

Salt de etape

Reluarea unei secvenţe

Rafinarea descrierii

Rafinarea descrierii (II)

1

Limbajul de programare de tip “Listă de instrucţiuni” (IL)

Generalităţi

Funcţionarea AP se bazează pe executarea de către procesorul unităţii centrale a unui set de instrucţiuni. Instrucţiunea este cea mai mică unitate independentă de program fiind formată din simbolul sau denumirea operaţiei şi operandul sau operanzii.

În cazul AP, operaţiile cele mai des utilizate sunt cele ale algebrei booleene: – ŞI (AND, *), – SAU (OR, +), – NU (NOT, N), – ŞI-NU (NAND, ANDC), – SAU-NU (NOR, ORC), – SAU-EXCLUSIV (XOR) la care se adaugă – operaţiile de temporizare, numărare şi memorare.

Extensii ale operaţiilor de bază

În ultimul timp, datorită creşterii capacităţii de prelucrare şi a vitezei de execuţie, la operaţiile de bază au fost adăugate: operaţii aritmetice cum sunt adunarea, înmulţirea, împărţirea, operaţii logice pe mai mulţi biţi cum sunt deplasări la stânga şi la dreapta,operaţii de conversie a informaţiei dintr-un cod într-altul,funcţii de memorare de tip bistabil,alte funcţii speciale specifice AP.

Tipuri de operanzi

Operanzii acestor instrucţiuni sunt:– intrări (notate cu I, X sau IN), – ieşiri (notate cu E, Y sau OUT), – elemente de memorare (notate cu M) - modelează releele intermediare din

schemele electrice cu contacte, – elemente de temporizare (notate cu T)– elemente de numărare/contorizare (notate cu C).

operanzii sunt în corespondenţă directă cu resursele fizice pe care AP le are la dispoziţie: intrări, ieşiri, variabile intermediare (în strânsă legătură cu dimensiunea memoriei de lucru a AP), temporizatoare şi numărătoare implementate prin program sau prin circuite şi module specializate.corespondenţă indicată prin alăturarea la notaţiile prezentate anterior a unui identificator numeric care arată numărul resursei respective

Exemple de identificatori

Varianta 1:– primele două cifre ale părţii numerice =modulul pe care se află

resursa corespunzătoare variabilei respective (intrare, ieşire etc). – a treia cifră = resursa (numărul de ordine) în cadrul modului

precizat de primele două cifre.

Varianta 2:– identificatorul modulului şi numărul de ordine sunt separate de

punct.

Exemple de identificatori

Varianta 3:– variabilele de intrare, de ieşire şi de memorie nu sunt identificate

prin nici un simbol. – Faptul că o variabilă este de intrare, de ieşire sau de memorie

este identificat prin prima cifră a numărului de identificare. Aceasta corespunde modului de alocare a locaţiilor din memoria de lucru a AP.

– Adresele începând de la 000 sunt alocate intrărilor, adresele de la 200 sunt alocate ieşirilor şi adresele de la 400 sunt alocate variabilelor de memorie (relee interne).

Exemple de identificatori

Variabila Semnificaţia

Varianta 1 Varianta 2 Varianta 3

IN001 I 0.1 001 prima intrare a AP

OUT013 Q 0.3 203 a treia ieşire a AP

M010 M 0.10 410 a zecea variabilă intermediară

T002 T 0.2 T02 al doilea temporizator al AP

C001 C 0.1 C01 primul numărător al AP

Nume de instrucţiuni

De la apariţia AP, fiecare producător şi-a dezvoltat limbajul propriu de tip listă de instrucţiuni, alegerea numelor instrucţiunilor depinzând mult şi de limba vorbită de respectivii producători. Deşi se aseamănă între ele din punct de vedere funcţional, aceste limbaje au nume diferite şi folosesc pentru aceeaşi instrucţiune denumiri şi formate diferite.

Nume de instrucţiuni

Limbajul (Producătorul) Denumirea instrucţiunilor

AP-micro (IPA-Automatica)

AND, OR, ANDC, ORC,LD, LDC,STO, STOC, XOR, CMA, ZA, S, R, J, JC

PSE (AEG) *,+,-,=,E,A,S,R,Z,T,D,L

STEP (Siemens) U, UN, O, ON,=, S,R,ZV, ZR, L,T,M

SUCOS (Klockner-Moeller A, O, N, =

MELSEC (Mitsubishi) LD, LDI, AND, ANI, OR, ORI, MC, OUT, PLS, S, R, RST, ANB, ORB, NOP, END

Actsip-E (Hitachi) ORG, AND, OR, NOT, OUT, T/C, FUN

Exemplu. Schema electrică cu contacte

K1

S2

K3

K3

K4

S3

K2

L1

N

Exemplu. Program IL General Electric

Program

STR 000 AND NOT 001 OR 002AND 003OUT 200STR 200OUT 010

Observaţii

start sau memorare (primele două cifre ale identificatorului indică numărul modulului: 00 - modul de intrare,

01 - modul de ieşire)activare releu internvaloarea obţinută e trimisă la ieşirea 0 a

modulului 01

Exemplu. Program IL Kloeckner-Moeller

Program

L I 0.0AN I 0.1O I 0.2A I 0.3= M 0.0L M 0.0= Q 0.0

Observaţii

încarcă intrarea 0, modulul 0.SI-NUSAUSImarker, releu intern

Ieşire

Exemplu. Program IL Siemens

Program

U E 0.0UN E 0.1O E 0.2U E 0.3= M 0.0O M 0.0= A 0.0

Observaţii

E:Eingang, intrareUN: Und Nein, ŞI-NUO: Oder, SAUUndM: merker, releu intern

A: Ausgang, ieşire

Exemplu. Program IL Telemecanique

Program

L I 0.0AN I 0.1O I 0.2A I 0.3= B 10L B 10= O 0.0

Observaţii

Instrucţiunile sunt abrevieri ale denumirilor engleze

B: Bit, releu intern

O: Ieşire

Exemplu. Program IL Hitachi

Program

ORG 000AND NOT 001OR 002AND 003OUT 400ORG 400OUT 200

Observaţii

start (variabilele de intrare încep de la adresa 000, variabilele de ieşire de la adresa 200 iar variabilele de tip marker - releu intermediar - de la adresa 400).

ieşirea se face pe releu internIeşire

Exemplu. Program IL Mitsubishi

LD X000ANDI X001OR X002AND X003OUT M000LD M000OUT Y000

Încărcare intrare X000SI-NU cu intrarea X001SAU cu intrarea X002SI cu intrarea X003releu internÎncărcare releu internIeşire

Limbajul IL în standardul IEC 61131-3

Lista de instrucţiuni este compusă dintr-o secvenţă de instrucţiuniFiecare instrucţiune începe pe o linie nouă şi conţine operatorul (opţional cu modificatori) şi dacă este necesar, unul sau mai mulţi operanziInstrucţiunea poate fi precedată de o etichetă urmată de caracterul “:”

Example de câmpuri ale instrucţiunilor

START: LD %IX1 (* BUTON START*)

ANDN %MX5 (* NEBLOCAT *)

ST %QX2 (* VENTILATOR PORNIT*)

Etichetă Operator Operand Comentariu

result := result OP operand

Operatori şi semnificaţia lor

LD Atribuie operandului rezultatul curentST Memorează rezultatul curent la locaţia

operanduluiS Atribuie operandului de tip Boolean

valoarea 1R Atribuie operandului de tip Boolean

valoarea 0

Operatori şi semnificaţia lor

AND SI logic

& SI logic

OR SAU logic

XOR SAU-EXCLUSIV logic

Operatori şi semnificaţia lor

ADD Adunare

SUB Scădere

MUL Înmulţire

DIV Împărţire

Operatori şi semnificaţia lor

GT Comparaţie : >

GE Comparaţie : >=

EQ Comparaţie : =

NE Comparaţie : <>

LE Comparaţie : <=

LT Comparaţie : <

Operatori şi semnificaţia lor

JMP Salt la etichetă

CAL Apelul unui bloc funcţional

RET Întoarcere dintr-o funcţie sau bloc funcţional)

Exemplu de apel a unui bloc funcţional

1. CAL cu lista de intrări: CAL C10(CU:=%IX10, PV:=15)

2. CAL cu încărcarea/stocare intrărilor: LD 15ST C10.PVLD %IX10ST C10.CUCAL C10

3. Folosirea operatorilor de intrare:

LD 15PV C10LD %IX10CU C10

Tip de BF Operatori SemnificaţieSR S1,R Bistabil SRRS S,R1 Bistabil RSR_TRIG CLK Sesizare front crescătorF_TRIG CLK Sesizare front descrescătorCTU CU,R,PV Numărător crescătorCTD CD,LD,PV Numărător descrescătorCTUD CU,CD,R,LD,PV Numărător bidirecţionalTP IN,PT TemporizatorTON IN,PT Temporizator la închidereTOF IN,PT Temporizator la deschidere

Tipuri de blocuri funcţionale

Bibliografie

E. van der Wal Instruction List - an assembler type of

language, www.plcopen.org

SR EN 61131-3, Automate programabile. Partea 3.

Limbaje de programare

C.G.Haba, Sisteme de comandă a maşinilor electrice, Ed.

Gh.Asachi, Iaşi

1

Limbajul de programare de tip “Scheme cu contacte” (LD)

Originile limbajului LD

Limbajul bazat pe scheme cu contacte - Ladder Diagram (LD) – provine de la reprezentarea grafică folosită pentru schemele electrice de comandă

– Comenzile erau realizate cu ajutorul releelor

Limbajul LD a fost dezvoltat pentru a uşura crearea programelor şi menţinerea facilă a acestora

– reprezentări realizate cu calculatorul bazate pe reprezentarea grafică a schemelor cu contacte care erau uşor de înţeles

– se reduc costurile de învăţare a limbajului şi de suport tehnic

Scrierea programului în LD

Scrierea unui program în limbajul LD presupune desenarea unei diagrame (diagramă LD) similare unei scheme electrice cu contacte. Elementele componente ale diagramei LD modelează funcţionarea elementelor unei scheme cu contacte. Interpretarea funcţionării diagramei LD este similară interpretării schemelor electrice cu contacte.Elementele de bază utilizate pentru scrierea unui program în limbaj LD sunt:

– contactele, – bobinele, – temporizatoarele, – numărătoarele şi – blocurile funcţionale (funcţiile).

Contactele

Contactele sunt elemente de programare care modelează contactele aparatelor electrice de comutaţie. Ca şi în cazul acestora din urmă, contactele pot fi de tip n.d. (a) şi n.i. (b).

a) b)

IN001 IN002 IN003

Contactele

În cadrul unui program LD, contactele pot fi asociate intrărilor AP, ieşirilor AP sau unor variabile interne. La intrări pot fi conectate dispozitive care au două stări de funcţionare cum ar fi:

– contactele auxiliare ale contactoarelor şi releelor, – contactele n.î. sau n.d. ale butoanelor de comandă, – contactele n.î. sau n.d. ale limitatoarelor de cursă, – contactele n.î. sau n.d. ale detectoarelor de mărimi fizice, – contactele n.î. sau n.d. ale elementelor de protecţie, – ieşirile digitale ale unor aparate de măsură, protecţie sau

comandă, – ieşirile digitale ale altor AP sau sisteme de comandă etc.

Contactele

Pe lângă contactele obişnuite, unii producători pun la dispoziţia programatorilor şi alte elemente de programare corespunzătoare intrărilor AP, întâlnite, îndeosebi, în cazul circuitele numerice, cum ar fi: intrări cu memorie (latch), intrări active pe frontul crescător intrări active pe frontul descrescător.

Bobinele

Bobinele sunt elemente de programare care modelează funcţionarea bobinele contactoarelor şi releelor electromagnetice. Ca şi în cazul bobinelor din schemele electrice, bobinele din programele LD pot avea două stări: alimentate sau nealimentate.

a) b)

OUT 001 OUT 002 OUT 003

Bobinele

Ele pot fi asociate ieşirilor automatului dar şi unor variabile interne modelând astfel releele auxiliare din cadrul schemelor electrice cu contacte. Bobinele sunt elemente de programare care modelează funcţionarea bobinele contactoarelor şi releelor electromagnetice. Ca şi în cazul bobinelor din schemele electrice, bobinele din programele LD pot avea două stări: alimentate sau nealimentate. Ele pot fi asociate ieşirilor automatului dar şi unor variabile interne modelând astfel releele auxiliare din cadrul schemelor electrice cu contacte.

Bobinele

Fiecare ieşire este de identificată în mod unic, modul de identificare diferind de la un producător la altul. Fiecărei ieşiri i se asociază o singură bobină şi unul sau mai multe contacte ce pot fi utilizate în schemă în mod asemănător contactelor auxiliare ale contactoarelor şi releelor.La aceste ieşiri pot fi conectate dispozitive care au două stăride funcţionare cum ar fi:

– bobinele contactoarelor sau releelor, – elemente de semnalizare acustică sau luminoasă, – sarcini de putere mică, – intrările digitale ale unor aparate de măsură, protecţie sau

comandă, – intrările digitale ale altor AP sau sisteme de comandă etc.

Temporizatoarele

Temporizatoarele sunt elemente de programare care modelează funcţionarea releelor de timp şi a contactelor temporizate. Sunt utilizate pentru a realiza acţiuni întârziate sau ce durează un anumit interval de timp.

Validare

Iniţializare

IeşireNr. temporizator

Baza de timp

Valoareaprestabilită

Temporizatoarele

Producătorii de AP furnizează atât funcţii elementare de temporizare cât şi funcţii mai complexe. Temporizatoarele utilizate în programele LD au o flexibilitate şi o funcţionalitate mult mai mare decât temporizatoarele utilizate în schemele electrice.Temporizatoarele simple permit realizarea unei acţiuni întârziate cu un anumit interval de timp ce poate fi programat. Temporizatoarele complexe au în vedere obţinerea unor temporizări variabile, funcţie de anumite condiţii care apar la un moment dat.

Temporizatoarele

Fiecare temporizator din schemă este identificat în mod unic, modul de identificare fiind diferit de la un producător la altul. În cazul în care baza de timp este aceeaşi pentru toate temporizatoarele, precizată în manualul de programare a AP, aceasta este omisă. Valoarea prestabilită poate fi exprimată în unităţi de timp (s).Temporizatoarele au cel puţin o intrare de iniţializare, la activarea căreia începe temporizarea şi o ieşire. În unele variante, temporizatoarele sunt prevăzute şi cu o intrare de validare şi încă o ieşire care reprezintă negata primei ieşiri.

Numărătoarele

Numărătoarele sunt elemente de programare care poate primi o serie de impulsuri care sunt analizate în cadrul programului LD pentru a detecta numărul de apariţii ale unor evenimente cum ar fi:

– numărul de paşi efectuaţi de un motor pas cu pas, – numărul de conectări-deconectări ale unui aparat.– numărul de sticle care au fost umplute într-o staţie de

îmbuteliere, etc.Numărare Ieşire

Ieşire negată

Nr. numărător

Valoareprestabilită

Iniţializare

Numărătoarele

Numărul de evenimente poate fi comparat cu anumite valori prestabilite şi în funcţie de rezultatul acestor comparaţii pot fi luate anumite decizii şi date comenzile corespunzătoare.Există mai multe tipuri de numărătoare, printre cele mai uzuale fiind:

– numărătoarele unidirecţionale crescătoare– numărătoarele unidirecţionale descrescătoare şi – numărătoarele bidirecţionale care pot număra atât descrescător

cât şi crescător. Fiecare numărător din schemă este identificat în mod unic, modul de identificare fiind diferit de la un producător la altul.

Numărătoarele

Pentru fiecare numărător se precizează valoarea prestabilită, aceasta reprezentând valoarea maximă pe care o va număra numărătorul după care va activa ieşirea. Numărătorul are cel puţin două intrări, una de numărare şi una de iniţializare (la activarea acesteia numărătorul începe să numere impulsurile sosite la intrarea de numărare) şi o ieşire. Alte variante de numărătoare sunt prevăzute şi cu o intrare de validare şi o ieşire care reprezintă negata primei ieşiri.

Blocurile funcţionale

Pentru materializarea unor funcţii mai complexe menite să uşureze scrierea programelor în limbaj LD sunt utilizate blocurile funcţionale (BF). BF modelează diverse categorii de funcţii cele mai utilizate fiind:

– funcţii de încărcare a unor constante numerice,– funcţii aritmetice,– funcţii logice pe 8 sau 16 biţi,– funcţii de conversie a informaţiei din diferite formate (binar,

BCD, Gray etc),– funcţii de tratare a întreruperilor,

Blocurile funcţionale

– funcţii pentru detectarea fronturilor crescătoare sau descrescătoare a semnalelor,

– funcţii pentru realizarea controlerelor şi secvenţiatoarelor,– funcţii pentru actualizarea rapidă a intrărilor şi ieşirilor,– funcţii pentru comanda numărătoarelor de mare viteză.

Formatul şi modul de funcţionare a blocurilor funcţionale diferă de la un automat la altul, fiind specific fiecărui producător în parte.

Restricţii în scrierea programelor orientate pe scheme de contacte

Atunci când se realizează scrierea unui program LD pentru un automat programabil concret, trebuie să se ţină seama de limitările pe care pachetul de programe le poate avea:– limitări privitoare la formatul diagramei LD– limitări legate de modul de execuţie a programului

Limitări privitoare la formatul diagramei LD

Limitările ţin de:– proprietăţile intrinseci ale limbajului;– implementările specifice ale diferitelor pachete de

programe comerciale Sunt datorate soluţiilor tehnice adoptate de firmele producătoare pentru implementarea diverselor elemente ale limbajului.

Limitări privitoare la formatul diagramei LD

O parte a acestor limitări sunt prezentate în continuare:

– o bobină trebuie să fie alimentată întotdeauna prin intermediul unui contact;

– bobina trebuie să fie introdusă întotdeauna la capătul din dreapta al liniei;

– toate contactele trebuie să fie pe direcţie orizontală;– numărul contactelor pe o linie de alimentare a unei bobine

este limitat prin program;

Limitări privitoare la formatul diagramei LD

– un grup de contacte poate alimenta o singură bobină;– realizarea buclelor poate fi realizată într-un singur mod sau

poate să nu fie permisă;– sensul curentului prin circuit este de la stânga la dreapta

diagramei.

De obicei manualele de utilizare ale programelor conţin toate informaţiile necesare pentru ca utilizatorul să poată scrie programul în formatul acceptat de AP.

Limitări legate de modul de execuţie a programului

Funcţionarea AP se bazează pe execuţia repetată a programului pe care îl are înscris în memorie. Fiecare ciclu de execuţie a programului cuprinde 3 etape separate:

– citirea intrărilor– execuţia instrucţiunilor din program– actualizarea ieşirilor

Durata unui astfel de ciclu depinde atât de viteza procesorului cu care este dotat AP, cât şi de lungimea programului utilizatorului.

Limitări legate de modul de execuţie a programului

Etapa de citire a intrărilor, se citesc stările terminalelor de intrare în AP şi conform acestora se înscrie informaţia în tabelul intrărilor.Etapa de execuţie a instrucţiunilor din program, valorile intrărilor sunt folosite pentru execuţia instrucţiunilor, rezultatul acestora fiind înscrise în tabela ieşirilor.Etapa de actualizare a ieşirilor constă în transferarea informaţiei din tabela ieşirilor către terminalele de ieşire a automatului.Cele trei etape amintite mai sus se execută separat, modificarea semnalelor de la intrările AP în etapa a doua nu are efect asupra valorilor intrărilor folosite pentru execuţia instrucţiunilor. Ele vor fi folosite doar după ce vor fi citite în următoarea etapă de citire a intrărilor.

Limitări legate de modul de execuţie a programului

Dacă în etapa a doua, în urma execuţiei uneia sau mai multor instrucţiuni se modifică valoarea unei ieşiri în tabela de ieşiri, această modificare nu va apare efectiv la terminalul de ieşire corespunzător, decât în etapa a treia. Atunci se realizează actualizarea ieşirilor pe baza tabelei ieşirilor calculată în etapa de execuţie a instrucţiunilor care a precedat-o.În scrierea unui program în limbajul LD trebuie avute în vedere şi modul în care este interpretat programul scris.

Interpretarea programelor LD

Există două moduri de interpretare a unui program LD:– citirea se face pe linie - se citesc contactele pe

linie, de la stânga la dreapta, linie cu linie, începând cu prima linie şi terminând cu ultima;

– citirea se face pe coloană - se citesc contactele pe coloană, câte unul, de sus până jos, coloană cu coloană, începând cu prima coloană din stânga şi terminând cu ultima din dreapta.

Interpretarea programelor LD

În ambele situaţii trebuie să se aibă în vedere diferenţa faţă de schemele de comandă cu relee:

– Relee: O modificare în starea unui contact din circuitul de alimentare a bobinei unui contactor poate duce la modificarea imediată a stării acesteia indiferent dacă mai există sau nu alte elemente legate în serie sau paralel cu acel contact.

– Program LD: starea bobinei nu va fi modificată decât după ce se va citi starea tuturor elementelor prin care aceasta este alimentată.

Datorită vitezei mari de execuţie a procesorului, acest lucru nu pune în general nici o problemă. Ea trebuie considerată în cazurilor unor aplicaţii critice unde ar putea să apară o funcţionare diferită de cea dorită.

Interpretarea programului LD - Citirea pe linie

Interpretarea programului LD - Citirea pe coloană

Limbajul LD în standardul IEC 61131-3

Prin introducerea acestui limbaj în standardul IEC 61131-3 s-a căutat uniformizarea unui întreg set de limbaje care se proclamau a fi de tip scheme cu contacte.

Execuţia programului

Liniile programului sunt evaluate de la stânga la dreapta şi de sus în josRamificaţiile din cadrul unei linii sunt evaluate de la stânga sus la dreapta jos

P S

R

A

B

D E

F G H

I J K

Fază

Ramificaţie

Nul

Linie a programului

Bobine fără memorie

Bitul corespunzător elementului este pus în 0 când tensiunea de alimentare este oprită– Bobină -( )-

Pune bitul în 1 când linia este evaluată la 1 logic şi pus în 0 când linia este evaluată la 0 logic

– Bobină negată -( / )-Pune bitul în 0 când linia este evaluată la 1 logic şi pus în 1 când linia este evaluată la 0 logicÎn general nu e folosită datorită confuziei pe care o poate introduce

Bobine fără memorie

– Bobină Set (Latch) -(S)-Pune bitul în 1 când linia este evaluată la 1 logic şi nimic când linia este evaluată la 0 logic

– Bobină Reset (Unlatch) -(R)-Pune bitul în 0 când linia este evaluată la 1 logic şi nimic când linia este evaluată la 0 logic

Contacte

Contact normal deschis -| |-– Validează linia de program la dreapta elementului

dacă linia este validată în stânga acestuia şi bitul corespunzător e în 1 logic.

Contact normal închis -|/|-– Validează linia de program la dreapta elementului

dacă linia este validată în stânga acestuia şi bitul corespunzător este în 0 logic

Contacte

Contact activ pe frontul crescător -|P|-– Validează partea dreaptă a liniei de program

pentru un ciclu când partea stângă este validatăContact activ pe frontul descrescător -|N|-– Validează partea dreaptă a liniei de program

pentru un ciclu când partea stângă este invalidată

Operaţii cu memorare sau fără memorare

Definiţie– Valorile cu memorare îşi menţin valoarea şi după

un ciclu deconectare-reconectare la sursa de alimentare

– Valorile fără memorare iau valoarea iniţială (de obicei 0) după un ciclu deconectare-reconectarela sursa de alimentare

IEC 61131-3 permite valorilor să fie definite ca fiind cu memorare– În majoritatea AP-urilor doar temporizatoarele şi

bobinele sunt elemente cu memorare.

Bobine cu memorare

Bitul din memorie corespunzător rămâne nemodificat după întreruperea şi reconectarea alimentării– Bobină cu memorie -(M)-

Pune bitul în 1 când linia este validă şi o pune în 0 când este invalidă.

– Bobină Set cu memorare (Latch) -(SM)-Pune bitul în 1 când linia este validă şi nu face nimic când este falsă

– Bobină Reset cu memorare (Unlatch) -(RM)-Pune bitul în 0 când linia este validă şi nu face nimic când este falsă

Bobine activate pe front

Bobină activată pe frontul pozitiv -(P)-– Pune bitul în 1 logic când linia din stânga trece

din starea invalidă în starea validă– Bitul rămâne în această stare

Bobină activată pe frontul negativ -(N)-– Pune bitul în 0 logic când linia din stânga trece

din starea validă în starea invalidă – Bitul rămâne în această stare

Temporizatoare in LD

Există 3 instrucţiuni ce realizează funcţiile de temporizare în cadrul standardului IEC 61131-3

– TP – Temporizator tip impuls– TON – Temporizator la conectare– TOF – Temporizator la deconectare

Valorile timpului– Baza de timp este de 1ms (1/1000 s)– Valorile sunt introduse folosind formatul literal

Temporizatoare in limbajul LD

Două variante de vizualizare în funcţie de folosirea ieşirilor EN/ENO

– prima metodă necesită elemente suplimentare de programare dacă este necesară utilizarea stării temporizatorului în alte linii de program

– a doua metodă asociază un bit lui Q ce poate fi apoi folosit de alte linii de program, ENO=EN

TONIN

T#200ms

Pump_Tmr

PT ET 178

Q

TON

T#200ms

Pump_Tmr

PT ET 178

Q

IN ENO

Pump_Tmr_DN

Funcţionarea temporizatoarelor

INQ

ETPT|0

Temporizare tip impuls (TP)

INQ

ETPT|0

Temporizare la conectare (TON)

INQ

ETPT|0

Temporizare la deconectare (TOF)

IN = condiţia de intrare a linieiQ = ieşirea comparatorului

– diferă în funcţie de tipul de temporizator

PT = valoarea prestabilităET = timpul scurs de la activarea temporizatorului

Numărătoare în LD

Trei instrucţiuni cu funcţii de numărător în IEC 61131

– CTU – Numărător crescător– CTD – Numărător descrescător– CTUD – Numărător bidirecţional

Toate trei contorizează tranziţiile liniei

Numărătoare în LD

Două vizualizări posibile în funcţie de utilizarea ieşirilor EN/ENO

– prima metodă necesită elemente de programare suplimentare dacă starea temporizatorului este necesară în alte linii de program

– a doua metodă asociază ieşirii Q un bit care poate fi folosit în alte linii de program, ENO=EN

CTU

200

Load_Cnt

PV CV 178

Q

IN ENO

Load_Cnt_DNR

CTU

200

Load_Cnt

PV CV 178

QIN

R

Funcţionarea numărătoarelor

Parametri– CU/CD = Numărare

crescătoare/descrescătoare– Q/QU/QD = Ieşirea

comparatorului– R = Aducere în Zero– LD = Încărcarea CV cu PV– PV = Valoarea prestabilită– CV = Valoarea numărată de

la momentul activării

...INQ

CVPV|0

LD

...Numărător descrescător (CTD)

...INQ

CVPV|0

R

Numărător crescător (CTU) ...

Funcţionarea numărătoarelor

Parametri– CU/CD = Numărare

crescătoare/descrescătoare– Q/QU/QD = Ieşirea

comparatorului– R = Aducere în Zero– LD = Încărcarea CV cu PV– PV = Valoarea prestabilită– CV = Valoarea numărată de

la momentul activării

...

...

CVPV|0

CUQUCDQD

LDR

Numărător bidirecţional (CTUD)

Setul de instrucţiuni IEC1131-3

IEC 61131-3 furnizează un set de bază de instrucţiuni care să realizeze operaţiile de bază (81 instrucţiuni LD)

– Conversii ale tipurilor de date - Trunc, Int_to_Sint, Dint_to_Real, Bcd_To_Int …– Operaţii Booleene - Bit Test, Bit Set, One Shot, Semaphores …– Temporizatoare / Numărătoare - Ton, Tp, Ctu, Ctd, Ctud– Operaţii aritmetice simple - Add, Sub, Mul, Div, Mod, Move, Expt– Diferite operaţii matematice - Abs, Sqrt, Ln, Log, Exp, Sin, Cos, Tan, Asin, Acos, Atan– Deplasări de biţi - Shl, Shr, Ror, Rol– Operaţii logice - And, Or, Xor, Not– Selecţie - Sel, Max, Min, Limit, Mux– Comparaţie - GT, GE, EQ, LE, LT, NE– Şiruri de caractere - Len, Left, Right, Mid, Concat, Insert, Delete, Replace, Find– Control - JMP, LBL, JSR, RET

Extinderea setului de instrucţiuni IEC1131-3

Toate operaţiile complexe sunt lăsate pentru a fi definite de producător sau utilizator– Operaţiile cu fişiere, PID, diagnostic, bucle

For/Next, căutările, sortările nu sunt în IEC1131-3– Sunt permise extensii astfel încât producătorii să

vină în întâmpinarea cerinţelor clienţilor– Toţi producătorii au definite propriile lor extensii

Bibliografie

Ron Bliss, Introduction to IEC1131-3 LadderDiagram, Allen-BradleySR EN 61131-3, Automate programabile. Partea 3. Limbaje de programareC.G.Haba, Sisteme de comandă a maşinilor electrice, Ed. Gh.Asachi, Iaşi

1

Limbajul de programare de tip “Text structurat” (ST)

Operatori în ST

Simbol Operaţie

(expresie) Evaluarea parantezei

identificator(listă de parametri) Evaluarea funcţiei

Exemple:

LN(A), MAX(X,Y), etc.

** Ridicare la putereExponentiation

- Negare

NOT Complement

Operatori în ST

* Înmulţire

/ Împărţire

MOD Modulo

+ Adunare

- Scădere

< , > , <= , >= Comparare

= Egalitate

<> Inegalitate

Operatori în ST

& SI logic

AND SI logic

XOR SAU-EXCLUSIV

OR SAU logic

Instrucţiunea de atribuire

A := B;

Instrucţiunea de atribuire

A := B;

Tip dată la tip datăINT la INT

sauConfiguratie_Canal_Analogic la

Configuratie_Canal_Analogic

Instrucţiuni de control şi buclare

IF .. THEN .. ELSE

CASE

FOR

WHILE …

REPEAT UNTIL

Instrucţiunile IF .. THEN .. ELSE

IF conditie= true THEN actiune1ELSE actiune2 (condiţia nu e adevarată)

IF ploua THEN Stai_acasa ELSE Mergi_La_Plimbare

Instrucţiunile IF .. THEN .. ELSE

D := B*B - 4*A*C ;IF D < 0.0 THEN NROOTS := 0 ;ELSIF D = 0.0 THENNROOTS := 1 ;X1 := - B/(2.0*A) ;

ELSENROOTS := 2 ;X1 := (- B + SQRT(D))/(2.0*A) ;X2 := (- B - SQRT(D))/(2.0*A) ;

END_IF ;

Instrucţiunea CASE : IF repetitiv

CASE selector OFvaloare_selector : actiune

ELSE …..END_CASE;

Instrucţiunea CASE : IF repetitiv

TW := BCD_TO_INT(THUMBWHEEL);TW_ERROR := 0;

CASE TW OF1,5: DISPLAY := OVEN_TEMP;2: DISPLAY := MOTOR_SPEED;3: DISPLAY := GROSS - TARE;4,6..10: DISPLAY := STATUS(TW - 4);

ELSE DISPLAY := 0 ;TW_ERROR := 1;

END_CASE;QW100 := INT_TO_BCD(DISPLAY);

Instrucţiunea FOR

SUM := 0 ;

FOR valoare_initiala TO valoare_finala DO

END_FOR ;

Instrucţiunea FOR

SUM := 0 ;

FOR I := 1 TO 3 DOFOR J := 1 TO 2 DO

SUM := SUM + J ;END_FOR ;SUM := SUM + I ;

END_FOR ;

Instrucţiunea FOR

J := 101 ;

FOR I := 1 TO 100 BY 2 DOIF WORDS[I] = 'KEY' THENJ := I ;EXIT ;END_IF ;

END_FOR ;

Instrucţiunea WHILE

J := 1;

WHILE J <= 100 & WORDS[J] <> 'KEY' DOJ := J+2 ;

END_WHILE ;

Instrucţiunile REPEAT … UNTIL

J := -1 ;

REPEATJ := J+2 ;

UNTIL J = 101 OR WORDS[J] = 'KEY'END_REPEAT ;

Instrucţiunile EXIT şi RETURN

Instrucţiunea EXIT va fi folosită pentru a termina interaţiile înainte să fie satisfăcută condiţia de încheiere a iteraţiilor.

SUM := 0 ;FOR I := 1 TO 3 DO

FOR J := 1 TO 2 DOIF FLAG THEN EXIT ; END_IF

SUM := SUM + J ;END_FOR ;

SUM := SUM + I ;END_FOR ;

Bibliografie

E. van der Wal, Structured Text - a high level language,

www.plcopen.org

SR EN 61131-3, Automate programabile. Partea 3.

Limbaje de programare

C.G.Haba, Sisteme de comandă a maşinilor electrice, Ed.

Gh.Asachi, Iaşi

1

Automate programabile

Reţele industriale

Terminologie

TOPOLOGIE – Forma reţelei

CAN – Controler pentru accesul la reţea

PHY – Nivel fizic

MAC – Media Access Control

MULTICAST – Date trimise la mai multe destinaţii

ÎNCAPSULARE – Nivelul de date

Terminologie

DETERMINISM – Întârzierea maximă a datelor poate fi determinatăREPEATABILITATE – Sosirea datelor este repetabilă

INTEROPERABILE – Dispozitivele pot să lucreze împreună

INTERSCHIMBABILE – Dispozitive similare pot fi schimbate între ele

Reţele industriale

Magistralăsenzor/el. acţionare

MagistralMagistrală ă secţiesecţie

Automate

Magistrală fabrică

Nivel SCADA

Nivelul fabrică

Nivel secţie

File Edit GestionareOperare

2122

33

234

direct I/Osensori

Criterii de selecţie

De firmă vs. deschiseDimensiunea datelor & vitezaDeterminismTopologii disponibileCorectarea erorilorOrganizaţiile de standardizareModelul de reţea

Modele de reţele

Tradiţional– Câmpul Sursă identifică nodul care transmite– Câmpul Destinaţie identifică nodul care

recepţionează– Foarte limitat

Producător/Consumator– Bazat pe conexiune– Operare multicast– Foarte eficient

MODEL OSI

Nivel fizic

Nivel legătură de date

Nivel reţea

Nivel transport

Nivel sesiune

Nivel prezentare

Nivel aplicaţie

DataData

OSI – Nivel aplicaţie

Datele consumate şi generate

Exemple:Ethernet: e-mail, ftpDeviceNet: procesarea dispozitivelor I/O

Aplicaţie

OSI – Nivel prezentare & Nivel sesiune

Formatarea datelorConexiuni aplicaţie

Exemple:Ethernet/IPSesiune

Prezentare

Aplicaţie

OSI – Nivel transport

Gestionează conexiunileCorectare eroriControlul transferului

Exemple:TCPTransport

Sesiune

Prezentare

Aplicaţie

OSI – Nivel reţea

Rutarea mesajelorControlul congestieiTransmisie nod-nod

Exemple:IP

Reţea

Transport

Sesiune

Prezentare

Aplicaţie

OSI – Nivel legătură de date

Media Access Control– Acces multiplu prin sesizarea

purtătoarei (CSMA - CarrierSense Multiple Access )

– Transfer jetonControl logic al legăturii

– Transmisie/Recepţie bit– Verificare erori– Controlul transmisiei

Exemple:Toate

Legătură

Reţea

Transport

Sesiune

Prezentare

Aplicaţie

OSI – Nivel fizic

Transferă şirul de biţiComponente electro-mecanice

Exemple:Toate

Legătură

Fizic

Reţea

Transport

Sesiune

Prezentare

Aplicaţie

Reţele industriale. Comparaţie

ETH

ERN

ET

Aplicaţii videoScanare

Coduri de bare

Senzori de

curgereLimitatoare de cursă

PEPROX SW

Reglaj de viteză

Acţionări

AfişoareValveInstrumente

ContactoareReleeÎntreruptoare

Reţele multibit Reţele multioctet

Reţele bazate pe mesaje

DEVI

CENE

T

PROF

IBUS

DPCotrol

automat

ASI

SERIPLEX

INTE

RBUS

-S

CONT

ROLN

ET

LONW

ORKS

BA

CN

ET

MODB

US

Reţele I/O seriale

Reţele multibit

înlocuire imediată a conexiunilor electrice clasiceviteză mare mărime redusă a datelordigitalenu conţin date pentru diagnosticare

AS-I Număr minim de componente

Slave Slave Slave

Slave Slave

AlimentareMASTER

AS-I Topologii

stea linie linie ramificată arborescentăcontroler

M aster

controler

Master Master Master

S lave

Slave

Slave

Slave

Slave

Slave

Slave

Slave

Slave

Slave

Slave

Slave

Slave

Slave

Slave

Slave

Slave

Slave

SlaveSlave

controler controler

Reţeaua AS-I

cea mai bună pentru dispozitive “binare” cum ar fi limitatoare de cursă, fotodetectoare şi detectoare de prezenţăreducerea costurilor cu 15-40% circuite AS-I permit accesul la reţea1 Master, 31 Slave (62 în V2.1)4 ni, 4 nd per nod (maxim 248)100m lungime totală (cablu galben)

Reţeaua AS-I

topologii: arborescentă, în linie, stea şi altelealimentarea şi datele integrate în aceeaşi reţeadurata unui ciclu e de 5ms cu toate cele 31 slaveprioritatea nodurilor stabilită în sistem de Master sau în afara sistemuluicablu plat sau rotund

Reţele seriale

orientate UART (Universal Asynchronous Receiver-Transmitter) – RS-232/422/485Materializare cu costuri scăzuteEficientă pentru transmitere de mesajeViteză mică (nu satisface condiţiile de timp real)Model de reţea Sursă/DestinaţieStandarde de firmă sau deschise (open standard)

Aplicaţii ale reţelelor seriale

înregistratoareinstrumenteacţionăricititoare de coduri de barecititoare de radiofrecvenţărezervoare de combustibilstaţii de tratare a apei reziduale

MODBUS

tehnologie a anilor 1960şiruri de date de comunicaţie simple, concise suport fizic RS232/422/485dispozitive modelate ca registre şi bobineset de instrucţiuni bine definit1 Master, 254 SlavesMaterializare cu cost redus

MODBUS (Continuare)

reprezentare a reţelei bobină/registruviteză redusă – (nu satisface condiţiile de timp real)247 noduri maximum nu are certificare formalăpromovat de grupul Schneider

MODBUS

Avantaje– Standard deschis şi larg răspândit– set de comenzi clar şi concis– număr mare de instalări– materializare cu cost redus

Dezavantaje– Model de reţea sursă/destinaţie– greu de depanat

MODBUS pe scurt

toate dispozitivele ar trebui să suporte Modbusunelte de configurare la îndemânăpoate fi utilizat de majoritatea utilizatoriloracces uşor la dispozitive de adaptare cu alte reţeleunelte gratuite pe webcreşte penetraţia pe piaţă

Limitările reţelelor seriale

Standarde electrice insuficienteCele mai multe sunt protocoale de firmăSusceptibile la zgomotProbleme cu masa

Probleme cu punctele de capătProbleme la configurarePerformanţe limitateGreu de depanatSuport pe viitor incert

Reţele multi-octet

Orientate în principal pe octetPrezintă un anumit determinismOperare pseudo timp realDepanare îmbunătăţităCost redus – suport pentru senzori mici

Reţele multi-octet

Date analogiceVolum mic de mesaje simpleÎn general nu are posibilităţi pentru comunicaţii de la egal la egalModel Sursă/Destinaţie sau Producător/Consumator îmbunătăţit

INTERBUS-S

Standardizat în EN 50254 şi IEC 61158De tip inel, Reţea cu registru de deplasareSuportă subreţele multipleAuto-configurareCerinţe ale aplicaţiilor– Număr mare de I/O– Redundanţă

DeviceNet

CAN Nivel aplicaţieDeviceNet transportă – date I/O– alte date decât cele de control

Folosind– Comunicaţii Master/Slave

Între– Dispozitive reprezentate de obiecte

Istoric DeviceNet

~1985 CAN dezvoltat de BOSCH~1993 AB dezvoltă DeviceNet~1995 Dreptul de proprietate tranferatorganizaţiei ODVA (Open DeviceNet VendorAssociation)~1996 Masă critică de producători/Utilizatori

Caracteristicile DeviceNet

Trunchi64 NoduriPot exista mai mulţi MasteriÎnlocuirea sau introducerea unui nod nou se poate face sub tensiuneCablul include alimentare şi linii de dateRate de transfer de 125K, 250K şi 500K Baud

DeviceNet & CAN

Semnalizare fizicăControlul accesului la mediuControlul coliziunilor prin arbitrare la nivel de bit

Mediul de transmisie

Ataşare la mediu

Semnalizare fizică

Control acces media

Control legătură logică

Nivel aplicaţie

Structura de comunicaţie DeviceNet

Bazat pe conexiuneÎn principal Master/Slave Suportă conexiuni I/O Connection de tip:– cu interogare (polling)– schimbarea stării– pulsuri

Capacitate redusă de comunicare cu egali (peer)Nu permite multicasting

Modelul obiect al DeviceNet

Dispozitivele descrise ca o serie de obiecteObiectele descriu comportamentul exteriorObiecte cerute:– Obiectul Identitate (Identity Object)– Obiectul DeviceNet– Obiectul Router– Obiectul conexiune (Connection Object)

CIP – Control & Information Protocol

Profile DeviceNet

“Standardizează” operaţiile dispozitivelor asemănătoareUn profil DeviceNet specifică– Modelul Obiect– Datele I/O– Datele de configurare

Producătorii pot adăuga extensii

Aplicaţii perfecte DeviceNet

Conductoare lungi/extinseDimensiuni fizice mici64 dispozitiveI/O mici şi nu foarte rapide Tipuri diferite de dispozitiveDeterminist nu foarte criticAplicaţie tipică: Transportor cu bandă

Profil acţionare c.c./c.a.

Include scalari, c.a., vectori c.a. & c.c.Obiecte specifice acţionărilor– Supervizor de control– Sistem de acţionare c.a./c.c.– Datele motorului

Inter-operabile nu interschimbabile

Preocupări & provocări privind DeviceNet

Testarea conformităţiiÎmbunătăţiri/revizuiri ale specificaţiilorPromovarea ca standard internaţionalPresiunea impusă datorită cerinţelor pentru performanţăRedundanţăOperare de tip egal la egal

Alte protocoale CAN

J1939– standard sponsorizat de SAE– Comunicare între componentele vehiculului– Mesaje între egali (peer to peer)

CANOpen– Standard al Comunităţii Europene– specificaţia CAN în Automatică (CiA)– largă răspândire în domenii de la cel al bunurilor de larg

consum la cel medical şi al aplicaţiilor industriale

ProfiBus

Iniţiativă germană din 1989bazată pe RS485circuitul Profibus conţine o stivă, MAC (Media Access Control)Versiuni multiple DP, FMS, PA127 noduri, 1000m244 Octeţi/Mesaj, 12MbaudReţea de tip Master/Slave cu interogare (Polling) Sprijinit de Profibus Trade Organization

ProfiBus

Avantaje– Viteză mare– Grad mare de determinism– circuitele ASIC implementează o stivă de comunicare– acceptat universal în Europa

Dezavantaje– Cost ridicat – Magistrala nu are alimentare– Model tradiţional Master/Slave

Reţele bazate pe mesaje-ControlNet

Deterministe & repetabileCapacitate mare de I/O & mesaje99 Noduri per subreţeaComunicaţie Multicast & PeerAdaptabilă de către utilizatorPoziţia pe piaţă e nesigurăScumpă

Aplicaţii ControlNet

Cerinţe ale aplicaţiei: – Număr mare de I/O– Număr mare de noduri– Secvenţiere şi poziţionare precisă– Control cu sincronizare precisă

Reţele cu care intră în competiţie: – ProfiBus FMS– MODBUS Plus– Ethernet/IP

Ethernet

Cea mai populară reţea din istorie ( peste 200 000 000 noduri şi creşterea continuă)introdusă de Xerox din 1970standard IEEE 802.3– Nivel fizic (caracteristici electrice)– Nivel legătură de date (MAC, corectare a erorilor şi formare de cadre - frame format)

Variante ale Ethernet

10BASE-5 10BASE-2 10BASE-T 10BASE-FL

Descriere Thicknet Thinnet 10Base-T 10Base-FL

MAC CSMA/CD CSMA/CD CSMA/CD CSMA/CD

Topologie Magistrală Magistrală Stea Stea

Cablare RG-8 Coaxial RG-58 Coaxial

UTP Fibră sticlă

Dimensiunea segmentului

5000 m 185m 100m 2000 m

Alimentare prin Ethernet (PoE - PowerOver Ethernet)

IEEE 802.3AF - Power-over-EthernetPerechile nefolosite (7-8, 4-5) asigură alimentareaInclude validarea dispozitivuluiAcceptat în iunie 2003Injectoare & valve (taps)

Tipuri de dispozitive PoE

"PoE-Compatible" or "Active EthernetDispozitive necompatibile PoEValvă pasivă – fără conversieValve reglate – se reglează conform cerinţelor dispozitivelorDispozitive injectoare – furnizează alimentare pentru reţele Cat5

PoE

Dezavantaje– Necesarul de curent trebuie calculat cu atenţie– Trebuie atenţie cu dispozitivele apărute înaintea

standardizării– Unele dispozitive utilizează firele PoE– Probleme cu emisiile EM şi încălzirea

Avantaje– Puncte de acces la distanţă fără fir cu cost redus– Aduce punctele de acces mai aproape de antenă (cablu mai

mic pentru antenă)Pasive vs. Reglate

Nivelurile de aplicaţie Ethernet

Modbus/TCP (www.modbus.org)

Ethernet/IP (www.odva.org)

ProfiNet (www.profibus.com)

Modbus/TCP

Structura de bază a mesajelor este ModbusArhitectura reţelei de tip Registru/Bobină identicăSimplu de materializatUnelte disponibile imediatÎntâlnită la multe automate programabile şi interfeţe om-maşinăSimplitatea este marea slăbiciune şi forţă

Modbus/TCP

Avantaje– Nivel de aplicaţie folosind TCP/IP– Materializat cu uşurinţă– Mesaje concise– Foloseşte Modbus care este larg utilizat şi înţeles

Dezavantaje– Posibilitate de interschimbare redusă sau 0– Tipuri de date limitate– Limitare a dimensiunii datelor transferate

PROFInet

NU are legătură cu ProfibusBazat pe MS DCOM – DistributedComponent Object Module Modularitate a procesului cu inteligenţă distribuităSuport redusComunicaţie tip TCP/IP

Ethernet/IP

CIP – Common Industrial Protocol (Model obiect de tip DeviceNet) folosind EthernetSuport de la producători semnificativArhitectură specifică producătoruluiSprijinit de ODVA Compatibilă cu DeviceNet & ControlNet

Bibliografie

John S. Rinaldi, Industrial Automation Networking 2004 & Beyond, Real Time Automation, www.rtaautomation.com

1

Automate programabile

Proiectarea sistemelor de comandă

Etapele proiectării sistemului automatizat

Etapele proiectării sistemului automatizat

Anteproiectul

Pornind de obiectivele stabilite pentru sistemul de automatizat se realizează anteproiectulAnteproiectul se realizează de o singură echipăObiectivele anteproiectului este realizarea caietului de sarcini pentru sistemul de automatizat

Anteproiectul

Anteproiectul defineşte:– O structură a părţii operative– Funcţionalitatea realizată– Constrângerile externe ce trebuiesc respectate

Anteproiectul

Punctul de plecare:– Natura produselor sau gama de produse cărora li

se aplică automatizarea– Operaţiile ce trebuie efectuate asupra produselor– Procedeele de pus în practică– Dimensiunea producţie şi cadenţa dorită– Nivelul de automatizare– Flexibilitatea şi evoluţia preconizată– Estimarea iniţială a investiţiei şi a beneficiilor

Anteproiectul

Se stabileşte structura părţii operative– Se defineşte tipul de structură

Maşini autonomeMaşini asociateCelule de producţieCelule descentralizate şi coordonateCelule flexibile distribuite şi ierarhizate

Caietul de sarcini funcţional al sistemului

A. Exemplu: Instalaţie de dozare

Produsele de obţinut– Gama de produse este obţinută din amestecul a 3

componenteConstituent A – pasta de viscozitate micăConstituent B şi C – lichide

– Produsele sunt fabricate în loturi de dimensiuni conform necesităţilor unei unităţi de condiţionare din aval

– Definirea amestecului trebuie parametrizat în funcţie de:Volumul producţie de fabricatCompoziţia specifică fiecărui produs din gamăCalitatea constituenţilor

A. Exemplu: Instalaţie de dozare

Funcţii şi constrângeri– Trebuie prevăzută funcţia de stocare– Pentru obţinerea preciziei amestecului se va utiliza o

dozare ponderală (pe bază de cântărire)Ciclul de funcţionare– Ciclul de bază a unui lot de produs necesită 3 sarcini

Dozarea constituenţilorUmplerea malaxoruluiAmestecare urmată de evacuarea produsului finit

– Pentru îndeplinirea condiţiei de productivitate, dozarea şi amestecarea se poate face în paralel

A. Exemplu: Instalaţie de dozare

Produs 1 Produs 2 …Produs nA 50-120 kg funcţie

de B şi C100-150 kg funcţie de B şi C

B 300 ±2 kg 200 ± 2kg

C 500±2kg 650±2kg

Capacitatea actuală a instalației din aval este limitată la o cantitate de produs în care loturile au maxim 1100 kg

A. Exemplu: Instalaţie de dozare

Operaţii de efectuat– Formarea unui preamestec din constituenţii B şi C

la temperatura specificată în funcţie de compoziţie

– Formarea amestecului final prin amestecarea cu o viteză dată pe o anumită durată a preamestecului BC cu constituentul A.

Viteza de amestecare este funcţie de amestec şi variază într-un raport de 1:4. Creşterea vitezei trebuie să fie progresivă

A. Exemplu: Instalaţie de dozare

Producţia– Funcţionare în 3 schimburi– Schimburile de zi necesită un operator şi un

tehnician– Schimbul de noapte necesită 1 tehnician– Cadenţa estimată este de 3000 kg/h

Exemplu: Instalaţie de dozare

Exploatare– Fabricare pre programată pentru schimbul de

noapte– Ţinerea unui jurnal de lucru salvat zilnic– Oprire săptămânală pentru inspecţie şi curăţare– Mod de funcţionare degradată: comandă manuală

autorizată de la pupitru dacă reglajul de temperatură şi cântărirea încă funcţionează

Exemplu: Instalaţie de dozare

Siguranţa în funcţionare– Disponibilitate: 10 ore de oprire a producţiei pe an– Siguranţă: ne se acceptă pierderi, scurgeri sau

revărsare a produsului (produs periculos, costisitor şi greu de eliminat) chiar în cazul întreruperii energiei

– Mentenabilitate: 20 min maxim pentru primul nivel, 1 oră maxim pentru schimbarea constituentului şi 1 zi maxim pentru reparaţii.

Exemplu: Instalaţie de dozare

Condiţii de mediu– Mediul normal

Punere în funcţiune– 8 luni

Flexibilitate şi evoluţie– Memorarea compoziţiei produselor din gamă– Posibilitatea de programare a produselor noi sau

fabricate în serie mică– Evoluţia capacităţii lotului sau a volumului maxim– Gestionare informatizată în cel mult 2 ani

A. Exemplu: Instalaţie de dozare

A. Exemplu: Instalaţie de dozare

Funcţii Constrângeri Funcţii Constrângeri

Stocare - Autonomie de aprovizionare 24h- Detecția nivelului minim – de definit

Ciclul de funcţionare

-Durată pentru 1100 kg –20 min- parametrizabil, produse preprogramate- funcţionare cu 1 operator noaptea

Pregătire/dozare

- Precizia cântăririi - ±2kg- Debit 100kg/min- Deversare - 0

Dialog de exploatare

Diagnosticare a tuturor defecţiunilor PO şi PC

Amestecare - Capacitate – max 1100 kg- Gama de viteze – de definit

Siguranţă în funcţionare

MTBF – 1000hMTTR – 1hMTTR(1) – 8h săptămânal

Reglaj temperatură

- Domeniu – 15 la 65°C- Precizia reglajului - ±2°C

Ante studiul părţii de comandă

Porneşte de la caietul de sarcini funcţionalAre ca rezultat o descriere tehnică şi un calcul previzional al costuluiAntestudiile părţii de comandă şi a celei operative pot fi realizate de echipe specializate diferiteÎn această etapă sunt analizate funcţiile de realizat şi constrângerile impuse pentru a se identifica soluţiile tehnice posibile

Ante studiul părţii de comandă

Descrierea tehnică va aborda ansamblul de soluţii tehnice şi alegerile reţinuteCalculul costului estimativ este necesar pentru a se stabili dacă proiectul răspunde aşteptărilor celor care l-au iniţiat

Ante studiul părţii de comandă

Analiza funcţională = un demers prin care se recenzează, se ordonează, se ierarhizează şi se tratează funcţiile de automatizare de realizatFuncţiile care sunt conforme cu restricţiile impuse sunt analizate în vederea găsirii unor soluţii tehnice

Ante studiul părţii de comandă

Principalele funcţii întâlnite în sistemele de automatizare– Funcţii de comandă digitale

DetectareComandă de puterePrelucrarea informaţiei

– Funcţii specifice de comandăPoziţionareVariaţia de vitezăReglareCântărireNumărare etc

– Funcţii de dialog om-maşină– Funcţii de dialog între dispozitivele sistemului

Alegere tehnică/alegere tehnologică

Alegere tehnică – procesul de trecere de la enunţarea obiectivelor la enunţarea procedeelor ce răspund obiectivelorAlegere tehnologică – procesul ce permite trecerea de la procedeele alese la mijloacele ce pun în practică procedeele (constituenţi, echipamente etc)

Alegere tehnică/alegere tehnologică

Exemplu de alegere tehnică(localizarea funcţiilor)

Traductor

El. acționare

Programe specifice

Traductor

El. acționare

Programe dintr‐o bibliotecă

Traductor

El. acționare

Module inteligente ale AP

Traductor

El. acționare

Traductoriinteligenți

Ante studiul părţii de comandă

Descrierea tehnică conţine:– O descriere detaliată a fiecărei funcţii, precizând:

Alegerea traductoarelor şi interfeţelor acestoraAlegerea elementelor componente ale comenzii de putere (contactoare, distributoare, ..) şi elementelor auxiliare (protecţie, semnalizare etc)Repartizarea inteligenţei între componenteCaracteristicile hardware şi software prelucrărilor necesare (caracteristicile I/O, module inteligente, legături de comunicaţie, programe de aplicaţii etc)

Ante studiul părţii de comandă

– O descriere detaliată a părţii de comandă, precizând:

Structura părţii de comandă (numărul şi tipul de AP, căi de comunicare etc)Configuraţia fiecărui AP (module, căi de comunicaţie, dimensiunea memoriei, limbajele folosite etc)

– Definirea programului de aplicaţieO SFC pentru a pune în evidenţă interacţiunea dintre funcţiiLista sarcinilor ce trebuie analizate

Ante studiul părţii de comandă

Funcţiile digitale– Detecţia

Tipul detectorului (mecanic, inductiv, fotoelectric) şi caracteristicile acestuiaComponentele asociate (relee, amplificatoare, surse de alimentare etc)Prelucrarea integrată a semnalului

– Comanda de putere. Pentru fiecare element de acţionare (contactor, distribuitor) se precizează:

Tipul şi caracteristicile (dimesiune, alimentare, semnale de comandă)Eventuale semnale de reacţie (semnale de stare, semnalizare defecte etc)

Ante studiul părţii de comandă

Funcţiile digitale– Prelucrarea informaţiei

I/O standard sau specifice ale APDiagrame SFC mai mult sau mai puţin detaliate ce descriu aceste funcţiiFuncţiile standard şi specifice cerute (temporizatoare, numărătoare)Necesarul de memorie (în kocteţi)

Ante studiul părţii de comandă

Funcţiile specifice de comandă– Pentru fiecare funcţie specifică trebuie precizat

Tipul şi caracteristicile elementelor componente de comandă şi de măsurareModulele şi programele de aplicaţie specifice

Ante studiul părţii de comandă

Funcţiile de dialog şi comunicare. Pentru fiecare componentă din sistem se precizează:

– Lista elementelor integrate în pupitru/consolă (butoane, lămpi, comutatoare, tastatură etc)

– Lista terminalelor de exploatare fixe sau mobilePentru fieare sistem de producţie se specifică:

– Informaţiile vehiculate (natura, originea, destinaţia, frecvenţa etc)

– Componentele comunicaţiei: porturi de comunicaţie sau module de comunicaţie specializate

– Perifericele complementare necesare (imprimantă, dispozitive de afişare, module de stocare a informaţiei etc)

B. Exemplu: Instalaţie de dozare

Ante studiul cuprinde:– Analiza ciclului de funcţionare– Analiza funcţiei de dozare– Analiza funcţiei de amestecare cu viteză variabilă– Descrierea părţii operative– Descrierea tehnică şi costul estimativ al părţii de

comandă

B. Exemplu: Instalaţie de dozare

B. Exemplu: Instalaţie de dozare

B. Exemplu: Instalaţie de dozare

Analiza funcţiei de dozareTraductoarele de greutate sunt realizate cu mărci tensometrice care trimit un semnal la un indicator de greutateSe pot alege 2 variante:

– Indicatorul de greutate amplifică semnalul de la mărcile tensometrice şi le trimite la AP (codat BCD). Automatul citeşte valorile şi determină terminarea cântăririi

– AP trimite comanda de măsurare la indicatorul de greutate. Acesta realizează măsurătoarea şi trimite semnalul de sfârşit de măsurare către AP. Transmisia se face serial.

Varianta selectată este cea de a doua: fiabilitate, precizie, reducerea programului de aplicaţie

B. Exemplu: Instalaţie de dozare

Analiza funcţiei de amestecare cu viteză variabilă– Ante studiul a dus la rezultatul următor:

Antrenare cu motoreductor asincron cu un singur sens, Pn=3kW.Variaţia electronică a vitezei de la 5 la 20 rot/min (raport 1:4)Frânare naturală prin sarcină

B. Exemplu: Instalaţie de dozare

Analiza funcţiei de amestecare cu viteză variabilă– Caietul de sarcini impune restricţiile:

O pornire progresivă pentru evitarea împroşcării cu lichideO MTBF de peste 1000 oreProtecţia motorului conform normelorO supraveghere a motorului cu semnalizarea defectelor pentru diagnosticare (suprasarcină, scurtcircuit)

– Funcţia de amestecare cuprinde 3 funcţii elementareVariaţia vitezeiComanda şi protecţia motoruluiDiagnosticare şi dialog

B. Exemplu: Instalaţie de dozare

Funcţia de variaţie a vitezei– Tipul de variator

Se alege un invertor cu v/f constantEste suficient un invertor simplul (1 cadran)Puterea de 3kW implică alimentarea la o reţea de 380V.

– Pornirea progresivăPornire manuală cu potenţiometruComandă analogică externă

– Afişarea vitezeiSoluţie 1: comutare de indicatoare pre reglateSoluţie 2: se utilizează un modul de ieşire analogică a AP

B. Exemplu: Instalaţie de dozare

Funcţia de protecţie a instalaţiei– Standardele conduc la următoarea alegere:

Un separator 25 AProtecţie de linie prin siguranţe fuzibileProtecţie a motorului prin relee electrotermice tripolare diferenţialeÎntrerupere cu contactor de 9 A

B. Exemplu: Instalaţie de dozare

Funcţia de dialog– Utilizarea unui contactor cu funcţii integrate– Modul de dialog asociat invertorului pentru

detectarea şi semnalizarea defectelor– Contacte de semnalizare a stării diferitelor

componente.

B. Exemplu: Instalaţie de dozare. Descrierea tehnică

B. Exemplu: Instalaţie de dozare. Descrierea tehnică

B. Exemplu: Instalaţie de dozare. Descrierea tehnică

B. Exemplu: Instalaţie de dozare. Descrierea tehnică

B. Exemplu: Instalaţie de dozare. Descrierea tehnică