Sunteți pe pagina 1din 30

396

CAPITOLUL 7
AUTOMATE PROGRAMABILE
7.1. Prezentare general a automatelor programabile
Automatele programabile (Programmable Logic Controllers PLCs) 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 automat programabil const ntr-o unitate central (UC) bazat pe
microprocesor (sau microcontroler), o memorie, un numr de puncte de intrare (prin care se
primesc semnalele ce parvin de la senzori i de la operator), un numr de puncte de ieire
(prin care sunt transmise comenzile spre elementele de execuie i semnalizrile spre
operator) i interfee seriale i / sau paralele pentru conectarea automatului programabil cu
dispozitive de programare, cu calculatoare PC sau cu alte automate programabile . Unitatea
central (+ memoria), punctele de I/E i circuitele de interfa sunt construite sub forma unor
module de dimensiuni tipizate care se instaleaz n sloturile unui sertar de baz (rack, base).
Acesta are rolul de a ncorpora n sloturile sale modulele din configuraia sistemului ntr-o
form compact i de a asigura comunicaia ntre acestea. Unele sertare de baz ncorporeaz
i sursele de alimentare necesare funcionrii modulelor. Alte modele de sertare de baz nu
conin aceste surse, dar permit instalarea unor module ce conin aceste surse. De asemenea,
unele automate programabile nu necesit modul de interfaare, ntruct modulul UC
ncorporeaz i circuitele de interfa. Fgura 7.1 ilustreaz o structur tipic de automat
programabil.
Fig. 7.1. Structur tipic de automat programabil
n funcie de gradul de flexibilitate, automatele programabile pot fi de trei tipuri:
compacte, compacte extensibile i modulare. Automatele programabile compacte au o
structur fix, ce nu poate fi modificat sau extins de ctre utilizator. Este cazul automatelor
programabile mici (cu numr mic de puncte de I/E, de ordinul zecilor). Un exemplu n acest
sens l reprezint automatele programabile din familia Micrologix, produse de ctre Allen
Bradley.
Automatele programabile compacte extensibile (de exemplu, cele din seria FX2N a
firmei Mitsubishi permit adugarea la un automat programabil compact (denumit base unit) a
unui numr limitat de module de I/E, pentru a adapta structura acestuia la necesitile
aplicaiei. Automatele programabile de acest tip fac parte din clasa automatelor programabile
medii, cu un numr de puncte de I/E de ordinul sutelor.
397
Automatele programabile modulare ofer cea mai mare flexibilitate. Exist o mare
varietate de module din fiecare tip (UC, de I/E, etc)i de sertare de baz, din care proiectantul
poate croi un sistem ct mai apropiat de cerinele aplicaiei considerate. Exemple de
automate programabile din aceast clas sunt SIMATIC S5 al firmei Siemens, PLC 5 al
firmei Allen Bradley, etc. Din punct de vedere al numrului de puncte de I/E, automatele
programabile modulare se nscriu n clasa automatelor programabile medii i mari (cu mii de
puncte de I/E). n lipsa unor precizri, automatele programabile discutate vor fi considerate
implicit compacte extensibile sau modulare.
Fiecare productor de automat programabil pune la dispoziia utilizatorului o gam
larg de surse de alimentare, sertare de baz, module UC i de interfaare i module de I/E.
Acetia din urm vor alege acele componente ale sistemului care corespund necesitilor
aplicaiei considerate. Operaiunea de selecie a modulelor i sertarului de baz n funcie de
cerinele aplicaiei se numete configurare. De aici reiese unul din marile avantaje ale
automatelor programabile, i anume flexibilitatea lor: ele pot fi configurate n funcie de
specificul aplicaiei.
n continuarea capitolului sunt discutate n detaliu caracteristicile automatelor
programabile, cu exemplificri pentru pentru cteva tipuri reprezentative, iar n finalul lui sunt
formulate concluziile referitoare la utilizarea automatelor programabile n controlul
proceselor, [7].
7.2. Module de intrare
7.2.1. Module de intrri discrete
Modulele de intrri discrete servesc la conectarea la automatul programabil a
semnalelor ce provin de la senzori cu dou stari (butoane, limitatoare, etc.), semnale ce pot fi
n c.c. sau n c.a., la diverse tensiuni. Aceste module realizeaz o izolare electric ntre
semnalele de intrare i automatul programabil i o conversie a acestor semnale la nivelul
semnalelor utilizate n interiorul automatului programabil (uzual TTL).
Izolarea electric este realizat pentru fiecare semnal prin intermediul unor izolatori
optici, realizai cu un LED i un fototranzistor, ca n figura 7.2.a. Deoarece nu exist
conexiuni electrice ntre diod i tranzistor, este obinut o foarte bun izolare electric (tipic
1-4 KV).
Un modul de intrri discrete conine pentru fiecare punct de intrare cte un canal de
intrare. Structura tipic a unui canal de intrare n c.c. este ilustrat n figura 7.2.b.
Cnd butonul este apsat, curentul va trece prin dioda D1, determinnd comutarea
tranzistorului TR1, transmindu-se astfel semnalul prin buffer ctre UC. Dioda D2 este un
LED, cu rol de confirmare a semnalului de intrare. Canalele modulelor de intrri discrete n
c.a. au structura similar cu cele n c.c., fiind prevzute n plus cu o punte redresoare i un
filtru.
Conectarea semnalelor se poate face prin uruburi (individual pentru fiecare semnal),
dac modulul este prevzut cu bloc de terminale, sau printr-un conector tipizat, dac modulul
este prevzut cu conector. Figura 7.2.c arat modul de conectare a semnalelor de intrare la un
modul de intrri discrete pe 8 puncte, ce necesit surs extern.
Majoritatea productorilor de automate programabile furnizeaz module de intrri
discrete pe 8, 16 sau 32 de puncte de intrare, la diverse tensiuni continue sau alternative (5
Vcc, 12-24 Vcc/ca, 24-50 Vcc/ca, 110-220 Vca), cu sau fr necesitatea utilizrii unor surse
externe.
398
Fig. 7.2. a) Un izolator optic; b) un canal al unui modul de intrri discrte n c.c. ;
c) Conectarea semnalelor la un modul de intrri discrete
7.2.2. Module de intrri analogice
Un modul de intrri analogice convertete un semnal analogic cu variaie continu
ntr-o reprezentare digital care poate fi utilizat apoi de ctre program. Semnalele analogice
acceptate de ctre aceste module au valori tipizate (0-5 V, 0-10 V, 10 V, 0-20 mA, 4-20 mA,
etc.). Aceast conversie analog-numeric este inevitabil nsoit de o diminuare a rezoluiei,
care depinde de numrul de bii utilizai pentru reprezentarea numeric a unui semnal
analogic. Tabelul 7.1 prezint erorile introduse de conversia analog- numeric, n funcie de
numrul de bii utilizai pentru conversie.
Tabelul 7.1. Erorile introduse de conversia analog numeric
Numr de bii Domeniu Eroare ()
8
10
12
0-255
0-1023
0-4095
0,4
0,1
0,025
La un multiplexor de 4 ci care
selecteaz pe rnd n inel fiecare canal, fiecare
semnal analogic va fi citit o dat la fiecare 80
ms. La acest timp trebuie adugat durata
ciclului program i timpul de comunicaie, dac
modulul analogic este montat ntr-un sertar de
baz comandat la distan.
Este foarte important ca timpul de
conversie s fie suficient de mic. Fiecare
semnal analogic va avea o frecven maxim la
Fig. 7.3. Lrgimea de band i
frecvena critic
399
care se va putea modifica i pote fi reprezentat printr-un grafic amplitudine-frecven, ca n
figura 7.3.
Pentru a extrage eantioanele corecte, semnalul trebuie eantionat cu o frecven mai
mare dect 2 f
c
. n sistemele reale, f
c
este rareori cunoscut cu precizie i, uzual, este aleas o
rat de eantionare de 4-10 f
c
.
n general, automatele programabile lucreaz cu cuvinte de 16 bii. Dac un modul de
intrri analogice ocup un slot n sertarul de baz i citete o sigur intrare analogic, acest
lucru va fi o risip costisitoare de adrese de I/E. Un modul de intrri discrete cu 16 puncte
cost uzual aproximativ un sfert din preul unui modul de intrri analogice. Acest neajuns
poate fi eliminat prin utilizarea multiplexrii, aa cum reiese din figura 7.4.
Aici, patru semnale de intrare analogice, separate unul de altul prin amplificatoare de
izolare, sunt selectate pe rnd prin comutatoare electronice i sunt convertite ntr-o valoare
numeric cu un singur convertor analog-numeric. Asemenea module proceseaz, de obicei, 4,
8 sau 16 semnale de intrare analogice.
Un modul de intrri analogice cu 8 canale i 12 bii rezoluie va furniza 8 valori
numerice n gama 0-4095. De regul, acestea trebuie preluate de ctre program i convertite n
uniti inginereti. De aceea, un automat programabil trebuie s rezolve dou probleme: cum
Fig. 7.4. Modul de intrri analogice cu 4 canale multiplexate
s preia data multiplexat de la modulul de intrri analogice i cum s utilizeze aceast dat n
program. n principiu, exist 2 moduri de preluare a datelor, reprezentate n figura 7.5.
Fig. 3.5. Modaliti de conectare la automate programabile a modulelor de intrri analogice:
a) prin selecie direct; b) prin funcionare continu
Automatul programabil selecteaz canalul dorit prin trimiterea unei adrese pe 3 sau 4
bii ca o instruciune de ieire ctre modul, mpreun cu comanda convertete. Modulul
trimite napoi un semnal Gata i rezultatul conversiei pe 12 bii, ce poate fi citit printr-o
instruciune de intrare. Aceast metod are avantajul c programatorul poate alege perioade de
eantionare diferite pentru fiecare canal.
400
Metoda din figura 7.5.b este mai des utilizat. Un bloc de locaii de memorie din
memoria automatului programabil este asociat direct cu modulul de intrri analogice. Acesta
funcioneaz continuu, nscriind valori numerice n locaiile de memorie, de unde pot fi citite
direct de ctre program.
Conversia semnalului din forma primar pe 12 bii n uniti inginereti se face
conform relaiei:
( )
min V
4095
min V max V N
VM +

= (7.1)
unde: VM este valoarea msurat (n uniti inginereti), N este valoarea semnalului n forma
primar pe 12 bii, Vmax este valoarea maxim a semnalului n uniti inginereti
(corespunztoare lui 4095) iar Vmin este valoarea minim a semnalului n uniti inginereti
(corespunztoare lui 0).
PLC-5 al firmei Allen Bradley citete semnalele analogice cu un modul de intrri
analogice (1771-IFE) care poate citi, n forma sa cea mai simpl, 8 intrri analogice. UC
comunic cu modulul prin intermediul unor instruciuni numite transferuri pe bloc, care
transfer data la/de la un bloc de locaii de memorie. Transferurile de date de la UC la modul
sunt numite transferuri de scriere bloc (BTW Block Transfer Writes) iar transferurile de la
modul n memorie se numesc transferuri de citire bloc (BTR Block Transfer Reads).
Modulul de intrri analogice utilizeaz ambele instruciuni BTW i BTR. Instruciunea
BTW este utilizat o singur dat, dup pornirea automatului programabil, pentru
configurarea modulului iar instruciunea BTR este utilizat ulterior pentru citirea datelor, aa
cum reiese din figura 7.6.
Instruciunea BTW definete
comportarea modulului: dac va furniza date
n cod binar sau BCD, dac se vor utiliza 8
semnale difereniale sau 16 semnale raportate
la un 0 V comun, valorile minime i maxime
ale domeniilor de intrare (Vmax i Vmin din
(7.1)) pentru fiecare canal, precum i o
constant de timp de filtrare (pentru a aplica
semnalului de intrare un filtru de ordinul
1, care ajut la nlturarea zgomotelor Fig. 7.6. Instruciunile BTW i BTR
din semnal). Modulul 1771-IFE ofer o
constant de timp de filtrare de maxim 1s. Pentru valori mai mari ale acestei constante,
programatorul poate construi o rutin de filtrare separat.
Modulul utilizeaz toate aceste informaii pentru a furniza citiri direct n uniti
inginereti. De exemplu, figura 7.7.a ilustreaz o treapt de program care transmite 15 cuvinte
Fig. 7.7. a) Instruciunea BTW; b) Instruciunea BTR
401
de date ncepnd de la locaia N 11:10 ctre modulul din poziia din stnga a slotului 2 al
sertarului de baz 3 ori de cte ori B 3/5 este nchis.
Odat fcut definirea, valorile pot fi citite la intervalele de timp necesare cu
instruciunea BTR, ca n figura 7.7.b, n care sunt citite 20 de valori de la modulul aflat n
poziia din stnga a slotului 5 al sertarului de baz 4 ori de cte ori B 3/72 este 1. Valorile sunt
memorate ncepnd cu locaia N 12:0.
7.3. Module de ieire
7.3.1. Module de ieiri discrete
Permit transmiterea comenzilor generate de program spre elementele de execuie
bipoziionale la tensiunile necesare (5 Vcc, 12-24 Vcc/ca, 110-220 Vca, etc), necesitnd
izolare pentru a limita neajunsurile datorate zgomotelor electrice i defectelor instalaiei.
Exist dou tipuri de baz de module de ieire. n figura 7.8.a, 8 ieiri sunt alimentate
de la o surs comun, care este conectat la automatul programabil, dar este separat de sursa
acestuia. Aceast structur permite cea mai simpl i mai ieftin instalare.
Fig. 7.8. Tipuri de module de ieiri discrete: a) cu surs comun; b) cu surs separat
Un modul de ieiri izolate, prezentat n figura 3.8.b are ieiri i protecii individuale i
poate fi conectat direct la orice circuit din exterior. ns modulul este mai complicat, un
modul cu 8 ieiri izolate putnd primi pe terminalele sale tensiuni diferite din 8 direcii.
n figura 7.9 este prezentat un circuit de ieire pe tranzistor, ieire care genereaz
curent (source). Dac se utilizeaz tranzistoare npn rezult un canal de ieire care absoarbe
curent (sink).
Fig. 7.9. Circuit de ieire n c.c. pe tranzistor
402
Un modul de ieiri discrete n c.a. utilizeaz, de obicei, triace. Acestea au avantajul c
se dezactiveaz la trecerea prin zero a curentului prin sarcin, ceea ce elimin interferenele
provocate la dezactivarea sarcinilor inductive.
7.3.2. Module de ieiri analogice
Deseori automatul programabil trebuie s genereze semnale de ieire analogice, tot
aa cum trebuie s citeasc intrri analogice. Ca i intrrile analogice, aceste semnale au game
standard: 0-5 V, 0-10 V, 4-20 mA, etc.
Un modul de ieiri analogice tipic al firmei Allen Bradley, 1771-OFE, are 4 canale de
ieire, fiecare transformnd o valoare numeric pe 12 bii (0-4095) ntr-o ieire analogic
[109]. Sunt utilizate amplificatoare de izolare pe ieiri pentru a reduce efectul zgomotelor i
pentru a permite conectarea semnalelor analogice la dispozitive externe alimentate la tensiuni
diferite. Valorile numerice corespunztoare semnalelor analogice provin de la locaii de
memorie din UC, aa cum reiese din figura 7.10.
Fig. 7.10. Generarea semnalelor analogice printr-un modul de ieiri analogice
n interiorul modulului de intrri analogice exist un singur convertor numeric-
analogic (CAN), care convertete valoarea numeric provenit din memoria UC n semnale
analogice. Rezultatul conversiei este apoi atribuit unuia din cele 4 canale de ctre un
multiplexor cu 4 ci. De aceea, valoarea numeric de convertit este nsoit de o informaie
suplimentar, care semnific numrul canalului cruia i va fi atribuit rezultatul conversiei.
Pentru o bun rezoluie, automatul programabil ar trebui s utilizeze ntregul domeniu
0-4095, dar acest lucru nu este ntotdeauna posibil. Dac, de exemplu, automatul programabil
seteaz gama vitezei unui motor ntre 0 i 1350 rot/min, el va trebui s converteasc valorile
0-1350 n gama 4-20 mA. Ecuaia (7.1) poate fi rescris sub forma:
4095
min) V max V ( ) VMin N (
V
CAN

= (7.2)
unde: V
CAN
este valoarea transmis ctre convertorul analog-numeric (n gama 0-4095), N
este valoarea de convertit n uniti inginereti iar Vmin i Vmax sunt valorile minime i
maxime ale semnalului numeric.
Automatul programabil PLC-5 comunic cu modulul 1771-OFE prin instruciuni
BTW. Programatorul seteaz n memoria UC un bloc de 12 cuvinte, din care primele 4 conin
valorile numerice ce vor fi transmise convertorului numeric-analogic iar urmtoarele 8 conin
valorile Vmin i Vmax pentru fiecare din cele 4 canale. Figura 7.11 prezint un exemplu tipic,
n care o referin analogic de vitez este mrit i micorat prin butoane controlate de
operator.
403
Fig. 7.11. Controlul vitezei unui motor prin comenzi ale operatorului
Numrtorul din figura 3.11 pstreaz vitez direct n rot/min, dar cu preul diminurii
rezoluiei. Pentru gama 0-1350 rot/min, eroarea datorat rezoluiei este de aproximativ 0,1 ,
fa de eroarea teoretic datorat rezoluiei, de 0,025 (vezi tabelul 7.1).
7.4. Module speciale
Aceste module servesc la realizarea unor funcii ce nu pot fi implementate cu
modulele de I/E discutate anterior, fie datorit particularitii semnalelor procesate, fie
datorit complexitii acestor funcii. Un exemplu tipic l constituie modulul numrtor de
mare vitez, util pentru numrarea trenurilor de impulsuri cu frecven mare.
Fig. 7.12. Structura unui modul numrtor de mare vitez
Numrtorul din figura 7.12 este alimentat cu impulsuri de la un codificator, care
produce dou trenuri de impulsuri decalate, fiind posibil deducerea sensului de micare.
Valoarea curent a numrtorului poate fi citit n orice moment i poate fi modificat prin
program. De asemenea, UC poate transmite i o valoare prestabilit.
Modulul i va aciona ieirile n funcie de relaia dintre valoarea curent (acumulat)
i valoarea prestabilit. Aceste ieiri sunt n c.c. pentru a minimiza ntrzierile.
404
Alte aplicaii ale modulelor inteligente sunt cititoarele de coduri cu bare, controlerele
pentru motoare pas cu pas i aplicaiile de control a calitii prin staii vision.
7.5. Comanda la distan
Uzual, un automat programabil se compune dintr-un modul UC i un numr de
module de I/E montate ntr-unul sau mai multe sertare de baz locale. ns, n cazul
aplicaiilor n care instalaiile sunt distribuite n spaiu la distane mari, aceast structur ar
necesita aducerea tuturor semnalelor la un punct central prin cabluri lungi i costisitoare. Un
alt dezavantaj l constituie necesitatea renunrii la semnalele transferate la tensiuni mici.
De aceea, productorii de automate programabile au prevzut posibilitatea montrii
sertarelor de baz cu module de I/E la distan fa de modulul UC i a conectrii acestor
sertare cu modulul UC prin cabluri ecranate bifilare sau prin cabluri cu fibre optice. Astfel,
sertarele de baz pot fi montate la civa km de modulul UC.
Se reduce costul cablurilor prin plasarea sertarelor de baz la locul aplicaiei, pentru
conectarea semnalelor de I/E la automatul programabil fiind necesare doar cabluri scurte. Mai
puin evident, comanda la distan permite realizarea unor uniti complete, dispuse n
apropierea instalaiilor, uniti ce pot fi testate naintea instalrii i punerii n funciune.
7.6. Identificarea adreselor de I/E
Aceast operaie nseamn realizarea unei corespondene ntre semnalele procesului i
variabilele programului, n urma creia fiecrui semnal i revine o adres de I/E (sau un grup
de adrese de I/E, n cazul semnalelor analogice). De regul, semnalelor le revin adrese de I/E
n funcie de sertarul de baz, modulul de I/E i punctul de I/E al modulului la care este
conectat fiecare semnal. n continuare vor fi prezentai algoritmii de atribuire a adreselor de
I/E pentru cteva automate programabile reprezentative.
7.6.1. Adresarea I/E la automatul programabil PLC-5 al firmei Allen Bradley
Acest automat programabil poate cuprinde pn la 8 sertare de baz n versiunea 5/25.
Sertarul de baz ce conine modulul UC este automat sertarul de baz 0. Adresele celorlalte
sertare de baz pot fi stabilite prin switch-uri (n gama 1-7). Legtura ntre sertarul de baz 0
i celelalte se realizeaz prin cabluri de comunicaie seriale.
Fig. 7.13. Adresarea I/E la PLC-5 al firmei Allen Bradley
Exist trei moduri diferite de configurare a sertarelor de baz, dintre care va fi discutat
cel mai simplu (i mai logic). Fiecare sertar de baz conine 8 sloturi, numerotate 0-7, i n
fiecare slot pot fi instalate dou module. De exemplu, n figura 7.13 slotul 1 conine un modul
de intrare pe 16 puncte i un modul de ieire pe 16 puncte, iar slotul 2 conine dou module de
405
ieire pe 8 puncte. Adresarea intrrilor are forma general I:<sertar><slot>/<bit> ,
unde bit poate avea una sau dou cifre. Allen Bradley utilizeaz adresarea biilor n octal.
De exemplu, adresa I:27/14 reprezint intrarea 14 din slotul 7 al sertarului de baz 2. Ieirile
sunt adresate ntr-o manier similar: O:<sertar><slot>/<bit> , astfel c
O:35/06 este ieirea 6 din slotul 5 al sertarului de baz 3.
7.6.2. Adresarea I/E la automatul programabil SIMATIC S5 al firmei Siemens
n sistemele cu automate programabile ale firmei Siemens adresele de I/E pe bit sunt
dispuse n grupuri de cte 8 bii, ce formeaz un octet. Un semnal este identificat prin numrul
su de bit (0-7) i numrul su de octet (0-127).Intrrile sunt notate prin I <octet>.<bit>
iar ieirile sunt notate prin Q <octet>.<bit> [113]. De exemplu, I 9.4 este intrarea cu
adresa de bit 4 din octetul 9 iar Q 63.6 este ieirea cu adresa de bit 6 din octetul 63.
Ca i Allen Bradley, Siemens utilizeaz sloturi pentru instalarea modulelor n sertarul
de baz. Sunt disponibile module pe 16 puncte (2 octei) i pe 32 de puncte (4 octei).
Adresarea fix a sloturilor este descris n figura 7.14.a. Fiecrui slot i sunt atribuii n ordine
Fig. 7.14. Adresarea I/E la Siemens: a) fix; b) variabil
4 octei. Intrarea I 12.4 este bitul 4 din primul octet al modulului din slotul 3 al primului sertar
de baz. Dac se utilizeaz module pe 16 puncte (2 octei) cu adresare fix (4 octei), cei doi
octei mai semnificativi din fiecare slot sunt pierdui.
n toate sistemele utilizatorul are posibilitatea alegerii adreselor de octet, ceea ce
corespunde formei de adresare variabil a sloturilor (vezi figura 7.14.b). Prima adres de octet
i domeniul (2 octei pentru modulele pe 16 puncte, 4 octei pentru modulele pe 32 de puncte)
pot fi setate independent pentru fiecare slot prin switch-urile din modulul adaptor al fiecrui
sertar de baz.
7.6.3. Adresarea I/E la automatul programabil GEM-80 al firmei CEGELEC
i n acest caz adresele de I/E sunt alocate n funcie de bii, octei i sertar de baz.
Sertarul de baz ce conine modulul UC poate conine 8 sloturi pentru modulele de I/E.
Numrul lor poate fi suplimentat prin utilizarea unor sertare de baz locale cu 12
sloturi sau la distan, aa cum reiese din figura 7.15.
Pe lng magistrala I/E de baz, este disponibil o magistral I/E de verificare, care
permite modulului UC s verifice starea semnalelor de I/E la distan cu ajutorul unei uniti
GEM inteligente.
Semnalele de I/E sunt adresate prin cuvinte de 16 bii, un cuvnt corespunznd la unul
sau dou sloturi, cu prefixele A pentru intrri i B pentru ieiri. Adresele de bit sunt alocate n
zecimal, n gama 0-15. De exemplu, A 3.12 este bitul de intrare 12 din cuvntul 3 iar B 5.04
este bitul 4 din cuvntul 5.
406
Fig. 7.15. Structura unui sistem GEM-80
Un cuvnt poate fi numai intrare sau numai ieire. Nu este permis duplicarea
cuvintelor de adres. Modulele de I/E sunt disponibile pe 8, 16 i 32 de bii, astfel c unui slot
i pot reveni o jumtate de cuvnt, un cuvnt sau dou cuvinte, n funcie de modulele
utilizate.
Adresele individuale de slot pot fi setate prin comutatoare rotative fixate pe panoul din
spatele fiecrui sertar de baz. Utilizatorul are libertate n alegerea adreselor dar, de obicei, se
prefer o logic secvenial. Figura 7.16 prezint o structur tipic pentru un sistem GEM-80.
Fig. 7.16. Adresarea I/E la GEM-80 cu module pe 8 bii
7.6.4. Adresarea I/E la automatul programabil Master al firmei ABB
Automatul programabil Master al firmei ABB (la origine ASEA) este un sistem mai
complex dect cele analizate pn acum . Structura sa este descris n figura 7.17.a.
Fig. 7.17. Sistem Master ABB: a) structura sistemului; b) structura programului;
c) o parte a bazei de date
407
Modulele de I/E nu sunt identificate prin poziia lor n sertarul de baz, ci prin adresa
setat pe modul. Deci, adresele de I/E nu reflect poziia modulului. Un modul poate fi mutat
n alt poziie (mpreun cu conectorul su) fr a se modifica adresarea sa.
Memoria UC este structurat ca n figura 7.17.b. Valorile I/E sunt conectate la un
procesor al bazei de date, dar spre deosebire de automatele programabile anterioare,
proiectantul poate stabili diverse viteze de lucru pentru diferite module.
Figura 7.17.c arat structura bazei de date pentru un modul de intrare. Exist dou
nivele de definire, nivelul superior (1) dnd detalii asupra modulului (cum ar fi tipul su,
adresa sa i, eventual, rata de scanare) iar nivelele inferioare dnd relaii despre fiecare canal
al modulului (cum ar fi nivelul semnalului, modul de utilizare al su, constanta de filtrare).
Baza de date conine detalii despre toate I/E, care pot fi adresate n program fie prin
identificatorul din baza de date ( de exemplu, DI 3.1), fie printr-un nume unic (de exemplu,
Pomp hidraulic 2 pornit prin butonul Start).
7.6.5. Adresarea I/E la automatul programabil F2 al firmei Mitsubishi
Acesta este un exemplu tipic de automat programabil mic, ce conine procesor, surs
de alimentare i conexiuni de I/E, toate nglobate ntr-o singur unitate . Cea mai mic unitate,
F2-40M, are 24 de intrri i 16 ieiri. Cele 24 de intrri sunt notate X400-X427 (n octal) iar
cele 16 ieiri sunt notate Y430-Y447 (n octal). Numerele (aparent arbitrare) corespund, de
fapt, n mod direct locaiilor de memorie unde sunt pstrate imaginile intrrilor i ieirilor.
Adrese similare sunt utilizate i n sistemele mai mari ale seriei.
7.7. Memorii interne pe bit
n majoritatea aplicaiilor un automat programabil este nevoit s memoreze, pe lng
valorile semnalelor de I/E, i semnalele interne pentru date cum ar fi pompa funcioneaz,
sistem fr defect, etc. Ar fi foarte costisitor s se aloce ieiri adevrate pentru aceste
semnale, astfel c toate automatele programabile ofer memorii interne de bit. Acestea se
numesc relee auxiliarela Mitsubishi, fanioane la Siemens, spaiu general de lucru la
GEM-80 i memorii de bit la Allen Bradley.
Mitsubishi utilizeaz notaia M nnn, cu nnn=100-377 n octal. Notaia la Siemens
este F octet.bit, de exemplu, F 27.06. GEM-80 [110] are o varietate de spaii generale
de lucru. Cel mai utilizat se numete tabela G. O variabil de memorie din tabela G apare n
program ca G cuvnt.bit (de exemplu, G 52.14). Valorile memorate n tabela G sunt fr
reinere, adic sunt resetate la (re)pornirea automatului programabil. n schimb, valorile
memorate n tabela R (de exemplu, R 12.03) sunt pstrate i atunci cnd automatul
programabil este oprit sau cnd alimentarea este decuplat.
La PLC-5 memoria de bit este notat prin B 3/n, unde n este numrul locaiei de
memorie (de exemplu, B 3/192). B nseamn memorie de bit iar 3 este obligatoriu i este
utilizat cnd PLC-5 memoreaz date n fiiere. Astfel, memoria de bit constituie fiierul 3
(B3), temporizatoarele constituie fiierul 4 (T4) iar numrtoarele fiierul 5 (C5).
Automatul programabil Master al firmei ABB [108] nu necesit neaprat memorii
interne de bit, aceast funcie fiind ndeplinit de elementele i conexiunile din interiorul
bazei sale de date i de ctre limbajul de programare.
Cea mai des ntlnit form de programare a memoriei pe bit este ilustrat n figura
7.18.a. Aici, ieirea C (de exemplu, instalaie pornit) este activat cnd este activat
intrarea A (de exemplu, Start), i rmne activat pn cnd se dezactiveaz intrarea B
(Stop). Funcionarea este reprezentat n diagrama temporal din figura 7.18.b.
408
Fig. 7.18. a) Circuit de memorare a biilor; b) diagrama temporal de funcionare
Deseori, pentru programarea memoriilor pe bit sunt utilizate circuite basculante
bistabile (CBB), disponibile n programare sub forma unor blocuri logice. Figura 7.19.a este
un exemplu de utilizare a CBB RS la Siemens pentru comanda contactorului unui motor. Se
observ utilizarea unor contacte normal nchise pentru butoanele de Stop.
Fig. 7.19. a) CBB RS la Siemens; b) CBB SRAO la ABB
La automatul programabil Master al firmei ABB exist cinci tipuri de CBB. Primul
este CBB SR elementar, celelalte tipuri ncorpornd pori I/SAU interne (cu numrul de
intrri configurabil de ctre programator), care preced bistabilul. Figura 7.19.b este un
exemplu de bistabil prevzut cu o poart I pe intrarea Set i o poart SAU pe intrarea Reset,
de unde vine i denumirea sa (SRAO SR AND/OR). Alte tipuri sunt SRAA (AND/AND),
SROA (OR/AND) i SROO (OR/OR).
Fig. 7.20. a) Instruciunile Latch/Unlatch la Allen Bradley; b) Instruciunile Set/Reset la
Mitsubishi
La Allen Bradley memoriile pe bit pot fi setate cu instruciunea L (Latch), respectiv
resetate cu instruciunea U (Unlatch). Figura 7.20.a exemplific modul de utilizare a celor
dou instruciuni pentru comanda unui motor.
Automatul programabil F2 al firmei Mitsubishi utilizeaz o idee similar,
instruciunile fiind denumite SET i RST, ca n figura 7.20.b. n ambele cazuri din figura
409
7.20, prioritatea aparine ultimei trepte de program (dintre cele dou), datorit ciclului
program, fapt care d prioritate, n mod corect, semnalului STOP.
Cderea alimentrii sau oprirea automatului programabil cauzeaz probleme
memoriilor de bit. Unele memorii ar trebui s-i pstreze coninutul pe durata nefuncionrii
automatului programabil iar altele ar trebui resetate la repornire. n acest scop, productorii de
automate programabile permit utilizatorului s stabileasc care sunt memoriile de bit care i
vor pstra starea pe durata nefuncionrii automatului programabil (numite memorii cu
reinere) i care se vor terge la (re)pornire (numite memorii fr reinere).
7.8. Temporizatoare
Msurarea timpului este necesar n majoritatea sistemelor de control. De aceea,
automatele programabile trebuie s includ temporizatoarele n limbajele lor de programare.
Un temporizator de orice tip are anumite valori care trebuie fixate de ctre utilizator.
Prima din acestea este unitatea de msur a timpului. Unitile de timp uzuale sunt 10 ms, 100
ms, 1 s, 10 s, 100 s, utilizarea uneia sau alteia neafectnd precizia temporizatorului.
Urmtoarea valoare definit este durata temporizrii (sau valoarea prestabilitpreset).
Aceasta este dat de obicei n valori ale bazei de timp. De exemplu, un temporizator cu o
valoare prestabilit de 150 i o baz de timp de 10 ns va ntrzia 1,5 s.
Fiecare temporizator dispune de un set de semnale ce pot fi utilizate de ctre program.
Figura 7.21 arat semnalele generate de ctre un temporizator la anclanare al PLC-5 (numit
TON) i de ctre un temporizator la declanare al PLC-5 (numit TOF).
Fig. 7.21. Semnale ale temporizatoarelor la PLC-5: a) temporizator TON;
b) temporizator TOF
Semnificaiile lor sunt urmtoarele:
EN reprezint intrarea temporizatorului
TT este activat pe durata msurrii timpului
DN arat ncheierea temporizrii
De asemnea, majoritatea automatelor programabile permit accesarea prin program a
valorii curente a timpului msurat, denumit valoare acumulat.
GEM-80 trateaz temporizatoarele ca un bloc de ntrziere, cu valoarea prestabilit
memorat n blocul VALUE. Siemens utilizeaz o idee similar, dar are mai multe tipuri de
temporizatoare. PLC-5 utilizeaz temporizatoarele la sfritul treptelor de program, semnalele
temporizatoarelor fiind disponibile sub form de contacte ce pot fi utilizate n alt parte.
Figura 7.22 este o aplicaie tipic pentru un PLC-5, un GEM-80 i un SIMATIC S5-
115U. Programul comand contactorul unui motor, care este oprit i pornit prin butoane.
Contactorul are un contact auxiliar care se nchide atunci cnd contactorul este anclanat i
care arat efectiv cnd merge motorul. Dac contactorul este declanat, semnalul de la
contactul auxiliar va fi pierdut. Acesta nu poate fi verificat mai devreme de 1,5 s dup
declanarea contactorului, pentru a lsa timp suficient pentru comutarea contactului.
Programul verific contactul auxiliar i semnalizeaz un defect de acionare dac exist
probleme.
410
Fig. 7.22. Tipuri diferite de temporizatoare utilizate pentru aceeai aplicaie: a) notaia PLC-5;
b) notaia GEM-80; c) notaia SIMATIC S5-115U
Fig. 7.23. Temporizatoare: a) fr reinere; b) cu reinere; c) cu reinere n notaia Allen
Bradley; d) cu reinere n notaia Siemens
Valoarea acumulat a temporizatoarelor discutate pn acum devine 0 de fiecare dat
cnd intrarea temporizatorului trece n 0 (figura 7.23.a). Aceast funcionare corespunde
temporizatoarelor fr reinere. Uneori, ns, este util s se poat pstra valoarea acumulat
(chiar dac intrarea temporizatorului a devenit 0) i la reactivarea acestei intrri s se continue
temporizarea de la valoarea la care s-a oprit, ca n figura 7.23.b. Aceast funcionare
411
corespunde unui temporizator cu reinere. Pentru acestea trebuie utilizat un semnal
suplimentar pentru aducerea lor la 0.
Pentru msurarea unor timpi mai mari dect cei posibili cu un singur temporizator, se
pot conecta n cascad mai multe temporizatoare sau se pot utiliza mpreun numrtoare i
temporizatoare.
7.9. Numrtoare
Numrtoarele sunt componente fundamentale ale multor programe de automat
programabil i, de aceea, toate automatele programabile sunt prevzute cu anumite tipuri de
numrtoare. Structura tipic a unui numrtor este prezentat n figura 7.24. Fiecrui
numrtor i sunt asociate dou valori. Prima este valoarea prestabilit, care poate fi
considerat valoarea destinaie a numrtorului i poate fi modificat prin program. A doua
este valoarea acumulat, care va fi incrementat la fiecare tranziie 01 a intrrii de numrare
nainte i va fi decrementat la fiecare tranziie 01 a intrrii de numrare napoi. Ea poate fi
adus la zero prin aplicarea unui semnal 1 pe intrarea Reset. Atunci cnd valoarea acumulat
devine egal cu valoarea prestabilit este generat un semnal de Numrare terminat. Ca i la
temporizatoare, valoarea acumulat poate fi citit i utilizat n alte pri ale programului. n
plus, unele numrtoare dispun i de semnalul Valoare zero.
Fig. 7.24. Numrtor reversibil: a) schema intern; b) operaia de numrare
Figura 7.25 prezint o aplicaie de numrare realizat cu PLC-5, SIMATIC S5 i
GEM-80. Obiectele ce trec pe un conveior sunt detectate cu o fotocelul i numrate. Cnd o
ncrctur este complet, conveiorul este oprit i becul ncrcare complet este aprins.
Operatorul deplaseaz ncrctura i poate apsa butonul Restart pentru a reporni secvena.
Fig. 7.25. Aplicaie a numrtoarelor: a) la PLC-5; b) la SIMATIC S5; c) la GEM-80
412
Ca i la temporizatoare, atunci cnd valoarea destinaie nu poate fi atins cu un singur
numrtor, este posibil conectarea mai multor numrtoare n cascad.
7.10. Variabile numerice
Pe lng variabilele pe bit, automatele programabile permit declararea i utilizarea n
programe a variabilelor numerice. Majoritatea automatelor programabile lucreaz cu cuvinte
pe 16 bii, ce permit reprezentarea numerelor n gama 0-65.535 sau n complement fa de 2
n gama 32768+32767. Aceste numere se numesc ntregi. Atunci cnd este necesar
procesarea unor ntregi mai mari pot fi utilizate dou cuvinte de 16 bii. Acest tip de ntreg
este disponibil la Master (sub numele de ntreg lung) i la modelele SIMATIC S5-135U i
SIMATIC S5-155U (sub numele de cuvnt dublu).
Majoritatea automatelor programabile permit i utilizarea numerelor (n virgul
mobil), care constau din dou cuvinte de 16 bii care conin mantisa i exponentul.
Majoritatea productorilor utilizeaz standardul IEEE 32 bii simpl precizie care
permite reprezentarea numerelor n gama (1,175E-383,402E38). Anumii productori au
micorat exponentul pentru o mai mare precizie n mantis (de exemplu, la automatul
programabil Master gama este (5,4E-209,22E18)).
Tipul formatelor numerice disponibile variaz considerabil de la un automat
programabil la altul. F2 al firmei Mitsubishi permite doar transferuri, comparri i ieiri ale
datelor numerice de la numrtoare sau temporizatoare, aceasta fcnd din el n esen un
automat programabil cu prelucrare pe bit. La Siemens, modelul SIMATIC S5-115U utilizeaz
numai ntregi pe 16 bii, dar urmtorul model n gam, 135U, poate procesa att ntregi pe 16
i 32 de bii, ct i numere n virgul mobil.
PLC-5 utilizeaz o treapt de program pentru fiecare transfer. De exemplu, n figura
7.26.a are loc transferul numrului din locaia N 7:34 la valoarea prestabilit a
temporizatorului T 4:6, atunci cnd condiiile din treapt sunt ndeplinite. Sursa i destinaia
pot fi orice locaie de memorie n care pot exista date numerice.
Siemens i CEGELEC utilizeaz o abordare uor diferit. Amndou trateaz un
transfer de date cu dou instruciuni separate, utiliznd n acest scop un acumulator separat (o
locaie de memorie de un cuvnt). Siemens utilizeaz instruciunea L (Load) pentru a
transfera data de la surs n acumulator i instruciunea T (Transfer) pentru a transfera data
din acumulator la destinaie, ca n figura 7.26.b. Sursa i destinaia pot fi orice locaii de
memorie.
La GEM-80 utilizarea acumulatorului nu este evident. Instruciunea AND transfer
numrul binar de la adresa specificat n acumulator iar instruciunea OUT transfer
coninutul acumulatorului la adresa specificat. n figura 7.26.c valoarea binar a cuvntului
de 16 bii A12 este nscris ntr-o memorie intern de 16 bii G24. Sunt posibile conversii
BCD-binar i binar-BCD cu instruciunile BCDIN, respectiv BCDOUT.
Fig. 7.26. Transferul datelor: a) la PLC-5; b) la SIMATIC S5; c) la GEM-80
Majoritatea automatelor programabile permit compararea numerelor. Atunci cnd se
compar numere reale este recomandat evitarea testului =. n plus, PLC-5 dispune de
413
instruciunea LIMIT, care testeaz dac A este ntre B i C, iar GEM-80 i SIMATIC S5
dispun de testul =. n afar de F2 al firmei Mitsubishi, toate celelalte automate programabile
discutate permit realizarea a cel puin patru operaii aritmetice (+, -, -, :). Pentru a putea
preveni posibilele erori cauzate de aceste operaii, aceste automate programabile sunt
prevzute i cu fanioane de depire. Pentru efectuarea operaiilor aritmetice PLC-5 utilizeaz
blocurile ADD, SUB, MULT i DIV. Cele mai puternice automate programabile din seria
PLC-5 (cum ar fi 5-40) au o instruciune de calcul pe bloc, care permite evaluarea unei
expresii aritmetice ntr-o singur instruciune. SIMATIC S5-115U evalueaz instruciunile
aritmetice n format IL (list de instruciuni). n figura 7.26.b a fost ilustrat un exemplu de
transfer, n care se utilizeaz acumulatorul. De fapt, exist dou acumulatoare, instruciunile
aritmetice utiliznd coninutul ambelor acumulatoare. Automatele programabile Master al
firmei ABB i GEM-80 al firmei CEGELEC ofer instruciuni aritmetice similare.
Unele automate programabile sunt prevzute cu instruciuni speciale pentru procesarea
semnalelor analogice. La GEM-80 cele mai utilizate sunt:
SQRT - extrage radical de ordinul 2 (de exemplu, n cazul traductoarelor difereniale);
LINCON - realizeaz X-(A/B)+C cu limitarea rezultatului;
FGEN - genereaz o funcie pe baza unor puncte (util, de exemplu, la liniarizri);
LIMIT - limiteaz inferior sau superior valoarea unui semnal;
RAMP - limiteaz viteza de cretere sau de descretere a unui semnal;
ANALAG - genereaz un element de ntrziere de ordinul 1.
Majoritatea automatelor programabile care permit utilizarea modulelor de I/E
analogice sunt prevzute cu funcia PID. De exemplu, GEM-80 este prevzut cu funcia
PIDABS care permite implementarea regulatoarelor PID. Figura 7.27 exemplific cel mai
simplu mod de utilizare al acestei funcii.
Fig. 7.27. Funcia PID la GEM-80
Adresele pentru K, T
I
, T
d
sunt specificate n blocul VALUE, care, pentru acest
exemplu, ncepe la adresa W220. n total, o funcie PIDABS necesit 15 locaii de memorie n
care sunt nscrise informaii referitoare la:
Codul de eroare
Valorile constantelor K, T
I
, T
d
, modificabile de ctre utilizator sau prin program
Limitele ieirii
Viteza maxim de modificare a ieirii
Modul meninere, pentru meninerea ieirii la o valoare fix
Modul inactiv, pentru meninerea ieirii la valoarea zero
Cu excepia lui F2, toate celelalte automate programabile discutate recunosc funcia
PID. Acest fapt sporete gama aplicaiilor ce pot fi comandate cu automate programabile.
7.11. Ciclul program
Un program de automat programabil se comport ca o bucl executat permanent, ca
n figura 7.28.a. Instruciunile sunt executate succesiv i, dup execuia ultimei instruciuni,
operarea se reia cu execuia primei instruciuni. Deci, un automat programabil nu comunic
continuu cu procesul, ci intermitent.
O execuie complet a programului din figura 7.28.a se numete ciclu program
(program scan, scan cycle) iar timpul necesar execuiei sale se numete durata ciclului
414
program. Aceasta depinde de dimensiunea programului i de viteza procesorului, o valoare
tipic fiind 2-5 ms/cuvnt. Uzual, durata unui ciclu program este 10-50 ms.
Figura 7.28.a poate fi extins la figura 7.28.b. Automatul programabil nu citete
intrrile n ordinea specificat de program (cum s-ar putea nelege din figura 7.28.a). La
nceputul fiecrui ciclu program automatul programabil citete starea tuturor intrrilor i o
memoreaz n memoria sa. Cnd programul adreseaz o intrare, va fi citit valoarea memorat
a acesteia la nceputul ciclului program, i nu valoarea curent a ei.
Fig. 7.28. Ciclul program i organizarea memoriei: a) execuia programului; b) secvenierea
programului; c) organizarea memoriei
Pe de alt parte, ieirile nu sunt modificate n momentul n care sunt calculate. O zon
de memorie a automatului programabil, corespunztoare ieirilor, este modificat de program
i, apoi, toate ieirile sunt actualizate simultan la sfritul ciclului program curent.
Se poate considera c memoria automatului programabil const din patru zone, aa
cum apare n figura 7.28.c. Intrrile sunt citite i memorate ntr-o zon imagine a intrrilor la
nceputul ciclului program iar ieirile sunt calculate i memorate ntr-o zon imagine a
ieirilor, de unde sunt actualizate (transferate spre punctele de ieire) la sfritul fiecrui ciclu
program. Aceast zon de date este mai mic dect cum ar fi de ateptat. Pentru un automat
programabil cu 1000 de I/E discrete, aceast zon ar consta din 2
6
locaii de memorie de 16
bii (un cuvnt). O valoare analogic va necesita un cuvnt. Temporizatoarele i
numrtoarele necesit cte dou cuvinte (unul pentru valoarea curent i unul pentru
valoarea prestabilit) iar 16 memorii interne pe bit necesit un cuvnt. Majoritatea memoriei
este alocat, de fapt, celei de-a patra zone, zona programului.
Evident, ciclul program limiteaz viteza semnalelor la care automatul programabil
trebuie s rspund. n figura 7.29.a, un automat programabil este utilizat pentru numrarea
unei secvene de impulsuri rapide, cu frecvena mai mic dect cea de execuie a ciclului
program. Se observ c automatul programabil numr corect.
Fig. 7.29. Efectul ciclului program asupra impulsurilor rapide
415
n figura 7.29.b frecvena impulsurilor este mai mare dect frecvena de execuie a
ciclului program i automatul programabil ncepe s piard impulsuri. n cazul extrem din
figura 7.29.c, blocuri ntregi de impulsuri pot fi total ignorate. De aceea, n general, orice
semnal de intrare citit de automatul programabil trebuie s fie prezent un timp mai mare dect
durata ciclului program. Impulsurile mai scurte pot fi citite corect numai dac se ntmpl ca
ele s fie prezente la momentele potrivite, lucru care nu poate fi garantat. n general, frecvena
impulsurilor trebuie s fie mai mare dect din durata ciclului program, dar n practic exist
i ali factori de care trebuie s se in cont la stabilirea acestei frecvene (cum ar fi filtrele
modulelor de intrare).
Mai puin evident, un ciclu program poate cauza un decalaj aleator ntre intrri i
ieiri. n figura 7.30 este prezentat o intrare care trebuie s comande activarea imediat a
unei ieiri. n cazul cel mai bun, intrarea apare la nceputul ciclului program, ducnd la
activarea ieirii dup un ciclu program. n figura 7.30.b intrarea a aprut imediat dup citirea
intrrilor, fiind vzut de automatul programabil abia la nceputul celui de al doilea ciclu
program. Prin urmare, ieirea va fi activat cu o ntrziere de dou cicluri program fa de
momentu activrii intrrii.
Fig. 7.30. Efectul ciclului program asupra timpului de rspuns: a) cazul cel mai favorabil; b)
cazul cel mai defavorabil
n majoritatea aplicaiilor acest decalaj de cteva ms nu este important. Totui, n
aplicaiile unde sunt necesare aciuni rapide, acest decalaj poate fi critic. Pentru a putea
aborda cu succes asemenea aplicaii, productorii de automate programabile ofer o gam
larg de module speciale, cum ar fi, de pild, cele descrise n paragraful 7.4.
nsi redactarea programului poate conduce la ntrzieri nedorite, dac logica
programului lucreaz mpotriva execuiei programului. Automatul programabil ncepe fiecare
ciclu program cu prima instruciune i proceseaz toate instruciunile urmtoare ntr-o
manier secvenial. Apoi iari actualizeaz ieirile, citete intrrile, execut instruciunile,
.a.m.d. n figura 7.31.a o intrare determin o ieire, dar nu direct, ci prin intermediul a cinci
pai. Logica programului decurge, n acest caz, mpotriva ciclului program.
Fig. 7.31. Decalaje datorate programului: a) logica este mpotriva execuiei programului; b)
logica este conform cu execuia programului
416
n primul ciclu program intrarea determin evenimentul A. n urmtorul ciclu program
evenimentul A determin evenimentul B. Dup cinci cicluri program de la activarea intrrii,
evenimentul D determin activarea ieirii. Dac programul este realizat ca n figura 7.31.b,
ntreaga secven are loc ntr-un singur ciclu program.
Efectele duratei ciclului program devin mai complexe n cazul existenei unor sertare
de baz comandate la distan i conectate prin cablu serial. n general, starea acestor I/E este
citit de ctre un scaner de I/E, ca n figura 7.32, 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 rspuns poate fi de 30 ms, dar cel mai mare
poate fi de 160 ms (cu o I/E pierznd la limit ciclul I/E iar ciclul I/E pierznd la limit ciclul
program).
Fig. 7.32. Efectul ciclurilor program i de I/E
n cazul programelor pentru controlul unor procese secveniale, durata unui ciclu
program este dependent i de tehnica de programare utilizat. Exist dou tehnici posibile de
realizare a programului: programarea orientat dup ieiri i programarea orientat dup stri.
Prima tehnic presupune generarea direct a ieirii pe baza unei ecuaii logice n care apar
numai acele semnale de I/E care condiioneaz starea ieirii. Rezult un program mai scurt
(deci o durat a ciclului program mai mic), dar mai greu de neles. A doua tehnic
presupune ntocmirea diagramei strilor, n care sunt puse n eviden strile posibile ale
automatului secvenial i tranziiile posibile ntre aceste stri. Programul definete mai nti
condiiile de activare a fiecrei stri, condiiile de activare a fiecrei tranziii i abia apoi
condiiile de activare a ieirilor. Se obine un program mai lung, dar mult mai uor de neles.
Pentru reducerea efectului duratei ciclului program, productorii de automate
programabile ofer mai multe faciliti. Tipic, exist posibilitatea utilizrii unor module de I/E
inteligente i independente (discutate n paragraful 7.4) i exist posibilitatea secionrii
programelor n zone cu timpi de execuie diferii. Pentru a reduce timpul de rspuns la unele
semnale de intrare considerate foarte importante, care necesit aciuni urgente (cum sunt
semnalele de avarie, de exemplu) exist posibilitatea transferului prin ntreruperi.
n scopul evitrii buclelor infinite automatele programabile au fost prevzute cu un
ceas de gard (watchdog timer). Acesta este resetat la nceputul fiecrui ciclu program i
msoar timpul n care se execut fiecare ciclu program. Valoarea prestabilit a sa este fixat
de ctre productor, ine cont de timpii de citire a intrrilor i de actualizare a ieirilor i
corespunde celui mai lung program posibil (dat de dimensiunea memoriei program) care
utilizeaz instruciunile cele mai mari consumatoare de timp. Dac valoarea msurat a
duratei ciclului program curent este mai mic dect valoarea prestabilit a ceasului de gard,
417
acesta permite execuia unui nou ciclu program. n caz contrar, execuia programului este
terminat i toate ieirile sunt dezactivate.
7.12. Limbaje de programare
Standardul IEC 1131-3 definete cinci limbaje de programare a automatelor
programabile:
1. Diagrama Scar (Ladder Diagram), care este inspirat din schemele electrice
convenionale;
2. Lista de Instruciuni (Instruction List), care este un limbaj de asamblare inspirat din
limbajele utilizate n diversele platforme hardware existente;
3. Textul Structurat (Structured Text), care este un limbaj de programare asemntor
limbajului Pascal;
4. Diagrame cu Funcii Bloc (Function Blocks Diagrams), care constituie un formalism de
procesare a datelor prin reele de funcii bloc conectate prin semnale;
5. Diagrame de Funcii Secveniale (Sequential Function Charts), care reprezint un
formalism grafic inspirat din standardul francez Grafcet, bazat pe o variant a unei clase
de reele Petri.
Lista de Instruciuni i Textul Structurat fac parte din limbajele tradiionale de
programare a calculatoarelor. Diagrama Scar i Diagrama cu Funcii Bloc imit structura
predecesoarelor lor (implementri hardware ale regulatoarelor discrete i continue, paralele
prin natura lor). Diagrama de Funcii Secvenial combin secvenialitatea cu paralelismul.
7.12.1. Caracteristici comune ale limbajelor de programare
Standardul ncepe cu o descriere a configuraiei i resurselor hard i soft ale sistemului
pe care vor fi executate programele. Cazul cel mai simplu este cel n care un singur program
este executat pe un singur automat programabil. Un astfel de program citete intrrile sale,
calculeaz starea sa i actualizeaz ieirile sale. Detaliile referitoare la modul n care un
anume automat programabil realizeaz operaiile de I/E i managementul memoriei nu fac
parte din standard. Se presupune c valorile citite de la senzori i valorile scrise la ieiri sunt
transferate cu mediul extern prin intermediul unor locaii de memorie specifice i c
programul de aplicaie nu trebuie s se ocupe cu aceste detalii. Standardul conine structuri
care permit programelor diferite s fie ncrcate i executate pe acelai automat programabil
(separat sau n multi-tasking) i mai multor automate programabile s funcioneze n paralel i
s comunice prin ci de acces, care sunt abstracii ale protocoalelor de comunicaie. Un
program este construit dintr-un numr de elemente software diferite, scrise n oricare din cele
cinci limbaje, existnd posibilitatea transferului de date ntre aceste elemente. Ele pot fi
concepute n paralel i pot fi apelate numai dup ce au fost asignate unui task i taskul fie este
lansat de ctre un eveniment, fie este configurat s fie executat periodic.Toate limbajele
utilizeaz acelai set de caractere i sunt n conformitate cu standardele ISO i cu conveniile
pentru codificarea timpului. Standardul definete tipurile de date elementare, declaraiile
tipurilor de date compuse, iniializrile, etc. Variabilele pot fi locale sau globale. Suplimentar
fa de variabilele abstracte uzuale, sunt permise i variabile direct reprezentate, care sunt
adresate n locaiile de memorie destinate intrrilor, ieirilor sau variabilelor interne.
7.12.2. Funcii i blocuri de funcii
Funciile bloc reprezint unul din elementele de baz ale standardului. Un caz special
al acestora l reprezint funciile (fr memorie). Acestea nu au variabile interne care s-i
pstreze valoarea ntre dou invocri ale unei funcii i, de aceea, la fiecare invocare, pentru
418
aceeai intrare produc aceeai ieire. Funciile ncorporate pot fi compuse ntr-o manier
aciclic pentru a obine funcii noi.
Funciile pot fi scrise fie n limbajul Text Structurat, fie n limbajul Diagrame cu
Funcii Bloc. Sintaxa acestui din urm limbaj este un amestec de text i grafic ASCII,
originea sa datorndu-se compatibilitii retroactive cu limbajele existente.
Funciile bloc, care sunt funcii cu memorie, constituie elementul software major al
standardului. n terminologia software o funcie bloc este un modul reactiv cu variabile i
structur de date proprii i cu interfa cu exteriorul. Declararea lor este din punct de vedere
sintactic similar cu cea a funciilor. Ele pot fi imbricate, adic o funcie bloc poate constitui
argumentul unei alte funcii bloc.
Exist multe funcii bloc standard, cum ar fi bistabilele, temporizatoarele i
numrtoarele. Alte funcii bloc ofer variante discretizate ale unor operatori n timp
continuu, cum ar fi elementele integrative i derivative.
Unele funcii bloc apar doar n form grafic, fr definiia lor ntr-un limbaj textual.
Mai mult, pentru unele funcii bloc se specific n mod explicit c nu pot fi utilizate n limbaje
textuale.
7.12.3. Limbajele textuale Lista de Instruciuni i Text Structurat
Ambele limbaje sunt n esen limbaje imperative i secveniale clasice. Primul este un
limbaj de asamblare de nivel inferior iar al doilea este un limbaj de nivel nalt asemntor
Pascal-ului. Utiliznd ntreaga putere a acestor limbaje (de exemplu, buclele WHILE), este
posibil s se scrie proceduri al cror timp de execuie este necunoscut, nelimitat i chiar
infinit. Desigur, ncorporarea unor asemenea programe n aplicaiile de control nu este o
practic sntoas. Pe de alt parte, este posibil s se impun restricii sintactice care pot
garanta un timp de rspuns limitat. De exemplu, se pot admite numai programe care nu au
salturi napoi sau bucle FOR cu delimitatori constani.
Un alt dezavantaj al acestor limbaje este dat de caracterul lor secvenial. Acesta le face
neadecvate pentru scrierea programelor de control care implic paralelisme. Prin urmare,
concurena poate fi realizat fie prin multitasking, fie prin considerarea programelor scrise n
aceste limbaje ca blocuri funcionale n programe scrise n alte limbaje care accept
paralelismul (Diagrame cu Funcii Bloc sau Diagrame de Funcii Secveniale).
7.12.4. Diagrama Scar
Este un limbaj grafic conceput pentru compatibilitate retroactiv cu formalismul
diagramelor logice scar (relay ladder logic), el nsui un rezultat al compatibilitii
retroactive cu schemele electrice convenionale (cu relee).
n esen, n acest limbaj se scriu relaii dintre valorile strii curente i a variabilelor de
intrare, pe de o parte, i valorile strilor urmtoare i ale ieirilor, pe de alt parte, plus cteva
specificaii referitoare la ordinea evalurii condiiilor implicate.
7.12.5. Diagrame cu Funcii Bloc
Reprezint un limbaj grafic ce permite compunerea unor funcii bloc simple n vederea
formrii unor funcii bloc mai mari i mai complexe. Interaciunea dintre funciile bloc este
reprezentat prin conductori care conecteaz variabilele de ieire de la un bloc cu
variabilele de intrare ale altui bloc.
O compunere de mai multe funcii bloc poate fi ncapsulat ntr-un bloc mai mare,
ncurajndu-se prin aceasta un stil de programare modular i ierarhizat. Totui, exist structuri
care nu sunt uor de exprimat prin notaii grafice. Acestea include buclele FOR, operaiile cu
matrici, ntreruperile i algoritmii compleci n general.
419
Acest limbaj seamn foarte mult cu limbajul Lustre, fundamentul mediului de
programare Scade, utilizat n controlul avioanelor i al proceselor nucleare. Datorit
criticalitii acestor aplicaii, Lustre se bazeaz pe semantici foarte precise, pe un proces de
compilaie care verific i existena buclelor cauzale i pe generarea unui cod optimizat care
ruleaz toate programele ca o singur bucl (fr multitasking).
7.12.6. Diagrame de Funcii Secveniale
Acest limbaj constituie un formalism care combin operaiile secveniale i paralele.
Considerarea sa ca un al cincilea limbaj IEC sau ca o unealt de structurare de nivel superior
este o chestiune de terminologie. Se bazeaz pe standardul francez Grafcet, care poate fi
caracterizat sumar ca o variant sincron i etichetat de reele Petri. Entitatea de baz n
Diagramele de Funcii Secveniale l reprezint pasul. Din punctul de vedere al automatului
programabil, un pas este o parte a strii sale. Acolo unde nu exist paralelism, pasul este
identic cu starea. Atunci cnd un program se afl ntr-un anume pas, aceasta implic
meninerea la o anumit valoare a unor variabile de ieire controlate de ctre program (numite
aciuni). De exemplu, un pas nclzire ntr-un program poate nsemna c o variabil
boolean, care comand dispozitivul de nclzire, se afl n starea Activat. Procesul fizic pe
care se bazeaz pasul poate fi mai complicat i include bucle de reacie de nivel inferior, dar
la nivelul Diagramei de Funcii Secveniale acesta este reprezentat prin una sau mai multe
variabile care rmn constante pe perioada ct pasul este activ. Acest lucru este similar cu
arhitectura ierarhizat utilizat n reelele de comunicaii, unde ceea ce este privit ca o aciune
transmisie fiier la un nivel, este realizat printr-un proces dinamic complex la un nivel
inferior. Paii sunt reprezentai prin dreptunghiuri (figura 7.33). n fiecare pas se iau decizii
asupra variabilelor de ieire, adic se specific aciunile. Care ieiri se vor reseta i care se vor
menine active depinde de calificatorii aciunilor ce constituie pasul. Doi pai consecutivi sunt
separai printr-o tranziie, care, n esen, este o condiie asupra variabilelor de intrare. Atunci
cnd condiia de tranziie este adevrat, primul pas se ncheie i ncepe pasul urmtor. O
tranziie este reprezentat printr-o linie orizontal ngroat ce intersecteaz linia vertical ce
unete doi pai.
Fig. 7.33. Exemple de structuri n Diagramele de Funcii Secveniale: a) tranziie; b)
ramificaie; c) paralelism
Exist dou variabile speciale asociate fiecrui pas. Prima este o variabil boolean
care indic faptul c pasul este activ sau nu. Cealalt este un temporizator care msoar
timpul scurs de la activarea pasului. Aceast variabil poate apare n tranziii ca oricare alt
variabil i permite definirea condiiei de tranziie ca o limit de timp. Mecanismul de
implementare a ramificaiei const n utilizarea cilor divergente, ceea ce nseamn
descompunerea liniei ce iese dintr-un pas n dou sau mai multe linii, fiecare din ele avnd
asociate condiii de tranziie i pai urmtori. Condiiile nu trebuie s fie mutual exclusive.
420
Pentru a decide care ramificaie se va efectua, condiiile vor fi evaluate utiliznd o ordine
implicit sau o ordine definit de ctre utilizator. Operatorul de compunere paralel este
reprezentat grafic printr-o linie orizontal dubl, de la care pot emana secvene paralele. n
acest caz, starea sistemului este dat de setul strilor proceselor paralele. Dup acest operator,
procesele paralele evoluaz independent, pn la o nou reunire a lor. Acest operator, denumit
sincronizare, este reprezentat printr-o alt linie orizontal dubl la care converg toi paii
finali din procesele paralele. Tranziia ce urmeaz dup aceast linie determin ncheierea
acestor pai. Pentru a evita ambiguitile se poate presupune c nu exist evenimente
simultane i c fiecare condiie este luat n considerare de ndat ce devine adevrat. Aceste
semantici ideale sunt aproximate printr-o implementare n care variabilele de intrare sunt
eantionate periodic. Aa cum s-a menionat anterior, paii pot conine o secven de aciuni,
care pot avea diveri calificatori. Acetia determin durata unei aciuni pe durata ct pasul este
activ. Anumite aciuni pot fi active pe ntreaga durat a pasului, unele pot fi executate numai
la nceputul sau la sfritul pasului, unele pot fi ntrziate, etc.
n concluzie, se poate afirma c diagramele de funcii secveniale reprezint un limbaj
puternic, foarte util pentru procesele care combin aspectele secveniale i paralele.
7.13. Reele de automate programabile
Automatele programabile pot fi conectate mpreun n reele n vederea obinerii unor
sisteme de control distribuite. n acest scop trebuie aleas o topologie de reea, o tehnic
eficient de partajare a reelei, care s permit accesul la resursele comune i un sistem de
adrese care s permit transmiterea mesajelor ntre membrii reelei. Aceste reele pot fi locale
(LAN) sau extinse (WAN).
7.13.1. Topologii de reea
Figura 7.34 este un sistem master / slave, unde un master obinuit recepioneaz sau
transmite date de la / la automatele slave (care nu comunic ntre ele). Toate slave-urile au
adrese care permit master-ului s genereze comenzi de genul Staia 3, transmite valoarea
intrrii analogice 4. Asemenea sisteme sunt deseori bazate pe standardul RS 422.
Fig. 3.34. Reea master / slave
Reeaua n stea din figura 7.35 este de asemenea bazat pe un master conectat punct la
punct cu staiile individuale. Controlul comunicaiei este realizat de staia master.
Comunicaiile staie la staie au loc prin intermediul i cu cooperarea master-ului.
Fig. 7.35. Reea n stea
421
n figura 7.36 staiile au fost conectate ntr-un inel. Nu exist master i orice staie
poate comunica cu orice alt staie, avnd drepturi egale de acces. Aceast structur este
denumit legtur egal-la-egal (peer-to-peer). Este necesar utilizarea unor tehnici de evitare
a conflictelor ce apar atunci cnd dou staii doresc s utilizeze aceeai linie simultan.
Fig. 7.36. Reea n inel
Reeaua din figura 7.37 este probabil cel mai utilizat tip de reea de ctre automatele
programabile. Exist o singur linie cu rezistoare terminale i, la fel ca reeaua n inel, este o
legtur peer-to-peer, toate staiile avnd acelai statut.
Fig. 7.37. Legtur peer-to-peer structurat ca o magistral unic
7.13.2. Partajarea reelei
O legtur peer-to-peer permite mai multor staii s utilizeze aceeai reea. Inevitabil,
vor exista la un moment dat dou staii ce vor dori s comunice n acelai timp. Dac nu se iau
msuri corespunztoare, va rezulta blocarea reelei.
Una din tehnici const n alocarea unor intervale de timp n care fiecare staie poate s-
i plaseze mesajele. Aceasta se numete multiplexare prin divizarea timpului (time divizion
multiplexing) sau TDM. Chiar dac previne conflictele, poate fi ineficient deoarece o staie
va trebui s atepte pentru intervalul ei de timp chiar dac nici o staie nu are vreun mesaj de
transmis. ntr-o oarecare msur pot fi prentmpinate diferenele ntre frecvenele mesajelor
unor staii diferite prin alocarea mai multor intervale de timp uneia sau mai multor staii. ntr-
o reea cu cinci staii, notate A,, E, dac staia A este mai solicitat, poate fi adoptat o
ordine de lucru de genul ABACADAEABAceasta se numete TDM statistic.
Intervalul de timp gol din figura 7.38 utilizeaz un pachet cu circulaie continu prin
inel. Cnd o staie dorete s transmit un mesaj, ea ateapt ca pachetul gol s ajung n
dreptul ei, dup care poate s-i plaseze mesajul.
Fig. 7.38. Intervalul gol i circulaia tokenului
422
O idee similar este transferul simbolului sau tokenului, unde un simbol cu
semnificaia Permisiune de transmisie circul prin reea. O staie poate emite doar atunci
cnd este n posesia simbolului, care este eliberat doar atunci cnd se primete confirmarea
recepionrii mesajului.
Att metoda pachetului gol ct i metoda transferului tokenului necesit o cale de
reinstalare a pachetului gol sau a tokenului la refacerea reelei dup o cdere a ei. Acest lucru
este realizat, de obicei, de o staie master sau de o staie monitor, care ns nu are acelai rol
ca i staiile master din figurile 7.34 i 7.35.
De obicei, sistemele bazate pe magistrale utilizeaz o metod prin care o staie care
dorete s emit un mesaj ascult n reea s vad dac aceasta este utilizat de cineva sau
nu. Dac este, staia ateapt. Dac reeaua nu este ocupat, staia emite mesajul ei, prin
aceasta blocnd toate celelalte staii pn cnd se termin mesajul. Aceast metod se
numete acces multiplu prin detectarea purttoarei (carrier sense multiple acces) sau CSMA.
Totui, pot apare situaii neplcute atunci cnd dou staii ncep simultan s emit
mesaje, producndu-se o coliziune a mesajelor. Aceast situaie poate fi uor detectat,
ambele staii oprindu-se i ateptnd un timp oarecare nainte de a ncerca s retransmit. Este
utilizat un timp aleator de oprire a celor dou staii pentru a nu se repeta coliziunea. Aceast
tehnic se numete acces multiplu prin detectarea purttoarei cu detecia coliziunilor (CSMA
with colision detection) sau CSMA/CD.
Exist o diferen fundamental ntre TDM, pachetul gol i transferul tokenului pe de
o parte, i CSMA pe de alt parte. La primul grup exist o anumit risip de timp, n schimb
fiecare staie are garantat accesul ntr-un interval de timp specificat. La CSMA exist puin
risip de timp, dar teoretic se poate ntmpla ca o staie s sufere coliziuni repetate i chiar s
nu poat deloc s-i transmit mesajul.
7.13.3. Protocoale de comunicaie
Fiecare productor de automat programabil a dorit s aib propriul su standard i s
conecteze echipamentele sale ntr-o manier particular. Aceste sisteme se numesc brevetate
sau de firm (proprietary) i nu pot fi interconectate cu echipamente de la ali productori.
Automatele programabile PLC5 de la Allen Bradley comunic pe o magistral peer-
to-peer fr master prin transferul tokenului, denumit Data Highway Plus. Este bazat pe un
cablu coaxial i opereaz la 57,6 Kbaud. Adresele de staie sunt setate prin comutatoare DIP
existente la fiecare automat programabil, pe o linie putnd exista pn la 64 de staii.
GEM 80 are 2 forme de comunicaie serial ntre echipamente. Prima, numit
Starnet, realizeaz comunicaii master/slave punct-la-punct cu o bucl de 20 mA i cu un
protocol numit ESP (Extended Simple Protocol). Acesta realizeaz doar comunicaii master/
slave, comunicaiile slave/slave fiind posibile doar prin utilizarea master-ului pentru
retransmisia mesajelor.
A doua form de comunicaie la GEM 80 este o legtur peer-to-peer fr master,
numit CORONET. Aceasta opereaz pe un cablu dublu ecranat la 9,6 Kbaud, dup
standardul de semnal RS 485. Este posibil o linie de maxim 4 km cu pn la 32 de staii.
Automatele programabile Siemens au acces la patru reele de comunicaie, cu numele
comun SINEC. Dou din acestea, cu sufixul L, sunt reele pentru nivele ierarhice inferioare iar
celelalte dou, cu sufixul H, sunt pentru nivelele ierarhice superioare.
SINEC L1 este o reea master / slave. Poate conine un singur master i pn la 30 de
slave i opereaz dup standardul RS 485. SINEC L2, cunoscut i ca FieldBus, este o reea
peer-to-peer ce utilizeaz transferul tokenului. SINEL H1 este o reea n band de baz, ce
opereaz la 10 Mbaud pe un cablu coaxial de maxim 2,5 km. Opereaz dup standardul IEEE
802.3, cunoscut sub numele de Ethernet cu legturi dense. Suport pn la 1024 staii,
423
utiliznd CSMA/CD pentru controlul accesului. SINEC H2B este o reea n band larg, ce
opereaz la 10 Mbaud pe un cablu coaxial. Este bazat pe standardele IEEE 802.4 i IEEE
802.7, n conformitate cu MAP 3.0. Controlul accesului este fcut prin transferul tokenului.
Astzi exist aproximativ 150 de sisteme de firm dar, datorit eforturilor
proiectanilor i presiunii utilizatorilor au aprut cteva sisteme de comunicaie recunoscute ca
dechise i interoperabile.
Interfaa AS-i este un sistem de interconectare serial a senzorilor, elementelor de
execuie i a altor echipamente similare, opernd la nivelul cel mai inferior al procesului. Este
destinat nlocuirii cablrii paralele convenionale. Capabilitile sale au fost mbuntite
continuu, fiind acum un partener ideal pentru magistralele de proces, cum ar fi Interbus,
PROFIBUS sau Ethernet, la care se conecteaz prin port de conectare (gateway), asigurnd
transparen total. Tehnologia AS-i este standardizat prin standardul IEC 62026-2.
Interbus este utilizat n automatizrile de mari dimensiuni i este adecvat conectrii
dispozitivelor digitale. Ethernet este o LAN foarte popular, bazat pe magistrale. Staiile sunt
conectate la cabluri prin adaptoare numite noduri de reea. Viteza transmisiei este 10 Mbaud.
PROFIBUS este o reea deschis, internaional, independent, standardizat sub
standardul european EN 50170. Protocolul PROFIBUS a fost proiectat pentru sistemele de
conducere distribuite industriale. Este prevzut cu algoritmi de detecie a erorilor, de tip CRC,
i cu ceasuri de gard. Utilizeaz transmisia pe cablu dublu i nivelele standardului RS-485,
avnd o excepional imunitate la zgomot. Tipic, o reea PROFIBUS este controlat de unul
sau mai multe automate programabile i asigur viteze de transfer de pn la 12 Mbaud.
7.13.4. Consideraii practice privind sigurana comunicaiilor
Pentru exemplificare, se consider o situaie des ntlnit, reprezentat n figura 7.39,
n care un comutator conectat la un automat programabil determin, printr-o legtur serial,
pornirea unui motor de ctre un alt automat programabil. S presupunem c motorul este
pornit i legtura este ntrerupt. Bitul corespunztor pentru Motor merge, care este setat n
automatul programabil B nu va fi resetat (datorit ntreruperii legturii) i, deci, automatul
programabil A va fi incapabil s opreasc motorul.
Cnd comutatorul este decuplat, controlul legturii seriale din automatul programabil
A va semnala o eroare (oprire), dar acest lucru nu este util pentru automatul programabil B,
care nu tie c automatul programabil A vrea s comunice cu el. Acest lucru poate s ridice
probleme, sau nu, n funcie de aplicaie.
Fig. 7.39. Consideraii de siguran asupra legturilor seriale
Un aspect important este de a defini ct timp o ieire comandat de o legtur serial
poate rmne necontrolat. S zicem 2 secunde. Dup comanda Pornire motor, automatul
programabil iniiator trimite prin legtur un tren de impulsuri cu o perioad ceva mai scurt,
de exemplu 1,5 secunde, ca n figura 7.40. n automatul programabil B cele dou forme
complementare ale acestui semnal acioneaz dou temporizatoare de tip TOF fixate la 2
secunde. Cu ieirea Legtur bun pot fi acionate ieirile comandate de ctre legtura
serial. Dac legtura se defecteaz, unul din cele dou temporizatoare se va dezactiva (iar
cellalt va rmne activat), determinnd dezactivarea semnalului Legtur bun i a tuturor
ieirilor comandate de legtura serial, acestea trecnd ntr-o stare sigur.
Zgomotul este sursa principal de probleme i, de obicei, se manifest printr-o cretere
a timpului de rspuns introdus de reea.
424
Fig. 7.40. O soluie de verificare a legturii seriale
Primele msuri mpotriva zgomotelor sunt separarea de cablurile de alimentare prin
utilizarea unor trasee separate sau a unor tuburi de protecie. Ecranele cablurilor trebuie s fie
nentrerupte i trebuie pmntate toate ntr-un singur loc. De asemenea, ecranele cablurilor nu
trebuie s ating prile metalice ale dulapurilor.
7.14. Aspecte ale dependabilitii automatelor programabile
Problemele legate de automate programabile sunt subtile. Nefuncionarea unui
element de execuie se poate datora unei erori n program, unui defect n automatul
programabil, unui modul de ieire defect, unei defeciuni la sursa de alimentare a modulului
de ieire, unui defect la elementul de execuie sau unui defect la limitatorul ce permite
activarea elementului de execuie. Figura 7.41 prezint probabilitile de defectare ale unor
diferite pri ale unui sistem tipic cu automat programabil.
Se observ c 95% din defectele automatului programabil se datoreaz unor
dispozitive ale instalaiei i doar 5% se datoreaz automatului programabil propriu-zis.
Fig. 7.41. Distribuia defectelor ntr-un sistem tipic cu automat programabil
nseamn c la proiectarea unui sistem de conducere cu automat programabil, pentru
asigurarea dependabilitii sistemului nu este suficient s se aib n vedere numai defectele ce
pot apare n interiorul automatului programabil. Trebuie avute n vedere i posibilele defecte
externe, ntruct apariia lor afecteaz i dependabilitatea automatului programabil.
7.15. Concluzii
Automatele programabile sunt sisteme complete, prevzute cu un sistem de operare
robust i cu toate elementele necesare conducerii proceselor industriale. Iat o sintez a
principalelor lor avantaje:
Este disponibil o gam larg de module de I/E, ce permit conectarea direct cu dispozitive
de I/E digitale i analogice ale procesului. n plus, exist o diversitate de module de I/E
speciale, inteligente i autonome, care permit interfaarea cu echipamente speciale cum ar fi
traductoare incrementale, roboi, etc.
425
Posibilitatea comenzii la distan le face deosebit de utile n conducerea proceselor
periculoase i distribuite pe arii geografice mari.
Adresele de I/E sunt hardware, ceea ce nseamn c utilizatorul trebuie s le atribuie n
strict concordan cu un algoritm de alocare conceput de ctre productor. Uzual, acest
algoritm este de tipul sertar de baz/modul/punct I/E, ceea ce uureaz activitatea de cablare.
Pot procesa att variabile binare, ct i cuvinte de date. n acest scop unitile centrale sunt
prevzute cu memorii pe bit i cu registre de date pentru cuvinte. Memoria de date, ns, este
mult mai mic dect la calculatoarele PC. De asemenea, pentru calcul unor algoritmi
complicai se recomand conectarea la un calculator PC, pentru a nu consuma din timpul UC.
Au un sistem de operare robust, care realizeaz execuia ciclic a programelor. Citirea
intrrilor numai la nceputul ciclului program i actualizarea ieirilor numai la sfritul
acestuia elimin fenomenele de hazard ce ar putea apare n cazul unei comunicaii continue cu
mediul extern. Pe de alt parte, ns, comunicaia periodic cu mediul extern numai la anumite
momente de timp impune restricii asupra semnalelor de intrare i determin ntrzieri n
comanda ieirilor. n plus, facilitile de care dispun automatele programabile moderne
(transfer prin ntreruperi, rularea blocurilor de program la viteze diferite, etc.) pot afecta
negativ ciclul program.
Sunt disponibile cinci limbaje de programare. Ele pot fi folosite combinat n interiorul unui
program i (n general) este posibil conversia automat a programelor dintr-un limbaj n altul
Pot fi conectate n reea n arhitecturile comune sistemelor de conducere distribuite.
Comunicaia n reele se realizeaz prin protocoale de firm sau prin protocoale standardizate
ce permit implementarea sistemelor deschise.
Prezentarea detaliat a caracteristicilor i aptitudinilor automatelor programabile
realizat n acest capitol ndreptete considerarea lor ca soluie viabil i, uneori, optim
pentru conducerea oricrui proces industrial. Eforturile fcute n direcia standardizrii i
impactul sistemelor deschise permit utilizarea lor i n sisteme de conducere hibride, mpreun
cu alte soluii.