Sunteți pe pagina 1din 15

AUTOMATE PROGRAMABILE vol.

Startul unei reţele are loc la bara de alimentare stângă. Fiecare reţea se închide utilizând un obiect de tip
bobină. Unele editoare permit poziţionarea bobinele direct la linia de alimentare dreaptă. Se pot realiza
ieşiri paralele.
Fiecare element al limbajului are deasupra sa o variabilă de adresă directă sau simbolică.
Intrările într-un program în limbajul LAD sunt: întreruptoare, butoane, contacte ale bobinelor de ieşire,
contacte ale releelor interne. Reprezentarea tipică pe care o recomandăm pentru oricare intrare este de
tip XIC (eXamine If Closed). Pentru a lămuri reprezentarea XIC a contactelor normal deschise şi normal
închise să examinăm circuitul hardware din fig. II.8a. și programul în limbajul LAD, care dă aceleaşi
rezultate reprezentat în fig. II.7b.

C
BP BO BP BO C

a. b.

Fig. II.8. Reprezentarea XIC


Se observă că cele două butoane se reprezintă prin acelaşi obiect LAD (contact normal deschis). Aceasta
deoarece starea normală a unui contact nu are importanţă. Ceea ce are importanţă este că pentru a
alimenta ieşirea cele două contacte trebuie să fie închise. Atragem atenția asupra acestui aspect, care
cu alte cuvinte, însemnă că fiecare contact trebuie interpretat ca un simbol.
Butoanele de mai sus reprezintă intrări în automat şi cu ajutorul lor se poate porni sau opri orice element
de acţionare. În cadrul programelor de automatizare trebuie prevăzut un buton de oprire de urgenţă (ES),
care trebuie să realizeze oprirea tuturor elementelor de acţionare şi în special a elementelor în mişcare.
ES este numit Ciupercă de avarie și este un contact normal închis. Dacă acest buton este legat la o intrare
a automatului, o funcţionare incorectă a automatului va conduce la imposibilitatea opririi elementelor în
mişcare. Dacă,însă butonul este montat pe circuitele de ieşire ale automatului, ca în fig. II.9 atunci el îşi
va efectua funcţia.

61
AUTOMATE PROGRAMABILE vol. I

Ieşiri - RT

AP Q1
ES

1 35
Q1
246

Fig. II.9. Locul butonului de oprire de urgență (ES)

II.4.2. OBIECTELE LIMBAJULUI


Componentele grafice de bază ale limbajului LAD sunt prezentate în fig. II.10. Un program cu simboluri
de bază este un program LAD pur. În afara acestor simboluri mai pot apărea într-o reţea LAD şi o serie
de blocuri, care realizează funcţii mai complexe (numărătoare, timere), operaţii matematice sau logice,
comparaţii sau deplasări. Contactele şi bobinele sunt conectate la barele de alimentare prin linii orizontale
şi verticale. Fiecare segment al unei linii poate avea starea TRUE sau FALSE. Starea booleană a
segmentelor legate împreună este aceeaşi. Orice linie orizontală legată la bara de alimentare stângă se
află în starea TRUE. Deasupra simbolului grafic se află variabila asociată acestuia. Fiecărui element i se
asociază un identificator, adică o adresă absolută sau simbolică, care poate fi o variabilă de intrare, de
ieșire sau internă.
Contactele modelează contactele aparatelor electrice de comutație. Acestea pot avea două stări:
alimentate sau nealimentate. Contactele de bază sunt: Contactul direct, contactul inversat, contacte de
sesizare a frontului crescător sau descrescător.
Contactul direct (fig. II.10 a) realizează o operaţie booleană între starea legăturii stângi şi variabila
booleană asociată. Starea legăturii drepte este obţinută printr-un AND logic între starea legăturii stângi
şi valoarea variabilei asociate contactului.

62
AUTOMATE PROGRAMABILE vol. I

Variabilă asociată
contactului

%I0.0 %I0.3
P N
a. b. c. d.
Linie de conexiune Linie de conexiune
stângă dreaptă
%Q0.0
S R

e. f. g. h.

Fig. II.10. Obiecte ale limbajului LAD


Contactul inversat (fig. II.10 b) realizează o operaţie booleană între starea legăturii stângi şi negaţia
variabilei booleene asociate. Starea legăturii drepte este obţinută printr-un AND logic între starea
legăturii stângi şi valoarea negată a variabilei asociate contactului.
Contactul de sesizare a frontului crescător (fig. II.10 c) realizează o operaţie booleană între starea
legăturii stângi şi frontul crescător al variabilei booleene asociate. Starea legăturii drepte este setată în
TRUE atunci când starea legăturii stângi este TRUE şi variabila asociată contactului trece din FALSE în
TRUE. Starea este FALSE în oricare alt caz. Starea legăturii stângi rămâne valabilă un singur ciclu la
apariția frontului crescător (TC).
Contactul de sesizare a frontului descrescător (fig. II.10 d) realizează o operaţie booleană între starea
legăturii stângi şi frontul descrescător al variabilei booleene asociate. Starea legăturii drepte este setată
în TRUE atunci când starea legăturii stângi este TRUE şi variabila asociată contactului trece din TRUE
în FALSE. Starea este FALSE în oricare alt caz.
Dacă un front crescător sau descrescător a fost detectat într-un ciclu, acesta va rămâne detectat un singur
ciclu (fig. II.11).

%I0.0

TC
%I0.0
P
TC
%I0.0
N

Fig. II.11. Contactele de detectare a frontului crescător și descrescător și diagrama de semnale


În fig. II.12 este reprezentat contactul de sesizare a frontului crescător și descrescător în Step 7 Manager.

63
AUTOMATE PROGRAMABILE vol. I

Semnal Semnal
scanat scanat
<adresa 1> <adresa 1>

POS NEG
Q Q

<adresa 2> M_BIT <adresa 2> M_BIT


Ieșire care este Ieșire care este
Retine 1, un ciclu la Retine 1, un ciclu la
starea front pozitiv starea front negativ
anterioară anterioară

Fig. II.12. Sesizarea fronturilor în Step 7 manager


Bobinele din LAD modelează bobinele releelor. Acestea pot avea două stări: alimentate sau nealimentate.
Bobinele de bază sunt: bobina directă, bobina inversă, bobinele de setare şi resetare.
Bobina directă (fig. II.10 e) realizează o asociere între o variabilă de ieşire booleană şi starea legăturii
stângi. La unele implementări starea legăturii stângi se propagă spre legătura dreaptă şi se pot conecta
mai multe bobine în serie. La alte implementări, pentru a conecta mai multe bobine trebuie realizată o
derivaţie. Legătura dreaptă se consideră legată la bara de alimentare sau este efectiv legată.
Bobina inversă (fig. II.10 f) realizează o asociere între o variabilă de ieşire booleană şi starea negată a
legăturii stângi. La unele implementări starea legăturii stângi se propagă spre legătura dreaptă şi se pot
conecta mai multe bobine în serie. La alte implementări nu există acest tip de bobină.
Bobina de setare (fig. II.10 g) realizează o setare a variabilei de ieşire asociate atunci când starea legăturii
devine TRUE. Valoarea variabilei rămâne TRUE până când o instrucţiune inversă, de resetare, se aplică
aceleiaşi variabile.
Bobina de resetare (fig. II.10 h) realizează o resetare a variabilei de ieşire asociate atunci când starea
legăturii stângi devine TRUE. Valoarea variabilei rămâne FALSE până când o instrucţiune inversă, de
setare, se aplică aceleiaşi variabile.
Etichete, salturi necondiţionate şi condiţionate. Într-un program LAD se pot utiliza etichete, salturi
condiţionate şi necondiţionate pentru a controla execuţia programului. Eticheta se pune pe bara de
alimentare stângă sau într-o reţea separată. Primitivele (obiectele grafice) utilizate sunt diferite, în funcţie
de implementarea limbajului.
Așa cum am mai arătat majoritatea mediilor de programare au posibilitatea de a converti un program
LAD într-unul STL şi invers. Aceasta poartă numele de reversibilitate. În esenţă, reversibilitatea arată
că, indiferent de limbajul în care este scris, un program (LAD sau STL), el va fi memorat sub formă STL.
Unele medii de programare au și alte reprezentări pentru contacte și bobine. Ele pot fi ușor utilizate
datorită modului sugestiv în care sunt reprezentate și a indicațiilor din meniurile de ajutor și din
manualele de utilizare.

64
AUTOMATE PROGRAMABILE vol. I

II.4.3. UTILIZAREA RELEELOR INTERNE


În LAD se pot folosi adrese ale variabilelor de memorie internă, atât pentru obiectele de ieşire cât şi
pentru obiectele de intrare. Dacă este vorba de obiecte de ieşire acestea se mai numesc şi relee interne.
Aşa cum am arătat mai sus releele interne nu există în realitate, dar pot fi tratate în acelaşi mod ca releele
reale din punct de vedere al programării. Releele interne pot avea la rândul lor contacte, care au acelaşi
nume, în cadrul programului. Activarea bobinei unui releu intern are ca efect închiderea/deschiderea
acestor contacte.
II.4.4. NUMĂRĂTOARE (CONTOARE)
Numărătoarele modelează contoarele din schemele electrice furnizând ieșiri, care arată că au avut loc un
număr de evenimente, de obicei fronturi crescătore/descrescătoare ale unor semnale conectate la intrări.
Fiecare contor are un identificator unic, modul de identificare depinde de la un producător la altul, o
intrare de validare (la activarea cărei numărătorul începe să numere impulsurile), una sau mai multe
intrări de numărare și o intrare de setare a valorii prestabilite pentru numărul de impulsuri care determină
semnalul de ieșire. Unele numărătoare au o ieșire suplimentară de unde se poate citi numărul curent de
impulsuri primite (valoarea curentă). Numărul de evenimente de pe intrare este comparat cu valoarea
presetată (PV) și în funcție de rezultat se pot lua anumite decizii.
Un programator are la dispoziţie în toate mediile de programare de cel puțin 3 tipuri de contoare:
Contoare de tip CTU (CounT Up. Un contor de acest tip are, în general, trei intrări: o intrare de numărare
directă (CU), o intrare pentru setarea caracteristicii funcţiei ieşire dependentă de numărul de impulsuri
(PV) şi o intrare de resetare (R). Sunt disponibile două ieşiri: una care reprezintă funcţia booleană
dependentă de impulsuri (Q) şi una care este o funcţie continuă (CV) şi reprezintă valoarea curentă din
contor. Orice impuls primit pe intrarea CU determină creşterea conţinutului numărătorului. Atât timp cât
numărul de impulsuri de pe intrarea CU, este mai mic decât valoarea PV, ieşirea Q este 0. După ce
numărul de impulsuri primite este mai mare sau egal cu PV, Q devine 1. Există implementări şi denumiri
diferite ale acestui tip de contor pentru diferiţi furnizori de AP. La unii furnizori, pe intrarea CU trebuie
să se prevadă un bloc de sesizare a frontului. La alţi furnizori cele două ieşiri sunt interpretate, în funcţie
de context ca fiind valoarea booleană sau valoarea curentă. Simbolul acestui tip de contor şi diagrama de
semnale pentru un contor CTU este prezentată în fig. II.13.
Contoarele de tip CTD (CounT Down). Un contor de acest tip are, în general, trei intrări: o intrare de
numărare inversă (CD), intrare pentru setarea caracteristicii funcţiei ieşire dependentă de numărul de
impulsuri (PV) şi o intrare de încărcare (LD). Sunt disponibile două ieşiri: una care reprezintă funcţia
booleană dependentă de impulsuri (Q) şi una care este o funcţie continuă (CV) şi reprezintă valoarea
curentă din contor. Orice impuls primit pe intrarea CD determină scăderea conţinutului numărătorului.
Atât timp cât conţinutul numărătorului, este mai mare decât 0, ieşirea Q este 0. După ce numărul de
impulsuri primite determină aducerea în zero a conţinutului numărătorului, Q devine 1. Există
implementări şi denumiri diferite ale acestui tip de contor pentru diferiţi furnizori de AP. La unii
furnizori, pe intrarea CD trebuie să se prevadă un bloc de sesizare a frontului. La alţi furnizori cele două
ieşiri sunt interpretate, în funcţie de context ca fiind valoarea booleană sau valoarea curentă. Simbolul
acestui tip de contor şi diagrama de semnale pentru un contor CTU este prezentată în fig. II.14.

65
AUTOMATE PROGRAMABILE vol. I

CU

Contor CTU presetat cu 4


CV
CTU
CU
Q
R
CV Q
PV

1 2 3 4 5 6 7 8 9 timp

Fig. II.13. Simbolul și diagramele de timp pentru un contor CU

CD

LD Contor înapoi presetat cu 4

CTD
CD
Q CV
LD
CV 4
3
PV 2
1

1 2 3 4 5 6 7 8 9 timp

Fig. II.14. Simbolul și diagramele de timp pentru un contor CD


Contoarele de tip CTUD (CounT Up-Down). Acest tip de contor are caracteristicile celor două contoare
prezentate mai sus. Un contor de acest tip are, în general, cinci intrări: o intrare de numărare directă (CU),
o intrare de numărare inversă (CD), o intrare de resetare (R), o intrare de încărcare (LD) şi intrare pentru
setarea caracteristicii funcţiei ieşire dependentă de numărul de impulsuri (PV). Sunt disponibile trei ieşiri:
una care reprezintă funcţia booleană pentru numărarea directă (QU), una care reprezintă funcţia booleană
pentru numărarea inversă (QU) şi una care este o funcţie continuă (CV) şi reprezintă valoarea curentă
din contor. În diagrama de semnale din fig. II. 15, care este alcătuită pentru contorul de tip CTUD,
semnalul LD încarcă contorul cu numărul întreg 4, care este egal cu constanta PV. Corespunzător, ieşirea
QU trece în 1 logic. Aceasta va rămâne aşa dacă sosesc impulsuri pe CU, valoarea CV rămânând egală
cu PV. La fiecare impuls care vine pe intrarea CD, conţinutul contorului scade cu o unitate. Imediat ce
conţinutul contorului CV devine mai mic decât PV, ieşirea QU trece în 0 logic. Dacă continuă să sosească
impulsuri pe intrarea CD, conţinutul contorului va continua să scadă. La atingerea valorii zero, ieşirea
66
AUTOMATE PROGRAMABILE vol. I

QD va trece în 0 logic. Conţinutul contorului rămâne 0, iar ieşirea QD rămâne 1 logic chiar dacă continuă
să vină impulsuri pe CD. Dacă semnalul de intrare R devine activ, indiferent ce se întâmplă pe celelalte
intrări, conţinutul numărătorului devine 0 şi semnalul QD trece în 1 logic.

LD

CD Contor CTU presetat cu 4

CU

CV
CTUD
CU
CD QU
R QD QU
LD CV
PV QD

1 2 3 4 5 6 7 8 9 101112131415161718 timp

Fig. II.15. Simbolul și diagramele de timp pentru un contor CTUD


Există numărătoare care primesc impulsurile de numărare pe aceeași intrare și numără crescător sau
descrescător în funcție de o intrare numită direcție (automatul LOGO!) sau în funcție de un bit special
de memorie, asociat numărătorului (automatele Mitsubishi, Wecon etc.).
Contoarele de mare viteză au un identificator unic și, în funcție de acesta, se leagă la diferite intrări.
Legarea contoarelor de mare viteză nu se face efectiv în program. În cadrul programului se realizează
instrucțiunile de setare, de preluare a valorii acestora și de luarea deciziilor în funcție de acestea.
II.4.5. TEMPORIZATOARE
Temporizatoarele modelează releele de timp și contactele temporizate furnizând ieșiri ce modelează
acțiuni întârziate sau care durează un anumit timp. În LAD se folosesc temporizatoare cu funcții mai
complexe decât temporizatoarele utilizate în schemele electrice.
Fiecare temporizator trebuie să aibă un identificator unic (modul de identificare depinde de la producător
la producător), o intrare de validare la activarea căreia pornește temporizatorul, o intrare de setare a
timpului prestabilit și o ieșire care să devină activă la executarea funcției. Unele temporizatoare au o
ieșire suplimentară de unde se poate citi timpul scurs de la validarea acestora. Temporizatoarele sunt de
fapt numărătoare, care primesc impulsuri de la generatoare interne cu mai multe perioade. Unii
producători perioada impulsurilor este dependentă de identificatorul unic. Acest lucru este precizat în
manualul de programare. În cazul în care baza de timp este omisă atunci ea este, conform IEE 61131-3,

67
AUTOMATE PROGRAMABILE vol. I

de o milisecundă. Un programator are la dispoziţie în toate mediile de programare de cel puțin 3 tipuri
de contoare:
Temporizatoare de tip TON (Timer ON-delay). Acesta este cel mai folosit tip de temporizator. Un
temporizator de acest tip are, în general, trei intrări: o intrare de validare (IN), o intrare pentru setarea
caracteristicii funcţiei de timp (TP) şi o intrare de resetare (R). Sunt disponibile două ieşiri, una care
reprezintă funcţia booleană de timp (Q) şi una care este o funcţie continuă (TS) şi reprezintă timpul scurs
de la validarea intrării. Simbolul acestui tip de temporizator şi diagrama de timp sunt prezentate în fig.
II.16. Din diagramă se observă că un astfel de temporizator aşteaptă TP secunde de la activarea intrării
de validare înainte de a trece în1 logic ieşirea Q. La dispariţia semnalului de validare Q devine 0.
Dacă intrarea de validare nu este în unu un timp mai mare ca TP, atunci ieşirea Q nu este trecută în 1
logic. Intrarea de reset are ca efect anularea ieşirii, indiferent de intrarea de validare. Există implementări
şi denumiri diferite ale acestui tip de temporizator pentru diferiţi furnizori de AP.
Temporizatoare de tip TOFF (Timer OFF-delay). Şi acest tip de temporizator are trei intrări: o intrare de
validare (IN), o intrare pentru setarea caracteristicii funcţiei de timp (TP) şi o intrare de resetare (R). Sunt
disponibile două ieşiri, una care reprezintă funcţia booleană de timp (Q) şi una care este o funcţie continuă
(TS) şi reprezintă timpul scurs de la validarea intrării. Simbolul acestui tip de temporizator şi diagrama
de timp sunt prezentate în fig. II.17. Din diagramă se observă că un astfel de temporizator este exact
opusul lui TON, descris mai sus. După activarea intrării de validare, se trece în unu ieşirea Q, iar după
trecerea în zero a intrării de validare aşteaptă TP secunde şi apoi anulează ieşirea Q. La dispariţia
semnalului de validare dacă nu s-a scurs timpul TP şi a apărut un nou semnal pe intrarea de validare, Q
rămâne în unu, până este îndeplinită condiţia de anulare a ieşirii, măsurată de la frontul negativ al intrării
de validare. Intrarea de reset are ca efect anularea ieşirii, indiferent de intrarea de validare. Există
implementări şi denumiri diferite ale acestui tip de temporizator pentru diferiţi furnizori de AP. Totuşi
trebuie remarcat că un astfel de temporizator este mai rar folosit.
Temporizatoare de tip TP (Timer Pulse). Şi acest tip de temporizator are, în general, trei intrări: o intrare
de validare (IN), o intrare pentru setarea caracteristicii funcţiei de timp (TP) şi o intrare de resetare (R).
Sunt disponibile două ieşiri, una care reprezintă funcţia booleană de timp (Q) şi una care este o funcţie
continuă (TS) şi reprezintă timpul scurs de la validarea intrării. Simbolul acestui tip de temporizator şi
diagrama de timp sunt prezentate în fig. II.18. Din diagramă se observă că un astfel de temporizator îşi
trece în unu ieşirea Q şi aşteaptă TP secunde de la activarea intrării de validare înainte de a trece în zero
ieşirea Q, indiferent ce se întâmplă pe intrarea de validare în acest timp. Intrarea de reset are ca efect
anularea ieşirii, indiferent de intrarea de validare. Există implementări şi denumiri diferite ale acestui tip
de temporizator pentru diferiți furnizori de AP.
Pentru fiecare din tipurile de mai sus, unele medii de programare, implementează temporizatoare multi-
instanță. Spre deosebire de cele obișnuite, în structura de implementare, sunt rezervate locații de
memorie statice, care permit apelarea acestora în mai multe proceduri fără a afecta valorile valorilor
variabilelor interne și ieșirilor.

68
AUTOMATE PROGRAMABILE vol. I

IN

Q
TON
IN TP
Q TS
TP
TS TP
R
R

timp

Fig. II.16. Temporizator TON

IN

Q
TOFF
IN TP
Q TS
TP
TS TP
R
R

timp

Fig. II.17. Temporizator TOFF

IN

Q
TP
IN TP TP
Q TS
TP
TS TP
R
R

timp

Fig. II.18. Temporizator TP

69
AUTOMATE PROGRAMABILE vol. I

II.4.6. BLOCURI FUNCȚIONALE


Blocurile funcționale din LAD implementează software funcții complexe cum sunt: funcții de încărcare,
funcții aritmetice, care operează cu numere întregi sau reale, funcții de conversie a informației în diferite
formate, funcții de tratare a întreruperilor, funcții de detectare a fronturilor crescătoare/descrescătoare,
funcții de comparare etc.
Alte blocuri funcționale folosite în limbajul LAD sunt:
Blocuri de realizare a tamburelor (Drum controller). Acestea sunt blocuri cu ajutorul cărora se poate
realiza o succesiune simplă de evenimente la ieșirile automatului, care trebuie să aibă loc într-un interval
de timp stabilit (Time based) sau ca urmare a unor evenimente (Event based). Tamburul imită un
generator de secvență cu tambur mecanic. Un tambur poate avea mai mulți pași (Steps) sau etape. Fiecare
pas poate fi executat un număr de unități din timpul de bază (setabil). În cadrul fiecărui pas se pot genera
una sau mai multe ieșiri.
Blocuri de lucru cu fișiere.
Blocuri de reglare (PID).
Blocuri FOR-NEXT.
Blocuri de control (JMP. LABEL, RET).
De obicei, modul de reprezentare diferă de la producător la producător, iar IEE 61131-3 încearcă să
standardizeze aceste blocuri.
II.4.7. LIMITĂRI (RESTRICȚII) ÎN PROGRAMELE LAD
În programele LAD sunt două feluri de restricții: limitări legate de formatul programului și limitări care
se referă la modul de execuție.
Limitările legate de formatul programului sunt:
Limitarea 1. O rețea trebuie să înceapă cu un contact (o intrare) și să se termine cu o bobină (o ieșire).
Termenul de intrare este utilizat pentru a senzori utilizaţi pentru controlul acţiunilor, de exemplu
contactele unui buton. Se permite să fie utilizat ca început de reţea şi un contact reprezentând o variabilă
internă. Soluţia, care se recomandă în cazurile în care nu este posibil acest lucru este folosirea unor biţi
speciali de memorie, care sunt întotdeauna 1, sau crearea unui releu intern, care este întotdeauna
nealimentat şi folosirea unui contact normal închis al acestuia pentru a începe o reţea.
Limitarea 2. Contactele și bobinele trebuie plasate pe orizontală.
Limitarea 3. Numărul de contacte pe o linie este limitat.
Limitarea 4. Un grup de contacte poate alimenta o singură bobină.
Limitarea 5. O intrare individuală poate fi folosită de câte ori este necesar.
Limitarea 6. Biții de memorie pot fi reprezentați ca relee interne sau contacte.
Limitarea 7. Într-un program LAD nu este permis fluxul de putere în sens invers, spre bara de alimentare
stângă. De exemplu nu este permisă o rețea de tipul celei din fig. II.19, ea trebuie să arate ca in fig. II.
20, pentru a fi corectă și pentru a îndeplini funcția pe care a gândit-o programatorul.

70
AUTOMATE PROGRAMABILE vol. I

A B C

D E

Fig. II.19. Flux de putere spre stânga interzis


A B C

D E

F D B C

F E

Fig. II.20. Rețea corectă pentru cea din fig. II19.


In ceea ce privește execuția sunt respectate următoarele reguli:
Regula 1. Un program LAD este alcătuit din mai multe rețele de tipul celei din fig. II.7.
Regula 2. Odată ce a fost evaluată rețeaua nu mai este evaluată până la următoarea parcurgere a ciclului.
Referindu-ne la fig. II.7, dacă contactul %I0.0 este închis tensiunea barei de alimentare drepte se
consideră aplicată în punctul în care este conectată intrarea contactului %I0.2, iar dacă şi %I0.2 este
închis atunci tensiunea barei de alimentare stângi se aplică bobinei %Q0.0, care se va găsi acum în
situaţia că este conectată la sursă.
Regula 3. O ieșire sau un releu intern, utilizat ca ieșire, poate să apară o singură dată.
Regula 4. Valorile cu memorie își mențin valoarea după un ciclu de conectare-deconectare-conectare la
sursa de alimentare, iar valorile fără memorie iau valoarea zero după un astfel de ciclu. În majoritatea
cazurilor de automate programabile doar bobinele, temporizatoarele și unele contoare sunt cu memorie.
Pentru revenirea la starea inițială este necesar ca aceste elemente să fie resetate, de o altă instrucțiune, în
cazul bobinelor sau de o intrare, în cazul temporizatoarelor și contoarelor.
Regula 5. Execuţia unui program se face de sus în jos, iar reţea este executată de la stânga la dreapta.
Cele mai multe persoane, începători în programarea în limbajul LAD, interpretează afirmaţia făcută mai
sus că un program în limbajul LAD se execută de sus în jos şi de la stânga la dreapta ca o execuţie de
tip sincron, care presupune că toate releele operează deodată, în locul execuţiei asincrone, care presupune
că fiecare releu operează atunci când primeşte semnalul. Este adevărat că valorile văzute din exterior ale
71
AUTOMATE PROGRAMABILE vol. I

variabilelor de ieşire sunt transmise deodată în faza ciclului numită PIOT (Process Image Output Table),
dar valorile cu care se operează în interiorul fazei de procesare a programului trebuie să ţină seama de
execuţia asincronă.
După câştigarea unei experienţe programatorii încep să înţeleagă ce este o execuţie asincronă şi cum
poate fi folosită aceasta în avantajul programării.
Vom vedea, în cele ce urmează câteva secvenţe de program, care să ilustreze afirmaţia de mai sus şi care
să contribuie la o mai bună înţelegere a modului de programare în limbajul LAD.
Trebuie subliniat că ordinea reţelelor în aceste exemple este critică. Dacă reţelele sunt rearanjate într-o
altă ordine, este probabil că aceste programe nu operează corect.
Este indicat să ne concentrăm nu asupra memorării exemplelor ci mai mult asupra principiilor (cum
lucrează astfel de secvenţe de programe) şi asupra modului în care pot fi utilizate pentru rezolvarea unor
probleme de programare.
Să examinăm pentru început un oscilator, realizat în LAD. Un oscilator, în lumea programatorilor în
limbajul LAD, este o bobină (un releu intern) care îi schimbă starea (din OFF în ON şi invers) la fiecare
ciclu. Un oscilator poate fi folosit într-un program LAD sau hibrid, pentru a conduce diferite blocuri de
funcţii secvenţiale, controlate de generatoare de tact. Utilizând aceste generatoare de tact se pot realiza
programe, care să controleze automatizări complexe pe principiul proiectării automatelor sincrone.
Să analizăm reţeaua din fig. II.21. Acest program conţine o singură reţea cu un releu intern RI1. Un
contact normal închis al acestuia alimentează bobina.

RI1 RI1

Fig. II.21. Oscilator


În faza de actualizare a intrărilor nu se va actualiza nimic din acest program deoarece releele interne nu
sunt accesibile din exterior. După faza de actualizare automatul va trece la procesarea programului. Se
va analiza contactul RI1 şi va trebui, pentru a rezolva această problemă, să determine dacă bobina este
alimentată sau nu. Fiind vorba de primul ciclu, bobina nu este alimentată şi ca urmare contactul normal
închis RI1 este închis. Datorită acestui fapt bobina va fi alimentată. Apoi programul pe automat va ajunge
din nou în faza de actualizare pentru a efectua al doilea ciclu. În acest ciclu bobina este alimentată,
contactul RI1 este deschis şi ca urmare, bobina îşi va pierde alimentarea. La următorul ciclu ne vom afla
în situaţia de la primul ciclu. Ca urmare bobina va trece din starea ON în starea OFF, la fiecare ciclu, atât
timp cât automatul va funcţiona.
Se poate realiza, într-un mod asemănător, un generator de impuls singular (one shot). Generarea unui
impuls singular se poate face cu programul din fig. II.22.

72
AUTOMATE PROGRAMABILE vol. I

RI2 RI1

RI1 RI2

RI2

Fig. II.22. Generator de impuls singular


Programul are două relee interne. Dacă se analizează prima reţea se vede că, datorită faptului că toate
bobinele nu sunt alimentate, la primul ciclu, contactul normal închis al bobinei RI2 va realiza alimentarea
bobinei releului RI1. La execuţia celei de a doua reţele, contactul normal deschis al bobinei RI1 fiind
închis (bobina a fost alimentată la executarea primei reţele) va alimenta bobina RI2. care prin contactul
RI2 se va auto-reţine. În al doilea ciclu contactul normal închis RI2 va fi deschis, deoarece bobina RI2 a
fost alimentată la ciclul precedent. Ca urmare bobina RI1 îşi va pierde alimentarea. Ea va rămâne
nealimentată toate ciclurile automatului, care urmează. S-a realizat posibilitatea creării unui impuls
singular care are loc în primul ciclu de durată egală cu timpul de ciclu.
Foarte multe firme livrează automate programabile, care au biţi de memorie, care reprezintă generatore
de impulsuri de diferite frecvenţe şi chiar un generator de tip one shot. De exemplu bitul special de
memorie SM0.1 de la automatele SIEMENS din seria S7 2xx este ieşirea unui generator de tip one shot.
Acest tip de impuls prezintă o mare importanţa, aşa după cum vom arăta mai jos, în proiectarea
programelor cu metoda activării şi dezactivării sincrone.
Bistabilul RS este cel mai important tip de bistabil şi în acelaşi timp şi cel mai utilizat. În mediile de
programare se foloseşte bistabilul R-S, ceea ce înseamnă că intrarea R este dominantă sau bistabilul S-R
cu intrarea S dominantă. În fig. II.23 este arătat programul LAD, care realizează un bistabil R-S cu
intrarea R dominantă.

IN1 IN2 RI1

RI1

Fig. II.23. Bistabil R-S


Dacă intrarea IN1 este în starea ON şi IN2 este în starea OFF atunci bobina IR1 va fi alimentată. Odată
alimentat IR1, contactul său IR1 se va închide, iar bobina releului IR1 va rămâne alimentată. Se poate
vedea uşor că IN1 este intrarea S, iar IN2 este intrarea R.
În general numărul obiectelor, care apare în IEE 61131-3 este mult mai mic decât cel oferit de
producători. Scopul este de a oferi automate mai bine adaptate la scopurile care și le propun utilizatorii
și constituie un criteriu important pentru alegerea unui anume tip de automat. Totuși studiul standardului
este recomandat deoarece permite o realizare cu ușurință a programelor cu foarte puține probleme de
adaptare, puternic sprijinite de manuale de programare care însoțesc ale mediilor de programare.
73
AUTOMATE PROGRAMABILE vol. I

II.4.8. STUDII DE CAZ


Studiul 1. Controlul unei bariere.
Pentru o ilustrare a modului de utilizare a acestor relee să considerăm următoarea situaţie: Fie un sistem
de deschidere a unei bariere (fig. II.24) care să se deschidă atunci când cineva se apropie de aceasta din
orice parte. Bariera este acţionată de un motor electric M, acţionat de un contactor (K), pentru deschidere
şi de o contra greutate (CG) pentru închidere. I1 şi I2 sunt senzori fotoelectrici de prezență în fața și în
spatele barierei, iar I4 este un contact de validare a sistemului. Dacă I1 sau I2 şi I4 sunt 1 și contactul de
validare este activat, atunci un releu intermediar M va fi activat. Contactul lui se va închide şi dacă bariera
nu este deschisă se va alimenta contactorul K, care este legat de o variabilă de ieşire, care va deschide
bariera. Când va ajunge la limita de cursă contactorul va pierde alimentarea şi bariera se va închide sub
acţiunea contragreutăţii. Dacă în timpul închiderii se va apropia ceva de baieră, acesta va fi din nou
acţionată la deschidere. În cadrul programului se vor folosi numele simbolice din fig. II.23,
presupunându-se că variabilele sunt astfel declarate.

I1
I3
T B
K

M I2
CG

Fig. II.24. Deschiderea/închiderea unei bariere


Programul în limbaj LAD este prezentat în fig. II.25.
I1 I4 M1

I2

M1 I3 K

Fig. II.25. Programul de control al barierei


Studiul 2. Utilizarea releelor interne pentru circuite de zăvorâre.
O altă utilizare a releelor interne este pentru deblocarea unor circuite de zăvorâre. Figura II.26 ilustrează
o astfel de utilizare
Când I1 se va închide se va alimenta bobina O1. Contactul normal deschis al acestei bobine va menţine
alimentarea bobinei O1 chiar dacă I1 se va deschide. Când I2 se va închide se va alimenta bobina releului
intern M1.

74
AUTOMATE PROGRAMABILE vol. I

Aceasta are ca efect deschiderea contactului să normal închis din circuitul de blocare şi alimentarea lui
O1 va înceta
I1 O1

O1 M1

I2 M1

Fig. II.26. Programe de blocare/deblocare


Studiul 3.Comanda unui sistem de transport piese.
Un sistem de transport este alcătuit dintr-o bandă transportoare antrenată de un motor electric, alimentat
prin intermediul unui contactor (K). Dacă o piesă este încărcată pe bandă într-o poziţie corectă şi se apasă
un buton de pornire(BP), banda va trebui să transporte piesa către un container. Căderea piesei în
container este sesizată de o barieră luminoasă (BL) care furnizează un semnal logic egal cu 1 la căderea
piesei. Acest semnal trebuie să oprească mişcarea benzii.
Se va folosi un contact normal închis al barierei luminoase (BL) sau dacă acesta nu există se va crea o
reţea suplimentară cu un releu intern (RI) alimentat de la bariera luminoasă. Cele două variante sunt
reprezentate în fig. II.27 de mai jos.
BP BL K BP RI K

K K

BL RI

Fig. II.27. Soluţia problemei studiului de caz 3


Studiul 4.Comanda unui sistem de eliminare de pe bandă a unor motoare defecte.
Un fabricant de motoare mici cu ardere internă constată la verificarea finală că unele motoare nu
funcţionează. Motorul la care se constată defectul trebuie scos de pe linie şi trecut într-o zonă în care se
repară acest defect. Dacă operatorul liniei se constată un defect va introduce un bolţ într-un orificiu al
conteinerului care transportă motorul. Dacă un traductor de proximitate (TP) va constata prezenţa
bolţului programul de pe automat va trebui să activeze un cilindru hidraulic cu piston care să scoată
motorul în staţia de reparare.

75

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