Sunteți pe pagina 1din 88

1 C4-2012-13

Cu01

Automate şi microprogramare

1. Introducere

Un sistem automat (automatizat) poate fi reprezentat ca în fig.1.1, semnificaţia notaţiilor


fiind:
C
PO I PC

SA

fig.1.1 Structura unui sistem


automat
PO – partea operaţională
PC – partea de comandă
C –comenzi
I - informaţii
Structura părţii operaţionale - PO respectiv a părţii de comandă - PC se prezintă în
figura 1.2.

UP – unitatea de
prelucrare
PC PO
Di UP EA E

Tr P
Co

fig.1.2 Structură parţial detaliată a unui sistem automat


Di – unitatea de dialog cu operatorul
Co – interfaţa de comunicaţie cu alte sisteme de producţie
EA – element de acţionare
E – element de execuţie
Tr - traductor
P – procesul automatizat
Unitatea de dialog cu operatorul uman - Di este o interfaţă formată dintr-o tastatură
(completă sau simplificată) pentru introducerea datelor şi are un display de rezoluţie adecvată.
Eventual, display-ul de tip touchscreen poate prelua şi funcţiile tastaturii.
Interfaţă de comunicaţie - Co asigură transmiterea datelor şi comenzilor la si de la alte
sisteme de conducere a proceselor, cu calculatorul central, cu sistemul de achiziţie a datelor, etc.
Elementele de execuţie - E - sunt cele care fac legătura nemijlocită între UP şi proces.
Dat fiind că la ora actuală majoritatea elementelor de execuţie actuale sunt comandate electric,
având acţiune de tip electric, pneumatic, hidraulic, mecanic, putem proceda la o clasificare a
acestora, astfel:
2 C4-2012-13

- elemente de execuţie electrice cum ar fi rezistenţe electrice, motoare electrice,


electrovalve, electrovane, rezistenţe de încălzire;
- elemente de execuţie hidraulice, constituite din motoare hidraulice liniare sau rotative;
- elemente de execuţie pneumatice constituite din motoare pneumatice liniare sau
rotative.
În majoritatea cazurilor, aceste elemente de execuţie sunt comandate de elemente de
acţionare –EA- cum ar fi :
- contactoare electrice pentru motoare electrice;
- electromagneţi pentru distribuitoare pneumatice, valve electropneumatice în cazul
elementelor de execuţie pneumatice;
- electromagneţi pentru distribuitoare, supare şi regulatoare hidraulice în cazul
elementelor de de execuţie hidraulice.
Traductoarele – Tr - sunt elementele care furnizează informaţiile de reacţie din proces.
Ele detectează poziţii, nivele şi prezenţă sau absenţă pe de-o parte, respectiv măsoară anumite
mărimi caracteristice procesului automatizat cum ar fi: acceleraţii, viteze, presiuni, temperaturi,
debite, forţe, momente de torsiune, etc.
Cele mai utilizate traductoare sunt:
- detectoare de poziţie cu contacte (limitatoare) – furnizează semnal logic 0–1 de tip
contact;
- detectoare de proximitate (fără contacte) – furnizează semnal logic;
- traductoare de deplasare, care furnizează semnale analogice sau numerice;
- traductoare de nivel, presiune, debit, etc.
În ceea ce priveşte unitatea de prelucrare – UP, ea este elementul cel mai complex al
sistemului automatizat. Ea poate fi realizată sub formă rigidă sau flexibilă.
Forma rigidă a UP este constituită dintr-un circuit logic secvenţial proiectat şi realizat
pentru un anumit proces concret ce evoluează în anumite condiţii. Vorbim în acest caz despre
logică cablată.
Forma flexibilă a UP presupune utilizarea automatelor programabile (Programmable
Logic Controller - PLC) care înlocuiesc logica cablată cu cea programată.
Aceasta prezintă o multitudine de avantaje legate de folosirea unui automat programabil
pentru diferite scopuri doar prin modificarea programului şi de posibilitatea realizării unor
automatizări complexe cu sute de intrări şi sute de ieşiri (elemente comandate).
O altă categorie de unităţi de prelucrare flexibile este constituită din calculatoare de
proces care pot asigura un grad de complexitate mai mare decât cel obişnuit cu automate
programabile.
O categorie specială de unităţi de prelucrare o constituie circuitele integrate specializate,
care însă nu constituie obiectul prezentului curs.
În acest moment s-a conturat obiectul acestui curs şi anume prezentarea structurii,
funcţionării, programării şi utilizării automatelor programabile pentru automatizarea proceselor
industriale.

2. Descrierea unei automatizări

Descrierea în limbajul curent a unei automatizări se face prin caietul de sarcini al


automatizării.
Această descriere, texturală şi grafică are posibilitatea de-a pune în evidenţă cerinţele
funcţionale impuse sistemului, dar are şi o serie de limite, care rezultă după analiza procesului de
către un automatist.
Cele mai sus expuse rezultă din prezentarea unui exemplu de caiet de sarcini.
Figura aferentă acestei automatizări se prezintă în figura 1.3.
3 C4-2012-13

Descrierea textuală a automatizării este


2 1 3 următoarea:
4 7 5
6

fig.1.3 Ambutisarea unei bucăţi de tablă


1. Tabla 7 este aşezată manual de către operator pe masa 6.
2. La pornirea procesului, iniţiată prin acţionarea manuală a unui buton, talpa 1
presează tabla pe masă şi o menţine astfel.
3. Elementul 2 este apăsat pe tablă astfel încât să se producă îndoirea parţială a unei
laturi.
4. Elementul 3 este presat pe tablă astfel încât să se producă îndoirea parţială a celeilalte
laturi a tablei.
5. Elementele 2 şi 3 se retrag şi se comandă acţionarea simultană a elementelor 4 şi 5
care se vor apropia de masa 6 şi vor realiza îndoirea completă a celor două laturi ale tablei.
Caiet de sarcini urmează a fi completat cu o schemă de principiu a automatizării,
incluzând elementele de execuţie electrohidraulice şi traductoarele (senzorii).
În cazul automatizărilor complexe, caietul de sarcini devine prea sofisticat şi greoi
pentru a putea fi utilizat la realizarea programelor automatului programabil.
El este însă extrem de util pentru relaţia proiectant client pe de-o parte şi pentru
utilizarea unor mijloace simbolice sau grafice care permit exprimări clare şi concise

2.1. Clasificarea automatelor programabile

Se cunosc şi se utilizează mai multe criterii de clasificare a automatelor programabile. Dintre


acestea cele mai utilizate crieriii sunt:
- principiul constructiv
- numărul de procesoare din compunerea AP
- mărimea magistralei de date (nr, de biţi transmişi simultan pe această amgistrală)
a. După principiul constructiv deosebim :
- automate algoritmice
- automate vectoriale
Automatele programabile (AP) algoritmice se implementează cu ajutorul memoriilor
ROM sub forma unor maşini algoritmice au se realizează subforma unor structuri
microprogramate.
Caracterictica economică a acestora este că sunt rentabile în cazul seriilor mari, în timp
ce caracteristica tehnică din punctul de vedere al concepţiei şi programării necesită personal cu
calificare ridicată.
Automatele programabile vectoriale au fost concepute ca microcalculatoare specializate
destinate conceperii şi implementării prin programare a structurilor de automatizare
combinaţională şi secvenţială.
Pentru aceste AP s-au dezvoltat metode şi limbaje de programare simple, elastice
utilizabile de către personal cu calificare medie.
b. După numărul de procesoare deosebim
- automate programabile cu un singur procesor;
- automate programabile multiprocesor.
Caracteristica specifică a AP cu un singur procesor este prezenţa unei memorii tampon în
care se inmagazinează valorile semnalelor de intrare, de stare şi de ieşire ale automatului.
Această memorie constituie (se constituie ca) o imagine a procesului. Semnalele de intare se
încarcă în memoria tampon la începutul ciclului AP. Ele nu se actualizează pe parcursul unui
4 C4-2012-13

ciclu. Pe durata ciclului marimile de ieşirevor fi cele din imaginea procesului, chiar dacă între
timp mărimile de intare s-au modificat. La terminarea ciclului, ieşirile fizice sunt actualizate
corespunzător valorilor din imaginea de proces..
Conţinutul memoriei Imaginii Procesului este (poate fi) actualizat prin comenzi de
setare / resetare a ieşirilor, sau cu cu ocazia salturilor din program.
Avantajele esenţiale ale AP monoprocesor, derivând din existenţa Imaginii Procesului
sunt:
- execuţia rapidă a programului;
- posibilitatea depistării erorilor de programare prin lansarea unor rutine specifice la
sfârşitul ciclului AP
Automatele programabile multiprocesor, având clară originea denumirii, se
caracterizează prin abenţa memoriei tampon pentru Imaginea Procesului. Urmare acestui fapt
aceasta (ImPr) nu există. Din acest motiv:
- semnalele de intrare sunt citite imediat ce se citeşte în timp real imediat ce se
comandă acest lucru nu utilizează memorie pentru imaginea de proces.
- semnalele de ieşire se actualizează tot în timp real, pe durata ciclului AP.
Avantajele AP multiprocesor, derivând din actualizare în timp real a intrărilor şi ieşirilor
sunt:
- posibilitatea funcţionării simultane (în paralel) a mai multor module procesor;
- utilizarea stării curente, în timp real a a unei intrări (lucru esenţial la automatizarea
proceselor rapide)
- nu apar întârzieri determinate de timpii necesari pentru actualizarea Imaginii
Procesului
- posibilitatea obţinerii unor comutări rapide a ieşirilor, necesră în cazul utilizării unor
echipamente periferice rapide (motoare pas cu pas, numărătoare, afişaje,
multiplexoare, etc.).
c. După mărimea magistralei de date (nr, de biţi transmişi simultan pe această magistrală)
deosebim:
- automate programabile cu prelucrare la nivel de bit, caracterizate prin aceea că
magistrala de date este de 1 bit, operanzii supuşi procesării având pe cale de consecinţă
dimensiunea de 1 bit au şi ei dimensiunea de 1 bit.
- automate programabile cu prelucrare la nivel de cuvânt de n biţi, caracterizate prin
aceea că magistrala de date are dimensiunea cuvântului (n). Evident şi operanzii supuşi
procesării vor avea dimensiunea comună a cuvântuli şi magistralei.
- automate programabile mixte, prevăzute cu două unităţi de calcul şi procesare distincte
pentru 1 bit şi pentru cuvânt (n biţi).

2.2. Descrierea simbolică (grafică) a unei automatizări

Pentru descrierea unei automatizări pot fi utilizate mai multe moduri (modalităţi), dintre
care cele mai uzuale sunt:
- utilizarea ecuaţiilor logice, pentru exprimarea combinaţiilor complexe ale
variabilelor logice;
- utilizarea unor blocuri logice care implementează diferite funcţii logice;
- utilizarea unor contacte şi relee pentru descrierea şi implementarea funcţiilor logice;
- utilizarea unei metode grafice bazată pe utilizarea reţelelor Petri - GRAFCET.
Fiecare din aceste moduri se regăseşte în câte un limbaj de programare.
Este aproape unanim recunoscut faptul că metoda grafică cea mai potrivită pentru
descrierea automatizărilor secvenţiale cu automate programabile. Ea se mai numeşte şi
Sequential Function Chart şi constă în realizarea unui graf ce descrie automatizarea.
5 C4-2012-13

1 A1

1 C1

2 A2

2 C2

3 A3

3 C3

fig.1.4 Graful acţiunilor


Se utilizează 3 tipuri de astfel de grafuri şi anume:
1. Graful caietului de sarcini;
2. Graful acţiunilor (de acţionare)
3. Graful de comandă
Vizavi de cele trei tipuri de grafuri existente şi utilizate trebuie precizate următoarele:
Graful caietului de sarcini se poate elabora umai după ce a intervenit acordul dintre
beneficiarul automatizării şi realizatorul acesteia.
Ea se constituie din descrierea textuală a celor cuprinse în caietul de sarcini.

- Graful acţiunilor, este următorul în ordinea elaborării şi el este elaborat de proiectantul


automatizării atunci când se cunosc traductoarele şi elementele de execuţie. Un exemplu de graf
al acţiunilor se prezintă în figura 1.4.
- Graful de comandă se poate realiza doar atunci când pe lângă traductoare (care conform
prezentării de faţă include şi eventuale butoane de comandă) şi elemente de execuţie se cunosc şi
elementele de acţionare.
Si, Sj sunt elemente de comandă (butoane, limitatoare, etc.) care determină efectuarea tranziţiei.
Un asemenea graf are una din formele din figura 1.5 .
Este utilă observarea elementelor componente ale acestor grafuri şi anume:
a. Etapele sunt faze stabile ale execuţiei unei automatizări. Unei anumite etape i se
asociază una sau mai multe acţiuni.
b. Trecerea de la o etapă la alta se produce prin intermediul tranziţiilor. O tranziţie se
caracterizează prin condiţia (condiţiile) asociată ei.
Acestea se noteză cu Ci unde i este numărul curent al tranziţiei, înscris în stânga sa.
Traseul dintre etape, cu trecerea prin tranziţii, se simbolizează prin legături orientate (arce).
c. Acţiunile (comenzile) sunt cele ce se asociază fiecărei etape si se înscriu într-un
drepunghi plasat la dreapta tranziţiei şi legate de acesta cu o linie orizontală. Asupra modului de
înscriere a acţiunilor se va reveni în cele ce urmează.
6 C4-2012-13

La notare elementele de acţionare sau/şi execuţie, i, j şi k pot lua aceleaşi valori sau
valori diferite pentru diferite etape ale automatizării. Vorbim despre elemente de acţionare sau/şi
execuţie întrucât la ieşirea automatului programabil

1 Yi, Yj, Yk... 1 EAi, EAj, etc. ...

1 Si 1 Si

2 Yi, Yj, Yk... 2 EAi, EAj, etc. ...

2 Sj 2 Sj

3 Yi, Yj, Yk... 3 EAi, EAj, etc. ...

3 Sk 3 Sk

3 Sl 3 Sl

n Yi, Yj, Yk... n EAi, EAj, etc. ...

1 1
a fig.1.5 Graful de comandă b
a
elementul de execuţie poate fi conectat direct sau prin intermediul elementelor de
acţionare, conform schemei bloc din figura 1.6. Simbolizarea elementelor de acţionare - EA cu
linie întreruptă arată că acestea se folosesc doar când
EA0 E0 condiţiile concrete ale aplicaţiei impun aceasta
(elementele de execuţie - E nu pot fi conectate direct la
A EA1 E1 ieşirile automatului programabil – AP.).
P . .
. .
. .
EAm Em

fig.1.6 Conectarea AP la EA / E
7 C4-2012-13

Cu02

3. Automate vectoriale

Automatele programabile vectoriale sunt microcalculatoare speciale elaborate în scopul


soluţionării prin programe a problemelor de automatizări.
Structura unui automat programabil vectorial o reproduce pe cea a unui microcalculator.
În acest sens, ea are forma din figura 1.7.
Pentru abordarea funcţionării unui automat programabil vectorial simplu este necesar să
precizăm că memoria este organizată în:
- memorie de program;
Memorii

MIn UCP MOut


(procesor)

MCo MDi

fig.1.7 Structura unui AP vectorial


- memorie de date.
Întrucât odată implementate şi testate programele se menţin pentru intervale de timp
îndelungate, este recomandată înregistrarea şi păstrarea lor în memorii ROM, întrucât astfel
întreruperile accidentale ale alimentării nu afectează programul.
Memoria de date, este o memorie de tip RAM, fiind organizată în trei secţiuni şi anume:
Conform acestei structuri putem afirma că memoria de date cuprinde 3 zone esenţiale şi
anume:
- zona pentru păstrarea
Variabile de intrare I imaginii intrărilor;

Variabile interne V sau M


Variabile de iesire E sau Q

fig.1.8 Organizarea memoriei de date (RAM)


- zona pentru variabile de program şi de sistem;
- zona pentru păstrarea imaginii ieşirilor.
8 C4-2012-13

Variabilele de intrare, de ieşire şi cele interne se personalizează prin simboluri după


cum se prezintă în figura 1.8.
La calculatoarele de proces sau cele informatice (PC sau altele) programul se poate
executa în regim monotasking sau multitasking.
În cazul automatului programabil programul se execută de la început până la sfârşit,
indiferent de lungime, în trei etape şi anume:

Citirea In Procesare Actualizare Out


PIIT PP PIOT

fig.1.9 Etapele execuţiei programului în AP

PIIT (Process Image Input Table)– este faza în care se scanează intrările automatului şi
datele aferente lor (biţi) se încarcă în zona de memorie dedicată variabilelor de intrare.
PP (Program Processing) – este faza în care se execută programul încărcat în memoria
de program ROM. Dacă în aceste memorii nu este încărcat nici un program, se va executa doar o
singură instrucţiune NOP.
PIOT (Process Image Output Table) este faza in care are loc actualizarea ieşirilor
automatului programabil
Producătorul poate introduce una sau două faze suplimentare conform figurilor 1.10 şi
1.11.
IP PIIT PP PIOT

fig.1.10 Execuţia programului în AP cu o etapă


suplimentară

În figura 1.10 IP (Internal Processing) este o fază de procesare internă, în care se


realizează câteva operaţii specifice cum sunt:
- citirea stării butoanelor;
- actualizarea stării lămpilor de semnalizare;
- actualizarea timpului, etc.

IP PP PIIT PP PIOT

fig.1.11 Execuţia programului în AP cu două etape suplimentare

La tipul de ciclu prezentat în figura 1.11 este inclusă o succesiune PP - PIIT – PP în faza
de procesare. Realizatorii de automate programabile afirmă că urmare acestui fapt programarea
automatului programabil se simplifică mult.
9 C4-2012-13

3.1. Prezentarea hardware a automatului programabil

3.1.1. Interfaţa automatului programabil

L1
+24 V

... L3
Ixx I03 I02 I01 U3a
L1
Sourse
PP
Common
L2
Exx E02
E03 E01
...
U3b
(masă)
-24 V
L2

fig.3.5 Conexiunile AP la elementele de


comandă şi la cele de execuţie
10 C4-2012-13

MIn MOut
U3b
(masă)
L1 ... ... -24 V
+24 V L2

fig.3.6 Conexiunile MIn şi MOut la elementele de comandă şi la


cele de execuţie

3.2 Module de intrare şi ieşire ale AP

Legătura automatului programabil cu procesul se realizează prin intermediul modulelor


de intrare şi de ieşire. Modulele de intrare culeg informaţii din proces, sau de la butoanele de
comandă de pe panoul frontal.
Intrările unui AP sunt intrări de tip bit, care pot fi grupate în cuvinte (8 biţi) sau cuvinte
duble (2W0 – 16 biţi).
Pentru fiecare bit, AP este prevăzut cu un circuit care asigură două deziderate esenţiale
în cazul oricărui echipament destinat funcţionării în condiţii industriale:
- adaptarea semnalului de intrare;
- separarea galvanică dintre procesul automatizat şi automatul programabil.
În sensul realizării primului deziderat amintim faptul că senzorii ş traductoarele din
proces furnizează în majoritatea cazurilor semnale de tip contact. Aceeaşi este şi situaţia şi în
cazul butoanelor de pe panoul operator, altele decât cele care se manifestă prin intermediul unor
blocuri de interfaţă specializate.
În sensul celui de-al doilea deziderat modulul de intrare va cuprinde în mod obligatoriu
un optocuplor.
Vizavi de cele de mai sus, o schemă ”clasică” de modul de intrare are o schemă ca în
figura 1.12.
11 C4-2012-13

Ua
Uex
R2 R3
Yab
OC
K (Iab)
R4 Port
AP
R1 R5

Led Dz

fig.1.12 Circuitul de intrare al AP


Structura mai sus prezentată se ataşează fiecărui bit de intrare. Contactul K corespunde unei
intrări de semnal de proces. În cazul că el este închis, prin intermediul punţii redresoare PR dioda
din componenţa optocuplorului este alimentată, tranzistorul acestuia conduce la saturaţie şi borna
notată I’xy este conectată masă, (tranzistorul acestuia în stare de conducţie la saturaţie fiind
echivalent cu un contact închis înter colector şi emitor.
LED-ul semnalizează starea închis a contactului din proces monitorizat. Dioda Zener
conectată în serie cu LED-ul face ca ledul să lumineze doar când contactul Ixy este închis şi prin
dioda optocuplorului trece un curent suficient pentru a asigura conducţia la saturaţie a
tranzistorului din optocuplor.
Puntea redresoare face ca intrarea să poată fi activată indiferent de polaritatea tensiunii
Uex.
Dacă contactul Ixy(K) este deschis prin dioda optocuplorului nu trece curent, tranzistorul
este blocat, situaţie ce corespunde unui contact deschis între I’xy şi masă.
Prin urmare modulul de intrare realizează corespondente din tabelul de mai jos, în
condiţiile adaptăriişi separării galvanice dintre proces şi AP.

tabelul 3.1
K(Ixy) I’xy În ce priveşte modulele de ieşire ale AP ele trebuie să
Închis La masă (închis) asigure la rândul lor:
- separarea galvanică a AP de circuitele
Deschis Liber (deschis) elementare de execuţie;
- posibilitatea comandării unor circuite în
condiţii de tensiune şi curenţi de valori mult mai mari decât cele ce ar putea fi
suportate de AP.

Se cunosc şi se utilizează trei ti puri de ieşiri de AP:


- cu releu – figura 1.13.

E,xy Ua

A- Exy

fig.1.13 Circuitul de ieşire cu releu al AP


12 C4-2012-13

E’xy Ua E’xy Ua

A- A+
Exy

Exy

fig.1.14 Circuitul de ieşire al AP fig.1.15 Circuitul de ieşire al AP


cu tranzistor de putere npn cu tranzistor de putere pnp
- - cu tranzistor
de putere npn– figura 1.14
- cu tranzistor de putere npn– figura 1.15
- cu tiristor sau cu triac– figura 1.16.

E,xy Ua

CCG
Exy
sau
Th Tr

fig.1.16 Circuitul de ieşire al AP


cu tiristor sau triac
Circuitul cu releu se utilizează în condiţiile unor puteri mici comandate, dacă elementele
comandate lucrează la tensiuni ce ar putea fi periculoase pentru dispozitivele semiconductoare
sau în cazul în care comanda elementelor de execuţie (acţionare) se efectuează în curent
alternativ.
Circuitul cu tranzistor de putere la ieşire se utilizează în condiţiile în care elementele de execuţie
(acţionare) este comandat în curent continuu şi nu se impun precauţii referitoare la tensiuni
periculoase sau supracurenţi.
LED-ul semnalizează prin aprindere ieşirea activă (acţionată) a AP.

Circuitele din modulele de ieşire cu tiristor se utilizează în cazul în care sunt comandate
puteri mari, în condiţii de curent sau / şi tensiuni mari. CCG este un circit de comandă specific
13 C4-2012-13

comenzii tiristoarelor şi triac-urilor, a cărui structură şi funcţionare nu face obiectul acestei


prezentări.
Amplificatoarele inversoare A- şi amplificatoarele neinversoare A+ asigură comanda
completă a etajului final, realizat cu tranzistorul de putere T în conexiune Darlington şi asigură
corespondenţa:
E’xy acţionat  Exy acţionat
indiferent de tipul de ieşire cu releu sau cu transistor.

Cu03

4. Concepte fundamentale utilizate în cazul grafurilor

Aceste concepte sunt:


a) etapele – paşii – step;
b) acţiunile;
c) arcele orientate;
d) tranziţiile;
e) condiţiile tranziţiilor.
a) Etapa este substarea unui sistem în care se efectuează o acţiune. Ea se reprezintă ca în
figura 1.17 pentru etapa iniţială sau pentru etapa curentă.
În interiorul dreptunghiului ce
marchează etapa este trecut un număr
1 A1 2 A2 unic în cazul unui graf, el reprezentând
numărul etapei.

fig.1.17 Modul de asociere al acţiunilor la etapele


diagramei
La un moment dat o etapă devine activă, stare simbolizată cu un punct plasat sub
numărul înscris în interiorul dreptunghiului ce simbolizeză etapa – figura 1.18 - (putând rămâne
astfel sau nu9, în rest fiind inactivă.
Etapa iniţială este cea care este activă la începutul procesului. Celelalte etape sunt
inactive la începutul procesului.
Un proces poate avea una
sau mai multe etape iniţiale. Unei
1 A1 2 A2 anumite etape îi sunt asociate una
sau mai multe acţiuni notate Ai într-
un dreptunghi plasat pe aceeaşi
fig.1.18 Simbolizarea etapelor active orizontală cu etapa şi conectată la
ea printr-o linie orizontală.
b) Tranziţia este trecerea de la o etapă (sau mai multe) anterioare la una (sau mai multe)
ulterioare. Ea este reprezentată printr-o linie orizontală care intersectează legătura (arcul orientat)
dintre două etape consecutive.
Pentru efectuarea unei tranziţii sunt necesare două condiţii şi anume:
- toate etapele anterioare tranziţiei să fie active;
- condiţia booleană asociată tranziţiei să fie adevărată.
La stânga unei tranziţii se scrie numărul curent al tranziţiei (număr întreg) iar în dreapta
tranziţiei condiţiile necesare realizării ei.
14 C4-2012-13

Reguli de construire a unui graf (de specificare sau de implementare) a


automatizării
1. Se conectează între ele etapele şi tranziţiile cu arce orientate. Succesiunea lor este
strict alternantă şi sunt plasate pe verticală. Arcele orientate sunt linii simple pentru sensul de sus
în jos şi au săgeata pentru sensul de jos în sus, conform figurii 1,19.

i i+1
i 1

i 1
i i+1

3
j Convergenţa ŞI (AND) Divergenţa ŞI (AND)
fig.4.3
De sus în jos
j

De jos în sus
fig.1.19 Conectarea etapelor

i
i i+1

i i+1
j

Convergenţa SAU (OR) Divergenţa SAU (OR)


fig.4.4

2. Dacă mai multe etape sunt conectate la aceeaşi tranziţie, conexiunile se reprezintă ca
în figura 4.3
Etapele se conectează la o linie dublă numită convergenţă ŞI (convergenţă AND) sau
sincronizare.
3. Dacă unei tranziţii îi urmează simultan două etape distincte ele se vor conecta la o
linie dublă, numită divergenţă ŞI (divergenţă AND) sau sincronizare.
15 C4-2012-13

4. Dacă mai multe tranziţii se leagă la o singură etapă care le succede vorbim despre o
convergenţă SAU (convergenţă OR) reprezentată în figura 1.21. Convergenţa OR se reprezintă
printr-o linie orizontală simplă, care regrupează arcele.
5. Dacă mai multe tranziţii urmează unei etape, vorbim despre o degrupare a arcelor
orientate numită divergenţă SAU (divergenţă OR), reprezentată printr-o linie orizontală simplă
ca în figura 1.21.
6. Saltul condiţionat constă în evoluţia unui graf, conform figurii de mai jos.

i c.a
c.a

i+1

i+2

i+3

fig.1.22 Saltul condiţionat


în graf

Această evoluţie este de tipul prezentat în tabelul 4.1:


16 C4-2012-13

tabelul 4.1
Dacă c  a  1 (a ŞI c sunt adevărate) AP execută etapa i+1 şi apoi i+2.
Dacă c  a  1 (a este adevărată AP execută etapa i+3
ŞI c este falsă)

Cu04

Reguli de evoluţie a unui graf

R1. Etapa (Starea) iniţială

Etapa iniţială este o stare de aşteptare care este activă din momentul conectării
sistemului până la pornirea procesului. Indiferent de proces trebuie să existe o etapă (stare)
iniţială. Dacă dintr-un anume motiv nu s-a încheiat cu un ciclu complet al procesului, trebuie să
existe posibilitatea poziţionării sistemului în etapa (starea) iniţială.

R2. Validarea unei tranziţii


Fie situaţia din figura 1.23-a în care tranziţia 10 va urma după etapele 9 şi 10 conform
unei
9 10 9 10 9 10 convergenţe
AND (ŞI).

10 C10 10 C10 10 C10

11 11 11

a b c
fig.4.7 Validarea tranziţiei în cazul convergenţei ŞI (AND)
17 C4-2012-13

Tranziţia se poate valida doar dacă etapele ce o preced sunt active, aşa cum se arată în
figura 1.23- b.
Dacă nu sunt active toate etapele, (ambele în cazul nostru) validarea tranziţiei nu este
posibilă (şi deci nu se va realiza). După realizarea tranziţiei situaţia se prezintă ca în figura 1.23-
c.

R3. Evoluţia etapelor active

O tranziţie ce nu a fost validată nu poate fi realizată. Tranziţia se realizează în urma


îndeplinirii condiţiilor (C10 în cazul nostru). După efectuarea (realizarea) ei etapa(ele)
precedentă(e) se dezactivează şi se activează etapa (etapele) ce-i urmează.
9 10 9 10

10 C10 11 C10 10 C10 11 C10

11 11

12 13 12 13

a b
fig.4.8 Evoluţia simultană
R4. Evoluţia simultană

Fie două etape 10 şi 11 a căror realizare este condiţionată de acelaşi set de condiţii C10,
ca în figura 1.24 a
Ele se vor realiza simultan, situaţia imediat următoare fiind cea din figura 4.81.24b
Dacă două tranziţii succesive (preced respectiv urmează aceleiaşi etape) şi sunt
declanşate de frontul pozitiv al aceleiaşi variabile pentru efectuarea fiecăreia va fi necesar câte
un front, conform succesiunii prezentate în figura 4.9 (1.25) a, b, c.
18 C4-2012-13

10 10 10

10 C10 10 C10 10 C10

11 11 11

10 C10 10 C10 10 C10

12 12 12

a b c
fig.4.9 Tranziţii succesive care preced şi urmează aceeaşi etapă,
declanşate de frontul pozitiv al aceleiaşi variabile

C10
t
X10
t
X11
t
X12
t
a b c

fig.4.10 Diagrama temporală


a situaţiei din figura 4.9
19 C4-2012-13

R5. Activarea şi dezactivarea simultană

4 5

6 C6

fig.4.11 Activarea şi
dezactivarea simutane
Dacă în intervalul de parcurgere al unui graf, o etapă - etapa a 5-a în cazul nostru - are
îndeplinite simultan condiţiile de activare şi dezactivare, atunci etapa rămâne activă, conform
figurii 4.11
Îndeplinirea condiţiilor C6 va determina situaţia din figura 4.12.

4 5

6 C6

fig.4.12 Starea AP după


îndeplinirea condiţiei C6
20 C4-2012-13

Cu 05-Aplicaţii

Cu 06

Tipuri de acţiuni

După cum a reieşit din cele prezentate anterior, unei etape i se asociază una sau mai
multe acţiuni.
Uzual o acţiune constă în comanda unei ieşiri a sistemului automat (automat
programabil). Aceste acţiuni constituie în fapt comenzi transmise către partea comandată a
sistemului.
Se cunosc patru tipuri de acţiuni şi anume:
1. acţiuni continue (nememorate);
2. acţiuni în impuls;
3. acţiuni condiţionate;
a) simple;
b) retardate;
c) limitate în timp.
4. acţiuni memorate:
21 C4-2012-13

a) simple
b).combinate cu întârzieri

1. Acţiunile continue, nememorate, sunt acele


X5 acţiuni care devin active la activarea etapei, şi devin
inactive odată cu dezactivarea etapei respective, aşa cum
t
se prezintă în figura 1.29. Este suficientă notarea
A5 etapelor cu numere arabe, dar cu toate acestea în
t diagrame ele se notează utilizând şi litera X pentru a
fig.4.13 Diagrama temporală semnala tipul semnalului.
a acţiunii continue

2. Acţiunile în impuls se efectuează sub forma unui impuls a cărui durată este egală cu
cea a unui ciclu al AP. Acţiunea de acest tip se poate executa doar pe durata cât ciclul este activ.
3. Acţiunile condiţionate sunt cele care se pot executa numai dacă sunt active simultan
etapa şi condiţiile asociate ei.
Condiţia se va exprima deci sub forma unei expresii logice (F) între variabile de intrare.
a) Schema unei condiţionări simple se prezintă în figura 4.14 (1.30)

10 Cs Ai

i Ci

11

fig.4.14 Evoluţia stărilor AP


în cazul condiţionării simple

X10
t
F
t
Ai
t
fig.4.15 Diagrama temporală
în cazul condiţionării simple

b) Condiţionarea întârziată (retardată-delay) este cea care se produce conform


celor prezentate în figurile 4.16 şi 4.17 ( 1.31):
22 C4-2012-13

10 Cd Ai

Ci

11

fig.4.16 Evoluţia stărilor AP în cazul


condiţionării întârziate (delay)

X10
t
T
Ai
t
fig.4.17 Diagrama temporală
în cazul condiţionării întârziate (retardate)

Se observă că acţiunea Ai se activează cu o întârziere egală cu T faţă de activarea etapei


X10 şi se dezactivează odată cu dezactivarea ei.
c)
T
X10
10 CL Ai t
A6
T t
Ci
fig.4.20 Diagrama temporală în cazul
acţiunii condiţionate limitate în timp
11
c) O acţiune condiţionată limitată în
timp se caracterizează prin aceea că se activează la
activarea stării şi durează un interval de timp limitat,
fig.4.19 Evoluţia stărilor AP în cazul conform figurii 1.32.
acţiunii condiţionate limitate în timp
În grafuri, reprezentarea acţiunilor condiţionate se face prin introducerea unei etape suplimentare
a cărei realizare se produce după îndeplinirea condiţiei, după cum urmează:
23 C4-2012-13

5 5 T=3 s 6 A6 T=3 s

F t/4/3 s 6 t/6/3 s

6 A6 6 A6 7 A7

a b c
fig.4.18 Reprezentarea acţiunilor condiţionate prin introducerea unei
etape suplimentare
4a. Acţiunile memorate simple sunt acele acţiuni a căror stare odată instalată rămâne
neschimbată până în momentul când se comandă acţiunea contrară.
Astfel dacă o acţiune este setată (resetată) ea rămâne aşa până la apariţia comenzii contrare adică
resetare (setare).
Succesiunea unor etape cu acţiuni memorate se prezintă în figura 1.3

10 S A10

n R A10

fig.4.21 Evoluţia stărilor AP în


cazul acţiunii memorate simple
24 C4-2012-13

X10
t
Xn
t
A10
t
fig.4.22 Reprezentarea cu diagrame
temporale a acţiunilor memorate simple

X6
t
T
t
A6
sau t
X6
t
T
t
A6
t

fig.4.24 Reprezentarea acţiunilor întârziate


şi memorate cu diagrame temporale
25 C4-2012-13

6 T

7 t/7/T

7 S A6

fig.4.23 Evoluţia stărilor AP în cazul


acţiunii întârziate şi memorate

Unii producători utilizează pentru acţiunile memorate, două tipuri de comportament şi


anume:
4b Acţiunea memorată cu întârzieri este o combinaţie între acţiunea cu întîrziere şi cea
cu memorare simplă. În acest caz stărileautomatului se succed conform figurii 4.23. Diagramele
temporale corespunzătoare acestui tip de acţiune se prezintă în figura 4.24.

În acest caz setarea se produce dacă starea ce o va determina s-a activat şi a trecut un
interval de timp egal cu întârzierea. Acţiunea se activează chiar dacă între timp etapa a devenit
inactivă.
Lucrurile se desfăşoară conform figurii 1.35

Cu07
Macroetape (Subsisteme)

Prin definiţie macroetapa sau subprogramul este o reprezentare a unui ansamblu de


etape, tranziţii şi acţiuni.
Ea trebuie să îndeplinească următoarele reguli:
- trebuie să aibă o etapă de intrare unică. Numărul acesteia va fi acelaşi cu numărul
(de identificare) al macroetapei (fig.1.37 )
- trebuie să aibă o etapă de ieşire unică;
- etapa de intrare 21 se activează numai după efectuarea (încheierea) tranziţiei care
precede macroetapa. (2)
- etapa de ieşire a macroetapei validează (participă la validarea) etapei ce succede
subprogramului;
- tranziţiile de dinainte(amonte) şi de după (aval) subprogram sunt singurele legături
ale acestuia cu graful.
26 C4-2012-13

1
20

2
21

20

3
22

fig.1.37 Reprezentarea
unei macroetape
(subsistem)
O macroetapă (subprogram) poate fi apelată din mai multe puncte ale unui graf. La
activarea ei se va activa în fapt etapa de intrare. În continuare subprogramul se execută până la
etapa de ieşire a cărui activare determină revenirea la graful global al aplicaţiei.
Aşa cum s-a văzut în figura 1.37, reprezentarea unui subprogram se face prin dublarea
laturilor superioare şi inferioare ale dreptunghiului simbol.

Exemplul 1 – Semafoare – pg.86

O intersecţie are două direcţii, una principală şi una secundară, dirijată cu semafoare.
Date:
1. Calea principală deschisă – 3 min;
2. Calea secundară deschisă – 1 min;
3. Calea principală, stabilită de pietoni poate avea calea deschisă scurtată la 1 min (prin
buton);
4. Trecere roşu => verde – imediat;
5. Trecere verde => roşu prin galben – 10s.
Lămpile se notează:
VP – Lampă verde cale principală;
RP – Lampă roşie cale principală;
RS – Lampă roşie cale secundară;
VS – Lampă verde cale secundară.
Lămpile speciale pentru pietoni sunt conectate la R şi V atât pentru calea secundară cât
şi pentru cea principală.
Se întocmesc:
- Tabelul variabilelor de intrare;
- Tabelul variabilelor de ieşire;
- Graful automatizării;
27 C4-2012-13

- Schema de conectare a butoanelor şi lămpilor la intrările şi ieşirile automatului


programabil.

Tabelul 2
Variabilă Semnificaţie funcţie
Tip Simbol Nume
In B Buton B=1; Acţionare pietoni
pieton
Out VP Verde VP=1; Verde pe calea principală
principal
Out RP Roşu RP=1; Roşu pe calea principală
principal
Out VS
Out RS
GP Galben
principal
GS Galben
secundar

x1 1 VP; RS; T=3 min

f1 1 C1 (t/1/3min) f5 5 B1

x2 2 GP; RS; T=10 s x5 5 VP; RS; T=10 s

f2 2 C2 (T/2/10 s) f6 6 C6 (t/5/10 s)

x3 3 RP; VS; T=1 min 2

f3 3 C3 (t/3/1 min)

x4 4 RP; GS; T=10 s

f4 4 C4 (t/4/10 s)
fig.1.38 Graful automatizării din Exemplul 1

x1 1 VP; RS; T=3 min


2)

Din analiza grafului automatizării se observă că divergenţa tranziţiilor 1 şi 5 poate fi


cumulată la o singură tranziţie ce se va efectua conform unei condiţii ce se va prezenta sub forma
unei funcţii logice C1C5.
28 C4-2012-13

Astfel rezultă graful următor:


După cum se observă la această ultime
x1 1 VP; RS; T=3 min grafuri ale automatizării am reprezentat şi două
tipuri noi de mărimi şi anume:
f1 1 C1 (t/1/3min+B1)

x2 2 VP; RS; T=20 s

f2 2 C2 (T/2/20 s)

x3 3 GP; RS; T=10 s

f3 3 C3 (t/3/30 s)

x4 4 RP; VS; T=1 min

f4 4 C4 (t/4/1 min)

x5 5 RP; GS; T=10 s

f5 5 C5 (t/5/10 s)

1 VP; RS; T=3 min

fig.1.38 Graful 2 al automatizării din


Exemplul 1
- X1, X2, X3, X4, X5 – variabile (de stare) asociate etapelor 1…5.
- f1, f2, …, f5 – funcţii de parcurgere (realizare) a tranziţiilor.

Alt exemplu 2:
Ex.pg.89
Fie o bandă de umplere a bidoanelor cu ulei. Banda se alimentează cu bidoane goale,
normal, de către operator. Acesta iniţiază printr-un buton (de pornire) avansul sacadat al benzii.
Sunt posibile situaţii când lipseşte bidonul de la postul de umplere. Procesul se
desfăşoară la trei posturi de lucru automat şi un post de încărcare manual.

1. Să se plaseze senzorii necesari funcţionării sistemului de îmbuteliere;


2. Să se construiască tabelul cu variabilele de intrare şi de ieşire;
3. Să se construiască graful automatizării;
4. Să se optimizeze acest graf.
29 C4-2012-13

5. Programarea automatelor programabile vectoriale

Dată fiind tendinţa de standardizare impusă de posibilitatea utilizării facile a


automatelor programabile, producătorii consacraţi utilizează aceleaţi tipuri de instrucţiuni de
bază pe lângă care introduc şi instrucţiunile specifice, operaţii specifice.
Programarea AP şi limbajele de programare ale lor sunt reglementate standardul IEC
1131.
Normele descriu existenţa limbajelor de programare literare şi a celor grafice (conform
anumitor abordări semigrafice) limbajele literare utilizate sunt:
- IL – Instruction List (STL – Statement List);
- ST – Structured List.
Limbajele grafice sunt:
- LD – Ladder Diagram, în acest limbaj programarea se face utilizând circuite cu
contacte şi relee. Cu ajutorul acestora se sintetizează funcţiile logice aferente unei
anumite faze a programului. El operează numai cu variabile booleene.
- FBD – Function Bloc Diagram, care este o extensie – perfecţionare a limbajului LD.
El conţine pe lângă contacte şi relee şi blocuri complexe. Spre deosebire acestea
lucrează şi cu variabile de tip real.
În general conform standardului IEC 1131, programele operează cu mai multe tipuri de
date şi anume:
- booleene – BOOL;
- întregi – INT;
- cuvinte – WORD – 16 biţi;
- cuvinte duble – DWORD – 32 biţi;
- real – 32 biţi – REAL;
- şiruri de caractere – STRING;
- variabile de timp – TIM;
- variabile de date – DATE;
- tip tablou (ARRAY);
- tip structuri (STRUCT).
Pentru identificarea datelor se pot utiliza:
- adrese absolute;
- adrese simbolice.
Adresele variabilelor:
- de intrare %I …
- de ieşire %Q …
- interne %M

2. Funcţii logice digitale

← Contactele conectate în paralel sunt echivalente cu o poartă SAU


← Contactele conectate în serie sunt echivalente cu o poartă ŞI
← Contactele normal-închise sunt echivalente cu o poartă NU
← Pentru inversarea intrărilor pe porţi, se folosesc contacte normal-închis
30 C4-2012-13

← Pentru inversarea ieşirii unei funcţii logice, se folosesc relee


Funcţia logică SAU

Putem construi funcţii logice simple pentru circuitul cu lampă din secţiunea precedentă, folosind
contacte multiple. Documentarea acestor circuite se face relativ simplu prin conectarea unor linii
adiţionale diagramei iniţiale.
A B Y  A B Dacă folosim
0 0 0 notaţia binară
0 1 1 standard pentru
1 0 1 starea
1 1 1 comutatoarelor şi a lămpii (0 pentru neacţionat şi 1 pentru acţionat),
putem utiliza un tabel de adevăr pentru reprezentarea logicii
circuitului.
După cum se poate observa din diagrama ladder, lampa se va aprinde în cazul în care contactul A
este acţionat SAU contactul B este acţionat. Prin urmare, indiferent care contact se închide, A
SAU B, lampa se va aprinde.
Ceea ce am implementat de fapt în acest caz nu este altceva decât o poartă logică SAU, utilizând
două contacte normal-deschise şi o lampă.

Funcţia logică ŞI

Putem imita funcţia unei porţi logice ŞI prin conectarea celor două contacte normal-deschise în
serie şi nu în paralel.
Putem verifica cu ajutorul tabelului de adevăr că acest lucru este într-adevăr corect.
În acest
A B Y  A B caz,
0 0 0
0 1 0
1 0 0
1 1 1
lampa se va aprinde doar dacă ambele contacte sunt acţionate
simultan, adică simultan sunt acţionate contactul A ŞI contactul
B

Funcţia logică NU
31 C4-2012-13

Funcţia logică de inversare poate fi obţinută prin simpla utilizare a unui contact normal-închis,
faţă de un contact normal-deschis
precum cele folosite mai sus.

Din nou, putem verifica prin intermediul tabelului de adevăr că acest lucru este corect.

A Y  A
0 1
1 0

Funcţia logică ŞI-negat

Dacă luăm funcţia SAU prezentată mai sus şi inversăm fiecare intrare vom obţine funcţia ŞI-
negat. Intrările se inversează prin utilizarea contactelor normal-închise în loc de contacte normal-
deschise.

Lampa va fi energizată dacă unul dintre contacte nu este


acţionat, şi se va stinge doar dacă ambele contacte sunt
acţionate simultan.
A B Y  A B
0 0 1
0 1 1
1 0 1
1 1 0
32 C4-2012-13

Funcţia logică SAU-negat

Asemănător, dacă luăm funcţia ŞI implementată mai sus, şi inversăm intrările, obţinem funcţia
logică SAU-negat. Inversarea intrărilor se realizează şi în acest caz prin utilizarea contactelor
normal-închise în loc de contacte normal-deschise.

Din cele observate mai sus, putem trage unele concluzii, şi anume: contactele paralele sunt
echivalente cu o poartă logică SAU; contactele serie sunt echivalente cu
o poartă ŞI; contactele normal-închise sunt A B Y  A  B echivalente cu o
poartă NU (negare). 0 0 1
0 1 0
1 0 0
1 1 0
Funcţia logică SAU-exclusiv

Putem construi circuite logice


combinaţionale prin gruparea
contactelor în aranjamente serie-
paralel. În exemplul alăturat,
funcţia SAU-exclusiv este
construită prin combinarea porţilor
ŞI, SAU şi NU.
33 C4-2012-13

Linia de sus (contactul normal-închis A în serie


cu, contactul normal-deschis B) este echivalentă
cu partea de sus a combinaţiei de porţi logice
NU/ŞI. Linia de jos (contactul normal-deschis A
în serie cu, contactul normal-închis B) este echivalentă cu partea de jos a combinaţiei de porţi
NU/ŞI. Conexiunea în paralel a celor două linii în punctul 2, formează un circuit echivalent
SAU. Acest lucru permite energizarea
lămpii fie prin linia 1 fir prin linia 2.

Pentru realizarea funcţiei SAU-exclusiv a trebuit să folosim două contacte pe o singură intrare:
un contact pentru intrarea directă, iar celălalt contact pentru intrarea inversată. Cele două
contacte A din diagrama de mai sus sunt acţionate fizic de acelaşi mecanism. Acelaşi lucru este
valabil şi pentru contactele B. Această legătură „fizică” dintre contacte este scoasă în evidentă
prin marcarea identică a contactelor. Nu există nicio limită a numărului de contacte ce pot fi
reprezentate pe acelaşi releu. Fiecare nou contact adăugat unui releu sau unui comutator, fie că
este contact normal-închis sau normal-deschis) este reprezentat prin acelaşi simbol.

Inversarea ieşirii

Dacă dorim să inversăm ieşirea unei funcţii logice realizate cu ajutorul unui comutator, trebuie să
folosim un releu cu un contact normal-închis. De exemplu, dacă vrem să alimentăm o sarcină
bazându-ne pe negarea (funcţia NU) unui contact normal-deschis, putem realiza diagrama
alăturată.

A B Ieşire Releul este indicat pe figură prin notaţia CR1 (releu de


A CR1 Ieşire
0 0 0 control 1). Atunci când bobina releului,
0 1 1 simbolizată printr-un cerc pe prima linie, este 0 0 1
1 1 0
1 0 1 energizată, contactul de pe linia a doua se deschide.
1 1 0 Deschiderea acestui contact de-energizează lampa. De la comutatorul la bobina
CR1, funcţia logică este ne-inversată. Contactul normal-închis este
acţionat de bobina releului CR1, asigurând o funcţie logică de negare
(NU) pe lampă, inversă faţă de starea de acţionare a comutatorului (A).
34 C4-2012-13

Să aplicăm această strategie de inversare uneia dintre funcţiile cu intrare inversată realizate mai
sus. Spre exemplu, funcţia logică ŞI folosind diagrama funcţiei ŞI-negat de mai sus. Putem
inversa ieşirea cu ajutorul unui releu pentru realizarea unei funcţii ne-inversate.

A B Ieşire
0 0 0
0 1 0
1 0 0
1 1 1

De la comutator la bobina CR1, funcţia logică realizată este cea a unei porţi ŞI-negat. Contactele
CR1 normal-închise inversează şi transformă ieşirea funcţiei ŞI-negat într-o funcţie ŞI.

5.2 Proiectarea programului pentru AP

În precedentele capitole am învăţat să construim graful automatizării pentru diferite


procese simple. Trecerea de la graful automatizării la întocmirea şi programului Aautomatului
Progrmabil depinde de tipul acestuia. Mai precis este vorba de existenţa au inexistenţa
programului de consolă care să permită programarea grafică directă sau este necesară
programarea in limbaje ce necesită utilizarea PC-ului.
Normele descriu existenţa limbajelor de programare literare şi a celor grafice (conform
anumitor abordări semigrafice) limbajele literare utilizate sunt:
- IL – Instruction List (STL – Statement List);
- ST – Structured List.
Limbajele grafice sunt:
- LD – Ladder Diagram, în acest limbaj programarea se face utilizând circuite cu
contacte şi relee. Cu ajutorul acestora se sintetizează funcţiile logice aferente unei
anumite faze a programului. El operează numai cu variabile booleene.
- FBD – Function Bloc Diagram, care este o extensie – perfecţionare a limbajului LD.
El conţine pe lângă contacte şi relee şi blocuri complexe. Spre deosebire acestea
lucrează şi cu variabile de tip real.
35 C4-2012-13

Aşa cum s-a arătat după încheierea fazei de realizare a grafului automatizării urmează
transformarea acestuia într-un program care trebuie implementat în automat.
Există două situaţii:
- dacă consola AP permite programarea grafică directă, atunci operaţia se poate
efectua direct de la consola de programare;
- dacă consola AP (de fapt programul său) nu permite programarea grafică directă se
va proceda la programarea prin unul din limbajele: LAD, FBD, IL.
Indiferent de limbajul ce se va utiliza, se poate utiliza una din următoarele posibilităţi:
- metoda activării şi dezactivării sincrone;
- metoda bistabilelor RS;
- programarea directă a acţiunilor.

5.2.1 Activarea şi dezactivarea sincronă

Principiul metodei constă în utilizarea câte unei locaţii de memorie pentru fiecare din
următoarele variabile sau / şi valori ale funcţiilor logice din program, adică:
- variabilă ataşată unei etape X i xi
- funcţie de parcurgere a tranziţiei f i
- funcţie de activare a unei etape Ai
- fiecărei funcţii de dezactivare a unei etape Di
Atribuirea locaţiile de memorie şi modulul de realizare a acestei operaţii rezultă din cele
ce urmează.

Metoda activării şi dezactivării sincrone poate fi prezentată sintetic prin graful din
figura 1,39
Dacă Automatul Programabil se află
Da în ciclul 1 (Da) se procedează la introducerea
Ciclul 1? marcajului inițial. şi se efectuează saltul la
etapa Acţiuni de unde se produce revenirea la
Nu Ciclul 1 ?. Această operaţie este diferită
f i ; i  1,2,..., n pentru diferite tipuri de automate programabile
şi modalităţile comcrete se vor prezenta la
momentul oportun.
Ai ; i  1,2,..., n

X i  I0 ;
Di ; i  1,2,..., n
i  1,2,..., n

X i  Ai  Di  X i ;
i  1,2,..., n

Acţiuni

fig.1.39 Activarea şi dezactivarea


simultană
Dacă AP nu se afă în ciclul 1 (NU) evidet că suntem plasaţi pe parcursul programului şi
se procedează conform grafului din figura 1.39.
36 C4-2012-13

Pentru aceasta se parcurg următorii paşi:

1 se atribuie fiecărei etape o variabilă notată Xi după numărul etapei;


2 se atribuie fiecărei tranziţii o funcţie de parcugere a tranziţiei fi. Se determină
funcţiile de parcurgere (a tranziţiilor) corespunzătoare fiecărei tranziţii;
3 se calculează funcţiile de activare (Ac i) şi de dezactivare (Di) a fiecărei etape.
Valoarea unei variabile ataşate unei anumite relaţii este stabilită conform următoarelor
considerente:
Xi=1 dacă funcţia sa de activare este 1 SAU dacă funcţia sa de activare este 0 dar în
ciclul anterior valoarea funcţiei a fost 1.
Xi=0 dacă funcţia sa de activare este 0 ŞI valoarea ei în ciclul anterior a fost 0 SAU
dacă funcţia sa de dezactivare este 1.
Adică:
Xi  Ai  Di  Xi
Modalitatea de introducere a marcajului iniţial (în limbaj LadDer) diferă pentru diferita tipuri de
automate. În cazul automatelor Simatic (ale producătorului Siemens) unde există (memorat în
locaţia SM0.1) un bit de memorie care are valoarea 1 doar în primul ciclu.
În acest ciclu el va valida Transferul marcajului iniţial (vectorul I0) în locaţia de memorie
dedicată (MB0 în cazul Simatic), aşa cum este ilustrat în figura 1.40

SM0.1
Mov_B
En

I0 In Out MB0

Fig. 1.40
În cazul altor tipuri de automate, marcajul iniţial se plasează prin alte procedee aşa cum se va
prezenta la momentul oportun.
În continuare lucrurile decurg în următoarea succesiune:
a. Se stabilesc acţiunile corespunzătoare etapei iniţiale şi se revine la punctul de decizie IF.
Întrucât nu ne mai aflăm în ciclul 1 se scriu:
- funcţiile de parcurgere a tranziţiilor, fi, pentru fiecare etapă (şi tranziţie a grafului
automatizării)
- funcţiile de acticare a etapelor, Ai
- funcţiile de dezactivare a etapelor, Di
b. Se calculează valorile (noile valori) variabilelor asociate etapei curente, iar apoi se precizează
acţiunile corespunzătoare acesteia, conform figurii: 1.42.
Xi Ai

Fig. 1.42
O situaţie specială este aceea în care o anumită acţiune se realizează cu ocazia mai multor etape
care nusunt simultan active.
În acest caznu se vor reprezenta individual (separat) perechile etapă acţiune (fig. 1.43) ci se va
apela la o funcţie logică SAU, aşa cum se prezintă în figura 1.44.
37 C4-2012-13

253.15
Xi Ai
Mov(21)

I0

First_Scan HR00
Xi
Fig. 1.41
Fig. 1.44

Exemplu: Semaforizarea unui drum în lucru în cazurile de reparaţii de drumuri, în


situaţiile în care se efectuează lucrări pe banda de circulaţia a unui sens.

Caiet de sarcini

Circulaţia se va desfăşura pe banda pe care nu se lucrează, alternativ într-un sens sau


celălalt.
38 C4-2012-13

La pornire semafoarele corespunzătoare ambelor sensuri sunt pe roşu.


Dacă soseşte un autovehicul la unul din capete, după o aşteptare pe roşu de 5 secunde se
activează lumina verde la acel capăt … care durează 30 de secunde.
Dacă nu soseşte un autovehicul la celălalt capăt (B) această stare se menţine la capătul
B.
Dacă a sosit între timp un autovehicul, după expirarea celor 30

de secunde ambele semafoare trec pe roşu pentru 5 secunde după care semaforul de la B
trece în verde pentru 30 de secunde. La fel se întâmplă dacă autovehiculul soseşte mai târziu la
capătul B când aici semaforul indică roşu.

Starea se menţine până la sosirea unui autovehicul la capătul A. dacă există vehicule la
ambele capete secvenţele de câte 30 de secunde verde se succed alternativ. Dacă sosesc simultan
autovehicule la ambele capete prioritar este capătul A.
Sosirea autovehiculelor simultan la cele două capete determină prioritate pentru
autovehiculele de la capătul A (în sensul că semaforul acesta va trece primul pe verde) ulterior
funcţionând alternativa descrisă.
Prezenţa autovehiculelor este semnalizată de senzorii I1 şi I2 de la capete.
Sistemul se pune în funcţiune cu contactorul S0 – pornit – oprit.
Conform celor de mai sus graful automatizării este de forma:
39 C4-2012-13

1 S0

2 H3; H4

2 I1 101 I1 I2

3 T1, H3, H4 101 T1, H3, H4

3 T1 102 T1

4 T2; H1; H4 102 T2; H2; H3

4 T2 103 T2

5 H1; H4 103 H2; H3

5 S0 104
S0
I1 1040
50 I2

1 101 1 3
Fig. 1.40 – Semaforizarea unui drum în lucru

Urmând fazele descrise în figura … (IF) se fac alocările următoare de variabile pentru
etapele grafului- tabelul 5.1 şi se scriu expresiile funcţiilor de efectuare (parcurgere)a tranziţiilor-
tabelul 5.2, cele de activare a etapelor şi cele de
tabelul 5.1 dezactivare a lor-tabelul 5.3.
Variabila alocată Numărul etapei
(căreia i se alocă)
x1 1
x2 2
x3 3
x4 4
x5 5
x101 101
x102 102
x103 103
40 C4-2012-13

tabelul 5.2
Funcţia Numărul tranziţiei
(de efectuare a tranziţiei) (căreia i se alocă)
alocată
f 1  x1  SO 1
f 2  x 2  I1 2
f 3  x3  T 1 3
f4  x4  T 2 4
f 5  x5  SO 5
f 50  x5  I 2 50
f 101  x 2  I 2  I1 101
f102  x101  T 1 102
f103  x102  T 2 103
f104  x103  SO 104
f1040  x103  I 1 1040
41 C4-2012-13

tabelul 5.3
Funcţia alocată (etapei) Numărul etapei
de activare dezactivare (căreia i se alocă)
A1  f 5  f104 D1  f1 1
A2  f1 D 2  f 2  f101 2
A3  f 2  f1040 D3  f 3 3
A4  f 3 D4  f 4 4
A5  f 4 D5  f 5  f 50 5
A101  f101  f 50 D101  f 102 101
A102  f102 D102  f 103 102
A103  f 103 D103  f 104  f1040 103

Fiecăreia dintre variabile şi funcţii i se asociază câte o locaţie de memorie, întocmindu-


se cu această ocazie harta memoriei, conform tabelului 5.4..
Fiind vorba despre o memorie organizată în octeţi, locaţia de memorie se va defini sub
forma Mx,y cu semnificaţia:
x=numărul octetului în care se află locaţia;
y=numărul bitului din octet.
42 C4-2012-13

tabelul 5.4
Mxy Numărul octetului
Nr. x 0 1 2 3 4
y
bitului 0 x1 f1 f103 A102 D101

din 1 x2 f2 f104 A103 D102


2 x3 f3 A1 A104 D103
octet
3 x4 f4 A2 D1
4 x5 f5 A3 D2
5 x101 f50 A4 D3
6 x102 f101 A5 D4
7 x103 f102 A101 D5

Conexiunile hardware ale reglărilor şi butorului pornit – oprit şi lămpilor semafoarelor


se realizează conform figurii 1.45.
43 C4-2012-13

S0 I1 I2

I00 I01 I02 I03 +24 V

UQ
Q00 Q01 Q02 Q03 M

H1 H3

H2 H4

fig.1.45 Conectarea senzorilor şi lămpilor la


Automatul Programabil

Alte exemple

5.2.2 Utilizarea bistabilelor RS

Aşa cum s-a arătat, una din metodele de realizare a programelor pentru AP utilizează
blocuri realizate cu bistabile. În fapt, utilizând bistabile de tip RS vom realiza diagrame funcţii
bloc (FBD) utilizând bistabile.
Bistabilul este cel mai simplu bloc secvenţial caracterizat prin:
- intrarea R de resetare( Q  0 ) ;
- intrarea S de setare ( Q  1 );
- ieşirea adevărată Q;
- ieşirea negată Q .
44 C4-2012-13

În tehnica programării deosebim bistabile RS sau SR, după cum au intrarea R sau
intrarea S este prioritară (ca efecte), în cazul în care
ambele sunt active.

1 Ac1

f1 1 C1

2 Ac2

f2 2 C2

3 Ac3

f3 3 C3

fig.5.41 Exemplu de graf simplu


Astfel bistabilul S-R funcţionează X1
conform ecuaţiei: INI
S Q
C3 R Q

X2
S Q
C1
R Q

X3
S Q
C2
R Q

fig.5.42 Implementare cu SR
a grafului 5.41-var1
Qn 1  S  R  Qn
Bistabilul R-S funcţionează conform ecuaţiei logice:
45 C4-2012-13

Qn 1  R   S  Qn 
X1
INI
S Q
C3 R Q

X2
C1 S Q

R Q

X3
C2 S Q

R Q

fig.5.43 Implementare cu SR
a grafului 5.41-var2
În precedentele ecuaţii Qn este starea (valoarea ieşirii) bistabilului înaintea aplicării
comenzii iar Qn+1 starea după aplicarea comenzii la intrări.
Pentru a transcrie graful automatizării într-o schemă cu bistabile RS se procedează
conform următoarelor reguli:
- fiecărei etape i se alocă un bistabil. Ieşirea acestuia va constitui variabila de stare
ataşată etapei;
- funcţia de activare (Ai) a unei etape se aplică intrării S a bistabilului ataşat etapei;
- funcţia de dezactivare (Di) a etapei se va aplica intrării R. Ea este constituită de
ieşirile Q ale bistabilului corespunzîtoare stării ce se va activa.
Ştim că atunci când o etapă are îndeplinite simultan condiţii de activare şi de
dezactivare ea se va activa (rămâne activă).
Aceasta înseamnă că, în sensul celor arătate la început, va trebui să utilizăm bistabilele
S-R sau/şi circuite auxiliare care să realizeze prioritatea activării faţă de dezactivare.
Pentru exemplificare se consideră cazul simplu al unui graf ca cel din figurac5.43:
Funcţiile de parcurgere a tranziţiilor aferente grafului sunt:
f 1  x1  C1
f 2  x2  C 2
f 3  x3  C 3
Funcţiile de activare şi dezactivare a etapelor într-o primă variantă sunt:
A1  f 3 ; D1  f 1
A2  f 1 ; D2  f 2
A3  f 2 ; D3  f 3
Pentru întocmirea diagramei cu funcţii bloc se procedează aşa cum rezultă din figura
5.42.
Într-o a doua variantă funcţiile de activare şi dezactivare a etapelor sunt:

A1  f 3 ; D1  x 2
A2  f 1 ; D 2  x3
A3  f 2 ; D3  x1
Pentru această variantă diagrama cu funcţii bloc va fi de forma din figura 5.43.

Aşa cum se observă introducerea marcajului iniţial se face cu ajutorul unei variabile …
care trebuie să respecte condiţiile cunoscute.
Considerând graful automatizării semafoarelor şi cunoscându-se:
46 C4-2012-13

- funcţiile de parcurgere a tranziţiilor;


- funcţiile de activare a stărilor;
- funcţiile de dezactivare a stărilor;
- ecuaţiile ce descriu variabilele de stare asociate fiecărei etape, să se întocmească
diagrama funcţiilor.

5.3. Limbaje de programare

5.3.1. Limbajul de programare STL

Este un limbaj de nivel scăzut. Este utilizat pentru realizarea aplicaţiilor mici sau pentru
optimizarea codului anumitor părţi ale unor aplicaţii.

Un program STL este o listă de instrucţiuni de diferite tipuri, care calculează, de obicei, termeni
ai unor expresii logice, rezultatul fiind de asemenea o valoare logică.

Fiecare instrucţiune începe pe o linie nouă, conţine un operator, completat eventual cu un


modificator şi, dacă este nevoie de unul sau mai mulţi operanzi separaţi prin virgulă aşa cum se
poate vedea mai jos

Eticheta: Operaţie Operand1[,Operand2] (*Comentariu*)


Operator+(Modificator)
Etichetele sunt utilizate pentru specificarea punctelor ţintă ale instrucţiuilor de salt. O
instrucţiune poate avea o etichetă urmată opţional de :. O etichetă poate fi scrisă şi pe o linie
separată.
Modificatorul în paranteză arată că el este prezent doar în anumite cazuri, aşa cum va
rezulta în continuare.
Operanzii instrucţiunilor sunt variabile interne, intrări sau ieşiri ale automatului
programabil, mai precis referinţe la memoria fizică.
La instrucţiunile cu un singur operand, celălalt operand este implicit fiind reprezentat de
conţinutul unui registru, de obicei registrul acumulator. Operaţia descrisă de operator se execută
între operatorul scris explicit şi conţinutul acumulatorului, iar rezultatul se încarcă tot în
acumulator.
Documentarea programelor se face utilizând comentarii. Comentariile se pot face pe
aceeaşi linie cu instrucţiunea sau pe linii separate. Identificrea comentariilor se face cu ajutorul
grupului de caractere (* la început şi *) la sfârşit, sau cu grupul // numai la început de
comentariu.

Operatori STL

A. Operatori pentru date booleene (biţi)

a. Operatori de transfer:

LD Transferă (încarcă) datele din memorie (de la o intrare) în


acumulator;
ST
sau Transferă datele din acumulator în memorie sau la o ieşire.
47 C4-2012-13

Exemplu:

Eticheta: Operaţie Operand1[,Operand2] (*Comentariu*)


LD %I0.0 // Încarcă (transferă) conţinutul intrării I0.0 în
acumulator
ST %Q1.0 //Transferă la ieşirea Q1.0 conţinutul
acumulatorului
= %Q1.2 //Transferă la ieşirea Q1.2 conţinutul
acumulatorului

b. Operatori de setare/ resetare a operanzilor:


S – Set-are operand;
R – Reset-are operand.

S Setare Operand
R Resetare Operand

Exemplu

Eticheta: Operaţie Operand1[,Operand2] (*Comentariu*)


S %I0.0 //Setează bitul I0.0
R %M0.3 //Resetează bitul M0.3

c. Operatori logici:

AND Realizează operaţia logică ŞI (AND) între conţinutul acumulatorului şi operand;


OR Realizează operaţia logică SAU (OR) între conţinutul acumulatorului şi operand;
XOR Realizează operaţia logică SAU-EXCLUSIV (XOR) între conţinutul
acumulatorului şi operand

Exemplu:

Eticheta: Operaţie Operand1[,Operand2] (*Comentariu*)


AND %M0.0 //Realizează operaţia ŞI (AND) între conţinutul
acumulatorului şi operandul M0.0. Rezultatul se
păstrează în acumulator.
OR %M1.0 //Realizează operaţia SAU (OR) între conţinutul
acumulatorului şi operandul M1.0. Rezultatul se
păstrează în acumulator.
XOR %M1.2 //Realizează operaţia SAU EXCLUSIV (XOR)
între conţinutul acumulatorului şi operandul
M0.0. Rezultatul se păstrează în acumulator.
48 C4-2012-13

B. Operatori pentru date pe octet, cuvânt sau dublu cuvânt

a. Operatorul de transfer MOV.


Operaţia de transfer se referă mutarea continutului unei surse la o destinaţie, aşa cum va
rezulta şi din exemplu.
Pentru a specifica tipul datei operatorul se completează cu precizarea ei conform tabelului:

Operaţia MOV
B Byte Operandul este un Octet
W Word Operandul este un Cuvânt (2 Octeţi)
DW DoubleWord Operandul este un Cuvânt Dublu (4 Octeţi)

Exemplu MOV
Eticheta: Operaţie
Operand1[,Operand2] (*Comentariu*)
MOVB %MB0, %MB1 //Transferă Octetul din (locaţia) MB0 în
(locaţia) MB1
MOVW %MW0, %MW1 //Transferă Cuvântul din (locaţia) MW0 în
(locaţia) MW1
MOVDW %MDW0, %MDW1 //Transferă cuvântul Dublu din (locaţia) MDW0
în (locaţia) MDW1

b.Operatori aritmetici:

Operatori Aritmetici
ADD Adunarea cu un operand a conţinutului acumulatorului(adunarea a doi
operanzi);
SUB Scăderea cu un operand a conţinutului acumulatorului (un alt operand);
MUL Înmulţirea cu un operand a conţinutului acumulatorului;
DIV Împărţirea întreagă cu un operand a conţinutului acumulatorului

Exemplu ADD
Eticheta: Operaţie Operand1[,Operand2] (*Comentariu*)
LD a // Încarcă a în acumulator
ADD b // Adună b la conţinutul acumulatorului.
Rezultatul rămâne în acum.
ST c Transferă (salvează) rezultatul în
(locaţia) c

c. Operatori relaţionali:
49 C4-2012-13

GT Verifică dacă valoarea din acumulator DA Se setează Acum. (1)


este mai mare decât valoarea unui
operand.
NU Se Resetează Acum.(0)
GE Verifică dacă valoarea din acumulator DA Se setează Acum.(1)
este mai mare sau egală cu valoarea
unui operand.
NU Se Resetează Acum.
EQ Verifică dacă valoarea din acumulator DA Se setează Acum.
este egală cu valoarea unui operand.

NU Se Resetează Acum.
NE Verifică dacă valoarea din acumulator DA Se setează Acum.
este diferită de valoarea unui operand.
NU Se Resetează Acum.

LE Verifică dacă valoarea din acumulator DA Se setează Acum.


este mai mică sau egală cu valoarea
unui operand.
NU Se Resetează Acum.
LT Verifică dacă valoarea din acumulator DA Se setează Acum.
este mai mică decât valoarea unui
operand.
NU Se Resetează Acum.

Exemplu GT:
Program pentru verificarea relaţiilor dintre a şi b pe de-o parte şi b şi c pe de-altă parte, a, b şi c
fiind variabile de tip întreg.
Mai precis se vor verifica relaţiile:
a  b cu rezultatul x ; şi
b  c cu rezultatul y
Exemplu GT
Eticheta: Operaţie Operand1[,Operand2] (*Comentariu*)
LD a // Încarcă a în acumulator
GT b // Compară cu b
ST x // Memorează rezultatul în x
LD b // Încarcă b în acumulator
GT c // Compară cu c
ST y // Memorează rezultatul în y
50 C4-2012-13

Exemplu:
Se dau variabilele de tip întreg a şi b.
Să se memoreze în c rezultatul operaţiei:
a  b ; dacă a  b sau
b  a , dacă a  b

Exemplu a  b sau b  a
Eticheta Operaţia
LD a // Încarcă a în acumulator
GE b // verifică dacă a  b
JMPC UNU Dacă DA, sare la adresa de etichetă UNU
LD b Dacă NU, atunci a<b şi se va face operaţia b-a.
Se încarcă b în Acum
SUB a // // Se scade a din acumulatorul încărcat cu b
ST c // Se memorează rezultatul în c
JMP CONT // Se face salt necondiţionat la adresa CONT
UNU: LD a // Se încarcă a în acumulator
SUB b // Se scade b din acumulatorul încărcat cu a.
ST c // Se memorează rezultatul în c
CONT:

Operatori de salt:

Operatori de salt
JMP Salt necondiţionat la o adresă diferită de adresa din numărătorul de adrese;
CALL Salt la o adresă de la care începe o subrutină (secvenţă de program cu
funcţionalitate distinctă.)
RET Apare obligatoriu în corpul unei subrutine şi produce salt la adresa următoare
adresei instrucţiunii CALL apelante.
JMPC Salt condiţionat, obţinut prin adăugarea modificatorului C

Alţi Modificatori
51 C4-2012-13

Alţi Modificatori
N Negarea Operatorului Ex. ANDN Se operează cu negata operandului ( a )
Exemplu N
ANDN %I0.1 // Realizează operaţia ŞI între conţinutul acumulatorului şi
intrarea I0.1 negată ( I 0.1 )
(; Întârzierea operatorului - caracterul utilizat de regulă fiind (;
Mai precis se întârzie prima operaţie până după efectuarea celei din paranteză
Exemplu (;
AND (%I0.2 // Întârzie aplicarea operandului ŞI, realizând mai întâi
OR I0.3 operaţia logică SAU între intrările I0.2 şi I0.3.
) La întâlnirea parantezei închise ) se realizează operaţia
logică ŞI (sau alta solicitată) între acumulator şi
rezultatul operaţiei SAU din paranteză)
De fapt asigură realizarea efectului matematical
parantezei. parantezei
C Realizarea unei Operaţi Condiţionate conform modelului ANDN

Etichetele sunt utilizate pentru specificarea punctelor ţintă ale instrucţiuilor de salt. O
instrucţiune poate avea o etichetă urmată opţional de :. O etichetă poate fi scrisă şi pe o linie
separată.

7.2. Limbajul de programare LAD

Limbajul LAD este un limbaj grafic. El este utilizat la realizarea aplicaţiilor de către
programatori care au experienţe anterioare în proiectarea aplicaţiilor cu relee şi contacte.
Limbajul LAD realizează o transpunere grafică a ecuaţiilor booleene, realizând combinaţii între
contacte (variabile de intrare) şi bobine (variabile de ieşire).
Simbolurile grafice ale limbajului sunt plasate în diagramă în mod asemănător
contactelor şi releelor dintr-o schemă electrică, Figura 7.1. Corespondenţa elementelor este
evidentă: I1 - %I1.0, I2 – %I1.1, I3 – %I1.2, k – %Q0.1
Un program în limbajul LAD este alcătuit din reţele ce utilizează simboluri grafice.
Reţeaua este conectată în partea stângă şi partea dreaptă la barele de alimentare de la o sursă de
putere. Execuţia unui program se face de sus în jos şi de la stânga la dreapta.
52 C4-2012-13

%I1.0 %I1.1

%I1.2 %Q0.1

%I1.0 %I1.1 %Q0.1

%M10.00

fig.5.1 Corespondenţa schemelor cu


contacte şi relee şi diagramele LAD

Contactele şi bobinele sunt conectate la barele de alimentare prin linii orizontale şi verticale.
Fiecare segment al unei linii poate avea starea TRUE sau FALSE. Starea segmentelor legate
împreună este aceeaşi. Orice bară orizontală legată la bara din stânga se află în starea TRUE.

În Figura 7.2. sunt prezentate simbolurile grafice de bază ale limbajului LAD, conform IEC
1131-3.

Contact Contact
direct (ND) invers (NI)

Contact activ Contact activ


P pe front P N pe front N
53 C4-2012-13

Bobină Bobină
directă inversă

Bobină de Bobină de
S R Resetare
Setare

Bobină activă Bobină activă


P N pe front N
pe front P

Contactul direct1, Figura 7.2.a, realizează operaţia ŞI între acţiunea asupra sa şi valoarea
variabilei booleene asociate.

Exemplu:

LAD STL
%I0.0 %Q0.0
LD %I0.0

%I0.1 OR %I0.1

ST %Q0.0

1
Contactul normal deschis
54 C4-2012-13

Contactul inversat2, Figura 7.2.b, realizează operaţia ŞI între starea legăturii stângi şi valoarea
variabilei booleene negate asociate.

Exemplu:

LAD STL
%I0.0 %Q0.0
LDN %I0.0

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

Contactul de sesizare a frontului crescător3, Figura 7.2.c, realizează operaţia ŞI între starea
legăturii stângi şi frontul crescător al variabilei booleene asociate.

Exemplu:

P N
%I0.0 %Q0.0 %I0.0 %Q0.0

P N
%I0.1 %I0.1

Contactul de sesizare a frontului descrescător 4, Figura 7.2.d, realizează operaţia ŞI între starea
legăturii stângi şi frontul descrescător al variabilei booleene asociate.

Bobina directă, Figura 7.2.e, realizează o asociere între o variabilă de ieşire şi starea legăturii
stângi. La unele implemetări starea legăturii stângi se propagă spre legătura dreaptă putându-se

2
Contactul normal închis
3
Frontul pozitiv
4
Frontul negativ
55 C4-2012-13

astfel conecta în serie mai multe bobine. La alte implementări, pentru a conecta mai multe
bobine, acestea trebuie conectate în paralel. Legătura dreaptă este realizată efectiv sau se
consideră legată, aşa cum se poate vedea în exemplele de mai jos.

Exemple:

LAD STL
%I0.0 %Q0.0 %Q0.1
LD %I0.0

ST %Q0.0
sau
%I0.0 %Q0.0 ST %Q0.1

%Q0.1

Bobina inversă, Figura 7.2.f, realizează o asociere între o variabilă de ieşire şi starea negată a
legăturii stângi. La unele implementări starea legăturii stângi se propagă spre legătura dreaptă
putându-se astfel conecta în serie mai multe bobine. La alte implementări nu există acest tip de
bobină.

Exemplu:
Echivalenţa STL
%I0.0 %Q0.0
LD %I0.0
STN %Q0.0

Bobina de setare, Figura 7.2.g, realizează o setare a variabilei de ieşire asociate atunci când
starea legăturii stângi devine TRUE. Valoarea variabilei rămâne TRUE până când o instrucţiune
inversă, de resetare, se aplică aceleiaşi variabile.
56 C4-2012-13

Exemplu:

Echivalenţa STL
%I0.0 %Q0.0
S LD %I0.0
S %Q0.0

Bobina de resetare, Figura 7.2.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.

Exemplu:

Echivalenţa STL
%I0.0 %Q0.0
R LD %I0.0
R %Q0.0

Etichete, salturi necondiţionate şi condiţionate. Într-un program LAD se pot utiliza etichete,
salturi necondiţionate şi condiţionate pentru a controla execuţia programului. Eticheta se pune pe
bara de alimentare stângă sau într-o reţea separată. Medii de programare diferite utilizează
simboluri grafice diferite pentru etichete.

Exemplu:

%I0.0
Echivalenţa STL
>> Et1
%I0.1 %Q0.0 LDN %I0.0
JMPC Et1
LD %I0.1
ST %Q0.0
>> Et2 JMP Et2
Et1: Et1: LD %I0.2
%I0.2 %Q0.1 STN %Q0.1
Et2:

Et2:

Majoritatea mediilor de programare au posibilitatea de a converti un program LAD într-un STL


şi invers. Această facilitate poartă denumirea de reversibilitate şi arată faptul că indiferent cum
este scris programul, el va fi memorat sub formă STL.

7.3. Limbajul FBD

FBD este un limbaj grafic. El permite programatorului să construiască funcţii complexe utilizând
blocurile existente în bibliotecile mediului de programare.
57 C4-2012-13

Un program FBD este alcătuit din blocuri de funcţii elementare, conectate între ele prin linii de
legătură. Ca şi programul LAD, programul FBD se execută de sus în jos şi de la stânga la
dreapta.

Fiecare bloc are un număr de intrări şi ieşiri. Blocul este reprezentat printr-un dreptunghi.
Intrările sunt în partea stângă, iar ieşirile în partea dreaptă. Un bloc elementar realizează o
singură prelucrare asupra intrărilor. Funcţia realizată de bloc este scrisă în interiorul acestuia. La
intrările unui bloc sunt legate variabilele de intrare, iar variabilele de ieşire ale blocurilor pot fi
conectate la ieşirile automatului programabil sau la intrările altor blocuri. Tipul variabilelor de
intrare trebuie să coincidă cu tipul cerut de intrarea blocului. Ieşirea blocului are acelaşi tip cu
intrările.

Conform recomandărilor IEC, Figura 7.3, orice bloc are, pe lângă intrările asupra cărora
realizează operaţii X respectiv Y, o intrare numită EN şi o ieşire numită ENO pe lângă ieşirea Z.
Când EN este FALSE nu se operează asupra intrărilor de date iar ieşirea ENO este FALSE. Când
EN devine TRUE, blocul devine operaţional iar ieşirea ENO trece în starea TRUE. Dacă în
cursul operării apare o eroare, ieşirea ENO trece în starea FALSE.
Nume bloc
EN ENO
X
Z
Y

Figura 7.3. Bloc funcţional, conform


recomadărilor IEC 1131-3.

Principalele blocuri pot fi împărţite în următoarele categorii:

1. Blocuri standard, care corespund operatorilor standard ai limbajului STL;


2. Blocuri speciale, implementate prin proceduri complexe.

Blocurile standard sunt: blocuri de manipulare a datelor 5, blocuri pentru operaţii booleene (AND,
OR, XOR, etc., Figura 7.4), blocuri aritmetice (pentru efectuarea operaţiilor elementare, adunare,
scădere, înmulţire şi împărţire), blocuri de comparaţie.

AND NAND NOT

& &

OR NOR XOR

1 1 =1

Figura 7.4. Blocuri standard ale limbajului FBD

5
Se mai numesc şi blocuri de asignare
58 C4-2012-13

Blocurile speciale sunt: blocuri de manipulare a datelor (bistabile SR şi RS şi de detecţie a


fronturilor crescătoare şi descrescătoare, multiplexoare, generatoare de numere aleatoare),
contoare, temporizatoare, blocuri de procesare a semnalelor (histerezis sau trigger Schmitt,
regulatoare PID, integratoare, derivatoare, etc.), blocuri generatoare de semnal (generatoare de
semnal dreptunghiular, generatoare de semnal modulat în durată PWM), blocuri matematice (de
calcul a valorii absolute, a funcţiei exponenţiale, a logaritmului, a rădăcinii pătrate, a funcţiilor
trigonometrice, etc.).

În figura 7.5. este prezentată forma generală a unei secvenţe de program realizată în limbajul
FBD.
I1 O1
B1
I2
B3

I3 B2
O2
I4

Figura 7.5. Exemplu de program realizat în


limbajul FBD.

Aplicatii
Tema 10. Programarea AP6 utilizând limbajele STL, LAD şi FBD.

Fişa suport 10.

Aplicaţie:

Pentru circuitul din Figura 10.1 care converteşte codul octal în caractere alfabetice afişate pe 7
segmente, conform tabelului de adevăr 10.1, să se realizeze programul în limbajul:
a) STL;
a) LAD;
b) FBD.

6
Automate programabile
59 C4-2012-13

a a
A b
f b
c
B g
AP d
e
C f e c
g
d

Figura 10.1. Convertor octal – alfabetic

Tabelul 10.1. Tabelul de adevăr al convertorului octal-alfabetic

Cifra Triada Caracter


a b c d e f g
octală binară afişat
0 000 A 1 1 1 0 1 1 1
1 001 C 1 0 0 1 1 1 0
2 010 E 1 0 0 1 1 1 1
3 011 F 1 0 0 0 1 1 1
4 100 H 0 1 1 0 1 1 1
5 101 J 0 1 1 1 0 0 0
6 110 L 0 0 0 1 1 1 0
7 111 P 1 1 0 0 1 1 1

Funcţiile corespunzătoare celor 7 ieşiri, obţinute prin minimizare (recomandabil cu ajutorul


diagramelor Veitch-Karnaugh) sunt:
a  AB  C
b  A  B  AC
c  A  B  BC
d  AB  A B  A  B
e  f  A B C
g  A  B  AB  BC  A  B  BC

10.1. Programarea în limbajul STL a AP ce emulează circuitul convertor octal-alfabetic.

În Tabelul 10.2. sunt prezentate asocierile dintre variabilele de intrare ale automatului şi intrările
în circuit, respectiv dintre variabilele de ieşire şi ieşirile circuitului.

Tabelul 10.2 Asocierea variabile intrare/ ieşire AP şi intrări/ ieşiri circuit convertor

Intrări convertor Intrări AP


A %I0.0
B %I0.1
C %I0.2
60 C4-2012-13

Ieşiri convertor Ieşiri AP


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

Programul STL pentru emulator este următorul:

LDN %I0.2 //încarcă negatul intrării C în acumulator


OR (%I0.0
AND %I.01
) //Execută operaţiile logice AB+C’
ST %Q0.0 //Stochează rezultatul în a
//------------------------------------------------------
LDN %I0.0 //încarcă negatul intrării A în acumulator
ANDN %I0.1 //Execută AND între acumulator şi B’
OR (%I0.0
AND %I0.2
) //Execută operaţiile logice A’B’+AC
ST %Q0.1 //Stochează rezultatul în b
//-------------------------------------------------------
LDN %I0.0 //încarcă negatul intrării A în acumulator
ANDN %I0.1 //Execută AND între acumulator şi B’
OR (%I0.2
ANDN %I0.1
) //Execută operaţiile logice A’B’+B’C
ST %Q0.2 //Stochează rezultatul în c
//------------------------------------------------------
LD %I0.0
XOR %I0.1 //Execută operaţia A XOR B
ST %Q0.3 //Stochează rezultatul în d
//------------------------------------------------------
LDN %I0.0 //Încarcă A’ în acumulator
OR %I0.1 //Execută operaţia A’+B
ORN %I0.2 //Execută operaţia A’+B+C’
ST %Q0.4 //Stochează rezultatul în e si f
ST %Q0.5
//-----------------------------------------------------
LDN %I0.0
ANDN %I0.1 //În acumulator se află A’B’
OR (%I0.0
AND %I0.1
) //În acumulator se află A’B’+AB
OR (%I0.1
ANDN %I0.2
) //În acumulator se află A’B’+AB+BC’
ST %Q0.6 //Stochează rezultatul în g
61 C4-2012-13

10.2. Programarea în limbajul LAD a AP ce emulează circuitul convertor octal-alfabetic.

Cu asocierile din Tabelul 10.2 în Figura 10.2.se prezintă programul în limbajul LAD.

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

%I0.2

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

%I0.0 %I0.2

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

%I0.1 %I0.2

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

%I0.1 %I0.0

%I0.1 %Q0.4

%I0.0 %Q0.5

%I0.2

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

%I0.0 %I0.1

%I0.1 %I0.2

Figura 10.2. Programul LAD pentru AP ce


emulează convertorul octal-alfabetic.
62 C4-2012-13

10.3. Programarea în limbajul FBD a AP ce emulează circuitul convertor octal-alfabetic.

Cu asocierile din Tabelul 10.2 programul pentru emulatorul convertorului octal-alfabetic în


limbajul FBD este prezentat în Figura 10.3.a. şi b.

%I0.0
AND
& OR
%I0.1 %Q0.0
1

NOT
%I0.2

NOT
%I0.0
AND
& OR
%Q0.1
1
NOT
%I0.1

%I0.0
AND
&
%I0.2

NOT
%I0.0
AND
& OR
%Q0.2
1
NOT
%I0.1

NOT
%I0.0
AND
&
%I0.2

%I0.0
XOR
=1 %Q0.3
%I0.1

Figura 10.3.a. Programul în limbajului FBD al emulatorului


circuitului convertor de cod octal-alfabetic.
63 C4-2012-13

%I0.1
OR
NOT 1 %Q0.4
%I0.0
%Q0.5

NOT
%I0.2

%I0.0
XOR NOT
=1 OR
%I0.1 %Q0.6
1

NOT
%I0.2
AND
&
%I0.1

Figura 10.3.b. Programul în limbajului FBD al emulatorului


circuitului convertor de cod octal-alfabetic.
64 C4-2012-13

Pana Aici

De inserat materialul Ladder diagram 97 – 101

1. Diagrame ladder
← Diagramele ladder sunt scheme electrice special concepute pentru
reprezentarea circuitelor logice
Definiţia diagramelor ladder
Diagramele ladder sunt diagrame speciale folosite de obicei în sistemele logice de
control industrial. Denumirea de ladder (din engleză: scară) vine de la asemănarea
acestora cu o scară: două linii verticale desemnând sursa de putere, şi linii orizontale
reprezentând circuitele de control.
Exemplu

Ca şi exemplu de început, o diagramă ladder simplă reprezentând o lampă controlată


de un comutator manual arată precum în figura alăturată. Notaţiile L 1 şi L2 desemnează
bornele unei surse de alimentare de 120 V c.a. L 1 este faza iar L2 este conductorul
neutru (legat la masă). Aceste notaţii nu au nicio legătură cu notaţia bobinelor.

Transformatorul sau generatorul ce alimentează acest circuit este omis pentru


simplitate. În realitate, circuitul este cel alăturat.

Deşi circuitele logice industriale utilizează o tensiune de 120 V în c.a., există şi sisteme
realizate la tensiuni mai mici în c.a. sau chiar şi în c.c.
Atâta timp cât contactele comutatoarelor şi bobinele releelor sunt dimensionate
corespunzător, tensiunea de alimentare a sistemului este irelevantă.
65 C4-2012-13

Notaţia conductorilor
Observaţi cifra „1” notată pe conductorul dintre comutator şi lampă. În realitate acel
conductor este notat cu cifra „1” folosind etichete adezive sau tuburi termocontractibile,
în funcţie de preferinţă. Conductorii ce duc înspre comutator vor fi notaţi cu „L 1,
respectiv „1”. Conductorii ce duc înspre lampă vor fi notaţi cu „1”, respectiv „L 2. Aceste
numerotaţii sunt făcute pentru a uşura construirea şi întreţinerea întregului ansamblu.
Fiecare conductor are propriul său număr unic. Numerotarea conductorilor nu se
schimbă atunci când aceştia intră/ies dintr-un nod, indiferent dacă mărimea, culoarea
sau lungimea lor se schimbă. Desigur, este de preferată utilizarea unei singure culori
pentru desemnarea aceluiaşi conductor, dar acest lucru nu este tot timpul practic. Ceea
ce contează este ca orice punct comun din punct de vedere electric dintr-un circuit de
control să fie desemnat prin acelaşi număr de fir (conductor).

Să luăm de exemplu diagrama ladder alăturată. Conductorul notat cu „25” reprezintă de


fapt acelaşi fir din punct de vedere electric, chiar dacă acesta este conectat la mai multe
dispozitive.

Modul de conectare al sarcinii

În diagramele ladder, sarcina (lampă, releu, etc.) este aproape tot timpul
conectată la dreapta „scării”. Deşi din punct de vedere electric locaţia sarcinii nu are
nicio importanţă, contează totuşi care capăt al „scării” este conectat la masă.

Să considerăm exemplul alăturat. În acest caz, lampa (sarcina) este conectată în


dreapta circuitului, la fel şi masa sursei de alimentare. Aceasta nu este o simplă
coincidenţă.
66 C4-2012-13

Să presupunem că la un moment dat există o conexiune accidentală între conductorul 1


şi masă. Această conexiune poate fi dată de uzura izolaţiei şi contactul conductorului cu
un mediu conductor conectat la pământ. Cu ambele capete ale lămpii conectate la
masă (acelaşi potenţial, prin urmare, cădere de tensiune zero), lampa este practic scurt-
circuitată şi nu se poate aprinde. În cazul închiderii comutatorului, acest scurt-circuit va
duce la arderea siguranţei fuzibile.

Dar, să vedem ce s-ar întâmpla în cazul unei defecţiuni identice (contactul accidental
dintre conductorul 1 si masă) în cazul în care poziţia comutatorului este schimbată cu
cea a lămpii. Şi în acest caz, L 2 este conectat la masă. Masa accidentală va forţă
aprinderea lămpii, iar comutatorul nu va avea niciun efect asupra funcţionării acesteia.
Este mult mai bine şi mai sigur din punct de vedere electric să avem un sistem a cărui
siguranţă fuzibilă se arde în cazul unui defect de împământare , decât un sistem a cărui
componente (lămpi, relee, etc.) nu pot fi controlate în cazul aceluiaşi defect. Din
această cauză, sarcina(le) unei diagrame ladder trebuie tot timpul conectată lângă
conductorul legat la masă (comun din punct de vedere electric cu acesta).
‹ 06 - Logica ladder sus 2. Funcţii logice digitale ›

2. Funcţii logice digitale

← Contactele conectate în paralel sunt echivalente cu o poartă SAU


← Contactele conectate în serei sunt echivalente cu o poartă ŞI
← Contactele normal-închise sunt echivalente cu o poartă NU
← Pentru inversarea intrărilor pe porţi, se folosesc contacte normal-închis
← Pentru inversarea ieşirii unei funcţii logice, se folosesc relee
67 C4-2012-13

Funcţia logică SAU

Putem construi funcţii logice simple pentru circuitul cu lampă din secţiunea precedentă, folosind
contacte multiple. Documentarea acestor circuite se face relativ simplu prin conectarea unor linii
adiţionale diagramei iniţiale.
A B Ieşire
0 0 0
0 1 1
1 0 1
1 1 1
Dacă folosim notaţia binară standard pentru starea comutatoarelor şi a lămpii (0 pentru
ne-acţionat sau de-energizat, 1 pentru acţionat sau energizat), putem utiliza un tabel de
adevăr pentru reprezentarea logicii circuitului.
După cum se poate observa din diagrama ladder, lampa se va aprinde (energiza) în
cazul în care contactul A sau contactul B este acţionat. Electronii nu au nevoie decât de
o singură cale (de la L1 spre 1) pentru a ajunge spre lampă. Prin urmare, indiferent care
contact se închide, A sau B, lampa se va aprinde.

Ceea ce am implementat de fapt în acest caz nu este altceva decât o poartă logică
SAU, utilizând două contacte normal-deschise şi o lampă.
Funcţia logică ŞI

Putem imita funcţia unei porţi logice ŞI prin conectarea celor două contacte normal-deschise în
serie şi nu în paralel.
A B Ieşire
0 0 0
0 1 0
1 0 0
1 1 1

Putem verifica cu ajutorul tabelului de adevăr că acest lucru este într-adevăr corect.
În acest caz, lampa se va aprinde doar dacă ambele contacte sunt acţionate simultan.
Curentul va putea trece de la L1 la 2 doar dacă ambele contacte sunt închise.
68 C4-2012-13

Funcţia logică NU

Funcţia logică de inversare poate fi obţinută prin simpla utilizare a unui contact normal-închis,
faţă de un contact normal-deschis precum cele folosite mai sus.
A Ieşire
0 1
1 0

Din nou, putem verifica prin intermediul tabelului de adevăr că acest lucru este corect.
Funcţia logică ŞI-negat

Dacă luăm funcţia SAU prezentată mai sus şi inversăm fiecare intrare vom obţine funcţia ŞI-
negat. Intrările se inversează prin utilizarea contactelor normal-închise în loc de contacte normal-
deschise.
A B Ieşire
0 0 1
0 1 1
1 0 1
1 1 0

Lampa va fi energizată dacă unul dintre contacte nu este acţionat, şi se va stinge doar
dacă ambele contacte sunt acţionate simultan.
Funcţia logică SAU-negat

Asemănător, dacă luăm funcţia ŞI implementată mai sus, şi inversăm intrările, obţinem funcţia
logică SAU-negat. Inversarea intrărilor se realizează şi în acest caz prin utilizarea contactelor
normal-închise în loc de contacte normal-deschise.
A B Ieşire
0 0 1
69 C4-2012-13

0 1 0
1 0 0
1 1 0

Din cele observate mai sus, putem trage unele concluzii, şi anume: contactele paralele
sunt echivalente cu o poartă logică SAU; contactele serie sunt echivalente cu o poartă
ŞI; contactele normal-închise sunt echivalente cu o poartă NU (negare).
Funcţia logică SAU-exclusiv

Putem construi circuite logice combinaţionale prin gruparea contactelor în aranjamente serie-
paralel. În exemplul alăturat, funcţia SAU-exclusiv este construită prin combinarea porţilor ŞI,
SAU şi NU.
A B Ieşire
0 0 0
0 1 1
1 0 1
1 1 0

Linia de sus (contactul normal-închis A în serie cu, contactul normal-deschis B) este


echivalentă cu partea de sus a combinaţiei de porţi logice NU/ŞI. Linia de jos (contactul
normal-deschis A în serie cu, contactul normal-închis B) este echivalentă cu partea de
jos a combinaţiei de porţi NU/ŞI. Conexiunea în paralel a celor două linii în punctul 2,
formează un circuit echivalent SAU. Acest lucru permite energizarea lămpii fie prin linia
1 fir prin linia 2.
Pentru realizarea funcţiei SAU-exclusiv a trebuit să folosim două contacte pe o singură
intrare: un contact pentru intrarea directă, iar celălalt contact pentru intrarea inversată.
Cele două contacte A din diagrama de mai sus sunt acţionate fizic de acelaşi
mecanism. Acelaşi lucru este valabil şi pentru contactele B. Această legătură „fizică”
70 C4-2012-13

dintre contacte este scoasă în evidentă prin marcarea identică a contactelor. Nu există
nicio limită a numărului de contacte ce pot fi reprezentate pe acelaşi releu. Fiecare nou
contact adăugat unui releu sau unui comutator, fie că este contact normal-închis sau
normal-deschis) este reprezentat prin acelaşi simbol.
Marcarea compusă
În unele situaţii, se foloseşte o marcare compusă de genul „A-1” şi „A-2” în loc de „A”
pentru ambele contacte ale aceluiaşi dispozitiv. Acest lucru este folositor mai ales în
cazul în care dorim să scoatem în evidenţă care seturi de contacte, din fiecare
dispozitiv, este utilizat pentru care parte a circuitului. Pentru simplitate însă, nu vom
folosi o asemenea notaţie în cele ce urmează. Dacă vedeţi mai multe contacte marcate
identic (A, B, etc.), puteţi să fiţi siguri că acele contacte sunt acţionate de acelaşi
mecanism.
Inversarea ieşirii

Dacă dorim să inversăm ieşirea unei funcţii logice realizate cu ajutorul unui comutator, trebuie să
folosim un releu cu un contact normal-închis. De exemplu, dacă vrem să energizăm o sarcină
bazându-ne pe negarea (funcţia NU) unui contact normal-deschis, putem realiza diagrama
alăturată.
A CR1 Ieşire
0 0 1
1 1 0

Releul este indicat pe figură prin notaţia CR1 (releu de control 1). Atunci când bobina
releului, simbolizată printr-un cerc pe prima linie, este energizată, contactul de pe linia a
doua se deschide. Deschiderea acestui contact de-energizează lampa. De la
comutatorul la bobina CR1, funcţia logică este ne-inversată. Contactul normal-închis
este acţionat de bobina releului CR1, asigurând o funcţie logică de negare (NU) pe
lampă, inversă faţă de starea de acţionare a comutatorului (A).

Să aplicăm această strategie de inversare uneia dintre funcţiile cu intrare inversată realizate mai
sus. Spre exemplu, funcţia logică ŞI folosind diagrama funcţiei ŞI-negat de mai sus. Putem
inversa ieşirea cu ajutorul unui releu pentru realizarea unei funcţii ne-inversate.
A B Ieşire
0 0 0
71 C4-2012-13

0 1 0
1 0 0
1 1 1

De la comutator la bobina CR1, funcţia logică realizată este cea a unei porţi ŞI-negat.
Contactele CR1 normal-închise inversează şi transformă ieşirea funcţiei ŞI-negat într-o
funcţie ŞI.
‹ 1. Diagrame ladder sus 3. Circuite permisive şi de blocare ›

3. Circuite permisive şi de blocare

← Contactele permisive sunt instalate pentru întreruperea funcţionării circuitului în


cazul în care una sau mai multe condiţii fizice nu sunt îndeplinite
← Contactele de blocare sunt instalate pentru întâmpinarea situaţiei în care două
acţiuni ce au loc simultan sunt incompatibile (alimentarea directă şi indirecta a unui
motor electric, simultan, de exemplu)

Controlul aprinderii furnalelor

O aplicaţie practică a logicii digitale, bazate pe relee şi comutatoare, constă în


controlul sistemelor în care există o serie de condiţii ce trebuie îndeplinite, înainte ca un
echipament să poată porni în siguranţă. Un exemplu bun este cel al aprinderii
furnalelor.

Pentru pornirea în siguranţă a acestora, sistemul de control trebuie să ceară


„permisiunea” câtorva comutatoare de proces, printre care: comutatoare de presiune
joasă şi înaltă, comutatoare pentru verificarea funcţionării ventilatorului, a poziţiei uşii de
acces, etc. Fiecare condiţie de proces se numeşte permisivă, iar fiecare contact
permisiv este conectat în serie. Prin urmare, dacă oricare dintre contacte detectează o
condiţie de nesiguranţă, circuitul se va deschide.
Dacă toate condiţiile sunt îndeplinite, CR1 se va energiza iar lampa verde se va
aprinde. În realitate, nu doar lampa se energizează. De obicei există un releu de
control, sau o valvă de fluid, ce este plasată pe acea linie a diagramei. Aceasta se va
energiza când toate contactele permisive sunt „în regulă”: adică, închise. Dacă oricare
72 C4-2012-13

dintre condiţiile permisive nu este îndeplinită, linia de sus a diagramei va rămâne


întreruptă, CR1 se va de-energiza, iar lampa roşie se va aprinde.
Contactul pentru presiunea înaltă a lichidul este un contact normal-închis. Acest lucru
se datorează faptului că dorim deschiderea contactului doar în cazul în care presiunea
lichidului devine prea mare. Din moment ce condiţia „normală” a oricărui comutator de
presiune este îndeplinită când presiunea aplicată asupra sa este zero, şi dorim ca acest
comutator să se deschidă în cazul unei presiuni excesive, trebuie să alegem un
comutator ce este închis în starea sa normală.
Controlul pornirii motoarelor electrice
O altă aplicaţie practică a releelor constă în controlul sistemelor în care dorim ca două
evenimente incompatibile să nu aibă loc în acelaşi timp.

Un exemplu în acest sens constă în controlul direcţiei de rotaţie a unui motor electric.
Sunt utilizate contactoare pentru schimbarea polarităţii (sau secvenţei fazelor) unui
motor electric. Un contactor nu este altceva decât un releu electromecanic folosit pentru
comutarea unor puteri mari pe la bornele sale. Nu dorim însă ca atât contactorul de
polarizare directă cât şi cel de polarizare inversă să fie energizate în acelaşi timp.
Când contactorul M1 este energizat, sistemul trifazat de alimentare (A, B şi C) este
conectat direct la terminalii 1, 2 şi 3 ai motorului. Totuşi, când contactorul M 2 este
energizat, fazele A şi B sunt inversate, A fiind conectată la terminalul 2 al motorului, iar
B la terminalul 1. Inversarea fazei duce la inversarea direcţiei de rotaţie a motorului.

Să examinăm circuitul de control a acestor două contactoare. În dreapta avem un


contact normal-închis (OL). Acesta este contactul termic de supra-încălzire ce este
activat de elementele de „încălzire” conectate în serie cu fiecare fază a motorului de c.a.
Dacă acestea se încălzesc prea tare, contactul va trece de la starea normală (închisă)
la starea deschisă. Acest lucru nu va permite energizarea niciunui contactor.
Acest sistem de control este suficient, atâta timp cât nimeni nu apasă ambele butoane
simultan. Dacă acest lucru se întâmplă însă, fazele A şi B vor fi scurt-circuitate, datorită
faptului că fazele A şi B sunt conectate direct la motor prin intermediul contactorului M 1,
iar contactorul M2 le inversează. Faza A se va afla în scurt-circuit cu faza B şi invers.
Evident, acesta nu este un sistem de control foarte bun.
73 C4-2012-13

Pentru a preveni acest lucru, putem să proiectăm circuitul astfel încât energizarea unuia
dintre contactoare să prevină energizarea celeilalte. Acest lucru se numeşte blocare, şi
se poate realiza prin utilizarea de contacte adiţionale pe fiecare contactor.
Acum când M1 este energizat, contactul auxiliar normal-închis de pe linia a două se va
deschide, prevenind astfel energizarea lui M 2, chiar dacă butonul „invers” este apăsat.
Asemănător, energizarea lui M1 nu este posibilă atunci când M 2 este energizat.
Observaţi că au fost adăugate numerotaţii suplimentare ale firelor (4 şi 5) pentru a
reflecta modificările.
Trebuie menţionat faptul că aceasta nu este singura metodă de blocare a
contactoarelor pentru prevenirea scurt-circuitului. Unele contactoare sunt echipate cu
dispozitive de blocare mecanice. Pentru siguranţa adiţională însă, se pot folosi şi
metode de blocare electrice.
‹ 2. Funcţii logice digitale sus 4. Circuite logice cu autoprotecţie ›
4. Circuite logice cu autoprotecţie
Siguranţa la funcţionare
Circuitele logice, fie că sunt compuse din relee electromecanice sau din porţi logice
semiconductoare, pot fi construite sub mai multe variante pentru realizarea aceleiaşi
funcţii. Nu există în general o metodă „corectă” de proiectare a circuitelor logice
complexe, dar există unele metode ce sunt mai bune decât altele.
În sistemele de control, siguranţa joacă un rol important (sau cel puţin ar trebui să o
facă). Dacă există mai multe metode de realizare a unui circuit digital care să realizeze
aceiaşi funcţie, iar una dintre metode este mai bună din punct de vedere al siguranţei la
funcţionare, atunci acea metodă este mai bună decât celelalte.
Exemplu: instalarea unui sistem de alarmă în caz de incendiu
Să luăm ca şi exemplu un sistem simplu şi să vedem cum îl putem implementa folosind
relee logice. Să presupunem că un laborator mare sau o clădire industrială urmează să
fie echipată cu un sistem de alarmă în caz de incendiu. Acest sistem urmează să fie
activat de oricare dintre comutatoarele instalate în întreaga clădire. Sistemul ar trebui să
funcţioneze astfel încât sirena să se energizeze dacă oricare dintre comutatoare este
acţionat.
74 C4-2012-13

La o primă vedere, ar părea că circuitul logic este extrem de simplu: utilizăm contacte
normal-deschise conectate în paralel, precum în figura alăturată. Practic, aceasta este o
funcţie logică SAU cu patru intrări. Putem extinde acest circuit pentru a include un
număr oricât de mare de comutatoare, fiecare fiind adăugat în serie. Ne vom limita însă
la patru în acest exemplu. În orice caz, acesta pare un sistem elementar şi totul pare a fi
în regulă.
Defecţiunea la deschidere
Dar ce se întâmplă în cazul unui defect de circuit? Natura circuitelor electrice este astfel
încât defectele de funcţionare ce constau în deschiderea circuitului sunt mult mai
frecvente decât oricare alt tip de defecte. Aceste deschideri ale circuitului se pot datora
deschiderii contactelor releelor, întreruperea conductorilor, arderea siguranţelor fuzibile,
etc. Luând acest lucru în considerare, pare normal să realizăm un circuit care să fie cât
mai tolerant posibil la o astfel de defecţiune.

Să presupunem, de exemplu, ca firul conductor al comutatorului doi se distruge, ducând


la deschiderea circuitului în acest punct. În cazul în care această defecţiune ar avea loc,
comutatorul 2 nu ar mai putea alimenta sirena în cazul în care ar fi acţionat (închis).
Acest lucru, evident, nu este de dorit în cazul unui incendiu. Dacă sistemul nu este
verificat periodic ( o idee bună oricum), nimeni nu ar putea ştii că există o problemă
până când cineva nu ar încerca sa utilizeze acel comutator în caz de urgenţă.
Reproiectarea sistemului

Dar dacă am re-proiecta sistemul astfel încât alarma să se declanşeze (şi) în cazul unui
astfel de defect? Astfel, defectul conductorului ar duce la o alarmă de incendiu falsă.
Totuşi, acest scenariu este de preferat celui în care comutatorul nu funcţionează deloc
în cazuri de urgenţă. Pentru atingerea acestui scop, va trebui să refacem circuit, astfel
încât alarma să fie declanşată de un comutator deschis şi nu de unul închis.
Comutatoarele vor trebui sa fie normal-închise şi în serie, alimentând bobina unui releu
care la rândul ei activează un contact normal-închis ce controlează sirena.
Atunci când toate comutatoarele sunt de-energizate (starea normală a sistemului),
bobina releului CR1 va fi energizată (prima linie). Contactul CR1 (linia a doua) prin
urmare, va fi deschis, iar sirena nu este alimentată. Totuşi, în cazul în care oricare
dintre comutatoare este acţionat, bobina CR1 se de-energizează, iar contactul CR1
75 C4-2012-13

revine la starea sa normală, şi anume, închis. Alarma este în acest caz alimentată şi se
va declanşa. Adiţional, dacă există un defect al conductorilor din prima linie a circuitului,
alarma se va declanşa. Dacă se descoperă că alarma este falsă, personalul clădirii va
ştii că sistemul de alarmă este defect şi necesită reperaţii.
Observaţie
Cu siguranţa, circuitul este mult mai complex decât era înaintea introducerii releului de
control CR1, iar sistemul poate şi în acest caz să nu funcţioneze corespunzător. Acest
lucru se poate întâmpla dacă apare un defect în linia a doua a circuitului. Dar totuşi,
acest circuit este mai sigur şi preferabil din acest punct de vedere.
‹ 3. Circuite permisive şi de blocare sus 5. Automate programabile (PLC) ›
5. Automate programabile (PLC)
Scurtă istorie
Înainte de apariţia circuitelor logice cu semiconductori, sistemele logice de control erau
proiectate şi realizate exclusiv cu relee electromecanice. Sistemele şi procesele ce
necesită un control de tip „pornire/oprire” abundă în industria modernă, dar aceste
sisteme sunt foarte rar realizate cu ajutorul releelor electromecanice sau a porţilor
logice discrete. În schimb, sunt folosite calculatoare digitale ce pot fi programate şi pot
realiza o varietate de funcţii logice.
MODICON-ul şi apariţia PLC-urilor
La sfârşitul anilor 1960, o companie americană pe nume Bedford Associates, a lansat
un dispozitiv de calcul denumit MODICON. Ca şi acronim, acesta s-ar traduce prin
„controler digital modular”. Acesta a devenit mai târziu şi numele diviziei care se ocupa
cu proiectarea, realizarea şi vânzarea acestor calculatoare de control speciale. Desigur,
au existat mai apoi şi alte companii care au dezvoltat propriile lor variante ale acestui
dispozitiv. Până la urmă, acest dispozitiv a primit denumirea de PLC (Programmable
Logic Controller), sau, în traducere, automat programabil. Scopul unui PLC a fost de a
înlocui releele electromecanice ca şi elemente de logică, locul lor urmând a fi luat de
calculatoare digitale semiconductoare. Un program stocat în memoria calculatorului
este capabil să simuleze funcţii logice realizate înainte prin interconectarea unui număr
mare de relee electromecanice.

Definiţia PLC-ului

Un automat programabil (PLC) are mai multe intrări, prin intermediul cărora
interpretează stări logice „înalte”, respectiv „joase”, stări transmise de senzori şi
comutatoare. De asemenea, există mai multe terminale de ieşire, prin intermediul
cărora dispozitivul transmite semnale „înalte” sau „joase” către contactoare, motoare,
lămpi, sau orice alte dispozitive ce pot fi controlate prin intermediul semnalelor de tip
„închis/deschis”. În încercarea de simplificare a modului de programare a PLC-urilor,
limbajul de programare a fost proiectat astfel încât să semene cu diagramele ladder.
Astfel, un inginer sau electrician obişnuit cu citirea diagramelor ladder, se poate adapta
relativ uşor mediului de programare a PLC-urilor pentru realizarea aceloraşi funcţii de
control.
PLC-urile sunt „calculatoare industriale”, prin urmare, semnalele de intrare şi de ieşire
sunt de 120 V c.a, asemenea releelor electromecanice de control. Deşi unele PLC-uri
au intrări şi ieşiri de c.c de amplitudini mai mici, aceasta este excepţia şi nu regula.
Structura unui PLC
Modul de conectare şi de programare diferă puţin în funcţie de modelul de PLC
ales, dar aceste caracteristici sunt similare pentru a permite o introducere „generală” a
programării PLC-urilor în acest capitol.
76 C4-2012-13

Figura alăturată este cea a unui PLC, văzut din faţă. Cele două terminale L 1 şi L2 din
partea superioară sunt pentru alimentarea circuitului intern al dispozitivului cu 120 V c.a.
Cele şase terminale din partea stângă se folosesc pentru conectarea dispozitivelor de
intrare, fiecare terminal reprezentând un „canal” diferit cu propria sa notaţie (X).
Terminalul din stânga jos (common), reprezintă masa, ce se conectează la L 2.
Semnalele de intrare

În interiorul carcasei PLC-ului, între fiecare terminal de intrare şi terminalul de masă,


există conectat câte un dispozitiv opto-izolator (LED). Acesta asigură o izolare electrică
între semnalul logic „înalt” de la intrare şi circuitul calculatorului, atunci când există o
tensiune de 120 V c.a. aplicată între terminalul respectiv şi masă. O intrare energizată
poate fi „citită” prin intermediul unui LED aprins pe carcasa dispozitivului.
Semnalele de ieşire

Semnalele de ieşire sunt generate de circuitul intern al PLC-ului prin activarea unui
dispozitiv de comutare (tranzistor, triac, sau chiar releu electromecanic), conectând
terminalul „Source” cu oricare dintre terminalii de ieşire „Y”. Terminalul „Source” este la
77 C4-2012-13

rândul său conectat de obicei la L 1. Din nou, o ieşire energizată poate fi citită de pe PLC
prin intermediul unui LED.
În acest fel, PLC-urile sunt o interfaţă între dispozitivele reale precum comutatoare,
lămpi, motoare, etc.
Programarea PLC-ului
Logica circuitului este stabilită în interiorul PLC-ului prin intermediul unui program
software. Acest program decide care ieşiri sunt activate (energizate) şi sub ce condiţii
de intrare. Chiar dacă programul însuşi pare a fi o diagramă logică, cu simboluri pentru
relee şi comutatoare, în realitate nu există astfel de dispozitive în interiorul PLC-ului.
Acestea sunt doar contacte şi bobine imaginare sau virtuale. Programul este introdus şi
vizualizat prin intermediul unui PC conectat la portul PLC-ului (programming port).

Să considerăm circuitul şi programul alăturat. Atunci când comutatorul buton nu este


apăsat, intrarea X1 a PLC-ului nu este alimentată. Urmărind programul, putem vedea un
contact X1 normal-deschis în serie cu o bobină Y 1. Puterea de pe bobina Y1 este şi în
acest caz zero. Prin urmare, ieşirea Y 1 a PLC-ului rămâne neactivată (de-energizată),
iar lampa indicatoare conectată pe această ieşire nu se aprinde.
78 C4-2012-13

Apăsarea butonului însă, face ca intrarea X 1 să fie alimentată. În acest caz, toate
contactele X1 ce apar în program vor fi acţionate. Energizarea intrării X 1 va duce la
închiderea contactului normal-deschis X1 alimentând bobina Y1. Când bobina Y1 a
programului este energizată, ieşirea reală Y 1 va deveni energizată, iar lampa conectată
pe ieşire se va aprinde.
Trebuie înţeles faptul că atât contactul X 1 cât şi bobina Y1, conductorii de legătură şi
„puterea” ce apar pe afişajul PC-ul, toate sunt elemente pur virtuale. Acestea nu există
ca şi componente reale. Ele există doar ca şi comenzi în interiorul programului unui
calculator.
PC-ul este utilizat doar pentru vizualizarea şi editarea softului PLC-ului, şi nu este
necesară prezenţa acestuia pentru funcţionarea dispozitivului. Odată ce programul a
fost încărcat în PLC de pe PC, calculatorul poate fi deconectat de la acesta, iar PLC-ul
va continua să funcţioneze conform instrucţiunilor programului. Afişajul (monitorul)
calculatorului este redat în aceste figuri doar pentru a ajuta la înţelegerea principiilor de
bază a funcţionării PLC-urilor.

Reprogramarea funcţiilor unui PLC

Adevărata utilitate a PLC-ului o putem vedea atunci când dorim modificarea


comportamentului unui sistem de control. Din moment ce PLC-ul este un dispozitiv
programabil, comportamentul acestuia poate fi modificat prin schimbarea comenzilor.
Nu este nevoie de o reconfigurare a componentelor electrice conectate la intrarea şi
ieşirea acestuia.
De exemplu, să presupunem că dorim ca circuitul de mai sus să funcţioneze exact
invers: apăsarea butonului duce la închiderea lămpii, iar eliberarea acestuia la
aprinderea ei. Soluţia „hardware” ar consta în înlocuirea comutatorului buton normal-
deschis cu un comutator buton normal-închis. Soluţia software, aplicabilă cu ajutorul
PLC-ului, constă în modificarea programului, astfel încât contactul X 1 să fie normal-
închis în loc de normal-deschis.
79 C4-2012-13

Sistemul modificat, în cazul în care comutatorul nu este acţionat (nu este apăsat), este
prezentat în figura alăturată.

Când butonul este acţionat, sistemul arată conform figurii alăturate.


Reutilizarea intrărilor
Un alt avantaj al implementării logicii de control în varianta software faţă de
hardware, este că semnalele de intrare pot fi refolosite în interiorul programului ori de
câte ori este necesar.
80 C4-2012-13

De exemplu, circuitul şi programul alăturat sunt proiectate pentru a energiza lampa în


cazul în care cel puţin două din cele trei comutatoare sunt acţionate (închise) simultan.
Pentru realizarea unui circuit echivalent folosind relee electromecanice, ar fi trebuit să
folosim trei relee cu câte două contacte normal-deschise fiecare. În total, am fi avut
nevoie de şase contacte, câte două pe fiecare intrare. Folosind un automat programabil
în schimb, putem refolosi intrările X ori de câte ori dorim prin intermediul soft-ului. Nu
este necesară adăugarea unor noi componente, deoarece fiecare intrare cât şi ieşire a
unui PLC nu este nimic mai mult decât un simplu bit (0 sau 1) stocat în memoria digitală
a dispozitivului. Nu există o limită teoretică a numărului de reutilizări ale acestor biţi.
Mai mult, din moment ce fiecare ieşire este, la fel, doar un bit stocat în memoria PLC-
ului, putem adăuga contacte (virtuale) în interiorul programului. De exemplu, putem
adăuga un contact acţionat de ieşirea Y a PLC-ului.
81 C4-2012-13

Controlul pornirii/opririi motorului electric

Să considerăm exemplul alăturat. Acesta este un sistem de control al pornirii şi opririi


unui motor.
Comutatorul buton conectat la intrarea X 1 este utilizat pentru pornirea motorului, iar
comutatorul conectat la intrarea X 2 pentru oprirea acestuia. Un contact adiţional
(virtual), adăugat în interiorul programului şi denumit Y 1, utilizează bobina de ieşire ca şi
contact de reţinere. Contactorul motorului continuă să fie acţionat (energizat) chiar şi
după ce butonul „start” este eliberat. Contactul X 2 normal-închis este colorat, ceea ce
înseamnă ca este închis şi conduce energie electrică.
82 C4-2012-13

Pornirea motorului

Dacă apăsăm butonul de „start”, intrarea X 1 se va energiza, închizând contactul X1 din


program. Bobina Y1 va fi energizată şi se va aplica o tensiune de 120 V c.a. pe bobina
contactorului motorului. Contactul paralel Y 1 se va închide şi el, iar circuitul va rămâne
într-o stare energizată.

Acum, dacă eliberăm contactorul „start”, contactul X 1 normal-deschis se va reîntoarce la


poziţia sa normală (deschis). Motorul va continua însă să funcţioneze, deoarece
contactul de reţinere intern Y1 continuă să alimenteze bobina Y 1, care menţine la rândul
ei energizată ieşirea Y1.
83 C4-2012-13

Oprirea motorului

Pentru a opri motorul, trebuie să apăsăm pentru o durată scurtă comutatorul „stop”.
Acesta va energiza intrarea X2 şi va deschide contactul (virtual) normal-închis.
Continuitatea circuitului înspre bobina Y1 va fi întreruptă.

Când butonul de „stop” este eliberat, intrarea X 2 se de-energizează. Contactul X 2 se


reîntoarce în poziţia sa normală (închis).
Motorul nu va reporni însă până când comutatorul de „start” nu este acţionat, datorită
„pierderii” contactului de reţinere Y1.
84 C4-2012-13

Auto-protecţia
Desigur, proiectarea PLC-urilor astfel încât să conţină elemente de auto protecţie este
la fel de importantă precum în cazul sistemelor cu relee electromecanice. Va trebui tot
timpul să luăm în considerare efectele unui circuit deschis (distrugerea firelor
conductoare, de exemplu) asupra dispozitivelor controlate. În exemplul de mai sus,
avem o problemă: în cazul în care conductorul comutatorului de intrare X 2 (butonul de
stop) prezintă un defect (circuit deschis), nu vom putea opri motorul!

Soluţia acestei probleme constă în inversarea logicii între contactul X 2 din interiorul
programului PLC-ului şi comutatorul „stop”. Când butonul „stop” nu este acţionat,
intrarea X2 este energizată, închizând contactul X 2 din interiorul programului. Acest lucru
permite pornirea motorului atunci când intrarea X 1 este energizată, şi permitea
funcţionarea acestuia chiar şi atunci când butonul „start” este eliberat. Când butonul
„stop” este acţionat, intrarea X2 se va de-energiza, deschizând contactul X 2 din soft-ul
PLC-ului şi oprind motorul. Prin urmare, nu există nicio diferenţa din punct de vedere
funcţional între această variantă şi cea precedentă.
Totuşi, în caz de defect al conductorului pe intrarea X 2 (circuit deschis), intrarea X2 va fi
de-energizată. Efectul este similar acţionării butonului de „stop”, rezultatul fiind oprirea
imediată a motorului în caz de defect. Această variantă este mult mai sigură decât cea
precedentă, în care, acelaşi tip de defect ar conduce la imposibilitatea opririi motorului.

Relee de control

Pe lângă elementele de intrare (X) şi de ieşire (Y), PLC-urile conţin bobine şi


contacte ce nu a legătură propriu-zisă cu exteriorul. Acestea sunt folosite asemenea
releelor de control (CR1, CR2, etc.) pentru asigurarea unui semnal logic inversor în caz
de nevoie.
85 C4-2012-13

Pentru demonstrarea funcţionării unui asemenea tip de releu „intern”, să consideram


circuitul şi programul alăturat. Acesta este proiectat pentru a simula o poartă ŞI-negat
cu trei intrări. Din moment ce elementele unui program PLC sunt desemnate printr-o
singură literă, vom nota releul de control intern cu C1 şi nu cu CR1.

În acest circuit, lampa va rămâne aprinsă atâta timp cât oricare dintre butoane rămâne
ne-acţionat (eliberat). Pentru a opri lampa, va trebui să acţionăm (apăsăm) toate cele
trei butoane.
Un mare avantaj al automatelor programabile, avantaj ce nu poate fi duplicat cu ajutorul
releelor electromecanice, constă în posibilitatea supravegherii şi controlului la distanţa a
dispozitivelor prin intermediul reţelelor de calculatoare.
‹ 4. Circuite logice cu autoprotecţie sus 07 - Algebra booleană ›
86 C4-2012-13
© 2000-2010, Tony R. Kuphaldt, traducerea şi adaptarea Mihai Olteanu; pentru condiţiile de copiere, modificare şi distribuire, vezi
licenţa Design Science License
Tema Drupal originală oferită de Tribute Media sub licenţă GPL.

Limbajul SFC
Sequential Function Chart este un limbaj grafic dar, fără ambiguităţi care ajută
programul în realizarea unei automatizări apropiate de cerințele descrise în caietul de sarcini.
Reprezentarea grafică a automatizării este numită adesea diagramă funcţională, grafcet
sau graf al automatizării.
El este elementul de comunicaţie dintre client (caietul de sarcini) şi proiectantul
sistemului de automatizare (program şi limbaj de programare). În acest sens se utilizează pentru
descrierea caietelor de sarcini numindu-se graf de specificare, dar şi în programare, caz în care se
numeşte graf de implementare.

SM0.1
MOV_B
En
MBO
I0 In Out

fig.1.40 Introducerea marcajului iniţial


prin LAD la automate Siemens

locaţia de memorie dedicată (MBO în cazul Simatic) cu semnul ce va rezulta în continuare. 1.41
Se stabilesc acţiunile corespunzătoare etapei iniţiale şi se revine la punctul de decizie IF.
Întrucât nu ne mai aflăm în ciclul 1, scriem:
- funcţiile de parcurgere a tranziţiilor fi pentru fiecare etapă i=1…t unde t este
numărul total de tranziţii al grafului automatizării;
- funcţiile de activare a etapelor ACi; i=1…e unde e este numărul total de etape ale
grafului automatizării;
- funcţiile de dezactivare a stărilor Di; i=1…e.

253.15

MOV (21)
I0
HR00

fig.1.41 Introducerea marcajului iniţial


prin LAD la automate OMRON
Se calculează noile valori ale variabilelor asociate etapei curente, iar apoi se precizează acţiunile
corespunzătoare acesteia, conform schemei:1,42
O sitiaţie specială este aceea în care o anumită acţiune se realizează cu ocazia mai
multor etape care sunt simultan active.
În acest caz nu se reprezintă individual perechile etapă – acţiune.1,43
87 C4-2012-13

Xi Ai Xi Ai

fig.1.42 Calculul noilor valori Xj Ai


ale variabilelor asociate şi a
acţiunilor corespunzătoare

fig.1.43 Realizarea aceleiaşi


acţiuni în mai multe (cu prilejul
mai multor) etape-Greşit

Xi Ai

Xj

fig.1.44 Realizarea aceleiaşi


acţiuni în mai multe (cu prilejul
mai multor) etape-Corect

ci se va apela la o funcţie SAU ca în figura 1,44


88 C4-2012-13

Cu 09