Sunteți pe pagina 1din 807

Automate programabile

Introducere în sisteme
automate de comandă

1
Generalităţi

z 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.

z Într-o instalaţie de comandă şi control fenomenele se


succed într-o ordine dinainte stabilită.
z 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)

z După modul de transmitere a impulsului


de comandă
– SCC manuale
– SCC semiautomate
– SCC automate
Clasificare

z 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.
z Exemple:
– Întrerupătoare
– Întrerupătoare automate
– Comutatoare tobă
Sisteme de comandă manuale
Clasificare

z 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

z 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.
Sisteme de comandă automate
Sisteme de comandă automate (roboţi
de sudare)
Clasificarea sistemelor de comandă şi
control (SCC)

z 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)

z După modul de acţionare asupra


elementelor dispozitivului de comandă
– SCC discrete
z directe
z secvenţiale
z după program
– SCC analogice
SCC discrete

z Sunt acele sisteme în care mărimile fizice din


sistem sunt determinate de starea
elementelor componente ale dispozitivului de
comandă.
z 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

z la care dispozitivul de comandă este


prevăzut cu un dispozitiv de programare.
z 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)

z După modul de implementare a sistemului


de comandă
– SCC ce folosesc tehnologia cablată
– SCC ce folosesc tehnologia programată
SCC în tehnologie cablată

z Într-o tehnologie cablată, SCC este realizat


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

z SCC este realizată prin programarea


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

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

z Tensiunea de comandă
z Elemente de siguranţă
z Elemente de comandă
z Elemente intermediare (relee)
z Elemente de conectare cu acţionare
electromagnetică
z Elemente de acţionare
z Elemente de protecţie
z Elemente de semnalizare
z Surse de alimentare
z Senzori si traductoare
Elemente componente ale SCC
z 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.
z 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.
z 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).
z 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
z 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.
z Elemente de semnalizare (optice sau acustice)
z Elemente auxiliare cum ar fi transformatoare, redresoare,
rezistenţe, etc.
Funcţiile unui sistem de comandă şi
control.

z Pornirea
z Oprirea
z Inversarea sensului de rotaţie
z Menţinerea regimului de lucru
z Controlul vitezei
z Protecţia operatorului
Pornirea

z Motorul poate fi pornit prin cuplare direct la reţea.


z 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.
z Unele motoare pot fi distruse dacă sunt pornite cu un
cuplu de pornire ce creşte brusc.
z Un alt factor de luat în seamă este şi frecvenţa cu
care va fi pornit motorul respectiv.
Oprirea

z Unele controlere permit motorului să se


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

z Controlerele sunt utilizate pentru schimbarea


automată a sensului de rotaţie a motoarelor
la comanda operatorului de la staţia de
comandă.
z Schimbarea sensului de rotaţie poate fi un
regim permanent pentru unele aplicaţii
industriale.
Menţinerea regimului de lucru

z Menţinerea regimului de lucru dorit poate fi


una din principalele destinaţii ale
controlerului.
z El protejează motoarele, operatorii, maşinile
şi materialele în timpul lucrului.
z 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

z Unele controlere pot menţine foarte precis


viteza proceselor industriale.
z Unele controlere pot modifica viteza
motoarelor fie în trepte fie gradual printr-un
domeniu continuu de valori ale vitezei.
Protecţia operatorului

z O parte din elementele de protecţie


mecanice au fost înlocuite sau îmbunătăţite
prin folosirea sistemelor electrice de
protecţie.
z 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

z În regimurile de pornire şi de oprire a maşinilor electrice trebuie ţinut seama de


o serie de condiţii care afectează motorul.
z Dintre acestea amintim:
– Frecvenţa de pornire şi oprire
– Tipul pornirii în funcţie de tipul sarcinii
z uşoară: pornire în gol
z grea: porniri în sarcini
– Tipul pornirii în funcţie de durata acesteia
z rapidă
z lentă
– Pornire şi oprire manuală sau automată
– Tipul opririi în funcţie de durata acesteia
z lentă
z rapidă
– Tipul opririi în funcţie de poziţia de oprire
z precisă
z aproximativă
z indiferentă
– Frecvenţa de inversare a sensului de rotaţie
Exigenţele impuse sistemelor de
comandă şi control

z Simplitate
z Siguranţa în funcţionare
z Repetabilitatea regimurilor de funcţionare
z Flexibilitate
z Posibilitate de evoluţie
z Coordonare
z Dialog
z Calitate
z Gestiune
Simplitate

z Se consideră că un SCC este simplu atunci când


asigură îndeplinirea tuturor condiţiilor ce-i sunt
impuse cu minimum de elemente componente.
z 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.
z O schemă simplă presupune şi costuri mai reduse.
Siguranţa în funcţionare

z 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ă.
z La aceasta se adaugă condiţiile necesare protejării
operatorului uman.
z 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

z 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

z 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

z 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.
z Î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

z 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

z Această exigenţă are drept scop realizarea


unui dialog om-maşină mai clar şi mai
complet pentru ambele părţi.

z Dialogul poate fi realizat şi cu alte sisteme de


comandă la acelaşi nivel ierarhic sau la
nivele ierarhice diferite.
Gestiune

z 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.
Automate programabile

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

1
Definiţie

Algebră booleană = o structură algebrică


formată din:
z O mulţime B
z Două operaţii binare notate cu (+) şi (.)
z 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

z Operaţia “ + ” se numeşte sumă logică,


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

z Î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

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

z Unicitatea lui 0 şi 1
Elementele 0 şi 1 sunt unice
z Unicitatea elementului opus
Pentru ∀a∈B , a’ este unic
z Distincţia dintre 0 şi 1
Elementele 0 şi 1 sunt distincte
z Involuţia
∀a∈B, (a')'=a
Proprietăţile algebrei booleene

z Absorbţia
∀a,b∈B
(i) a + a.b = a
(ii) a.(a+b) = a
z Asociativitatea
∀a,b,c∈B
(i) a + (b + c) = (a + b) + c
(ii) a . (b . c) = (a . b) . c
Proprietăţile algebrei booleene

z De Morgan
∀a,b∈B
(i) (a + b)’ = a’ . b’
(ii) (a . b)’ = a’ + b’
Exemple de algebre booleene

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

z Definire alternativă a operaţiilor


Exemple de algebre booleene

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

z 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 b
a  
 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 



Funcţii booleene (FB)

24
Definiţii

z O variabilă care poate lua doar valorile 0 şi 1


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

z 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.
z n>1, m=1 funcţii booleene cu o singură ieşire
şi n intrări.
z n>1,m>1 funcţii booleene cu n intrări şi m
ieşiri.
Funcţii booleene

z Pentru o funcţie care


depinde de n de
Vari- Combi- Funcţii
variabile avem:
abile naţii
z 2n combinaţii de valori 1 2 4
pentru variabile 2 4 16
z 22n=funcţii de n 3 8 256
variabile 4 16 65.536
5 32 4.294.967.296
Funcţiile booleene de două variabile

n=2 nr. de variabile


22=4 combinaţii de valori pentru variabile
222=16 funcţii de 2 variabile
Funcţiile booleene de două variabile

z F0 = 0 Funcţia constantă 0
z F1 = A.B (SI) AND
z F2 = AB' Inhibiţie (A dar nu B)
z F3 = A Identitate
z F4 = A B Inhibiţie (B dar nu A)
z F5 = B Identitate
z F6 = AB' + A'B SAU-Exclusiv (XOR), se notează
şi A⊕B
z F7=A+B SAU
Funcţiile booleene de două variabile

z F8 = (A + B)' SAU-NU (NOR) (în logica matematică


denumită funcţia lui Peirce,
se mai notează A ↓B
z F9 = A'B' + AB Echivalenţă, se notează şi A≡B
z F10=B' Complement, NU (NOT)
z F11 = A + B' Implicaţie (B implică A), se notează şi
B→A
z F12 = A' Complement, NU (NOT)
z F13= A' + B Implicaţie (A implică B), se notează şi
A→B
z F14 = (AB)' SI-NU (NAND) - în logica matematică
denumită funcţia Sheffer, se mai notează A ↑B
z F15 = 1 Funcţia constantă 1
Sisteme complete de FB

z Un set de FB este complet dacă orice FB


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

z Ex. {+,’} este un set complet de FB.


z Arătăm ca setul {+,.,’} poate fi reprezentat de
FB din setul Ex. {+,’}
z a+b=a+b
z a.b=((a.b)’)’=(a’+b’)’ - s-a folosit DeMorgan
z a’=a’
Sisteme complete de FB

z Ex. {.,’} este un set complet de FB.


z Arătăm ca setul {+,.,’} poate fi reprezentat de
FB din setul Ex. {.,’}
z a.b=a.b
z a+b=((a+b)’)’=(a’.b’)’ - s-a folosit DeMorgan
z a’=a’
Sisteme complete de FB

z Ex. {↓↑,’} este un set complet de FB. S-a


notat cu ↓ funcţia SAU-NU
z Arătăm ca setul {+,.,’} poate fi reprezentat de
FB din setul Ex. {↓}
z a’=(a+a)’=a↓a
z a+b=((a+b)’)’=(a↓b)’=(a↓b) ↓(a↓b)
z a.b=(a’+b’)=a’ ↓b’=(a↓a) ↓(b↓b)
Sisteme complete de FB

z Ex. {↑} este un set complet de FB. S-a notat


cu ↑ funcţia SI-NU
z Arătăm ca setul {+,.,’} poate fi reprezentat de
FB din setul Ex. {↑}
z a’=(a.a)’=a ↑ a
z a.b=((a.b)’)’=(a ↑ b)’=(a ↑ b) ↑(a ↑ b)
z a+b=(a’.b’)=a’ ↑ b’=(a ↑ a) ↑(b ↑ b)
Reprezentarea funcţiilor booleene

36
Reprezentările FB pot fi:

z Grafice
z Analitice
Reprezentări grafice

z Tabele de adevăr
z Scheme de operatori (porţi logice)
z Arbori de decizie binară
z Diagrame Veitch-Karnaugh
z Scheme cu contacte
z Hipercub
z Diagrame de semnale
Reprezentări analitice

z Simbolice
– forme normale necanonice disjunctive şi
conjunctive
– forme normale canonice disjunctive şi conjunctive
– simbol de marcare
z Coduri
– vectori booleeni
– numere convenţionale
– notaţia cubică poziţională
Tabele de adevăr

z 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

z Funcţie de 2 variabile
a b f

0 0 0

0 1 1

1 0 1

1 1 0
Tabele de adevăr

z 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

z Un literal este apariţia unei variabile în forma


normală sau negată.
– Ex. x, x’, a, a’, x1, x1’ etc.
z 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

z 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 mintermi
a.d nu este minterm pentru că lipsesc variabilele b şi c
Definiţii

z 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 mintermi
a+d nu este maxterm pentru că lipsesc variabilele b şi c
Definiţii

z 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

z O expresie sumă de produse sau formă normală


disjunctivă este formată din suma logică a mai
multor termeni produs.
z Ex.
a.b’.c’+a’.b.c+a’.b.c’
Observaţie
Pentru simplificare, când nu există dubii, operatorul “.”
se poate omite
z Ex.
ab’c’+a’bc+a’bc’
Definiţii

z O expresie produs de sume sau formă normală


conjunctivă este formată din produsul logic a mai
multor termeni sumă.
z Ex.
(a+b’+c’).(a’+b+c).(a’+b+c’)
Observaţie
Pentru simplificare, când nu există dubii, operatorul “.”
se poate omite
z Ex.
(a+b’+c’)(a’+b+c)(a’+b+c’)
Adiacenţă
z Doi termeni sunt adiacenţi dacă ei au acelaşi număr de
variabile şi diferă prin forma unei singure variabile.
Ex.
z 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 normal
z a’.b.c’.d şi a’.b’.c’.d’ nu sunt adiacenţi pentru că diferă prin
forma a două variabile b şi d.
z 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 normal
z a+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

z 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

z Funcţie de 2 variabile

a b f Mintermi Notaţie
0 0 0 a’.b’ m0
0 1 1 a’.b m1

1 0 1 a.b’ m2

1 1 0 a.b m3
Tabele de adevăr

z Funcţie de 3 variabile

a b c f Mintermi Notaţie

0 0 0 0 a’.b’.c’ m0

0 0 1 0 a’.b’.c m1

0 1 0 1 a’.b.c’ m2

0 1 1 1 a’.b.c m3

1 0 0 1 a.b’.c’ m4

1 0 1 0 a.b’.c m5

1 1 0 0 a.b.c’ m6

1 1 1 0 a.b.c m7
Tabela de adevăr şi maxtermi

z 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

z Funcţie de 2 variabile

a b f Maxtermi Notaţie
0 0 0 a+b M0
0 1 1 a+b’ M1

1 0 1 a’+b M2

1 1 0 a’+b’ M3
Tabele de adevăr

z Funcţie de 3 variabile

a b c f Maxtermi Notaţie

0 0 0 0 a+b+c M0

0 0 1 0 a+b+c’ M1
0 1 0 1 a+b’+c M2

0 1 1 1 a+b’+c’ M3

1 0 0 1 a’+b+c M4

1 0 1 0 a’+b+c’ M5

1 1 0 0 a’+b’+c M6

1 1 1 0 a’+b’+c’ M7
Forma canonică normal disjunctivă

z O funcţie f(x1,x2,...,xn) poate fi scrisă sub


forma canonică normal disjunctivă:
n
2 -1

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

z 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 0 0 a’.b’ m0
0 1 1 a’.b m1
1 0 1 a.b’ m2
1 1 0 a.b m3
Forma canonică normal disjunctivă

z Funcţie de 3 variabile
a b c f Min- Notaţie
z f(a,b,c)=m2+m3+m4= termi

= a’.b.c’+ a’.b.c+ a.b’.c’ 0 0 0 0 a’.b’.c’ m0


0 0 1 0 a’.b’.c m1
0 1 0 1 a’.b.c’ m2
0 1 1 1 a’.b.c m3
1 0 0 1 a.b’.c’ m4
1 0 1 0 a.b’.c m5
1 1 0 0 a.b.c’ m6
1 1 1 0 a.b.c m7
Forma canonică normal disjunctivă

z FCND este formată din suma logică a


mintermilor pentru care funcţia ia valoarea 1.
z Observaţie: FCND are atâţia mintermi câte
valori de 1 are funcţia
Forma canonică normal conjunctivă

z O funcţie f(x1,x2,...,xn) poate fi scrisă sub


forma canonică normal conjunctivă:
n
2 -1

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

z 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 0 0 a+b M0
0 1 1 a+b’ M1
1 0 1 a’+b M2
1 1 0 a’+b’ M3
Forma canonică normal conjunctivă

z Funcţie de 3 variabile
z f(a,b,c)=M0.M1.M5.M6.M7
=(a+b+c). a b c f Maxtermi Notaţie
0 0 0 0 a+b+c M0
.(a+b+c’).
0 0 1 0 a+b+c’ M1
.(a’+b+c’). 0 1 0 1 a+b’+c M2
.(a’+b’+c). 0 1 1 1 a+b’+c’ M3
.(a’+b’+c’) 1 0 0 1 a’+b+c M4
1 0 1 0 a’+b+c’ M5
1 1 0 0 a’+b’+c M6
1 1 1 0 a’+b’+c’ M7
Forma canonică normal conjunctivă

z FCNC este formată din produsul logic al


maxtermilor pentru care funcţia ia valoarea 0.
z Observaţie: FCNC are atâţia maxtermi câte
valori de 0 are funcţia
Forme normale necanonice

z Forma elementară a unei FB conţine termeni care nu


sunt canonici
z Formele elementare pot fi disjunctive (sume de
produse) sau conjunctive (produse de sume)
z O formă neelementară a unei FB are doi sau mai
mulţi termeni care conţin aceeaşi variabilă
z 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

z 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
z se poate reprezenta în două forme
elementare disjunctive:
f(a,b,c)=b’.c’+a.b+a.c
f(a,b,c)=b’.c’+a
z sau într-o formă elementară conjunctivă
f(a,b,c)=(a+b’).(a+c’)
Forme neelementare. Exemplu

z 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
z se poate reprezenta în forma neelementară
f(a,b,c)=b’.c’+a.(b+c)
Reprezentarea FB folosind simboluri

z Există două variante


z ANSI/IEEE 91-1973
z ANSI/IEEE 91-1984 şi IEC
Reprezentarea FB folosind simboluri
Reprezentarea FB folosind simboluri
Diagrama Veitch Karnaugh (V-K)

z metodă grafică de a reprezenta într-o formă


condensată tabelul de adevăr al unei FB
z poate 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ă
z 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ţiei
z căsuţe sunt aranjate în astfel încât mintermii (maxtermii) sunt
reprezentaţi într-o dispoziţie geometrică care permite
evidenţierea mintermilor adiacenţi
z Liniile ş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

Tabela de adevăr a funcţiei f

x y f Diagrama V-K a funcţiei f

0 0 0 m0 f

0 1 1 m1 x

0 1 x
1 0 1 m2
0 m0 m1
0 1
1 1 1 m3 1 y
m2 m3
1 1
y
Diagrama V-K pentru n=3

Diagrama V-K a funcţiei g


Tabela de adevăr 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)
g
x y z g

y
0 0 0 0 m0
0 0 1 1 m1
00 01 11 10 yz
0 1 0 1 m2

0 1 1 0 m3 0 m0 m1 m3 m2
0 1 0 1
1 0 0 0 m4
1 m4 m5 m7 m6 x
1 0 1 1 m5 0 1 1 0

1 1 0 0 m6 x

1 1 1 1 m7 z
Liniile indică zonele pentru
care variabila ia valoarea 1
Diagrama V-K pentru n=4
(a se observa schimbarea poziţiei combinaţiilor 10 cu 11
x y z w h pentru a obţine adiacenţa între căsuţele alăturate)
0 0 0 0 0 m0
h
0 0 0 1 1 m1
0 0 1 0 1 m2 z
0 0 1 1 1 m3
0 1 0 0 0 m4 00 01 11 10 zw
0 1 0 1 0 m5
0 1 1 0 1 m6 00 m0 m1 m3 m2

0 1 1 1 1 m7
0 1 1 1

1 0 0 0 0 m8 01 m4 m5 m7 m6 y
0 0 1 1
1 0 0 1 1 m9
1 0 1 0 0 m10
x 11 m12 m13 m15 m14
0 1 0 1
1 0 1 1 1 m11
10 m8 m9 m11 m10
1 1 0 0 0 m12
0 1 1 0
1 1 0 1 1 m13
xy
1 1 1 0 1 m14
1 1 1 1 0 m15
w
Reprezentarea FB pe hipercub
z 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

x
0 1

z Exemplu f(x)=x

x
0 1
Reprezentarea FB pe hipercub
(2 variabile)

z Funcţii de două variabile


– se utilizează un sistem cu 2
axe de coordonate (câte una
y
(1,1)
pentru fiecare variabilă) (1,0)
– Hipercubul corespunde unui
pătrat
– Cele 4 combinaţii posibile ale x
(0,0) (0,1)
valorilor funcţiei corespund
celor 4 vârfuri ale pătratului
Reprezentarea FB pe hipercub
(2 variabile)

z Funcţii de două variabile b


(1,1)
– Exemplu: f(a,b)=a+b (1,0)

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

a
(0,0) (0,1)
Reprezentarea FB pe hipercub
(3 variabile)

z Funcţii de 3 variabile
z se utilizează un sistem cu 3 axe de coordonate (câte una
pentru fiecare variabilă)
z Hipercubul corespunde unui cub
z Cele 8 combinaţii posibile ale valorilor funcţiei corespund celor
8 vârfuri ale cubului
(1,1,0) (1,1,1)
y
(0,1,0) (0,1,1)
z
(1,0,0)
(1,0,1)
(0,0,0) (0,0,1) x
Reprezentarea FB pe hipercub
(3 variabile)

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

(1,1,0) (1,1,1)
b
(0,1,0) (0,1,1)
c
(1,0,0)
(1,0,1)
(0,0,0) (0,0,1) a
Reprezentarea FB prin diagrame de
semnale

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

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


Arbori de decizie binară
z Reprezentarea FB F prin tabelă de adevăr şi arbore de decizie
binară
Automate programabile

Minimizarea funcţiilor
booleene

1
Introducere

z Deoarece FB modelează funcţionarea


circuitelor logice sau schemelor cu contacte
minimizarea poate determina reducerea
costurilor de materializare a acestor scheme
Problema minimizării

z 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

z apariţia unui număr minim de literale


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

z 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

z Se aplică proprietăţile algebrei booleene


– distributivitatea
– idempotenţă
– absorbţia
Metoda 1. Exemplu

z 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.

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

z 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

z Dacă combinăm m0 şi m2, m4 şi m5, m3 şi m7


obţ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

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

z este o metodă grafică pentru minimizarea cu


uşurinţă a FB cu până la 6 variabile
z că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

z fiecare căsuţă care are un 1 corespunde unui


minterm a FCND a funcţiei
z două celule adiacente în diagramă
corespund la doi mintermi care diferă între ei
doar prin forma unei singure variabile
z perechea 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

z 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

z 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

z 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

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
z 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’
Teorema implicanţilor primi

z pentru o funcţie booleană, o expresie sub


forma normală (sumă de produse) minimală
este o sumă de implicanţi primi ai funcţiei.
z 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

z Î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

z 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

t 1=x’yz f
zw z
t 2=yzw xy 00 01 11 10
00 0 0 0 0
t 3=xyw 01 0 0 1 1 y
x 11 0 1 1 0
t 4=xz’w 10 1 1 0 0

t 5=xy’z’ w
Metoda 2. Exemplul 2

z Funcţia f se poate scrie ca suma tuturor


implicanţilor primi:

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

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

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


Metoda Quine McCluskey

z Permite minimizarea unor funcţii cu număr


mare de variabile
z permite implementarea uşoară a algoritmului
cu ajutorul unui program pe calculator
Pondere a unui număr binar

z 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ăr
z Exemplu
– Ponderea numărului binar x=1001 este 2
– Ponderea numărului binar x=1101 este 3
Algoritmul Quine-McCluskey

z 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 binare
2. 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ă în
tabelul 2.
După completarea tabelului 2, se repetă comparaţiile
de la punctul 3, pentru elementele din tabel şi rezultă
tabelul 3, şi aşa mai departe
z 5. când se ajunge la un tabel care conţine un singur
număr binar, atunci termenul corespunzător este un
implicant prim al funcţiei. Ceilalţi implicanăţi primi se
găsesc căutând în toate tabelele construite termenii
care nu au fost folosiţi în comparaţii.
Algoritmul Q-M. Exemplu

z Se consideră funcţia
Algoritmul Q-M. Exemplu. Tabelul 1
Algoritmul Q-M. Exemplu. Tabelul 2
Automate programabile

Circuite logice
combinaţionale (CLC)

1
Definiţie

z Sisteme la care semnalele de ieşire depind doar de


combinaţia valorilor semnalelor aplicate la intrare.
Descriere

z Funcţionarea circuitelor combinaţionale este


descrisă de un set de funcţii booleene

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

z 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

z Materializarea FB determină structura internă a CLC


z O FB poate fi reprezentată folosind diverse expresii
booleene => un CLC poate avea diverse structuri
realizând aceeaşi funcţionalitate
z Următoarele denumiri se pot folosi una în locul
celeilalte:
– variabilă = semnal de intrare = intrare
– funcţie = semnal de ieşire = ieşire
Specificarea CLC

z 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

z 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

z Se dă structura circuitului
z Se 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

z Să se determine valorile la ieşirile circuitului din


figură pentru x1=0, x2=1, x3=1 şi x4=0.
Subproblema 1. Exemplu

z Se determină expresiile ieşirilor


Subprobelma 1. Exemplu

z 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)
z Î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

z Se dă structura circuitului
z Se 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

z Să se determine valorile la ieşirile circuitului


pentru toate combinaţiile posibile aplicate la
intrări.
Subproblema 1. Exemplu

z Se determină expresiile ieşirilor


Subprobelma 1. Exemplu

z 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)
z 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

z 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’)
z 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

z 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
x1 x2 x3 x4 F1 F2
0 0 0 0 0 0 m0
0 0 0 1 1 0 m1
0 0 1 0 1 1 m2
z Construim tabela de adevăr
0 0 1 1 1 1 m3 pentru cele două funcţii F1şi
0 1 0 0 0 0 m4 F2 trecând valori de 1 în
0 1 0 1 0 0 m5
dreptul mintermilor care intră
0 1 1 0 1 0 m6
0 1 1 1 0 0 m7
în componenţa FCND .
1 0 0 0 1 1 m8 Restul valorilor vor fi 0
1 0 0 1 0 0 m9
1 0 1 0 0 0 m10
1 0 1 1 0 0 m11
1 1 0 0 0 0 m12
1 1 0 1 0 0 m13
1 1 1 0 0 0 m14
1 1 1 1 1 1 m15
Sinteza circuitelor logice
combinaţionale

z 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
z 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;
z 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

z 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.
z Se realizează minimizarea funcţiilor booleene care rezultă din
etapa precedentă
z Se implementează daca este cazul cu funcţiile elementare
impuse de realizarea practică
z Se stabileşte logigrama plecând de la forma minimă obţinută
pentru funcţiile de ieşire în pasul al treilea
z Se analizează circuitul obţinut pentru a vedea dacă
corespunde condiţiilor impuse iniţial (etapă facultativă).
Automate programabile

Circuite logice
combinaţionale (CLC)

1
Circuite de validare

z Semnalul de validare permite unui semnal să


treacă printr-o poartă logică
z 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

z Operaţia de conversie a unei intrări pe n biţi


intr-o ieşire de m biţi
z Circuitele care realizează decodarea se
numesc decodoare
z denumite decodoare n la m unde m<=2n
Decodoare

z Un decodor 2 la 4 are 2 intrări şi 4 ieşiri


z Funcţionarea acestui decodor este dată de
tabela de adevăr

S1 S0 Q0 Q1 Q2 Q3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
Decodoare

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

z Multe circuite au o intrare adiţională numită


de validare care permite activarea sau
dezactivarea circuitului
z Pentru 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

z Tabela de adevăr a decodorului va fi:

EN S1 S0 Q0 Q1 Q2 Q3
0 0 0 0 0 0 0
0 0 1 0 0 0 0
0 1 0 0 0 0 0
0 1 1 0 0 0 0
1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1
Decodoare cu intrări de validare
EN S1 S0 Q0 Q1 Q2 Q3
z Se observă că pentru 0 0 0 0 0 0 0
EN=0 toate ieşirile sunt 0 0 1 0 0 0 0
0 1 0 0 0 0 0
0 indiferent de valorile 0 1 1 0 0 0 0
intrărilor S0 şi S1 1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1

z Tabela poate fi scrisă EN S1 S0 Q0 Q1 Q2 Q3


0 x x 0 0 0 0
într-un format mai 1 0 0 1 0 0 0
compact astfel: 1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1
Decodoare. Simbol

z 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 Q7
Q0 = S2’ S1’ S0’
0 0 0 1 0 0 0 0 0 0 0
Q1 = S2’ S1’ S0
0 0 1 0 1 0 0 0 0 0 0
Q2 = S2’ S1 S0’
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0 Q3 = S2’ S1 S0
1 0 0 0 0 0 0 1 0 0 0 Q4 = S2 S1’ S0’
1 0 1 0 0 0 0 0 1 0 0 Q5 = S2 S1’ S0
1 1 0 0 0 0 0 0 0 1 0 Q6 = S2 S1 S0’
1 1 1 0 0 0 0 0 0 0 1 Q7 = S2 S1 S0
Implementarea FB utilizând
decodoarele

z Decodoarele sunt uneori denumite Q0 = S1’ S0’


generatoare de mintermi. Q1 = S1’ S0
– pentru fiecare combinaţie la intrări doar una Q2 = S1 S0’
dintre ieşiri este 1 Q3 = S1 S0
– fiecare ecuaţie conţine toate variabilele de
intrare
– proprietăţile sunt adevărate pentru
decodoare de orice dimensiune
z Cu ajutorul decodoarelor se poate
implementa orice funcţie
Implementarea FB utilizând
decodoarele. Exemplu

z Funcţiile având tabelul de


adevăr de mai jos pot fi
scrise sub forma canonică X Y Z C S
0 0 0 0 0
disjunctivă astfel:
0 0 1 0 1
– C(x,y,z)=m3+m5+m6+m7 0 1 0 0 1
– C(x,y,z)=m1+m2+m4+m7 0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Implementarea FB utilizând
decodoarele. Exemplu

Cu 2 decodoare Cu 1 decodor
Multiplexoare

z Un multiplexor 22->1 trimite una


dintre cele 2n intrări la ieşirea
circuitului.
z Un multiplexor are 2 seturi de intrări:
– 2n linii de date
– n linii de selecţie
z Multiplexorul 2->1 are ecuaţia şi
blocul funcţional de mai jos:
Q = S’ D0 + S D1
Multiplexoare
S D1 D0 Q
Tabelul de adevăr al unui 0 0 0 0
multiplexor este: 0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1

El poate fi scris mai compact S Q


0 D0
astfel: 1 D1
Implementarea FB folosind
multiplexoarele

z Multiplexoarele pot fi folosite pentru


implementarea oricărei FB.
z 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

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

x y z f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
Implementarea FB folosind
multiplexoarele
x y z f
z Metoda 2 – se înlocuieşte un multiplexor 0 0 0 0
8->1 cu unul 4->1 0 0 1 1
0 1 0 1
– Se grupează rândurile din tabelul de adevăr
0 1 1 0
z când xy=00, f=z 1 0 0 0
1 0 1 0
z când xy=01, f=z’
1 1 0 1
z când xy=10, f=0 1 1 1 1
z câ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.
Automate programabile

Circuite logice
secvenţiale (CLS)

1
Circuite secvenţiale

z Circuite logice combinaţionale


– ieşirile depind doar de combinaţia de valori de la
intrare
z Circuite 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

z 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
z 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’.
z Notaţia folosită pentru ieşiri indică faptul că
ieşirile circuitului sunt complementate.
CBB de tip RS

z cu Q sau Q(t) se notează starea prezentă a


circuitului, starea la momentul când se aplică
semnalele de intrare
z cu 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

z Intrarea S se va folosi
pentru a înscrie
informaţia în circuit,
z 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:


z î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ă.
z 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.
z 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=0
Qn+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

z Un circuit basculant bistabil JK este prevăzut


cu două intrări de date J, K
z La 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=l
1 0 0 0
1 0 1 0 Qn+1=0
1 1 0 1
1 1 1 0 Qn+1= Qn’
CBB de tip JK. Funcţionare

z 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’)
z pentru restul combinaţiilor dintre semnalele J
şi K se comportă conform tabelului de adevăr
al unui bistabil RS,
z 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=l
1 0 0 0
1 0 1 0 Qn+1=0
1 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

z Un circuit bistabil de tip D este prevăzut cu o


intrare de date şi o intrare de tact C.
z 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

z Starea ieşirii bistabilului D la momentul tn+1


este identică cu cea de la intrarea sa la
momentul tn,
z 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

z 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

z 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
Automate programabile

1
Generalităţi
z au apărut la sfârşitul anilor 60 în industria de automobile
z a dus la diminuarea timpilor necesari schimbării schemelor de
comandă, de la aproape 1 lună la câteva zile
z Apariţia microprocesoarelor şi utilizarea acestora în construcţia
AP a dus la dezvoltarea funcţionalităţii acestora odată cu
reducerea preţului de cost
z cu îmbunătăţirea performanţelor componentelor
microelectronice, s-au îmbunătăţit şi performanţele AP
– gabaritul,
– preţul de cost
– consumul de energie
Linie de asamblare automata
Avantajele AP

z Flexibilitatea
z Uşurinţă în modificarea programului şi
corectare a erorilor
z Număr mare de resurse
z Cost redus
z Costuri reduse de punere în funcţiune
Avantajele AP

z Posibilitatea vizualizării funcţionării


z Viteza de funcţionare
z Metode diferite de programare
Avantajele AP

z Siguranţa în funcţionare
z Documentaţia
z Simplitatea achiziţiei sistemului de
comandă
z Modificarea funcţionalităţii schemei de
comandă
z Achiziţionarea rapidă a elementelor
schemei de comandă
Flexibilitatea

z AP elimină necesitatea ca să fie realizată o schemă


de comandă pentru fiecare sistem de acţionare
specific.
z cu un singur tip de AP pot fi implementate scheme
de comandă diferite
z 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.
z 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

z 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.
z 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.
z 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 clasice
z modificarea unei scheme de comandă prin adăugarea, de exemplu, a
unor contacte,necesita adăugarea unor relee sau blocuri de contacte
suplimentare.
z Consecinţe
– costuri suplimentare şi
– modificarea schemei de amplasare care să includă şi componentele noi.
AP
z 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.
z dacă nu se depăşeşte capacitatea AP, nu se modifică nici necesarul de
elemente componente ale schemei
z Consecinţă
– nu avem creştere a costului implementării obţinute.
Cost redus

z Costurile AP, realizate cu ajutorul circuitelor


numerice integrate pe scară foarte largă,
continuă să scadă datorită evoluţiei
tehnologice în domeniul electronicii.
z 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 clasice
z Buna funcţionare putea fi verificată doar după ce era
realizată fizic schema cu relee pentru a fi apoi
testată şi verificată.
AP
z 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

z În cazul AP este posibilă urmărirea funcţionării acestuia pe un


ecran.
z 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ă.
z În unele scheme de comandă se poate realiza uşor
identificarea unor funcţionări defectuoase prin afişarea unor
mesaje de eroare.
z Elementele schemei de comandă pot fi uşor identificate în
cadrul programului AP prin atribuirea acestora a unor nume
simbolice, sugestive
z Se pot adăuga comentarii pentru a uşura citirea schemei.
Viteza de funcţionare
Sistemele clasice
z Datorită 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ă
AP
z Pe 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.
z La ora actuală, mărimea timpului de baleiere a programului
este de ordinul milisecundelor.
Metode diferite de programare

z 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.
z 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

z 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.
z Întreţinerea dispozitivelor electronice este
mai uşoară iar cheltuielile de reparaţii sunt şi
ele reduse.
Documentaţia
Schemele clasice
z Modificări ale schemei de comandă, fizic realizate în circuitul
electric, nu erau operate şi în schema electrică din
documentaţie.
z După mai mulţi ani documentaţia poate să lipsească sau să fie
incompletă
AP
z Programul de aplicaţie prin care AP urmează să implementeze
schema de comandă, poate fi listat cu uşurinţă la o imprimantă.
z Se poate obţine oricând prin listare schema de comandă care
este în acel moment în funcţionare
Securitate

Schemele clasice
z Posibilitatea de intervenţie şi de modificare în timpul
funcţionării nu este întotdeauna asigurată
AP
z Modificarea 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 clasice
z Erau alcătuite de cele mai multe ori din multe elemente diferite
achiziţionate de la producători diferiţi.
z Obţinerea acestor produse atât pentru realizarea schemei dar şi
pentru înlocuirea unor elemente defecte în decursul funcţionării
acesteia este costisitoare
z Necesită timp şi alocare de resurse umane.
AP
z Automatele conţin de la început toate elementele necesare, deci
acestea sunt disponibile toate odată la momentul achiziţiei.
z Î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ă

z Funcţionalitatea schemei de comandă poate fi


modificată uşor prin reprogramarea AP
z Se pot realiza schimbări uşoare şi rapide în fluxul de
producţie în care intră acestea, ceea ce constituie un
avantaj.
z 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ă

z 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.
z De obicei, numărul acestora este mai mare decât
necesarul real, ele sunt deja disponibile prin program
şi nu este necesară comanda lor.
z AP actuale, permit utilizarea unor blocuri funcţionale
complexe care oferă o gamă largă de posibilităţi de
implementare a schemei de comandă.
Dezavantajele automatelor programabile

z Noutatea tehnologiei
z Aplicaţiile specifice
z Influenţa mediului
z Funcţionarea nesigură la apariţia unor defecte
Noutatea tehnologiei

z AP constituie o noutate tehnologică pentru


majoritatea electricienilor şi tehnicienilor
z Impune un nou mod de gândire diferit de cel
necesar schemelor de comandă clasice
bazate pe relee cu contacte.
z Necesită utilizarea calculatorului pentru
scrierea şi rescrierea programelor de aplicaţii
pentru AP
z Utilizează simboluri diferite faţă de
standardele naţionale
Aplicaţii specifice
z Există anumite scheme de comandă care sunt specifice unor
anumite scheme de acţionare şi nu presupun modificarea
acestora.
z În aceste cazuri nu se justifică utilizarea unor sisteme de
comandă bazate pe elemente ce pot fi programate, cum ar fi
AP.
z 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.
z Exemplu: utilizarea controlerelor mecanice cu came pentru
realizarea unor anumite secvenţe de comenzi.
Influenţa mediului

z Î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
z În cazul unei scheme de comandă clasice butonul de oprire
deconectează schema de comandă de la sursa de alimentare
oprind funcţionarea acesteia.
z 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
z Î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

z Î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

z Î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

z Î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

z 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
z Rezultatele sunt valorile care trebuie să fie atribuite ieşirilor AP.
z Această operaţie se execută în fiecare ciclu ţinând seama de
valorile actualizate ale intrărilor.
z 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

z 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ă.
z 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

z Î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.
z 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.
z Î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

z Funcţiile de calcul aritmetic pot fi:


– incrementarea,
– decrementarea,
– decalaj de biţi,
– codificare
– etc.
z 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

z 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

z În perioada de exploatare, sunt necesare dialoguri


om-maşină având drept scop conducerea maşinii,
realizarea de reglaje sau efectuarea depanării.
z 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

z 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.
z AP trebuie să aibă posibilitatea de a dialoga
într-un mod bine determinat cu terminalele
periferice ale sistemului central.
Dialogul de programare

z Prima punere în funcţiune precum şi eventualele


modificări datorită evoluţiei procesului de producţie
necesită existenţa unui dialog de programare.
z Cele mai uzuale căi de a realiza acest dialog este
utilizarea unui calculator sau a unei console de
programare.
z 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)

z 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.
Automate programabile

Structura automatelor
programabile

1
Introducere
z 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ă).
z În acest caz, fiecare bloc poate fi realizat fizic sub forma unui
modul specific.
z 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ă.
z 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

Modulare

Tip Rack Tip Mini


Compacte

Tip Extensibil Tip Micro


Dimensiunile AP

z AP Micro : < 32 I/O


z AP Mici: 32-128 I/O
z AP Medii: 128 -1024 I/O
z AP Mari: 1024 - 4096 I/O
z AP Foarte Mari: 4096- 8192 I/O
Elementele componente ale AP

z Unitatea centrală de prelucrare


z Programatorul/Monitorul
z Module de intrare/ieşire
z Sertare şi carcase
şi opţional
z Imprimantă
z Unităţi de stocare a informaţiei
Elementele componente ale AP
Unitatea centrală de prelucrare

Conţine
z Procesorul
z Memoria
z Sursa de alimentare
Procesorul

z Unul sau mai multe microprocesoare care


realizează:
calcule aritmetice şi logice;
z Comunicaţia şi interacţiunea dintre celelalte
componente.
Memoria

z Aceasta poate fi de mai multe tipuri:


z ROM
z RAM
Memoria
z ROM (read only memory) – această memorie este utilizată pentru
stocarea sistemului de operare al AP;
z RAM (random access memory) – este împărţită în mai multe blocuri
având fiecare o utilizare specifică.
z 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ă.
z 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

z Realizează adaptarea şi conversia tensiunii


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

z 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.
z Programatorul poate fi:
– un programator manual,
– un terminal industrial
– un calculator personal.
Module de intrare/ieşire.

z 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.

z Aceste elemente permit montarea într-un


ansamblu unitar a elementelor AP.
Imprimantă

z 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
z 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).
z 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.
z 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)

z Semnalele sunt de tip logic


z Valorile tipice sunt:
– “0” logic = 0 V
– “1” logic =
z 5 V cc

z 12 V cc
z 24 V cc
z 48 V cc
z 12 V ca
z 24 V ca
z 120 V ca
z 240 V ca
Modulele de intrare digitale
z Permite unităţii centrale a AP să efectueze o
citire a stării logice a traductoarelor sau
senzorilor care îi sunt asociaţi.
z Modulele au în general 4, 8, 16 sau 32 de
intrări.

z Fiecărei intrări îi corespunde o cale care


prelucrează semnalul electric pentru a
elabora o informaţie binară, bitul de intrare
care este memorat.
Modulele de intrare digitale
z Schema bloc a căii de semnal pentru o intrare
digitală
Modulele de intrare digitale
z Ansamblul 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.

z Fiecare cale este filtrată împotriva paraziţilor şi a contactelor


imperfecte şi izolate electric pentru a mări fiabilitatea şi
securitatea sistemului (izolare galvanică).

z 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

Structură
Structură NPN
NPN
cu
cu 33 fire
fire
AP
AP
Maro Vcc
Vcc senzor +24 V
intern
AP

Negru
In NPN

Albastru
0V AP
Masa Masa
senzor internă
Structura şi conectarea senzorilor (cu
2 fire) la intrările digitale tip NPN

Structură
Structură NPN
NPN 22
fire
fire AP
AP
Vcc intern
+24 V AP

Negru
In NPN

Albastru
0V AP
Masă Masă
senzor internă
Structura şi conectarea senzorilor (cu
3 fire) la intrările digitale tip PNP

Structură
Structură PNP
PNP
cu
cu 33 fire
fire AP
AP
Maron
Vcc senzor +24 V
AP

Negru In
PNP

Albastru
0V AP
Masă Masă
senzor internă
Structura şi conectarea senzorilor (cu
2 fire) la intrările digitale tip PNP

Structură
Structură PNP
PNP 22 fire
fire AP
AP

Maron
Vcc senzor +24 V
AP

Negru
In
PNP

0V AP Masă
internă
Module de numărare de mare viteză

z Sunt module de intrare digitale care au de îndeplinit funcţia de


numărare a impulsurilor aplicate la intrarea modulului.
z 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.
z Sunt utilizate în general pentru numărarea impulsurilor cu
frecvenţă mare provenind de la senzori, encodere, sau
contacte.
z 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

z Un modul de ieşire permite automatului programabil


să acţioneze asupra elementelor de acţionare.
z Realizează corespondenţa: stare logică - semnal
electric.
z 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.
z Elementele de comutaţie ale modulului sunt
– electronice ( tranzistoare şi triacuri )
– electromecanice (contacte de relee interne modulului).
Modulele de ieşire digitale

z Ieşirile cu tranzistoare sunt utilizate în cazul


comenzii dispozitivelor de c.c.
z Ieşirile cu triacuri sunt folosite pentru comanda
dispozitivelor de c.a.
z Ieşirile cu relee pot fi utilizate atât pentru comanda
dispozitivelor de c.c. cât şi a celor de c.a.
z 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

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


digitală
Ieşire digitală electromecanică

Electromecanică cu releu
AP Yx
R

C
Cx

250V – 2A minim
Ieşiri digitale de tip static

Statică de c.a. Statică de c.c.

AP AP
Yx Yx

µC Cx µC Cx
Opto-Triac/tiristor Opto-Tranzistor Bipolair NPN / PNP
Modulele de intrare/ieşire analogice

z 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.
z Rezoluţia (cea mai mică valoare de curent sau
tensiune) este dată de numărul de biţi utilizaţi
pentru codificarea numerică.
z O altă caracteristică a unui astfel de modul este
viteza de conversie.
Modulele de intrare analogice

z 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

z Schema bloc a căii de semnal pentru o intrare analogică cu


detecţie de prag
Modulele de intrare analogice de
măsură

z Modulele sunt prevăzute cu circuite de conversie analog numerică


(A/N).
z 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).
z Modulele de curent sunt unipolare şi primesc la intrare curenţi în
general în gama 4÷20mA.
z Există posibilitatea reglării atenuării sau amplificării semnalului de
intrare ceea ce permite mărirea domeniului de măsură.
z 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ă

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


măsură
Modulele de ieşire analogice

z Fiecare ieşire este imaginea analogică a valorilor


numerice codificate pe un grup de biţi (8 sau 12)
definit de program.
z 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.
z Fiecare ieşire este definită prin natura semnalului
furnizat şi prin limitele sale (0-10V, 4-20 mA).
Modulele de ieşire analogice

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


analogică
Module de intrare/ieşire la distanţă

z 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.
z Caracteristici:
– calea prin care este transmisă informaţia
– distanţa de la care se realizează această transmisie.
z 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)
z Utilizate datorită imunităţii crescute la perturbaţii.
Modulele de comunicare

z Cea mai utilizată legătură pentru dialog între


AP şi elementele periferice (terminale de
programare sau exploatare, imprimante, ...),
este cea serie.
z Acest mod de comunicare permite schimbul
de caractere compuse din biţi transmişi unul
după altul pe linia de comunicare.
z Viteza de transmisie se exprimă în biţi pe
secundă (bauds).
Module de comunicare cu server
z 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.
z În general, comunicarea de la server la AP prin intermediul
acestor module este folosită pentru programarea AP.
z Pot fi modificaţi anumiţi parametri în program sau chiar întregul
program existent în memoria AP.
z Î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.
z 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)

z Modulele de la egal la egal sunt utilizate


pentru a permite comunicare AP între ele.
z 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

z Au capacitatea de a recepţiona şi a transmite


informaţia codificată folosind fişiere în cod
ASCII.
z 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

z 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.
z Modulele pot fi utilizate pentru controlul
poziţiei în sisteme în
– buclă deschisă
– buclă închisă.
Module de poziţionare în buclă deschisă

z În această categorie intră modulele de control a


poziţiei bazate pe utilizarea motoarelor pas cu pas
(MPP).
z Asigură o serie de funcţii, în special de accelerare şi
încetinire
z Este mult uşurată comanda MPP cu ajutorul AP în
aplicaţii ce implică poziţionarea precisă în două sau
trei axe.
z 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ă

z Utilizate pentru comanda maşinilor cu


comandă numerică, linii de asamblare
automate sau robotică.
z 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.
z Pentru închiderea buclei, în cazul controlului
poziţiei se utilizează un encoder.
z Pentru reglajul vitezei, închiderea buclei este
realizată cu ajutorul unui tahometru.
Module video

z Folosite în special în aplicaţiile care necesită


realizarea unor operaţii de inspecţie în cadrul
procesului de fabricaţie.
z Se poate face un reglaj automat al procesului
pentru eliminarea pieselor fabricate
necorespunzător.
Module cititoare pentru codurile de bare

z Utilizarea codurilor de bare pentru identificarea


automată a devenit o practică curentă în cadrul
liniilor de asamblare automată.
z 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.
z Permite ţinerea evidenţei exacte a stocurilor
existente şi a celor care sunt în curs de a fi finalizate.
z Î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
z AP pot fi utilizate în acest scop în cazul în care nu se urmăreşte
aplicarea unor algoritmi de reglare de complexitate ridicată.
z Variante:
– utilizarea unor module de prelucrare speciale;
– utilizarea modulelor de intrare/ieşire obişnuite şi materializarea
prin program a algoritmilor de reglaj.
z Cele mai utilizate module pentru reglajul automat sunt cele care
implementează algoritmii de tip PID.
z 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

z Î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.
z 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.
z 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ă

z Funcţii:
– (principală) cea de programare a AP.
– monitorizarea funcţionării AP,
– verificarea programului înscris în memoria AP
– depanarea circuitului
z 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.
z Prin cuplarea terminalului, comportarea AP poate fi examinată în
timpul funcţionării.
z 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ă

z Dimensiunile acestora pot varia de la câteva linii de caractere


până la un ecran.
z Î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.
z 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

z Dispozitive simple care au de cele mai multe ori doar un


monitor şi o tastatură.
z Sunt dotate cu inteligenţă, întreaga funcţionalitate privind
comunicarea dintre om şi maşină este înglobată în AP.
z Afişează informaţia transmisă de AP şi permit introducerea şi
transmiterea informaţiei de la utilizator la AP.
z Transmiterea informaţiei prin intermediul acestor terminale se
realizează în format ASCII.
z Avantaj: preţ de cost redus, terminalul poate fi utilizat cu o
gamă largă de AP.
z Dezavantaj: nu permit încărcarea unui program sau modificarea
acestuia în memoria AP.
z Utilizarea lor devine din ce în ce mai redusă.
Terminale industriale dedicate
z Au încorporată o anumită inteligenţă care le permite să îndeplinească
o parte mai mică sau mai mare din funcţiile amintite mai sus.

z O serie de terminale permit scrierea directă a programului în memoria


AP.
z 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.

z Mare parte din aceste dispozitive permit utilizatorului să depaneze


programul scris chiar în timpul funcţionării acestuia.
z 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ă
z Sunt utilizate în general pentru programarea AP de dimensiuni mici.
z 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.
z 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.
z Avantaje: dimensiunile mici care le fac portabile.
z 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
z Datorită creşterii numărului de calculatoare personale
disponibile, acestea au devenit în ultimul timp unul dintre cele
mai folosite dispozitive de interfaţă om maşină.
z 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

z Criteriu
z Numărul de intrări şi ieşiri logice
z Memoria
z Numărul de module speciale de I/O
z Posibilităţile de extindere
z Timpul de scanare
z Posibilităţi de comunicaţie
z Pachetele de programe software
z Suport tehnic
z Preţul
Exemplu de foaie de catalog`
Standardizarea
dezvoltării programelor
de aplicaţie pentru
automatele 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 comune
a.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 COMUNE
Tipuri de date & Variabile
cum ar fi:
BOOL
BYTE
INTEGER
REAL
DATE
TIME_OF_DAY
STRING
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

Resursa Resursa

Functie de comunicatie
IEC 61131-3: Model Software

Configuratie

Resursa Resursa

Task Task Task Task

Functie de comunicatie
IEC 61131-3: Model Software

Configuratie
Resursa Resursa

Task Task Task Task

Program Program Program Program

Calea de
executie a
comenzii

Functie de comunicatie
IEC 61131-3: Model Software
Configuratie
Resursa Resursa

Task Task Task Task BF


Bloc
Functional

Program Program Program Program


BF BF BF BF

Calea de
executie a
comenzii
Cale de acces

Functie de comunicatie
IEC 61131-3: Model Software

Configuratie
Resursa Resursa Cale de
acces
variabila
Task Task Task Task
BF
Bloc
Functional
Program Program Program Program
BF BF BF BF Variabila
Variabile globale si directe
Cale de
executie a
Cale de acces comenzii

Functie de comunicatie
IEC 61131-3 : Elemente comune

ELEMENTE COMUNE

Tipuri de date & Variabile


Configuraţie, Resurse, Taskuri

Unitati de organizare a programelor


* Funcţii
* Blocuri funcţionale
* Programe
Funcţii …..

* Funcţii standard
ADD, SQRT, SIN, COS, GT, MIN, MAX, AND, OR, etc.
* Funcţii definite de utilizatori:
FUNCTION SIMPLE_FUN : REAL
VAR_INPUT
A, B : REAL;
C : REAL := 1.0;
END_VAR
SIMPLE_FUN := A*B/C;
END FUNCTION
…. & Blocuri funcţionale (BF)

z BF standard INPUT OUTPUT IN_OUT EXTERNAL

z BF adiţionale FUNCTION_BLOCK
Type Local
z BF definite de
utilizator
Toate BF sunt Histerezis
utilizabile în alte REAL XIN1 Q BOOL
module sau REAL XIN2
REAL EPS
programe
Exemplu de Bloc Funcţional

Histerezis
REAL XIN1 Q BOOL
REAL XIN2
REAL EPS

Q
1

0
EPS EPS
XIN2
Exemplu de BF

FUNCTION_BLOCK HISTEREZIS
Histerezis VAR_INPUT
REAL XIN1 Q BOOL XIN1, XIN2 : REAL;
EPS : REAL; (* Zona de histerezis *)
REAL XIN2 END_VAR
REAL EPS VAR_OUTPUT
Q : BOOL := 0
END_VAR
IF Q THEN
Q IF XIN1 < (XIN2-EPS) THEN
1 Q := 0 (* XIN1 la descrestere *)
END_IF;
0 ELSIF XIN1 > (XIN2 + EPS ) THEN
Q := 1; (* XIN1 la crestere *)
EPS EPS END_IF;
END_FUNCTION_BLOCK
XIN2
Programe : proiectare ierarhizată

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

Automation
application
INPUT OUTPUT IN_OUT EXTERNAL

FUNCTION_BLOCK
PROGRAM
Type Local
Type Local
GLOBAL

INPUT

FUNCTION

Type Local
Diagrame funcţionale secvenţiale
(DFS)
z Metodă grafică puternică pentru
descrierea comportării secvenţiale
a programului de comandă Etapa 1 N Umple
z Folosit pentru partitionarea unei
probleme de comandă
Tranzitia 1
z Permite o viziune de ansamblu
ceea ce ajută la depanarea rapidă
z Elementele de bază sunt Etapele Etapa 2 S Goleste
care au blocuri de acţiuni şi Tranziţii
z Permite ramificarea şi execuţia în
Tranzitia 2
paralel a secvenţelor

Etapa 3
DFS secvenţe paralele

Etapa 1 N Umple

Tranzitia 1a Tranzitia 1b

Etapa 2 a S Goleste
Etapa 2 b S Goleste

Tranzitia 2a Tranzitia 2b

Etapa 3
Standardul IEC 61131-3

Elemente comune

Limbaje de programare
Limbajele de programare din IEC
61131-3

Lista de instrucţiuni Text structurat


LD A
ANDN B C:= A AND NOT B
ST C

Diagrama de blocuri funcţionale Diagrame scheme cu contacte

AND A B C
A C -| |--|/|----------------( )
B
Diagrame bazate pe scheme cu
contacte (DL)

z Set de simboluri de programare


bazate pe schemele cu
contacte (în limba engleză –
ladder), standardizat şi
perfecţionat
z Bazat pe stilul american de
programare care seamănă cu
A B C
schemele electrice americane
-| |--|/|----------------( )
standard
Lista de instrucţiuni (IL)

z Model de execuţie bazat pe structura


cu acumulator unic
z Bazat pe modelul german
LD A
‘Anweisungsliste’, AWL
ANDN B
z Pe fiecare linie de program este ST C
permisă o singură instrucţiune
Text structurat (ST)

z Bazat pe limbajele evoluate structurate pe blocuri


z Sintaxa asemănătoare limbajului PASCAL
z Sunt permise instrucţiuni complexe şi bucle
z Suport 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)

z Limbaj grafic mult utilizat în Europa


z Permite utilizarea elementelor de program Chimie
care apar sub formă de blocuri care trebuie
conectate împreună obţinându-se o formă
analogă cu o schemă electronică
z Folosite în multe aplicaţii care implică
transferul de informaţii între elementele de
comandă
AND
A C
B
Standardul IEC 61131-3

Sus -Jos

Elemente comune

Limbaje de programare
Jos -Sus
Medii de programare IEC

Multe dintre ele oferă:


z ecrane grafice de
programare
z suport pentru ferestre
multiple
z operare cu mouse
z meniuri pull-down
z funcţii de help încorporate
z verificare software în timpul
proiectării
Care este beneficiul acestui
standard ?
Utilizatori? Care utilizatori?

Sisteme de Producători
comandă
Integrator de sistem
Dvs ??

Educaţie
Programare

Mentenanţă Instalare
Utilizatori? Care utilizatori?

• Linii de producţie din industria auto


• Staţii de tratare a apei
• Echipamente de prelucrare şi împachetare în industria
alimentară
• 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

z Reduce consumul inutil de resurse


umane (în pregatire, depanare,
service şi consultanţă)
z Permite concentrarea pe rezolvarea
problemelor prin reutilizarea
modulelor existente (reduce Software
Library
investiţiile în dezvoltarea aplicaţiilor)
z Reduce neînţelegerile şi erorile
z Tehnicile de programare utilizabile Function Block
"Heating"

în mai multe domenii (sisteme de


Function
"LIMIT"
Function Block
"Feeding"

comandă industriale) Function


"TEST"
Function Block
"Turning"

z Combină armonios diferite


componente din proiecte, locuri,
companii sau ţări diferite
Automate programabile

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

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

z Î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ă

z Î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

z 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).

z 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.
z corespondenţă indicată prin alăturarea la notaţiile prezentate anterior a
unui identificator numeric care arată numărul resursei respective
Exemple de identificatori

z 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.

z Varianta 2:
– identificatorul modulului şi numărul de ordine sunt separate de
punct.
Exemple de identificatori

z 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

z 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.
z 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- AND, OR, ANDC, ORC,LD, LDC,STO, STOC,


Automatica) 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

L1

K1
K2

S2 K3

S3

K3 K4
N
Exemplu. Program IL General Electric
Program Observaţii

STR 000 start sau memorare (primele două cifre


AND NOT 001 ale identificatorului indică numărul
OR 002 modulului: 00 - modul de intrare,
AND 003 01 - modul de ieşire)
OUT 200 activare releu intern
STR 200 valoarea obţinută e trimisă la ieşirea 0 a
OUT 010 modulului 01
Exemplu. Program IL Kloeckner-Moeller

Program Observaţii

L I 0.0 încarcă intrarea 0, modulul 0.


AN I 0.1 SI-NU
O I 0.2 SAU
A I 0.3 SI
= M 0.0 marker, releu intern
L M 0.0
= Q 0.0 Ieşire
Exemplu. Program IL Siemens

Program Observaţii

U E 0.0 E:Eingang, intrare


UN E 0.1 UN: Und Nein, ŞI-NU
O E 0.2 O: Oder, SAU
U E 0.3 Und
= M 0.0 M: merker, releu intern
O M 0.0
= A 0.0 A: Ausgang, ieşire
Exemplu. Program IL Telemecanique

Program Observaţii

L I 0.0 Instrucţiunile sunt abrevieri ale


AN I 0.1 denumirilor engleze
O I 0.2
A I 0.3
= B 10 B: Bit, releu intern
L B 10
= O 0.0 O: Ieşire
Exemplu. Program IL Hitachi

Program Observaţii

ORG 000 start (variabilele de intrare încep de


AND NOT 001 la adresa 000, variabilele de
OR 002 ieşire de la adresa 200 iar
AND 003 variabilele de tip marker - releu
OUT 400 intermediar - de la adresa 400).
ORG 400 ieşirea se face pe releu intern
OUT 200 Ieşire
Exemplu. Program IL Mitsubishi

LD X000 Încărcare intrare X000


ANDI X001 SI-NU cu intrarea X001
OR X002 SAU cu intrarea X002
AND X003 SI cu intrarea X003
OUT M000 releu intern
LD M000 Încărcare releu intern
OUT Y000 Ieşire
Limbajul IL în standardul IEC 61131-3

z Lista de instrucţiuni este compusă dintr-o


secvenţă de instrucţiuni
z Fiecare instrucţiune începe pe o linie nouă şi
conţine operatorul (opţional cu modificatori) şi
dacă este necesar, unul sau mai mulţi operanzi
z Instrucţiunea poate fi precedată de o etichetă
urmată de caracterul “:”
Example de câmpuri ale instrucţiunilor

Etichetă Operator Operand Comentariu

START: LD %IX1 (* BUTON START*)


ANDN %MX5 (* NEBLOCAT *)
ST %QX2 (* VENTILATOR PORNIT*)

result := result OP operand


Operatori şi semnificaţia lor

LD Atribuie operandului rezultatul curent


ST Memorează rezultatul curent la locaţia
operandului
S Atribuie operandului de tip Boolean
valoarea 1
R 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 15
ST C10.PV
LD %IX10
ST C10.CU
CAL C10
3. Folosirea operatorilor de intrare:
LD 15
PV C10
LD %IX10
CU C10
Tipuri de blocuri funcţionale

Tip de BF Operatori Semnificaţie


SR S1,R Bistabil SR
RS S,R1 Bistabil RS
R_TRIG CLK Sesizare front crescător
F_TRIG CLK Sesizare front descrescător
CTU CU,R,PV Numărător crescător
CTD CD,LD,PV Numărător descrescător
CTUD CU,CD,R,LD,PV Numărător bidirecţional
TP IN,PT Temporizator
TON IN,PT Temporizator la închidere
TOF IN,PT Temporizator la deschidere
Bibliografie

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


language, www.plcopen.org

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


Limbaje de programare

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


Gh.Asachi, Iaşi
Automate programabile

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

1
Originile limbajului LD
z 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
z 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
z Scrierea unui program în limbajul LD presupune desenarea unei
diagrame (diagramă LD) similare unei scheme electrice cu contacte.
z Elementele componente ale diagramei LD modelează funcţionarea
elementelor unei scheme cu contacte.
z Interpretarea funcţionării diagramei LD este similară interpretării
schemelor electrice cu contacte.
z 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

z Contactele sunt elemente de programare


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

IN001 IN002 IN003

a) b)
Contactele

z În cadrul unui program LD, contactele pot fi asociate


intrărilor AP, ieşirilor AP sau unor variabile interne.
z 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

z 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:
z intrări cu memorie (latch),
z intrări active pe frontul crescător
z intrări active pe frontul descrescător.
Bobinele

z Bobinele sunt elemente de programare care


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

OUT 001 OUT 002 OUT 003

a) b)
Bobinele
z 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.
z Ca şi în cazul bobinelor din schemele electrice, bobinele din
programele LD pot avea două stări: alimentate sau
nealimentate.
z Ele pot fi asociate ieşirilor automatului dar şi unor variabile
interne modelând astfel releele auxiliare din cadrul schemelor
electrice cu contacte.
Bobinele
z Fiecare ieşire este de identificată în mod unic, modul de
identificare diferind de la un producător la altul.
z 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.
z La aceste ieşiri pot fi conectate dispozitive care au două stări
de 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

z Temporizatoarele sunt elemente de programare


care modelează funcţionarea releelor de timp şi a
contactelor temporizate.
z Sunt utilizate pentru a realiza acţiuni întârziate sau
ce durează un anumit interval de timp.
Ieşire
Validare
Nr. temporizator

Baza de timp

Iniţializare Valoarea
prestabilită
Temporizatoarele

z Producătorii de AP furnizează atât funcţii elementare


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

z Fiecare temporizator din schemă este identificat în mod unic,


modul de identificare fiind diferit de la un producător la altul.
z În cazul în care baza de timp este aceeaşi pentru toate
temporizatoarele, precizată în manualul de programare a AP,
aceasta este omisă.
z Valoarea prestabilită poate fi exprimată în unităţi de timp (s).
z Temporizatoarele au cel puţin o intrare de iniţializare, la
activarea căreia începe temporizarea şi o ieşire.
z Î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

z 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.
Ieşire
Numărare
Nr. numărător

Ieşire negată

Iniţializare Valoare
prestabilită
Numărătoarele
z 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.
z 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.
z 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

z 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.
z 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.
z 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

z Pentru materializarea unor funcţii mai complexe menite


să uşureze scrierea programelor în limbaj LD sunt
utilizate blocurile funcţionale (BF).
z 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ă.
z 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

z 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

z Limitările ţin de:


– proprietăţile intrinseci ale limbajului;
– implementările specifice ale diferitelor pachete de
programe comerciale
z Sunt datorate soluţiilor tehnice adoptate de
firmele producătoare pentru implementarea
diverselor elemente ale limbajului.
Limitări privitoare la formatul
diagramei LD

z 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.
z 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

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

z 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.
z 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.
z Etapa de actualizare a ieşirilor constă în transferarea
informaţiei din tabela ieşirilor către terminalele de ieşire a
automatului.
z 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

z 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.
z În scrierea unui program în limbajul LD trebuie avute
în vedere şi modul în care este interpretat programul
scris.
Interpretarea programelor LD

z 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
z Î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ă.
z 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

z 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

Linie a programului

z Liniile programului sunt


Fază A D E
evaluate de la stânga la Nul
dreapta şi de sus în jos B
Ramificaţie
z Ramificaţiile din cadrul F G H
unei linii sunt evaluate P S
de la stânga sus la I J K
R
dreapta jos
Bobine fără memorie

z Bitul corespunzător elementului este pus în 0 când


tensiunea de alimentare este oprită
– Bobină -( )-
z 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ă -( / )-
z Pune bitul în 0 când linia este evaluată la 1 logic şi pus în 1
când linia este evaluată la 0 logic
z În general nu e folosită datorită confuziei pe care o poate
introduce
Bobine fără memorie

– Bobină Set (Latch) -(S)-


z 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)-
z Pune bitul în 0 când linia este evaluată la 1 logic şi nimic
când linia este evaluată la 0 logic
Contacte

z 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.
z 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

z Contact activ pe frontul crescător -|P|-


– Validează partea dreaptă a liniei de program
pentru un ciclu când partea stângă este validată
z 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

z 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-reconectare
la sursa de alimentare
z 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

z Bitul din memorie corespunzător rămâne nemodificat


după întreruperea şi reconectarea alimentării
– Bobină cu memorie -(M)-
z Pune bitul în 1 când linia este validă şi o pune în 0 când
este invalidă.
– Bobină Set cu memorare (Latch) -(SM)-
z Pune bitul în 1 când linia este validă şi nu face nimic când
este falsă
– Bobină Reset cu memorare (Unlatch) -(RM)-
z Pune bitul în 0 când linia este validă şi nu face nimic când
este falsă
Bobine activate pe front

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

z 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

z Valorile timpului
– Baza de timp este de 1ms (1/1000 s)
– Valorile sunt introduse folosind formatul literal
Temporizatoare in limbajul LD

Pump_Tmr
z Două variante de TON
vizualizare în funcţie de IN Q

folosirea ieşirilor EN/ENO T#200ms PT ET 178

– prima metodă necesită elemente


suplimentare de programare dacă
este necesară utilizarea stării Pump_Tmr
temporizatorului în alte linii de
TON
program
IN ENO
– a doua metodă asociază un bit lui
Q ce poate fi apoi folosit de alte Q
Pump_Tmr_DN
linii de program, ENO=EN
T#200ms PT ET 178
Funcţionarea temporizatoarelor

z IN = condiţia de intrare a Temporizare tip impuls (TP)


liniei IN
Q
z Q = ieşirea comparatorului PT
ET |
– diferă în funcţie de tipul de 0

temporizator Temporizare la conectare (TON)


z PT = valoarea prestabilită IN
Q
z ET = timpul scurs de la PT
ET |
activarea temporizatorului 0

Temporizare la deconectare (TOF)


IN
Q
PT
ET |
0
Numărătoare în LD

z 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

z Toate trei contorizează tranziţiile liniei


Numărătoare în LD

z Două vizualizări Load_Cnt

posibile în funcţie de CTU

utilizarea ieşirilor
IN ENO

EN/ENO R Q
Load_Cnt_DN

– prima metodă necesită


200
elemente de programare PV CV 178
suplimentare dacă starea
temporizatorului este necesară Load_Cnt
în alte linii de program
CTU
– a doua metodă asociază ieşirii Q
IN
Q un bit care poate fi folosit în
alte linii de program, ENO=EN
R

200 PV CV 178
Funcţionarea numărătoarelor
Numărător crescător (CTU)

IN
... ...
z Parametri Q
– CU/CD = Numărare PV
CV|
crescătoare/descrescătoare 0
R
– Q/QU/QD = Ieşirea
comparatorului
– R = Aducere în Zero
– LD = Încărcarea CV cu PV Numărător descrescător (CTD)
IN
... ...
– PV = Valoarea prestabilită
Q
– CV = Valoarea numărată de PV
CV|
la momentul activării 0
LD
Funcţionarea numărătoarelor

z Parametri
– CU/CD = Numărare
crescătoare/descrescătoare Numărător bidirecţional (CTUD)
– Q/QU/QD = Ieşirea ...
comparatorului CU
QU
– R = Aducere în Zero ...
CD
– LD = Încărcarea CV cu PV
QD
– PV = Valoarea prestabilită
PV
– CV = Valoarea numărată de CV|
la momentul activării 0
R
LD
Setul de instrucţiuni IEC1131-3
z 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

z 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

z Ron Bliss, Introduction to IEC1131-3 Ladder


Diagram, Allen-Bradley
z SR EN 61131-3, Automate programabile.
Partea 3. Limbaje de programare
z C.G.Haba, Sisteme de comandă a maşinilor
electrice, Ed. Gh.Asachi, Iaşi
Automate programabile

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

1
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
sau
Configuratie_Canal_Analogic la
Configuratie_Canal_Analogic
Instrucţiuni de control şi buclare

z IF .. THEN .. ELSE

z CASE

z FOR

z WHILE …

z REPEAT UNTIL
Instrucţiunile IF .. THEN .. ELSE

IF conditie= true
THEN actiune1
ELSE 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 THEN
NROOTS := 1 ;
X1 := - B/(2.0*A) ;
ELSE
NROOTS := 2 ;
X1 := (- B + SQRT(D))/(2.0*A) ;
X2 := (- B - SQRT(D))/(2.0*A) ;
END_IF ;
Instrucţiunea CASE : IF repetitiv

CASE selector OF
valoare_selector : actiune

ELSE …..
END_CASE;
Instrucţiunea CASE : IF repetitiv

TW := BCD_TO_INT(THUMBWHEEL);
TW_ERROR := 0;
CASE TW OF
1,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 DO
FOR 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 DO
IF WORDS[I] = 'KEY' THEN
J := I ;
EXIT ;
END_IF ;
END_FOR ;
Instrucţiunea WHILE

J := 1;

WHILE J <= 100 & WORDS[J] <> 'KEY' DO


J := J+2 ;
END_WHILE ;
Instrucţiunile REPEAT … UNTIL

J := -1 ;

REPEAT
J := J+2 ;
UNTIL J = 101 OR WORDS[J] = 'KEY'
END_REPEAT ;
Instrucţiunile EXIT şi RETURN

z 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 DO
IF FLAG THEN EXIT ; END_IF
SUM := SUM + J ;
END_FOR ;
SUM := SUM + I ;
END_FOR ;
Bibliografie

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


www.plcopen.org

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


Limbaje de programare

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


Gh.Asachi, Iaşi
Structura automatelor programabile

1
Introducere
z 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ă).
z În acest caz, fiecare bloc poate fi realizat fizic sub forma unui
modul specific.
z 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ă.
z 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

Modulare

Tip Rack Tip Mini


Compacte

Tip Extensibil Tip Micro


Dimensiunile AP

z AP Micro : < 32 I/O


z AP Mici: 32-128 I/O
z AP Medii: 128 -1024 I/O
z AP Mari: 1024 - 4096 I/O
z AP Foarte Mari: 4096- 8192 I/O
Elementele componente ale AP

z Unitatea centrală de prelucrare


z Programatorul/Monitorul
z Module de intrare/ieşire
z Sertare şi carcase
şi opţional
z Imprimantă
z Unităţi de stocare a informaţiei
Elementele componente ale AP
Unitatea centrală de prelucrare

Conţine
z Procesorul
z Memoria
z Sursa de alimentare
Procesorul

z Unul sau mai multe microprocesoare care


realizează:
calcule aritmetice şi logice;
z Comunicaţia şi interacţiunea dintre celelalte
componente.
Memoria

z Aceasta poate fi de mai multe tipuri:


z ROM
z RAM
Memoria
z ROM (read only memory) – această memorie este utilizată pentru
stocarea sistemului de operare al AP;
z RAM (random access memory) – este împărţită în mai multe blocuri
având fiecare o utilizare specifică.
z 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ă.
z 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

z Realizează adaptarea şi conversia tensiunii


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

z 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.
z Programatorul poate fi:
– un programator manual,
– un terminal industrial
– un calculator personal.
Module de intrare/ieşire.

z 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.

z Aceste elemente permit montarea într-un


ansamblu unitar a elementelor AP.
Imprimantă

z 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
z 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).
z 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.
z 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)

z Semnalele sunt de tip logic


z Valorile tipice sunt:
– “0” logic = 0 V
– “1” logic =
z 5 V cc

z 12 V cc
z 24 V cc
z 48 V cc
z 12 V ca
z 24 V ca
z 120 V ca
z 240 V ca
Modulele de intrare digitale
z Permite unităţii centrale a AP să efectueze o
citire a stării logice a traductoarelor sau
senzorilor care îi sunt asociaţi.
z Modulele au în general 4, 8, 16 sau 32 de
intrări.

z Fiecărei intrări îi corespunde o cale care


prelucrează semnalul electric pentru a
elabora o informaţie binară, bitul de intrare
care este memorat.
Modulele de intrare digitale
z Schema bloc a căii de semnal pentru o intrare
digitală
Modulele de intrare digitale
z Ansamblul 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.

z Fiecare cale este filtrată împotriva paraziţilor şi a contactelor


imperfecte şi izolate electric pentru a mări fiabilitatea şi
securitatea sistemului (izolare galvanică).

z 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

Structură
Structură NPN
NPN
cu
cu 33 fire
fire
AP
AP
Maro Vcc
Vcc senzor +24 V
intern
AP

Negru
In NPN

Albastru
0V AP
Masa Masa
senzor internă
Structura şi conectarea senzorilor (cu
2 fire) la intrările digitale tip NPN

Structură
Structură NPN
NPN 22
fire
fire AP
AP
Vcc intern
+24 V AP

Negru
In NPN

Albastru
0V AP
Masă Masă
senzor internă
Structura şi conectarea senzorilor (cu
3 fire) la intrările digitale tip PNP

Structură
Structură PNP
PNP
cu
cu 33 fire
fire AP
AP
Maron
Vcc senzor +24 V
AP

Negru In
PNP

Albastru
0V AP
Masă Masă
senzor internă
Structura şi conectarea senzorilor (cu
2 fire) la intrările digitale tip PNP

Structură
Structură PNP
PNP 22 fire
fire AP
AP

Maron
Vcc senzor +24 V
AP

Negru
In
PNP

0V AP Masă
internă
Module de numărare de mare viteză

z Sunt module de intrare digitale care au de îndeplinit funcţia de


numărare a impulsurilor aplicate la intrarea modulului.
z 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.
z Sunt utilizate în general pentru numărarea impulsurilor cu
frecvenţă mare provenind de la senzori, encodere, sau
contacte.
z 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

z Un modul de ieşire permite automatului programabil


să acţioneze asupra elementelor de acţionare.
z Realizează corespondenţa: stare logică - semnal
electric.
z 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.
z Elementele de comutaţie ale modulului sunt
– electronice ( tranzistoare şi triacuri )
– electromecanice (contacte de relee interne modulului).
Modulele de ieşire digitale

z Ieşirile cu tranzistoare sunt utilizate în cazul


comenzii dispozitivelor de c.c.
z Ieşirile cu triacuri sunt folosite pentru comanda
dispozitivelor de c.a.
z Ieşirile cu relee pot fi utilizate atât pentru comanda
dispozitivelor de c.c. cât şi a celor de c.a.
z 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

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


digitală
Ieşire digitală electromecanică

Electromecanică cu releu
AP Yx
R

C
Cx

250V – 2A minim
Ieşiri digitale de tip static

Statică de c.a. Statică de c.c.

AP AP
Yx Yx

µC Cx µC Cx
Opto-Triac/tiristor Opto-Tranzistor Bipolair NPN / PNP
Modulele de intrare/ieşire analogice

z 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.
z Rezoluţia (cea mai mică valoare de curent sau
tensiune) este dată de numărul de biţi utilizaţi
pentru codificarea numerică.
z O altă caracteristică a unui astfel de modul este
viteza de conversie.
Modulele de intrare analogice

z 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

z Schema bloc a căii de semnal pentru o intrare analogică cu


detecţie de prag
Modulele de intrare analogice de
măsură

z Modulele sunt prevăzute cu circuite de conversie analog numerică


(A/N).
z 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).
z Modulele de curent sunt unipolare şi primesc la intrare curenţi în
general în gama 4÷20mA.
z Există posibilitatea reglării atenuării sau amplificării semnalului de
intrare ceea ce permite mărirea domeniului de măsură.
z 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ă

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


măsură
Modulele de ieşire analogice

z Fiecare ieşire este imaginea analogică a valorilor


numerice codificate pe un grup de biţi (8 sau 12)
definit de program.
z 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.
z Fiecare ieşire este definită prin natura semnalului
furnizat şi prin limitele sale (0-10V, 4-20 mA).
Modulele de ieşire analogice

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


analogică
Module de intrare/ieşire la distanţă

z 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.
z Caracteristici:
– calea prin care este transmisă informaţia
– distanţa de la care se realizează această transmisie.
z 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)
z Utilizate datorită imunităţii crescute la perturbaţii.
Modulele de comunicare

z Cea mai utilizată legătură pentru dialog între


AP şi elementele periferice (terminale de
programare sau exploatare, imprimante, ...),
este cea serie.
z Acest mod de comunicare permite schimbul
de caractere compuse din biţi transmişi unul
după altul pe linia de comunicare.
z Viteza de transmisie se exprimă în biţi pe
secundă (bauds).
Module de comunicare cu server
z 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.
z În general, comunicarea de la server la AP prin intermediul
acestor module este folosită pentru programarea AP.
z Pot fi modificaţi anumiţi parametri în program sau chiar întregul
program existent în memoria AP.
z Î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.
z 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)

z Modulele de la egal la egal sunt utilizate


pentru a permite comunicare AP între ele.
z 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

z Au capacitatea de a recepţiona şi a transmite


informaţia codificată folosind fişiere în cod
ASCII.
z 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

z 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.
z Modulele pot fi utilizate pentru controlul
poziţiei în sisteme în
– buclă deschisă
– buclă închisă.
Module de poziţionare în buclă deschisă

z În această categorie intră modulele de control a


poziţiei bazate pe utilizarea motoarelor pas cu pas
(MPP).
z Asigură o serie de funcţii, în special de accelerare şi
încetinire
z Este mult uşurată comanda MPP cu ajutorul AP în
aplicaţii ce implică poziţionarea precisă în două sau
trei axe.
z 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ă

z Utilizate pentru comanda maşinilor cu


comandă numerică, linii de asamblare
automate sau robotică.
z 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.
z Pentru închiderea buclei, în cazul controlului
poziţiei se utilizează un encoder.
z Pentru reglajul vitezei, închiderea buclei este
realizată cu ajutorul unui tahometru.
Module video

z Folosite în special în aplicaţiile care necesită


realizarea unor operaţii de inspecţie în cadrul
procesului de fabricaţie.
z Se poate face un reglaj automat al procesului
pentru eliminarea pieselor fabricate
necorespunzător.
Module cititoare pentru codurile de bare

z Utilizarea codurilor de bare pentru identificarea


automată a devenit o practică curentă în cadrul
liniilor de asamblare automată.
z 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.
z Permite ţinerea evidenţei exacte a stocurilor
existente şi a celor care sunt în curs de a fi finalizate.
z Î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
z AP pot fi utilizate în acest scop în cazul în care nu se urmăreşte
aplicarea unor algoritmi de reglare de complexitate ridicată.
z Variante:
– utilizarea unor module de prelucrare speciale;
– utilizarea modulelor de intrare/ieşire obişnuite şi materializarea
prin program a algoritmilor de reglaj.
z Cele mai utilizate module pentru reglajul automat sunt cele care
implementează algoritmii de tip PID.
z 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

z Î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.
z 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.
z 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ă

z Funcţii:
– (principală) cea de programare a AP.
– monitorizarea funcţionării AP,
– verificarea programului înscris în memoria AP
– depanarea circuitului
z 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.
z Prin cuplarea terminalului, comportarea AP poate fi examinată în
timpul funcţionării.
z 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ă

z Dimensiunile acestora pot varia de la câteva linii de caractere


până la un ecran.
z Î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.
z 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

z Dispozitive simple care au de cele mai multe ori doar un


monitor şi o tastatură.
z Sunt dotate cu inteligenţă, întreaga funcţionalitate privind
comunicarea dintre om şi maşină este înglobată în AP.
z Afişează informaţia transmisă de AP şi permit introducerea şi
transmiterea informaţiei de la utilizator la AP.
z Transmiterea informaţiei prin intermediul acestor terminale se
realizează în format ASCII.
z Avantaj: preţ de cost redus, terminalul poate fi utilizat cu o
gamă largă de AP.
z Dezavantaj: nu permit încărcarea unui program sau modificarea
acestuia în memoria AP.
z Utilizarea lor devine din ce în ce mai redusă.
Terminale industriale dedicate
z Au încorporată o anumită inteligenţă care le permite să îndeplinească
o parte mai mică sau mai mare din funcţiile amintite mai sus.

z O serie de terminale permit scrierea directă a programului în memoria


AP.
z 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.

z Mare parte din aceste dispozitive permit utilizatorului să depaneze


programul scris chiar în timpul funcţionării acestuia.
z 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ă
z Sunt utilizate în general pentru programarea AP de dimensiuni mici.
z 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.
z 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.
z Avantaje: dimensiunile mici care le fac portabile.
z 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
z Datorită creşterii numărului de calculatoare personale
disponibile, acestea au devenit în ultimul timp unul dintre cele
mai folosite dispozitive de interfaţă om maşină.
z 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

z Criteriu
z Numărul de intrări şi ieşiri logice
z Memoria
z Numărul de module speciale de I/O
z Posibilităţile de extindere
z Timpul de scanare
z Posibilităţi de comunicaţie
z Pachetele de programe software
z Suport tehnic
z Preţul
Exemplu de foaie de catalog`
Automate programabile

Elemente de programare

1
Utilizarea temporizatoarelor

z Întârziere la închidere (on-delay)


z Motorul 1 va funcţiona atunci când întrerupătorul
Start este acţionat.
z 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
z Întârziere la deschidere
z Motorul M1 funcţionează în funcţie de starea
întrerupătorului Start
z După 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ă

z Motoarele M1 şi M2 pornesc în acelaşi timp la


închiderea întrerupătorului Start.
z 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ă

z Motoarele M1, M2 şi M3 vor porni la închiderea


întrerupătorului Start.
z Motorul M2 va funcţiona pe o durată limitată
(20,5s) dată de temporizatorul T01
z Motorul M3 va funcţiona pe o durată limitată
(41,5s) dată de temporizatorul T02
Acţiuni cu durată limitată
Semnalizare alternantă

z Sistemul are 2 lămpi, L1 şi L2


z Când întrerupătorul Start este închis, cele două
lămpi se vor aprinde alternativ pe o durată de
0,5s.
z Funcţionarea alternantă este obţinută utilizând
temporizatoarele T01 şi T02 care se
activează/dezactivează reciproc
Semnalizare alternantă
Întârzieri multiple

z Sistemul comandă două motoare M1 şi M2


z Motorul M1 porneşte după închiderea întrerupătorului
Start cu o întârziere de 10s realizată de temporizatorul
T01
z Motorul M2 porneşte după închiderea întrerupătorului
Start cu o întârziere de 15s
z În prima variantă temporizarea realizată de T02 pentru
motorul M2 este independentă de T01
z Î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

z Sistemul este folosit pentru asigurarea iluminării limitate


după oprirea iluminării într-o clădire cu parcare
z După 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 subsol
z Din 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

z Există 3 tipuri de numărătoare


– crescător
– descrescător
– bi-direcţional
Numărarea evenimentelor

z Intrarea Detect este corespunde unui detector de


prezenţă a unor obiecte. Fiecare obiect detectat
determină apariţia unui impuls la intrarea
numărătorului
z Butonul Zero poate fi utilizat pentru resetarea
numărătorului
z Manipulatorul M1 este activat după detectarea a
10 obiecte
Numărare crescătoare
Numărare descrescătoare

z Parte a unei linii de ambalare sistemul de


comandă urmăreşte ambalarea a 100 de obiecte
pe o bandă rulantă
z Numărarea este descrescătoare. Când
numărătorul ND2 ajunge la 0 (au fost detectate
100 obiecte) se dă comanda de ambalare.
z Î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

z 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
N2
z Câ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ă

z Parte a unui sistem de comandă a barierelor unei parcări


cu plată cu maxim 30 de locuri.
z Evidenţa locurilor libere este ţinută de numărătorul
bidirecţional NCD1.
z 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.
z 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).
z 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

z 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.
z 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
Automate programabile

Diagrame funcţionale secvenţiale


(SFC)

1
Introducere

z SFC – sequential functional chart (diagrame


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

z Partiţionarea grafică a procesului în elemente


structurale Etape
z Execuţie repetată mai rapidă a elementelor logice
individuale
z Reprezentare grafică simplă
z Timp redus de scriere şi depanare a programului
z Detectarea mai rapidă a erorilor
z Posibilitate de actualizare şi îmbunătăţire uşoară
Etapele

z Corespunde unei situaţii în care comportamentul


sistemului este invariabil în raport cu intrările şi
ieşirile sale
z O etapă este activă sau inactivă
z Starea internă a unui sistem, o situaţie, este dată de
mulţimea etapelor active la momentul respectiv.
z 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

z 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

z Acţiunea/acţiunile asociate unei etape nu


este efectuată decât dacă etapa respectivă
este activă
z 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.
z Conexiunile se execută între etape şi tranziţii
şi între tranziţii şi etape
Atribute ale acţiunilor
z Atribute ale acţiunilor
z N non-stored
(fără memorie) – acţiunea este activată atât timp cât etape este activă
z R reset – acţiunea este dezactivată indiferent de orice altă activare
z S 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)
z L time limited (limitare în timp) acţiunea este activată pentru un
interval de timp specificat sau până etapa este dezactivată
z D time delayed (întârziere) – acţiunea este activată după perioada de
timp specificată
z 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
z P0 (falling edge pulse) - acţiunea este activată atunci când
etapa este dezactivată
z P1 (raising edge pulse) – acţiunea este activată când etapa
devine activă
z 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 R
z DS (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 R
z SL (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

z Interpretarea diagramei pentru a reflecta


comportamentul dinamic al unui sistem este
realizată cu ajutorul a 5 reguli de evoluţie:
z 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

z Regula 2: Efectuarea unei tranziţii


– O tranziţie este efectuată atunci când:
z Tranziţia este validă
z Condiţia asociată tranziţiei este adevărată
z Regula 3: Evoluţia etapelor active
– Efectuarea tranziţiei produce simultan:
z Dezactivarea tuturor etapelor anterioare legate la tranziţia
respectivă
z Activarea tuturor etapelor următoare legate de tranziţia
respectivă
Regula 2

z Etapa 1 nu este activă


deci tranziţia nu este validată
Regula 2

z Etapa 1 este activă dar


expresia tranziţiei este falsă.
Tranziţia nu se efectuează.
Regula 2

z Etapa 1 este activă


şi expresia este adevărată
Tranziţia se poate efectua
Regula 2-3

z După efectuarea tranziţiei


etapa 1 a fost dezactivată,
etapa 2 a fost activată
Regulile 2-3
Regula 2-3
Regulile 2-3
Regulile 2-3
Regula 4

z Regula 4: Evoluţii simultane


– Mai multe tranziţii care pot fi efectuate simultan sunt
efectuate simultan
Regula 4

2 10

*(1) a.X10 *(2) a.X2

3 11
Regula 4

10
2

*(3) a

3 11
Regula 4

1
* c

* c

4
Regula 5

z 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

z Trebuie întotdeauna respectată alternanţa


etapă-tranziţie şi tranziţie-etapă indiferent de
secvenţa parcursă
Erori de sintaxă
z Erorile de sintaxă pot să ducă la diagrame
care sunt ambigue (pot fi interpretate în
moduri diferite)
Ambiguitate
Utilizarea evenimentelor
Configuraţii elementare

z Reprezentări complexe pot fi descompuse în


reprezentări elementare
z Reprezentările elementare corespund unor
funcţionalităţi elementare
Secvenţă

z Este alcătuită dintr-un grup de etape care se


execută una după alta
Secvenţă
Selecţie de secvenţă

z 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)
z Doar o singură cale va fi executată
Selecţia unei secvenţe
Selecţia unei secvenţe
Secvenţe paralele

z Secvenţele paralele reprezintă căi de


execuţie care se execută în acelaşi timp ele
reprezentând o structură de tip SI
z În cazul acestei secvenţe
z toate căile se execută
z 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)
Limbajul de programare de tip “Listă
de instrucţiuni” (IL)

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

z Î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ă

z Î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

z 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).

z 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.
z corespondenţă indicată prin alăturarea la notaţiile prezentate anterior a
unui identificator numeric care arată numărul resursei respective
Exemple de identificatori

z 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.

z Varianta 2:
– identificatorul modulului şi numărul de ordine sunt separate de
punct.
Exemple de identificatori

z 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

z 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.
z 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- AND, OR, ANDC, ORC,LD, LDC,STO, STOC,


Automatica) 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

L1

K1
K2

S2 K3

S3

K3 K4
N
Exemplu. Program IL General Electric
Program Observaţii

STR 000 start sau memorare (primele două cifre


AND NOT 001 ale identificatorului indică numărul
OR 002 modulului: 00 - modul de intrare,
AND 003 01 - modul de ieşire)
OUT 200 activare releu intern
STR 200 valoarea obţinută e trimisă la ieşirea 0 a
OUT 010 modulului 01
Exemplu. Program IL Kloeckner-Moeller

Program Observaţii

L I 0.0 încarcă intrarea 0, modulul 0.


AN I 0.1 SI-NU
O I 0.2 SAU
A I 0.3 SI
= M 0.0 marker, releu intern
L M 0.0
= Q 0.0 Ieşire
Exemplu. Program IL Siemens

Program Observaţii

U E 0.0 E:Eingang, intrare


UN E 0.1 UN: Und Nein, ŞI-NU
O E 0.2 O: Oder, SAU
U E 0.3 Und
= M 0.0 M: merker, releu intern
O M 0.0
= A 0.0 A: Ausgang, ieşire
Exemplu. Program IL Telemecanique

Program Observaţii

L I 0.0 Instrucţiunile sunt abrevieri ale


AN I 0.1 denumirilor engleze
O I 0.2
A I 0.3
= B 10 B: Bit, releu intern
L B 10
= O 0.0 O: Ieşire
Exemplu. Program IL Hitachi

Program Observaţii

ORG 000 start (variabilele de intrare încep de


AND NOT 001 la adresa 000, variabilele de
OR 002 ieşire de la adresa 200 iar
AND 003 variabilele de tip marker - releu
OUT 400 intermediar - de la adresa 400).
ORG 400 ieşirea se face pe releu intern
OUT 200 Ieşire
Exemplu. Program IL Mitsubishi

LD X000 Încărcare intrare X000


ANDI X001 SI-NU cu intrarea X001
OR X002 SAU cu intrarea X002
AND X003 SI cu intrarea X003
OUT M000 releu intern
LD M000 Încărcare releu intern
OUT Y000 Ieşire
Limbajul IL în standardul IEC 61131-3

z Lista de instrucţiuni este compusă dintr-o


secvenţă de instrucţiuni
z Fiecare instrucţiune începe pe o linie nouă şi
conţine operatorul (opţional cu modificatori) şi
dacă este necesar, unul sau mai mulţi operanzi
z Instrucţiunea poate fi precedată de o etichetă
urmată de caracterul “:”
Example de câmpuri ale instrucţiunilor

Etichetă Operator Operand Comentariu

START: LD %IX1 (* BUTON START*)


ANDN %MX5 (* NEBLOCAT *)
ST %QX2 (* VENTILATOR PORNIT*)

result := result OP operand


Operatori şi semnificaţia lor

LD Atribuie operandului rezultatul curent


ST Memorează rezultatul curent la locaţia
operandului
S Atribuie operandului de tip Boolean
valoarea 1
R 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 15
ST C10.PV
LD %IX10
ST C10.CU
CAL C10
3. Folosirea operatorilor de intrare:
LD 15
PV C10
LD %IX10
CU C10
Tipuri de blocuri funcţionale

Tip de BF Operatori Semnificaţie


SR S1,R Bistabil SR
RS S,R1 Bistabil RS
R_TRIG CLK Sesizare front crescător
F_TRIG CLK Sesizare front descrescător
CTU CU,R,PV Numărător crescător
CTD CD,LD,PV Numărător descrescător
CTUD CU,CD,R,LD,PV Numărător bidirecţional
TP IN,PT Temporizator
TON IN,PT Temporizator la închidere
TOF IN,PT Temporizator la deschidere
Bibliografie

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


language, www.plcopen.org

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


Limbaje de programare

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


Gh.Asachi, Iaşi
Limbajul de programare de tip
“Scheme cu contacte” (LD)

1
Originile limbajului LD
z 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
z 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
z Scrierea unui program în limbajul LD presupune desenarea unei
diagrame (diagramă LD) similare unei scheme electrice cu contacte.
z Elementele componente ale diagramei LD modelează funcţionarea
elementelor unei scheme cu contacte.
z Interpretarea funcţionării diagramei LD este similară interpretării
schemelor electrice cu contacte.
z 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

z Contactele sunt elemente de programare


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

IN001 IN002 IN003

a) b)
Contactele

z În cadrul unui program LD, contactele pot fi asociate


intrărilor AP, ieşirilor AP sau unor variabile interne.
z 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

z 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:
z intrări cu memorie (latch),
z intrări active pe frontul crescător
z intrări active pe frontul descrescător.
Bobinele

z Bobinele sunt elemente de programare care


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

OUT 001 OUT 002 OUT 003

a) b)
Bobinele
z 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.
z Ca şi în cazul bobinelor din schemele electrice, bobinele din
programele LD pot avea două stări: alimentate sau
nealimentate.
z Ele pot fi asociate ieşirilor automatului dar şi unor variabile
interne modelând astfel releele auxiliare din cadrul schemelor
electrice cu contacte.
Bobinele
z Fiecare ieşire este de identificată în mod unic, modul de
identificare diferind de la un producător la altul.
z 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.
z La aceste ieşiri pot fi conectate dispozitive care au două stări
de 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

z Temporizatoarele sunt elemente de programare


care modelează funcţionarea releelor de timp şi a
contactelor temporizate.
z Sunt utilizate pentru a realiza acţiuni întârziate sau
ce durează un anumit interval de timp.
Ieşire
Validare
Nr. temporizator

Baza de timp

Iniţializare Valoarea
prestabilită
Temporizatoarele

z Producătorii de AP furnizează atât funcţii elementare


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

z Fiecare temporizator din schemă este identificat în mod unic,


modul de identificare fiind diferit de la un producător la altul.
z În cazul în care baza de timp este aceeaşi pentru toate
temporizatoarele, precizată în manualul de programare a AP,
aceasta este omisă.
z Valoarea prestabilită poate fi exprimată în unităţi de timp (s).
z Temporizatoarele au cel puţin o intrare de iniţializare, la
activarea căreia începe temporizarea şi o ieşire.
z Î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

z 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.
Ieşire
Numărare
Nr. numărător

Ieşire negată

Iniţializare Valoare
prestabilită
Numărătoarele
z 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.
z 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.
z 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

z 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.
z 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.
z 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

z Pentru materializarea unor funcţii mai complexe menite


să uşureze scrierea programelor în limbaj LD sunt
utilizate blocurile funcţionale (BF).
z 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ă.
z 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

z 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

z Limitările ţin de:


– proprietăţile intrinseci ale limbajului;
– implementările specifice ale diferitelor pachete de
programe comerciale
z Sunt datorate soluţiilor tehnice adoptate de
firmele producătoare pentru implementarea
diverselor elemente ale limbajului.
Limitări privitoare la formatul
diagramei LD

z 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.
z 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

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

z 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.
z 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.
z Etapa de actualizare a ieşirilor constă în transferarea
informaţiei din tabela ieşirilor către terminalele de ieşire a
automatului.
z 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

z 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.
z În scrierea unui program în limbajul LD trebuie avute
în vedere şi modul în care este interpretat programul
scris.
Interpretarea programelor LD

z 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
z Î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ă.
z 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

z 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

Linie a programului

z Liniile programului sunt


Fază A D E
evaluate de la stânga la Nul
dreapta şi de sus în jos B
Ramificaţie
z Ramificaţiile din cadrul F G H
unei linii sunt evaluate P S
de la stânga sus la I J K
R
dreapta jos
Bobine fără memorie

z Bitul corespunzător elementului este pus în 0 când


tensiunea de alimentare este oprită
– Bobină -( )-
z 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ă -( / )-
z Pune bitul în 0 când linia este evaluată la 1 logic şi pus în 1
când linia este evaluată la 0 logic
z În general nu e folosită datorită confuziei pe care o poate
introduce
Bobine fără memorie

– Bobină Set (Latch) -(S)-


z 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)-
z Pune bitul în 0 când linia este evaluată la 1 logic şi nimic
când linia este evaluată la 0 logic
Contacte

z 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.
z 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

z Contact activ pe frontul crescător -|P|-


– Validează partea dreaptă a liniei de program
pentru un ciclu când partea stângă este validată
z 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

z 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-reconectare
la sursa de alimentare
z 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

z Bitul din memorie corespunzător rămâne nemodificat


după întreruperea şi reconectarea alimentării
– Bobină cu memorie -(M)-
z Pune bitul în 1 când linia este validă şi o pune în 0 când
este invalidă.
– Bobină Set cu memorare (Latch) -(SM)-
z Pune bitul în 1 când linia este validă şi nu face nimic când
este falsă
– Bobină Reset cu memorare (Unlatch) -(RM)-
z Pune bitul în 0 când linia este validă şi nu face nimic când
este falsă
Bobine activate pe front

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

z 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

z Valorile timpului
– Baza de timp este de 1ms (1/1000 s)
– Valorile sunt introduse folosind formatul literal
Temporizatoare in limbajul LD

Pump_Tmr
z Două variante de TON
vizualizare în funcţie de IN Q

folosirea ieşirilor EN/ENO T#200ms PT ET 178

– prima metodă necesită elemente


suplimentare de programare dacă
este necesară utilizarea stării Pump_Tmr
temporizatorului în alte linii de
TON
program
IN ENO
– a doua metodă asociază un bit lui
Q ce poate fi apoi folosit de alte Q
Pump_Tmr_DN
linii de program, ENO=EN
T#200ms PT ET 178
Funcţionarea temporizatoarelor

z IN = condiţia de intrare a Temporizare tip impuls (TP)


liniei IN
Q
z Q = ieşirea comparatorului PT
ET |
– diferă în funcţie de tipul de 0

temporizator Temporizare la conectare (TON)


z PT = valoarea prestabilită IN
Q
z ET = timpul scurs de la PT
ET |
activarea temporizatorului 0

Temporizare la deconectare (TOF)


IN
Q
PT
ET |
0
Numărătoare în LD

z 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

z Toate trei contorizează tranziţiile liniei


Numărătoare în LD

z Două vizualizări Load_Cnt

posibile în funcţie de CTU

utilizarea ieşirilor
IN ENO

EN/ENO R Q
Load_Cnt_DN

– prima metodă necesită


200
elemente de programare PV CV 178
suplimentare dacă starea
temporizatorului este necesară Load_Cnt
în alte linii de program
CTU
– a doua metodă asociază ieşirii Q
IN
Q un bit care poate fi folosit în
alte linii de program, ENO=EN
R

200 PV CV 178
Funcţionarea numărătoarelor
Numărător crescător (CTU)

IN
... ...
z Parametri Q
– CU/CD = Numărare PV
CV|
crescătoare/descrescătoare 0
R
– Q/QU/QD = Ieşirea
comparatorului
– R = Aducere în Zero
– LD = Încărcarea CV cu PV Numărător descrescător (CTD)
IN
... ...
– PV = Valoarea prestabilită
Q
– CV = Valoarea numărată de PV
CV|
la momentul activării 0
LD
Funcţionarea numărătoarelor

z Parametri
– CU/CD = Numărare
crescătoare/descrescătoare Numărător bidirecţional (CTUD)
– Q/QU/QD = Ieşirea ...
comparatorului CU
QU
– R = Aducere în Zero ...
CD
– LD = Încărcarea CV cu PV
QD
– PV = Valoarea prestabilită
PV
– CV = Valoarea numărată de CV|
la momentul activării 0
R
LD
Setul de instrucţiuni IEC1131-3
z 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

z 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

z Ron Bliss, Introduction to IEC1131-3 Ladder


Diagram, Allen-Bradley
z SR EN 61131-3, Automate programabile.
Partea 3. Limbaje de programare
z C.G.Haba, Sisteme de comandă a maşinilor
electrice, Ed. Gh.Asachi, Iaşi
Limbajul de programare de tip “Text
structurat” (ST)

1
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
sau
Configuratie_Canal_Analogic la
Configuratie_Canal_Analogic
Instrucţiuni de control şi buclare

z IF .. THEN .. ELSE

z CASE

z FOR

z WHILE …

z REPEAT UNTIL
Instrucţiunile IF .. THEN .. ELSE

IF conditie= true
THEN actiune1
ELSE 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 THEN
NROOTS := 1 ;
X1 := - B/(2.0*A) ;
ELSE
NROOTS := 2 ;
X1 := (- B + SQRT(D))/(2.0*A) ;
X2 := (- B - SQRT(D))/(2.0*A) ;
END_IF ;
Instrucţiunea CASE : IF repetitiv

CASE selector OF
valoare_selector : actiune

ELSE …..
END_CASE;
Instrucţiunea CASE : IF repetitiv

TW := BCD_TO_INT(THUMBWHEEL);
TW_ERROR := 0;
CASE TW OF
1,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 DO
FOR 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 DO
IF WORDS[I] = 'KEY' THEN
J := I ;
EXIT ;
END_IF ;
END_FOR ;
Instrucţiunea WHILE

J := 1;

WHILE J <= 100 & WORDS[J] <> 'KEY' DO


J := J+2 ;
END_WHILE ;
Instrucţiunile REPEAT … UNTIL

J := -1 ;

REPEAT
J := J+2 ;
UNTIL J = 101 OR WORDS[J] = 'KEY'
END_REPEAT ;
Instrucţiunile EXIT şi RETURN

z 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 DO
IF FLAG THEN EXIT ; END_IF
SUM := SUM + J ;
END_FOR ;
SUM := SUM + I ;
END_FOR ;
Bibliografie

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


www.plcopen.org

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


Limbaje de programare

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


Gh.Asachi, Iaşi
Automate programabile

Reţele industriale
1
Terminologie

z TOPOLOGIE – Forma reţelei


z CAN – Controler pentru accesul la reţea
z PHY – Nivel fizic
z MAC – Media Access Control
z MULTICAST – Date trimise la mai multe destinaţii
z ÎNCAPSULARE – Nivelul de date
Terminologie

z DETERMINISM – Întârzierea maximă a datelor poate


fi determinată
z REPEATABILITATE – Sosirea datelor este repetabilă

z INTEROPERABILE – Dispozitivele pot să lucreze


împreună

z INTERSCHIMBABILE – Dispozitive similare pot fi


schimbate între ele
Reţele industriale

File
Nivel SCADA Operare 23 12
Edit
Gestionare
4 2 2
33

Magistrală fabrică

Automate
Nivelul fabrică

Magistrală secţie

Nivel secţie
Magistrală
senzor/el.
acţionare
sensori direct I/O
Criterii de selecţie

z De firmă vs. deschise


z Dimensiunea datelor & viteza
z Determinism
z Topologii disponibile
z Corectarea erorilor
z Organizaţiile de standardizare
z Modelul de reţea
Modele de reţele

z Tradiţional
– Câmpul Sursă identifică nodul care transmite
– Câmpul Destinaţie identifică nodul care
recepţionează
– Foarte limitat
z Producător/Consumator
– Bazat pe conexiune
– Operare multicast
– Foarte eficient
MODEL OSI

Data Data

Nivel aplicaţie

Nivel prezentare

Nivel sesiune

Nivel transport

Nivel reţea

Nivel legătură
de date
Nivel fizic
OSI – Nivel aplicaţie

z Datele consumate şi
generate
Aplicaţie

Exemple:
z Ethernet: e-mail, ftp
z DeviceNet: procesarea
dispozitivelor I/O
OSI – Nivel prezentare & Nivel sesiune

z Formatarea datelor
z Conexiuni aplicaţie
Aplicaţie

Prezentare

Exemple:
Sesiune
z Ethernet/IP
OSI – Nivel transport

z Gestionează
conexiunile
Aplicaţie
z Corectare erori
Prezentare z Controlul transferului

Sesiune
Exemple:
Transport
z TCP
OSI – Nivel reţea

z Rutarea mesajelor
z Controlul congestiei
Aplicaţie
z Transmisie nod-nod
Prezentare

Exemple:
Sesiune
z IP

Transport

Reţea
OSI – Nivel legătură de date
z Media Access Control
– Acces multiplu prin sesizarea
purtătoarei (CSMA - Carrier
Aplicaţie Sense Multiple Access )
– Transfer jeton
Prezentare z Control logic al legăturii
– Transmisie/Recepţie bit
Sesiune – Verificare erori
– Controlul transmisiei
Transport

Reţea
Exemple:
z Toate

Legătură
OSI – Nivel fizic

z Transferă şirul de biţi


z Componente electro-
Aplicaţie mecanice
Prezentare

Sesiune

Transport
Exemple:
z Toate
Reţea

Legătură

Fizic
Reţele industriale. Comparaţie

ETHERNET
Reglaj de viteză
Aplicaţii video

CONTROLNET
MODBUS
Scanare

BACNET
LONWORKS
SERIPLEX Acţionări
Coduri de bare

PROFIBUS DP
Cotrol

INTERBUS-S
automat DEVICENET Afişoare
Senzori Valve
ASI

de Instrumente
curgere Contactoare
Relee
Limitatoare de cursă
Întreruptoare
PE
PROX SW
Reţele multibit Reţele multioctet
Reţele bazate pe mesaje Reţele I/O seriale
Reţele multibit

z înlocuire imediată a conexiunilor electrice


clasice
z viteză mare
z mărime redusă a datelor
z digitale
z nu conţin date pentru diagnosticare
AS-I Număr minim de componente

MASTER Alimentare

Slave Slave

Slave Slave Slave


AS-I Topologii

stea linie linie ramificată arborescentă


controler controler controler controler

M aster M aster M aster Master

S lave S lave
S lave
S lave S lave Slave
S la ve
S la ve
S lave
S lave S lave S la ve S lave
S lave

S lave S lave S lave S lave


S lave
S lave
Reţeaua AS-I

z cea mai bună pentru dispozitive “binare” cum


ar fi limitatoare de cursă, fotodetectoare şi
detectoare de prezenţă
z reducerea costurilor cu 15-40%
z circuite AS-I permit accesul la reţea
z 1 Master, 31 Slave (62 în V2.1)
z 4 ni, 4 nd per nod (maxim 248)
z 100m lungime totală (cablu galben)
Reţeaua AS-I

z topologii: arborescentă, în linie, stea şi altele


z alimentarea şi datele integrate în aceeaşi
reţea
z durata unui ciclu e de 5ms cu toate cele 31
slave
z prioritatea nodurilor stabilită în sistem de
Master sau în afara sistemului
z cablu plat sau rotund
Reţele seriale

z orientate UART (Universal Asynchronous Receiver-


Transmitter) – RS-232/422/485
z Materializare cu costuri scăzute
z Eficientă pentru transmitere de mesaje
z Viteză mică (nu satisface condiţiile de timp real)
z Model de reţea Sursă/Destinaţie
z Standarde de firmă sau deschise (open standard)
Aplicaţii ale reţelelor seriale

z înregistratoare
z instrumente
z acţionări
z cititoare de coduri de bare
z cititoare de radiofrecvenţă
z rezervoare de combustibil
z staţii de tratare a apei reziduale
MODBUS

z tehnologie a anilor 1960


z şiruri de date de comunicaţie simple, concise
z suport fizic RS232/422/485
z dispozitive modelate ca registre şi bobine
z set de instrucţiuni bine definit
z 1 Master, 254 Slaves
z Materializare cu cost redus
MODBUS (Continuare)

z reprezentare a reţelei bobină/registru


z viteză redusă – (nu satisface condiţiile de
timp real)
z 247 noduri maximum
z nu are certificare formală
z promovat de grupul Schneider
MODBUS

z Avantaje
– Standard deschis şi larg răspândit
– set de comenzi clar şi concis
– număr mare de instalări
– materializare cu cost redus
z Dezavantaje
– Model de reţea sursă/destinaţie
– greu de depanat
MODBUS pe scurt

z toate dispozitivele ar trebui să suporte


Modbus
z unelte de configurare la îndemână
z poate fi utilizat de majoritatea utilizatorilor
z acces uşor la dispozitive de adaptare cu alte
reţele
z unelte gratuite pe web
z creşte penetraţia pe piaţă
Limitările reţelelor seriale

z Standarde electrice z Probleme cu punctele


insuficiente de capăt
z Cele mai multe sunt z Probleme la configurare
protocoale de firmă z Performanţe limitate
z Susceptibile la zgomot z Greu de depanat
z Probleme cu masa z Suport pe viitor incert
Reţele multi-octet

z Orientate în principal pe octet


z Prezintă un anumit determinism
z Operare pseudo timp real
z Depanare îmbunătăţită
z Cost redus – suport pentru senzori mici
Reţele multi-octet

z Date analogice
z Volum mic de mesaje simple
z În general nu are posibilităţi pentru
comunicaţii de la egal la egal
z Model Sursă/Destinaţie sau
Producător/Consumator îmbunătăţit
INTERBUS-S

z Standardizat în EN 50254 şi IEC 61158


z De tip inel, Reţea cu registru de deplasare
z Suportă subreţele multiple
z Auto-configurare
z Cerinţe ale aplicaţiilor
– Număr mare de I/O
– Redundanţă
DeviceNet

z CAN Nivel aplicaţie


z DeviceNet transportă
– date I/O
– alte date decât cele de control
z Folosind
– Comunicaţii Master/Slave
z Între
– Dispozitive reprezentate de obiecte
Istoric DeviceNet

z ~1985 CAN dezvoltat de BOSCH


z ~1993 AB dezvoltă DeviceNet
z ~1995 Dreptul de proprietate tranferat
organizaţiei ODVA (Open DeviceNet Vendor
Association)
z ~1996 Masă critică de producători/Utilizatori
Caracteristicile DeviceNet

z Trunchi
z 64 Noduri
z Pot exista mai mulţi Masteri
z Înlocuirea sau introducerea unui nod nou se
poate face sub tensiune
z Cablul include alimentare şi linii de date
z Rate de transfer de 125K, 250K şi 500K
Baud
DeviceNet & CAN

z Semnalizare fizică
Nivel aplicaţie
z Controlul accesului la
Control legătură logică mediu
z Controlul coliziunilor
Control acces media prin arbitrare la nivel de
bit
Semnalizare fizică

Ataşare la mediu

Mediul de transmisie
Structura de comunicaţie DeviceNet

z Bazat pe conexiune
z În principal Master/Slave
z Suportă conexiuni I/O Connection de tip:
– cu interogare (polling)
– schimbarea stării
– pulsuri
z Capacitate redusă de comunicare cu egali
(peer)
z Nu permite multicasting
Modelul obiect al DeviceNet

z Dispozitivele descrise ca o serie de obiecte


z Obiectele descriu comportamentul exterior
z Obiecte cerute:
– Obiectul Identitate (Identity Object)
– Obiectul DeviceNet
– Obiectul Router
– Obiectul conexiune (Connection Object)
z CIP – Control & Information Protocol
Profile DeviceNet

z “Standardizează” operaţiile dispozitivelor


asemănătoare
z Un profil DeviceNet specifică
– Modelul Obiect
– Datele I/O
– Datele de configurare
z Producătorii pot adăuga extensii
Aplicaţii perfecte DeviceNet

z Conductoare lungi/extinse
z Dimensiuni fizice mici
z 64 dispozitive
z I/O mici şi nu foarte rapide
z Tipuri diferite de dispozitive
z Determinist nu foarte critic
z Aplicaţie tipică: Transportor cu bandă
Profil acţionare c.c./c.a.

z Include scalari, c.a., vectori c.a. & c.c.


z Obiecte specifice acţionărilor
– Supervizor de control
– Sistem de acţionare c.a./c.c.
– Datele motorului
z Inter-operabile nu interschimbabile
Preocupări & provocări privind
DeviceNet

z Testarea conformităţii
z Îmbunătăţiri/revizuiri ale specificaţiilor
z Promovarea ca standard internaţional
z Presiunea impusă datorită cerinţelor pentru
performanţă
z Redundanţă
z Operare de tip egal la egal
Alte protocoale CAN

z J1939
– standard sponsorizat de SAE
– Comunicare între componentele vehiculului
– Mesaje între egali (peer to peer)
z 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

z Iniţiativă germană din 1989


z bazată pe RS485
z circuitul Profibus conţine o stivă, MAC (Media
Access Control)
z Versiuni multiple DP, FMS, PA
z 127 noduri, 1000m
z 244 Octeţi/Mesaj, 12Mbaud
z Reţea de tip Master/Slave cu interogare (Polling)
z Sprijinit de Profibus Trade Organization
ProfiBus

z Avantaje
– Viteză mare
– Grad mare de determinism
– circuitele ASIC implementează o stivă de comunicare
– acceptat universal în Europa
z Dezavantaje
– Cost ridicat
– Magistrala nu are alimentare
– Model tradiţional Master/Slave
Reţele bazate pe mesaje-
ControlNet
z Deterministe & repetabile
z Capacitate mare de I/O & mesaje
z 99 Noduri per subreţea
z Comunicaţie Multicast & Peer
z Adaptabilă de către utilizator
z Poziţia pe piaţă e nesigură
z Scumpă
Aplicaţii ControlNet

z 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ă
z Reţele cu care intră în competiţie:
– ProfiBus FMS
– MODBUS Plus
– Ethernet/IP
Ethernet

z Cea mai populară reţea din istorie ( peste


200 000 000 noduri şi creşterea continuă)
z introdusă de Xerox din 1970
z standard 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 UTP Fibră sticlă


Coaxial
Dimensiunea 5000 m 185m 100m 2000 m
segmentului
Alimentare prin Ethernet (PoE - Power
Over Ethernet)

z IEEE 802.3AF - Power-over-Ethernet


z Perechile nefolosite (7-8, 4-5) asigură
alimentarea
z Include validarea dispozitivului
z Acceptat în iunie 2003
z Injectoare & valve (taps)
Tipuri de dispozitive PoE

z "PoE-Compatible" or "Active Ethernet


z Dispozitive necompatibile PoE
z Valvă pasivă – fără conversie
z Valve reglate – se reglează conform cerinţelor
dispozitivelor
z Dispozitive injectoare – furnizează alimentare
pentru reţele Cat5
PoE

z 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
z 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ă)
z Pasive vs. Reglate
Nivelurile de aplicaţie Ethernet

z Modbus/TCP (www.modbus.org)

z Ethernet/IP (www.odva.org)

z ProfiNet (www.profibus.com)
Modbus/TCP

z Structura de bază a mesajelor este Modbus


z Arhitectura reţelei de tip Registru/Bobină
identică
z Simplu de materializat
z Unelte disponibile imediat
z Întâlnită la multe automate programabile şi
interfeţe om-maşină
z Simplitatea este marea slăbiciune şi forţă
Modbus/TCP

z Avantaje
– Nivel de aplicaţie folosind TCP/IP
– Materializat cu uşurinţă
– Mesaje concise
– Foloseşte Modbus care este larg utilizat şi înţeles
z Dezavantaje
– Posibilitate de interschimbare redusă sau 0
– Tipuri de date limitate
– Limitare a dimensiunii datelor transferate
PROFInet

z NU are legătură cu Profibus


z Bazat pe MS DCOM – Distributed
Component Object Module
z Modularitate a procesului cu inteligenţă
distribuită
z Suport redus
z Comunicaţie tip TCP/IP
Ethernet/IP

z CIP – Common Industrial Protocol (Model


obiect de tip DeviceNet) folosind Ethernet
z Suport de la producători semnificativ
z Arhitectură specifică producătorului
z Sprijinit de ODVA
z Compatibilă cu DeviceNet & ControlNet
Bibliografie

z John S. Rinaldi, Industrial Automation Networking 2004 &


Beyond, Real Time Automation, www.rtaautomation.com
Automate programabile

Proiectarea sistemelor de
comandă

1
Etapele proiectării sistemului
automatizat
Etapele proiectării sistemului
automatizat
Anteproiectul

z Pornind de obiectivele stabilite pentru


sistemul de automatizat se realizează
anteproiectul
z Anteproiectul se realizează de o singură
echipă
z Obiectivele anteproiectului este realizarea
caietului de sarcini pentru sistemul de
automatizat
Anteproiectul

z Anteproiectul defineşte:
– O structură a părţii operative
– Funcţionalitatea realizată
– Constrângerile externe ce trebuiesc respectate
Anteproiectul

z 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

z Se stabileşte structura părţii operative


– Se defineşte tipul de structură
z Maşini autonome
z Maşini asociate
z Celule de producţie
z Celule descentralizate şi coordonate
z Celule flexibile distribuite şi ierarhizate
Caietul de sarcini funcţional al
sistemului
A. Exemplu: Instalaţie de dozare

z Produsele de obţinut
– Gama de produse este obţinută din amestecul a 3
componente
z Constituent A – pasta de viscozitate mică
z 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:
z Volumul producţie de fabricat
z Compoziţia specifică fiecărui produs din gamă
z Calitatea constituenţilor
A. Exemplu: Instalaţie de dozare

z 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)
z Ciclul de funcţionare
– Ciclul de bază a unui lot de produs necesită 3 sarcini
z Dozarea constituenţilor
z Umplerea malaxorului
z Amestecare 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 n


A 50-120 kg funcţie 100-150 kg funcţie
de B şi C 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

z 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

z 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

z 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

z 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

z Condiţii de mediu
– Mediul normal
z Punere în funcţiune
– 8 luni
z 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 Ciclul de -Durată pentru 1100 kg –
- Detecția nivelului minim – de 20 min
definit funcţionare - parametrizabil, produse
preprogramate
- funcţionare cu 1
operator noaptea

Pregătire/do - Precizia cântăririi - ±2kg Dialog de Diagnosticare a tuturor


- Debit 100kg/min defecţiunilor PO şi PC
zare - Deversare - 0 exploatare

Amestecare - Capacitate – max 1100 kg Siguranţă în MTBF – 1000h


- Gama de viteze – de definit MTTR – 1h
funcţionare MTTR(1) – 8h
săptămânal

Reglaj - Domeniu – 15 la 65°C


- Precizia reglajului - ±2°C
temperatură
Ante studiul părţii de comandă

z Porneşte de la caietul de sarcini funcţional


z Are ca rezultat o descriere tehnică şi un
calcul previzional al costului
z Antestudiile părţii de comandă şi a celei
operative pot fi realizate de echipe
specializate diferite
z Î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ă

z Descrierea tehnică va aborda ansamblul de


soluţii tehnice şi alegerile reţinute
z Calculul 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ă

z Analiza funcţională = un demers prin care se


recenzează, se ordonează, se ierarhizează
şi se tratează funcţiile de automatizare de
realizat
z Funcţ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ă

z Principalele funcţii întâlnite în sistemele de automatizare


– Funcţii de comandă digitale
z Detectare
z Comandă de putere
z Prelucrarea informaţiei
– Funcţii specifice de comandă
z Poziţionare
z Variaţia de viteză
z Reglare
z Cântărire
z Numărare etc
– Funcţii de dialog om-maşină
– Funcţii de dialog între dispozitivele sistemului
Alegere tehnică/alegere tehnologică

z Alegere tehnică – procesul de trecere de la


enunţarea obiectivelor la enunţarea
procedeelor ce răspund obiectivelor
z Alegere 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)
Programe 
specifice
Traductor
El. 
acționare

Programe 
dintr‐o bibliotecă
Traductor
El. 
acționare

Module 
inteligente 
ale AP Traductor
El. 
acționare

Traductori
inteligenți Traductor
El. 
acționare
Ante studiul părţii de comandă

z Descrierea tehnică conţine:


– O descriere detaliată a fiecărei funcţii, precizând:
z Alegerea traductoarelor şi interfeţelor acestora
z Alegerea elementelor componente ale comenzii de
putere (contactoare, distributoare, ..) şi elementelor
auxiliare (protecţie, semnalizare etc)
z Repartizarea inteligenţei între componente
z Caracteristicile 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:
z Structura părţii de comandă (numărul şi tipul de AP, căi
de comunicare etc)
z Configuraţia fiecărui AP (module, căi de comunicaţie,
dimensiunea memoriei, limbajele folosite etc)
– Definirea programului de aplicaţie
z O SFC pentru a pune în evidenţă interacţiunea dintre
funcţii
z Lista sarcinilor ce trebuie analizate
Ante studiul părţii de comandă

z Funcţiile digitale
– Detecţia
z Tipul detectorului (mecanic, inductiv, fotoelectric) şi
caracteristicile acestuia
z Componentele asociate (relee, amplificatoare, surse de
alimentare etc)
z Prelucrarea integrată a semnalului
– Comanda de putere. Pentru fiecare element de
acţionare (contactor, distribuitor) se precizează:
z Tipul şi caracteristicile (dimesiune, alimentare, semnale
de comandă)
z Eventuale semnale de reacţie (semnale de stare,
semnalizare defecte etc)
Ante studiul părţii de comandă

z Funcţiile digitale
– Prelucrarea informaţiei
z I/O standard sau specifice ale AP
z Diagrame SFC mai mult sau mai puţin detaliate ce
descriu aceste funcţii
z Funcţiile standard şi specifice cerute (temporizatoare,
numărătoare)
z Necesarul de memorie (în kocteţi)
Ante studiul părţii de comandă

z Funcţiile specifice de comandă


– Pentru fiecare funcţie specifică trebuie precizat
z Tipul şi caracteristicile elementelor componente de
comandă şi de măsurare
z Modulele şi programele de aplicaţie specifice
Ante studiul părţii de comandă

z Funcţiile de dialog şi comunicare.


z 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 mobile
z Pentru 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

z 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

z Analiza funcţiei de dozare


z Traductoarele de greutate sunt realizate cu mărci
tensometrice care trimit un semnal la un indicator de
greutate
z Se 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.
z Varianta selectată este cea de a doua: fiabilitate, precizie,
reducerea programului de aplicaţie
B. Exemplu: Instalaţie de dozare

z Analiza funcţiei de amestecare cu viteză


variabilă
– Ante studiul a dus la rezultatul următor:
z Antrenare cu motoreductor asincron cu un singur sens,
Pn=3kW.
z Variaţia electronică a vitezei de la 5 la 20 rot/min (raport
1:4)
z Frânare naturală prin sarcină
B. Exemplu: Instalaţie de dozare

z Analiza funcţiei de amestecare cu viteză


variabilă
– Caietul de sarcini impune restricţiile:
z O pornire progresivă pentru evitarea împroşcării cu
lichide
z O MTBF de peste 1000 ore
z Protecţia motorului conform normelor
z O supraveghere a motorului cu semnalizarea defectelor
pentru diagnosticare (suprasarcină, scurtcircuit)
– Funcţia de amestecare cuprinde 3 funcţii elementare
z Variaţia vitezei
z Comanda şi protecţia motorului
z Diagnosticare şi dialog
B. Exemplu: Instalaţie de dozare

z Funcţia de variaţie a vitezei


– Tipul de variator
z Se alege un invertor cu v/f constant
z Este suficient un invertor simplul (1 cadran)
z Puterea de 3kW implică alimentarea la o reţea de 380V.
– Pornirea progresivă
z Pornire manuală cu potenţiometru
z Comandă analogică externă
– Afişarea vitezei
z Soluţie 1: comutare de indicatoare pre reglate
z Soluţie 2: se utilizează un modul de ieşire analogică a
AP
B. Exemplu: Instalaţie de dozare

z Funcţia de protecţie a instalaţiei


– Standardele conduc la următoarea alegere:
z Un separator 25 A
z Protecţie de linie prin siguranţe fuzibile
z Protecţie a motorului prin relee electrotermice tripolare
diferenţiale
z Întrerupere cu contactor de 9 A
B. Exemplu: Instalaţie de dozare

z 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ă

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