Sunteți pe pagina 1din 59

nvmntul profesional i tehnic n domeniul TIC

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

Domeniul: Electronic automatizri

Calificarea: Tehnician n automatizri

Nivel 3

2009
AUTOR:
CORNEL STANCA Prof. drd. ing. grad did. I

COORDONATOR:

GABRIELA DIACONU - Prof. ing. grad did.I

CONSULTAN:

IOANA CRSTEA expert CNDIPT


ZOICA VLDU expert CNDIPT
ANGELA POPESCU expert CNDIPT
DANA STROIE expert CNDIPT

Acest material a fost elaborat n cadrul proiectului nvmntul profesional i tehnic n


domeniul TIC, proiect cofinanat din Fondul Social European n cadrul POS DRU 2007-
2013

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.

Prezentul material de predare, se adreseaz cadrelor didactice care predau n cadrul


liceului tehnologic, domeniul Electronic i automatizri, calificarea Tehnician n
automatizri.

El a fost elaborat pentru modulul IX clasa a XII-a, ce se desfoar pe parcursul a 31


ore/ an, din care:

Laborator tehnologic 15 ore

Competene Teme Fise suport

Tema 1. Etapele procesului de proiectare a Fisa 1


26.1. Identific automatele
sistemelor de automatizare
programabile dup
dimensiunea magistralei
Tema 2. Clasificarea automatelor Fisa 2
de date
programabile

Tema 3. Schema bloc a automatului Fisa 3


programabil
26.2. Recunote
configuraia de baz a Tema 4. Operaii pentru execuia unei Fia 4
automatelor programabile instruciuni
cu prelucrare la nivel de bit
Tema 5. Instruciuni de prelucrare a Fia 5
informaiei

Tema 6. Noiuni de baz n alegerea Fia 6


soluiei de automatizare.

Tema 7. Limbaje de programare ale Fia 7


26.3. Examineaz automatelor programabile.
utilizarea automatelor
programabile cu prelucrare Tema 8. Utilizarea Fia 8
la nivel de bit la automatelor programabile pe bit la
implementarea implementarea automatelor cu stri finite,
automatelor cu stri finite definite prin diagrame de stare
Tema 9. Conectarea unui automat Fia 9
programabil la un proces de automatizare
Tema 10. Programarea automatelor Fia 10
programabile utiliznd limbajele STL, LAD
i FBD.

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:

Standardul de Pregtire Profesional pentru calificarea Tehnician echipamente


de calcul, nivelul 3 avansat www.tvet.ro, seciunea SPP sau www.edu.ro ,
seciunea nvmnt preuniversitar

Curriculum pentru calificarea Tehnician echipamente de calcul, nivelul 3 avansat


www.tvet.ro, seciunea Curriculum sau www.edu.ro , seciunea nvmnt
preuniversitar

6
III. Resurse

Tema 1. Etapele procesului de proiectare a sistemelor de automatizare

Fia suport 1

Sistemele de automatizare proiectate pot fi implementate n dou moduri:

1. Prin logica cablat, caz n care:


a. Funcia realizat depinde de conexiunile dintre module, deci de cablaj i
b. Orice modificare n funcia de conducere a sistemului necesit modificri
hardware.
2. Prin logica programat, ceea ce presupune:
a. Existena unui echipament universal pe care poate rula orice aplicaie;
b. Funcia sistemului de automatizare este realizat de un program aflat ntr-
o memorie. Modificare funciei sistemului, n acest caz, nu se face prin
modificri hardware ci software, deci prin ncrcarea n memorie a unui alt
program.

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.

Proiectarea unui sistem de automatizare va ncepe n concluzie cu faza de definire a


problemei n care se face i partajarea sistemului n logic cablat i n logica
programat.

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;

- Cerinele de performan ale sistemului nu sunt deosebite, astfel nct se poate


implementa n logic programat;

- Logica de prelucrare a datelor este complex, numrul de intrri i ieiri este


mare deci se poate utiliza logica programat. Exist ns i cerine de
performan ce nu pot fi satisfcute dect prin logic cablat. Se impune n acest
caz o prelucrare parial a semnalelor n circuite specializate. Se atribuie prii
din sistem realizat n logic programat ct mai multe funcii pentru astfel nct
logica cablat s fie ct mai simpl.

7
1.1. Proiectarea logicii cablate

Proiectarea logicii cablate se face pe baza algoritmului din Figura 1.1.

Semnificaia blocurilor este urmtoarea:

A. Sistemul se mparte n blocuri folosind criterii funcionale sau poziionale.


Se urmrete pe de o parte ca blocurile proiectate s fie de complexitate ct mai
redus pentru a putea fi uor de realizat i testat. Pe de alt parte numrul blocurilor
trebuie s fie ct mai mic pentru a nu aprea probleme de interconectare.

B. Se exprim funcionarea blocurilor prin funcii logice.

C. Se implementeaz funciile logice cu circuite logice pe circuite imprimate


realizate special sau prin wraping pe plci universale. nainte de implantare
componentele vor fi testate. Se realizeaz apoi conexiunile ntre plci.

D. Testarea blocurilor componente se face separat, n condiii ct mai


apropiate de cele reale, simulndu-se blocurile nc nerealizate.

E. n aceast etap pot s apar conexiuni greite datorate fazei de sintez.


Modificrile fcute n aceast etap pot afecta funcionarea ntregului sistem. Nu
este exclus reproiectarea ntregului sistem.

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

C. Implementarea cu circuite logice

D. Testarea blocurilor componente

NU
Lucreaz

corect?
DA

E. Testarea prototipului

NU
Lucreaz

corect?
DA

F. Proiectare produs final

Figura 1.1. Algoritmul de proiectare a logicii cablate.

1.2. Proiectarea logicii programate

Proiectarea logicii programate se face pe baza algoritmului din Figura 1.2.

Semnificaia blocurilor componente este urmtoarea:

A. Alegerea configuraiei microcalculatorului pe baza analizei de sistem. Se


determin numrul de intrri, numrul de ieiri , numrul de dispozitive de

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.

Partajarea sistemului n logic


cablat i logic programat

A. Alegerea configuraiei sistemului

B. Proiectarea programului

C. Scrierea programului surs

D. Asamblarea programului

E. Testarea programului

NU
Este
corect
?
DA

Satisface NU
performanele
impuse ?

DA
F. nscrie programul n PROM

G. Elaborarea documentaiei

Figura 1.2. Algoritmul de proiectare a logicii programate.

B. Schiarea operaiilor ce urmeaz a fi executate de program.

C. Scrierea programului n limbaj de asamblare sau ntr-un limbaj de nivel superior.

D. Translatarea n limbaj cod main automat n mediul de dezvoltare.

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.

F. Dac verificarea sistemului este ncheiat cu succes, programul este nscris n


PROM.

G. Se elaboreaz documentaia.

Sugestii metodologice

UNDE se desfoar lecia?


Lecia se poate desfura n sala de clas sau n laboratorul de automatizri.

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

La prezentare se poate utiliza un videoproiector conectat la un PC.

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.

DE UNDE TIU c s-au atins obiectivele?


Se aplic instrumentele de evaluare aferente.

11
Tema 2. Clasificarea automatelor programabile1

Fia suport 2

2.1. Clasificarea automatelor programabile dup principiul constructiv

Funcie de principiul constructiv al automatelelor programabile, acestea se clasific n:

- Automate programabile algoritmice i


- Automate programabile vectoriale.

Automatele programabile algoritmice implementeaz cu ajutorul memoriilor de tip ROM


maini algoritmice de stare sau se realizeaz ca structuri microprogramate. La cele din
urm, evoluia n timp este determinat de o secven coerent de microinstruciuni
aflate n memoria intern. Structura lor este asemntoare cu cea a unitilor de control
ale procesoarelor. Acestea se construiesc, ca sisteme nglobate 2, de ctre firme ce
realizeaz sisteme de serie mare. Programarea acestor automate este destul de
greoaie i este fcut de personal cu pregtire superioar.

Automatele programabile vectoriale sunt microcalculatoare special concepute pentru


tratarea prin program a problemelor de logic combinaional i secvenial. Aceste
automate sunt foarte flexibile deoarece simuleaz structurile logice de comand printr-o
configuraie elastic, programabil. Pentru cele mai multe din automatele programabile
vectoriale exist limbaje de programare care permit programarea similar proiectrii
logicii cablate sau imprimate.

2.2. Clasificarea automatelor programabile funcie de numrul procesoare din


structur

Funcie de numrul de procesoare, automatele programabile se clasific n:

- Automate programabile cu un singur procesor;


- Automate programabile multiprocesor.

Automatele programabile cu un singur procesor folosesc un tampon de memorie, numit


imagine de proces. nainte de intrarea n ciclul unui program, se ncarc n memoria
imaginii de proces valoarea semnalelor fizice de intrare. Pe parcursul unui ciclu, valorile
intrrilor sau ieirilor folosite n program sunt cele din memoria imaginii de proces, chiar
dac pe parcursul ciclului unele intrri se pot schimba. Imaginea de proces este
actualizat cu comenzi de setare sau resetare a ieirilor. La terminarea ciclului, ieirile
fizice sunt actualizate corespunztor valorilor din imaginea de proces. Memoria cu
imaginea de proces se actualizeaz i n cazul n care, n program, se fac salturi napoi.
Dac proiectul implementat n automatul programabil conine mai multe blocuri
distincte, actualizarea memoriei cu imaginea de proces se actualizeaz la nceputul
fiecrui bloc.

Avantajele folosirii imaginii de proces sunt:


- Execuia rapid a programului;

1
Programmable Logic Controller - PLC
2
Embedded system

12
- Depistarea erorilor de programare prin rutine de tratare a acestora lansate la
sfritul ciclului program.

Automatele programabile multiprocesor nu utilizeaz memorie pentru imaginea de


proces. Starea intrrilor fizice este citit imediat cum se face referire la acestea.
Semnalele de ieire sunt, de asemenea, actualizate imediat, fiind comutate nainte de
terminarea ciclului.

Avantajele metodei de acces direct la intrri/ ieiri constau n faptul c:

- Este posibil funcionarea n paralel a mai multor module procesor;


- Se asigur utilizarea strii curente, practic instantanee, a unei intrri;
- n ciclul programului nu se mai consum timp cu actualizarea imaginii de proces;
- Se poate utiliza o comutare rapid a ieirilor pentru comanda unor periferice
electronice (de exemplu: motoare pas cu pas, numrtoare electronice, afiaje
electronice, multiplexoare electronice).

2.3. Clasificarea automatelor programabile dup dimensiunea magistralei de date

Dup dimensiunea magistralei de date automatele programabile se clasific astfel:

1. Automate programabile cu prelucrare la nivel de bit, la care dimensiunea


magistralei de date este de 1 bit, astfel nct operanzii care se proceseaz au i
ei dimensiunea de 1 bit.

2. Automate programabile cu prelucrare la nivel de cuvnt de n bii, dimensiunea


magistralei i a operanzilor fiind egal cu lungimea acestui cuvnt, n8.

3. Automate programabile mixte, prevzute cu dou uniti de calcul aritmetic i


logic, una pentru procesare pe 1 bit i alta pentru cuvinte de n bii.

Sugestii metodologice

UNDE se desfoar lecia?


Lecia se poate desfura n sala de clas sau n laboratorul de automatizri.

CU CE materiale didactice?
Se pot utiliza automatele programabile de care coala dispune, pliante i cataloage de
prezentare de automate programabile.

CUM se desfoar lecia?


Clasa poate fi organizat frontal n cadrul secvenei de transmitere a noilor cunotine
iar metodele utilizate pot fi expozitive i conversativ-euristice. 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.

DE UNDE TIU c s-au atins obiectivele?


Se aplic instrumentele de evaluare aferente.

13
Tema 3. Schema bloc a automatului programabil

Fia suport 3

3.1. Schema bloc a automatului programabil cu prelucrare la nivel de bit


(APB)

Automatele programabile cu prelucrarea la nivel de bit sau automatele programabile pe


bit, sunt destinate conducerii proceselor de complexitate medie. Avnd o arhitectur
intern simplificat i un set de instruciuni redus, un automatele programabile pe bit
realizeaz prelucrri simple de date, n principal logice, fiind ns capabil s controleze
un numr mare de intrri i ieiri de un bit asociate procesului controlat, ntr-o siguran
funcional ridicat.

n Figura 3.1. se prezint schema bloc a unui automat programabil generic cu


prelucrare la nivel de bit.

Unitatea Consola de
central programare

Magistrala intern

Periferice Periferice Periferice interne


de intrare de ieire (temporizri/ contorizri)

Figura 3.1. Schema bloc a unui automat programabil pe bit.

Blocurile componente ale APB sunt:

Unitatea central, este creierul APB, ce coordoneaz activitatea din ntregul


sistem;

Consola de programare, echipamentul pe care se realizeaz programul ce va


rula pe APB, i de pe care se ncarc n memoria de programe a APB acest
program;

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:

- magistrala de date, bidirecional, cu dimensiunea de un bit;


- magistrala de adrese, unidirecional, cu dimensiunea dat de spaiul de
adresare (de exemplu 10 bii pentru un spaiu de adresare de 1kbit), pe care
unitatea central depune adresele perifericelor cu care dialoghiaz;
- magistrala de control, cu semnale de comand spre periferice.

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.

3.2. Unitatea central

n Figura 3.2. se prezint schema bloc a unitii centrale a automatului programabil cu


prelucrare pe bit.

Registrul
Numrtorul Memoria instruciunii
de adrese program curente

Blocul de Buffer de
control adrese

Unitatea Memoria
logic intern

Magistrala Magistrala Magistrala


de date de control de adrese
Figura 3.2. Schema bloc a unitii centrale a unui
automat programabil pe bit.

Semnificaia blocurilor unitii centrale este urmtoarea:

Numrtorul de adrese, este un circuit numrtor care indic adresa din


memorie de unde va fi citit instruciunea ce urmeaz a fi executat;

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

Registrul instruciunii curente, este un registru ce se ncarc cu instruciunea


de executat citit din memoria de program de la adresa indicat de numrtorul de
adrese;

Blocul de control, este un circuit ce decodific codul instruciunii aflat n corpul


instruciunii i prin semnalele de control rezultate, comand operaiile din APB
implicate de instruciunea curent;

Bufferul de adrese, este un registru care memoreaz temporar adresa


perifericului sau locaiei de memorie cu care unitatea central face schimb de
informaii;

Unitatea logic, este un circuit ce prelucreaz datele achiziionate de


perifericele de intrare sau citite din memoria intern i trimite rezultatul n memoria
intern sau la perifericele de ieire;

Memoria intern, este un circuit de tip RAM destinat memorrii variabilelor


utilizate n program.

3.3. Periferice de intrare5

n Figura 3.3. este reprezentat schema bloc a perifericelor de intrare ale automatului
programabil pe un bit.

Blocul de decodificare a adresei, este un circuit ce primete la intrare codul


adresei depus pe magistrala de adrese de ctre unitatea central, compar aceast
adres cu adresa proprie implementat hardware i emite semnal de recunoatere n
caz de coinciden a acestora.

Blocul de multiplexare a semnalelor de intrare, este un circuit ce selecteaz


intrarea indicat de decodificatorul adresei i o depune pe magistrala de date.

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

Bloc decodificare Bloc multiplexare


adres semnale intrare

Bloc prelucrare Bloc prelucrare


semnal intrare 1 semnal intrare n

Proces

Figura 3.3. Schema bloc a perifericelor de intrare pentru un automat


programabil cu prelucrare la nivel bit.

3.4. Periferice de ieire6

Schema bloc a perifericelor de ieire este prezentat n Figura 3.4.

Blocul de decodificare a adresei este un circuit care are aceeai semnificaie i


funcionalitate ca n cazul perifericelor de intrare.

Blocul de comand canal este un demultiplexor prin intermediul cruia semnalul


de pe magistrala de date este trimis la ieirea selectat de ctre decodificatorul adresei.
Acest bloc are i funcia de memorare a canalului, astfel nct semnalul s fie prezent n
permanen la intrrile blocurilor de ieire.

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

Bloc decodificare Bloc de comand


adres canal

Bloc de ieire 1 Bloc de ieire n

Proces

Figura 3.4. Schema bloc a perifericelor de ieire pentru un automat


programabil cu prelucrare la nivel bit.

3.5. Periferice interne

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.

Blocul de decodificare a adresei, este un circuit ce primete la intrare codul


adresei unui bloc de temporizare din APB, compar aceast adres cu adresa proprie
implementat hardware i emite semnal de recunoatere n caz de coinciden a
acestor dou adrese.

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.

Blocul de comand canal este un circuit demultiplexor prin intermediul cruia


semnalul de pe magistrala de date este trimis la blocul de temporizare selectat de ctre
decodificatorul adresei.

Blocul de temporizare este un circuit ce realizeaz temporizri i numrri


(contorizri). Este vzut ca un periferic de ieire n momentul n care primete semnal
pentru contorizare sau de iniiere a temporizrii. Este vzut ca periferic de intrare n
momentul n care temporizarea s-a ncheiat sau se citete cantitatea contorizat. Poate
fi de tip analogic (monostabil) sau numeric (numrtor).

Magistrala de control

Magistrala de adrese

Magistrala de date

Bloc de comand
Bloc decodificare canal Bloc multiplexare
adres semnale de intrare

Bloc temporizare Bloc temporizare


1 n

Figura 3.5. Schema bloc a perifericelor interne ale unui automat


programabil cu prelucrare la nivel bit.

Sugestii metodologice

UNDE se desfoar lecia?


Lecia se poate desfura n sala de clas sau n laboratorul de automatizri.

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.

Se poate utiliza videoproiectorul ca mijloc didactic, expunerea prezentrii concepute


pentru aceast tem dnd claritate i eficien actului didactic. Shemele bloc din
prezentul text pot fi utilizate n diapozitivele prezentrii.

CUM se desfoar lecia?


Dac nivelul de interes i de pregtire al clasei este ridicat se pot explicita blocurile
componente cu scheme electronice. Se va putea aplica n acest caz metoda
conversaiei euristice, elevii putnd folosi cunotiinele acumulate anterior (despre
circuite basculante bistabile, circuite basculante monostabile, pori logice, codificatoare,
decodificatoare, multiplexoare, demultiplexoare, numrtoare, memorii,
microcontrolere) la modulele parcurse n clasa a XI-a, respectiv Modulul IX - Circuite
electronice, Modulul X - Circuite cu componente electronice analogice, Modulul XI
Circuite integrate logice n automatizri.

Clasa poate fi organizat frontal n cadrul secvenei de transmitere a noilor cunotine


iar metodele utilizate pot fi expozitive i conversativ-euristice. 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.

DE UNDE TIU c s-au atins obiectivele?


Se aplic instrumentele de evaluare aferente.

20
Tema 4. Operaii pentru execuia unei instruciuni

Fia suport 4

Funcionarea unitii de control presupune execuia ciclic a programului, intruciune


dup instruciune. Execuia fiecrei instruciuni nseamn realizarea urmtoarelor
operaii:

1. Aducerea instruciunii de executat din memoria de programe, de la adresa


indicat de numrtorul de adrese n registrul instruciunii curente.

Memoria de programe este organizat n cuvinte cu dimensiunea egal cu cea a


registrului instruciunii curente respectiv cu dimensiunea instruciunilor.

2. Incrementarea numrtorului de adrese de ctre blocul de comand. Numrtorul


de adrese va indica astfel adresa urmtoarei instruciuni ce trebuie executat.

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

3. Decodificarea codului instruciunii n blocul de control i execuia operaiilor


implicate, de exemplu: efectuarea operaiilor logice n unitatea logic, memorarea
strilor n memoria intern de tip RAM, etc.

4. Transmiterea pe magistrala de adrese a adresei perifericului de dialog (dup


memorarea acesteia n registrul buffer de adrese), i stabilirea dialogului dup
recunoaterea perifericului adresat.

Dac instruciunea curent este de salt, adresa coninut n corpul instruciunii se


va ncrca n numrtorul de adrese, nu n bufferul de adrese.

Dac instruciunea curent nu necesit dialog cu perifericele i nici salt n


program, corpul instruciunii poate conine n loc de adres chiar operandul. n
acest caz biii din cmpul corespunztor al instruciunii sunt trimii blocului de
control.

Execuia programului este supravegheat de un circuit numrtor 7 care este iniializat n


trei situaii:

- la punerea sub tensiune;


- la apsarea butonului RESET;
- la sfritul fiecrui ciclu de execuie a programului.

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

UNDE se desfoar lecia?


Lecia se poate desfura n sala de clas sau n laboratorul de automatizri.

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.

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.

DE UNDE TIU c s-au atins obiectivele?


Se aplic instrumentele de evaluare aferente.

22
Tema 5. Instruciuni de prelucrare a informaiei

Fia suport 5

5.1. Programarea automatului programabil cu prelucrare la nivel de bit

Orice automat programabil, pe parcursul funcionrii, execut ntr-o ordine logic


instruciuni ce compun programul aflat n memoria de programe. Acest lucru este posibil
deoarece instruciunile din program aparin unui set de instruciuni concepute special
pentru automatul programabil respectiv. Fiecare automat programabil are propriul su
set de instruciuni ce acoper toat gama de operaii necesar achiziiei datelor din
proces, prelucrrii lor i apoi trimiterii comenzilor n proces.

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.

Pentru realizarea programului automatului programabil nu se procedeaz la scrierea sa


de ctre programator ca atare, n cod main, deoarece este nepractic (dificil de scris,
dificil de depanat i cronofag).

Scrierea programului este nlesnit de limbajul de asamblare, n cadrul cruia, fiecrei


instruciuni din cod main i corespunde o mnemonic (descriere concis a
instruciunii). Conversia programului scris n limbaj de asamblare n limbaj cod main
este fcut automat de un program numit compilator.

5.2. Structura instruciunii cod main

Instruciunile automatului programabil conin dou cmpuri cu semnificaie i


dimensiune diferit, aa cum se poate vedea n figura de mai jos

Cod operaie Operand/ Adres


(n bii) (m bii)

Lungime cuvnt instuciune = n+m bii

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.

n automatul programabil cu prelucrare la nivel de bit, exist dou moduri de adresare:


- Adresare direct, prin care adresa operandului este indicat direct, lungimea de
m bii alocat adresei putnd defini ntreg spaiul de adresare disponibil al
automatului programabil;

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.

5.3. Instruciuni de testare a condiiilor

Aceste instruciuni sesizeaz modificarea strii intrrilor, ieirilor sau temporizatoarelor


interne i ncarc ntr-un registru cu semnificaie special din unitatea central numit
acumulator, noua stare. Sunt, n esen, instruciuni de citire din locaiile adresate.
Citirea se face la intervale regulate de timp egale cu durata de execuie a programului.

Generic, mnemonicele acestor instruciuni sunt LD pentru ncrcarea coninutului


locaiei adresate i LDC pentru ncrcarea complementului locaiei adresate, n registrul
acumulator. n limbajul de asamblare, fiecare mnemonic este nsoit de un
identificator al adresei locaiei surs. De exemplu:

LD I1 // ncarc n acumulator coninutul intrrii I1.

LDC T4 // ncarc n acumulator coninutul complementat


// al temporizatorului T4.

5.4. Instruciuni de transfer date

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:

STO O2 // ncarc ieirea O2, coninutul acumulatorului.

STOC M1 // ncarc locaia RAM M1, cu coninutul


// complementat al acumulatorului.

Observaie: Simultan cu scrierea informaiei n bistabilul canalului de ieire se face


scrierea i n RAM unde se va pstra o imagine a tuturor canalelor de ieire. Acest
lucru se face din dou motive:
1. Posibilitatea implementrii pe automatele programabile a unor automate finite
seveniale ce conin reacii ieire-intrare;
2. Protecia comenzilor ctre proces, comenzi ce pot fi alterate prin modificarea
strii bistabilelor din cile de ieire de perturbaiile din proces. Acest lucru se

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.

Transferul condiionat al datelor din acumulator la destinaie (canal de ieire, de


temporizare sau locaiei RAM), este realizat de instruciunile: STC, care seteaz ieirea
adresat dac acumulatorul conine valoarea 1, respectiv RTC, care reseteaz ieirea
adresat dac acumulatorul conine valoarea 1.

n limbajul de asamblare, fiecare din aceste mnemonici este nsoit de un identificator


al adresei locaiei destinaie. De exemplu:

STC O1 // seteaz ieirea O1, dac n acumulator se afl


// valoarea 1.
RTC O1 // reseteaz ieirea O1, dac n
// acumulator se afl valoarea 1.

5.5. Instruciuni de prelucrare logic a datelor

Formele normale i canonice, disjunctive i conjunctive ale funciilor logice pot fi


implementate pe automatele programabile deoarece acestea dispun de un set complet
de instruciuni logice la nivel de bit. Ele prelucreaz numai coninutul acumulatorului n
cazul operaiilor cu un singur operand iar n cazul operaiilor cu doi operanzi, coninutul
acumulatorului i al unui canal de intrare, de temporizare sau locaie RAM. La sfritul
execuiei oricrei instruciuni logice, rezultatul se afl n acumulator.

Instruciunile pe doi operanzi sunt:


- AND, ce implementeaz funcia boolean elementar I dintre acumulator i un
canal de intrare, temporizare sau locaii RAM;
- ANDC, ce implementeaz funcia boolean elementar I dintre acumulator i
complemetul unui canal de intrare, temporizare sau locaii RAM;
- OR, ce implementeaz funcia boolean elementar SAU dintre acumulator i
un canal de intrare, temporizare sau locaii RAM;
- ORC, ce implementeaz funcia boolean elementar SAU dintre acumulator i
complemetul unui canal de intrare, temporizare sau locaii RAM;
- XOR, ce implementeaz funcia boolean elementar SAU-EXCLUSIV dintre
acumulator i un canal de intrare, temporizare sau locaii RAM;

n limbajul de asamblare, fiecare din aceste mnemonici este nsoit de un identificator


al adresei locaiei n care se afl cel de-al doilea operand. De exemplu:

AND I3 // realizeaz funcia I ntre coninutul


// acumulatorului i coninutul intrrii I3,
// Rezultatul se ncarc n acumulator.
ORC M5 // realizeaz funcia SAU ntre coninutul
// acumulatorului i complementul coninutului
// locaiei RAM M5. Rezultatul se ncarc
// n acumulator.

Instruciunile pe un singur operand sunt:


- NOT, care complementeaz coninutul acumulatorului;
- CLR, care reseteaz acumulatorul.

25
5.6. Instruciuni de salt

Aceste instuciuni permit ntreruperea executrii liniare a programului prin ncrcarea n


numrtorul de adrese a unei adrese diferit de cea obinut prin incrementare,
automat, dup aducerea din memorie a instruciunii curente.

Saltul necondiionat se realizeaz prin instruciunea JMP, iar cel condiionat de


existena valorii 1 n acumulator, de instruciunea JMPC.

n limbajul de asamblare, mnemonicile sunt nsoite de adresa de salt. De exemplu:

JMP 05h // salt la adresa 05 n hexazecimal, continu


// execuia de la aceast adres din memoria de
// programe.
JMPC 3Ch // salt la adresa 3C n hexazecimal dac n
// acumulator se afl 1, continu execuia de la
// aceast adres din memoria de programe.

Observaie: Automatul programabil dispune i de o instruciune numit NOP, ce nu


execut nicio operaie, singurul efect este acela de a consuma un timp egal cu durata
unui ciclu de execuie al unei instruciuni. Aceast instruciune se utilizeaz la
generarea temporizrilor sofware.

5.7. Generarea temporizrilor

Circuitele de generare a temporizrilor sunt module specializate din automatul


programabil conectate la magistrala intern. Prescrierea temporizrii poate fi fcut
manual prin intermediul unor microswitch-uri de pe modul, sau prin program funcie de
tipul automatului i/ sau al modulului. La modulele cu prescriere manual, circuitul de
temporizare poate fi un circuit monostabil sau un circuit numrtor.

5.7.1.Temporizarea la anclanare

Pentru modulul cu temporizare setabil manual cu monostabil ca circuit de temporizare,


se poate utiliza secvena de program urmtoare:

LD I1 // Citete starea intrrii I1


// i o ncrca n acumulator.
STO T1 // Scrie coninutul acumulatorului la
// intrarea modulului de temporizare T1
// Temporizarea ncepe cnd data trece de la 0 la
// 1, momentul t1 Fig.5.1. Temporizarea nu
// ncepe dac data trece de la 0 la 1.
LD T1 // Citete de la ieirea temporizatorului T1
// valoarea i o transfer n acumulator. La
// sfritul perioadei de temporizare, modulul T1
// comut, i ca urmare n acumulator se ncarc
// 1, momentul t2.
STO O1 // Coninutul acumulatorului este
// transferat ieirii O1.

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.

5.7.2. Temporizarea la declanare

Pentru modulul cu temporizare setabil manual cu monostabil ca circuit de temporizare,


se poate utiliza secvena de program urmtoare:

LDC I1 // ncrcare acumulator cu coninutul


// complementat al intrrii I1.
STO T1 // Se scrie data din acumulator la intrarea
// n modulul de temporizare T1.
// La trecerea de 1 la 0, nu se iniiaz
// temporizare, momentul t1 n Fig.5.2,
// iar la trecerea de la 0 la 1 se iniiaz
// temporizare, momentul t2.
LD T1 // Se ncarc acumulatorul cu valoarea de la
// ieirea modulului de temporizare T1.
OR I1 // Se realizeaz funcia logic SAU ntre
// coninutul acumulatorului i intrarea I1.
// ntre momentul comenzii anclanrii ieirii i
// sfritul temporizrii T, momentul t3,
// valoarea din acumulator este 1.
STO O1 // Se transfer coninutul acumulatorului
// la ieirea O1.

27
I1

I1 T

T1

I1 T1
O1

t1 t2 t3
Figura 5.2. Diagrama temporal
pentru temporizare la declanare.

Sugestii metodologice

UNDE se desfoar lecia?


Lecia se poate desfura n sala de clas sau n laboratorul de automatizri.

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.

Dac coala dispune de automate programabile nsoite de documentaie i software


liceniat, profesorul poate opta pentru prezentarea instruciunilor acestui automat,
structurat pe ct posibil ca n prezenta fi. Se optimizeaz astfel traseul pentru
demersul ulterior cnd, la leciile de laborator, se vor face aplicaii n limbajul specific
acestor automate programabile.

CUM se desfoar lecia?


Clasa poate fi organizat frontal n cadrul secvenei de transmitere a noilor cunotine
iar metodele utilizate pot fi expozitive i conversative euristice. 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.

DE UNDE TIU c s-au atins obiectivele?


Se aplic instrumentele de evaluare aferente.

28
Tema 6. Noiuni de baz n alegerea soluiei de automatizare

Fia suport 6

6.1. Alegerea hardware-ului

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.

- La o main unealt comandat de un automat programabil, numrul de intrri/ ieiri,


dimensiunea memoriei i timpul de rspuns sunt parametrii definitorii de care se ine
cont la alegerea automatului programabil.

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

- Dac procesul automatizat poate fi mprit n procese relativ autonome atunci


varianta automatelor programabile dedicate subproceselor, interconectate n reea, este
soluia cea mai bun. Simplitatea programrii fiecrui automat este evident. Cretea
vitezei de rspuns este evident de asemenea comparativ cu varianta reelei distribuite
de module intrare/ ieire, deoarece achiziia semnalelor, trimiterea comenzilor i
procesarea datelor se face concentrat, n cadrul fiecrui subproces. Programele care
ruleaz pe fiecare automat programabil sunt mult mai simple, mai scurte i mai rapide,
ele rulnd independent unele de altele. Schimbul de date dintre automatele
programabile se realizeaz prin intermediul unei reele specializate rapide.

Sugestii metodologice

Funcie de tipurile de automate programabile disponibile, pe baza specificaiilor din


documentaia acestora, se poate exemplifica alegerea unui hardware potrivit pentru una
sau mai multe aplicaii ipotetice prin metoda studiului de caz.

De exemplu:

A. Semaforizarea interseciei unui drum principal, cu prioritate, cu un drum


secundar;

B. Automatizarea unei maini unelte care trebuie s:


- execute mai multe tipuri de prelucrri (strunjire, gurire, frezare, lefuire, etc.), cu
scule de diferite dimensiuni la aceeai tip de operaie;

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.

6.2. Alegerea limbajului de programare

Alegerea limbajului de programare depinde de utilizator i de complexitatea algoritmului


de conducere.

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.

6.3. Crearea proiectului

Mediile de programare actuale permit optimizarea proiectrii, ele oferind faciliti n


organizarea resurselor necesare. Datele culese pentru realizarea proiectului sunt
structurate ierarhic.

6.4. Scrierea, analiza i salvarea unui program

Programul care cuprinde instruciunile necesare realizrii sarcinii impuse prin tema de
proiectare este recomandat a fi modular.

Modulele de program pot fi:


- orientate ctre proces, caz n care, fiecare modul corespunde unei pri din
proces sau maini;
- orientate funcional, caz n care modulele corespund funciilor din proces, ca
de exemplu: comunicare, mod de operare, etc.

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.

Dup testarea cu succes a programului acesta este ncrcat n memoria EPROM i


apoi este generat documentaia aferent.

Sugestii metodologice

UNDE se desfoar lecia?


Lecia se poate desfura n sala de clas sau n laboratorul de automatizri.

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.

DE UNDE TIU c s-au atins obiectivele?


Se aplic instrumentele de evaluare aferente.

31
Tema 7. Limbaje de programare ale automatelor programabile

Fia suport 7

Principala cerin a limbajului de programare pentru un automat programabil este aceea


de a fi uor de neles i de utilizat n aplicaii de conducere a proceselor.

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.

Comisia Electrotehnic Internaional (IEC) a dezvoltat standardul IEC 1131-3 care


recomand diferiilor productori s ofere acelai set de instruciuni. Setul de instruciuni
al acestui standard este mai mic dect cel oferit de productori. Normele IEC 1131-3
definesc SFC (Sequential Function Chart) ca fiind un mijloc destinat pentru structurarea
i organizarea unui program. SFC are la baz reprezentarea sub form de reea
GRAFCET a aciunilor secveniale.

Sugestii metodologice

Funcie de timpul disponibil i nivelul clasei se poate studia limbajul SFC i


reprezentarea GRAFCET.

Standardul IEC 1131-3 definete dou limbaje literale:

- STL10 (STatement List) List de instruciuni, cu structur asemntoare


limbajelor de asamblare ale microprocesoarelor;

- ST (Structured Text) Text structurat, care folosete instruciuni de atribuire, de


selecie i de control a subprogramelor avnd o structur apropiat de limbajele
de nivel nalt,

i dou limbaje (semi)grafice:

- LD (Ladder Diagram) Diagram scar, care permite programarea aplicaiilor


ntr-o manier asemntoare cu proiectarea unui circuit cu contacte i relee.
Limbajul opereaz numai cu variabile booleene;

- FBD (Function Block Diagram) Diagram cu blocuri de funcii, care este o


extensie a limbajului LD, coninnd i blocuri complexe. Acest limbaj permite
operarea i cu variabile de tip real.

Tipurile de date elementare definite de standard sunt:


- Booleene, notate cu BOOL;
- ntregi, notate cu INT;
- Cuvinte (16 bii), notate cu WORD;
- Cuvinte duble (32 bii), notate cu DWORD;

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.

Identificarea datelor se face utiliznd att adrese absolute (adresare direct) ct i


simbolice (adresare indirect).

Adresarea direct utilizeaz denumirea zonei de memorie pentru identificarea adresei.


Denumirile zonelor de memorie pot cuprinde dou prefixe. Primul prefix poate fi:
- %I, pentru intrri;
- %Q, pentru ieiri;
- %M, pentru variabilele interne.
Al doilea prefix poate fi:
- x, y, pentru variabilele de tip boolean. Valoarea x reprezint octetul, iar valoarea
y reprezint bitul;
- B, pentru octet (Byte);
- W, pentru cuvnt (Word);
- D, pentru dublu cuvnt (Double word).

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;

Adresarea indirect utilizeaz identificatorii, care sunt iruri de caractere alfanumerice,


ncepnd cu o liter, pentru identificarea adresei. n aceste cazuri este nevoie de
editarea unei tabele de simboluri pentru a face legtura dintre adresa absolut i cea
indirect.

7.1. Limbajul de programare STL

Este un limbaj de nivel sczut. Este utilizat pentru realizarea aplicaiilor mici sau pentru
optimizarea codului anumitor pri ale unor aplicaii.

Un program STL este o list de instruciuni de diferite tipuri, care calculeaz, de


obicei, termeni ai unor expresii logice, rezultatul fiind de asemenea o valoare logic.

Fiecare instruciune ncepe pe o linie nou, conine un operator, completat eventual cu


un modificator i, dac este nevoie de unul sau mai muli operanzi separai prin virgul
aa cum se poate vedea mai jos

Eticheta: Operaie Operand1[, Operand2] (* Comentariu *)

(Operator + Modificator)

33
Operanzii instruciunilor sunt variabile interne, intrri sau ieiri ale automatului
programabil, mai precis referine la memoria fizic.

La instruciunile cu un singur operand, cellalt operand este implicit fiind reprezentat de


coninutul unui registru, de obicei registrul acumulator. Operaia descris de operator se
execut ntre operatorul scris explicit i coninutul acumulatorului, iar rezultatul se
ncarc tot n acumulator.

Documentarea programelor se face utiliznd comentarii. Comentariile se pot face pe


aceeai linie cu instruciunea sau pe linii separate. Identificrea comentariilor se face cu
ajutorul grupului de caractere (* la nceput i *) la sfrit, sau cu grupul // numai la
nceput de comentariu.

Operatori STL

A. Operatori pentru date booleene

- 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

- Operatori de setare/ resetare a operanzilor:


S Set-are operand;
R Reset-are operand.

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

- Operatorul de transfer MOV. Datele se transfer ntre o surs i o destinaie.


Pentru a specifica tipul datei operatorul se suplimenteaz cu un: B, pentru
transferul unui octet, W, pentru transferul unui cuvnt i DW, pentru transferul
unui cuvnt dublu. Instruciunea are 2 operanzi, primul fiind sursa iar cel de-al
doilea destinaia.

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

- ntrzierea operatorului - caracterul utilizat de regul fiind (;

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

- Realizarea unei operaii condiionate, caracterul utilizat fiind C, aa cum a fost


exemplificat n secvena de program anterioar.
11
secven de program cu funcionalitate distinct.

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.

7.2. Limbajul de programare LAD

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.

Limbajul LAD realizeaz o transpunere grafic a ecuaiilor booleene, realiznd


combinaii ntre contacte (variabile de intrare) i bobine (variabile de ieire).

Simbolurile grafice ale limbajului sunt plasate n diagram n mod asemntor


contactelor i releelor dintr-o schem electric, Figura 7.1. Corespondena elementelor
este evident: I1 - %I1.0, I2 %I1.1, I3 %I1.2, k %Q0.1

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)

Figura 7.1. Analogia dintre schemele electrice cu contacte i relee a) i


programele realizate n limbajul LAD din automatele programabile b).

Contactele i bobinele sunt conectate la barele de alimentare prin linii orizontale i


verticale. Fiecare segment al unei linii poate avea starea TRUE sau FALSE. Starea
segmentelor legate mpreun este aceeai. Orice bar orizontal legat la bara din
stnga se afl n starea TRUE.

n Figura 7.2. sunt prezentate simbolurile grafice de baz ale limbajului LAD, conform
IEC 1131-3.

%I0.0 %I0.1 %I0.2 %I0.3 %Q0.0 %Q0.1 %Q0.2 %Q0.3


P N S R
a) b) c) d) e) f) g) h)
Figura 7.2. Simbolurile grafice de baz ale limbajului LAD.

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

Contactul de sesizare a frontului descresctor15, Figura 7.2.d, realizeaz operaia I


ntre starea legturii stngi i frontul descresctor al variabilei booleene asociate.

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:

%I0.0 %Q0.0 %Q0.1

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

Bobina de resetare, Figura 7.2.h, realizeaz o resetare a variabilei de ieire asociate


atunci cnd starea legturii stngi devine TRUE. Valoarea variabilei rmne FALSE
pn cnd o instruciune invers, de setare, se aplic aceleiai variabile.

Exemplu:

Echivalena STL
%I0.0 %Q0.0
R LD %I0.0
R %Q0.0

Etichete, salturi necondiionate i condiionate. ntr-un program LAD se pot utiliza


etichete, salturi necondiionate i condiionate pentru a controla execuia programului.
Eticheta se pune pe bara de alimentare stng sau ntr-o reea separat. Medii de
programare diferite utilizeaz simboluri grafice diferite pentru etichete.

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:

Majoritatea mediilor de programare au posibilitatea de a converti un program LAD ntr-


un STL i invers. Aceast facilitate poart denumirea de reversibilitate i arat faptul c
indiferent cum este scris programul, el va fi memorat sub form STL.

7.3. Limbajul FBD

FBD este un limbaj grafic. El permite programatorului s construiasc funcii complexe


utiliznd blocurile existente n bibliotecile mediului de programare.

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

Figura 7.3. Bloc funcional, conform


recomadrilor IEC 1131-3.

Principalele blocuri pot fi mprite n urmtoarele categorii:

1. Blocuri standard, care corespund operatorilor standard ai limbajului STL;


2. Blocuri speciale, implementate prin proceduri complexe.

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.

AND NAND NOT

& &

OR NOR XOR

1 1 =1

Figura 7.4. Blocuri standard ale limbajului FBD


Blocurile speciale sunt: blocuri de manipulare a datelor (bistabile SR i RS i de
detecie a fronturilor cresctoare i descresctoare, multiplexoare, generatoare de
numere aleatoare), contoare, temporizatoare, blocuri de procesare a semnalelor
(histerezis sau trigger Schmitt, regulatoare PID, integratoare, derivatoare, etc.), blocuri

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

Pentru atingerea de performane, funcie de timpul disponibil i nivelul clasei, se pot


explicita, pe mediile de programare ale automatelor programabile disponibile, blocuri
speciale precum:
- Contoare de tip CTU (CounT Up);
- Contoare de tip CTD (CounT Down);
- Contoare de tip CTUD (CounT Up Down);
- Temporizatoare de tip TON (Timer ON-delay);
- Temporizatoare de tip TOFF (Timer OFF-delay);
- Temporizatoare de tip TP (Timer Pulse);

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

Figura 7.5. Exemplu de program realizat n


limbajul FBD.

Sugestii metodologice

UNDE se desfoar lecia?


Lecia se poate desfura n sala de clas sau n laboratorul de automatizri (sau
informatic, dac se utilizeaz strict numai mediul de programare al automatelor
programabile i nu i automatele programabile).

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.

CUM se desfoar lecia?


Organizarea clasei poate fi frontal n cadrul secvenei de transmitere a noilor
cunotine alternnd cu cea pe grupe sau individual pentru secvenele de retenie ale
leciei. Se pot utiliza metode expozitive, demonstrative i aciune direct.

DE UNDE TIU c s-au atins obiectivele?


Se aplic instrumentele de evaluare aferente.

43
Tema 8. Utilizarea automatelor programabile pe bit la
implementarea automatelor cu stri finite, definite prin diagrame
de stare

Fia suport 8

La implementarea cu automatelor programabile pe bit a automatelor cu stri finite,


definite prin diagrame de stare, programul se poate scrie pornind direct de la diagrama
strilor. Se recomand alocarea fiecrei stri a automatului o variabil intern (locaie
din RAM). De asemenea se aloc adrese variabilelor de intrare i ieire din diagrama
strilor. Variabilele de intrare, de ieire, de stare i de temporizare reprezint parametrii
programului.

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

Figura 8.1. Diagrama strilor unui automat cu


stri finite.
n Figura 8.1 se prezint diagrama de stare a unui automat finit cu 5 stri, 4 intrri i 2
ieiri. Iniializarea hardware a automatului se face la punerea sub tensiune, semnalul
PST (Power Start) sau la apsarea butonului RESET.

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

UNDE se desfoar lecia?


Lecia se poate desfura n sala de clas sau n laboratorul de automatizri.

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

CUM se desfoar lecia?


Clasa poate fi organizat frontal n cadrul secvenei de transmitere a noilor cunotine
folosindu-se metodele expozitive, conversative euristice, demostrative. 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. Se poate
opta pentru metoda realizrii de proiecte caz n care elevii pot lucra individual. Temele
de proiectare pot fi similare exemplului din prezenta fi.

DE UNDE TIU c s-au atins obiectivele?


Se aplic instrumentele de evaluare aferente.

46
Tema 9. Conectarea unui automat programabil la un proces de
automatizare

Fia suport 9

9.1. Conectarea intrrilor fizice ale automatelor programabile

Conectarea unei intrri se face n funcie de modul de realizare a acesteia de ctre


productor. Exist dou variante de intrri: n curent continuu i n curent alternativ.
Conectarea intrrilor de curent continuu este prezentat n Figura 9.1.

+ - I0.0 I0.1 I0.2

Figura 9.1. Conectarea intrrilor automatului


programabil la o surs de curent continuu.

La schema din Figura 9.1, bornele + i se conecteaz la o surs exterioar de curent


continuu, protejat la supracureni printr-o siguran montat pe plusul sursei . Intrrile
I0.0 i I0.1 se leag contacte (de la relee, contactoare, limitatoare) alimentate de la
plusul sursei de curent continuu. La intrarea I0.2 se conecteaz ieirea de semnal a
unui traductor alimentat i el de la aceeai surs de curent continuu exterioar.

Observaie: La unele automate programabile nu este necesar o surs de curent


continuu exterioar deoarece aceast tensiune este obinut n interiorul automatului
programabil. i n acest caz automatul este prevzut cu borne de curent continuu.

Conectarea intrrilor de curent alternativ este prezentat n Figura 9.2. n aceast


schem, bornele L (Line) i N (Neutral) se conecteaz la o surs de curent alternativ.
Borna L este protejat la supracureni printr-o siguran. Sursa de tensiune alternativ
alimenteaz i contactele din proces conectate la intrrile I0.0, I0.1 i I0.2 ale
automatului programabil.

47
~

L N I0.0 I0.1 I0.2

Figura 9.2. Conectarea intrrilor automatului


programabil la o surs de curent alternativ.

9.2. Conectarea ieirilor fizice ale automatelor programabile

Ieirile automatelor programabile actuale pot fi prin tranzistor sau prin releu, Figura 9.3.

+ +

Qx.y Qx.y

Rs Rs
- -

GND GND

a) b)

Figura 9.3. Conectarea ieirilor unui automat programabil;


a) ieire prin tranzistor, b) ieire prin releu.

La ambele tipuri de ieiri, sarcina reprezentat de actuator 17 se conecteaz la borna de


ieire propriu-zis Qx.y i la borna (GND). Conectarea ieirii, deci a sarcinii (pentru
efectuarea comenzii din proces), la borna + se face n interiorul automatului programabil
prin deschiderea tranzistorului la polarizarea bazei respectiv la alimentarea bobinei
releului. Alimentarea cu curent continuu poate fi fcut i n acest caz cu o surs
extern sau intern.

17
Elementul de execuie

48
9.3. Conectarea intrrilor i ieirilor fizice ale automatelor programabile la un
proces de automatizare

Pe baza documentaiei pus la dispoziie de firma productoare i cea rezultat n urma


proiectrii, intrrile din proces provenite de la contacte de relee, limitatoare, contactoare
i de la senzori (de proximitate, de presiune, etc.) se leag la intrrile corespunztoare
ale automatului programabil. De asemenea ieirile ctre proces se conecteaz la
actuatorii corespunztori (bobine de relee, contactoare, becuri de semnalizare, etc.).

Dac automatul nu dispune de surs de alimentare n curent continuu, din exterior se


leag o astfel de surs la bornele corespunztoare. Conectarea sursei de alimentare,
230Vca, se face la bornele L (faza) i N (nulul de lucru). n Figura 9.4 se prezint un
exemplu de conectare a unui automat programabil cu 8 intrri i 8 ieiri la un proces.

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

24V 0V I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7

Intrri
Automat programabil

Ieiri
L N Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Q0.7

230Vca

Figura 9.4. Exemplu de conectare a unui automat


programabil la un proces.

Sugestii metodologice

UNDE se desfoar lecia?


Lecia se recomand a se desfura n laboratorul de automatizri.

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.

n faza iniial, de prezentare a modului de conectare se poate utiliza un videoproiector


conectat la un PC.

CUM se desfoar lecia?


Clasa poate fi organizat frontal n cadrul secvenei de transmitere a noilor cunotine
folosindu-se metodele expozitive, conversative euristice, demostrative. 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. Se
recomand i metoda aciunii efective prin care elevii vor avea ocazia s fac singuri
sau pe grupe mici, conectarea la proces.

DE UNDE TIU c s-au atins obiectivele?


Se aplic instrumentele de evaluare aferente.

50
Tema 10. Programarea AP 18 utiliznd limbajele STL, LAD i FBD.

Fia suport 10.

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

Figura 10.1. Convertor octal alfabetic

Tabelul 10.1. Tabelul de adevr al convertorului octal-alfabetic

Cifra Triada Caracter


a b c d e f g
octal binar afiat
0 000 A 1 1 1 0 1 1 1
1 001 C 1 0 0 1 1 1 0
2 010 E 1 0 0 1 1 1 1
3 011 F 1 0 0 0 1 1 1
4 100 H 0 1 1 0 1 1 1
5 101 J 0 1 1 1 0 0 0
6 110 L 0 0 0 1 1 1 0
7 111 P 1 1 0 0 1 1 1

Funciile corespunztoare celor 7 ieiri, obinute prin minimizare (recomandabil cu


ajutorul diagramelor Veitch-Karnaugh) sunt:
a AB C
b A B AC
c A B BC

18
Automate programabile

51
d AB A B A B
e f A BC
g A B AB BC A B BC

10.1. Programarea n limbajul STL a AP ce emuleaz circuitul convertor octal-


alfabetic.

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

Intrri convertor Intrri AP


A %I0.0
B %I0.1
C %I0.2
Ieiri convertor Ieiri AP
a %Q0.0
b %Q0.1
c %Q0.2
d %Q0.3
e %Q0.4
f %Q0.5
g %Q0.6

Programul STL pentru emulator este urmtorul:

LDN%I0.2 //ncarc negatul intrrii C n acumulator


OR (%I0.0
AND %I.01
) //Execut operaiile logice AB+C
ST %Q0.0 //Stocheaz rezultatul n a
//------------------------------------------------------
LDN %I0.0 //ncarc negatul intrrii A n acumulator
ANDN %I0.1 //Execut AND ntre acumulator i B
OR (%I0.0
AND %I0.2
) //Execut operaiile logice AB+AC
ST %Q0.1 //Stocheaz rezultatul n b
//-------------------------------------------------------
LDN %I0.0 //ncarc negatul intrrii A n acumulator
ANDN %I0.1 //Execut AND ntre acumulator i B
OR (%I0.2
ANDN %I0.1
) //Execut operaiile logice AB+BC
ST %Q0.2 //Stocheaz rezultatul n c
//------------------------------------------------------
LD %I0.0
XOR %I0.1 //Execut operaia A XOR B
ST %Q0.3 //Stocheaz rezultatul n d
//------------------------------------------------------

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.0 %I0.1 %Q0.0

%I0.2

%I0.0 %I0.1 %Q0.1

%I0.0 %I0.2

%I0.0 %I0.1 %Q0.2

%I0.1 %I0.2

%I0.0 %I0.1 %Q0.3

%I0.1 %I0.0

%I0.1 %Q0.4

%I0.0 %Q0.5

%I0.2

%I0.0 %I0.1 %Q0.6

%I0.0 %I0.1

%I0.1 %I0.2

Figura 10.2. Programul LAD pentru AP ce


emuleaz convertorul octal-alfabetic.

54
10.3. Programarea n limbajul FBD a AP ce emuleaz circuitul convertor octal-
alfabetic.

Cu asocierile din Tabelul 10.2 programul pentru emulatorul convertorului octal-alfabetic


n limbajul FBD este prezentat n Figura 10.3.a. i b.

%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

Figura 10.3.a. Programul n limbajului FBD al emulatorului


circuitului convertor de cod octal-alfabetic.

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

Figura 10.3.b. Programul n limbajului FBD al emulatorului


circuitului convertor de cod octal-alfabetic.

Sugestii metodologice

UNDE se desfoar lecia?


Lecia se poate desfura n sala de clas sau n laboratorul de automatizri (sau
informatic, dac se utilizeaz strict numai mediul de programare al automatelor
programabile i nu i automatele programabile).

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.

CUM se desfoar lecia?


Organizarea clasei poate fi frontal n cadrul secvenei de transmitere a noilor
cunotine alternnd cu cea pe grupe sau individual n cadrul secvenei de retenie a
leciei, avnd la dispoziie materialul de nvare aferent listat sau online. Se pot utiliza

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 .

DE UNDE TIU c s-au atins obiectivele?


Se aplic instrumentele de evaluare aferente.

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

Clasa ________________ Profesor______________________

Nume i Competena 1 Competena 2 Competena 3


Nr.
prenume Observaii
Crt. A1 A2 A3 A1 A2 A3 A1 A2 A3
elev
1 zz.ll.aaaa19
2
3
4
...
Y

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

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