Sunteți pe pagina 1din 110

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


Bibliografie 117


cuprins
2
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 ntr-
unul 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
3
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
4
Mediul de programare ISaGRAF

11

Constantele de tip ntreg sunt reprezentate pe 32 de bii, avnd
valorile cuprinse ntre -2
32
i 2
32
. 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
5
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
6
Mediul de programare ISaGRAF

13



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
7
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
8
Mediul de programare ISaGRAF

15

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
9
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 ;
cap1
10
Mediul de programare ISaGRAF

17

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.

cap1
11
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

cap1
12
Mediul de programare ISaGRAF

19

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

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

cap1
14
Mediul de programare ISaGRAF

21



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.

cap1
15
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

cap1
16
Mediul de programare ISaGRAF

23

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

cap1
18
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.
probl1
19
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.






probl1
20
Problema 1- Controlul unei macarale

27
Program main:



probl1
21
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 Adres intern Ieire fizic Adres intern
Pornire I:1/1 M1S O:3/1
l1 I:1/2 M1D O:3/2
l2 I:1/3 M2S O:3/3
l3 I:1/4 M2J O:3/4
l4 I:1/5

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

Tabelul 1.2.
Etapa Adresa bit Temporizare Fiier de timer
1 B3/1 Temporizare 1 T4:0
2 B3/2
3 B3/3
4 B3/4
5 B3/5
6 B3/6
7 B3/7
8 B3/8

Diagrama Ladder este prezentat n continuare:

probl1
22
Problema 1- Controlul unei macarale

29

probl1
23
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
30

probl1
24
Problema 1- Controlul unei macarale

31


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

probl1
25
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
probl2
26
Problema 2 - Comanda micrii oscilatorie a unui mobil

33

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.







probl2
27
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR


34



Program main:





probl2
28
Problema 2 - Comanda micrii oscilatorie a unui mobil

35

Program osc:






probl2
29
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 s-
ar 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.




probl2
30
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
probl3
31
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

probl3
32
Problema 3 Detecia i expulzarea sticlelor fr dop
39

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;



probl3
33
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
40

Programul Main:


probl3
34
Problema 3 Detecia i expulzarea sticlelor fr dop
41
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.






probl3
35
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
probl4
36
Problema 4 Staie automat de splat autovehicule
43
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;
probl4
37
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
44
o foto_2: fotocelula postului 2;
o foto_3: fotocelula postului 3;
o foto_4: 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.
























probl4
38
Problema 4 Staie automat de splat autovehicule
45

Program bariera:



probl4
39
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
46


Program start:


Program Post1:




probl4
40
Problema 4 Staie automat de splat autovehicule
47

Program Post2:



Program Post3:



Program Post4:


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

probl4
42
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


probl5
43
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
probl5
44
Problema 5 - Elevator clasificator de pachete
51
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.
probl5
45
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
52
Program banda_0:




















probl5
46
Problema 5 - Elevator clasificator de pachete
53
Program banda_1:














probl5
47
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
54


Program Cilin_A


Program Cilin_B







probl5
48
Problema 5 - Elevator clasificator de pachete
55




Program Cilin_C:










probl5
49
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.
probl5
50
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
probl6
51
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.
probl6
52
Problema 6 Dozare i malaxare automat
59


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.






probl6
53
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
60
Programul Main:


probl6
54
Problema 6 Dozare i malaxare automat
61







probl6
55
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 Adres intern Ieire fizic Adres intern
START I:1/1 Valva_A O:3/1
A I:1/2 Valva_B O:3/2
B I:1/3 Valva_C O:3/3
Z I:1/4 Mt O:3/4
lim_dreapta I:1/5 Rotire O:3/5
d I:1/6 Pit_dreapta O:3/6
lim_stanga I:1/7 Pit_stanga 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 Adresa bit Temporizare Fiier de timer
1 B3/1 Temporizare 1 T4:0
2 B3/2
3 B3/3
4 B3/4
5 B3/5
6 B3/6
7 B3/7
8 B3/8
9 B3/9
102 B3/10
103 B3/11
104 B3/12
105 B3/13

Diagrama Ladder este prezentat n continuare:



probl6
56
Problema 6 Dozare i malaxare automat
63

probl6
57
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
64

probl6
58
Problema 6 Dozare i malaxare automat
65

probl6
59
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
66

probl6
60
Problema 6 Dozare i malaxare automat
67
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).
probl6
61
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;
probl7
62
Problema 7 Umplerea astuparea automat a sticlelor

69
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.
probl7
63
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





probl7
64
Problema 7 Umplerea astuparea automat a sticlelor

71
Programul main:


probl7
65
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR

72



probl7
66
Problema 7 Umplerea astuparea automat a sticlelor

73

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

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

probl8
68
Problema 8 Controlul unui lift

75


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










probl8
69
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;
probl8
70
Problema 8 Controlul unui lift

77
END_IF;
IF etaj9 = TRUE THEN
etaj_curent = 9;
END_IF;
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.



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














probl8
72
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.
probl9
73
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

probl9
74
Problema 9 Detectarea bagajelor care conin metale
81
Variabil intern de tip boolean:
o var1: necesar funciei REDGE

Program bariera:


probl9
75
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR 82


Program banda:





probl9
76
Problema 9 Detectarea bagajelor care conin metale
83


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

probl9
77
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
probl10
78
Problema 10 Sortarea a patru tipuri de piese
85
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

probl10
79
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;

































probl10
80
Problema 10 Sortarea a patru tipuri de piese
87
Program identif:






probl10
81
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
88
Program Clapeta1:








probl10
82
Problema 10 Sortarea a patru tipuri de piese
89
Program clapeta2:







probl10
83
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
90
Program clapeta3:






probl10
84
Problema 10 Sortarea a patru tipuri de piese
91
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
probl10
85
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.


probl10
86
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.
probl11
87
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;
probl11
88
Problema 11- Umplerea automat a unor containere
95
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




















probl11
89
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
96
Programul main:



probl11
90
Problema 11- Umplerea automat a unor containere
97

probl11
91
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
98

probl11
92
Problema 11- Umplerea automat a unor containere
99



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.


probl11
93
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.
probl12
94
Problema 12 Controlul unor ui automate aflate la intrarea ntr-o incint
101

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.


probl12
95
AUTOMATE PROGRAMABILE - NDRUMAR DE LABORATOR
102
Program main:


probl12
96
Problema 12 Controlul unor ui automate aflate la intrarea ntr-o incint
103
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.


probl12
97
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
probl13
98
Problema 13 Sortarea a dou tipuri de piese pe o band transportoare
105
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;
probl13
99
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR 106
o prezenta: semnalul de la senzorul de prezen din postul de
identificare pies;
o s1: semnalul senzorului din poziia 1;
o s2: semnalul senzorului din poziia 2;
o l1_avans: semnalul limitatorului de avans al pistonului 1;
o l2_avans: semnalul limitatorului de avans al pistonului 2;
o l1_retragere: semnalul limitatorului de retragere al pistonului 1;
o l2_retragere: semnalul limitatorului de retragere al pistonului 2;
o 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;











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

Program piston1


probl13
101
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR 108

Program piston2:




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

Program Identif:



Observaii:
Pentru a determina corect tipul piesei care ajunge n dreptul
pistonului 1, au fost folosite 3 variabile: index, v1 i v2;
probl13
103
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;
probl13
104
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
probl14
105
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

probl14
106
Problema 14 - Procesul de coacere al biscuiilor 113
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

































probl14
107
AUTOMATE PROGRAMABILE NDRUMAR DE LABORATOR
114
Program main:



Program temper:



probl14
108
Problema 14 - Procesul de coacere al biscuiilor 115
Program biscuit:



Program convers:

temp:= tempcit *100/ 4096


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

probl14
110

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