04 automate programabile

Upload: iuliu-damian

Post on 04-Apr-2018

566 views

Category:

Documents


23 download

TRANSCRIPT

  • 7/29/2019 04 Automate Programabile

    1/60

    nvmntul profesional i tehnic n domeniul TICProiect cofinanat din Fondul Social European n cadrul POS DRU 2007-2013Beneficiar 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

    mailto:[email protected]:[email protected]:[email protected]:[email protected]
  • 7/29/2019 04 Automate Programabile

    2/60

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

    COORDONATOR:GABRIELA DIACONU - Prof. ing. grad did.I

    CONSULTAN:

    IOANA CRSTEA expert CNDIPTZOICA VLDU expert CNDIPTANGELA POPESCU expert CNDIPTDANA STROIE expert CNDIPT

    Acest material a fost elaborat n cadrul proiectului nvmntul profesional i tehnic ndomeniul TIC, proiect cofinanat din Fondul Social European n cadrul POS DRU 2007-2013

    2

  • 7/29/2019 04 Automate Programabile

    3/60

    Cuprins

    I. Introducere......................................................................................................................4II. Documente necesare pentru activitatea de predare.....................................................6

    III. Resurse........................................................................................................................7Tema 1. Etapele procesului de proiectare a sistemelor de automatizare.........................7Fia suport 1.................................................................................................................................7

    Tema 2. Clasificarea automatelor programabile.............................................................12Fia suport 2...............................................................................................................................12

    Tema 3. Schema bloc a automatului programabil...........................................................14Fia suport 3...............................................................................................................................14

    Tema 4. Operaii pentru execuia unei instruciuni..........................................................21Fia suport 4...............................................................................................................................21

    Tema 5. Instruciuni de prelucrare a informaiei..............................................................23Fia suport 5...............................................................................................................................23

    Tema 6. Noiuni de baz n alegerea soluiei de automatizare.......................................29Fia suport 6...............................................................................................................................29Tema 7. Limbaje de programare ale automatelor programabile.....................................32

    Fia suport 7...............................................................................................................................32

    Tema 8. Utilizarea automatelor programabile pe bit la implementarea automatelor custri finite, definite prin diagrame de stare .....................................................................44

    Fia suport 8...............................................................................................................................44

    Tema 9. Conectarea unui automat programabil la un proces de automatizare..............48Fia suport 9...............................................................................................................................48

    Tema 10. Programarea AP utiliznd limbajele STL, LAD i FBD...................................52Fia suport 10.............................................................................................................................52

    IV. Fia rezumat...............................................................................................................59V. Bibliografie...................................................................................................................60

  • 7/29/2019 04 Automate Programabile

    4/60

    I. IntroducereMaterialele 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 cadrulliceului tehnologic, domeniul Electronic i automatizri, calificarea Tehnician nautomatizri.

    El a fost elaborat pentru modulul IX clasa a XII-a, ce se desfoar pe parcursul a 31ore/ an, din care:

    Laborator tehnologic 15 ore

    Competene Teme Fise suport

    26.1. Identific automateleprogramabile dupdimensiunea magistraleide date

    Tema 1. Etapele procesului de proiectarea sistemelor de automatizare

    Fisa 1

    Tema 2. Clasificarea automatelorprogramabile

    Fisa 2

    26.2. Recunote

    configuraia de baz aautomatelor programabilecu prelucrare la nivel de bit

    Tema 3. Schema bloc a automatuluiprogramabil

    Fisa 3

    Tema 4. Operaii pentru execuia uneiinstruciuni

    Fia 4

    Tema 5. Instruciuni de prelucrare ainformaiei

    Fia 5

    26.3. Examineazutilizarea automatelorprogramabile cu prelucrarela nivel de bit laimplementareaautomatelor cu stri finite

    Tema 6. Noiuni de baz n alegereasoluiei de automatizare.

    Fia 6

    Tema 7. Limbaje de programare aleautomatelor programabile.

    Fia 7

    Tema 8. Utilizareaautomatelor programabile pe bit laimplementarea automatelor cu stri finite,definite prin diagrame de stare

    Fia 8

    Tema 9. Conectarea unui automatprogramabil la un proces de automatizare

    Fia 9

    Tema 10. Programarea automatelorprogramabile utiliznd limbajele STL, LADi FBD.

    Fia 10

    4

  • 7/29/2019 04 Automate Programabile

    5/60

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

    Definiie ImportantSugestii

    metodologice

    5

  • 7/29/2019 04 Automate Programabile

    6/60

    II. Documente necesare pentru activitatea de predarePentru predarea coninuturilor abordate n cadrul materialului de predare cadrul

    didactic are obligaia de a studia urmtoarele documente:

    Standardul de Pregtire Profesional pentru calificarea Tehnician echipamentede 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 nvmntpreuniversitar

    6

    http://www.tvet.ro/http://www.edu.ro/http://www.tvet.ro/http://www.edu.ro/http://www.tvet.ro/http://www.edu.ro/http://www.tvet.ro/http://www.edu.ro/
  • 7/29/2019 04 Automate Programabile

    7/60

    III. Resurse

    Tema 1.Etapele procesului de proiectare a sistemelor deautomatizare

    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 ib. 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 prinmodificri hardware ci software, deci prin ncrcarea n memorie a unui altprogram.

    Dei astzi, logica programat a ctigat teren n faa celei cablate, datorit avantajelori 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 prinlogic programat. Dac n schimb, cerinele de vitez sunt primordiale, se opteazpentru implementarea prin logic cablat. n cazul sistemelor care au cerine i decomplexitate i de vitez, soluia de implemetare va fi una mixt.

    Proiectarea unui sistem de automatizare va ncepe n concluzie cu faza de definire aproblemei n care se face i partajarea sistemului n logic cablat i n logicaprogramat.

    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 loreste simpl astfel nct realizarea unui sistem n logic cablat este maieconomic dect implemetarea sistemului n logic programat chiar n variantaminimal;

    - Cerinele de performan ale sistemului nu sunt deosebite, astfel nct se poateimplementa 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 deperforman ce nu pot fi satisfcute dect prin logic cablat. Se impune n acestcaz o prelucrare parial a semnalelor n circuite specializate. Se atribuie prii

    7

  • 7/29/2019 04 Automate Programabile

    8/60

    din sistem realizat n logic programat ct mai multe funcii pentru astfel nctlogica 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 mairedus pentru a putea fi uor de realizat i testat. Pe de alt parte numrul blocurilortrebuie 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 imprimaterealizate special sau prin wraping pe plci universale. nainte de implantarecomponentele vor fi testate. Se realizeaz apoi conexiunile ntre plci.

    D. Testarea blocurilor componente se face separat, n condiii ct maiapropiate 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. Nueste exclus reproiectarea ntregului sistem.

    F. Proiectarea produsului final poate dura foarte mult mai ales dacprototipul a fost implementat pe plci universale iar produsul final trebuie realizat pecircuite imprimate. De multe ori ciclul trebuie parcurs de mai multe ori pn larealizarea unui produs acceptabil.

    8

  • 7/29/2019 04 Automate Programabile

    9/60

    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. Sedetermin numrul de intrri, numrul de ieiri , numrul de dispozitive de

    A. Partajarea blocurilor

    Sinteza blocurilorB. Sinteza blocurilor

    C. Implementarea cu circuite logice

    D. Testarea blocurilor componente

    Lucreazcorect?

    NU

    E. Testarea prototipului

    Lucreaz

    corect?

    NU

    F. Proiectare produs final

    DA

    DA

    Figura 1.1. Algoritmul de proiectare a logicii cablate.

    9

  • 7/29/2019 04 Automate Programabile

    10/60

    transmitere a informaiei, capacitatea memoriei, tipul i numrul de interfee cuprocesul. Tot n aceast etap se face o analiz preliminar a performanelorsistemului i a soluiilor care ar duce la realizarea acestora.

    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.

    A. Alegerea configuraiei sistemului

    B. Proiectarea programului

    C. Scrierea programului surs

    D. Asamblarea programului

    E. Testarea programului

    Estecorect

    ?

    Satisfaceperformanele

    impuse ?

    F. nscrie programul n PROM

    G. Elaborarea documentaiei

    NU

    Partajarea sistemului n logic

    cablat i logic programat

    Figura 1.2. Algoritmul de proiectare a logicii programate.

    DA

    DA

    NU

    10

  • 7/29/2019 04 Automate Programabile

    11/60

    E. Testarea programului urmrete verificarea faptului c programul rspundecorect la cerinele impuse. Fazele de scriere, translatare i testare se repet demai multe ori pn cnd codul main funcioneaz corect. Se verific apoi dacprogramul satisface performanele impuse sistemului prin tema de proiectare. Severific mai ales viteza de rspuns. Dac sistemul nu rspunde se ncearc ooptimizare a acestuia. Dac nici dup optimizare sistemul nu rspunde cerinelor

    se reia analiza sistemului pentru a vedea ce blocuri pot fi realizate n logicacablat.

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

    G. Se elaboreaz documentaia.

    Sugestii metodologiceUNDE 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 deprezentare 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 cadrulsecvenei de retenie, activitatea elevilor se va desfura pe grupe mici (2-3 elevi) sauindividual 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

  • 7/29/2019 04 Automate Programabile

    12/60

    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 ROMmaini algoritmice de stare sau se realizeaz ca structuri microprogramate. La cele dinurm, evoluia n timp este determinat de o secven coerent de microinstruciuniaflate n memoria intern. Structura lor este asemntoare cu cea a unitilor de controlale procesoarelor. Acestea se construiesc, ca sisteme nglobate2, de ctre firme cerealizeaz sisteme de serie mare. Programarea acestor automate este destul degreoaie i este fcut de personal cu pregtire superioar.

    Automatele programabile vectoriale sunt microcalculatoare special concepute pentrutratarea prin program a problemelor de logic combinaional i secvenial. Acesteautomate sunt foarte flexibile deoarece simuleaz structurile logice de comand printr-oconfiguraie elastic, programabil. Pentru cele mai multe din automatele programabilevectoriale exist limbaje de programare care permit programarea similar proiectriilogicii cablate sau imprimate.

    2.2. Clasificarea automatelor programabile funcie de numrul procesoare dinstructur

    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, numitimagine de proces. nainte de intrarea n ciclul unui program, se ncarc n memoriaimaginii 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, chiardac pe parcursul ciclului unele intrri se pot schimba. Imaginea de proces esteactualizat cu comenzi de setare sau resetare a ieirilor. La terminarea ciclului, ieirilefizice sunt actualizate corespunztor valorilor din imaginea de proces. Memoria cuimaginea de proces se actualizeaz i n cazul n care, n program, se fac salturi napoi.Dac proiectul implementat n automatul programabil conine mai multe blocuridistincte, actualizarea memoriei cu imaginea de proces se actualizeaz la nceputulfiecrui bloc.

    Avantajele folosirii imaginii de proces sunt:- Execuia rapid a programului;

    1 Programmable Logic Controller - PLC2 Embedded system

    12

  • 7/29/2019 04 Automate Programabile

    13/60

    - Depistarea erorilor de programare prin rutine de tratare a acestora lansate lasfritul ciclului program.

    Automatele programabile multiprocesor nu utilizeaz memorie pentru imaginea deproces. 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, afiajeelectronice, 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 dimensiuneamagistralei de date este de 1 bit, astfel nct operanzii care se proceseaz au iei dimensiunea de 1 bit.

    2. Automate programabile cu prelucrare la nivel de cuvnt de n bii, dimensiuneamagistralei i a operanzilor fiind egal cu lungimea acestui cuvnt, n 8.

    3. Automate programabile mixte, prevzute cu dou uniti de calcul aritmetic ilogic, 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 deprezentare de automate programabile.

    CUM se desfoar lecia?Clasa poate fi organizat frontal n cadrul secvenei de transmitere a noilor cunotineiar metodele utilizate pot fi expozitive i conversativ-euristice. n cadrul secvenei deretenie, activitatea elevilor se va desfura pe grupe mici (2-3 elevi) sau individualavnd la dispoziie materialul de nvare aferent listat sau online.

    DE UNDE TIU c s-au atins obiectivele?Se aplic instrumentele de evaluare aferente.

    13

  • 7/29/2019 04 Automate Programabile

    14/60

    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 pebit, sunt destinate conducerii proceselor de complexitate medie. Avnd o arhitecturintern simplificat i un set de instruciuni redus, un automatele programabile pe bitrealizeaz prelucrri simple de date, n principal logice, fiind ns capabil s controlezeun numr mare de intrri i ieiri de un bit asociate procesului controlat, ntr-o siguranfuncional ridicat.

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

    prelucrare la nivel de bit.

    Blocurile componente ale APB sunt:

    Unitatea central, este creierul APB, ce coordoneaz activitatea din ntregulsistem;

    Consola de programare, echipamentul pe care se realizeaz programul ce varula pe APB, i de pe care se ncarc n memoria de programe a APB acestprogram;

    Periferice de intrare3, subsistemul prin care APB primete informaii din proces(de la ntreruptoare, comutatoare, contactoare, relee, limitatoare);

    Periferice de ieire4, subsistemulprin care APB trimite comenzi n proces (deexemplu pentru alimentarea unor bobine de relee sau contactoare, sau aprindereade lmpi de semnalizare);

    3 n multe abordri, se utilizeaz noiunea de Interfee de intrare;4n multe abordri, se utilizeaz noiunea de Interfee de ieire;

    Unitateacentral

    Consola deprogramare

    Perifericede intrare

    Perifericede ieire

    Periferice interne(temporizri/ contorizri)

    Magistrala intern

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

    14

  • 7/29/2019 04 Automate Programabile

    15/60

    Periferice interne (temporizri/ contorizri), subsistemul prin care se potgenera intervale de timp i contorizri de evenimente;

    Schimbul de date ntre modulele componente ale automatului se face prin intermediulmagistralei 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 careunitatea 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 pemagistrala de adrese adresa modulului cu care dorete s comunice iar pe magistralade 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 cuprelucrare pe bit.

    Semnificaia blocurilor unitii centrale este urmtoarea:

    Numrtorul de adrese, este un circuit numrtor care indic adresa dinmemorie de unde va fi citit instruciunea ce urmeaz a fi executat;

    Numrtorulde adrese

    Registrulinstruciunii

    curenteMemoriaprogram

    Blocul decontrol

    Buffer deadrese

    Unitatealogic

    Memoriaintern

    Magistralade date

    Magistralade control

    Magistralade adrese

    Figura 3.2.Schema bloc a unitii centrale a unuiautomat programabil pe bit.

    15

  • 7/29/2019 04 Automate Programabile

    16/60

    Memoria program, este un circuit de tip EEPROM n care se afl programulAPB, ncrcat de la consola de programare. La aplicarea la intrarea sa a adreseiinstruciunii ce trebuie executat, la ieire va trimite codul acestei instruciuni,memorat la adresa respectiv

    Registrul instruciunii curente, este un registru ce se ncarc cu instruciuneade executat citit din memoria de program de la adresa indicat de numrtorul deadrese;

    Blocul de control, este un circuit ce decodific codul instruciunii aflat n corpulinstruciunii i prin semnalele de control rezultate, comand operaiile din APBimplicate de instruciunea curent;

    Bufferul de adrese, este un registru care memoreaz temporar adresaperifericului sau locaiei de memorie cu care unitatea central face schimb deinformaii;

    Unitatea logic, este un circuit ce prelucreaz datele achiziionate deperifericele de intrare sau citite din memoria intern i trimite rezultatul n memoriaintern sau la perifericele de ieire;

    Memoria intern, este un circuit de tip RAM destinat memorrii variabilelorutilizate n program.

    3.3. Periferice de intrare5

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

    Blocul de decodificare a adresei, este un circuit ce primete la intrare coduladresei depus pe magistrala de adrese de ctre unitatea central, compar aceastadres cu adresa proprie implementat hardware i emite semnal de recunoatere ncaz de coinciden a acestora.

    Blocul de multiplexare a semnalelor de intrare, este un circuit ce selecteazintrarea 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

  • 7/29/2019 04 Automate Programabile

    17/60

    Blocul de prelucrare a semnalului de intrare, este un circuit ce adapteazsemnalele 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, respectivsemnal de tensiune sau de curent, semnale continue sau alternative, semnale de nivelmic sau de nivel mare.

    3.4. Periferice de ieire6

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

    Blocul dedecodificare a adresei este un circuit care are aceeai semnificaie ifuncionalitate ca n cazul perifericelor de intrare.

    Blocul de comand canaleste un demultiplexor prin intermediul cruia semnalulde 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 npermanen la intrrile blocurilor de ieire.

    6 n alte abordri se utilizeaz noiunea de interfee de ieire.

    Bloc decodificareadres

    Bloc multiplexaresemnale intrare

    Bloc prelucraresemnal intrare 1

    Bloc prelucraresemnal intrare n

    Proces

    Magistrala de control

    Magistrala de adrese

    Magistrala de date

    Figura 3.3. Schema bloc a perifericelor de intrare pentru un automatprogramabil cu prelucrare la nivel bit.

    17

  • 7/29/2019 04 Automate Programabile

    18/60

    Blocul de ieire este un circuit care realizeaz adaptarea de nivel a semnalul deieire. Ieirea poate fi prin releu pentru semnale de curent continuu sau alternativ, printranzistor pentru semnale n curent continuu de nivel mic sau prin triac pentru semnalealternative de nivel mare. Pentru evitarea perturbaiilor datorate procesului condus seprefer izolarea galvanic a blocurilor de ieire de elementele comandate din procesprin: relee intermediare, transformatoare de impuls sau optocuploare.

    3.5. Periferice interne

    n Figura 3.5. este prezentat schema bloc a perifericelor interne. Acestea sunt modulede temporizare i contorizare fiind n acelai timp module de intrare i de ieire. Caatare 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 bloculde comand canal.

    Blocul de decodificare a adresei, este un circuit ce primete la intrare coduladresei unui bloc de temporizare din APB, compar aceast adres cu adresa proprieimplementat hardware i emite semnal de recunoatere n caz de coinciden aacestor dou adrese.

    Bloc decodificareadres

    Bloc de comandcanal

    Bloc de ieire 1 Bloc de ieire n

    Proces

    Magistrala de control

    Magistrala de adrese

    Magistrala de date

    Figura 3.4. Schema bloc a perifericelor de ieire pentru un automatprogramabil cu prelucrare la nivel bit.

    18

  • 7/29/2019 04 Automate Programabile

    19/60

    Blocul de multiplexare a semnalelor de intrare, este un circuit ce selecteazblocul de temporizare indicat de decodificatorul adresei i depune informaia citit pemagistrala de date la momentul indicat de un semnal primit de pe magistrala de control.

    Blocul de comand canal este un circuit demultiplexor prin intermediul cruiasemnalul de pe magistrala de date este trimis la blocul de temporizare selectat de ctredecodificatorul 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 semnalpentru contorizare sau de iniiere a temporizrii. Este vzut ca periferic de intrare nmomentul n care temporizarea s-a ncheiat sau se citete cantitatea contorizat. Poate

    fi de tip analogic (monostabil) sau numeric (numrtor).

    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 programabilexistent. Alturi de documentaia nsoitoare a automatului programabil se pot utiliza

    Bloc decodificareadres

    Bloc de comand

    canal

    Bloc temporizare1

    Bloc temporizaren

    Magistrala de control

    Magistrala de adrese

    Magistrala de date

    Figura 3.5. Schema bloc a perifericelor interne ale unui automatprogramabil cu prelucrare la nivel bit.

    Bloc multiplexaresemnale de intrare

    19

  • 7/29/2019 04 Automate Programabile

    20/60

    chiar automatele programabile, pe care se pot identifica elementele de conectare laproces, de semnalizare local i de conectare cu consola sau PC-ul.

    Se poate utiliza videoproiectorul ca mijloc didactic, expunerea prezentrii conceputepentru aceast tem dnd claritate i eficien actului didactic. Shemele bloc dinprezentul 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 blocurilecomponente cu scheme electronice. Se va putea aplica n acest caz metodaconversaiei euristice, elevii putnd folosi cunotiinele acumulate anterior (desprecircuite 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 - Circuiteelectronice, 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 cunotineiar metodele utilizate pot fi expozitive i conversativ-euristice. n cadrul secvenei deretenie, activitatea elevilor se va desfura pe grupe mici (2-3 elevi) sau individualavnd la dispoziie materialul de nvare aferent listat sau online.

    DE UNDE TIU c s-au atins obiectivele?Se aplic instrumentele de evaluare aferente.

    20

  • 7/29/2019 04 Automate Programabile

    21/60

    Tema 4. Operaii pentru execuia unei instruciuni

    Fia suport 4

    Funcionarea unitii de control presupune execuia ciclic a programului, intruciunedup instruciune. Execuia fiecrei instruciuni nseamn realizarea urmtoarelor

    operaii:

    1. Aducerea instruciunii de executat din memoria de programe, de la adresaindicat de numrtorul de adrese n registrul instruciunii curente.

    Memoria de programe este organizat n cuvinte cu dimensiunea egal cu cea aregistrului instruciunii curente respectiv cu dimensiunea instruciunilor.

    2. Incrementarea numrtorului de adrese de ctre blocul de comand. Numrtorulde adrese va indica astfel adresa urmtoarei instruciuni ce trebuie executat.

    Exist dou situaii n care nu este luat n considerare adresa obinut prinincrementare:- Dac urmtoarea instruciune din program nu se afl dup instruciuneacurent, numrtorul de adrese se va ncrca cu adresa (numit de salt) aacestei instruciuni ce se afl n corpul instruciunii curente, ntr-un cmp ce-ieste destinat special.- La iniializarea automatului programabil la punerea sub tensiune sau laapsarea butonului RESET. n acest caz, numrtorul se ncarc cu adresa destart a programului, adres stabilit prin comutatoare (switch-uri).

    3. Decodificarea codului instruciunii n blocul de control i execuia operaiilorimplicate, de exemplu: efectuarea operaiilor logice n unitatea logic, memorareastrilor n memoria intern de tip RAM, etc.

    4. Transmiterea pe magistrala de adrese a adresei perifericului de dialog (dupmemorarea acesteia n registrul buffer de adrese), i stabilirea dialogului duprecunoaterea perifericului adresat.

    Dac instruciunea curent este de salt, adresa coninut n corpul instruciunii seva ncrca n numrtorul de adrese, nu n bufferul de adrese.

    Dac instruciunea curent nu necesit dialog cu perifericele i nici salt nprogram, corpul instruciunii poate conine n loc de adres chiar operandul. nacest caz biii din cmpul corespunztor al instruciunii sunt trimii blocului decontrol.

    Execuia programului este supravegheat de un circuit numrtor7 care este iniializat ntrei situaii:

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

    7 Watchdog

    21

  • 7/29/2019 04 Automate Programabile

    22/60

    n situia depirii timpului de execuie alocat pentru program, numrtorul va ajunge lavaloarea maxim, i se blocheaz unitatea de control iar ieirile se pun pe 0, pentru apreveni 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 PowerPoint. Diapozitivele pot conine schemele bloc ale automatului programabil prezentaten cadrul temei 3, prelucrate astfel nct s sugereze clar derularea operaiilor, utilizndi 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 cunotineiar metodele utilizate pot fi expozitive, conversativ-euristice, problematizarea. n cadrulsecvenei de retenie, activitatea elevilor se va desfura pe grupe mici (2-3 elevi) sauindividual 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

  • 7/29/2019 04 Automate Programabile

    23/60

    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 logicinstruciuni ce compun programul aflat n memoria de programe. Acest lucru este posibildeoarece instruciunile din program aparin unui set de instruciuni concepute specialpentru automatul programabil respectiv. Fiecare automat programabil are propriul suset de instruciuni ce acoper toat gama de operaii necesar achiziiei datelor dinproces, prelucrrii lor i apoi trimiterii comenzilor n proces.

    Instruciunile sunt de fapt coduri binare, iar programul astfel prezentat se spune c estescris n cod main, cod executabil de ctre unitatea de control a automatuluiprogramabil.

    Pentru realizarea programului automatului programabil nu se procedeaz la scrierea sade 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, fiecreiinstruciuni din cod main i corespunde o mnemonic (descriere concis ainstruciunii). Conversia programului scris n limbaj de asamblare n limbaj cod maineste fcut automat de un program numit compilator.

    5.2. Structura instruciunii cod main

    Instruciunile automatului programabil conin dou cmpuri cu semnificaie idimensiune diferit, aa cum se poate vedea n figura de mai jos

    Cmpul Cod operaie este specific instruciunii i conine informaii referitoare la modulde prelucrare a datelor precum i semnificaia celui de-al doilea cmp i a modului deadresare.

    Semnificaia celui de-al doilea cmp poate fi de operandsau de adres, caz n care sespecific 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 dem bii alocat adresei putnd defini ntreg spaiul de adresare disponibil alautomatului programabil;

    Cod operaie(n bii)

    Operand/ Adres(m bii)

    Lungime cuvnt instuciune = n+m bii

    23

  • 7/29/2019 04 Automate Programabile

    24/60

    - Adresare indexat, prin care adresa operandului este relativ la valoarea dintr-unregistru index. Mai precis adresa absolut a operandului se afl prin adunareavalorii coninut n cmpul de adres al instruciunii cu valoarea coninutulregistrului index. Acest de mod adresare permite funcionarea automatuluiprogramabil n regim de multitasking fix8 sau relocabil9.

    5.3. Instruciuni de testare a condiiilor

    Aceste instruciuni sesizeaz modificarea strii intrrilor, ieirilor sau temporizatoarelorinterne i ncarc ntr-un registru cu semnificaie special din unitatea central numitacumulator, 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 coninutuluilocaiei adresate i LDCpentru ncrcarea complementului locaiei adresate, n registrulacumulator. 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 RAMsau 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 adresatecu coninutul acumulatorului i STOC ncrcarea locaiei adresate cu coninutulcomplementat al acumulatorului. n limbajul de asamblare, fiecare mnemonic estensoit 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 facescrierea i n RAM unde se va pstra o imagine a tuturor canalelor de ieire. Acestlucru se face din dou motive:

    1. Posibilitatea implementrii pe automatele programabile a unor automate finiteseveniale ce conin reacii ieire-intrare;

    2. Protecia comenzilor ctre proces, comenzi ce pot fi alterate prin modificareastrii 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

  • 7/29/2019 04 Automate Programabile

    25/60

    realizeaz prin rencrcarea strilor memorate anterior n RAM, n bistabilelecanalelor de ieire, la sfritul fiecrui ciclu de execuie a programului.

    Transferul condiionat al datelor din acumulator la destinaie (canal de ieire, detemporizare sau locaiei RAM), este realizat de instruciunile: STC, care seteaz ieireaadresat 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 identificatoral 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 fiimplementate pe automatele programabile deoarece acestea dispun de un set completde instruciuni logice la nivel de bit. Ele prelucreaz numai coninutul acumulatorului ncazul operaiilor cu un singur operand iar n cazul operaiilor cu doi operanzi, coninutulacumulatorului i al unui canal de intrare, de temporizare sau locaie RAM. La sfritulexecuiei 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

  • 7/29/2019 04 Automate Programabile

    26/60

    5.6. Instruciuni de salt

    Aceste instuciuni permit ntreruperea executrii liniare a programului prin ncrcarea nnumrtorul 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 deexistena 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, cenu execut nicio operaie, singurul efect este acela de a consuma un timp egal cudurata unui ciclu de execuie al unei instruciuni. Aceast instruciune se utilizeaz lagenerarea temporizrilor sofware.

    5.7. Generarea temporizrilor

    Circuitele de generare a temporizrilor sunt module specializate din automatulprogramabil conectate la magistrala intern. Prescrierea temporizrii poate fi fcutmanual prin intermediul unor microswitch-uri de pe modul, sau prin program funcie detipul automatului i/ sau al modulului. La modulele cu prescriere manual, circuitul detemporizare 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 ncepecnd 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

  • 7/29/2019 04 Automate Programabile

    27/60

    // n momententul t3 se termin comanda datprin // I1.

    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.

    T

    I1

    O1

    Figura 5.1. Diagrama temporalpentru temporizare la anclanare.

    t1

    t2

    t3

    27

  • 7/29/2019 04 Automate Programabile

    28/60

    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 estenecesar 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 iutilizarea eficient a timpului.

    Dac coala dispune de automate programabile nsoite de documentaie i softwareliceniat, profesorul poate opta pentru prezentarea instruciunilor acestui automat,structurat pe ct posibil ca n prezenta fi. Se optimizeaz astfel traseul pentrudemersul ulterior cnd, la leciile de laborator, se vor face aplicaii n limbajul specificacestor automate programabile.

    CUM se desfoar lecia?Clasa poate fi organizat frontal n cadrul secvenei de transmitere a noilor cunotineiar metodele utilizate pot fi expozitive i conversative euristice. n cadrul secvenei deretenie, activitatea elevilor se va desfura pe grupe mici (2-3 elevi) sau individualavnd la dispoziie materialul de nvare aferent listat sau online.

    DE UNDE TIU c s-au atins obiectivele?Se aplic instrumentele de evaluare aferente.

    I1

    1IT1

    11 TI +

    O1

    T

    t1

    t2

    t3

    Figura 5.2. Diagrama temporalpentru temporizare la declanare.

    28

  • 7/29/2019 04 Automate Programabile

    29/60

    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 deintrri i ieiri precum i dimensiunea programului utilizator. La aplicaiile mai complexe,sunt luai n considerare i timpii de rspuns precum i dimensiunea memoriei caretrebuie 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 inecont la alegerea automatului programabil.

    - n cazul proceselor rspndite n mai multe locaii este mult mai indicat alegerea unormodule de intrare/ ieire distribuite dect a modulelor de intrare/ ieire dispuse peautomat. Aceast soluie duce la reducerea numrului de cabluri de legtur cuprocesul, comunicaia ntre modulele de intrare/ ieire i unitatea central a automatuluiprogramabil fcndu-se prin intermediul magistralei de comunicaie pe un numr redusde fire. n acest caz i viteza de rspuns poate fi simitor mai mare.

    - Dac procesul automatizat poate fi mprit n procese relativ autonome atuncivarianta automatelor programabile dedicate subproceselor, interconectate n

    reea, este soluia cea mai bun. Simplitatea programrii fiecrui automat esteevident. Cretea vitezei de rspuns este evident de asemenea comparativ cuvarianta reelei distribuite de module intrare/ ieire, deoarece achiziiasemnalelor, trimiterea comenzilor i procesarea datelor se face concentrat, ncadrul fiecrui subproces. Programele care ruleaz pe fiecare automatprogramabil sunt mult mai simple, mai scurte i mai rapide, ele rulndindependent unele de altele. Schimbul de date dintre automatele programabilese realizeaz prin intermediul unei reele specializate rapide.

    Sugestii metodologice

    Funcie de tipurile de automate programabile disponibile, pe baza specificaiilor dindocumentaia acestora, se poate exemplifica alegerea unui hardware potrivit pentru unasau mai multe aplicaii ipotetice prin metoda studiului de caz.

    De exemplu:

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

    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

  • 7/29/2019 04 Automate Programabile

    30/60

    - fac controlul dimensional permanent i s minimizeze erorilor prin corecierapid;

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

    n cazul prelucrrii datelor binare este recomandabil s se utilizeze limbajul LAD sauFBD, limbaje care sunt mult mai intuitive.

    n cazul manipulrii de variabile complexe i adresri indirecte este indicat limbajul STLcare este asemntor limbajelor de programare de nivel nalt i permite procesareaunui volum mare de date.

    6.3. Crearea proiectului

    Mediile de programare actuale permit optimizarea proiectrii, ele oferind faciliti norganizarea resurselor necesare. Datele culese pentru realizarea proiectului suntstructurate ierarhic.

    6.4. Scrierea, analiza i salvarea unui program

    Programul care cuprinde instruciunile necesare realizrii sarcinii impuse prin tema deproiectare 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 programabilvirtual 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 iapoi 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 deprezentare de programabile.

    30

  • 7/29/2019 04 Automate Programabile

    31/60

    CUM se desfoar lecia?Clasa poate fi organizat frontal n cadrul secvenei de transmitere a noilor cunotineiar metodele utilizate pot fi expozitive, conversativ-euristice, problematizarea. n cadrulsecvenei de retenie, activitatea elevilor se va desfura pe grupe mici (2-3 elevi) sauindividual 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

  • 7/29/2019 04 Automate Programabile

    32/60

    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 instruciunide baz, dar exist, n general, diferene de form, operaii etc., de la un productor laaltul.

    Comisia Electrotehnic Internaional (IEC) a dezvoltat standardul IEC 1131-3 carerecomand diferiilor productori s ofere acelai set de instruciuni. Setul de instruciunial acestui standard este mai mic dect cel oferit de productori. Normele IEC 1131-3definesc SFC (Sequential Function Chart) ca fiind un mijloc destinat pentru structurareai organizarea unui program. SFC are la baz reprezentarea sub form de reeaGRAFCET a aciunilor secveniale.

    Sugestii metodologice

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

    Standardul IEC 1131-3 definete dou limbaje literale:

    - STL10 (STatement List) List de instruciuni, cu structur asemntoarelimbajelor de asamblare ale microprocesoarelor;

    - ST (Structured Text) Text structurat, care folosete instruciuni de atribuire, deselecie i de control a subprogramelor avnd o structur apropiat de limbajelede nivel nalt,

    i dou limbaje (semi)grafice:

    - LD (Ladder Diagram) Diagram scar, care permite programarea aplicaiilorntr-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 oextensie a limbajului LD, coninnd i blocuri complexe. Acest limbaj permiteoperarea 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

  • 7/29/2019 04 Automate Programabile

    33/60

    - 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), precumi derivate ale acestora.

    Identificarea datelor se face utiliznd att adrese absolute (adresare direct) ct isimbolice (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 deeditarea unei tabele de simboluri pentru a face legtura dintre adresa absolut i ceaindirect.

    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, deobicei, termeni ai unor expresii logice, rezultatul fiind de asemenea o valoare logic.

    Fiecare instruciune ncepe pe o linie nou, conine un operator, completat eventual cuun modificator i, dac este nevoie de unul sau mai muli operanzi separai prin virgulaa cum se poate vedea mai jos

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

    (Operator + Modificator)

    33

  • 7/29/2019 04 Automate Programabile

    34/60

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

    La instruciunile cu un singur operand, cellalt operand este implicit fiind reprezentat deconinutul unui registru, de obicei registrul acumulator. Operaia descris de operator seexecut ntre operatorul scris explicit i coninutul acumulatorului, iar rezultatul se

    ncarc tot n acumulator.

    Documentarea programelor se face utiliznd comentarii. Comentariile se pot face peaceeai linie cu instruciunea sau pe linii separate. Identificrea comentariilor se face cuajutorul grupului de caractere (* la nceput i *) la sfrit, sau cu grupul // numai lanceput 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

    //acumulatorST %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.0S %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 coninutulacumulatorului 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

  • 7/29/2019 04 Automate Programabile

    35/60

    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, pentrutransferul unui octet, W, pentru transferul unui cuvnt i DW, pentru transferulunui cuvnt dublu. Instruciunea are 2 operanzi, primul fiind sursa iar cel de-aldoilea destinaia.

    Exemplu:MOVB %MB0, %MB1 // Realizez transferul octetului din

    // MB0 n MB1MOVW %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 ntregLD a // ncarc a n acumulator

    ADD b // Adun b la coninutul acumulatoruluiST c // Salveaz coninutul acumulatorului n c

    - Operatori relaionali:GT Verific dac valoarea din acumulator este mai mare dect valoarea unuioperand. Dac DA, seteaz acumulatorul, dac NU l reseteaz;GE - Verific dac valoarea din acumulator este mai mare sau egal cu valoareaunui 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 valoareaunui operand. Dac DA, seteaz acumulatorul, dac NU l reseteaz;LT - Verific dac valoarea din acumulator este mai mic dect valoarea unuioperand. 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 ntregLD a // ncarc a n acumulatorGT b // Compar cu bST x // Memoreaz rezultatul n x

    35

  • 7/29/2019 04 Automate Programabile

    36/60

    LD b // ncarc b n acumulatorGT c // Compar cu cST 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 subrutin11

    ;RET Apare obligatoriu n corpul unei subrutine i produce salt la adresa urmtoareadresei instruciunii CALL apelante.

    Exemplu:// Secvena de program urmtoare memoreaz n c rezultatul

    // operaiei a-b dac a b sau rezultatul operaiei b-a dac// a

  • 7/29/2019 04 Automate Programabile

    37/60

    Etichetele sunt utilizate pentru specificarea punctelor int ale instruciuilor de salt. Oinstruciune poate avea o etichet urmat opional de :. O etichet poate fi scris i pe olinie separat.

    7.2. Limbajul de programare LAD

    Limbajul LAD este un limbaj grafic. El este utilizat la realizarea aplicaiilor de ctreprogramatori care au experiene anterioare n proiectarea aplicaiilor cu relee icontacte.

    Limbajul LAD realizeaz o transpunere grafic a ecuaiilor booleene, realizndcombinaii ntre contacte (variabile de intrare) i bobine (variabile de ieire).

    Simbolurile grafice ale limbajului sunt plasate n diagram n mod asemntorcontactelor i releelor dintr-o schem electric, Figura 7.1. Corespondena elementeloreste 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 lao surs de putere. Execuia unui program se face de sus n jos i de la stnga ladreapta.

    Contactele i bobinele sunt conectate la barele de alimentare prin linii orizontale iverticale. Fiecare segment al unei linii poate avea starea TRUE sau FALSE. Stareasegmentelor 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, conformIEC 1131-3.

    I1

    I2

    I3

    k %I1.0 %I1.1

    %I1.2

    %Q0.1

    Figura 7.1. Analogia dintre schemele electrice cu contacte i relee a) iprogramele realizate n limbajul LAD din automatele programabile b).

    a) b)

    %I0.0

    a)

    %I0.1

    b)

    %I0.2

    c)

    P%I0.3

    d)

    N

    %Q0.0

    e)

    %Q0.1

    f)

    %Q0.2

    g)

    S%Q0.3

    h)

    R

    Figura 7.2. Simbolurile grafice de baz ale limbajului LAD.

    37

  • 7/29/2019 04 Automate Programabile

    38/60

    Contactul direct12, Figura 7.2.a, realizeaz operaia I ntre starea legturii stngi ivaloarea variabilei booleene asociate.

    Exemplu:

    Contactul inversat13, Figura 7.2.b, realizeaz operaia I ntre starea legturii stngi ivaloarea variabilei booleene negate asociate.

    Exemplu:

    Contactul de sesizare a frontului cresctor14, Figura 7.2.c, realizeaz operaia I ntre

    starea legturii stngi i frontul cresctor al variabilei booleene asociate.Exemplu:

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

    Exemplu:

    12 Contactul normal deschis13 Contactul normal nchis14 Frontul pozitiv15 Frontul negativ

    %I0.0 %Q0.0

    %I0.1

    Echivalena STL

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

    %I0.0 %Q0.0

    %I0.1

    Echivalena STL

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

    %Q0.0

    %I0.1

    %I0.0P

    38

  • 7/29/2019 04 Automate Programabile

    39/60

    Bobina direct, Figura 7.2.e, realizeaz o asociere ntre o variabil de ieire i starealegturii stngi. La unele implemetri starea legturii stngi se propag spre legturadreapt putndu-se astfel conecta n serie mai multe bobine. La alte implementri,pentru a conecta mai multe bobine, acestea trebuie conectate n paralel. Legturadreapt este realizat efectiv sau se consider legat, aa cum se poate vedea nexemplele de mai jos.

    Exemple:

    Bobina invers, Figura 7.2.f, realizeaz o asociere ntre o variabil de ieire i stareanegat a legturii stngi. La unele implementri starea legturii stngi se propag sprelegtura dreapt putndu-se astfel conecta n serie mai multe bobine. La alteimplementri nu exist acest tip de bobin.

    Exemplu:

    Bobina de setare, Figura 7.2.g, realizeaz o setare a variabilei de ieire asociate atuncicnd starea legturii stngi devine TRUE. Valoarea variabilei rmne TRUE pn cndo instruciune invers, de resetare, se aplic aceleiai variabile.

    Exemplu:

    %Q0.0

    %I0.1

    %I0.0N

    %I0.0 %Q0.0Echivalena STL

    LD %I0.0STN %Q0.0

    Echivalena STL

    LD %I0.0ST %Q0.0ST %Q0.1

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

    %I0.0 %Q0.0

    %Q0.1

    39

  • 7/29/2019 04 Automate Programabile

    40/60

    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 FALSEpn cnd o instruciune invers, de setare, se aplic aceleiai variabile.

    Exemplu:

    Etichete, salturi necondiionate i condiionate. ntr-un program LAD se pot utilizaetichete, salturi necondiionate i condiionate pentru a controla execuia programului.Eticheta se pune pe bara de alimentare stng sau ntr-o reea separat. Medii deprogramare diferite utilizeaz simboluri grafice diferite pentru etichete.

    Exemplu:

    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 cindiferent 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 complexeutiliznd blocurile existente n bibliotecile mediului de programare.

    Un program FBD este alctuit din blocuri de funcii elementare, conectate ntre ele prinlinii de legtur. Ca i programul LAD, programul FBD se execut de sus n jos i de la

    stnga la dreapta.

    %I0.0 %Q0.0Echivalena STL

    LD %I0.0S %Q0.0

    S

    %I0.0 %Q0.0Echivalena STL

    LD %I0.0R %Q0.0

    R

    %I0.1 %Q0.0

    Echivalena STL

    LDN %I0.0

    JMPC Et1LD %I0.1ST %Q0.0JMP Et2

    Et1: LD %I0.2STN %Q0.1

    Et2:

    %I0.0>> Et1

    >> Et2

    %I0.2 %Q0.1Et1:

    Et2:

    40

  • 7/29/2019 04 Automate Programabile

    41/60

    Fiecare bloc are un numr de intrri i ieiri. Blocul este reprezentat printr-undreptunghi. Intrrile sunt n partea stng, iar ieirile n partea dreapt. Un blocelementar realizeaz o singur prelucrare asupra intrrilor. Funcia realizat de bloceste 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 programabilsau 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 crorarealizeaz operaii Xrespectiv Y, o intrare numit ENi o ieire numit ENO pe lngieirea Z. Cnd EN este FALSE nu se opereaz asupra intrrilor de date iar ieireaENO este FALSE. Cnd EN devine TRUE, blocul devine operaional iar ieirea ENOtrece n starea TRUE. Dac n cursul operrii apare o eroare, ieirea ENO trece nstarea FALSE.

    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 datelor16, blocuri pentru operaiibooleene (AND, OR, XOR, etc., Figura 7.4), blocuri aritmetice (pentru efectuareaoperaiilor elementare, adunare, scdere, nmulire i mprire), blocuri de comparaie.

    Blocurile speciale sunt: blocuri de manipulare a datelor (bistabile SR i RS i dedetecie 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

    Nume bloc

    EN ENOX

    Y Z

    Figura 7.3. Bloc funcional, conformrecomadrilor IEC 1131-3.

    &

    AND

    &

    NAND

    1

    OR

    1

    NOR

    =1

    XOR

    NOT

    Figura 7.4. Blocuri standard ale limbajului FBD

    41

  • 7/29/2019 04 Automate Programabile

    42/60

    generatoare de semnal (generatoare de semnal dreptunghiular, generatoare de semnalmodulat n durat PWM), blocuri matematice (de calcul a valorii absolute, a funcieiexponeniale, a logaritmului, a rdcinii ptrate, a funciilor trigonometrice, etc.).

    Sugestii metodologice

    Pentru atingerea de performane, funcie de timpul disponibil i nivelul clasei, se potexplicita, pe mediile de programare ale automatelor programabile disponibile, blocurispeciale 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 nlimbajul FBD.

    Sugestii metodologiceUNDE se desfoar lecia?Lecia se poate desfura n sala de clas sau n laboratorul de automatizri (sauinformatic, dac se utilizeaz strict numai mediul de programare al automatelorprogramabile i nu i automatele programabile).

    CU CE materiale didactice?Dac coala dispune de licen pentru software-ul, mediul de programare alautomatelor programabile se poate utiliza n cadrul acestei lecii. Sunt necesare n acestcaz 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 deprogramare este necesar o lecie de iniiere n utilizarea acestuia.

    B1

    B2

    B3

    I1

    I2

    I3

    I4

    O1

    O2

    Figura 7.5. Exemplu de program realizat nlimbajul FBD.

    42

  • 7/29/2019 04 Automate Programabile

    43/60

    Dac coala nu are licen de sofware, profesorul poate utiliza o prezentare PowerPoint n care pot fi utilizate scheme din aceast fi.

    CUM se desfoar lecia?Organizarea clasei poate fi frontal n cadrul secvenei de transmitere a noilorcunotine 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

  • 7/29/2019 04 Automate Programabile

    44/60

    Tema 8. Utilizarea automatelor programabile pe bit laimplementarea automatelor cu stri finite, definite prin diagramede 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 diagramastrilor. Se recomand alocarea fiecrei stri a automatului o variabil intern (locaiedin RAM). De asemenea se aloc adrese variabilelor de intrare i ieire din diagramastrilor. Variabilele de intrare, de ieire, de stare i de temporizare reprezint parametriiprogramului.

    Programul ncepe cu o parte de iniializare prin care variabilele de stare primesc valorileiniiale. n partea de lucru a programului se parcurge diagrama strilor ntr-o ordinearbitrar. 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 varibilelorde stare actualizate, dup programul se reia.

    44

  • 7/29/2019 04 Automate Programabile

    45/60

    n Figura 8.1 se prezint diagrama de stare a unui automat finit cu 5 stri, 4 intrri i 2ieiri. 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 automatulprogramabil pe bit prezentat anterior, care implementeaz acest automat cu stri finiteeste urmtorul:

    START:// Tranziia S1->S2

    LD M1 //Se ncarc acumulatorul cu starea S1AND I1 //I ntre acumulator i intrarea I1, deci S1I1

    RTC M1 //Se reseteaz M1 dac acumulatorul este 1STC M2 //Se seteaz M2 dac acumulatorul este 1//----------------------------------------------------------

    S1 O1=0O2=0

    I1

    RESET

    S2 O1=1O2=0

    S3 O1=0O2=1

    S4 O1=1O2=1

    S5 O1=1O2=0

    I2

    I3 I4

    I1I2

    4I

    2I

    PST

    Figura 8.1. Diagrama strilor unui automat custri finite.

    45

  • 7/29/2019 04 Automate Programabile

    46/60

    // Tranziia S1->S3LD M1 //Se ncarc acumulatorul cu starea S1AND I2 //I ntre acumulator i intrarea I2, deci S1I2RTC M1 //Se reseteaz M1 dac acumulatorul este 1STC M3 //Se seteaz M3 dac acumulatorul este 1

    //----------------------------------------------------------

    // Tranziia S2->S1LD M2 //Se ncarc acumulatorul cu starea S2ANDC I2 //I ntre acumulator i intrarea I2 negat, deci

    //S2not(I2)RTC M2 //Se reseteaz M2 dac acumulatorul este 1STC M1 //Se seteaz M1 dac acumulatorul este 1

    //----------------------------------------------------------// Tranziia S2->S4

    LD M2 //Se ncarc acumulatorul cu starea S2AND I3 //I ntre acumulator i intrarea I3, deci S2I3RTC 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 S3AND I4 //I ntre acumulator i intrarea I4, deci S3I4RTC M3 //Se reseteaz M3 dac acumulatorul este 1STC M4 //Se seteaz M4 dac acumulatorul este 1

    //----------------------------------------------------------// Tranziia S4->S5

    LD M4 //Se ncarc acumulatorul cu starea S4AND 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 1STC M5 //Se seteaz M5 dac acumulatorul este 1

    //----------------------------------------------------------// Tranziia S5->S1

    LD M5 //Se ncarc acumulatorul cu starea S5ANDC I4 //I ntre acumulator i intrarea I4 negat, deci

    //S5not(I4)RTC M5 //Se reseteaz M5 dac acumulatorul este 1STC M1 //Se seteaz M1 dac acumulatorul este 1

    //----------------------------------------------------------// Actualizare O1

    LD M2 //Se ncarc acumulatorul cu starea S2OR M4 //SAU ntre acumulator i starea M4, deci S2+S4OR M5 //SAU ntre acumulator i starea M5, deci

    //S2+S4+S5STO O1 //Se actualizeaz O1 cu valoarea din acumulator

    //----------------------------------------------------------// Actualizare O2

    LD M3 //Se ncarc acumulatorul cu starea S3OR M4 //SAU ntre acumulator i starea M4, deci S3+S4

    STO O2 //Se actualizeaz O2 cu valoarea din acumulator//----------------------------------------------------------

    JMP START

    46

  • 7/29/2019 04 Automate Programabile

    47/60

    INIT:CLR //Resetare acumulatorSTOC M1 //ncarc starea S1=1STO M2 //ncarc starea S2=0STO M3 //ncarc starea S3=0

    STO M4 //ncarc starea S4=0STO M5 //ncarc starea S5=0JMP 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 videoproiectorconectat la PC i o prezentare succint a temei. Se mai poate folosi documentaiareferitoare la programarea automatului programabil utilizat (cea prezentat la tema 5sau cea de care dispune coala).

    CUM se desfoar lecia?Clasa poate fi organizat frontal n cadrul secvenei de transmitere a noilor cunotinefolosindu-se metodele expozitive, conversative euristice, demostrative. n cadrulsecvenei 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 poateopta pentru metoda realizrii de proiecte caz n care elevii pot lucra individual. Temelede proiectare pot fi similare exemplului din prezenta fi.

    DE UNDE TIU c s-au atins obiectivele?Se aplic instrumentele de evaluare aferente.

    47

  • 7/29/2019 04 Automate Programabile

    48/60

    Tema 9. Conectarea unui automat programabil la un proces deautomatizare

    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 ctreproductor. Exist dou variante de intrri: n curent continuu i n curent alternativ.Conectarea intrrilor de curent continuu este prezentat n Figura 9.1.

    La schema din Figura 9.1, bornele + i se conecteaz la o surs exterioar de curentcontinuu, 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 laplusul sursei de curent continuu. La intrarea I0.2 se conecteaz ieirea de semnal aunui traductor alimentat i el de la aceeai surs de curent continuu exterioar.

    Observaie: La unele automate programabile nu este necesar o surs de curentcontinuu exterioar deoarece aceast tensiune este obinut n interiorul automatuluiprogramabil. 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 alternativalimenteaz i contactele din proces conectate la intrrile I0.0, I0.1 i I0.2 aleautomatului programabil.

    + - I0.0 I0.1 I0.2

    Figura 9.1. Conectarea intrrilor automatuluiprogramabil la o surs de curent continuu.

    48

  • 7/29/2019 04 Automate Programabile

    49/60

    9.2. Conectarea ieirilor fizice ale automatelor programabile

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

    La ambele tipuri de ieiri, sarcina reprezentat de actuator17 se conecteaz la borna deieire propriu-zis Qx.y i la borna (GND). Conectarea ieirii, deci a sarcinii (pentruefectuarea comenzii din proces), la borna + se face n interiorul automatului programabilprin deschiderea tranzistorului la polarizarea bazei respectiv la alimentarea bobineireleului. Alimentarea cu curent continuu poate fi fcut i n acest caz cu o surs

    extern sau intern.

    17 Elementul de execuie

    L N I0.0 I0.1 I0.2

    Figura 9.2. Conectarea intrrilor automatuluiprogramabil la o surs de curent alternativ.

    ~

    GND

    +

    -

    Qx.y

    Rs

    GND

    +

    -

    Qx.y

    Rs

    b)a)

    Figura 9.3. Conectarea ieirilor unui automat programabil;a) ieire prin tranzistor, b) ieire prin releu.

    49

  • 7/29/2019 04 Automate Programabile

    50/60

    9.3. Conectarea intrrilor i ieirilor fizice ale automatelor programabile la unproces de automatizare

    Pe baza documentaiei pus la dispoziie de firma productoare i cea rezultat n urmaproiectrii, intrrile din proces provenite de la contacte de relee, limitatoare, contactoare

    i de la senzori (de proximitate, de presiune, etc.) se leag la intrrile corespunztoareale automatului programabil. De asemenea ieirile ctre proces se conecteaz laactuatorii corespunztori (bobine de relee, contactoare, becuri de semnalizare, etc.).

    Dac automatul nu dispune de surs de alimentare n curent continuu, din exterior seleag 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 unexemplu 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 decontactoare i 2 pentru aprinderea lmpilor de semnalizare).

    Sugestii metodologice

    UNDE se desfoar lecia?Lecia se recomand a se desfura n laboratorul de automatizri.

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

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

    230Vca

    Automat programabilIntrri

    Ieiri

    Figura 9.4. Exemplu de conectare a unui automatprogramabil la un proces.

    50

  • 7/29/2019 04 Automate Programabile

    51/60

    CU CE materiale didactice?Este necesar existena cel puin a unui automat programabil pe care se pot facedemonstraii de conectare. n cazul existenei mai multor automate programabile, eleviivor 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 videoproiectorconectat la un PC.

    CUM se desfoar lecia?Clasa poate fi organizat frontal n cadrul secvenei de transmitere a noilor cunotinefolosindu-se metodele expozitive, conversative euristice, demostrative. n cadrulsecvenei de retenie, activitatea elevilor se va desfura pe grupe mici (2-3 elevi) sauindividual avnd la dispoziie materialul de nvare aferent listat sau online. Serecomand i metoda aciunii efective prin care elevii vor avea ocazia s fac singurisau pe grupe mici, conectarea la proces.

    DE UNDE TIU c s-au atins obiectivele?Se aplic instrumentele de evaluare aferente.

    51

  • 7/29/2019 04 Automate Programabile

    52/60

    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 alfabeticeafiate pe 7 segmente, conform tabelului de adevr 10.1, s se realizeze programul nlimbajul:

    a) STL;a) LAD;b) FBD.

    Cifraoctal

    Triadabinar

    Caracterafiat a b c d e f g

    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 cuajutorul diagramelor Veitch-Karnaugh) sunt:

    CABa +=

    ACBAb +=

    CBBAc +=

    18 Automate programabile

    a

    b

    c

    d

    e

    f

    g

    ab

    c

    de

    f

    g

    A

    B

    C

    AP

    Figura 10.1. Convertor octal alfabetic

    Tabelul 10.1. Tabelul de adevr al convertorului octal-alfabetic

    52

  • 7/29/2019 04 Automate Programabile

    53/60

    CBAfe ++==

    CBBACBABBAg +=++=

    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 iintrrile 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 APA %I0.0B %I0.1

    C %I0.2Ieiri convertor Ieiri AP

    a %Q0.0b %Q0.1c %Q0.2d %Q0.3e %Q0.4f %Q0.5g %Q0.6

    Programul STL pentru emulator este urmtorul:LDN %I0.2 //ncarc negatul intrrii C n acumulatorOR (%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 acumulatorANDN %I0.1 //Execut AND ntre acumulator i BOR (%I0.0

    AND %I0.2) //Execut operaiile logice AB+ACST %Q0.1 //Stocheaz rezultatul n b

    //-------------------------------------------------------LDN %I0.0 //ncarc negatul intrrii A n acumulatorANDN %I0.1 //Execut AND ntre acumulator i BOR (%I0.2

    ANDN %I0.1) //Execut operaiile logice AB+BC

    ST %Q0.2 //Stocheaz rezultatul n c//------------------------------------------------------

    LD %I0.0XOR %I0.1 //Execut operaia A XOR BST %Q0.3 //Stocheaz rezultatul n d

    BABABAd =+=

    53

  • 7/29/2019 04 Automate Programabile

    54/60

    //------------------------------------------------------LDN %I0.0 //ncarc A n acumulatorOR %I0.1 //Execut operaia A+BORN %I0.2 //Execut operaia A+B+CST %Q0.4 //Stocheaz rezultatul n e si fST %Q0.5

    //-----------------------------------------------------LDN %I0.0ANDN %I0.1 //n acumulator se afl ABOR (%I0.0

    AND %I0.1) //n acumulator se afl AB+AB

    OR (%I0.1ANDN %I0.2) //n acumulator se afl AB+AB+BC

    ST %Q0.6 //Stocheaz rezultatul n g

    54

  • 7/29/2019 04 Automate Programabile

    55/60

    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

    %I0.2

    %I0.2

    %Q0.0

    %I0.0 %I0.1

    %I0.0

    %Q0.1

    %I0.2

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

    %I0.1

    %I0.0 %I0.1

    %I0.1 %I0.0

    %Q0.3

    %I0.0

    %I0.1%Q0.4

    %Q0.5

    %I0.0 %I0.1

    %I0.0 %I0.1

    %I0.2%I0.1

    %Q0.6

    Figura 10.2. Programul LAD pentru AP ceemuleaz convertorul octal-alfabetic.

    %I0.2

    55

  • 7/29/2019 04 Automate Programabile

    56/60

    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-alfabeticn limbajul FBD este prezentat n Figura 10.3.a. i b.

    =1

    XOR

    NOT

    &

    AND

    1

    OR

    %I0.0

    %I0.1

    %I0.2

    %Q0.0

    &

    AND%I0.0

    %I0.1

    NOT

    NOT

    &

    AND%I0.0

    %I0.2

    1

    OR%Q0.1

    &

    AND%I0.0

    %I0.1

    NOT

    NOT

    &

    AND%I0.0

    %I0.2

    1

    OR%Q0.2

    NOT

    %I0.0

    %I0.1

    %Q0.3

    Figura 10.3.a. Programul n limbajului FBD al emulatoruluicircuitului convertor de cod octal-alfabetic.

    56

  • 7/29/2019 04 Automate Programabile

    57/60

    Sugestii metodologice

    UNDE se desfoar lecia?Lecia se poate desfura n sala de clas sau n laboratorul de automatizri (sauinformatic, dac se utilizeaz strict numai mediul de programare al automatelorprogramabile i nu i automatele programabile).

    CU CE materiale didactice?Dac coala dispune de licen pentru software-ul, mediul de programare alautomatelor programabile se poate utiliza n cadrul acestei lecii. Sunt necesare n acestcaz PC-uri pentru fiecare elev sau echip de lucru sau cel puin un PC i unvideoproiector pentru profesor. Pentru cunoaterea la nivel minimal a mediului deprogramare este necesar o lecie de iniiere n utilizarea acestuia.

    Dac coala nu are licen de sofware, profesorul poate utiliza o prezentare PowerPoint n care pot fi utilizate scheme din aceast fi.

    CUM se desfoar lecia?Organizarea clasei poate fi frontal n cadrul secvenei de transmitere a noilorcunotine alternnd cu cea pe grupe sau individual n cadrul secvenei de retenie aleciei, avnd la dispoziie materialul de nvare aferent listat sau online. Se pot utiliza

    Figura 10.3.b. Programul n limbajului FBD al emulatoruluicircuitului convertor de cod octal-alfabetic.

    1

    OR

    %Q0.6

    NOT %Q0.4

    %Q0.5

    %I0.1

    %I0.0

    =1

    XOR%I0.0

    %I0.1

    NOT

    NOT

    &

    AND%I0.2

    %I0.1

    1

    OR

    NOT%I0.2

    57

  • 7/29/2019 04 Automate Programabile

    58/60

    metode expozitive, demonstrative, aciune efectiv (prin care elevii vor avea ocazia sfac 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 isimbolistic.

    - Dac la tema 7 s-a putut preda GRAFCET, se pot ncerca implementri decircuite secveniale (automate cu stri finite).

    58

  • 7/29/2019 04 Automate Programabile

    59/60

    IV. Fia rezumat

    Unitatea de nvmnt__________________

    Fia rezumat

    Clasa________________ Profesor______________________

    Nr.Crt.

    Nume iprenume

    elev

    Competena 1 Competena 2 Competena 3 Observaii

    A 1 A 2 A 3 A 1 A 2 A 3 A 1 A 2 A 3

    1 zz.ll.aaaa19

    234...Y

    19 zz.ll.aaaa reprezint data la care elevul a demonstrat c a dobndit cunotinele, abilitile i atitudinile vizate prin activitatea respectiv

    59

  • 7/29/2019 04 Automate Programabile

    60/60

    V. Bibliografie

    1. Mrgineanu, Ioan. (2005).Automate programabile, Cluj Napoca: EdituraAlbastr2. Frando, Siviu, .a. (2006). Mecatronic, Manual pentru clasa a XII-a,Bucureti: Editura Economic Preuniversitar