Sunteți pe pagina 1din 110

PREFATA

PREFA

Lucrarea Automate Programabile ndrumar de laborator reprezint un important suport practic de concepere i proiectare a soluiilor de conducere a proceselor industriale automate programabile bazate pe medii de programare evoluate de tipul ISaGRAF sau Ladder Diagram. Lucrarea este dedicat n primul rnd studenilor facultii de Automatic i Calculatoare din Universitatea Politehnica Bucureti, care audiaz cursul i frecventeaz laboratorul de Automate i Microprogramare. De asemenea, este util studenilor din facultile cu profil de automatic aparinnd universitilor tehnice din ar. Cartea este structurat n dou pri, prima parte prezentnd mediul de programare logic ISaGRAF, utilizat de majoritatea productorilor de automate programabile, n special din perspectiva modului de lucru cu interfaa utilizator, util n rezolvarea lucrrilor de laborator la materia Automate i microprogramare: De asemenea, sunt prezentate 14 aplicaii corespunztoare celor 14 laboratoare efectuate de studenii facultii de Automatic i Calculatoare din Universitatea Politehnica Bucureti. Aplicaiile au fost alese astfel nct gradul de dificultate al lor s fie diferit, de la cele mai simple, rezolvabile printr-o unic diagram logic, la procese industriale complexe, n care dezvoltarea unui proiect de control amplu necesit exerciiu i o foarte bun gndire logic. La unele aplicaii au fost descrise dou variante de programare, pe lng soluia n ISaGRAF fiind prezentat i rezolvarea n limbajul Ladder Diagram, n scopul nelegerii algoritmului de conversie a unei diagrame logice secveniale ntr-un program ciclic de tip diagram n trepte. Observaiile i propunerile existente la sfritul fiecarei aplicaii ajut viitorul specialist n automatic s neleag pe deplin soluia prezentat, avnd un punct de pornire solid pentru a concepe modificri ale programelor conform noilor situaii ce pot aprea n cadrul unui proces. Metodele i soluiile prezentate la toate aplicaiile sunt absolut originale i au fost realizate de ctre autori att n cadrul laboratorului de Automate i microprogramare ct i datorit numeroaselor contracte de cercetare la care autorii au participat de-a lungul anilor, n cadrul centrului de cercetare de excelen CIMR din cadrul Facultii de Automatic i Calculatoare din Universitatea POLITEHNICA Bucureti. Autorii

cuprins

Cuprins:
1. Mediul de programare ISaGRAF 9

Aplicaii
1. Problema 1 Controlul unei macarale 2. Problema 2 Comanda micrii oscilatorii a unui mobil 3. Problema 3 Detecia i expulzarea automat a sticlelor fr dop 4. Problema 4 Staie automat de splat autovehicule 5. Problema 5 Elevator clasificator de pachete 6. Problema 6 Dozare i malaxare automat 7. Problema 7 Umplerea i astuparea automat a sticlelor 8. Problema 8 Controlul unui lift 9. Problema 9 Detectarea bagajelor care conin metale 10. Problema 10 Sortarea a patru tipuri de piese 11. Problema 11 Umplerea automat a unor containere 12. Problema 12 Controlul unor ui automate 13. Problema 13 Sortarea a dou tipuri de piese 14. Problema 14 Procesul de coacere al biscuiilor 25 32 37 42 49 57 68 74 79 84 93 100 104 111

Bibliografie

117

cap1

1. MEDIUL DE PROGRAMARE ISaGRAF

Programul ISaGRAF a fost dezvoltat de firma CJ International i reprezint unul dintre cele mai structurate i prietenoase medii de programare pentru automatele programabile. Este compatibil cu standardul IEC 1131-3. Un proiect n ISaGRAF este mprit n mai multe uniti numite programe. Un program este o unitate logic care descrie operaiile ntre variabilele i constantele unui proces. Acestea sunt legate mpreun ntr-o structur arborescent, avnd icoane diferite. Programele pot fi editate ntrunul din limbajele grafice sau literale: Flow Chart (FC) Ladder Diagram (LD) Structured Text (ST) Instruction List (IL) Function Block Diagram (FBD) Sequential Function Chart (SFC)

Un program poate fi ciclic sau secvenial. Un program ciclic se execut n ntregime la fiecare ciclu, iar execuia unui program secvenial urmeaz regulile dinamice ale limbajului SFC sau FC. Un program nu poate conine instruciuni din mai multe limbaje, cu excepia limbajelor LD i FBD, care pot fi combinate n cadrul aceluiai program. Programele sunt considerate entitai de nivel unu. Se pot scrie i subprograme, care sunt entitti de nivel doi. Entitile de nivelul unu sunt lansate de sistemul de operare, n timp ce subprogramele, numite i programe fiu, sunt activate de programe, care se mai numesc i programe printe. Programele apar ntr-una din urmtoarele trei seciuni: BEGIN: se execut la nceputul ciclului; SEQUENTIAL: se execut dup cele din seciunea BEGIN i urmeaz legile dinamice ale limbajului SFC sau FC; END: se execut la sfritul ciclului.

cap1

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

10

Programele din seciunea BEGIN se recomand a fi utilizate pentru realizarea unor operaii preliminare asupra variabilelor de intrare (ex.: filtrarea, citirea unei valori de la un traductor). Programele din seciunea SEQUENTIAL descriu operaii secveniale unde variabila timp sincronizeaz operaiile primare. Trebuie s existe cel puin un program secvenial, restul doar dac este nevoie. Programele din seciunea END se recomand a fi utilizate pentru realizarea unor operaii de protecie nainte de a trimite o variabil ctre un dispozitiv de ieire. Programele seciunilor BEGIN i END nu pot fi descrise n SFC sau FC. Fiecare program din seciunea SEQUENTIAL poate controla alte programe SFC, programele fiu. Un program fiu este un program paralel, care poate fi pornit, oprit, suspendat sau repornit de ctre printele su. Important este ca ambele programe, printe i fiu, s fie scrise n SFC sau FC. Atunci cnd un program printe pornete un program fiu transmite un jeton fiecrui pas iniial al programului fiu. Aceast comand este descris de declaraia GSTART. n cazul opririi unui program fiu de ctre printele su, sunt eliminate toate jetoanele existente. Aceast comand este descris de declaraia GKILL. Atunci cnd un program printe nghea un program fiu, terge toate jetoanele din el, dar memoreaz poziia acestora pentru cazul n care programul fiu va fi repornit. Programul suspendat poate fi repornit folosind declaraia GRST. i n cazul programelor FC ale seciunii secveniale pot exista subprograme FC fiu, dar un printe FC este blocat n timpul execuiei unui subprogram FC. Astfel nu sunt posibile operaii simultane n programul FC printe i programul fiu FC. Obiectele din ISaGRAF sunt utilizate n orice program scris n FC, LD, ST, IL, FBD sau SFC. Aceste obiecte sunt: tipuri de baz, expresii constante, variabile i comentarii. Principalele tipuri de variabile disponibile pentru programe sunt: BOOLEAN: valori binare de tipul true/ false; ANALOG: valori ntregi (integer) sau reale (real); TIMER: valori de tip timer; MESSAGE: iruri de caractere.

cap1

11

Mediul de programare ISaGRAF

Constantele de tip ntreg sunt reprezentate pe 32 de bii, avnd valorile cuprinse ntre -232 i 232. Pot fi exprimate n baza zecimal, n baza hexazecimal (valoarea trebuie precedat de 16#), n baz octal (valoarea trebuie precedat de 8#) i n binar (valoarea trebuie precedat de 2#). Constantele analogice reale pot fi scrise fie printr-o reprezentare zecimal, fie printr-o reprezentare tiinific. Punctul zecimal este folosit pentru a diferenia o constant real de una de tip ntreg. Reprezentarea tiinific folosete literele E i F pentru a separa mantisa de exponent. Partea exponenial a unei expresii tiinifice reale trebuie s fie o valoare ntreag cu semn ntre -37 i +37. Constantele de tip timer sunt valori cuprinse ntre 0 i 23h59m59s999ms. Cea mai mic unitate permis este milisecunda. Valoarea trebuie precedat de caracterele T# sau time#. O constant de tip mesaj reprezint un ir de caractere cuprins ntre caracterele apostrof. Lungimea unei variabile nu poate depi 255 caractere. Caracterul apostrof nu poate fi utilizat ntr-un string. Pentru utilizarea lui ct i pentru caracterele netipribile se utilizeaz secvene care ncep cu caracterul $. Variabilele din ISaGRAF pot fi de dou categorii : locale sau globale. Numele variabilelor trebuie s inceap cu o liter i nu trebuie s depeasc 16 caractere. Variabilele locale pot fi folosite doar de un program. Variabilele globale pot fi folosite de orice program al aplicaiei curente. Variabilele pot avea unul dintre urmtoarele atribute: INTERNAL: variabile actualizate de program; INPUT: variabil conectat la un dispozitiv de intrare; OUTPUT: variabil conectat la un dispozitiv de ieire. Comentariile pot fi introduse liber n limbajele literal acceptate i sunt precedate de caracterele (* i succedate de caracterele *).

1.1. Crearea unui proiect ISaGRAF


Pentru a crea un proiect se lanseaz programul ISaGRAF prin executarea unui dublu click pe iconia lui. Se va deschide fereastra Project Management (vezi fig.1), mprit n dou sub-ferestre. n sub-fereastra de sus, sunt listate proiectele deja existente, iar n sub-fereastra de jos sunt scrise detalii despre proiectul selectat.

cap1

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

12

Fig.1. Fereastra ISaGRAF Project Management

Aciunile posibile n aceast etap sunt: deschiderea/rularea unui proiect existent, modificarea lui sau crearea unui nou proiect. Pentru crearea unui nou proiect se selecteaz File New; se va deschide fereastra Create New Project (vezi fig.2). Se introduce numele dorit al proiectului. Numele nu va depai 8 caractere i ncepe cu o liter. Editarea descrierii proiectului se face prin alegerea opiunii Project Project descriptor, dar este indicat ca aceast operaie s se fac la sfrit pentru a cuprinde informaii ct mai complete despre proiect.

Fig.2. Fereasta Create new project

Pentru editarea programelor din cadrul unui proiect, se va da dublu click n fereastra Project Management pe proiectul dorit. Apare fereastra Programs (vezi fig.3).

cap1

13

Mediul de programare ISaGRAF

Fig.3. Fereastra Programs

Pentru introducerea unui nou program n proiectul existent, se alege din fereastra Programs opiunea File New. Se deschide fereastra New Program (vezi fig.4). Trebuie ales numele programului, limbajul n care se editeaz i locul su n ierarhia programelor (Begin, Sequential, End, Function, Function block sau Child of).

Fig.4. Fereastra New Program

Dup completarea celor patru cmpuri, se apas OK, se nchide fereastra iar programul apare n ierarhia de programe. Editarea programului se face prin dublu click pe numele acestuia. nainte de editare, este indicat s se scrie variabilele programului. Editarea variabilelor se face pornind de la fereastra Programs, alegnd opiunea File Dictionary. Se editeaz variabilele pentru fiecare categorie. n fig.5. sunt prezentate variabilele booleene. Trebuie ales numele variabilei i atributul.

cap1

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

14

Fig.5. Fereastra Global booleans

n fig.6. este prezentat fereastra unei variabile booleene. n mod identic, arat i fereastra pentru variabilele analogice, doar c modul de afiare poate fi ales n mod diferit pentru cele ntregi i reale.

Fig.6. Fereastra Boolean Variable

Dup editarea variabilelor se trece la scrierea programelor. Lansarea unui editor se face prin dublu click pe program. Se deschide editorul ales la crearea programului SFC (Sequential Function Chart), FBD (Function Block Diagram), LD (Ladder Diagram), ST (Structured Text), IL (Instruction List) sau FC (Flow Chart).

cap1

15

Mediul de programare ISaGRAF

1.2. Editarea n Sequential Function Chart


Sequential Function Chart combin editarea grafic cu cea sub form de text. SFC permite editarea grafului de automatizare cu aciunile i condiiile de parcurgere a tranziiilor. Componentele grafice sunt prezentate n fig.7.

Fig.7. Componentele grafice ale editorului SFC

Componentele existente, n ordinea apariiilor lor n fig.7 sunt: etapa iniial, etap, tranziie, salt la etap, nceputul divergenei, sfritul divergenei, nceputul paralelismului, sfritul paralelismului, macroetap, prima etap a unei macroetape, ultima etap a unei macroetape. Un program SFC este n mod uzual mprit n dou nivele diferite: nivelul 1: prezint graful automatizrii i numele etapelor i tranziiilor nivelul 2: se scriu aciunile i condiiile din tranziii n limbajele ST sau IL. Pentru a plasa un element, programatorul trebuie s selecteze acel element din bara de componente grafice, apoi va selecta cu mouse-ul zona n care va dori s fie plasat elementul. Fig.8. prezint nivelul 1 al programului editat.

Fig.8. Nivelul 1 al programului SFC

cap1

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

16

Pentru a edita nivelul 2, se d dublu-click pe etap sau pe tranziie. Se va deschide n partea dreapt a ecranului fereastra numit pentru o etap Step GSnnn, unde nnn este numrul etapei, respectiv pentru o tranziie Transition GTnnn, unde nnn este numrul tranziiei.

Fig. 9. Nivelul 2 al programului SFC pentru etapa 1

n editarea nivelului 2, mai ales la tranziii se pot folosi dou variabile ataate fiecrei etape. Ele sunt actualizate n funcie de starea etapelor din graf. Aceste variabile sunt : GSnnn.x variabil boolean care reprezint starea etapei, n timpul execuiei programului (1 dac etapa este activ i 0 n cazul n care etapa este inactiv) GSnnn.t variabil de tip timer; reprezint timpul scurs de la activarea etapei. Limbajul default pentru nivelul 2 de editare a programului SFC este ST. Urmtoarele tipuri de aciuni pot fi asociate unei etape: aciuni booleene : atribuie unei variabile interne sau de ieire o valoare n funcie de starea etapei creia i s-a ataat aciunea. Sintaxa:
<variabila_booleana>;

atribuie valoarea ataat etapei variabilei booleene


/<variabila_booleana> ;

atribuie valoarea negata atasata etapei variabilei booleene aciuni memorate: aciuni de setare sau resetare. Sintaxa:
<variabila_booleana>(S);

seteaz variabila boolean la activarea etapei


/<variabila_booleana>(R);

reseteaz variabila boolean la activarea etapei aciuni de tip puls: se execut o singur dat la activarea etapei, n primul ciclu automat. Sintaxa:
ACTION(P): (* Instructiuni ST *) END_ACTION ;

10

cap1

17

Mediul de programare ISaGRAF

aciuni de tip non-puls: se execut ct timp etapa este activ; dac este o variabil boolean va avea forma unor impulsuri scurte, care se repet la fiecare ciclu. Sintaxa:
ACTION(N): (* Instructiuni ST *) END_ACTION ;

aciuni SFC: pornesc sau opresc un program fiu, n funcie de starea etapei.
ACTION(P): GSTART(<Program_fiu>); END_ACTION ; ACTION(P): GKILL(<Program_fiu>); END_ACTION ;

1.3. Editarea n Function Block Diagram


FBD este un editor grafic. El combin capacitaile grafice cu cele de editare de text. Se pot construi funcii complexe, prin utilizarea blocurilor existente n biblioteca ISaGRAF i legarea acestora ntre ele. FBD descrie o funcie ntre variabilele de intrare i variabilele de ieire, funcia fiind descris de setul de blocuri elementare, care intra n componena diagramei. Intrrile pot fi constante, variabile (interne, de intrare sau de ieire) sau ieirile altor blocuri. Ieirile pot fi variabile (interne sau de ieire), intrrile altor blocuri sau subprograme. Operatorii sunt reprezentai prin blocuri funcionale dreptunghice. Intrrile funciei sunt conectate n partea stang a blocului n timp ce ieirile sunt conectate n dreapta. Variabilele (intrrile i ieirile) sunt conectate la blocurile funcionale cu legturi logice. Reprezentarea grafic a intrarilor i ieirilor sunt dreptunghiuri cu colurile rotunjite (vezi fig.10). Etichetele i salturile sunt folosite pentru a controla execuia programului. Pentru introducerea etichetelor i a simbolului de salt exist pe bara de instrumente obiecte speciale.

11

cap1

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

18

Fig.10. Editorul FBD

1.4. Editarea n Ladder Diagram Editorul Ladder Diagram este un editor grafic. El permite programatorului s reprezinte grafic ecuaii booleene prin combinarea contactelor (variabile de intrare) cu bobine (variabile de ieire). Modul de realizare a unui program este asemntor cu cel din FBD i nu sunt dificulti n realizarea lui.

Fig.11. Editorul LD

12

cap1

19

Mediul de programare ISaGRAF

1.5. Editarea n Structured Text i Instruction List


Aceste editoare sunt n mod text i sunt uor de utilizat dac este cunoscut limbajul. n cadrul fiecrui editor exist posibilitatea efecturii unei verificri a programelor. Pentru aceasta este necesar s se aleag opiunea Files Verify. In cazul n care sunt erori acest lucru este semnalat ntr-o fereastra special n care se indic codul erorii, coordonatele obiectului care a produs eroarea i un text explicativ. Fereastra trebuie nchis pentru a putea face o nou verificare dup corectarea erorii.

1.6. Utilizarea editorului de conexiuni


Dup elaborarea programului pentru automat este necesar s se stabileasc o legtur logic ntre variabilele de I/O ale programului i canalele de pe automatul programabil. Pentru a realiza acest lucru utilizatorul trebuie s indice i s seteze modulele de pe automat i apoi s lege variabilele de canalele acestor module.

Fig. 12. Fereastra I/O connection

13

cap1

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

20

Alegerea, plasarea modulelor i conectarea variabilelor la canalele acestora se face din fereasta Programs, prin alegerea opiunii Project I/O connection. La alegerea acestei opiuni apare fereastra din fig.12, n care n partea stang este rack-ul automatului programabil cu sloturile pentru 255 module. Un slot poate fi utilizat pentru introducerea unui modul. Numrul slotului este poziia n care se afl fa de CPU. Numerotoarea ncepe de la zero. Adresa logic a unui modul ncepe de la unu i trebuie setat ntr-o fereastr separat. Prin realizarea unui dublu click asupra unui slot selectat al rack-ului se deschide fereastra Select board/equipment (fig.13), unde n caseta din stng se pot alege modulele automatului din biblioteca de module.

Fig.13. Fereastra Select board/equipment

Dup alegerea modulului corespunztor se apas butonul OK, iar n fereastra I/O Connection va apare modulul respectiv avnd canalele cu care productorul l-a echipat. Urmeaz s se conecteze variabilele programului la aceste canale. Realiznd un dublu click pe un canal va apare fereastra Connect I/O channel #1 (fig.14), n care n caseta din stnga apar toate variabilele care pot fi conectate la canal.

14

cap1

21

Mediul de programare ISaGRAF

Fig. 14. Fereastra Connect I/O channel

Dac se apas butonul Connect, variabila respectiv va fi conectat la canalul selectat i de trece la urmtorul canal. Astfel se pot conecta toate variabilele i apoi se nchide fereastra apsnd butonul Close. n fereastra I/O Connection operaiile fcute sunt reflectate prin plasarea variabilelor n dreptul canalelor alese. n aceast fereastr trebuie aleas i adresa logic a modulului.

1.7. Generarea codului aplicaiei


Generarea codului aplicaiei este urmtoarea etap care trebuie parcurs naintea testrii i rulrii n automat. Mai nti, n funcie de automatul folosit, se aleg parametrii pentru generarea codului. Acest lucru se face pornind de la fereastra Programs, prin alegerea opiunii Make Compiler options. n fereastra care apare (fig.15) se pot alege parametrii pentru generarea codului. Se poate alege generarea de cod pentru simulare i pentru uniti centrale cu procesor Motorola sau Intel. De asemenea, se pot bifa diferite opiuni de optimizare a codului. De fiecare dat cnd se bifeaz mai multe opiuni vor fi generate mai multe coduri.

15

cap1

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

22

Fig. 15. Fereastra Compiler options

1.8. Verificarea prin simulare a programului


Pentru a realiza o verificare offline a programului elaborat se poate folosi opiunea Debug Simulate din fereastra Programs. Evident c trebuie ca, la generarea codului, s fie bifat i opiunea de generare a codului pentru simulare. Aceast comand deschide debuggerul n modul simulare. Se ruleaz simultan un simulator complet al automatului (fig.16). Simulatorul nu poate fi pornit dac nu a fost generat codul pentru simulare i dac ferestrele de editare, de generare de cod i I/O connection sunt deschise.

Fig.16. Fereatra de rulare a programului

16

cap1

23

Mediul de programare ISaGRAF

Aceste ferestre pot fi deschise dup pornirea simulatorului pentru a putea urmri evoluia programului. De exemplu n fereastra editorului SFC se poate urmri poziia jetonului n graf. Utilizarea simulatorului este uoar i intuitiv. Intrrile booleene sunt simulate prin butoane, care pot fi apsate, iar ieirile booleene sunt simulate prin leduri care devin de culoare roie dac ieirea respectiv este true. O intrare analogic este simulat printr-un cmp de text, n care se introduce valoarea intrrii n zecimal sau hexazecimal. Dac se execut un click pe acel cmp se poate introduce o valoare nou. O ieire analogic este un cmp numeric de ieire n care valoarea variabilei este afiat. La fel sunt tratate de ctre simulator i variabilele de tip Messages. Se poate seta simulatorul s afieze, lng variabila simulat i numele acesteia.

1.9. Setarea legturii seriale


Pentru realizarea ncrcrii n automat a programului este nevoie, pe lng cablul de legtur dintre PC i automat, care trebuie achiziionat odat cu automatul i de setarea portului serial al calculatorului pe care ruleaz ISaGRAF. Pentru realizarea acestui lucru, din fereastra Programs se alege opiunea Debug Link setup. n fereastra care apare (fig.17) se pot seta portul de comunicaie, viteza i paritatea.

Fig.17. Fereastra PC-PLC link parameters

17

cap1

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

24

1.10. Utilizarea debuggerului grafic


ISaGRAF include un debugger grafic i simbolic. Dac din fereastra Programs se alege opiunea Debug Debug se lanseaz debuggerul, care controleaz ncrcarea aplicaiei n automat. Debuggerul comunic cu automatul prin intermediul legturii seriale. Fereastra debuggerului conine toate comenzile i informaiile pentru controlul aplicaiei. n aceast fereastr se prezint starea aplicaiei i informaii asupra execuiei acesteia. Sunt posibile urmtoarele stri: Logging... - Stare n care debuggerul stabilete comunicaia cu sistemul int Disconected - Stare n care debuggerul nu poate comunica cu aplicaia. n acest caz trebuie verificai parametrii legturii seriale i cablul de legtur. No target application Stare n care legtura este stabilit, dar aplicaia nu este ncrcat. Pentru ncrcare se va folosi Files Download. Target application inactive Stare n care legtura este stabilit, aplicaia este ncrcat, dar nu este activat. Pentru activare se va folosi Files Activate PLC. Target application active Stare n care legtura este stabilit, aplicaia este ncrcat i ea este activat. RUN Aplicaia este n modul Real Time. STOP Aplicaia este n modul Cycle to cycle. Se ateapt comenzi pentru executarea unui ciclu. Fatal Error Aplicaia este oprit din cauza unei erori fatale. Cnd se ncarc aplicaia trebuie realizat att ncrcarea codului ct i a simbolurilor aplicaiei. O aplicaie trebuie s se afle n modul STOP pentru a putea ncrca o versiune modificat sau o alt aplicaie.

18

probl1

Problema 1: Controlul unei macarale


1. Descrierea sistemului i a procesului Sistemul este format dintr-o macara acionat de dou motoare, fiecare cu cte dou sensuri de rotaie i prevazute cu patru limitatoare de curs. Aplicaia const n controlul acestei macarale care trebuie s realizeze cele 2 cicluri de micare reprezentate n figura 1.1. Iniial, macaraua se gsete n poziia de repaus 1. La apsarea butonului de pornire, macaraua pornete i realizeaz ciclul 1 de micare, pn ajunge n poziia de repaus 2, unde ramne pentru un anumit timp cunoscut (3s), nainte de a porni ciclul 2; cnd ajunge n poziia de repaus 1, macaraua se va opri. Un nou ciclu va porni dup reapsarea butonului de pornire.

Fig.1.1. Controlul unei macarale

Elemente de execuie: dou motoare cu dou sensuri de rotaie, unul pentru micarea orizontal i unul pentru cea vertical; Elemente de msur: patru limitatoare de curs; un buton de pornire.

19

probl1

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

26

2. Soluia de automatizare Implementarea n mediul ISaGRAF Prima soluie pentru controlul acestei aplicaii o reprezint un automat programabil de tip PEP Smart pentru care s-a dezvoltat un proiect ISaGRAF ce cuprinde un program principal secvenial.

Fig.1.2. Structura proiectului ISaGRAF

Dicionarul de variabile globale: Variabile de intrare booleene: o pornire: buton de pornit ciclul; o l1: limitator jos; o l2: limitator sus; o l3: limitator stnga; o l4: limitator dreapta. Variabile de ieire booleene: o M1S: acionare motor 1 stnga; o M1D: acionare motor 1 dreapta; o M2S: acionare motor 2 sus; o M2J: acionare motor 2 jos.

20

probl1

27

Problema 1- Controlul unei macarale

Program main:

21

probl1

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

28

Implementarea n limbajul Ladder Diagram Pentru controlul acestei aplicaii s-a ales un automat programabil de tip Allen Bradley. Programul de tip Ladder Diagram este construit pe baza diagramei logice din proiectul ISaGRAF prezentat anterior.
Asocierea intrrilor i ieirilor fizice cu bii din regitrii de intrare/ieire este prezentat n tabelul 1.1:
Tabelul 1.1.

Intrare fizic Pornire l1 l2 l3 l4

Adres intern I:1/1 I:1/2 I:1/3 I:1/4 I:1/5

Ieire fizic M1S M1D M2S M2J

Adres intern O:3/1 O:3/2 O:3/3 O:3/4

Asocierea etapelor cu bii din fiierul de bit B3 i alegerea fiierului de timer este pezentat n tabelul 1.2:
Tabelul 1.2.

Etapa 1 2 3 4 5 6 7 8

Adresa bit B3/1 B3/2 B3/3 B3/4 B3/5 B3/6 B3/7 B3/8

Temporizare Temporizare 1

Fiier de timer T4:0

Diagrama Ladder este prezentat n continuare:

22

probl1

29

Problema 1- Controlul unei macarale

23

probl1

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

30

24

probl1

31

Problema 1- Controlul unei macarale

Comentarii: n diagrama SFC se observ realizarea temporizrii folosind variabila sistem GS5.t, care conine timpul scurs de la activarea etapei asociate. Aceast metod de msurare a timpul poate fi folosit doar n situatia cnd o etap trebuie sa fie activ pentru o anumit perioad de timp, n alte situaii fiind necesar folosirea unor variabile globale de tip timer i gestionarea lor de ctre funciile TSTART i TSTOP. n diagrama Ladder se observ c ramurile de tip 1 i 2 asociate unei etape au fost scrise una dup alta, pentru aceast aplicaie programul funcionnd corect, exist ns situaii cnd ordinea de scriere a ramurilor trebuie s fie diferit (de multe ori se scriu primele ramurile de tip 1 pentru fiecare etap, apoi ramurile de tip 2).

25

probl2

Problema 2: Comanda micrii oscilatorii a unui mobil


1. Descrierea procesului Un mobil alunec pe un urub micat de un motor acionat de dou contactoare (MD dreapta i MS stnga), ntre 2 limitatoare de curs. Mobilul trebuie s realizeze o micare oscilatorie continu din momentul n care se primete comanda (impuls) de la butonul M. Un impuls de la butonul P trebuie s opreasc motorul, dar nu imediat, ci la finalul micrii ncepute. Un impuls de la butonul E produce o retragere imediat a mobilului n poziia de origine, iar sistemul se mai poate pune n micare doar apsnd butonul R.

Fig. 2.1. Micarea oscilatorie a unui mobil

Element de execuie: un motor cu dou sensuri de rotaie; Elemente de msur: dou limitatoare de curs; 4 butoane. 2. Soluia de automatizare Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart PLC pentru care se dezvolt un proiect ISaGRAF. Proiectul

26

probl2

33

Problema 2 - Comanda micrii oscilatorie a unui mobil

conine dou programe, un program principal i un program fiu, numit Osc. Programul Osc este pornit i oprit de ctre programul principal i este responsabil cu realizarea micrii oscilatorii i sesizarea apsrii butoanelor, conform specificaiilor aplicaiei.

Fig. 2.2. Structura proiectului ISaGRAF

Dicionarul de variabile globale: Variabile de intrare digitale: o M: buton de pornire micare oscilatorie; o P: buton de oprire motor; o E: buton de retragere n poziia de origine; o R: buton de repornire; o L0: limitator stnga; o L1: limitator dreapta. Variabile de ieire digitale: o MS: comand motor stnga; o MD: comand motor dreapta. Variabile interne de tip boolean: o oprit: are valoarea TRUE cnd micarea oscilatorie este oprit; o v_redgeM: necesar funciei REDGE; o v_redgeR: necesar funciei REDGE.

27

probl2

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

34

Program main:

28

probl2

35

Problema 2 - Comanda micrii oscilatorie a unui mobil

Program osc:

29

probl2

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

36

Comentarii : Funia REDGE este folosit pentru detectarea impulsurilor produse prin apsarea butoanelor; Comunicaia ntre programe este realizat prin intermediul variabilei oprit; Programul principal oprete execuia programului fiu Osc atunci cnd variabila oprit are valoare TRUE sau micarea este ntrerupt de apsarea butonului E; Programul putea fi realizat i fr un program fiu, dar diagrama sar fi complicat foarte mult, din cauza necesitii de a testa n fiecare etap starea butonului E. Propunere: S se modifice programul n condiiile n care la apsarea butonului de oprire, ciclul se ncheie totdeauna cnd mobilul ajunge prima dat n partea dreapt.

30

probl3

Problema 3: Detecia i expulzarea automat a sticlelor fr dop


1. Descrierea procesului Una dintre fazele de producie ntr-o linie de mbuteliere const n aezarea unui dop, ca urmare a ncheierii secveniei de umplere. O dat astupate, sticlele se deplaseaz pe banda 1. Scopul aplicaiei este detectarea i evacuarea sticlelor care ies din faza de nchidere fr dopul corespunztor. n plus, dac sunt rejectate mai mult de 3 sticle consecutive, trebuie activat o alarm. Repornirea ciclului se face prin apsarea butonului Pc. Pentru detecia sticlei defecte se conjug aciunile unui senzor inductiv, care detecteaz prezena dopului i un echipament fotoelectric care semnaleaz prezena unei sticle.

Fig.3.1. Detecia i expulzarea sticlelor fr dop

31

probl3

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

38

Procesul este iniiat prin apsarea butonului M, care determin pornirea benzii transportoare 1. Atunci cnd se detecteaz o sticl fr dop, este oprit banda 1 i este pornit banda transportoare 2 (dac era oprit). n momentul n care sticla fr dop se gasete n zona de expulzare, este activat mecanismul de expulzare (un piston ce poate avansa i se poate retrage ntre dou limite). Banda 1 va fi repornit n momentul n care sticla fr dop nu se mai gsete n zona de expulzare (practic semnalul transmis de detectorul fotoelectric are valoarea logic fals). Banda 2 va fi oprit dup 5 secunde de la nceperea expulzrii ultimei sticle. Elemente de execuie: dou motoare care acioneaz dou benzi transportoare; un piston folosit la expulzarea sticlelor fr dop. Elemente de msur: un detector inductiv pentru dopuri; un detector fotoelectric pentru sticle. 2. Soluia de automatizare Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart pentru care se dezvolt un proiect ISaGRAF, cu un singur program principal dar cu dou seciuni programate: seciunea secvenial i seciunea de sfrit ca n fig. 3.2.

Fig.3.2. Structura proiectului ISaGRAF

32

probl3

39

Problema 3 Detecia i expulzarea sticlelor fr dop

Dicionarul de variabile globale: Variabile de intrare booleene: o M: buton de pornire; o I: detector inductiv; o F: detector fotoelectric; o Pc: buton de reponire a ciclului; o l_av: limita de avans; o l_ret: limita de retragere. Variabile de ieire booleene: o banda_1: comand pornire/ oprire band 1; o banda_2: comand pornire/ oprire band 2; o alarm: comand alarma; o p_av: comand avansul pistonului; o p_ret: comand retragerea pistonului. Variabile interne de tip ntreg: o nr_sticle: contorizeaz numrul de sticle fr dop expulzate consecutiv. Variabile interne de tip Timer: o timp: folosit la contorizarea celor 5 secunde de activare a conveiorului 2.

Programul Timing:
IF (timp>t#5s) THEN banda_2:=FALSE; TSTOP(timp); timp:=t#0s; END_IF;

33

probl3

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

40

Programul Main:

34

probl3

41

Problema 3 Detecia i expulzarea sticlelor fr dop

Observaii: seciunea de end (care conine programe ciclice) este necesar deoarece timpul trebuie verificat la fiecare ciclu automat astfel nct banda 2 s poat fi oprit n orice moment dac perioada ei de activare a expirat; contorizarea timpului este fcut cu ajutorul funciilor TSTART i TSTOP; dac o sticl trebuie s fie expulzat n timp ce o alta se gsete pe conveiorul 2, timer-ul este resetat astfel nct contorizarea timpului repornete de la 0 pentru a asigura i evacuarea acestei ultime sticle; dac numrul de sticle evacuate consecutiv este 3, atunci vor ncepe dou secvene de aciuni ce trebuie s aib loc simultan i anume: o retragerea pistonului o activarea dezactivarea alarmei. Abia dup ncheierea ambelor secvene procesul poate reporni, situaie reprezentat printr-un paralelism n cadrul diagramei. Propuneri: S se construiasc o diagram Ladder pentru un automat de tip Allen Bradley, care s controleze acest proces. S se modifice proiectul ISaGRAF dac aplicaia se schimb astfel: o Dac pe band nu mai vin sticle timp de 2 minute, banda 1 va fi oprit, se activeaz alarma, repornirea procesului avnd loc la apsarea butonului Pc.

35

probl4

Problema 4: Staie automat de splat autovehicule


1. Descrierea procesului Scopul proiectrii acestui sistem de control l reprezint automatizarea unei staii de splat autovehicule. Staia are urmtoarea structur: band transportoare a mainilor; patru posturi de lucru prevzute cu senzori fotoelectrici de prezen a unei maini i cu echipamente de acionare specifice postului respectiv (presplare, splare cu detergent, cltire i uscare); o barier acionat de un motor cu dou sensuri de rotaie i dou limitatoare de curs; un semafor cu 2 culori, verde i rou.

Fig.4.1. Staie automat de splat autovehicule

Iniial banda este oprit, bariera ridicat i semaforul verde, neexistnd maini pe band. n momentul n care o main apare n dreptul postului 1, banda va trebui s porneasc pentru a transporta mainile prin

36

probl4

43

Problema 4 Staie automat de splat autovehicule

cele 4 posturi de lucru. Banda va fi oprit cnd nu mai exist maini pe band. Bariera va fi cobort iar semaforul va deveni rou atta timp ct postul 1 este ocupat. Ct timp o main trece printr-un post, echipamentul postului respectiv trebuie s fie activ. Elemente de execuie: motorul benzii transportoare; motorul barierei cu dou sensuri de rotaie; un semafor; patru posturi de lucru. Elemente de msur: cinci celule fotoelectrice; dou limitatoare de curs ale barierei. 2. Soluia de automatizare Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart pentru care se dezvolt un proiect ISaGRAF, proiect ce const din ase programe editate n SFC care ruleaz n paralel. Structura proiectului ISaGRAF este prezentat n fig.4.2.

Fig.4.2.Structura proiectului ISaGRAF

Dicionarul de variabile: Variabile de intrare booleene: o limita_sus: limitator de curs sus pentru barier; o limita_jos: limitator de curs jos pentru barier; o foto_1: fotocelula postului 1;

37

probl4

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

44

o foto_2: o foto_3: o foto_4:

fotocelula postului 2; fotocelula postului 3; fotocelula postului 4.

Variabile de ieire booleene o banda: comand pornire/oprire band; o bariera_sus: comand ridicare barier; o bariera_jos: comand coborre barier; o semafor: comand activare/ dezactivare semafor; o post_1: comand activare/ dezactivare post presplare; o post_2: comand activare/ dezactivare post splare; o post_3: comand activare/ dezactivare post cltire; o post_4: comand activare/ dezactivare post uscare. Variabile interne integer o nr_masini: numrul de maini existente n staia de splare.

38

probl4

45

Problema 4 Staie automat de splat autovehicule

Program bariera:

39

probl4

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

46

Program start:

Program Post1:

40

probl4

47

Problema 4 Staie automat de splat autovehicule

Program Post2:

Program Post3:

Program Post4:

41

probl4

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

48

Observaii: Toate programele dezvoltate sunt independente i ruleaz n paralel, fapt ce uureaz foarte mult nelegerea i realizarea programului. Determinarea faptului c mai exist sau nu maini pe band s-a fcut cu ajutorul unei variabile de tip integer, nr_maini, o alt abordare de genul testarea tuturor senzorilor de prezen fiind incorect, putnd exista maini pe band dar ntre posturi, deci toi senzorii de prezen putnd fi inactivi la un moment dat, dei exist maini pe band. Propunere: S se modifice proiectul corespunztor situaiei n care pentru un timp Tasteptare nu mai urc nicio main pe band, situaie n care bariera va fi cobort iar reluarea procesului se poate face numai prin apsarea unui buton, introdus suplimentar n sistem.

42

probl5

Problema 5: Elevator clasificator de pachete


1. Descrierea procesului Pe o band transportoare vin dou tipuri de pachete (mic i mare). Tipul pachetului este determinat de un cntar, n final pachetele fiind sortate i transportate n direcii diferite, n funcie de tipul pachetului. Componentele sistemului sunt: patru benzi transportoare acionate de motoare cu un singur sens de rotaie; un cntar al carui traductor genereaz un semnal analogic ntre 4 i 20 mA, proportional cu o gam de valori ale greutii ntre 0 i 100 kg; un piston (cilindru) C dotat cu un plan elevator pentru ridicarea pachetelor, poate avansa i se poate retrage ntre 2 limite; dou pistoane A i B pentru evacuarea pachetelor, pot avansa i se pot retrage ntre 2 limite; doi senzori de prezen pachet F0 i F1 poziionai ca n fig. 5.1.

Fig.5.1. Elevator clasificator de pachete

43

probl5

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

50

Procesul pornete cu transportul unui pachet ctre cntar. Cnd pachetul ajunge pe cntar, banda 0 va fi oprit. Aici pachetul este cntrit fiind astfel identificat n funcie de greutatea citit. n cazul n care cilindrul C este n repaus i nu are pachet deasupra, pachetul de pe cntar este transportat de banda 1 pn la planul elevator. Cnd banda 1 este oprit i nu exist pachet pe cntar, banda 0 poate reporni. Cilindrul C ridic pachetele. Apoi pachetele sunt transportate diferit: pachetele mici sunt plasate pe banda 2 de ctre cilindrul A, iar pachetele mari sunt aezate pe banda 3 de ctre cilindrul B. Cilindrul elevator C se retrage doar cnd cilindrii A, respectiv B au atins poziia de avans. Benzile 2 i 3 se opresc cnd cilindrul A, respectiv B ajunge la limita de retragere. Elemente de execuie: trei cilindri cu dublu efect (A,B,C); patru benzi transportoare. Elemente de msur: ase limitatoare de curs; dou detectoare de prezen. 2. Soluia de automatizare Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart pentru care se dezvolt un proiect ISaGRAF, ce cuprinde cinci programe secveniale ce ruleaz n paralel i un program n seciunea begin, program ce se execut la nceputul fiecrui ciclu automat. Modulul de intrare analogic al automatului accept un semnal ntre 0 i 20 mA, conversia analog-numeric fcndu-se pe 12 bii. Structura proiectului ISaGRAF este prezentat n fig.5.2.

Fig.5.2.Structura proiectului ISaGRAF

44

probl5

51

Problema 5 - Elevator clasificator de pachete

Dicionarul de variabile globale: Variabile de intrare booleene: o foto_0: fotocelula 0; o foto_1: fotocelula 1; o A0: limit retragere cilindru A; o A1: limit avans cilindru A; o B0: limit retragere cilindru B; o B1: limit avans cilindru B; o C0: limit coborre cilindru C; o C1: limit ridicare cilindru C. Variabile de ieire booleene: o banda_0: activare/ dezactivare banda 0; o banda_1: activare/ dezactivare banda 1; o banda_2: activare/ dezactivare banda 2; o banda_3: activare/ dezactivare banda 3; o A_retras: retragere cilindru A; o A_avans: avans cilindru A; o B_retras: retragere cilindru B; o B_avans: avans cilindru B; o C_retras: retragere cilindru C; o C_ridicare: ridicare cilindru C. Variabile interne booleene: o tip_det: variabila de sincronizare ntre cntrire i banda transportoare 1; Variabile globale analogice: o cntar: variabil intern, reprezint valoarea real a greutii de pe cntar (integer); o traductor_cntar: variabil de intrare, valoarea primit de la traductorul cntarului (integer, ntre 0 - 4096); o pachet_actual: variabil intern, n care se memoreaz tipul pachetului actual ce urmeaz a fi transportat; o pachet_viitor: variabil intern, n care se memoreaz tipul pachetului de pe cntar (urmtorul ce va fi transportat); o lim_inf: constant, greutatea minim a pachetului mic; o lim_sup_mic: greutatea maxim a pachetului mic; o mic: constant cu valoarea 1; o mare: constant cu valoarea 2.

45

probl5

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

52

Program banda_0:

46

probl5

53

Problema 5 - Elevator clasificator de pachete

Program banda_1:

47

probl5

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

54

Program Cilin_A

Program Cilin_B

48

probl5

55

Problema 5 - Elevator clasificator de pachete

Program Cilin_C:

49

probl5

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

56

Programul Convers: Programul convers realizeaz conversia din uniti CAN (Convertor Analog Numeric) n valori exprimate n uniti de msur inginereti. Intrarea analogic a modulului de intrare lucreaz pe 12 bii i msoar un curent de 0-20 mA, dar traductorul de la cntar genereaz un curent de 4-20 mA. n aceast situaie trebuie fcut o translaie de scal. Se observ c la valoarea minim a domeniului de msur traductorul genereaz 4mA, corespunztoare valorii 819 citit de automat, valoare pentru care automatul trebuie s indice valoarea minim a mrimii msurate. Astfel formula de conversie este: val_ing = (val_cit - 819) * (Ds - Di) / (4095 - 819) unde: val_ing valoarea n uniti inginereti val_cit valoarea citit n uniti CAN Di domeniul inferior de msur Ds domeniul superior de msur n cazul nostru: Ds = 100, Di = 0, astfel nct instruciunea n programul convers se scrie:
cantar := INT((( REAL(traductor_cantar ) - 819)*100.0) / (3276);

Observaii: s-au folosit 2 variabile pentru memorarea tipului pachetelor deoarece la un moment dat n instalaie pot exista 2 pachete neevacuate, unul pe cntar sau pe banda 1 i altul n curs de evacuare; comunicaia ntre programul banda_0 care determin tipul pachetului i programul banda_1 se face prin intermediul variabile tip_det, cu valoarea TRUE din momentul n care tipul unui pachet a fost determinat pn cnd pachetul a ajuns deasupra planului elevator. Propunere: S se modifice programul n cazul n care nu exist un senzor de prezen pachet n dreptul cntarului, aceasta determinndu-se prin creterea greutii de pe cntar peste o valoare numit marja. Identificarea tipului pachetului se va face dup un timp numit Tstabilizare de la detectarea prezenei pachetului deasupra cntarului.

50

probl6

Problema 6: Dozare i malaxare automat


1. Descrierea instalaiei i a procesului Sistemul conine: un malaxor pivotant care se poate roti n jurul axei sale i poate pivota dreapta/ stnga; dou containere pline cu substanele A, respectiv B, prevzute cu robinei pentru golire; o band transportoare pe care vin brichete solubile; un senzor de detecie brichet poziionat sub banda transportoare, activ atta timp ct prin dreptul su trece o brichet (d); un cntar prevzut cu un robinet pentru golire, care transmite dou semnale digitale A i B, corespunztoare anumitor valori ale greutii, respectiv semnalul Z, atunci cnd cntarul este gol.

Fig.6.1. Dozare i malaxare automat

51

probl6

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

58

Utilitatea acestei instalaii este de a amesteca anumite cantiti din cele dou substane cu cte dou brichete solubile pentru a obine un produs finit. O arj pornete la acionarea butonului de alimentare, moment n care se pornete cntrirea i alimentarea produselor n urmtorul mod: cntrirea produsului A prin deschiderea valvei A, pn la referina A; cntrirea produsului B prin deschiderea valvei B, pn la referina B; apoi, golirea cntarului n malaxor prin deschiderea valvei C pn la referina zero; simultan cu precedentele operaii are loc alimentarea malaxorului cu dou brichete solubile. Dup ce aceste secvene s-au ncheiat, malaxorul se va roti n jurul axei sale timp de 2 minute, apoi, fr a opri rotaia, va pivota ctre dreapta pentru a evacua coninutul. Apoi va pivota napoi ctre poziia sa de repaus. Dup ce a atins aceast poziie un nou ciclu de producie poate porni la apsaresa butonului de alimentare. Elemente de execuie: trei electrovalve (valva_A, valva_B, valva_C); motorul benzii transportoare cu un singur sens de rotaie; motorul de rotaie al malaxorului; motorul de pivotare al malaxorului, cu dou sensuri de rotaie. Elemente de msur: trei senzori de greutate pentru referinele A, B i zero; dou limitatoare de curs; un detector de trecere. 2. Soluia de automatizare Implementarea n mediul ISaGRAF Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart pentru care se dezvolt un proiect ISaGRAF, ce cuprinde un program principal. Structura proiectului ISaGRAF este prezentat n fig.6.2.

52

probl6

59

Problema 6 Dozare i malaxare automat

Fig.6.2. Structura proietului ISaGRAF

Dicionarul de variabile globale: Variabile de intrare booleene: o start: buton de pornire; o d: detector de trecere brichete solubile; o A: detectorul greutii produsului A; o B: detectorul greutii produselor A + B; o Z: detectorul golirii cntarului; o lim_stanga: limitator stnga malaxor; o lim_dreapta: limitator dreapta malaxor. Variabile de ieire booleene: o valva_ A: comand deschiderea/ nchiderea valvei A; o valva_ B: comand deschiderea/ nchiderea valvei B; o valva_ C: comand deschiderea/ nchiderea valvei C; o Mt: comand motorul benzii transportoare; o rotire: comand rotaia malaxorului; o piv_dreapta:comand pivotarea ctre dreapta a malaxorului; o piv_stanga: comand pivotarea ctre stnga a malaxorului. Variabile globale de tip timer: o timer: temporizare folosit la rotaia malaxorului.

53

probl6

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

60

Programul Main:

54

probl6

61

Problema 6 Dozare i malaxare automat

55

probl6

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

62

Implementarea n limbajul Ladder Diagram Pentru controlul acestei aplicaii s-a ales un automat programabil de tip Allen Bradley. Programul de tip Ladder Diagram este construit pe baza diagramei logice din proiectul IsaGraf prezentat anterior. Asocierea intrrilor i ieirilor fizice cu bii din regitrii de intrare/ieire este prezentat n tabelul 6.1:
Tabelul 1.1.

Intrare fizic START A B Z lim_dreapta d lim_stanga

Adres intern I:1/1 I:1/2 I:1/3 I:1/4 I:1/5 I:1/6 I:1/7

Ieire fizic Valva_A Valva_B Valva_C Mt Rotire Pit_dreapta Pit_stanga

Adres intern O:3/1 O:3/2 O:3/3 O:3/4 O:3/5 O:3/6 O:3/7

Asocierea etapelor cu bii din fiierul de bit B3 i alegerea fiierului de timer este pezentat n tabelul 6.2:
Tabelul 1.2.

Etapa 1 2 3 4 5 6 7 8 9 102 103 104 105

Adresa bit B3/1 B3/2 B3/3 B3/4 B3/5 B3/6 B3/7 B3/8 B3/9 B3/10 B3/11 B3/12 B3/13

Temporizare Temporizare 1

Fiier de timer T4:0

Diagrama Ladder este prezentat n continuare:

56

probl6

63

Problema 6 Dozare i malaxare automat

57

probl6

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

64

58

probl6

65

Problema 6 Dozare i malaxare automat

59

probl6

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

66

60

probl6

67

Problema 6 Dozare i malaxare automat

Observaii: n diagrama SFC se pot observa cele dou secvene paralele, aducerea lichidelor i aducerea brichetelor n malaxor. Ieirea din paralelism se face atunci cnd ambele secvene s-au ncheiat. Pentru exemplificare, temporizarea a fost realizat cu instruciunea TSTART dei n acest caz putea fi folosit variabila global GS006.t. Nu s-a mai folosit funcia TSTOP pentru c n etapa 7 variabila timer este resetat, deci incrementarea ei va rencepe de la 0 din acel moment, n alte etape sau tranziii variabila nefiind folosit. Propunere: S se modifice programul pentru cazul n care aducerea brichetelor ncepe odat cu golirea cntarului iar numrul de brichete aduse este oarecare (egal cu n).

61

probl7

Problema 7: Umplerea i astuparea automat a sticlelor


1. Descrierea instalaiei i a procesului Scopul acestei aplicaii l constituie controlul unui sistem de umplere i astupare a unor sticle.

Fig.7.1. Umplerea i astuparea automat a sticlelor

Componentele instalaiei sunt: o band transportoare pe care circul sticle, acionat de un motor cu un singur sens de rotaie; un rezervor cu lichid folosit la umplerea sticlelor; un cilindru cu dublu efect (A n fig. 7.1) cu ajutorul cruia sunt umplute sticlele; un cilindru cu dublu efect (B n fig. 7.1) care aduce dopurile pentru astuparea sticlelor; un cilindru cu dublu efect (C n fig. 7.1) care preia dopurile din stiva de dopuri; un mecanism rotativ care efectueaz efectiv astuparea sticlelor, a crui micare este limitat de ctre un limitator;

62

probl7

69

Problema 7 Umplerea astuparea automat a sticlelor

doi senzori detectori de prezena unei sticle n poziiile de umplere, respectiv de astupare; un detector al poziiei de preluare dop de ctre cilindrul B. Iniial, pentru simplificarea aplicaiei, se presupune c exist deja o sticl umplut ntre cele dou poziii principale de pe band (umplere i astupare). La iniializarea aplicaiei se pornete motorul benzii transportoare. Acesta se va opri cnd exist sticle att n poziia de umplere ct i n cea de astupare. Se presupune c sticlele vin pe band la distane egale astfel nct umplerea i astuparea s aib loc simultan. Aciunea de umplere are loc prin avansul i retragerea cilindrului A ntre limitatoarele F1 i F2. Retragerea cilindrului A trebuie s aib loc abia cnd cilindrul B a pus un dop deasupra unei sticle. Secvena de astupare este urmtoarea: Cilindrul C aduce un dop din stiva de dopuri, cilindrul B avanseaz pn n dreptul detectorului F7, cilindrul C se retrage apoi cilindrul B avanseaz pn la limita sa de avans, mpingnd dopul deasupra sticlei. Din acel moment ncep dou secvene de aciuni care au loc n paralel. Prima const n nurubarea dopului de ctre mecanismul rotativ, urmat de retragerea cilindului B, cea de-a doua fiind retragerea cilindrului A. Cnd ambele secvene s-au ncheiat, banda transportoare poate fi repornit, ciclul relundu-se cnd un nou lot de sticle apar n cele dou poziii semnificative de pe band. Elemente de execuie: un cilindru A ce regleaz dozatorul volumetric; un cilindru de avans B cu trei poziii; un cilindru C ce reprezint mecanismul de transfer al capacelor; motorul benzii transportoare; un mecanism de nurubare dopuri. Elemente de msur: ase limitatoare de curs; un detector de poziie; o fotocelul pentru detecie sticl de umplut; o fotocelul pentru detecie sticl plin. 2. Soluia de automatizare Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-a dezvoltat un proiect ISaGRAF ce cuprinde un program principal, numit main.

63

probl7

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

70

Fig.7.2. Structura proiectului ISaGRAF

Dicionarul de variabile globale: Variabile de intrare booleene: o F1: limitator sus cilindru A o F2: limitator jos cilindru A o F3: limitator sus cilindru B o F4: limitator jos cilindru B o F5: limitator stnga cilindru C o F6: limitator dreapta cilindru C o F7: Detector poziie de preluat dop o senzor_rotire: limitator rotire dispozitiv de nurubare o st_de_umplut: senzor detecie sticl de umplut o st_plin: senzor detecie sticl plin Variabile de ieire booleene: o banda: comand pornire/ oprire band o insurubare: comanda de nurubare a dopului o A_avans: comand avans cilindru A o A_retragere: comand retragere cilindru A o B_avans: comand avans cilindru B o B_retragere: comand retragere cilindru B o C_avans : comand avans cilindru C o C_retragere: comand retragere cilindru C

64

probl7

71

Problema 7 Umplerea astuparea automat a sticlelor

Programul main:

65

probl7

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

72

66

probl7

73

Problema 7 Umplerea astuparea automat a sticlelor

Observaii: n program au fost folosite 2 paralelisme, fiecare avnd cte 2 secvene ce se execut simultan. A doua secven paralel implementeaz condiia c o dat cu umplerea unei sticle, alta s fie astupat. Propunere: S se modifice programul n situaia n care sticlele vin aleator pe banda transportoare, iar umplerea i astuparea nu mai au loc simultan. S se modifice programul inndu-se cont de situaia n care nu apar sticle simultan n cele 2 poziii semnificative. n acest caz s fie declanat o alarm care s fie oprit i ciclul reluat abia cnd nu mai exist sticle n niciuna din cele 2 poziii de pe band (sticla este evacuat manual).

67

probl8

Problema 8: Controlul unui lift


1. Descrierea sistemului i a procesului Componentele sistemului sunt: 10 butoane interioare; 10 butoane exterioare; un senzor prezen persoan n interiorul liftului; 10 senzori prezen lift la fiecare etaj; un contact de u nchis a cabinei liftului; un motor cu dou sensuri de rotaie. Funcionarea dorit a liftului este urmtoarea: iniial liftul se afl la parter, gol. Dac o persoan se afl n lift i apas unul din cele 10 butoane interne de comand, liftul va porni ctre nivelul destinaie, oprindu-se cnd se activeaza senzorul de prezen lift, de la nivelul respectiv. Pornirea liftului are loc numai dac ua de interior este nchis. Dac liftul este gol el poate fi chemat de la alt nivel, cu ajutorul butoanelor externe. Elemente de execuie: motorul liftului Elemente de msur: 10 senzori prezen lift; 20 butoane; un senzor prezen persoan; un contact de u nchis. 2. Soluia de automatizare Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart pentru care se dezvolt un proiect ISaGRAF, ce cuprinde un program n seciunea begin i un program n seciunea sequential, aa cum este prezentat i n figura 8.1.

68

probl8

75

Problema 8 Controlul unui lift

Fig.8.1. Structura proiectului ISaGRAF

Dicionarul de variabile globale: Variabile de intrare booleene: o bint1 ... bint10 o bext1 ... bext 10 o usa_cabina o etaj1 ... etaj 10 o prez_persoana Variabile de ieire booleene: o Msus, Mjos Variabile interne de tip ntreg: o but_int o but_ext o etaj_curent o etaj_dorit

69

probl8

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

76

Program det_etj
but_int:=0; but_ext:=0; etaj_curent:=0; IF bint1 = TRUE THEN but_int = 1; END_IF; IF bint2 = TRUE THEN but_int = 2; END_IF; IF bint3 = TRUE THEN but_int = 3; END_IF; IF bint4 = TRUE THEN but_int = 4; END_IF; IF bint5 = TRUE THEN but_int = 5; END_IF; IF bint6 = TRUE THEN but_int = 6; END_IF; IF bint7 = TRUE THEN but_int = 7; END_IF; IF bint8 = TRUE THEN but_int = 8; END_IF; IF bint9 = TRUE THEN but_int = 9; END_IF; IF bint10 = TRUE THEN but_int = 10; END_IF; IF bext1 = TRUE THEN but_ext = 1; END_IF; IF bext2 = TRUE THEN but_ext = 2; END_IF; IF bext3 = TRUE THEN but_ext = 3; END_IF; IF bext4 = TRUE THEN but_ext = 4; END_IF; IF bext5 = TRUE THEN but_ext = 5; END_IF; IF bext6 = TRUE THEN but_ext = 6; END_IF; IF bext7 = TRUE THEN but_ext = 7; END_IF; IF bext9 = TRUE THEN but_ext = 9; END_IF; IF bext10 = TRUE THEN but_ext = 10; END_IF; IF etaj1 = TRUE THEN etaj_curent = 1; END_IF; IF etaj2 = TRUE THEN etaj_curent = 2; END_IF; IF etaj3 = TRUE THEN etaj_curent = 3; END_IF; IF etaj4 = TRUE THEN etaj_curent = 4; END_IF; IF etaj5 = TRUE THEN etaj_curent = 5; END_IF; IF etaj6 = TRUE THEN etaj_curent = 6; END_IF; IF etaj7 = TRUE THEN etaj_curent = 7; END_IF; IF etaj8 = TRUE THEN etaj_curent = 8;

70

probl8

77 END_IF; IF etaj9 = TRUE THEN etaj_curent = 9; END_IF;

Problema 8 Controlul unui lift

IF etaj10 = TRUE THEN etaj_curent = 10; END_IF;

Program Principal

Observaii: S-a ales soluia folosirii unui program ciclic n seciunea Begin deoarece starea butoanelor i etajul unde se afl liftul trebuie actualizate la fiecare ciclu automat pentru a putea controla corect liftul. ncercarea de a nu folosi un program ciclic i de a testa starea butoanelor i a senzorilor ntr-un program SFC ar duce la crearea unei diagrame foarte mari i stufoase, n mod practic nici nu ar fi posibil la un numr mare de butoane i senzori ntruct mediile de programare logic permit un numr limitat de condiii de tranziie ataate unei etape.

71

probl8

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

78

Propunere: n cazul n care ar exista un buton de urgen n interiorul liftului, s se modifice programul astfel nct liftul s se opreasc la apsarea acestuia, miscarea fiind reluat la apsarea oricrui buton de comand micare.

72

probl9

Problema 9: Detectarea bagajelor care conin metale


1. Descrierea procesului Elementele sistemului de condus sunt: o band transportoare acionat de un motor (MT) cu un singur sens de rotaie pe care sunt transportate bagaje ntr-un aeroport; o barier comandat de un motor cu dou sensuri de rotaie Msus, Mjos, avnd limitatoare de curs lsus i ljos; un senzor de prezen bagaje s, activ ct timp n dreptul su se gsete un bagaj; un detector de metal d, activ dac bagajul din dreptul senzorului s conine obiecte de metal.

Fig. 9.1. Detectarea bagajelor care conin metale

Aplicaia are ca scop detectarea automat si evacuarea manual a bagajelor care conin metal. Iniial, bariera este ridicat. Pornirea benzii transportoare se face prin apsarea unui buton B. Atunci cnd un bagaj apare n dreptul senzorului s, bariera trebuie s coboare. Bariera se va ridica atunci cnd bagajul dispare din dreptul senzorului s. Dac n timp ce se afl n dreptul senzorului s, se activeaz senzorul d, banda va fi oprit i se ateapt ca bagajul s fie preluat de pe band pentru a reporni banda i a ridica bariera. Dac timp de 2 minute nu apare nici un bagaj n dreptul senzorului s, banda va fi oprit iar repornirea se va face de la buton.

73

probl9

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

80

Elemente de execuie: motorul benzii transportoare motorul barierei Elemente de msur: dou limitatoare de curs un senzor de prezen un detector de metal 2. Soluia de automatizare Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-a dezvoltat un proiect ISaGRAF ce cuprinde dou programe conform figurii 9.2.

Fig.9.2. Structura proiectului ISaGRAF

Dicionarul de variabile globale: Variabile de intrare booleene: o s: senzor de prezen bagaje o d: senzor detecie metal o lsus: limitator de curs sus o ljos: limitator de curs jos o B: buton de pornire Variabile de ieire booleene: o MT: comand banda transportoare o Msus: comand bariera sus o Mjos: comand bariera jos

74

probl9

81

Problema 9 Detectarea bagajelor care conin metale

Variabil intern de tip boolean: o var1: necesar funciei REDGE Program bariera:

75

probl9

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

82

Program banda:

76

probl9

83

Problema 9 Detectarea bagajelor care conin metale

Observaii: Se observ ca testarea impulsului de la butonul B este facut folosind funcia REDGE, deoarece trebuie depistat tranziia strii butonului i nu starea lui la un moment dat S-au folosit 2 programe ce ruleaz n paralel ntruct bariera i banda transportoare funcioneaz independent i nu pot fi gestionate in aceeai diagram Propuneri: S se construiasc diagrama Ladder care simuleaz acest proiect ISaGraf

77

probl10

Problema 10: Sortarea a patru tipuri de piese


1. Descrierea sistemului i a procesului Componentele sistemului sunt: un motor al benzii transportoare; un senzor prezen pies (pentru detecie); un cititor cod bare cu ieire pe doi bii; 4 senzori de prezen pies n dreptul clapetelor; 4 clapete comandate digital (cu delay); un buton pornire band.

Fig.10.1. Sortarea a patru tipuri de piese

Scopul aplicaiei este de a sorta 4 tipuri de piese care vin pe o band transportoare. Iniial pe band nu se afl nici o pies iar banda este oprit. Aplicaia pornete prin apsarea butonului. Cnd o pies ajunge n dreptul senzorului de prezen pentru detecie, tipul ei este determinat de ctre cititorul de bare i transmis prin 2 bii de date. Atunci cnd o pies ajunge n dreptul clapetei corespunztoare tipului su (ex. pies de tip 1 n dreptul clapetei 1), banda transportoare trebuie oprit iar piesa evacuat prin deschiderea i nchiderea clapetei. Comanda clapetei se face printr-o singur comand digital, care trebuie meninut o perioad de 5 secunde pentru a asigura deschiderea respectiv nchiderea clapetei. Elemente de execuie: motorul benzii transportoare cele 4 clapete Elemente de msur: un dispozitiv de identificare pies

78

probl10

85

Problema 10 Sortarea a patru tipuri de piese

5 senzori de prezen pies 1 buton

2. Soluia de automatizare Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart pentru care se dezvolt un proiect ISaGRAF, ce cuprinde 5 programe n seciunea sequential, aa cum este prezentat i n figura 10.2.

Fig.10.2. Structura proiectului ISaGRAF

Dicionarul de variabile globale: Variabile de intrare booleene: o s_global: ataat senzorului de prezen din poziia de identificare; o d1: prima linie de la dispozitivul de identificare; o d2: a doua linie de la dispozitivul de identificare; o s1, s2, s3, s4: ataate senzorilor de prezen o buton: ataat butonului Variabile de ieire booleene: o MT: comand banda transportoare; o C1, C2, C3, C4: comand deschiderea/ nchiderea clapetelor; Variabile interne booleene: o vint, vint1, vint2, vint3, vint4: folosite de funciile REDGE

79

probl10

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

86

Variabile timer: o const: tclapeta = t#2s; Variabile interne de tip integer: o variabile: rez, tip1, tip2, tip3, index1, index2, index3, index_cit1, index_cit2, index_cit3, tip_citit1, tip_citit2, tip_citit3 o constante: sir1=1; sir2=2; sir3=3;

80

probl10

87

Problema 10 Sortarea a patru tipuri de piese

Program identif:

81

probl10

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

88

Program Clapeta1:

82

probl10

89

Problema 10 Sortarea a patru tipuri de piese

Program clapeta2:

83

probl10

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

90

Program clapeta3:

84

probl10

91

Problema 10 Sortarea a patru tipuri de piese

Program clapeta4:

Observaii: Soluia adoptat pentru a putea determina exact ce tip de pies ajunge n dreptul senzorilor a fost de a crea 3 iruri de numere ntregi, pentru primele 3 clapete (pentru a patra nu mai este necesar deoarece aici nu pot ajunge dect piese de tipul 4). Fiecare ir este modificat cnd o pies ajunge n dreptul senzorului de prezen anterior. Exist cte o variabil index asociat fiecarui ir care indic prime poziie liber din ir. irurile sunt de tip FIFO, tipul piesei care se gsete in dreptul unui senzor este citit ntotdeauna de pe

85

probl10

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

92

prima poziie a irului asociat. n cazul n care tipul piesei nu corespunde locaiei, valoarea este scoas din irul respectiv (prin shiftarea irului) i introdus n prima poziie liber din irul asociat clapetei urmtoare. Propuneri: S se modifice programul pentru situaia n care nu mai exist senzori de prezen n dreptul clapetelor, cunoscndu-se ns viteza benzii transportoare i distanele ntre poziia de identificare i cele 4 clapete.

86

probl11

Problema 11: Umplerea automat a unor containere


1.Descrierea procesului Aplicaia const n umplerea cu lichid a 3 containere (A, B, C) i evacuarea lor pe o band transportoare. Umplerea containerelor trebuie fcut n urmtoarea manier: - containerul A: 5 secunde cu lichid de tip A; - containerul B: 7 secunde cu lichid de tip A i 7 secunde cu lichid de tip B; - containerul C: 3 secunde cu lichid de tip C, 5 secunde cu lichid de tip B i 8 secunde cu lichid de tip A.

Fig.11.1. Umplerea automat a unor containere

n cadrul sistemului exist o band transportoare 1 pe care vin, unul dup altul, cele trei containere A, B, C. Primul dintre ele care ajunge la platform este containerul C, apoi B i ultimul cel de tip A. Cilindrul E este responsabil cu evacuarea recipienilor cu ajutorul celei de-a doua benzi transportoare. Iniierea procesului se face prin pornirea benzii transportoare 1 pe care sunt aduse containerele. n momentul n care un container de tip C se gsete pe platform, banda 1 va fi oprit iar cilindrul D va avansa o poziie.

87

probl11

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

94

Cnd containerul C activeaz detectorul 2, banda 1 va fi din nou activat iar cilindrul D va fi oprit; banda 1 se va opri din nou cnd containerul B ajunge la platform i n consecin cilindrul D va avansa din nou pn cnd containerul C activeaz detectorul 3 iar containerul B activeaz detectorul 2. n acest moment banda 1 este repornit pn cnd containerul A atinge platforma, moment n care banda este oprit. n acel moment cele trei valve vor fi deschise simultan, fiecare fiind meninut deschis un anumit timp, astfel nct contaienrul A se va umple cu lichid A timp de 5 secunde, containerul B cu lichid de tip B timp de 7 secunde iar containerul C timp de 3 secunde cu lichid de tip C. Cnd toate aceste temporizri au expirat, valvele vor fi nchise, cilindrul E va avansa pentru a evacua containerul A pn activeaz detectorul 4. n acest moment cilindrul E se retrage. Dup ce a ajuns n poziia de retragere, cilindrul D va fi retras pn activeaz detectoarele 1 i 2. Apoi containerele B i C vor fi umplute cu lichid de tip A, respectiv B, dup care urmeaz evacuarea containerului B. n final containerul C va fi umplut cu lichid de tip A i va fi evacuat. Dup evacuare cilindrul D va fi retras i un nou ciclu poate ncepe. Elemente de execuie: 3 electrovalve; 2 cilindri cu dublu efect; 2 motoare ale benzilor transportoare. Elemente de msur: 4 detectoare de poziie. 2. Soluia de automatizare Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-a dezvoltat un proiect ISaGRAF ce cuprinde un program principal. Dicionarul de variabile globale: Variabile de intrare booleene: o poz_A: detectorul de poziie A; o poz_B: detectorul de poziie B; o poz_C: detectorul de poziie C; o lim_4: limitatorul de avans al cilindrului E. Variabile de ieire booleene: o banda_1: activare / dezactivare banda 1;

88

probl11

95

Problema 11- Umplerea automat a unor containere

o banda_2: activare / dezactivare banda 2; o D_avans: avans cilindru D; o D_retragere: retragere cilindru D; o E_avans: avans cilindru E; o E_retragere: retragere cilindru E; o valva_A: comanda de deschidere/nchidere valva A; o valva_B: comanda de deschidere/nchidere valva B o valva_C: comanda de deschidere/nchidere valva C; Constante de tip Timer: o TA_container_1: perioada de timp pentru umplerea containerului 1 cu lichid de tip A o TB_container_2: perioada de timp pentru umplerea containerului 2 cu lichid de tip B o TC_container_3: perioada de timp pentru umplerea containerului 3 cu lichid de tip C o TA_container_2: perioada de timp pentru umplerea containerului 2 cu lichid de tip A o TB_container_3: perioada de timp pentru umplerea containerului 3 cu lichid de tip B o TA_container_3: perioada de timp pentru umplerea containerului 3 cu lichid de tip A

89

probl11

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

96

Programul main:

90

probl11

97

Problema 11- Umplerea automat a unor containere

91

probl11

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

98

92

probl11

99

Problema 11- Umplerea automat a unor containere

Observaii: n cadrul secvenelor de deschidere a valvelor, temporizrile au fost implementate prin testarea permanent a parametrului GSxxx.t asociat unei etape. Acest parametru indic timpul de cnd o etap este activ. O alt variant era folosirea unor variabile de tip Timer. Umplerea containerelor este facut n paralel cu ajutorul paralelismului diagramelor SFC.

93

probl12

Problema 12: Controlul unor ui automate aflate la intrarea ntr-o incint


1. Descrierea aplicaiei Elementele sistemului de controlat sunt: dou ui, fiecare dintre ele micat cu ajutorul a cte dou motoare cu dou sensuri de rotaie (micare stnga dreapta pentru fiecare u); cte doi senzori de capt cursa (deschis nchis) pentru fiecare u; un senzor de prezen persoan n dreptul uii.

Fig.12.1. Controlul unor ui automate aflate la intrarea ntr-o incint

Funcionarea dorit a sistemului este: iniial uile sunt nchise. Dac o persoan apare n dreptul uilor, uile vor ncepe s se deschid. Micarea de deschidere este meninut att timp ct, pentru fiecare u n parte, senzorul respectiv de deshidere este inactiv. Dac ambele ui sunt deschise i nu mai exist nicio persoan n dreptul uii timp de 2 secunde, uile ncep simultan s se nchid. nchiderea uilor se oprete cnd ambele ajung la capt de curs sau apare o persoan n dreptul uilor, n timp ce acestea se nchideau. Ele i vor opri nchiderea i vor ncepe s se deschid.

94

probl12

101

Problema 12 Controlul unor ui automate aflate la intrarea ntr-o incint

Elemente de execuie: Cele 4 motoare ale uilor. Elemente de msur: 4 limitatoare de curs; un senzor de prezen persoan. 2. Soluia de automatizare Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-a dezvoltat un proiect ISaGRAF ce cuprinde un program principal n seciunea Sequential vezi fig. 12.2.

Fig.12.2.Structura proiectului ISaGRAF

Dicionarul de variabile globale: Variabile de intrare booleene: o prezenta: senzorul de prezen persoan; o l1_deschis: limitatorul de u 1 deschis; o l1_inchis: limitatorul de u 1 nchis; o l2_inchis: limitatorul de u 2 deschis; o l2_deschis: limitatorul de u 2 nchis. Variabile de ieire booleene: o m1_deschidere: comanda de deschidere u 1; o m1_inchidere: comanda de nchidere u 1; o m2_deschidere: comanda de deschidere u 2; o m2_inchidere: comanda de nchidere u 2.

95

probl12

AUTOMATE PROGRAMABILE - NDRUMAR DE LABORATOR

102

Program main:

96

probl12

103

Problema 12 Controlul unor ui automate aflate la intrarea ntr-o incint

Observaii: nchiderea i deschiderea uilor trebuie facut neaprat intr-un paralelism deoarece aciunile ncep n acelai moment, se desfoar independent, dar procesul poate continua numai dup ce ambele secvene s-au ncheiat. Etapa 2, aparent inutil deoarece nu are aciuni asociate, a fost introdus pentru a putea intra n paralelismul de deschidere a uilor atunci cnd condiia 5 devine adevarat.

97

probl13

Problema 13: Sortarea a dou tipuri de piese pe o band transportoare


1. Descrierea instalaiei i a procesului Elementele sistemului sunt: o band transportoare acionat de un motor cu un singur sens de rotaie; 3 senzori de prezen pies; 1 senzor de detecie tip pies (activ = piesa de tip 1, inactiv = piesa de tip 2); 2 pistoane care pot avansa i se pot retrage; 4 limitatoare de curs, cte 2 pentru fiecare piston.

Fig. 13.1. Sortarea a dou tipuri de piese

Pe o band transportoare vin piese de dou tipuri. Iniial pe band nu se afl nicio pies iar pistoanele sunt retrase. Banda transportoare trebuie pornit o dat cu aplicaia. Dac o pies ajunge n dreptul senzorului de prezen s0, banda trebuie oprit iar dup o secund de ateptare pentru stabilizarea valorii semnalului senzorului de detecie tip pies, piesa poate fi identificat. Semnalul senzorului de identificare este valid numai cnd o pies se gsete n dreptul lui s0. Dup identificarea piesei banda va reporni. Se presupune c doar dou piese pot exista n poriunea de band de sortare, astfel nct dac o a treia pies apare n dreptul lui s0 n timp ce piesele anterioare sunt nc neevacuate, banda se va opri, va fi activat o

98

probl13

105

Problema 13 Sortarea a dou tipuri de piese pe o band transportoare

alarm iar aplicaia se va relua prin apsarea i ridicarea unui buton special de reset. O pies va fi evacuat dac ajunge n dreptul senzorului corespunztor tipului su. Evacuarea unei piese ncepe prin oprirea benzii, apoi pistonul respectiv avanseaz i se retrage. Dup ncheierea retragerii pistonului, banda va fi repornit.
Elemente de execuie: un motor cu un singur sens de rotaie ce acioneaz banda transportoare; dou pistoane care pot avansa i se pot retrage; un dispozitiv de semnalizare n caz de eroare. Senzori i elemente de masur: 3 senzori de prezen pies; 4 limitatoare de curs pentru pistoane; un dispozitiv de identificare tip pies; un buton de reset.

2. Soluia de automatizare Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-a dezvoltat un proiect ISaGRAF ce cuprinde trei programe n seciunea Sequential conform figurii 13.2.

Fig. 13.2. Structura proiectului ISaGRAF

Dicionarul de variabile globale: Variabile de intrare booleene: o tip: semnal de la dispozitivul de identificare;

99

probl13

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

106

o o o o o o o o

prezenta: semnalul de la senzorul de prezen din postul de identificare pies; s1: semnalul senzorului din poziia 1; s2: semnalul senzorului din poziia 2; l1_avans: semnalul limitatorului de avans al pistonului 1; l2_avans: semnalul limitatorului de avans al pistonului 2; l1_retragere: semnalul limitatorului de retragere al pistonului 1; l2_retragere: semnalul limitatorului de retragere al pistonului 2; reset: semnalul de la butonul de reset.

Variabile de ieire booleene: o mt: comanda de pornire/ oprire a motorului benzii transportoare; o P1_avans: comand avans piston 1; o P1_retragere: comand retragere piston 1; o P2_avans: comand avans piston 2; o P2_retragere: comand retragere piston 2; o eroare: comanda semnalului de eroare. Variabile interne ntregi: o v1: folosit pentru memorarea tipului primei piese ce urmeaz a fi evacuat de ctre pistonul 1; o v2: folosit pentru memorarea tipului celei de-a doua piese ce urmeaz a fi evacuat de ctre pistonul 1; o index: conine numrul de piese aflate pe band nainte de poziia 1; o nr_piese: conine numrul de piese aflate pe band n drum ctre poziiile de evacuare.

Variabile interne booleene: o vprez: necesar funciei REDGE; o vres: necesar funciei FEDGE;

100

probl13

107

Problema 13 Sortarea a dou tipuri de piese pe o band transportoare

Program piston1

101

probl13

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

108

Program piston2:

102

probl13

109

Problema 13 Sortarea a dou tipuri de piese pe o band transportoare

Program Identif:

Observaii: Pentru a determina corect tipul piesei care ajunge n dreptul pistonului 1, au fost folosite 3 variabile: index, v1 i v2;

103

probl13

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

110

n programul Identif se observ folosirea funciei FEDGE, necesar determinrii momentul cnd variabila reset trece din TRUE n FALSE (corespunde ridicrii butonul dup ce a fost apsat).

Propuneri: S se modifice programul pentru situaia n care numrul de piese permis pe band este oarecare n;

104

probl14

Problema 14: Procesul de coacere al biscuiilor


1. Descrierea instalaiei i a procesului Elementele care compun instalaia sunt: un cuptor de ardere coninnd: o un traductor de temperatur ce transmite un semnal analogic n gama 420 mA, corespunztor unei game de temperaturi ntre 0500C; o un injector de gaz, comandat digital (pornete i oprete flacra); o banda transportoare o un senzor prezen biscuit, activ att timp ct prin dreptul su trece un biscuit; un senzor de apreciere calitate biscuit, activ doar dac biscuitul este rebut; o un macaz care direcioneaz biscuiii, comandat simplu digital (inactiv traseu biscuit bun, activ traseu biscuit rebut);

Fig.14.1. Cuptor de ardere

Iniial banda transportoare trebuie pornit. Pe ea vin biscuii. n interiorul cuptorului temperatura trebuie meninut ntre dou valori Tmin (230C) i Tmax (290C). n momentul n care un biscuit trece de senzorul de prezen, trebuie testat calitatea lui. Dac este rebut, macazul va trece pe traseul rebut pentru un timp de 5 secunde. Dac vin mai mult de 5 biscuii rebut consecutiv, prima dat se shifteaz domeniul de temperatur cu 10% (se crete Tmin i

105

probl14

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

112

Tmax cu 10%) dac se mai ntmpl i dup aceasta, banda transportoare va fi oprit i tot procesul se va relua doar la apsarea unui buton de repornire. La fel i dac temperatura scade sub Tmin_abs (180C). 2. Soluia de automatizare Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-a dezvoltat un proiect ISaGRAF ce cuprinde un program printe i dou programe fiu (biscuit i temper) n seciunea Sequential, plus un program ciclic n seciunea Begin ce realizeaz conversia din uniti CAN n uniti de msur inginereti.

Fig.14.2. Structura proiectului ISaGRAF

Dicionarul de variabile globale: Variabile de intrare booleene: o buton: atasata butonului de repornire ciclu o s0: atasata senzorului de prezen o inspectie: atasata senzorului de inspecie biscuii Variabile de ieire booleene: o MT: comanda motorului benzii transportoare o Injector: comanda injectorului o Macaz: comanda macazului Variabile de intrare analogice o Tempcit: ataat traductorului de temperatur

106

probl14

113

Problema 14 - Procesul de coacere al biscuiilor

Variabile interne booleene o Eroare: True dac de 2 ori consecutiv vin 5 bisucii rebut o Vint: necesar funciei FEDGE Variabile interne analogice o Temp: valoarea curent a temperaturii, in grade o Tmin, Tmax: valorile limit ale gamei de temperatur o const Tmin_abs = 180

107

probl14

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

114

Program main:

Program temper:

108

probl14

115

Problema 14 - Procesul de coacere al biscuiilor

Program biscuit:

Program convers: temp:= tempcit *100/ 4096

109

probl14

AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

116

Observaii: S-a ales soluia unui proiect cu un program printe i doi fii deoarece programele trebuie oprite n cazul apariiei unui anumit eveniment (aici temperatura < temeperatura minim absolut), indiferent ce etape sunt active la momentul respectiv. O alt soluie, mult mai neelegant i care ar complica diagramele foarte mult, ar fi testarea evenimentului n toate etapele unui diagrame SFC. Testarea faptului c o serie de 5 biscuii rebut apare de 2 ori la rind s- fcut prin gestionarea unei singure variabile booleene, eroare. S-a folosit funia FEDGE (Falling Edge Detection) deoarece trebuie testat tranziia strii senzorului s0 din activ n inactiv.

110