Sunteți pe pagina 1din 38

Capitolul 3

AUTOMATE PROGRAMABILE

3.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 [413].
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 3.1 ilustreaz o structur tipic de
automat programabil.

Figura 3.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.
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 [414].
Automatele programabile sunt echipate cu un sistem de operare care permite
ncrcarea i executarea programelor. De regul, acestea sunt dezvoltate i compilate pe
calculatoare PC, dar este posibil i introducerea direct a programelor n memoria program a
automatelor programabile prin intermediul unor dispozitive denumite programatoare manuale.
n programele de automat programabil, punctele de I/E sunt "vzute" sub forma unor
adrese. Acestea nu pot fi alocate direct de ctre proiectant punctelor de I/E. De aceea, aceste
adrese se numesc adrese hardware. n prima faz, fiecrui modul de I/E i revine un grup de
adrese determinat de poziia modulului n sertarul de bauz. Apoi, proiectantul va atribui
fiecrui punct de I/E cte o adres unic din grupul de adrese ce revine modulului considerat..
Din acest moment se creaz o relaie unic ntre fiecare semnal din proces, punctul de I/E prin
care acesta este conectat la automatul programabil i adresa de I/E care este utilizat n
program pentru fiecare semnal.
Semnalele din proces se conecteaz la modulele de I/E prin cabluri individuale sau
multifilare, utiliznd uruburi sau conectori, n funcie de tipul terminalelor modulelor de I/E.
Conectarea unui semnal la un alt punct de I/E atrage dup sine modificarea adresei semnalului
respectiv.
Un alt aspect important l constituie faptul c unele module de I/E necesit pentru
funcionare surse externe, n timp ce alte module utilizeaz n acest scop sursele de alimentare
ale automatului programabil.
Din punctul de vedere al tipului semnalelor de I/E transferate, modulele de I/E pot fi:
de intrare, de ieire, mixte i speciale. Modulele de intrare i cele de ieire sunt la rndul lor
de dou tipuri: discrete i analogice.
Modulele de intrri discrete servesc la conectarea la automatul programabil a
semnalelor ce provin de la senzori cu dou stri: butoane, limitatoare, microntreruptoare,
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 automatului programabil
(uzual, TTL) i o izolare electric ntre automatul programabil i semnalele de intrare.
Modulele de intrri analogice permit conectarea la automatul programabil a
semnalelor ce provin de la senzori analogici, semnale ce pot fi n curent ( de exemplu, 2 10

sau 4 20 mA) sau n tensiune (de exemplu, 0 5 V, 0 - 10 V, 10 V). Modulele de intrri


analogice se aleg n funcie de tipul senzorilor analogici din proces, dar exist numeroase
module ce permit conectarea ambelor tipuri de semnale analogice de intrare.
Modulele de ieiri discrete servesc la transmiterea comenzilor generate de programul
automatului programabil spre elementele de execuie bipoziionale (relee, contactoare, becuri
de semnalizare, etc.), la nivelele de tensiune necesare, i asigur izolarea electric ntre
automatul programabil i elementele de execuie. De regul, aceste module necesit utilizarea
unor surse externe pentru comanda elementelor de execuie.
Modulele de ieiri analogice permit transmiterea comenzilor generate de ctre
program spre elementele de execuie cu acionare continu (robinei de reglare, indicatoare
analogice, etc.).
Modulele mixte au fost concepute pentru a permite proiectantului o configurare ct
mai apropiat de necesitile aplicaiei. Pentru a da un exemplu, s considerm c un
productor de automate programabile ofer numai module de intrri discrete i de ieiri
discrete pe 16 sau pe 32 puncte de I/E. Dac n urma analizei procesului reiese c trebuie
conectate la automatul programabil 20 de intrri discrete i 20 de ieiri discrete, rezult un
necesar de 4 module de I/E discrete. Dac ar exista disponibile i module de I/E discrete mixte
(de exemplu, 8 intrri + 8 ieiri), ar fi necesare doar 3 module de I/E discrete, fapt care ar
permite reducerea costului automatului programabil.
Modulele speciale (numite i module inteligente) servesc la realzarea unor funcii ce
nu pot fi implementate cu modulele de I/E obinuite, fie datorit particularitii semnalelor
procesate, fie datorit complexitii acestor funcii. Un exemplu tipic l reprezint modulele
numrtoare de mare vitez. Ele sunt utilizate pentru numrarea impulsurilor de mare
frecven (zeci sau sute de kHz), prea rapide pentru a putea fi conectate la module de intrri
discrete uzuale. Alte exemple sunt modulele cititoare de coduri pentru bare (pentru controlul
stocurilor), modulele pentru comanda motoarelor pas cu pas (pentru sistemele de control a
poziiei) i modulele vizuale (pentru aplicaii de control a calitii).
Un alt avantaj oferit de automatele programabile l reprezint posibilitatea comenzii la
distan. Productorii de automate programabile ofer posibilitatea montrii unor sertare de
baz la distan de civa km fa de sertarul de baz ce conine modulul unitate central.
Conectarea sertarelor de baz se poate realiza cu cabluri seriale sau cu fibre optice. Se reduce
astfel costul cablrii i devine posibil proiectarea i testarea acestor sertare de baz naintea
livrrii i instalrii lor.
Automatele programabile pot fi interconectate cu alte dispozitive prin legturi seriale
(comunicaie punct la punct). Similar, este posibil interconectarea n diverse topologii de
reea a mai multor automate programabile. Fiecare automat programabil poate fi echipat cu un
modul UC i poate executa propriile programe. Automatele programabile vor comunica ntre
ele prin reele de firm (propritary networks) sau standardizate, ceea ce permite distribuirea
sarcinilor de control ntre mai multe automate programabile, rezultnd o structur simpl, uor
de proiectat, de pus n funciune, de instalat i de modificat.
Odat configurat automatul programabil, urmtorul pas n proiectare l reprezint
alocarea pentru fiecare semnal de I/E a unei adrese unice (sau a unui grup unic de adrese, n
cazul semnalelor de I/E analogice), etap absolut necesar naintea elaborrii programului de
aplicaie. Aceast etap const de fapt n realizarea unei corespondene ntre semnalele
procesului i variabilele programului. Aceast sarcin revine proiectantului care, n cazul
semnalelor de I/E discrete, din grupul de adrese ce revine unui modul de I/E discrete aloc
cte o adres fiecrui semnal ce va fi conectat la modulul cosiderat. n cazul semnalelor de I/E
analogice, fiecare semnal primete un grup de adrese (8 sau 16), n funcie de tipul modulului.
Aceast etap se numete etapa de identificare a adreselor de I/E i la toate automatele
programabile se bazeaz pe un algoritm de identificare, specific productorului automatului

programabil. De regul, acest algoritm se bazeaz pe ideea sertar de baz/modul/punct (bit),


ceea ce nseamn c o adres de I/E ofer prin structura ei toate informaiile necesare
localizrii punctului de I/E la care a fost conectat fiecare semnal.
Programele de automat programabil utilizeaz n principiu trei tipuri de variabile:
variabile abstracte, de I/E i de memorie. Variabilele abstracte sunt definite de ctre
programator ca i n limbajele de nivel nalt uzuale. Variabilele de I/E sunt de fapt adresele de
I/E rezultate n urma etapei de identificare a adreselor de I/E. Variabilele de memorie sunt
interne memorie modulului UC, numrul i tipul lor fiind dependente de modulul UC
considerat.
Un prim tip de variabile de memorie l reprezint memoriile pe bit. Ele sunt utilizate
pentru memorarea unor semnale interne, pentru care ar fi foarte costisitor s se aloce ieiri
adevrate.Aceste variabile sunt utilizate de ctre instruciunile logice.
Un alt tip de variabile de memorie sunt datele numerice. Majoritatea unitilor centrale
lucreaz cu cuvinte pe 16 bii, ceea ce permite reprezentarea ntregilor pozitivi n gama
065535 sau a numerelor n complement fa de doi n gama -32768+32767. Unele uniti
centrale pot reprezenta numere ntregi pe dou cuvinte de cte 16 bii sau numere reale n
virgul mobil. Datele numerice pot fi constante, rezultate intermediare ale unor calcule sau
valori prestabilite sau acumulate ale temporizatoarelor/numrtoarelor (T/C).
Temporizatoarele sunt construcii interne ale unitilor centrale i sunt utilizate pentru
msurarea timpului scurs de la producerea unui eveniment ce a determinat pornirea
temporizrii. Numrtoarele sunt, de asemenea, construcii interne ale unitilor centrale
utilizate pentru numrarea unor evenimente interne (ale programului) sau externe. n general,
la definirea n program a T/C se declar adresa lor i valoarea prestabilit. Aceasta
reprezint o anume valoare de timp sau un anume numr ce prezint interes pentru procesul
considerat i este o valoare numeric ce semnific un timp sau un numr de evenimente.
Fiecare T/C primete cte o adres specific i unic. Temporizarea/numrarea ncepe, de
regul, de la valoarea 0. Coninutul T/C (sau valoarea acumulat) este actualizat continuu,
pe baza programului. Atunci cnd valoarea acumulat devine egal cu valoarea prestabilit
sunt acionate contactele T/C. Acestea sunt, n esen, tot memorii de bit i pot fi utilizate n
program pentru declanarea altor operaii, dependente de timpii msurai, respectiv de
evenimentele numrate. n plus, valorile acumulate pot fi utilizate n program pentru
declanarea altor operaii, sub forma unor variabile numerice. Numrul i tipul T/C sunt
dependente de modelul de UC considerat.
La majoritatea automatelor programabile, asupra datelor numerice sunt posibile
urmtoarele operaii: de transfer, de conversie, aritmetice i de comparare. De asemenea,
unele UC sunt prevzute cu subrutine ce permit calculul unor funcii complexe (de exemplu,
trigonometrice, PID, etc.).
Principala caracteristic a automatelor programabile o constituie execuia ciclic a
programelor. O execuie complet a unui program se numete ciclu program. Durata acestuia
este, n general, constant (de ordinul ms) i depinde de dimensiunea programului i de viteza
procesorului UC. Excepia de la aceast regul apare la UC care pot efectua transferuri prin
ntreruperi.
Un ciclu program const, n principiu, din trei etape. La nceputul fiecrui ciclu
program este citit starea tuturor intrrilor, care este memorat ntr-o zon de memorie a UC,
denumit memoria imagine a intrrilor. A doua etap const n execuia propriu-zis a
programului de aplicaie. Acesta va calcula noile valori ale ieirilor, lucru pentru care va
utiliza valorile semnalelor de intrare memorate n zona de memorie imagine a intrrilor (i nu
starea actual a intrrilor). Valorile calculate ale ieirilor nu sunt transferate direct la punctele
de ieire, ci vor fi memorate n zona de memorie imagine a ieirilor. Ciclul program se ncheie
cu etapa de actualizare a ieirilor, cnd sunt transferate simultan la punctele de ieire toate
valorile calculate ale ieirilor, aflate n zona de memorie imagine a ieirilor.

De aici reiese c un automat programabil nu comunic continuu cu mediul extern, ci


numai la anumite perioade de timp, date de durata ciclului program. Pe de o parte, aceast
funcionare ofer coeren, pentru c pe tot parcursul unui ciclu program este utilizat o
valoare unic a fiecrei intrri i pentru c toate ieirile sunt acionate simultan (i nu n
momentul calculrii valorii lor). Pe de alt parte, ciclul program limiteaz viteza de variaie a
semnalelor. De exemplu, n cazul numrrii unui tren de impulsuri mai rapide dect ciclul
program, automatul programabil pierde un mare numr de impulsuri.
Efectele ciclului program pot fi reduse (sau eliminate) prin utilizarea unor module
inteligente independente i prin secionarea programelor n subprograme cu rate de execuie
diferite. Subprogramele care necesit un rspuns rapid se vor executa mai rapid iar cele care
nu necesit un rspuns rapid vor fi executate mai lent.
Pentru programarea automatelor programabile au fost definite prin standardul IEC
1131-3 cinci limbaje de programare:
Diagrama scar (Ladder diagram), care este bazat pe formalismul Diagramelor
logice scar (Relay ladder logic), ce reprezint o metod de programare inspirat din
schemele electrice convenionale;
Lista de instruciuni (Instruction list), care este un limbaj de asamblare inspirat din
limbajele utilizate n diverse platforme hardware existente;
Text structurat (Structured text), care este un limbaj de nivel nalt asemntor
limbajului Pascal;
Diagrame cu Blocuri de funcii (Function Block Diagrams), care reprezint un
formalism de transfer a datelor bazat pe scrierea programelor prin reele de blocuri de funcii
conectate prin semnale;
Diagrame de Stare Secveniale (Sequential Flow Charts), care reprezint un
formalism grafic inspirat din standardul francez Grafcet (bazat pe o variant a unei clase de
reele Petri) i care permite o combinare ntr-un program a activitilor secveniale i a celor
paralele.
Dup cum se poate observa, aceste limbaje au origini diverse. Lista de instruciuni i
Textul Structurat provin din limbajele tradiionale de programare secvenial, n timp ce
Diagrame Scar i Diagrama cu Blocuri de Funcii imit structura predecesoarelor lor, care
erau implementri hardware ale regulatoarelor discrete i continue, paralele prin natura lor.
Diagramele de Stare Secveniale combin secvenialitatea i paralelismul. Toate limbajele
utilizeaz acelai set de caractere i permit utilizarea tuturor tipurilor de variabile definite
anterior. De asemenea, este permis utilizarea combinat ntr-un singur program a
subprogramelor scrise n oricare din cele cinci limbaje.
n continuarea capitolului sunt discutate n detaliu aspectele prezentate n acest
paragraf, cu exemplificri pentru pentru cteva tipuri de automate programabile considerate
reprezentative, iar n finalul lui sunt formulate concluziile referitoare la utilizarea automatelor
programabile n controlul proceselor.

3.2. Module de intrare


3.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 3.2.a. Deoarece nu exist

conexiuni electrice ntre diod i trantistor, 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 3.2.b.

Figura 3.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
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 la un modul de intrri discrete se poate face prin uruburi
(individual pentru fiecare semnal), dac modulul este prevzul cu bloc de terminale, sau
printr-un conector tipizat, dac modulul este prevzut cu conector. Figura 3.2.c arat modul de
conectare a semnalelor de intrare la un modul de intrri discrete pe 8 puncte, ce necesit surs
extern.
Majoritatea producctorilor de automate programabile furnizeaz module de intrri
discrete pe 8, 16 sau 32 de punctede 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.
3.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. Un cuvnt pe 8 bii corespunde unui ntreg n gama 0-255. Dac acesta este
utilizat pentru a reprezenta un semnal analogic care msoar un debit n gama 0-1800 l/min,
atunci un bit va reprezenta un debit de aproximativ 7 l/min. Pri urmare, orice strategie de
control bazat pe o rezoluie fin este compromis.

O rezoluie uzual este cea pe 12 bii. Aceasta corespunde unor ntregi n gama 04095. Pentru debitul de mai sus, n gama 0-1800 l/min, unui bit i va corespunde un debit mai
mic de 0,5 l/min. Dac se ine cont de faptul c fiecare traductor introduce o eroare n
semnalul msurat, atunci reiese c rezoluia trebuie privit ca o eroare care trebuie adunat la
eroarea proprie traductorului. Tabelul 3.1 prezint erorile introduse de conversia analognumeric, n funcie de numrul de bii utilizai pentru conversie.
Tabelul 3.1. Erorile introduse de conversia analog numeric
Numr de bii
Domeniu
Eroare ()
8
0-255
0,4
10
0-1023
0,1
12
0-4095
0,025
Puine traductoare industriale au precizia mai bun de 0,1, ceea ce nseamn c
conversia pe 12 bii induce erori minore n majoritatea aplicaiilor.
Conversia analog-numeric nu are loc instantaneu iar n majoritatea sistemelor
industriale exist o mare probabilitate ca zgomotul electric de la cablurile de c.a. s fie prezent
n semnal. O tehnic denumit dubl integrare a pantei leag timpul de conversie de frecvena
alimentrii locale, oferind un grad nalt de rejecie a zgomotului datorat aliomentrii
principale. Astfel, exist timpi de conversie de 20 ms (pentru alimentri la 50 Hz) i de 16,67
ms (pentru alimentri la 60 Hz).
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 care se va putea modifica i pote fi reprezentat printrun grafic amplitudine-frecven, ca n figura 3.3.
Pentru a extrage eantioanele
corecte, semnalul trebuie eantionat cu o
frecven mai mare dect 2 fc. n sistemele
reale, fc este rareori cunoscut cu precizie i,
uzual, este aleas o rat de eantionare de 410 fc.
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
Figura 2.3. Lrgimea de band i
analogic, acest lucru va fi o risip
Frecvena critic
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 3.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

Figura 3.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 3.5.

Figura 3.5. Modaliti de conectare la automate programabile a modulelor de intrri


analogice: a) prin selecie direct; b) prin funcionare continu
n figura 3.5.a, 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 avntajul c programatorul
poate alege perioade de eantionare diferite pentru fiecare canal.
Metoda din figura 3.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. De exemplu, la automatele Siemens cu adresare fix a sloturilor
adresele de memorie sunt determinate direct de ctre poziia modulului n sertarul de baz. Un
modul aflat n slotul 2 al primului sertar de baz va scrie valorile sale ntr-un bloc de locaii
ncepnd cu adresa 129.
Conversia semnalului din forma primar pe 12 bii n uniti inginereti se face
conform relaiei:
N VMax VMin
VM
VMin
(3.1)
4095
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).
Dac acest calcul este realizat cu numere reale, ecuaia (3.1) poate fi utilizat direct,
rezultatul fiind corect. Dac, ns, trebuie utilizate numere ntregi i se efectueaz mai nti

mprirea N-4095, rezultatul nu va fi corect. De aceea, pentru asemenea calcule se


recomand utilizarea numerelor reale.
Pentru evitarea acestei probleme, diferiii productori au dezvoltat metode de ciitire a
semnalelor analogice de intrare. De exemplu, la automatul programabil Master al firmei ABB
la declararea bazei de date se definesc Vmax,Vmin, perioada de eantionare i un nume prin
care semnalul va fi referit n program.
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).
Pentru fiecare tip de instruciune programul prevede: direcia transferului (BTW sau BTR),
adresa modulului (sertar, slot, jumtate de slot, modulul din stnga sau din dreapta), adresa
locaiei de memorie i numrul de cuvinte de 16 bii ce vor fi transferate.
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 3.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
(3.1)) pentru fiecare canal, precum i o
constant de timp de filtrare (pentru a aplica
semnalului de intrare un filtru de ordinul 1,
Figura 3.6. Instruciunile BTW i BTR
care ajut la nlturarea zgomotelor 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 3.7.a ilustreaz o treapt de program care transmite 15 cuvinte
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.

Figura 3.7. a) Instruciunea BTW; b) Instruciunea BTR


Odat fcut definirea, valorile pot fi citite la intervalelede timp necesare cu
instruciunea BTR, ca n figura 3.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 ri de cte ori B 3/72 este 1. Valorile sunt
memorate ncepnd cu locaia N 12:0.

3.3. Module de ieire


3.3.1. Module de ieiri discrete
Aceste module permit transmiterea comenzilor generate de program spre elementele
de execuie bipoziionale la nivelele de tensiune necesare (5 Vcc, 12-24 Vcc/ca, 110-220 Vca,
etc). Asemeni modulelor de intrri discrete, i aceste module necesit o izolare pentru a limita
neajunsurile datorate zgomotelor electrice i defectelor instalaiei.
Exist dou tipuri de baz de module de ieire. n figura 3.8.a 8 ieiri sunt alimentate
de la o surs comun, care este conectat la automatul programabil, dar este separat de sursa
acestuia.

Figura 3.8. Tipuri de module de ieiri discrete: a) cu susrs comun; b) cu surs separat
Aceast structur permite cea mai simpl i mai ieftin instalare. Fiecare ieire are un
fuzibil de protecie propriu i exist o siguran pe circuitul comun. Este important s se
proiecteze sistemul astfel nct un defect pe un canal s ard numai fuzibilul su i s nu
afecteze alimentarea ntregului modul (dezactivnd toate ieirile). Acest mod de lucru se
numete discriminare.
Frecvent, un automat programabil trebuie s comande ieiri care au alimentri proprii.
Un exemplu tipic este comanda unui motor, unde fiecare contactor are o surs intern de 110
V separat, derivat de la barele de 380 Vca. Structura din figura 3..8.a nu poate fi utilizat
aici fr separarea releelor interne acionate de automatul programabil.
Un modul de ieiri izolate, prezentat n figura 3.8.b are ieiri i protecii individuale i
se comport exact ca un comutator. Acesta poate fi conectat direct la orice circuit din exterior.
Deuzavantajul este acela c modulul este mai complicat (2 conexiuni/ieire) i trebuie luat n
considerare protecia muncii. De exemplu, un modul cu 8 ieiri izolate poate primi pe
terminalele sale tensiuni diferite din 8 direcii diferite.
Dup cum reiese din figura 3.8, pot fi utilizate ieirile pe releu (care dau i izolaia
dorit), dar acestea nu sunt totdeauna adecvate. Un releu este un dispozitiv electromagnetic cu
pri n micare i, deci, cu via limitat. Un dispozitiv pur electronic este mult mai fiabil.
Mai mult, o sarcin inductiv pe releu poate cauza interferene care conduc la defectarea
prematur a contactului.
n figura 3.9 este prezentat un circuit de ieire pe tranzistor. Este utilizat din nou
izolarea optic pentru a obine separarea ntre instalaie i automatul programabil.
Dioda D1 se comport ca o diod de tiere a vrfurilor, care reduce amplitudinea
vrfurilor ntlnite la sarcinile inductive. Starea ieirii poate fi urmrit prin LED1. Figura 3.9

prezint o ieire care genereaz curent (source). Dac se utilizeaz tranzistoare npn rezult un
canal de ieire care absoarbe curent (sink).

Figura 3.9. Circuit de ieire n c.c. pe tranzistor


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. Dac este posibil, toate sarcinile n c.a. ar
trebui comandate prin ieiri pe triace, i nu prin ieiri pe relee.
Un modul de ieiri discrete va avea o limit maxim a curentului pe care l poate
suporta, determinat mai degrab de traseele de pe cablajul imprimat al modulului, dect de
dispozitivele de ieire. Exist fixat i un curent maxim pe fiecare ieire (tipic 2A) i un curent
maxim admis pe modul (tipic 6A). Uzual curentul maxim admis pe modul este mai mic dect
suma curenilor maximi permii pe fiecare ieire. De aceea, n practic este bine s se reduc
curentul total pe modul prin conectarea unor ieiri care nu pot fi activate simultan (de
exemplu, nainte/napoi, rapid/ncet, etc.).
3.3.2. Module de ieiri analogice
Deseori automatul programabil trebuie s genereze semnale de ieire analogice, tot
aa cum trebuie s citeasc intrri analogice. Exemple de aplicaii sunt comanda
indicatoarelor analogice, a plotterelor sau furnizarea unor semnale de referin. 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.
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 3.10.

Figura 3.10. Generarea semnalelor analogice printr-un modul de ieiri analogice


n interiorul modulului de intrri analogice exist un singur convertor numericanalogic (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 (3.1) poate fi rescris sub forma:
( N VMin) (VMax VMin)
(3.2)
VCNC
4095
unde VCAN este valoarea transmis ctre convertorul analog-numeric (n gama 0-4095), N este
valoaarea de convertit n uniti ingireti iar Vmin i Vmax sunt valorile minime i maxime
ale semnalului numeric. Ca i n cazul ecuaiei (3.1), trebuie evitate depirea sau pierderea
rezoluiei.
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 3.11 prezint un exemplu tipic,
n care o referin analogic de vitez este mrit i micorat prin butoane controlate de
operator.

Figura 3.11. Controlul vitezei unui motor prin comenzi ale operatorului
Se observ utilizarea instruciunii GTR (mai mare ca) i LES (mai mic ca) pentru a
limita valoarea numrtorului la domeniul permis (0-1350 rot/min). Fixarea domeniului
permite apoi utilizarea n program a unitilor inginereti. 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 3.1).

3.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. Dac n acest
scop s-ar utiliza module de intrri discrete obinuite, ar apare erori de numrare inacceptabile,
ntruct s-ar pierde un mare numr de impulsuri din secven.

Numrtorul din figura 3.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 valoara curent (acumulat)
i valoarea prestabilit. Aceste ieiri sunt n c.c. pentru a minimiza ntrzierile.

Figura 3.12. Structura unui modul numrtor de mare vitez


Alte aplicaii pentru care exist disponibile module inteligente sunt cititoarele de
coduri cu bare, controlerele pentru motoare pas cu pas i aplicaiile de control a calitii prin
staii vision.

3.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
asemenea, punerea n funciune i depanarea ar deveni mult mai dificile, deoarece semnalele
pot fi vizualizate doar la anumite distane de instalaia testat.
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.
Exist numeroase avantaje ale acestei tehnici. n mod evident, 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. Cabluri de lungimi mari vor fi
necesare doar pentru cablurile de comunicaie (care sunt mai ieftine) i pentru semnalele de
avertizare/alarm, care este indicat s se conecteze individual, din considerente de siguran.
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.
Atunci cnd se utilizeaz comanda la distan, trebuie ca sertarul de baz s fie
prevzut cu o ieire suplimentar, pentru a putea conecta terminalul de programare. Se pot

pierde toate avantajele dac utilizatorul poate doar monitoriza operaiile dintr-un punct central
de comand aflat la distan mare de instalaie.

3.6. Identificarea adreselor de I/E


Aa cum s-a precizat, 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), adrese ce vor fi
utilizate ca variabile ale programului. 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.
3.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 definit ca 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.
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 3.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
ieire pe 8 puncte.

Figura 3.13. Adresarea I/E la PLC-5 al firmei Allen Bradley


Adresarea intrrilor are forma general I:sertarslot/bit , unde bit
poate avea una sau dou cifre. Allen Bradley utilizeaz adresarea biilor n octal, astfel c
valorile disponibile sunt 00-07 i 10-17. 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:sertarslot/bit , astfel c O:35/06 este ieirea 6 din slotul 5 al sertarului de
baz 3.
3.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
dispusen 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. 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 seratarul
de baz. Sunt disponibile module pe 16 puncte (2 octei) i pe 32 de puncte (4 octei). Un
sistem poate fi construit cu sertare de baz locale conectate prin cabluri paralele sau cu seratre
de baz comandate la distan prin cabluri seriale. Sertarele de baz locale sunt mai rapide i
nmltur unele probleme datorate ciclului program (care apar la sertarele de baz comandate
la distan n aplicaiile de mare vitez), dar sunt totui locale. Ele nu pot fi la distan mai
mare de civa metri de UC.
Cea mai simpl form de adresare este adresarea fix a sloturilor, descris n figura
3.14.a. Fiecrui slot i sunt atribuii n ordine 4 octei. Intrarea I 12.4 este, deci, 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 (cu alte cuvinte, octeii neutilizai nu pot fi redistribuii).

Figura 3.14. Adresarea I/E la Siemens: a) adresarea fix a sloturilor; b) adresarea variabil a
sloturilor
n toate sistemele utilizatorul are posibilitatea alegerii adreselor de octet, ceea ce
corespunde formei de adresare variabil a sloturilor (vezi figura 3.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. Dei poate fi setat orice combinaie din cele permise, este recomandat
utilizarea unei ordonri logice, similar celei din figura 3.14.b.
3.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.

Figura 2.15. Structura unui sistem GEM-80

Numrul lor poate fi suplimentat prin utilizarea unor sertare de baz locale cu 12
sloturi (conectate la modulul UC printr-un cablu panglic, caz n care semnalele de I/E se
numesc de baz) sau la distan (conectate la modulul UC prin cablu serial, caz n care
semnalele de I/E se numesc la distan), aa cum reiese din figura 3.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 exeemplu, A 3.12 este bitul de intrare 12 din cuvntul 3 iar B 5.04
este bitul 4 din cuvntul 5.
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.

Figura 3.16. Adresarea I/E la GEM-80 cu module pe 8 bii


Adresele individuale de slot pot fi setate prin comutatoare rotative fixate pe panoul din
spatele fiecrui sertar de baz. Utilizatorul are liberate n alegerea adreselor dar, de obicei, se
prefer o logic secvenial. Figura 3.16 prezint o structur tipic pentru un sistem GEM-80.
3.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 discutate pn acum. Structura sa este descris n figura 3.17.a.

Figura 3.17. Sistem Master ABB: a) structura sistemului; b) structura programului;


c) o parte a bazei de date

Fiecare modul are n partea din spate doi conectori, cel de sus conectnd modulul la o
magistral fund de sertar iar cel de jos conectnd modulul la un bloc separat de terminale.
Modulele de I/E nu sunt identificate prin poziia lor n seratrul 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 3.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 3.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).
3.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, m mod direct locaiilor de memorie unde sunt pstrate imaginile intrrilor i ieirilor.
Adrese similare sunt utilizate i n sistemele mai mari ale seriei.

3.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 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 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
3.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 3.18.b.

Figura 3.18. a) Cel mai obinuit circuit de memorare a biilor; b) diagrama temporal de
funcionare
Intrarea B condiioneaz intrarea A, aceasta fiind funcionarea necesar a unui circuit
uzual de start/stop. De fapt, variabila C memoreaz care din intrrile A i B a fost ultima
acionat.
Deseori, pentru programarea memoriilor pe bit sunt utilizate circuite basculante
bistabile (CBB), disponibile n programare sub forma unor blocuri logice. Figura 3.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.

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

Figura 3.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 3.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 3.20.b. n ambele cazuri din figura
3.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).
La PLC-5 acest lucru este determinat prin program. Memoria C din figura 3.18.a este
fr reinere iar memoria Contactor din figura 3.20.a este cu reinere. La Siemens 115,
fanioanele F 0.0-F 127.7 pot fi configurate s fie cu reinere. La Mitsubishi, releele auxiliare
M 200-M 277 sunt fr reinere iar M 300-M 377 sunt cu reinere. La GEM-80, tabela
general G de memorare a biilor este fr reinere iar tabela similar R este cu reinere.
Master al firmei ABB impune un stil de programare foarte disciplinat. Natura subelementelor,
cum ar fi memoriile, i comportamentul lor atunci cnd automatul programabil este la primul
ciclu program sunt definite atunci cnd elementele de program sunt declarate prima dat.

3.8. Temporizatoare
Msurarea timpului ste necesar n majoritatea sistemelor de control. De aceea,
automatele programabile trebuie s includ temporizatoarele n limbajele lor de programare.
Aplicaiile cele mai des ntlnite ale temporizatoarelor sunt temporizarea la anclanare,
temporizarea la declanare i generarea de impulsuri cu durat fix. De departe, cele mai
utilizate sunt temporizatoarele cu temporizare la anclanare, toate celelalte putnd fi obinute
pe baza acestuia. GEM-80 are doar acest tip de temporizator, denumit ntrzietor.
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. n general, valoarea
prestabilit este fixat de ctre programator i poate fi modificat prin program.
Fiecare temporizator dispune de un set de semnale ce pot fi utilizate de ctre program.
Figura 3.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).

Figura 3.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. Aceasta poate fi utilizat n
alte pri ale programului, acolo unde este necesar.
Tehnic programrii temporizatoarelor este diferita de la productor la productor.
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 3.22 este o aplicaie tipic pentru un PLC-5, un GEM-80 i un SIMATIC S5115U. 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. Dca contactorul este declanat, semnalul de la
contactul auxiliar va fi pierdut. Acesta nu paote 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.

Figura 3.22. Tipuri diferite de temporizatoare utilizate pentru aceeai aplicaie: a) notaia
PLC-5; b) notaia GEM-80; c) notaia SIMATIC S5-115U
Valoarea acumulat a temporizatoarelor discutate pn acum devine 0 de fiecare dat
cnd intrarea temporizatorului trece n 0 (figura 3.23.a). Aceast funcionare corespunde
teporizatoarelor 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 3.23.b. Aceast funcionare
corespunde unui temporizator cu reinere. Pentru acestea trebuie utilizat un semnal
suplimentar pentru aducerea lor la 0.

Figura 3.23. Temporizatoare: a) fr reinere; b) cu reinere; c) cu reinere n notaia Allen


Bradley; d) cu reinere n notaia Siemens
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.

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

Figura 3.24. Numrtor reversibil: a) schema intern; b) operaia de numrare

Ca i n cazul temporizatoarelor, productorii au prevzut automatele programabile cu


mai multe tipuri de numrtoare. PLC-5 i Mitsubishi utilizeaz intrrile Numrare nainte,
Numrare napoi i Reset ca terminatori de treapt, la atingerea valorii prestabilite
generndu-se un semnal de Numrare ncheiat (de exemplu, C5:4.DN la PLC-5), care
poate fi utilizat ca un contact. SIMATIC S5, Master i GEM-80 trateaz numrtorul ca un
bloc intermediar, de la care se pot utiliza semnalele de ieire.
Figura 3.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.

Figura 3.25. Aplicaie a numrtoarelor: a) la PLC-5; b) la SIMATIC S5; c) la GEM-80


Ca i la temporizatoare, atunci cnd valoarea destinaie nu poate fi atins cu un singur
numrtor, este posibil conectarea mai multor numrtoare n cascad.

3.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 utlizate 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. Numerele
reale sunt foarte utile, dar utilizarea lor implic dou probleme.
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)).
Prima problem apare atunci cnd sunt utilizate mpreun numere mari i numere
mici.caz n care este posibil ca numrul mai mic s fie ignorat. A doua problem apare atunci
cnd pentru efectuarea unor comparaii se utilizeaz numere reale. Conversia numerelor
zecimale n binar poate fi fcut doar cu rezoluia permis de formatul n virgul mobil.
Reprezentarea BCD este util pentru conectarea automatelor programabile cu unele
echipamente, cum ar fi afiajele digitale sau comutatoarele decadice. n acest scop,
majoritatea automatelor programabile dispun de instruciuni care convertesc formatul BCD n

cod binar natural i viceversa. De exemplu, PLC-5 are instruciunile FRD (pentru conversia
BCD-binar) i TOD (pentru conversia binar-BCD).
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
3.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 memorien 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 3.26.b. Sursa i destinaia pot fi orice locaii de
memorie.

Figura 3.26. Transferul datelor: a) la PLC-5; b) la SIMATIC S5; c) la GEM-80


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 3.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.
Majoritatea automatelor programabile permit compararea numerelor. Atunci cnd se
compar numere reale este recomandat evitarea testului =. n plus, PLC-5 dispune de
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 3.26.b a fost ilustrat un exemplu de transfer, n care se utilizeaz
acumulatorul. De fapt, exist dou acumulatoare, instruciunile aritmetice utiliynd coninutul
ambelor acumulatoare. Automatele programabile Master al firmei ABB i GEM-80 al firmei
CEGELEC ofer instruciuni aritmetice similare.
Toate operaiile aritmetice, i n special cele care implic numere n virgul mobil,
sunt consumatoare de timp. De aceea, este indicat ca aceste operaii s fie executate numai

atunci cnd este nevoie i s nu se piard timp prin execuia lor n fiecare ciclu program. O
alt soluie, preferabil atunci cnd calculele sunt laborioase, o reprezint transferul execuiei
acestor calcule ctre un calculator PC, ataat automatului programabil, i preluarea de la
acesta a rezultatelor calculelor.
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 3.27 exemplific cel mai
simplu mod de utilizare al acestei funcii.

Figura 3.27. Funcia PID la GEM-80


Adresele pentru K, TI, Td 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, TI, Td, 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.

3.11. Ciclul program


Un program de automat programabil se comport ca o bucl executat permanent, ca
n figura 3.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 propgramului din figura 3.28.a se numete ciclu program
(program scan, scan cycle) iar timpul necesar execuiei sale se numete durata ciclului
program. Aceasta depinde de dimensiunea programului i de viteza procesorului, o valoare
tipic fiind 2-5 ms/kcuvnt. Uzual, durata unui ciclu program este 10-50 ms.
Figura 3.28.a poate fi extins la figura 3.28.b. Automatul programabil nu citete
intrrile n ordinea specificat de program (cum s-ar putea nelege din figura 3.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.

Figura 3.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 3.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. Exist i o zon de memorie rezervat semnalelor interne, care sunt utilizate de
program dar nu sunt conectate direct cu exteriorul (temporizatoarele, numrtoarele,
memoriile de bit, de octet, etc.). Aceste zone de memorie sunt denumite zona datelor (la
Allen Bradley) sau baza de date (la ABB).
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 26 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 3.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.

Figura 3.29. Efectul ciclului program asupra impulsurilor rapide


n figura 3.29.b frecvena impuilsurilor este mai mare dect frecvena de execuie a
ciclului program i automatul programabil ncepe s piard impulsuri. n cazul extrem din

figura 3.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 3.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 3.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.

Figura 3.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 3.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 3.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.

Figura 3.31. Decalaje datorate programului: a) logica este mpotriva execuiei programului; b)
logica este conform cu execuia programului

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

Figura 3.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. n [ ] este exemplificat acest
lucru pentru un proces secvenial siplu ce conine doar semnale de I/E discrete. Exist dou
tehnici posibile de realizare a programului: programarea orientat dup ieiri i prograqmarea
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 3.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. Aceasta
permite citirea intrrii i activarea ieirii independent de ciclul program, cu avantajul dat de un
timp de rspuns minim, dar cu implicaii asupra ciclului program. Un transfer prin ntreruperi
va determina mrirea duratei ciclului program curent, cu implicaii 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 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. Manualele tehnice ce nsoesc automatele programabile conin, printre altele, i timpii
necesari execuiei fiecrei instruciuni. Dac valoarea msurat a duratei ciclului program
curent este mai mic dect valoarea prestabilit a ceasului de gard, acesta permite execuia
unui nou ciclu program. n caz contrar, execuia programului este terminat i toate ieirile
sunt dezactivate.

3.12. Limbaje de programare


Standardul IEC 1131-1 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.
Aa cum se poate observa, limbajele au origini diferite. 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, care sunt implementri
hardware ale regulatoarelor discrete i continue, n esen paralele prin natura lor. Diagrama
de Funcii Secvenial combin secvenialitatea cu paralelismul.
Standardul nu ncearc s defineasc relaii de compatibilitate ntre aceste limbaje. El
permite combinarea elementelor ce aparin unor limbaje diferite. Exit multe convenii
lexicale, sintactice i grafice comune tuturor acestor limbaje.
3.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.
De asemenea, aceast parte a standardului face legtura ntre standardul de programare
i structurile de nivel ierarhic superior ale standardului, pentru care automatele programabile
sunt vzute ca blocuri funcionale.
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.
De asemenea, exist o distincie clar ntre variabilele normale i cele cu reinere,
cele din urm permind pstrarea valorii lor i dup oprirea automatului programabil.
3.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
aceeai intrare produc aceeai ieire. Funciile ncorporate pot fi compuse ntr-o manier
aciclic pentru a obine funcii noi. Aceasta este o practic binecunoscut n programarea
secvenial i n proiectarea circuitelor combinaionale.
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,
orginea sa datorndu-se compatibilitii retroactive cu limbajele existente
Standardul ofer numeroase funcii ncorporate, care include conversii de cod, operaii
numerice, funcii booleene, operaii pe iruri i funcii de selecie. n general, funciile nu par
s pun probleme serioase att timp ct sunt evitate buclele combinaionale.
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.
3.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. Ele sunt limbaje foarte utilizate n sistemele de calcul i foarte puternice. Acest
atribut al lor poate conduce la programe scurte i uor de verificat, dar poate aduce i o serie
de inconveniente.
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). De aceea,
aceste limbaje sunt adecvate pentru scrierea modulelor de ctre programatori cu mai puine
cunotine despre controlul proceselor.
3.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 citeva
specificaii referitoare la ordinea evalurii condiiilor implicate.
Se pare c tehnologia expresiilor booleene i a Diagramelor de Decizie Binare (BDDBinary Decision Diagrams) este mult mai potrivit pentru acest scop dect limbajul bazat pe
relee. De fapt, releele amintesc de tranzistoare, care semantic sunt mai complicate dect
porile logice.
3.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.
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).
Pe de alt parte, ideea IEC de a permite scrierea unor blocuri utiliznd subseturi ale
unor limbaje imperative poate fi o extensie util acolo unde formalismul transferului de date
al funciilor bloc nu este adecvat.
3.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 constantepe
prioada 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 3.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.

Figura 3.33. Exemple de structuri n Diagramele de Funcii Secveniale: a) tranziie; b)


ramificaie; c) paralelism
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.
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. 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.
Utilizarea paralelismului poate conduce foarte uor la programe cu erori i
neinteligibile. De exemplu, este foarte uor s se modifice aceeai variabil n dou sau mai
multe ramuri paralele ale programului sau s se sincronizeze dou ramuri care sunt exclusive.

Majoritatea acestor probleme pot fi evitate printr-o disciplin a programrii care


restricioneaz sintaxa programelor.
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. Aici, dou evenimente pot avea loc n acelai ciclu program, unul din ele putnd
face o condiie adevrat iar cellalt transformnd-o ntr-o condiie fals. Regulile de
interpretare ale Grafcet dau semantici fr ambiguiti pentru asemenea cazuri.
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 sfrtul pasului, unele pot fi ntrziate, etc. Personal, consider c acest lucru
poate fi fcut mai elegant utiliznd mai puine tipuri de calificatori de aciuni i mai muli
pai.
Anumite implementri permit o proiectare ierarhizat, n care o diagram secvenial
este privit ca un pas al unei diagrame secveniale de nivel superior. Deci, nu exist nici un
motiv pentru ca paii cu calificatori de aciuni multipli s nu poat fi descompui n secvene
de pai. n rezumat, se poate spune c diagramele de funcii secveniale reprezint un limbaj
puternic, foarte util pentru procesele care combin aspectele secveniale i paralele.

3.13. Reele de automate programabile


Automatele programabile pot fi conectate mpreun n reele n vederea obinerii unor
sisteme de control distribuite. Pentru a obine un asemenea sistem 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 de la un membru al reelei la
cellalt. Aceste reele pot fi locale (LAN) sau extinse (WAN), n funcie de numrul
membrilor i de dispersia geografic a acestora.
3.13.1. Topologii de reea
Figura 3.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.

Figura 3.34. Reea master / slave


Reeaua n stea din figura 3.35 este de asemenea bazat pe un master conectat punct la
punct cu staiile individuale. Aceast structur este des utilizat pentru sistemele de calcul de
nivel nalt. Controlul comunicaiei este realizat de staia master. Comunicaiile staie la
staie au loc prin intermediul i cu cooperarea master-ului.

Figura 3.35. Reea n stea


n figura 3.36 toate staiile au fost conectate ntr-un inel. Nu exist master i orice
staie poate comunica cu orice alt staie, avnd drepturi egale de acces. Deseori, pentru acest
aranjament este utilizat termenul legtur egal-la-egal (peer-to-peer). n figurile 3.34 i 3.35
controlul era deinut ferm de ctre master. La reelele n inel este necesar utilizarea unor
tehnicide evitare a conflivtelor ce apar atunci cnd dou staii doresc s utilizeze aceeai linie
simultan.

Figura 3.36. Reea n inel


Reeaua din figura 3.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.

Figura 3.37. Legtur peer-to-peer structurat ca o magistral unic


3.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 si 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. ntro 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 3.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.

Figura 3.38. Intervalul gol i circulaia tokenului


De exemplu, dac staia A dorete s transmit un mesaj staiei D, ea ateapt pn
cnd pachetul gol ajunge la ea, dup care i depune mesajul n reea, mpreun cu adresa
staiei D. Staiile B i C transfer mesajul mai departe i l ignor, pentru c nu este pe adresa
lor. Staia D recunoate adresa , citete coninutul mesajului i adaug la acesta confirmarea
c a primit mesajul. Staiile EH l ignor dar l transfer mai departe. Staia A recepioneaz
rspunsul, vede confirmarea i terge propriul su mesaj, lsnd pachetul s circule gol n
reea.
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 3.34 i 3.35.
Pachetul gol i transferul tokenului sunt, de obicei asociate cu reelele n inel, dei pot
fi utilizate i n cazul sistemelor bazate pe magistrale, dac staiile sunt dispuse sub forma
unui inel logic.
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 muiltiple 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.
3.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. Din acest motiv aceste sisteme se
numesc brevetate sau de firm, termeni prin care se sugereaz c ele nu pot fi interconectate
cu echipamente de la ali productori.
Automatele programabile PLC 5 de la Allen Bradley comunic unul cu altul pe o
magistral peer-to-peer fr master prin transferul tokenului, denumit Data Highway Plus.
Aceasta 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 i cea mai
simpl metod, numit Starnet, realizeaz comunicaii master / slave punct-la-punct cu o
bucl de curent 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
standardele 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 care 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
legtur 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, implementnd primele
patru nivele ale modelului OSI. Opereaz dup standardul IEEE 802.3, cunoscut mai bine sub
numele de Ethernet cu legturi dense. Poate suporta pn la 1024 staii, utiliznd CSMA/CD
pentru controlul accesului la reea. 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, aa cum
cere MAP.
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 unui proces.
Este destinat nlocuirii cablrii paralele convenionale. Capabilitile sale au fost
mbuntite continuu i acum este 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 620262.
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 10Mbaud.
PROFIBUS este o reea deschis, internaional, independent, standardizat sub
standardul european EN 50170. Protocolul PROFIBUS a fost special proiectat pentru
sistemele de conducere distribuite industriale. Este prevzut cu algoritmi de detecie a
erorilor, de tip CRC, i cu ceasuri de gard (watchdog timers). Utilizeaz transmisia pe cablu

dublu i nivelele standardului RS-485, ceea ce asigur 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.
3.13.4. Consideraii practice privind sigurana comunicaiilor
Pentru exemplificare, se consider o situaie des ntlnit, reprezentat n figura 3.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
autmatul 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.

Figura 3.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. De 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 3.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.

Figura 3.40. O soluie de verificare a legturii seriale


O reea introduce ntrzieri suplimentare ntr-un sistem. Acestea depind evident de
ncrcarea reelei, valorile tipice fiind de 0,2-0,5 secunde la reelele de firm i mai mici la
Ethernet i MAP.
Zgomotul este sursa principal de probleme i, de obicei, se manifest printr-o cretere
a timpului de rspuns introdus de reea (datorit numrului mare de repetri). Datorit
verificrii i CRC zgomotele cauzeaz rareori probleme operaionale. Cnd apar totui
asemenea probleme, efectul este aproape ntotdeauna nefuncionarea unui dispozitiv atunci
cnd trebuie ca el s mearg (mai degrab dect pornirea pe neateptate a unui dispozitiv).
Zgomotele mpiedic trecerea semnalelor i, de regul, nu cauzeaz acceptarea semnalelor
greite.
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.
3.14. Aspecte ale dependabilitii automatelor programabile
Exist o diferen fundamental ntre o problem ntr-un sistem cu automat
programabil i, s zicem, un defect mecanic. Defectele acestora din urm sunt evidente , chiar
i pentru nespecialiti.
Problemele legate de automate programabile sunt mult mai subtile, fiind implicai mai
muli factori. Dac un element de execuie nu funcioneaz, aceasta 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. De aceea diagnoza poate fi
consumatoare de timp.
Una din artele deteciei defectelor const n realizarea unui echilibru ntre
probabilitile de apariie n timp a diverselor cauze de defect posibile, deoarece detecia i
localizarea defectelor necesit efort i echipamente adecvate. Figura 3.41 prezint
probabilitile de defectare ale unor diferite pri ale unui sistem tipic cu automat programabil
[307]. n contextul figurii automat programabil nseamn tot ce intr n componena
automatului programabil pe lng modelele I/E.

Figura 3.41. Distribuia defectelor ntr-un sistem tipic cu automat programabil


Se observ c 95% din defectele automatului programabil se datoreaz, de fapt, unor
dispozitive ale instalaiei, cum ar fi elemente de execuie i limitatoare i doar 5% din defecte
se datoreaz automatului programabil propriu-zis.
Aceasta 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 afecta i dependabilitatea automatului

programabil. De exemplu, un defect la sursa de alimentare a unui modul de ieire poate cauza
defectarea modului de ieire.
3.15. Concluzii
Aa cu reiese din cele prezentate n acest capitol, 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.
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, fapt care uureaz mult 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 fenomele 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 nteriorul 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, impreun
cu alte soluii.

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