Documente Academic
Documente Profesional
Documente Cultură
Proiect cofinanat din Fondul Social European n cadrul POS DRU 2007-2013
Beneficiar Centrul Naional de Dezvoltare a nvmntului Profesional i Tehnic
str. Spiru Haret nr. 10-12, sector 1, Bucureti-010176, tel. 021-3111162, fax. 021-3125498, vet@tvet.ro
Automate programabile
Material de predare
Nivel 3
2009
AUTOR:
CORNEL STANCA Prof. drd. ing. grad did. I
COORDONATOR:
CONSULTAN:
2
Cuprins
I. Introducere......................................................................................................................4
II. Documente necesare pentru activitatea de predare.....................................................6
III. Resurse........................................................................................................................7
Tema 1. Etapele procesului de proiectare a sistemelor de automatizare.........................7
Fia suport 1..................................................................................................................7
Tema 2. Clasificarea automatelor programabile..............................................................12
Fia suport 2................................................................................................................12
Tema 3. Schema bloc a automatului programabil...........................................................14
Fia suport 3................................................................................................................14
Tema 4. Operaii pentru execuia unei instruciuni..........................................................21
Fia suport 4................................................................................................................21
Tema 5. Instruciuni de prelucrare a informaiei..............................................................23
Fia suport 5................................................................................................................23
Tema 6. Noiuni de baz n alegerea soluiei de automatizare.......................................29
Fia suport 6................................................................................................................29
Tema 7. Limbaje de programare ale automatelor programabile.....................................32
Fia suport 7................................................................................................................32
Tema 8. Utilizarea automatelor programabile pe bit la implementarea automatelor cu
stri finite, definite prin diagrame de stare.....................................................................44
Fia suport 8................................................................................................................44
Tema 9. Conectarea unui automat programabil la un proces de automatizare..............47
Fia suport 9................................................................................................................47
Tema 10. Programarea AP utiliznd limbajele STL, LAD i FBD....................................51
Fia suport 10..............................................................................................................51
IV. Fia rezumat...............................................................................................................58
V. Bibliografie...................................................................................................................59
I. Introducere
Materialele de predare reprezint o resurs suport pentru activitatea de predare,
instrumente auxiliare care includ un mesaj sau o informaie didactic.
4
Semnificaia elementelor grafice din material este dat n tabelul de mai jos:
Sugestii
Definiie Important
metodologice
5
II. Documente necesare pentru activitatea de predare
Pentru predarea coninuturilor abordate n cadrul materialului de predare cadrul
didactic are obligaia de a studia urmtoarele documente:
6
III. Resurse
Fia suport 1
Dei astzi, logica programat a ctigat teren n faa celei cablate, datorit avantajelor
i dezavantajelor ambelor moduri, alegerea ntre cele dou nu este ntotdeauna facil.
Dac sistemul de automatizare are de gestionat un numr mare de parametri i/ sau
algoritmul de conducere este complex atunci se opteaz pentru implementarea prin
logic programat. Dac n schimb, cerinele de vitez sunt primordiale, se opteaz
pentru implementarea prin logic cablat. n cazul sistemelor care au cerine i de
complexitate i de vitez, soluia de implemetare va fi una mixt.
n aceast faz se determin numrul de intrri i ieiri din sistem, viteza lor de variaie,
cantitatea i viteza de prelucrare a datelor, tipul de erori i modul de tratare al acestora.
Pentru partajarea pe tipuri de logic se pot ntlni urmtoarele situaii:
- Exist un numr mic de semnale de intrare i ieire iar logica de prelucrare a lor
este simpl astfel nct realizarea unui sistem n logic cablat este mai
economic dect implemetarea sistemului n logic programat chiar n varianta
minimal;
7
1.1. Proiectarea logicii cablate
F. Proiectarea produsului final poate dura foarte mult mai ales dac
prototipul a fost implementat pe plci universale iar produsul final trebuie realizat pe
circuite imprimate. De multe ori ciclul trebuie parcurs de mai multe ori pn la
realizarea unui produs acceptabil.
8
A. Partajarea blocurilor
B.Sinteza
Sintezablocurilor
blocurilor
NU
Lucreaz
corect?
DA
E. Testarea prototipului
NU
Lucreaz
corect?
DA
9
transmitere a informaiei, capacitatea memoriei, tipul i numrul de interfee cu
procesul. Tot n aceast etap se face o analiz preliminar a performanelor
sistemului i a soluiilor care ar duce la realizarea acestora.
B. Proiectarea programului
D. Asamblarea programului
E. Testarea programului
NU
Este
corect
?
DA
Satisface NU
performanele
impuse ?
DA
F. nscrie programul n PROM
G. Elaborarea documentaiei
10
E. Testarea programului urmrete verificarea faptului c programul rspunde
corect la cerinele impuse. Fazele de scriere, translatare i testare se repet de
mai multe ori pn cnd codul main funcioneaz corect. Se verific apoi dac
programul satisface performanele impuse sistemului prin tema de proiectare. Se
verific mai ales viteza de rspuns. Dac sistemul nu rspunde se ncearc o
optimizare a acestuia. Dac nici dup optimizare sistemul nu rspunde cerinelor
se reia analiza sistemului pentru a vedea ce blocuri pot fi realizate n logica
cablat.
G. Se elaboreaz documentaia.
Sugestii metodologice
CU CE materiale didactice?
Se pot utiliza automatele programabile de care coala dispune, pliante i cataloage de
prezentare de automate programabile, componente de automatizare clasice (relee,
contactoare, circuite electronice dedicate sau cu destinaie general).
11
Tema 2. Clasificarea automatelor programabile1
Fia suport 2
1
Programmable Logic Controller - PLC
2
Embedded system
12
- Depistarea erorilor de programare prin rutine de tratare a acestora lansate la
sfritul ciclului program.
Sugestii metodologice
CU CE materiale didactice?
Se pot utiliza automatele programabile de care coala dispune, pliante i cataloage de
prezentare de automate programabile.
13
Tema 3. Schema bloc a automatului programabil
Fia suport 3
Unitatea Consola de
central programare
Magistrala intern
Periferice de intrare3, subsistemul prin care APB primete informaii din proces
(de la ntreruptoare, comutatoare, contactoare, relee, limitatoare);
Periferice de ieire4, subsistemul prin care APB trimite comenzi n proces (de
exemplu pentru alimentarea unor bobine de relee sau contactoare, sau aprinderea
de lmpi de semnalizare);
3
n multe abordri, se utilizeaz noiunea de Interfee de intrare;
4
n multe abordri, se utilizeaz noiunea de Interfee de ieire;
14
Periferice interne (temporizri/ contorizri), subsistemul prin care se pot
genera intervale de timp i contorizri de evenimente;
Schimbul de date ntre modulele componente ale automatului se face prin intermediul
magistralei interne structurat funcional n:
Toate transferurile de date se fac prin mijlocirea unitii centrale. Aceasta plaseaz pe
magistrala de adrese adresa modulului cu care dorete s comunice iar pe magistrala
de control activeaz semnalul care definete sensul informaiei. Datele de intrare citite
sunt prelucrate n unitatea central iar rezultatele sunt trimise la ieiri.
Registrul
Numrtorul Memoria instruciunii
de adrese program curente
Blocul de Buffer de
control adrese
Unitatea Memoria
logic intern
15
Memoria program, este un circuit de tip EEPROM n care se afl programul
APB, ncrcat de la consola de programare. La aplicarea la intrarea sa a adresei
instruciunii ce trebuie executat, la ieire va trimite codul acestei instruciuni,
memorat la adresa respectiv
n Figura 3.3. este reprezentat schema bloc a perifericelor de intrare ale automatului
programabil pe un bit.
5
n alte abordri se utilizeaz noiunea de interfee de intrare pentru acest bloc funcional.
16
Blocul de prelucrare a semnalului de intrare, este un circuit ce adapteaz
semnalele din proces pentru a deveni compatibile cu cele din automatul programabil.
Tot aceste blocuri asigur i izolarea galvanic ntre proces i automatul programabil.
Construcia acestui bloc depinde de tipul semnalelor achiziionate din proces, respectiv
semnal de tensiune sau de curent, semnale continue sau alternative, semnale de nivel
mic sau de nivel mare.
Magistrala de control
Magistrala de adrese
Magistrala de date
Proces
6
n alte abordri se utilizeaz noiunea de interfee de ieire.
17
Blocul de ieire este un circuit care realizeaz adaptarea de nivel a semnalul de
ieire. Ieirea poate fi prin releu pentru semnale de curent continuu sau alternativ, prin
tranzistor pentru semnale n curent continuu de nivel mic sau prin triac pentru semnale
alternative de nivel mare. Pentru evitarea perturbaiilor datorate procesului condus se
prefer izolarea galvanic a blocurilor de ieire de elementele comandate din proces
prin: relee intermediare, transformatoare de impuls sau optocuploare.
Magistrala de control
Magistrala de adrese
Magistrala de date
Proces
n Figura 3.5. este prezentat schema bloc a perifericelor interne. Acestea sunt module
de temporizare i contorizare fiind n acelai timp module de intrare i de ieire. Ca
atare n structura lor intr blocuri prezente n interfeele de intrare i ieire, respectiv:
blocul de decodificare a adresei, blocul de multiplexare a semnalelor de intrare i blocul
de comand canal.
18
Blocul de multiplexare a semnalelor de intrare, este un circuit ce selecteaz
blocul de temporizare indicat de decodificatorul adresei i depune informaia citit pe
magistrala de date la momentul indicat de un semnal primit de pe magistrala de control.
Magistrala de control
Magistrala de adrese
Magistrala de date
Bloc de comand
Bloc decodificare canal Bloc multiplexare
adres semnale de intrare
Sugestii metodologice
CU CE materiale didactice?
Funcie de disponibilitile unitii colare alturi de automatul programabil generic cu
prelucrare la nivel de bit propus se poate exemplifica cu un automat programabil
existent. Alturi de documentaia nsoitoare a automatului programabil se pot utiliza
19
chiar automatele programabile, pe care se pot identifica elementele de conectare la
proces, de semnalizare local i de conectare cu consola sau PC-ul.
20
Tema 4. Operaii pentru execuia unei instruciuni
Fia suport 4
Exist dou situaii n care nu este luat n considerare adresa obinut prin
incrementare:
- Dac urmtoarea instruciune din program nu se afl dup instruciunea
curent, numrtorul de adrese se va ncrca cu adresa (numit de salt) a
acestei instruciuni ce se afl n corpul instruciunii curente, ntr-un cmp ce-i
este destinat special.
- La iniializarea automatului programabil la punerea sub tensiune sau la
apsarea butonului RESET. n acest caz, numrtorul se ncarc cu adresa de
start a programului, adres stabilit prin comutatoare (switch-uri).
7
Watchdog
21
n situia depirii timpului de execuie alocat pentru program, numrtorul va ajunge la
valoarea maxim, i se blocheaz unitatea de control iar ieirile se pun pe 0, pentru a
preveni situaii de avarie n proces.
Sugestii metodologice
CU CE materiale didactice?
Se poate utiliza un videoproiector conectat la un PC pentru prezentarea temei n Power
Point. Diapozitivele pot conine schemele bloc ale automatului programabil prezentate
n cadrul temei 3, prelucrate astfel nct s sugereze clar derularea operaiilor, utiliznd
i animaii. Se poate utiliza la prezentare materialul de nvare online.
22
Tema 5. Instruciuni de prelucrare a informaiei
Fia suport 5
Instruciunile sunt de fapt coduri binare, iar programul astfel prezentat se spune c este
scris n cod main, cod executabil de ctre unitatea de control a automatului
programabil.
Cmpul Cod operaie este specific instruciunii i conine informaii referitoare la modul
de prelucrare a datelor precum i semnificaia celui de-al doilea cmp i a modului de
adresare.
Semnificaia celui de-al doilea cmp poate fi de operand sau de adres, caz n care se
specific dac adresa este de salt sau este adres de operand.
23
- Adresare indexat, prin care adresa operandului este relativ la valoarea dintr-un
registru index. Mai precis adresa absolut a operandului se afl prin adunarea
valorii coninut n cmpul de adres al instruciunii cu valoarea coninutul
registrului index. Acest de mod adresare permite funcionarea automatului
programabil n regim de multitasking fix8 sau relocabil9.
Aceste instruciuni permit salvarea datelor din acumulator ntr-o locaie a memoriei RAM
sau ntr-unul din bistabilele aflate n structura canalelor de ieire sau temporizare/
contorizare. n esen, sunt instruciuni de scriere n locaiile adresate.
Generic, mnemonicele acestor instruciuni sunt STO pentru ncrcarea locaiei adresate
cu coninutul acumulatorului i STOC ncrcarea locaiei adresate cu coninutul
complementat al acumulatorului. n limbajul de asamblare, fiecare mnemonic este
nsoit de un identificator al adresei locaiei destinaie. De exemplu:
8
Mai multe programe ce ruleaz (n aparen) n acelai timp i ocup zone de memorie la adrese fixe;
9
Programele concurente se ncarc la adrese oarecare, gestionate de sistemul de operare.
24
realizeaz prin rencrcarea strilor memorate anterior n RAM, n bistabilele
canalelor de ieire, la sfritul fiecrui ciclu de execuie a programului.
25
5.6. Instruciuni de salt
5.7.1.Temporizarea la anclanare
26
// n momententul t3 se termin comanda dat
prin // I1.
I1
T
O1
t1 t2 t3
Figura 5.1. Diagrama temporal
pentru temporizare la anclanare.
27
I1
I1 T
T1
I1 T1
O1
t1 t2 t3
Figura 5.2. Diagrama temporal
pentru temporizare la declanare.
Sugestii metodologice
CU CE materiale didactice?
Deoarece subiectul temei se refer la un automat programabil generic, nu este
necesar existena fizic a automatului programabil i/ sau a mediului de programare.
Ar fi n schimb util un videoproiector i un PC pentru creterea calitii expunerii i
utilizarea eficient a timpului.
28
Tema 6. Noiuni de baz n alegerea soluiei de automatizare
Fia suport 6
Exist mai muli factori care concur la alegerea tipului de automat programabil.
- Dac aplicaia este mai simpl, criteriul de alegere cel mai important este numrul de
intrri i ieiri precum i dimensiunea programului utilizator. La aplicaiile mai complexe,
sunt luai n considerare i timpii de rspuns precum i dimensiunea memoriei care
trebuie s nmagazineze un numr mare de date.
- n cazul proceselor rspndite n mai multe locaii este mult mai indicat alegerea unor
module de intrare/ ieire distribuite dect a modulelor de intrare/ ieire dispuse pe
automat. Aceast soluie duce la reducerea numrului de cabluri de legtur cu
procesul, comunicaia ntre modulele de intrare/ ieire i unitatea central a automatului
programabil fcndu-se prin intermediul magistralei de comunicaie pe un numr redus
de fire. n acest caz i viteza de rspuns poate fi simitor mai mare.
Sugestii metodologice
De exemplu:
29
- fac controlul dimensional permanent i s minimizeze erorilor prin corecie
rapid;
- afieze rapoarte statistice ale parametrilor de proces;
- comunice cu calculatorul de proces de la nivel ierarhic superior.
n cazul prelucrrii datelor binare este recomandabil s se utilizeze limbajul LAD sau
FBD, limbaje care sunt mult mai intuitive.
n cazul manipulrii de variabile complexe i adresri indirecte este indicat limbajul STL
care este asemntor limbajelor de programare de nivel nalt i permite procesarea
unui volum mare de date.
Programul care cuprinde instruciunile necesare realizrii sarcinii impuse prin tema de
proiectare este recomandat a fi modular.
Dup scriere, programul este testat. Testarea poate fi fcut pe un automat programabil
virtual implementat chiar n mediul de progamare, sau n automatul programabil real,
dup ncrcarea programului n memoria de programe a acestuia.
Sugestii metodologice
CU CE materiale didactice?
Se pot utiliza automatele programabile de care coala dispune, pliante i cataloage de
prezentare de programabile.
30
CUM se desfoar lecia?
Clasa poate fi organizat frontal n cadrul secvenei de transmitere a noilor cunotine
iar metodele utilizate pot fi expozitive, conversativ-euristice, problematizarea. n cadrul
secvenei de retenie, activitatea elevilor se va desfura pe grupe mici (2-3 elevi) sau
individual avnd la dispoziie materialul de nvare aferent listat sau online.
31
Tema 7. Limbaje de programare ale automatelor programabile
Fia suport 7
Cei mai muli productori de automate programabile ofer aceleai tipuri de instruciuni
de baz, dar exist, n general, diferene de form, operaii etc., de la un productor la
altul.
Sugestii metodologice
10
Sau IL (Instruction List)
32
- Reale (32 bii), notate cu REAL;
- iruri de caractere, notate cu STRING;
- Timp i dat, notate cu TIME repectiv cu DATE.
Este permis i utilizarea de date de tip tablou (ARRAY) i structur (STRUCT), precum
i derivate ale acestora.
De exemplu:
- %Ix.y, reprezint o variabil de intrare boolean reprezentnd bitul y din octetul
x;
- %QBx, reprezint o variabil de ieire boolean reprezentat de octetul x;
- %MWx, reprezint o variabil intern boolean reprezentat de cuvntul x;
- %IDx, reprezint o variabil de intrare boolean reprezentat de cuvntul dublu
x;
Este un limbaj de nivel sczut. Este utilizat pentru realizarea aplicaiilor mici sau pentru
optimizarea codului anumitor pri ale unor aplicaii.
(Operator + Modificator)
33
Operanzii instruciunilor sunt variabile interne, intrri sau ieiri ale automatului
programabil, mai precis referine la memoria fizic.
Operatori STL
- Operatori de transfer:
LD Transfer datele din memorie n acumulator;
ST sau = - Transfer datele din acumulator n memorie.
Exemplu:
LD %I0.0 //Transfer coninutul intrrii I0.0 n
//acumulator
ST %Q1.0 //Transfer la ieirea Q1.0 coninutul
//acumulatorului
= %Q1.2 //Transfer la ieirea Q1.2 coninutul
//acumulatorului
Exemplu:
S %I0.0 //Seteaz bitul I0.0
S %M0.3 //Reseteaz bitul M0.3
- Operatori logici:
AND Realizeaz operaia logic I ntre coninutul acumulatorului i operand;
OR - Realizeaz operaia logic SAU ntre coninutul acumulatorului i operand;
XOR - Realizeaz operaia logic SAU-EXCLUSIV ntre coninutul
acumulatorului i operand;
Exemplu:
AND %M0.0 //Realizeaz operaia I ntre coninutul
// acumulatorului i operandul M0.0. Rezultatul
// se pstreaz n acumulator.
OR %M0.0 //Realizeaz operaia SAU ntre coninutul
// acumulatorului i operandul M0.0. Rezultatul
// se pstreaz n acumulator.
XOR %M0.0 // Realizeaz operaia SAU-EXCLUSIV ntre
// coninutul acumulatorului i operandul M0.0.
// Rezultatul se pstreaz n acumulator.
34
B. Operatori pentru date pe octet, cuvnt sau dublu cuvnt
Exemplu:
MOVB %MB0, %MB1 // Realizez transferul octetului din
// MB0 n MB1
MOVW %MW0, %MW2 // Realizez transferul cuvntului din
// MW0 n MW2
- Operatori aritmetici:
ADD Adunarea cu un operand a coninutului acumulatorului;
SUB Scderea cu un operand a coninutului acumulatorului;
MUL nmulirea cu un operand a coninutului acumulatorului;
DIV mprirea ntreag cu un operand a coninutului acumulatorului.
Exemplu:
// Secvena de program urmtoare face adunarea operanzilor
// a i b, rezultatul pstrndu-se n c. Variabilele a, b
// i c sunt variabile simbolice de tip ntreg
LD a // ncarc a n acumulator
ADD b // Adun b la coninutul acumulatorului
ST c // Salveaz coninutul acumulatorului n c
- Operatori relaionali:
GT Verific dac valoarea din acumulator este mai mare dect valoarea unui
operand. Dac DA, seteaz acumulatorul, dac NU l reseteaz;
GE - Verific dac valoarea din acumulator este mai mare sau egal cu valoarea
unui operand. Dac DA, seteaz acumulatorul, dac NU l reseteaz;
EQ - Verific dac valoarea din acumulator este egal cu valoarea unui operand.
Dac DA, seteaz acumulatorul, dac NU l reseteaz;
NE - Verific dac valoarea din acumulator este diferit de valoarea unui operand.
Dac DA, seteaz acumulatorul, dac NU l reseteaz;
LE - Verific dac valoarea din acumulator este mai mic sau egal cu valoarea unui
operand. Dac DA, seteaz acumulatorul, dac NU l reseteaz;
LT - Verific dac valoarea din acumulator este mai mic dect valoarea unui
operand. Dac DA, seteaz acumulatorul, dac NU l reseteaz;
Exemplu:
// Secvena de program urmtoare seteaz variabilele
// booleene X i y funcie de rezultatul comparaiilor a>b,
// respectiv b>c. Variabilele a, b i c sunt variabile
// simbolice de tip ntreg
LD a // ncarc a n acumulator
GT b // Compar cu b
ST x // Memoreaz rezultatul n x
35
LD b // ncarc b n acumulator
GT c // Compar cu c
ST y // Memoreaz rezultatul n y
- Operatori de salt:
JMP Salt necondiionat la o adres diferit de adresa din numrtorul de adrese;
CALL Salt la o adres de la care ncepe o subrutin 11;
RET Apare obligatoriu n corpul unei subrutine i produce salt la adresa urmtoare
adresei instruciunii CALL apelante.
Exemplu:
// Secvena de program urmtoare memoreaz n c rezultatul
// operaiei a-b dac ab sau rezultatul operaiei b-a dac
// a<b. Variabilele a, b i c sunt variabile simbolice de
// tip ntreg.
LD a // ncarc a n acumulator
GE b // Verific dac ab
JMPC UNU // Dac DA, sare la adresa de etichet UNU
LD b // Dac NU, atunci a<b i se va face operaia b-a
SUB a // Se scade din acumulatorul ncrcat cu b, a
ST c // Se memoreaz rezultatul n c
JMP CONT // Se face salt necondiionat la adresa CONT
UNU: LD a // Se ncarc a n acumulator
SUB b // Se scade din acumulatorul ncrcat cu a, b
ST c // Se memoreaz rezultatul n c
CONT:
n secvena de program anterioar s-a utilizat un modificator pentru realizarea unui salt
condiionat, C adugat lui JMP rezultnd JMPC. Modificatorul este un caracter care
este ataat operatorului i poate realiza:
- Negarea operandului - litera folosit cel mai adesea fiind N;
Exemplu:
ANDN %I0.1 // Realizeaz operaia I ntre
// coninutul acumulatorului i
// intrarea I0.1 negat
Exemplu:
AND ( %I0.2
OR %I0.3
) // ntrzie aplicarea operandului I, realiznd
// mai nti operaia logic SAU ntre intrrile
// I0.2 i I0.3. La ntlnirea parantezei nchise
// se realizeaz operaia logic I ntre
// acumulator i rezultatul operaiei SAU
// anterioare
36
Etichetele sunt utilizate pentru specificarea punctelor int ale instruciuilor de salt. O
instruciune poate avea o etichet urmat opional de :. O etichet poate fi scris i pe o
linie separat.
Limbajul LAD este un limbaj grafic. El este utilizat la realizarea aplicaiilor de ctre
programatori care au experiene anterioare n proiectarea aplicaiilor cu relee i
contacte.
Un program n limbajul LAD este alctuit din reele ce utilizeaz simboluri grafice.
Reeaua este conectat n partea stng i partea dreapt la barele de alimentare de la
o surs de putere. Execuia unui program se face de sus n jos i de la stnga la
dreapta.
I1 I2 k %I1.0 %I1.1 %Q0.1
I3
%I1.2
a) b)
n Figura 7.2. sunt prezentate simbolurile grafice de baz ale limbajului LAD, conform
IEC 1131-3.
37
Contactul direct12, Figura 7.2.a, realizeaz operaia I ntre starea legturii stngi i
valoarea variabilei booleene asociate.
Exemplu:
Echivalena STL
%I0.0 %Q0.0
LD %I0.0
OR %I0.1
%I0.1 ST %Q0.0
Contactul inversat13, Figura 7.2.b, realizeaz operaia I ntre starea legturii stngi i
valoarea variabilei booleene negate asociate.
Exemplu:
Echivalena STL
%I0.0 %Q0.0
LDN %I0.0
OR %I0.1
%I0.1 ST %Q0.0
Contactul de sesizare a frontului cresctor 14, Figura 7.2.c, realizeaz operaia I ntre
starea legturii stngi i frontul cresctor al variabilei booleene asociate.
Exemplu:
%I0.0 %Q0.0
P
%I0.1
Exemplu:
12
Contactul normal deschis
13
Contactul normal nchis
14
Frontul pozitiv
15
Frontul negativ
38
%I0.0 %Q0.0
N
%I0.1
Bobina direct, Figura 7.2.e, realizeaz o asociere ntre o variabil de ieire i starea
legturii stngi. La unele implemetri starea legturii stngi se propag spre legtura
dreapt putndu-se astfel conecta n serie mai multe bobine. La alte implementri,
pentru a conecta mai multe bobine, acestea trebuie conectate n paralel. Legtura
dreapt este realizat efectiv sau se consider legat, aa cum se poate vedea n
exemplele de mai jos.
Exemple:
Echivalena STL
LD %I0.0
ST %Q0.0
%I0.0 %Q0.0 ST %Q0.1
%Q0.1
Bobina invers, Figura 7.2.f, realizeaz o asociere ntre o variabil de ieire i starea
negat a legturii stngi. La unele implementri starea legturii stngi se propag spre
legtura dreapt putndu-se astfel conecta n serie mai multe bobine. La alte
implementri nu exist acest tip de bobin.
Exemplu:
Echivalena STL
%I0.0 %Q0.0
LD %I0.0
STN %Q0.0
Bobina de setare, Figura 7.2.g, realizeaz o setare a variabilei de ieire asociate atunci
cnd starea legturii stngi devine TRUE. Valoarea variabilei rmne TRUE pn cnd
o instruciune invers, de resetare, se aplic aceleiai variabile.
Exemplu:
39
Echivalena STL
%I0.0 %Q0.0
S LD %I0.0
S %Q0.0
Exemplu:
Echivalena STL
%I0.0 %Q0.0
R LD %I0.0
R %Q0.0
Exemplu:
%I0.0
Echivalena STL
>> Et1
%I0.1 %Q0.0 LDN %I0.0
JMPC Et1
LD %I0.1
ST %Q0.0
>> Et2 JMP Et2
Et1: Et1: LD %I0.2
%I0.2 %Q0.1 STN %Q0.1
Et2:
Et2:
Un program FBD este alctuit din blocuri de funcii elementare, conectate ntre ele prin
linii de legtur. Ca i programul LAD, programul FBD se execut de sus n jos i de la
stnga la dreapta.
40
Fiecare bloc are un numr de intrri i ieiri. Blocul este reprezentat printr-un
dreptunghi. Intrrile sunt n partea stng, iar ieirile n partea dreapt. Un bloc
elementar realizeaz o singur prelucrare asupra intrrilor. Funcia realizat de bloc
este scris n interiorul acestuia. La intrrile unui bloc sunt legate variabilele de intrare,
iar variabilele de ieire ale blocurilor pot fi conectate la ieirile automatului programabil
sau la intrrile altor blocuri. Tipul variabilelor de intrare trebuie s coincid cu tipul cerut
de intrarea blocului. Ieirea blocului are acelai tip cu intrrile.
Conform recomandrilor IEC, Figura 7.3, orice bloc are, pe lng intrrile asupra crora
realizeaz operaii X respectiv Y, o intrare numit EN i o ieire numit ENO pe lng
ieirea Z. Cnd EN este FALSE nu se opereaz asupra intrrilor de date iar ieirea
ENO este FALSE. Cnd EN devine TRUE, blocul devine operaional iar ieirea ENO
trece n starea TRUE. Dac n cursul operrii apare o eroare, ieirea ENO trece n
starea FALSE.
Nume bloc
EN ENO
X
Z
Y
Blocurile standard sunt: blocuri de manipulare a datelor 16, blocuri pentru operaii
booleene (AND, OR, XOR, etc., Figura 7.4), blocuri aritmetice (pentru efectuarea
operaiilor elementare, adunare, scdere, nmulire i mprire), blocuri de comparaie.
& &
OR NOR XOR
1 1 =1
16
Se mai numesc i blocuri de asignare
41
generatoare de semnal (generatoare de semnal dreptunghiular, generatoare de semnal
modulat n durat PWM), blocuri matematice (de calcul a valorii absolute, a funciei
exponeniale, a logaritmului, a rdcinii ptrate, a funciilor trigonometrice, etc.).
Sugestii metodologice
n figura 7.5. este prezentat forma general a unei secvene de program realizat n
limbajul FBD.
I1 O1
B1
I2
B3
I3 B2
O2
I4
Sugestii metodologice
CU CE materiale didactice?
Dac coala dispune de licen pentru software-ul, mediul de programare al
automatelor programabile se poate utiliza n cadrul acestei lecii. Sunt necesare n acest
caz PC-uri pentru fiecare elev sau echip de lucru sau cel puin un PC i un
videoproiector pentru profesor. Pentru cunoaterea la nivel minimal a mediului de
programare este necesar o lecie de iniiere n utilizarea acestuia.
42
Dac coala nu are licen de sofware, profesorul poate utiliza o prezentare Power
Point n care pot fi utilizate scheme din aceast fi.
43
Tema 8. Utilizarea automatelor programabile pe bit la
implementarea automatelor cu stri finite, definite prin diagrame
de stare
Fia suport 8
Programul ncepe cu o parte de iniializare prin care variabilele de stare primesc valorile
iniiale. n partea de lucru a programului se parcurge diagrama strilor ntr-o ordine
arbitrar. Se testeaz condiiile de trecere dintr-o stare n alta acolo unde exist aceste
condiii de tranziie. La sfritul programului de lucru se dau ieirilor valorile varibilelor
de stare actualizate, dup programul se reia.
PST RESET
S1 O1=0
O2=0
I1 I2
S2 O1=1 S3 O1=0
O2=0 O2=1
I3 I4
I2 S4 O1=1
O2=1
I1I2
S5 O1=1
O2=0
I4
Strilor S1, S2, , S5 ale automatului li se asociaz variabilele M1, M2, , M5,
intrrilor variabilele I1, I2, I3 i I4, iar ieirilor O1 i O2. Programul pe automatul
programabil pe bit prezentat anterior, care implementeaz acest automat cu stri finite
este urmtorul:
44
START:
// Tranziia S1->S2
LD M1 //Se ncarc acumulatorul cu starea S1
AND I1 //I ntre acumulator i intrarea I1, deci S1I1
RTC M1 //Se reseteaz M1 dac acumulatorul este 1
STC M2 //Se seteaz M2 dac acumulatorul este 1
//----------------------------------------------------------
// Tranziia S1->S3
LD M1 //Se ncarc acumulatorul cu starea S1
AND I2 //I ntre acumulator i intrarea I2, deci S1I2
RTC M1 //Se reseteaz M1 dac acumulatorul este 1
STC M3 //Se seteaz M3 dac acumulatorul este 1
//----------------------------------------------------------
// Tranziia S2->S1
LD M2 //Se ncarc acumulatorul cu starea S2
ANDC I2 //I ntre acumulator i intrarea I2 negat, deci
//S2not(I2)
RTC M2 //Se reseteaz M2 dac acumulatorul este 1
STC M1 //Se seteaz M1 dac acumulatorul este 1
//----------------------------------------------------------
// Tranziia S2->S4
LD M2 //Se ncarc acumulatorul cu starea S2
AND I3 //I ntre acumulator i intrarea I3, deci S2I3
RTC M2 //Se reseteaz M2 dac acumulatorul este 1
STC M4 //Se seteaz M4 dac acumulatorul este 1
//----------------------------------------------------------
// Tranziia S3->S4
LD M3 //Se ncarc acumulatorul cu starea S3
AND I4 //I ntre acumulator i intrarea I4, deci S3I4
RTC M3 //Se reseteaz M3 dac acumulatorul este 1
STC M4 //Se seteaz M4 dac acumulatorul este 1
//----------------------------------------------------------
// Tranziia S4->S5
LD M4 //Se ncarc acumulatorul cu starea S4
AND I1 //I ntre acumulator i intrarea I1, deci S4I1
AND I2 //I ntre acumulator i intrarea I2, deci
//S4I1I2
RTC M4 //Se reseteaz M4 dac acumulatorul este 1
STC M5 //Se seteaz M5 dac acumulatorul este 1
//----------------------------------------------------------
// Tranziia S5->S1
LD M5 //Se ncarc acumulatorul cu starea S5
ANDC I4 //I ntre acumulator i intrarea I4 negat, deci
//S5not(I4)
RTC M5 //Se reseteaz M5 dac acumulatorul este 1
STC M1 //Se seteaz M1 dac acumulatorul este 1
//----------------------------------------------------------
// Actualizare O1
LD M2 //Se ncarc acumulatorul cu starea S2
OR M4 //SAU ntre acumulator i starea M4, deci S2+S4
OR M5 //SAU ntre acumulator i starea M5, deci
//S2+S4+S5
45
STO O1 //Se actualizeaz O1 cu valoarea din acumulator
//----------------------------------------------------------
// Actualizare O2
LD M3 //Se ncarc acumulatorul cu starea S3
OR M4 //SAU ntre acumulator i starea M4, deci S3+S4
STO O2 //Se actualizeaz O2 cu valoarea din acumulator
//----------------------------------------------------------
JMP START
INIT:
CLR //Resetare acumulator
STOC M1 //ncarc starea S1=1
STO M2 //ncarc starea S2=0
STO M3 //ncarc starea S3=0
STO M4 //ncarc starea S4=0
STO M5 //ncarc starea S5=0
JMP START
Sugestii metodologice
CU CE materiale didactice?
Pentru fluena i claritatea expunerii se recomand utilizarea unui videoproiector
conectat la PC i o prezentare succint a temei. Se mai poate folosi documentaia
referitoare la programarea automatului programabil utilizat (cea prezentat la tema 5
sau cea de care dispune coala).
46
Tema 9. Conectarea unui automat programabil la un proces de
automatizare
Fia suport 9
47
~
Ieirile automatelor programabile actuale pot fi prin tranzistor sau prin releu, Figura 9.3.
+ +
Qx.y Qx.y
Rs Rs
- -
GND GND
a) b)
17
Elementul de execuie
48
9.3. Conectarea intrrilor i ieirilor fizice ale automatelor programabile la un
proces de automatizare
Din cele 8 intrri sunt utilizate doar 6 (3 legate la contacte iar 3 la senzori din proces).
De semenea doar 6 ieiri din 8 sunt utilizate (4 pentru comanda bobinelor de
contactoare i 2 pentru aprinderea lmpilor de semnalizare).
Intrri
Automat programabil
Ieiri
L N Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Q0.7
230Vca
Sugestii metodologice
49
CU CE materiale didactice?
Este necesar existena cel puin a unui automat programabil pe care se pot face
demonstraii de conectare. n cazul existenei mai multor automate programabile, elevii
vor conecta singuri sau pe grupe aceste automate la procese simulate sau reale.
50
Tema 10. Programarea AP 18 utiliznd limbajele STL, LAD i FBD.
Aplicaie:
Pentru circuitul din Figura 10.1 care convertete codul octal n caractere alfabetice
afiate pe 7 segmente, conform tabelului de adevr 10.1, s se realizeze programul n
limbajul:
a) STL;
a) LAD;
b) FBD.
a a
A b
f b
c
B g
AP d
e
C f e c
g
d
18
Automate programabile
51
d AB A B A B
e f A BC
g A B AB BC A B BC
n Tabelul 10.2. sunt prezentate asocierile dintre variabilele de intrare ale automatului i
intrrile n circuit, respectiv dintre variabilele de ieire i ieirile circuitului.
Tabelul 10.2 Asocierea variabile intrare/ ieire AP i intrri/ ieiri circuit convertor
52
LDN %I0.0 //ncarc A n acumulator
OR %I0.1 //Execut operaia A+B
ORN %I0.2 //Execut operaia A+B+C
ST %Q0.4 //Stocheaz rezultatul n e si f
ST %Q0.5
//-----------------------------------------------------
LDN %I0.0
ANDN %I0.1 //n acumulator se afl AB
OR (%I0.0
AND %I0.1
) //n acumulator se afl AB+AB
OR (%I0.1
ANDN %I0.2
) //n acumulator se afl AB+AB+BC
ST %Q0.6 //Stocheaz rezultatul n g
53
10.2. Programarea n limbajul LAD a AP ce emuleaz circuitul convertor octal-
alfabetic.
Cu asocierile din Tabelul 10.2 n Figura 10.2.se prezint programul n limbajul LAD.
%I0.2
%I0.0 %I0.2
%I0.1 %I0.2
%I0.1 %I0.0
%I0.1 %Q0.4
%I0.0 %Q0.5
%I0.2
%I0.0 %I0.1
%I0.1 %I0.2
54
10.3. Programarea n limbajul FBD a AP ce emuleaz circuitul convertor octal-
alfabetic.
%I0.0
AND
& OR
%I0.1 %Q0.0
1
NOT
%I0.2
NOT
%I0.0
AND
& OR
%Q0.1
1
NOT
%I0.1
%I0.0
AND
&
%I0.2
NOT
%I0.0
AND
& OR
%Q0.2
1
NOT
%I0.1
NOT
%I0.0
AND
&
%I0.2
%I0.0
XOR
=1 %Q0.3
%I0.1
55
%I0.1
OR
NOT 1 %Q0.4
%I0.0
%Q0.5
NOT
%I0.2
%I0.0
XOR NOT
=1 OR
%I0.1 %Q0.6
1
NOT
%I0.2
AND
&
%I0.1
Sugestii metodologice
CU CE materiale didactice?
Dac coala dispune de licen pentru software-ul, mediul de programare al
automatelor programabile se poate utiliza n cadrul acestei lecii. Sunt necesare n acest
caz PC-uri pentru fiecare elev sau echip de lucru sau cel puin un PC i un
videoproiector pentru profesor. Pentru cunoaterea la nivel minimal a mediului de
programare este necesar o lecie de iniiere n utilizarea acestuia.
Dac coala nu are licen de sofware, profesorul poate utiliza o prezentare Power
Point n care pot fi utilizate scheme din aceast fi.
56
metode expozitive, demonstrative, aciune efectiv (prin care elevii vor avea ocazia s
fac singuri sau pe grupe mici, conectarea la proces) precum i metoda proiectului .
Observaii:
- Profesorul va adapta prezenta fi la realitile dotrii din coal, deoarece ntre
diferite firme productoare de AP exist totui mici diferene de sintax i
simbolistic.
- Dac la tema 7 s-a putut preda GRAFCET, se pot ncerca implementri de
circuite secveniale (automate cu stri finite).
57
IV. Fia rezumat
Unitatea de nvmnt __________________
Fia rezumat
19
zz.ll.aaaa reprezint data la care elevul a demonstrat c a dobndit cunotinele, abilitile i atitudinile vizate prin activitatea respectiv
58
V. Bibliografie
1. Mrgineanu, Ioan. (2005). Automate programabile, Cluj Napoca: Editura
Albastr
2. Frando, Siviu, .a. (2006). Mecatronic, Manual pentru clasa a XII-a,
Bucureti: Editura Economic Preuniversitaria
3. ***. La
http://facultate.regielive.ro/cursuri/electronica/automate_programabile_cu_prelucrare
_pe_bit-76956.html. 10.05.2009
4. ***. La www.aut.upt.ro/b624/discipline/asdn/ap101.pdf 11.05.2009
59