Sunteți pe pagina 1din 26

CAPITOLUL 2

STRUCTURA AUTOMATELOR PROGRAMABILE

2.1. Prezentare generală

Aşa cum s-a menţionat în capitolul anterior, AP sunt sisteme de calcul


special proiectate pentru controlul proceselor. Ele fac parte din marea
familie a sistemelor de control distribuite şi sunt sisteme de control în
timp real.
Hardware-ul unui AP constă într-o UCP bazată pe microprocesor (sau
microcontroler), o memorie, un număr de puncte de intrare (prin care
se primesc semnalele ce parvin de la senzori şi de la operator), un
număr de puncte de ieşire (prin care sunt transmise comenzile spre
elementele de execuţie şi semnalizările spre operator) şi interfeţe
seriale şi/sau paralele pentru conectarea AP cu dispozitive de progra-
mare, cu calculatoare PC sau cu alte AP [24, 25, 44, 45, 46, 53].
UCP (+ memoria), punctele de I/E şi circuitele de interfaţă sunt
construite sub forma unor module de dimensiuni tipizate care se
instalează în sloturile unui SB (rack, base). Acesta are rolul de a
încorpora în sloturile sale modulele din configuraţia sistemului într-o
formă compactă şi de a asigura comunicaţia între acestea. Unele SB
încorporează şi sursele de alimentare necesare funcţionării modulelor.
Alte modele de SB nu conţin aceste surse, dar permit instalarea unor
module ce conţin aceste surse. Figura 2.1 ilustrează o structură tipică
de AP.
30 Automate programabile

În funcţie de gradul de flexibilitate, AP pot fi de trei tipuri: compacte,


compacte extensibile şi modulare. AP compacte au o structură fixă, ce
nu poate fi modificată sau extinsă de către utilizator. Este cazul AP mici
(cu număr mic de puncte de I/E, de ordinul zecilor). Un exemplu în
acest sens îl reprezintă AP din familia Micrologix, produse de către
Allen Bradley.
AP compacte extensibile (de exemplu, cele din seria FX2N a firmei
Mitsubishi) permit adăugarea la un AP compact (denumit base unit) a
unui număr limitat de module de I/E, pentru a adapta structura
acestuia la necesităţile aplicaţiei. AP de acest tip fac parte din clasa AP
medii, cu un număr de puncte de I/E de ordinul sutelor.

Figura 2.1. Structură tipică de AP

AP modulare oferă cea mai mare flexibilitate. Există o mare varietate de


module din fiecare tip (UCP, de I/E, etc.) şi de SB, din care proiectantul
poate "croi" un sistem cât mai apropiat de cerinţele aplicaţiei
considerate. Exemple de AP din această clasă sunt SIMATIC S7 al firmei
Siemens, PLC – 5 al firmei Allen Bradley, etc. Din punct de vedere al
numărului de puncte de I/E, AP modulare se înscriu în clasa AP medii şi
mari (cu sute - mii de puncte de I/E).
Fiecare producător de AP pune la dispoziţia utilizatorului o gamă largă
de surse de alimentare, SB, module UCP şi de interfaţare şi module de
I/E. Aceştia din urmă vor alege acele componente ale sistemului care
corespund necesităţilor aplicaţiei considerate.
2. Structura automatelor programabile 31

Operaţiunea de selecţie a modulelor şi SB în funcţie de cerinţele


aplicaţiei se numeşte configurare. De aici reiese unul din marile
avantaje ale AP, şi anume flexibilitatea lor: ele pot fi configurate în
funcţie de specificul aplicaţiei.
În continuarea capitolului sunt discutate în detaliu aspectele prezentate
în acest paragraf, cu exemplificări pentru câteva tipuri de AP
considerate reprezentative [61, 62, 63, 64, 65, 66].

2.2. Module de I/E

După cum s-a arătat în primul capitol, modulele de I/E au rolul de a


asigura transferul semnalelor între AP şi instalaţie. Modulele de intrare
colectează semnalele ce provin de la senzorii instalaţiei şi de la
comenzile operatorului iar modulele de ieşire transmit comenzile
generate de către programul AP către elementele de execuţie ale
instalaţiei şi către confirmările/semnalizările operatorului. Semnalele
din proces se conectează la modulele de I/E prin cabluri individuale sau
multifilare, utilizând şuruburi sau conectori, în funcţie de tipul
terminalelor modulelor de I/E.
În funcţiei de tipul semnalelor electrice transferate, modulele de I/E pot
fi de două feluri: discrete şi analogice. În acest capitol vor fi discutate
modulele de I/E discrete, cele analogice făcând obiectul capitolului 6.

2.2.1. Module de intrări discrete

Modulele de intrări discrete servesc la conectarea la AP a semnalelor ce


provin de la senzori cu două stări: butoane, limitatoare,
microîntrerupătoare, etc. Semnalele sunt, de regulă, tensiuni continue
sau alternative, la diverse nivele (5 V, 24 V, 110 V, 220 V, c.c. sau c.a.). În
plus, aceste module realizează o conversie a semnalelor de intrare
dinspre proces la nivelul semnalelor utilizate în interiorul AP şi o
izolare electrică între AP şi semnalele de intrare. AP operează în
interior la +5 Vcc iar dispozitivele ce furnizează semnalele de intrare
pot opera la tensiuni diferite. Combinarea acestor două tensiuni poate
32 Automate programabile

cauza pagube mari şi, probabil, ireparabile în partea electronică a AP.


Pot interveni probleme, mai puţin evidente, şi datorită zgomotelor
electrice provenite de la vârfurile de tensiune pe liniile de semnal sau
de la curenţii de pe liniile de Nul c.a. sau – c.c. Diferenţele de potenţial
între masa AP şi a instalaţiei pot, de asemenea, cauza disfuncţionalităţi.
Problema zgomotelor va fi discutată în capitolul 9.
Există, deci, suficiente motive pentru separarea tensiunilor de
alimentare ale instalaţiei şi ale AP printr-un fel de barieră electrică, ca
în figura 2.2. Aceasta dă certitudinea că AP nu va fi afectat de nici un
eveniment apărut în instalaţie. Chiar şi un defect de cablu care va pune
380 V c.a. pe un modul de intrări de c.c. va afecta doar modulul de
intrare. AP şi celelalte module de I/E nu vor avea de suferit.
Acest lucru este realizat prin intermediul unor izolatori optici (un LED
şi un fototranzistor, care formează un optocuplor sau optoizolator,
prezentaţi în figura 2.3.a). Când curentul trece prin dioda D1, aceasta
emite lumină, cauzând comutarea tranzistorului TR1 din blocat în
saturat. Deoarece nu există conexiuni electrice între diodă şi tranzistor,
este obţinută o izolare electrică foarte bună (tipic 1-4 kV).

Figura 2.2. Protecţia AP faţă de defectele externe. Sursa de alimentare a


AP (L1/N1) este separată faţă de alimentarea instalaţiei (L2/N2).

O intrare de c.c. poate fi obţinută ca în figura 2.3.b. Când butonul este


apăsat, curentul va trece prin dioda D1, cauzând comutarea
tranzistorului TR1, transmiţând astfel prin buffer semnalul "1" către
logica internă a AP. Dioda D2 este un LED utilizat în detecţia defectelor
externe şi pentru a arăta prezenţa semnalului de intrare. Rezistorul R1
fixează tensiunea intrării. Modulele de intrări în c.c. sunt disponibile,
uzual, în gamele de tensiune: 5 V c.c. (TTL), 12-24 V, 24-50 V, 220 V c.a.
2. Structura automatelor programabile 33

O structură posibilă de circuit de intrare în c.a. este prezentată în figura


2.3.c. Puntea redresoare este utilizată pentru conversia curentului
alternativ în curent continuu complet redresat. Rezistorul R2 şi
condensatorul C1 formează un filtru (cu o constantă de timp de
aproximativ 50 ms), pentru a se putea furniza un semnal "curat" către
AP. Ca şi mai înainte, lampa LP1 lucrează ca un indicator de semnal de
intrare pentru detecţia defectelor iar rezistorul R3 fixează gama de
tensiune.

Figura 2.3. Izolarea optică a intrărilor: a) un izolator optic;


b) un punct de intrare în c.c.; c) un punct de intrare în c.a.
34 Automate programabile

Figura 2.4 prezintă un modul de intrare care poate recepţiona opt


semnale de intrare.

Figura 2.4. Un modul de intrare şi conectarea intrărilor la modul

2.2.2. Module de ieşiri discrete

Modulele de ieşiri discrete servesc la transmiterea comenzilor generate


de programul AP spre elementele de execuţie bipoziţionale (relee,
contactoare, becuri de semnalizare, etc.), la nivelele de tensiune
necesare. De regulă, aceste module necesită utilizarea unor surse
externe pentru comanda elementelor de execuţie.
Conexiunile de ieşire necesită şi ele o barieră pentru a limita efectele
defectelor inevitabile ale instalaţiei şi pentru a opri zgomotele electrice,
care "deranjează" procesorul. Interferenţa poate fi o mare problemă a
ieşirilor, deoarece modulele de ieşire controlează curenţi mari şi,
deseori, sarcinile externe sunt inductive (de exemplu, bobine).
Există două tipuri de bază de module de ieşire. În figura 2.5.a opt ieşiri
sunt alimentate de la o sursă comună, care este conectată la AP, dar este
separată de sursa AP.
2. Structura automatelor programabile 35

Figura 2.5. Tipuri de module de ieşire: a) modul cu ieşiri cu


sursă comună; b) modul cu ieşiri cu surse separate

Această structură ("cu sursă comună") permite cea mai simplă şi mai
ieftină instalare. Fiecare ieşire are un fuzibil de protecţie propriu pe
36 Automate programabile

modul şi o siguranţă sau întreruptor pe circuitul comun. Este important


să se proiecteze sistemul astfel încât un defect pe terminalul 3, de
exemplu, să ardă fuzibilul FS3 dar să nu deterioreze alimentarea
întregului modul, dezactivând prin aceasta toate ieşirile. Acest aspect,
denumit "selectivitate", este discutat în capitolul 9.
Frecvent, un AP trebuie să acţioneze ieşiri care au alimentări proprii. Un
exemplu tipic este comanda din diferite locuri a unui motor, unde
fiecare contactor are o sursă internă de 110 V separată, derivată de la
barele de 380 V. Dispunerea din figura 2.5.a nu poate fi utilizată aici fără
separarea contactelor releelor interne acţionate de AP.
Un modul de ieşiri izolate (figura 2.5.b) are ieşiri şi protecţii individuale
şi se comportă exact ca un comutator. Acesta poate fi conectat direct la
orice circuit din exterior. Dezavantajul constă în faptul că modulul este
mai complicat (două conexiuni/ieşire) şi trebuie luată în considerare
siguranţa muncii. De exemplu, un modul cu 8 ieşiri izolate poate primi
pe terminalele sale tensiuni diferite din 8 direcţii diferite.
După cum reiese din figura 2.5, sunt disponibile ieşiri pe releu (care dau
şi izolaţia dorită), dar ele nu sunt foarte utilizate. Un releu este un
dispozitiv electromagnetic cu părţi în mişcare şi, deci, cu o viaţă
limitată. Un dispozitiv pur electronic este mult mai fiabil. Mai mult, o
sarcină inductivă (bobina unui releu) poate cauza interferenţe (scântei),
care conduc la defectarea prematură a contactului.
În figura 2.6 este prezentat un circuit de ieşire pe tranzistor. Este
utilizată din nou izolarea optică pentru a obţine separarea între
instalaţie şi AP. Dioda D1 se comportă ca o diodă de tăiere a vârfurilor,
care reduce amplitudinea vârfurilor întâlnite la sarcinile inductive.
Figura 2.6.b arată acest efect. Starea ieşirii poate fi urmărită pe LED1.
Figura 2.6.a prezintă o ieşire care generează curent (source output).
Dacă sunt utilizate tranzistoare npn, rezultă un canal de ieşire care
absoarbe curent (sink output), ca în figura 2.6.c.
Informaţia că o ieşire generează curent sau absoarbe curent este
necesară pentru a şti cum să se conecteze sarcina la sursa de c.c.
externă:
- în cazul generării de curent (figura 2.6.a) una din bornele
sarcinii se leagă la borna (-) a sursei de c.c. externe; cealaltă
bornă a sarcinii se leagă, evident, la modulul de ieşire;
2. Structura automatelor programabile 37

- în cazul absorbţiei de curent (figura 2.6.c) una din bornele


sarcinii se conectează la borna (+) a sursei de c.c. externe.

Figura 2.6. Circuite de ieşire în c.c.: a) curentul de ieşire într-un


circuit de c.c.; b) tensiunea în punctul X – efectul diodei de
tăiere a vârfurilor; c) curentul de intrare prin circuit

Un modul de ieşiri în c.a. utilizează de obicei triace, un circuit tipic fiind


prezentat în figura 2.7.a. Triacele au avantajul că se dezactivează la
trecerea prin zero a curentului prin sarcină, aşa cum reiese din figura
2.7.b, ceea ce elimină interferenţele provocate la dezactivarea sarcinilor
inductive. Dacă este posibil, toate sarcinile în c.a. ar trebui să fie
acţionate cu triace, şi mai puţin cu relee.
Un modul de ieşire va avea o limită maximă a curentului pe care îl poate
suporta, determinată, mai degrabă, de traseele de pe cablajul imprimat
38 Automate programabile

decât de dispozitivele de ieşire. Există fixat şi un curent maxim pe


fiecare ieşire (tipic 2A) şi un curent total pe modul (tipic 6A). Uzual,
curentul total permis pe modul este mai mic decât suma curenţilor
individuali permişi de ieşiri. De aceea, în practică este bine să se reducă
curentul total pe modul prin conectarea unor ieşiri care nu pot fi
activate simultan (de exemplu, înainte/înapoi, rapid/încet, etc.).

Figura 2.7. Circuit de ieşiri în c.a.: a) starea ieşirii în c.a. – faptul


că ieşirea generează/consumă curent este irelevant la
ieşirile în c.a.; b) efectul ieşirii pe triac

2.3. Identificarea adreselor de I/E

În programele de AP, punctele de I/E sunt "văzute" sub forma unor


adrese. În general, adresele nu pot fi alocate direct de către proiectant
punctelor de I/E. În prima fază, fiecărui modul de I/E îi revine un grup
2. Structura automatelor programabile 39

de adrese determinat de poziţia modulului în SB. De aceea, aceste


adrese se numesc adrese hardware. Apoi, proiectantul va atribui fiecărui
punct de I/E câte o adresă unică din grupul de adrese ce revine
modulului considerat.
Din acest moment se crează o relaţie unică între fiecare semnal din
proces, punctul de I/E prin care acesta este conectat la AP şi adresa de
I/E care este utilizată în program pentru fiecare semnal. Prin urmare,
un semnal de I/E este identificat prin poziţia sa fizică într-un anumit SB
sau şir de cleme, prin poziţia modulului în acest sertar şi prin numărul
de ordine al bornei modulului la care este conectat semnalul.
Conectarea unui semnal la un alt punct de I/E atrage după sine
modificarea adresei semnalului respectiv.
Deci, la majoritatea producătorilor adresarea I/E este uzual bazată pe
ideea sertar de bază/modul/bit. În continuare vor fi prezentate câteva
exemple în acest sens.

2.3.1. Adresarea I/E la AP PLC-5 al firmei Allen Bradley

Acest AP poate avea până la 8 SB în versiunea 5/25. SB care conţine


procesorul este automat definit ca SB 0, adresele celorlalte SB (în gama
1÷7) putând fi alocate de către proiectanţi prin switch-uri
(comutatoare) de setare [61]. Aceste SB sunt conectate la procesor la
distanţă printr-un cablu de comunicaţie serială.
Există trei moduri diferite în care pot fi configurate SB Allen Bradley.
Aici va fi discutată cea mai simplă (şi, probabil, cea mai logică) metodă.
Fiecare SB conţine 16 poziţii pentru module, grupate în perechi, într-un
locaş denumit slot. Deci, un SB conţine 8 sloturi, numerotate 0÷7. Un
slot poate conţine un modul de intrare pe 16 puncte şi un modul de
ieşire pe 16 puncte sau două module pe 8 puncte (nu neapărat de
acelaşi tip). De exemplu, în figura 2.8 slotul 1 conţine un modul de
intrare pe 16 puncte şi un modul de ieşire pe 16 puncte iar slotul 2
conţine două module de ieşire pe 8 puncte.
Motivele pentru care modulele pe 8 puncte pot fi preferabile celor pe 16
puncte sunt discutate în capitolul 9.
40 Automate programabile

Adresarea intrărilor este:


I: Sertar Slot/Bit
unde Bit este de două cifre. Allen Bradley utilizează adresarea biţilor în
octal, astfel că numerele disponibile sunt 00÷07 şi 10÷17. Adresa I:
27/14 reprezintă intrarea 14 din slotul 7 al SB 2.

Figura 2.8. Dispunerea modulelor de I/E la PLC-5 Allen Bradley

Ieşirile sunt adresate într-o manieră similară:


O: Sertar Slot/Bit
astfel că O:35/06 este ieşirea 6 din slotul 5 al SB 3. Se observă că dacă
se utilizează module pe 16 puncte, o intrare şi o ieşire pot avea aceeaşi
adresă Sertar Slot/Bit, fiind diferenţiate doar de "I:" sau de "O:". Cu
module pe 8 puncte adresele de I/E nu vor mai putea fi aceleaşi. Figura
2.9 arată cum se adresează diverse semnale.

2.3.2. Adresarea I/E la AP SIMATIC S7 al firmei Siemens

În sistemele AP ale firmei Siemens I/E pe bit sunt aranjate în grupuri de


8 biţi, numite octeţi [62, 63, 66]. Un semnal este identificat prin
numărul său de bit (0÷7) şi numărul său de octet (0÷127).
Intrările sunt notate I<octet>.<bit> iar ieşirile sunt notate prin
Q<octet>.<bit>. I 9.4 este, deci, intrarea cu adresa de bit 4 din octetul 9
iar Q 63.6 este ieşirea cu adresa de bit 6 din octetul 63.
2. Structura automatelor programabile 41

Ca şi Allen Bradley, Siemens utilizează sloturi pentru instalarea


modulelor într-unul sau mai multe SB. Modulele disponibile au 16 biţi
(2 octeţi) sau 32 biţi (4 octeţi). Un sistem poate fi construit cu SB locale
conectate prin cablu de interfaţare paralelă sau cu SB comandate la
distanţă prin cablu serial.
SB locale sunt mai rapide şi înlătură unele probleme datorate ciclului
program, care apar la SB comandate la distanţă prin cablu serial, în
cazul aplicaţiilor de mare viteză, dar sunt totuşi locale. Ele nu pot fi mai
departe de câţiva metri de procesor.
Cea mai simplă formă de adresare este cu adresare fixă a sloturilor,
prezentată în figura 2.10.a. 4 octeţi sunt atribuiţi secvenţial fiecărui slot,
0÷3 pentru primul slot, 4÷7 pentru al doilea, ş.a.m.d. Intrarea I 12.4
este, deci, bitul 4 din primul octet al modulului din slotul 3 al primului
SB. Dacă sunt utilizate module de 16 biţi (2 octeţi) cu adresare fixă (4
octeţi), cei doi octeţi mai semnificativi din fiecare slot sunt pierduţi.

Figura 2.9. Identificarea semnalelor instalaţiei

În toate sistemele utilizatorul are posibilitatea alegerii adreselor de


octet. Aceasta este cunoscută ca adresare variabilă a sloturilor (figura
2.10.b). Prima adresă de octet şi domeniul (2 octeţi pentru modulele pe
16 biţi sau 4 octeţi pentru modulele pe 32 biţi) pot fi setate
independent pentru fiecare slot prin switch-urile din modulul adaptor
al fiecărui SB. Deşi poate fi setată orice combinaţie din cele permise,
42 Automate programabile

este recomandată utilizarea unei ordonări logice, similară celei din


figura 2.10.b.

Figura 2.10. Dispunerea modulelor la Siemens: a) adresare fixă


a sloturilor; b) adresarea variabilă a sloturilor. Adresele şi numărul
octeţilor (2 sau 4) pe modul sunt setate prin switch-uri. Adresarea
secvenţială nu este obligatorie, dar este recomandabilă.

Siemens utilizează notaţii diferite pentru ţări diferite, prin terminale de


programare multilimbaj. Un standard comun european este cel german,
unde E (Eingang = intrare) este utilizat pentru intrări iar A (Ausgang =
ieşire) este utilizat pentru ieşiri.

2.4. Adresarea memoriei interne de un bit

Pe lângă I/E, un AP are nevoie să memoreze semnale interne pentru


date cum ar fi "pompa funcţionează", "sistem fără defect", "defect la
partea de ungere", etc. Ar fi foarte costisitor să se aloce ieşiri adevărate
pentru aceste semnale, astfel că toate AP oferă memorii interne de un
bit. Acestea sunt cunoscute sub diverse nume, ca "relee auxiliare"
2. Structura automatelor programabile 43

(Mitsubishi), "fanioane" (Siemens), "spaţiu general de lucru" (GEM-80)


şi "memorie de un bit" (Allen Bradley). Adresele utilizate în programe
variază, desigur, de la producător la producător.
Mitsubishi utilizează notaţia Mnnn pentru adresă, cu nnn în octal. Ca la
majoritatea AP mici, structura memoriei este fixă şi nu poate fi definită
de utilizator. În altele, mai mari, utilizatorul poate defini orice număr
necesar de locaţii de memorie.
Notaţia la Siemens este F octet.bit, de exemplu F 27.06.
Memoria de bit la PLC-5 este notată prin B 3/n (de exemplu, B
3/192), unde n desemnează semnalul (bitul), B înseamnă memoria de
un bit iar 3 este obligatoriu şi apare atunci când PLC-5 memorează date
în fişiere. Astfel:
- memoriile de un bit sunt constituite în fişierul 3 (B3)
- temporizatoarele sunt constituite în fişierul 4 (T4)
- numărătoarele sunt constituite în fişierul 5 (C5).

2.5. Execuţia programelor

În esenţă, programele de aplicaţie sunt executate de către toate AP într-


o manieră ciclică, adică execuţiile aceluiaşi program se succed în timp. O
execuţie a programului de aplicaţie se numeşte ciclu program. La
primele modele de AP execuţia programelor era liniară, ramificaţiile de
program nefiind posibile.
Ulterior, programele de aplicaţie au putut utiliza ramificaţii şi repetiţii.
Modelele de AP moderne sunt prevăzute, în plus, cu posibilitatea
utilizării subrutinelor şi a transferului prin întreruperi.
Totuşi, indiferent de modelul de AP discutat, caracteristica
fundamentală a lor o reprezintă execuţia ciclică a programelor de
aplicaţie.

2.5.1. Ciclul program

Un program de AP se comportă ca o buclă executată permanent, ca în


figura 2.11.a. Instrucţiunile sunt executate succesiv şi, după execuţia
44 Automate programabile

ultimei instrucţiuni, operarea se reia cu execuţia primei instrucţiuni.


Deci, un AP nu comunică continuu cu procesul, ci intermitent.
O execuţie completă a programului din figura 2.11.a se numeşte ciclu
program (program scan, scan cycle) iar timpul necesar execuţiei sale se
numeşte durata ciclului program. Aceasta depinde de dimensiunea
programului şi de viteza procesorului, o valoare tipică fiind 2-5
ms/kcuvânt. Uzual, durata unui ciclu program este 10-50 ms.
Figura 2.11.a poate fi extinsă la figura 2.11.b. AP nu citeşte intrările în
ordinea specificată de program (cum s-ar putea înţelege din figura
2.11.a). La începutul fiecărui ciclu program AP citeşte starea tuturor
intrărilor şi o memorează în memoria sa. Când programul adresează o
intrare, va fi citită valoarea memorată a acesteia la începutul ciclului
program, şi nu valoarea curentă a ei.

Figura 2.11. Ciclul program şi organizarea memoriei: a) execuţia


programului; b) secvenţierea programului; c) organizarea memoriei

Pe de altă parte, ieşirile nu sunt modificate în momentul în care sunt


calculate. O zonă de memorie a AP, corespunzătoare ieşirilor, este
modificată de program şi, apoi, toate ieşirile sunt actualizate simultan la
sfârşitul ciclului program curent. Prin urmare, operaţiile majore ce
alcătuiesc un ciclu program sunt (în ordine): citire intrări, execuţie
program, actualizare ieşiri.
Se poate considera că memoria AP constă din patru zone, aşa cum apare
în figura 2.11.c. Intrările sunt citite şi memorate într-o zonă imagine a
intrărilor la începutul ciclului program iar ieşirile sunt calculate şi
2. Structura automatelor programabile 45

memorate într-o zonă imagine a ieşirilor, de unde sunt actualizate


(transferate spre punctele de ieşire) la sfârşitul fiecărui ciclu program.
Există şi o zonă de memorie utilizator, rezervată semnalelor
(variabilelor) interne, care sunt utilizate de program dar nu sunt
conectate direct cu exteriorul (temporizatoarele, numărătoarele,
memoriile de un bit, de un octet, semnalele de defect, etc.). Aceste trei
zone de memorie compun la Allen Bradley "zona datelor".
Această zonă de date este mai mică decât cum ar fi de aşteptat. Pentru
un AP cu 1000 de I/E discrete, această zonă ar consta din 26 locaţii de
memorie de 16 biţi (un cuvânt). O valoare analogică va necesita un
cuvânt. Temporizatoarele şi numărătoarele necesită câte două cuvinte
(unul pentru valoarea curentă şi unul pentru valoarea prestabilită) iar
16 memorii interne de un bit necesită un cuvânt. Majoritatea memoriei
este alocată, de fapt, celei de-a patra zone, zona programului.
Evident, ciclul program limitează viteza semnalelor la care AP trebuie
să răspundă. În figura 2.12.a, un AP este utilizat pentru numărarea unei
secvenţe de impulsuri rapide, cu frecvenţa mai mică decât cea de
execuţie a ciclului program. Se observă că AP numără corect.

Figura 2.12. Efectul ciclului program asupra impulsurilor rapide

În figura 2.12.b frecvenţa impulsurilor este mai mare decât


frecvenţa de execuţie a ciclului program şi AP începe să piardă
impulsuri. În cazul extrem din figura 2.12.c, blocuri întregi de impulsuri
pot fi total ignorate. De aceea, în general, orice semnal de intrare citit de
AP trebuie să fie prezent un timp mai mare decât durata ciclului
46 Automate programabile

program. Impulsurile mai scurte pot fi citite corect numai dacă se


întâmplă ca ele să fie prezente la momentele potrivite, lucru care nu
poate fi însă garantat. În cazul trenurilor de impulsuri, frecvenţa
impulsului trebuie să fie mai mică decât 1/(2 x durata ciclului
program). De exemplu, un AP cu o durată a ciclului program de 40 ms
poate urmări (teoretic) un tren de impulsuri cu frecvenţa 1/(2 x 0,04
s)=12,5 Hz. În practică există, însă, şi alţi factori de care trebuie să se
ţină cont la stabilirea acestei frecvenţe (cum ar fi filtrele modulelor de
intrare). Prin urmare, se recomandă o mare atenţie la estimarea acestor
viteze.
Mai puţin evident, un ciclu program poate cauza un decalaj aleator între
intrări şi ieşiri. În figura 2.13 este prezentată o intrare care trebuie să
determine activarea imediată a unei ieşiri. În cazul cel mai bun (figura
2.13.a), intrarea apare la începutul ciclului program, ducând la activarea
ieşirii după un ciclu program. În figura 2.13.b intrarea a apărut imediat
după citirea intrărilor, fiind văzută de AP abia la începutul celui de al
doilea ciclu program. Prin urmare, ieşirea va fi activată cu o întârziere
de două cicluri program faţă de momentul activării intrării. Astfel,
timpul de răspuns poate varia între 1 şi 2 durate de ciclu program.

Figura 2.13. Efectul ciclului program asupra timpului de răspuns:


a) cazul cel mai favorabil; b) cazul cel mai defavorabil

În majoritatea aplicaţiilor acest decalaj de câteva ms nu este important.


De exemplu, nu poate fi văzut în răspunsul unei instalaţii la apăsarea
2. Structura automatelor programabile 47

unui buton. Totuşi, în aplicaţiile unde sunt necesare acţiuni rapide,


acest decalaj poate fi critic. Într-un exemplu tipic, un material ce trecea
cu viteza de 15 m/s trebuia tăiat de către o instalaţie comandată de un
AP pe baza semnalului de la o fotocelulă. Cele 30 ms ale duratei ciclului
program au condus la variaţii ale lungimii de tăiere de 0,03 s x 15 m/s =
0,45 m.
Pentru a putea aborda cu succes asemenea aplicaţii, producătorii de AP
oferă o gamă largă de module speciale, cum ar fi, de pildă,
numărătoarele de mare viteză.
Însăşi redactarea programului poate conduce la întârzieri nedorite,
dacă logica programului lucrează împotriva execuţiei programului. AP
începe fiecare ciclu program cu prima instrucţiune şi procesează toate
instrucţiunile următoare într-o manieră secvenţială, către sfârşitul
programului. Apoi actualizează ieşirile, citeşte intrările, execută
instrucţiunile, ş.a.m.d. În figura 2.14.a o intrare determină o ieşire, dar
nu direct, ci prin intermediul a cinci paşi (poate fi condiţionată de un
numărător sau de prezenţa unor alte condiţii necesare). Logica
programului decurge, în acest caz, împotriva ciclului program.

Figura 2.14. Decalaje datorate programului: a) logica este împotriva


execuţiei programului (5 cicluri program între citirea intrării şi
generarea ieşirii); b) logica este conformă cu execuţia programului (1
ciclu program între citirea intrării şi generarea ieşirii)

În primul ciclu program intrarea determină evenimentul A. În urmă-


torul ciclu program evenimentul A determină evenimentul B, ş.a.m.d.,
până când, după cinci cicluri program de la activarea intrării, eveni-
mentul D determină activarea ieşirii. Dacă programul este realizat ca în
figura 2.14.b, întreaga secvenţă are loc într-un singur ciclu program.
Erorile din figura 2.14.a sunt evidente, dar aceste efecte pot apare
deseori atunci când realizarea programului nu este gândită cu grijă.
48 Automate programabile

Asemenea efecte pot fi utilizate în mod constructiv, de exemplu pentru


a produce deliberat impulsuri cu durata de un ciclu program.
Efectele duratei ciclului program devin mai complexe în cazul existenţei
unor SB de I/E comandate la distanţă şi conectate prin cablu serial. În
general, starea acestor I/E este citită de către un scaner de I/E, ca în
figura 2.15, care, uzual, nu este sincronizat cu ciclul program. De
exemplu, cu o durată a ciclului program de 30 ms şi cu un ciclu de
comandă la distanţă a I/E de 50 ms, cel mai scurt timp de răspuns poate
fi de 30 ms, dar cel mai mare poate fi de 110 ms (cu o I/E pierzând la
limită ciclul I/E iar ciclul I/E pierzând la limită ciclul program).

Figura 2.15. Efectul ciclurilor program şi de I/E

Pentru reducerea efectului duratei ciclului program, producătorii de AP


oferă mai multe facilităţi. Tipic, există posibilitatea utilizării unor
module de I/E inteligente şi independente şi există posibilitatea secţio-
nării programelor în zone cu timpi de execuţie diferiţi. De exemplu,
becurile de la panoul de comandă necesită un timp de răspuns de 0,5 s –
1 s, permiţând ca alte zone ale programului să se execute mai rapid.
Pentru a reduce timpul de răspuns la unele semnale de intrare
considerate foarte importante, care necesită acţiuni urgente (cum sunt
semnalele de avarie, de exemplu) există posibilitatea transferului prin
întreruperi (vezi paragraful 2.5.4). Aceasta permite citirea intrării şi
activarea ieşirii independent de ciclul program, cu avantajul dat de un
2. Structura automatelor programabile 49

timp de răspuns minim, dar cu implicaţii asupra ciclului program. Un


transfer prin întreruperi va determina mărirea duratei ciclului program
curent, cu implicaţii asupra celorlalte semnale de I/E.
De asemenea, o programare defectuoasă a transferului prin întreruperi
poate conduce la intrarea programului în buclă infinită. Pentru evitarea
buclelor infinite, AP au fost prevăzute cu un ceas de gardă (watchdog
timer). Acesta este resetat la începutul fiecărui ciclu program şi
măsoară timpul în care se execută fiecare ciclu program.
Valoarea prestabilită a sa este fixată de către producător, ţine cont de
timpii de citire a intrărilor şi de actualizare a ieşirilor şi corespunde
celui mai lung program posibil (dat de dimensiunea memoriei program)
care utilizează instrucţiunile cele mai mari consumatoare de timp.
Dacă valoarea măsurată a duratei ciclului program curent este mai mică
decât valoarea prestabilită a ceasului de gardă, acesta permite execuţia
unui nou ciclu program. În caz contrar, execuţia programului este
terminată şi toate ieşirile sunt dezactivate.

2.5.2. Ramificaţii şi repetiţii

Ramificaţiile sunt structuri de program ce permit salturi (condiţionate


sau necondiţionate) în program peste un grup de instrucţiuni. Pot fi
distinse următoarele tipuri de salturi: absolute (înainte, înapoi, la o
adresă dată) sau relative (peste un număr dat de instrucţiuni).
Principiul execuţiei acestor salturi este ilustrat în figurile 2.16.a-c.
Repetiţiile permit execuţia în mod repetat a unui grup de instrucţiuni
de un număr predeterminat de ori. Cea mai utilizată structură repetitivă
este cea de tip DO (figura 2.16.d). Ea are forma generală DO n ... END şi
determină execuţia de n ori a instrucţiunilor cuprinse între
instrucţiunile DO şi END.

2.5.3. Subrutine

Subrutinele sunt secvenţe de instrucţiuni (asemeni programelor)


destinate rezolvării unor probleme specifice, construite în această
50 Automate programabile

manieră în scopul apelării lor în mod recursiv. Execuţia unei subrutine


este determinată de execuţia în programul principal a unei instrucţiuni
de apel de subrutină (sau de salt la subrutină).

Figura 2.16. Ramificaţii şi repetiţii: a) salt absolut înainte; b) salt


absolut înapoi; c) salt relativ; d) buclă DO

O astfel de instrucţiune are ca efect abandonarea execuţiei instrucţiunii


următoare din programul principal în schimbul execuţiei secvenţei de
instrucţiuni corespunzătoare subrutinei apelate, amplasată într-o altă
zonă de memorie.
Această secvenţă se încheie cu o instrucţiune de revenire în programul
principal, care determină reluarea execuţiei acestuia din punctul în care
a fost întrerupt de către instrucţiunea de apel de subrutină.
În principiu, subrutinele sunt utilizate în două scopuri: pentru
economisirea spaţiului de memorie şi pentru structurarea programelor.
În conformitate cu primul scop, dacă o secvenţă de instrucţiuni trebuie
utilizată de mai multe ori într-un program, există tot interesul
transformării acestei secvenţe într-o subrutină, care va apare o singură
dată în memoria program (figura 2.17.a).
A doua utilizare apare îndeosebi în cazul aplicaţiilor complexe. Există o
tendinţă naturală de a descompune aceste aplicaţii în subansamble mai
simple, cărora le corespund programe mai scurte şi mai uşor de
urmărit. Devine astfel posibilă structurarea ierarhică a modulelor ce
compun programul de aplicaţie. Va exista un modul de organizare, care
2. Structura automatelor programabile 51

va defini interacţiunile dintre modulele aflate la nivelul ierarhic inferior.


Fiecare din aceste din urmă module va putea fi descompus la rândul
său, ş.a.m.d.

Figura 2.17. Utilizarea subrutinelor: a) principiul execuţiei subrutinelor;


b) structurarea programelor cu ajutorul subrutinelor

Fiecare modul va avea, prin urmare, o misiune bine definită. Printr-o


organizare judicioasă a descompunerii, se poate ajunge chiar la situaţii
în care programele corespunzătoare diferitelor module să aibă
dimensiuni care să permită sesizarea dintr-o singură privire a
întregului conţinut informaţional al programelor corespunzătoare
modulelor. Modul în care subrutinele permit structurarea programelor
este ilustrat în figura 2.17.b.

2.5.4. Transferul prin întreruperi

Din cele prezentate până acum reiese că un AP poate lua în considerare


evenimentele externe numai pe acea porţiune a ciclului program în care
efectuează citirea intrărilor. Există, însă, aplicaţii în care este necesar
din partea AP un timp de reacţie mai rapid decât cel dat de către durata
ciclului program. Este cazul aşa-numitelor evenimente urgente.
Aşa cum s-a amintit în paragraful 2.5.1, una din cele mai eficiente soluţii
de tratare a lor o reprezintă transferul prin întreruperi. Sursele posibile
52 Automate programabile

de întreruperi sunt conectate (individual sau prin intermediul unor


porţi SAU) la liniile de întreruperi ale AP.
Procesorul UC analizează automat starea acestor linii după execuţia
fiecărei instrucţiuni. Dacă detectează o cerere de întrerupere, el
suspendă execuţia programului în curs şi salvează (într-o zonă de
memorie prevăzută special pentru asemenea situaţii) toate informaţiile
necesare reluării ulterioare a execuţiei programului întrerupt în acelaşi
context. După aceasta, procesorul UC trece la execuţia unei subrutine
aparte, corespunzătoare evenimentului care a generat întreruperea.
Odată executată această subrutină, execuţia programului principal este
reluată din punctul în care a fost întrerupt.

2.6. Comanda la distanţă

Primele AP au fost organizate sub forma unui procesor şi a unui număr


de module de I/E montate în SB locale. Însă, într-o uzină mare, cu
distribuire mare a instalaţiilor, utilizând această structură toate
semnalele ar trebui aduse la un punct central în cabluri multifilare lungi
şi costisitoare. De asemenea, punerea în funcţiune şi depanarea ar
deveni mult mai dificile, deoarece semnalele pot fi vizualizate doar la o
anumită distanţă de instalaţia testată [54].
De aceea, pentru toate sistemele mici şi mari, producătorii de AP au
prevăzut posibilitatea montării SB cu module de I/E la distanţă de
procesor şi a conectării acestor SB cu procesorul prin simple (şi ieftine)
cabluri ecranate cu două fire sau prin cabluri cu fibre optice [8]. Astfel,
SB pot fi montate la depărtare de kilometri de procesor.
Există numeroase avantaje ale acestei tehnici. În mod evident, se reduce
costul cablurilor prin plasarea SB la locul aplicaţiei, fiind necesare doar
cabluri multifilare scurte.
Cabluri de lungime mare vor fi necesare doar pentru cablurile de
comunicaţie (care sunt ieftine) şi pentru semnalele de
avertizare/alarmă (care nu trebuie transmise prin cablul de
comunicaţie, aspect discutat în capitolul 9).
Mai puţin evident, comanda la distanţă permite realizarea unor unităţi
compacte, conectate la un SB dispus în imediata apropiere a instalaţiei,
2. Structura automatelor programabile 53

care pot fi testate înaintea livrării şi instalării. De exemplu, un sistem


conţine trei SB comandate la distanţă (slave), conectate la un AP de
comandă, montat într-o substaţie la 500 m distanţă, printr-un cablu de
comunicaţie la distanţă. La aceasta se adaugă cabluri pentru surse şi
conexiuni pentru semnalele de alarmă. Aceasta permite ca instalaţia,
împreună cu SB locale (slave), să fie testată înainte de a fi adusă la locul
unde va funcţiona. Idei similare pot fi aplicate la orice instalaţie ale
cărei semnale de I/E trebuie conectate la un AP.
Dacă este utilizată comanda la distanţă, trebuie prevăzută o ieşire
suplimentară la SB pentru a putea conecta terminale de programare. Se
pot pierde toate avantajele dacă proiectantul poate monitoriza
operaţiile doar dintr-un punct central de comandă aflat la sute de metri
de instalaţie.
Din fericire, producătorii şi-au dat seama despre aceste avantaje şi au
prevăzut posibilitatea conectării terminalelor de programare la
procesor local, prin cabluri ecranate cu două fire. Aspectele referitoare
la comunicaţia serială vor fi discutate în capitolul 7.

2.7. Avantajele controlului cu AP

Fiecare sistem de control parcurge patru etape de la concepţie la


punerea în funcţiune a instalaţiei. Un sistem cu AP aduce avantaje la
fiecare etapă.
1. Prima etapă este proiectarea. Instalaţia este studiată şi sunt
stabilite strategiile de control. Utilizând sisteme convenţionale
(de exemplu, cu relee), proiectarea trebuie finalizată înaintea
începerii realizării dulapului de comandă. Cu un sistem cu AP
este suficientă cunoaşterea dimensiunilor sistemului şi numărul
şi tipul semnalelor de I/E. În această etapă stabilirea numărului
de module de I/E se poate face cu o rezervă, pentru eventualele
omisiuni şi extensii ulterioare.
2. Urmează realizarea. Un sistem cu AP este alcătuit din
componente standard. În acest timp este începută scrierea
programului (sau cel puţin a structurii sale).
54 Automate programabile

3. Următorul pas este instalarea, cu costuri mari datorate


conectării senzorilor, a elementelor de execuţie, a comenzilor şi
confirmărilor operatorului. Un sistem de AP distribuit (discutat
în capitolul 7), utilizând legături seriale şi ansambluri gata
construite şi testate, poate simplifica instalarea şi poate aduce
uriaşe beneficii. Majoritatea programelor de AP sunt scrise în
această etapă.
4. Ultima etapă este punerea în funcţiune. Aici apar adevăratele
avantaje. Nici o instalaţie nu merge bine din prima încercare.
Deoarece proiectantul sistemului cu AP a prevăzut memorie de
rezervă, canale de I/E suplimentare şi câteva fire de legătură
suplimentare în cabluri, majoritatea modificărilor pot fi făcute
rapid şi relativ ieftin. Un alt avantaj este că toate modificările
sunt înregistrate în programul AP şi, deci, modificările la
punerea în funcţiune nu vor rămâne neînregistrate, aşa cum se
întâmplă deseori în sistemele convenţionale.
Există o a cincea etapă, suplimentară, întreţinerea. Aceasta începe
odată cu funcţionarea instalaţiei şi are implicaţii asupra producţiei.
Toate instalaţiile au defecte, fiecare din ele cu un mod propriu de
manifestare. Un sistem cu AP oferă o unealtă foarte puternică pentru
realizarea diagnozei. Acest aspect este discutat în capitolul 9.
O instalaţie suportă, de asemenea, o serie de modificări pe parcursul
timpului, în vederea măririi producţiei, a eliminării căderilor sau
datorită necesităţilor de modificare. Un sistem cu AP poate fi modificat
foarte uşor iar programul AP va reflecta automat schimbările făcute.

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