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 20072013

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 26.1. Identific automatele programabile dup dimensiunea magistralei de date

Teme Tema 1. Etapele procesului de proiectare a sistemelor de automatizare Tema 2. Clasificarea automatelor programabile Tema 3. Schema bloc a automatului programabil

Fise suport Fisa 1 Fisa 2 Fisa 3 Fia 4 Fia 5 Fia 6 Fia 7 Fia 8

26.2. Recunote configuraia de baz a Tema 4. Operaii pentru execuia unei automatelor programabile instruciuni cu prelucrare la nivel de bit Tema 5. Instruciuni de prelucrare a informaiei Tema 6. Noiuni de baz n alegerea soluiei de automatizare. Tema 7. Limbaje de programare ale automatelor programabile. Tema 8. Utilizarea automatelor programabile pe bit la implementarea automatelor cu stri finite, definite prin diagrame de stare Tema 9. Conectarea unui automat programabil la un proces de automatizare Tema 10. Programarea automatelor programabile utiliznd limbajele STL, LAD i FBD.

26.3. Examineaz utilizarea automatelor programabile cu prelucrare la nivel de bit la implementarea automatelor cu stri finite

Fia 9 Fia 10

Semnificaia elementelor grafice din material este dat n tabelul de mai jos:

Definiie

Important

Sugestii metodologice

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

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

din sistem realizat n logic programat ct mai multe funcii pentru astfel nct logica cablat s fie ct mai simpl. 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. Se exprim funcionarea blocurilor prin funcii logice. 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. Testarea blocurilor componente se face separat, n condiii ct mai apropiate de cele reale, simulndu-se blocurile nc nerealizate. 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. 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.

B. C.

D. E.

F.

A. Partajarea blocurilor

blocurilor B.Sinteza Sinteza blocurilor

C. Implementarea cu circuite logice

D. Testarea blocurilor componente

Lucreaz corect? DA E. Testarea prototipului

NU

Lucreaz corect? DA F. Proiectare produs final

NU

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

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

Este corect ? DA
Satisface performanele impuse ?

NU

NU

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 programabile 1


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 2

Programmable Logic Controller - PLC 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. (APB) Schema bloc a automatului programabil cu prelucrare la nivel de bit

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 central Magistrala intern Consola de programare

Periferice de intrare

Periferice de ieire

Periferice interne (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 4

n multe abordri, se utilizeaz noiunea de Interfee de intrare; 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 instruciunii curente

Numrtorul de adrese

Memoria program

Blocul de control Unitatea logic

Buffer de adrese

Memoria intern

Magistrala de date

Magistrala de control

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

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 adres

Bloc multiplexare semnale intrare

Bloc prelucrare semnal intrare 1

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

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 adres

Bloc de comand 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 canal

Bloc decodificare adres

Bloc multiplexare semnale de intrare

Bloc temporizare 1

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

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 (n bii) Operand/ Adres (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 LDC T4 // ncarc n acumulator coninutul intrrii I1. // 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 STOC M1 // ncarc ieirea O2, coninutul acumulatorului. // 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 9

Mai multe programe ce ruleaz (n aparen) n acelai timp i ocup zone de memorie la adrese fixe; 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 RTC O1 5.5. // // // // seteaz ieirea O1, dac n acumulator se afl valoarea 1. reseteaz ieirea O1, dac n acumulator se afl valoarea 1.

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 ORC M5 // // // // // // // realizeaz funcia I ntre coninutul acumulatorului i coninutul intrrii I3, Rezultatul se ncarc n acumulator. 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. salt la adresa 3C n hexazecimal dac n acumulator se afl 1, continu execuia de la aceast adres din memoria de programe.

JMPC 3Ch

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 STO I1 T1 // // // // // // // // // // // // // // Citete starea intrrii I1 i o ncrca n acumulator. 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. 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. Coninutul acumulatorului este transferat ieirii O1. 26

LD

T1

STO

O1

// n momententul t3 se termin comanda dat prin // I1.


I1 T t1 t2 t3

O1

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 STO I1 T1 // // // // // // // // // // // // // // // // // ncrcare acumulator cu coninutul complementat al intrrii I1. 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. Se ncarc acumulatorul cu valoarea de la ieirea modulului de temporizare T1. 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. Se transfer coninutul acumulatorului la ieirea O1.

LD OR

T1 I1

STO

O1

27

I1

I1
T1

I1 + T 1
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

6.2.

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. 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 ST %Q1.0 = %Q1.2 //Transfer coninutul intrrii I0.0 n //acumulator //Transfer la ieirea Q1.0 coninutul //acumulatorului //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 S %M0.3 //Seteaz bitul I0.0 //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. // // // // Realizez transferul octetului din MB0 n MB1 Realizez transferul cuvntului din MW0 n MW2

Exemplu: MOVB %MB0, %MB1 MOVW %MW0, %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; 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 a // ncarc a n acumulator b // Compar cu b x // Memoreaz rezultatul n x 35

Exemplu: // // // // LD GT ST

LD GT ST -

b c y

// ncarc b n acumulator // Compar cu c // 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 11

Realizarea unei operaii condiionate, caracterul utilizat fiind C, aa cum a fost exemplificat n secvena de program anterioar.

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 I3 I2 k %I1.0 %I1.1 %Q0.1

a)

%I1.2

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
P

%I0.3
N

%Q0.0

%Q0.1

%Q0.2

%Q0.3

S e) f) g)

R h)

a)

b)

c)

d)

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

Echivalena STL LD OR ST %I0.0 %I0.1 %Q0.0

%I0.1

Contactul inversat13, Figura 7.2.b, realizeaz operaia I ntre starea legturii stngi i valoarea variabilei booleene negate asociate. Exemplu:
%I0.0 %Q0.0

Echivalena STL LDN OR ST %I0.0 %I0.1 %Q0.0

%I0.1

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
P

%Q0.0

%I0.1

Contactul de sesizare a frontului descresctor 15, Figura 7.2.d, realizeaz operaia I ntre starea legturii stngi i frontul descresctor al variabilei booleene asociate.

Exemplu:
12 13

Contactul normal deschis Contactul normal nchis 14 Frontul pozitiv 15 Frontul negativ

38

%I0.0
N

%Q0.0

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

%I0.0

%Q0.0

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

Echivalena STL LD STN %I0.0 %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

%I0.0

%Q0.0

Echivalena STL LD S %I0.0 %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 LD R %I0.0 %Q0.0

%I0.0

%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

>> Et1
%I0.1 %Q0.0

Echivalena STL LDN JMPC LD ST JMP Et1: LD STN Et2: %I0.0 Et1 %I0.1 %Q0.0 Et2 %I0.2 %Q0.1

>> Et2
Et1: %I0.2 %Q0.1

Et2:

Majoritatea mediilor de programare au posibilitatea de a converti un program LAD ntrun 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 Y Z

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

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 I4

B2 O2

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 S1 I1 S2 O1=1 O2=0 I3 I4 O1=1 O2=1 I1I2 S5 O1=1 O2=0 O1=0 O2=0 I2 S3 O1=0 O2=1 RESET

I2

S4

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 STOC STO STO STO STO JMP //Resetare acumulator //ncarc starea S1=1 //ncarc starea S2=0 //ncarc starea S3=0 //ncarc starea S4=0 //ncarc starea S5=0

M1 M2 M3 M4 M5 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

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 Rs

Qx.y 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 AP18 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 B C AP a b c d e f g a f g b

e d

Figura 10.1. Convertor octal alfabetic Tabelul 10.1. Tabelul de adevr al convertorului octal-alfabetic Cifra Triada Caracter octal binar afiat 0 000 A 1 2 3 4 5 6 7 001 010 011 100 101 110 111 C E F H J L P

a 1 1 1 1 0 0 0 1

b 1 0 0 0 1 1 0 1

c 1 0 0 0 1 1 0 0

d 0 1 1 0 0 1 1 0

e 1 1 1 1 1 0 1 1

f 1 1 1 1 1 0 1 1

g 1 0 1 1 1 0 0 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 + B +C

g = A B + AB + BC = A B + BC

10.1. Programarea n limbajul STL a AP ce emuleaz circuitul convertor octalalfabetic. 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 A B C Ieiri convertor a b c d e f g Programul STL pentru emulator este urmtorul: %I0.2 //ncarc negatul intrrii C n acumulator (%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 OR Intrri AP %I0.0 %I0.1 %I0.2 Ieiri AP %Q0.0 %Q0.1 %Q0.2 %Q0.3 %Q0.4 %Q0.5 %Q0.6

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 octalalfabetic. Cu asocierile din Tabelul 10.2 n Figura 10.2.se prezint programul n limbajul LAD.
%I0.0 %I0.2 %I0.0 %I0.0 %I0.0 %I0.1 %I0.0 %I0.1 %I0.1 %I0.0 %I0.1 %I0.2 %I0.1 %I0.2 %I0.1 %I0.0 %Q0.4 %Q0.5 %Q0.3 %Q0.2 %Q0.1 %I0.1 %Q0.0

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

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

AND

&

OR

1
NOT

%Q0.0

%I0.2

%I0.0

NOT AND

&
%I0.1

OR

NOT

%Q0.1

%I0.0 %I0.2

AND

&

%I0.0

NOT AND

&
%I0.1

OR

NOT

%Q0.2

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

NOT AND

&

XOR

=1

%Q0.3

Figura 10.3.a. Programul n limbajului FBD al emulatorului circuitului convertor de cod octal-alfabetic. 55

%I0.1

OR
%I0.0

NOT

%Q0.4 %Q0.5

%I0.2

NOT

%I0.0 %I0.1

XOR

NOT OR

=1

1
NOT AND

%Q0.6

%I0.2 %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 ________________ Nume i prenume elev Competena 1 A1 zz.ll.aaaa19 A2 A3 A1 Competena 2 A2 A3 A1 Profesor ______________________ Competena 3 A2 A3 Observaii

Nr. Crt. 1 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. 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 Mrgineanu, Ioan. (2005). Automate programabile, Cluj Napoca: Editura

59