Sunteți pe pagina 1din 426

Automate programabile

(Controlere logice programabile)

Cap. 1. Introducere n sistemele


de conducere
n lumea competitiv de astzi, dac o companie dorete s
supravieuiasc, trebuie:
s fie eficient,

s aib costuri reduse i


s fie flexibil n procesul de producie.
Acest lucru a fcut ca n industrie s fie o cerere crescnd de sisteme
de control industrial, pentru:
a se obine economii,

pentru ca procesele de producie s devin eficiente din punct de


vedere al vitezei, al fiabilitii i al adaptabilitii.

Sistemele de control, incluznd aici:

sistemele bazate pe relee,


sistemele cu logic cablat i

sistemele de calcul,
pot furniza un control eficient al proceselor industriale.

Totui, fiecare dintre sistemele menionate anterior are


limitri sau dezavantaje care deseori pot fi depite prin
utilizarea automatelor programabile.

Definiie. Un automat programabil a fost definit de Capiel (n


1982) ca fiind: "un sistem electronic opernd digital, proiectat
pentru utilizarea n mediul industrial, care utilizeaz o
memorie programabil pentru memorarea intern de

instruciuni pentru implementarea unor funcii specifice


precum funcii logice, secveniale, temporizri, contorizri i
funcii aritmetice, pentru a controla, prin intermediul
modulelor de intrare/ieire digitale sau analogice, diverse
tipuri de maini i procese".

Scurt istoric. Automatele programabile i-au nceput dezvoltarea n


anii '70 i au fost utilizate n principal n industria auto, unde au nlocuit
panourile de comand cu multe relee.
Avantajele oferite de automatele programabile n acea perioad:
au fost capabile s furnizeze controlul cerut,
ocupau mult mai puin spaiu dect echivalentul lor cu relee
au fost de asemenea mult mai fiabile n funcionare pe perioade de
timp lungi
mult mai important, automatele programabile au fost extrem de
flexibile din punct de vedere al modificrii programului de control.
Astfel a fost posibil modificarea programului de control, fr a trebui s
se deconecteze nici un fir; a fost necesar doar schimbarea programului
rezident n memorie, utiliznd o mic tastatur sau o consol ataat la
automatul programabil.

Dezvoltarea automatelor programabile a cunoscut o amploare foarte mare,


piaa de automate programabile crescnd foarte mult, la fel i numrul de
productori de automate programabile.
Exemple de productori:
Allan Bradley Co.,
General Electric Fanuc,
GEC,
Gold Ltd,
Klockner Moeller,
Mitsubishi Electric Ltd,
Festo,
Saab,
Saat-Control,
Siemens Ltd,
Square D,
Texas Instruments,
Telemechanique,
Toshiba,
Westinghouse,
Automatica SA etc.

Rata nalt de cretere a aplicaiilor conduse de automate programabile


n industrie a ncurajat productorii s dezvolte familii ntregi de sisteme
bazate pe microprocesoare avnd diverse nivele de performan.
Domeniul de automate programabile, disponibile azi, se extinde de la:
sisteme mici, cu 20 de intrri/ieiri digitale i 500 de cuvinte
instruciune,
pn la:
sisteme modulare sofisticate, cu un sortiment de module funcionale
pentru sarcini precum:
comunicaii,
intrri/ieiri analogice,

control PID.
Aceast abordare modular permite extinderea sau modernizarea
(upgrade) sistemului de conducere cu minim de costuri i perturbri ale
procesului condus.

1.1. Automatic
Pentru toate ramurile industriale, practic, calea spre creterea
productivitii este automatizarea proceselor de producie.
Automatizarea are drept scopuri:
creterea volumului de produse finite i
mbuntirea calitii produselor.
n orice form, automatizarea implic nlocuirea parial sau
total a eforturilor i aciunilor umane n realizarea i controlul
unor operaiuni particulare.
Din ce n ce mai numeroase sunt fabricile n care omul
supervizeaz maina. Acest lucru este posibil numai atunci cnd el
tie cum funcioneaz un proces industrial particular i ce comenzi
sunt necesare pentru a realiza i menine o ieire dorit.

Pentru a realiza automatizarea procesului industrial, operatorul


uman trebuie nlocuit de ctre sisteme automate care s fie capabile
s controleze procesul cu intervenie uman minim sau nul.
Sistemul automat trebuie s aib capacitatea de a:

porni,

conduce i

opri un proces,

ca rspuns la variabilele msurate sau monitorizate din proces,


pentru a obine ieirea dorit.
Un sistem care posed toate aceste capaciti este denumit un
sistem de control automat.

Orice sistem de control poate fi mprit n trei subsisteme: de


intrare, de procesare i de ieire.

Modelul anterior poate fi de asemenea descris din punct de vedere al


aciunilor, ca fiind constituit din msurarea intrrilor, procesarea de
control realizat asupra acestor intrri i din aciunile de ieire rezultate.
Sarcina subsistemului de procesare este de a produce rspunsuri
predeterminate (sub form de ieiri) ca urmare a informaiei furnizate
prin msurarea semnalelor de intrare. Exist mai multe metode
disponibile pentru implementarea funciei de procesare, toate utiliznd
intrri i ieiri similare.

Acest model, de asemenea, nfieaz controlul printrun operator uman acionnd ca subsistemul de procesare.
Operatorul:
cunoate cum trebuie s fie ieirea dorit a procesului,

monitorizeaz vizual variabilele relevante, adic intrrile


(utiliznd instrumente de msur).
ca rspuns la aceste citiri, va modifica comenzile (de
exemplu, deschiderea sau nchiderea unei valve) pentru a
obine ieirea dorit a procesului.

Semnalele de intrare sunt n mod normal furnizate de diverse


traductoare care convertesc diverse mrimi fizice n semnale
electrice.
Aceste traductoare pot fi:

simple push-butoane,

comutatoare,

termocuple,

traductoare de proximitate etc.

Ele transmit informaii despre mrimea care este msurat.


Depinznd de traductorul utilizat, aceast informaie poate fi o
reprezentare discontinu on/off (binar) sau continu (analogic)
a mrimii de intrare.

Traductor
Comutator
(switch)
Limitator
de curs
Termostat
Termocuplu
Termistor
Traductor de
msurare a
deformaiei
Fotocelul
Traductor de
proximitate

Mrime msurat
Micare/
poziie
Micare/
poziie
Temperatur
Temperatur
Temperatur
Presiune/
micare

Mrime de ieire
Nivele de tensiune (on/off)

Lumin
Prezen
obiecte

Tensiune variabil
Rezisten
variabil

Nivele de tensiune (on/off)


Nivele de tensiune (on/off)
Tensiune variabil
Rezisten variabil
Rezisten
variabil

Sistemul de control trebuie s fie capabil s modifice anumite elemente


cheie sau mrimi din proces, deoarece exercit control asupra modului n
care lucreaz procesul.
Aceasta este realizat prin utilizarea dispozitivelor de ieire precum:

pompe,
motoare,
pistoane,

relee etc.
care convertesc semnalele de la subsistemul de procesare n mrimile
necesare.

Un motor, de exemplu, convertete semnale electrice n micare de rotaie.


Cu alte cuvinte, dispozitivele de ieire sunt tot traductoare, dar n alt
direcie. Ca i traductoarele de intrare, dispozitivele de ieire pot fi uniti

simple on/off (cuplat/decuplat) sau mrimea de ieire poate varia continuu


(analogic) n timpul funcionrii ntre complet off i complet on.

Dispozitiv de ieire
(Element de execuie)
Motor
Pomp
Piston
Solenoid
Radiator, boiler,
motor termic
Valv, supap
Releu

Intrare
Electric
Electric
Hidraulic/
pneumatic
Electric
Electric
Electric/hidraulic/
pneumatic
Electric

Mrime
produs
Micare de rotaie
Micare de rotaie i deplasare a produsului
Micare liniar/presiune
Micare liniar/ presiune
Cldur
Variaia deschiderii unui orificiu
Comutare electric/ micare fizic limitat

Subsistemul de procesare corespunde cunotinelor operatorului


uman n ceea ce privete inerea unui proces sub control.
Operatorul utilizeaz aceste cunotine dar i informaia obinut de
la intrrile msurate, producnd aciunile de ieire corespunztoare.
Prelund informaia de intrare, sistemul de control automat
trebuie s produc semnalele de ieire necesare, ca rspuns la planul
de control ncorporat n subsistemul de procesare. Acest plan de
control poate fi implementat n dou moduri diferite, utiliznd:

fie control cablat,

fie control programabil.

Sistemele cablate au funcia de control fixat permanent (avnd


elementele sistemului conectate, de exemplu electric), n timp ce ntrun sistem programabil funcia de control este programat (i
memorat) ntr-o memorie i poate fi modificat prin reprogramare,
dac acest lucru devine necesar.

Sisteme cablate

Relee

Tipul
controlului
realizat
Digital

Logica
electronica
Logica pneumatica

Digital

Logica hidraulica
Electronica
analogica

Digital
Analogic

Digital

Sisteme
programabile

Tipul
controlului
realizat

Calculatoare de
proces
Microcalculatoare

Digital /
analogic
Digital /
analogic
Digital /
analogic

Automate
programabile

1.2. Sisteme digitale i analogice


n lumea real, mrimi variabile precum temperatura, viteza, poziia
etc., se schimb gradual i continuu de-a lungul unui domeniu infinit
de valori. Ele sunt mrimi analogice.

Figura anterioar prezint o form de und analogic, cu amplitudine i


frecven variabile. Muli senzori genereaz semnale analogice care
variaz fie n frecven, fie n amplitudine, n funcie de senzor i de
mrimea msurat.

Totui, multe dispozitive produc sau rspund la semnale


digitale, cu doar dou nivele posibile.

Cele dou stri pot reprezenta:


on
sau
deschis
sau
da
sau
+5V
sau
1
sau
adevrat
sau

off
nchis
nu
0V
0
fals

Aceste semnale cu 2 stri pot fi reprezentate utiliznd sistemul


de numeraie binar (cu baza 2), unde unui nivel i se asigneaz
(atribuie) valoarea 1 i celuilalt valoarea 0.
Aadar, n sistemele digitale (binare), nivelul semnalului actual
(de exemplu tensiune) este important mai degrab din punct de
vedere al reprezentrii ca 1 sau 0 logic, dect ca valoare
(analogic) a sa exact.

Controlul continuu sau analogic utilizeaz semnale de intrare de la


senzori i comand dispozitive de ieire asociate precum valve,
pompe, motoare termice etc. Aceste dispozitive de ieire pot fi de
asemenea variabile continue sau simple uniti de comutare on/off.

Procesarea semnalului care are loc n sistemul de control depinde de


procesul industrial implicat, dar n mod tipic implic i amplificarea
semnalului i cteva tipuri de funcii matematice, precum nsumare
sau integrare, pentru a aduce schimbarea dorit la dispozitivul de
ieire.
Controlerele continue includ sistemele electronice analogice i
calculatoarele analogice.

Controlul discret sau discontinuu (on/off) a aprut n multe ramuri industriale, de


cnd mainile i procesele conin uniti (care pot fi n doar una din dou stri)
controlate printr-un mare numr de operaii simple sau pai secveniali. Exist
multe exemple n care semnalul de intrare este n mod obinuit de form discret,
de exemplu impulsurile de la un comutator, biii de date de la o tastatur etc. n
astfel de cazuri se utilizeaz tehnicile comutaiei binare. Aceasta nu poate fi
considerat o form inferioar de control n comparaie cu metoda continu fiecare are propria sa arie de aplicare i este cea mai eficient n acea arie.
Nivelele de dificultate ale strategiei de control regsite la sistemele binare pot
deseori s se asemene sau s le depeasc pe acelea regsite ntr-un sistem de
control continuu.

Controlerele secveniale discrete includ relee, sisteme logice electronice /


pneumatice / hidraulice, calculatoare, automate programabile.

1.3. Tipuri de procese industriale


n industria actual exist o mare diversitate de procese de producie
ce pot fi grupate n trei categorii principale, n funcie de tipul de
operaii ce au loc n cadrul procesului:
a) producie continu;
b) producie pe loturi;
c) producie pe articole alctuite din componente diferite.
Fiecare proces are caracteristici individuale i cerine care trebuie
luate n considerare cnd trebuie proiectat un sistem de control.

a) Un proces continuu primete materie prim la intrare i lucreaz


continuu, producnd materiale sau produse finite la ieire. Procesul
poate lucra perioade lungi de timp, n mod uzual minute, ore sau chiar

sptmni n anumite cazuri.


Producia de tabl de oel este un exemplu de proces continuu.

b) Un proces pe loturi utilizeaz la intrare o cantitate de materiale


diferite i realizeaz operaii de procesare asupra acestor materiale,
producnd o cantitate specific de produs finit (la ieire) care va suferi
etape suplimentare de procesare. Un sistem tipic de procesare pe loturi
este un proces chimic.

c) Producia pe articole alctuite din componente diferite.


n acest tip de proces un articol individual sufer diverse
operaii nainte de a ajunge n forma final. Succesiv,
cteva componente pot fi combinate sau asamblate ntr-un

proces pentru a da natere unui articol individual.

1.4. Strategii de control


Cea mai simpl form de control este controlul n bucl deschis. Ideea de
baz este de a proiecta un controler ct mai precis posibil, producnd ieirea
dorit a procesului prin ajustarea comenzii. n acest caz nici o informaie nu se
rentoarce la controler pentru a determina dac ieirea dorit continu s fie
ndeplinit; de aceea pot apare erori la acest tip de sistem de control.

Un exemplu n bucl deschis este acela n care o ncpere este nclzit de un


sistem de nclzire, fr a exista un termostat care s nchid sau s deschid
sistemul de nclzire.
Controlul n bucl deschis poate furniza performane acceptabile n anumite
situaii particulare, atunci cnd nu este posibil financiar sau fizic un sistem mai
sofisticat.

Dac exist efecte nesesizate sau perturbaii care acioneaz asupra procesului,
acestea nu pot fi compensate, iar sistemul ar putea iei de sub control.
n acelai timp perturbaiile externe care afecteaz sistemul nu trebuie ignorate.
Deseori este posibil monitorizarea perturbaiilor unui sistem i utilizarea acestei
informaii pentru a se da comenzi compensatorii. Aceast strategie este denumit
control direct (sau principiul compensaiei).

Controlul direct este potrivit cnd perturbaiile sunt puine ca numr i pot fi
msurate cu precizie, dar devine nepotrivit i mai scump de implementat cnd
perturbaiile sunt numeroase i/sau nemsurabile.

n acest caz este necesar adoptarea unei strategii de control care trateaz
perturbaiile ntr-un mod diferit. Controlul n bucl nchis sau cu reacie
(principiul aciunii prin discordan, Watt) corecteaz perturbaiile prin
msurarea efectului lor asupra ieirii sistemului i apoi calculeaz o comand de
corectare care contracareaz perturbaiile i menine ieirea dorit.

Ideal, orice control aplicat ar trebui s fie precis, cu procesul rspunznd


instantaneu la schimbrile valorii de intrare dorite (de referin). Totui, n
practic nu este posibil o precizie absolut i toate procesele prezint o anumit
eroare acceptabil ntre ieirea dorit i cea actual. Cu ct variaia permis a
ieirii este mai mic, cu att mai complex i mai scump devine sistemul de
control.

n sistemele de control n bucl nchis comenzile realizate n funcie de


semnalul de eroare se bazeaz pe anumite aciuni sau termeni (proporional,
derivativ, integrator).
Aciunea proporional:
ieirea (comanda) = K eroarea
Este cea mai simpl form de control continuu, producnd o ieire a
controlerului care este direct proporional (printr-un factor de amplificare
K) cu intrarea de eroare.
Totui, aciunea proporional este rareori suficient, deoarece cnd ieirea
sistemului se apropie de referina dorit, eroarea se reduce proporional i
astfel se reduce i ieirea de control. Aceasta are ca rezultat o eroare
staionar ntre referin i valoarea msurat la ieire. Aceast eroare
staionar poate fi redus prin creterea amplificrii controlerului, lucru care
poate conduce la instabilitatea sistemului i la oscilaii.

Pentru a depi aceste probleme, se utilizeaz n mod obinuit


aciunea proporional n combinaie cu aciunile derivativ i
integratoare.

Aciunea derivativ furnizeaz un semnal de ieire proporional cu


derivata erorii.
ieirea (comanda) = K Td (de/dt)
unde:

e = eroarea = referina - ieirea msurat;


Td = constant de timp de derivare.

Astfel, dac apare o eroare ce crete rapid, atunci va fi produs o


ieire de corectare mare. Cnd viteza de variaie a erorii este mic,
ieirea derivativ va scdea. Aceasta mbuntete rspunsul
sistemului la erori dinamice dar nu mbuntete eroarea staionar.

Aciunea integratoare genereaz un semnal de ieire proporional cu


integrala matematic a erorii, nsemnnd istoria nsumat a erorii.
ieirea (comanda) =

unde

Ti = constant de timp de integrare.

Aceasta este utilizat pentru a micora eroarea staionar, deoarece

termenul integrator furnizeaz o ieire de ajustare a erorii; adic ieirea


integratorului se va modifica att timp ct intrarea eroare nu este zero.
Dac eroarea este nul, comanda va fi constant. Prezena aciunii

integratoare conduce la anularea erorii staionare (de poziie).

n mod uzual se utilizeaz o combinaie a aciunilor proporional, derivativ


i integratoare ntr-un controler. Acesta este denumit control PID i, astzi,
este unul dintre cei mai utilizai algoritmi de control n industrie.

Ca sisteme de control convenionale ntlnim:


a) sisteme de control cu relee;

b) sisteme electronice care, la rndul lor, sunt:


* cu tranzistoare;
* cu circuite integrate, respectiv:

* liniare (semnale analogice);


* digitale (semnale binare).
Sistemele electronice se mai pot clasifica n:

* sisteme combinaionale;
* sisteme secveniale.
c) sisteme bazate pe calculator.

Cap. 2. Structuri de
automate programabile

2.1. Automate programabile. Definiii i


caracteristici. Tipuri de automate
programabile

Prelucrarea informaiilor ntr-un sistem cu relee sau tranzistoare


este determinat de conexiunile existente ntre elementele ce

prelucreaz semnalele.
Fiecare aplicaie cere ca proiectantul s selecteze o combinaie
unic de elemente de prelucrare a semnalelor, relee sau circuite

tranzistorizate (de exemplu circuite numerice integrate) i s le


conecteze ntr-un mod particular, pentru a se obine funcia
dorit.

n consecin, exist puine asemnri ntre diferite aplicaii,


ceea ce conduce la creterea costului sistemului. Modificri
ulterioare realizrii sistemului nu se pot face n scurt timp i la un

cost redus.

Automatele programabile (AP) sunt echipamente electronice


destinate automatizrii proceselor industriale cu caracter preponderent
secvenial, situate din punct de vedere al complexitii ntre
echipamentele cu relee sau tranzistorizate i calculatoarele
electronice.
Automatele programabile au depit performanele tehnicoeconomice ale dispozitivelor de comand realizate n logic cablat
prin:
capacitate sporit de prelucrare a datelor,
flexibilitate n adaptarea la cerinele procesului de condus i la
modificri post instalare,

simplitate n programare.

Flexibilitatea, fiabilitatea, insensibilitatea la perturbaii


precum i o serie de cerine privind facilitile oferite la

introducerea sau la modificarea programelor de lucru sunt


doar cteva dintre caracteristicile de baz ce se impun la
ora actual echipamentelor de conducere pentru
majoritatea aplicaiilor (inclusiv pentru cele ce utilizeaz
roboi industriali). ntr-o mare msur aceste cerine sunt
acoperite de automatele programabile.

Este foarte important de menionat c n contextul actual este


foarte dificil de dat o definiie a automatului programabil.
Diversitatea firmelor productoare i a tehnologiilor impuse pe
pia au determinat existena unei game variate de automate
programabile.
ntr-un sens general, putem spune c un automat programabil
este un dispozitiv specializat, care asigur, cu un minim de

intervenie uman, funcionarea unei maini sau instalaii de


producie.

Prin concepia sa, automatul programabil:


este adaptat pentru funcionarea n mediu industrial,
poate opera ntr-o plaj larg de temperatur i umiditate,
este uor adaptabil la interfaarea cu orice proces i
nu pune probleme deosebite privind instruirea personalului de
deservire, datorit facilitilor de programare oferite.
Toate aceste caracteristici, la care se mai pot aduga:
robusteea general a echipamentului i
preul de cost relativ redus,
fac ca automatele programabile s constituie o pondere
important n sistemele de conducere ale roboilor industriali i ale
proceselor de producie n general.

Automatul programabil este un sistem ce realizeaz, cu logic


programat, toate funciile cerute de procesul condus (comandat),
diferenele ntre aplicaii fiind doar cele de program de aplicaie
(program nscris n memorii de tip EPROM, care prezint avantajul
modificrii simple i rapide a informaiei nscrise).
Automatele programabile sunt destinate conducerii proceselor
secveniale de complexitate medie, din diverse ramuri de activitate,
cum ar fi:
maini-unelte, maini de injecie, prese;
linii de turnare sau galvanizare de complexitate medie, linii
de transfer;

manipulatoare i roboi industriali etc.

Pentru aplicaii de mare complexitate, caracterizate prin:

timpi de rspuns extrem de redui,

calcule aritmetice complexe,

transferuri multiple de date,

conducerea proceselor devine posibil doar prin utilizarea


calculatoarelor de proces, care:

au ns un cost mare i

necesit personal cu nalt calificare pentru ntreinerea i

dezvoltarea sistemului.

Consideraiile expuse (capacitate sporit de prelucrare, flexibilitate,


simplitate) au determinat introducerea unor dispozitive desemnate s
opereze cu o singur intrare sau ieire binar la un moment de timp dat,
configurate asemntor sistemelor cu relee. Aceste dispozitive au fost
denumite automate programabile cu prelucrare de bit (APB).
Bazndu-se pe o organizare simplificat de calculator de proces i
beneficiind de un set de instruciuni redus, APB realizeaz prelucrri
numerice simple de date, n principal logice i, n proporie redus,
calcule aritmetice, fiind ns capabile s interfaeze, ntr-un context de
siguran n funcionare ridicat, un numr de canale infor- maionale
de intrare i ieire de un bit, asociate procesului condus (de exemplu
4096 I/E).

Pentru aplicaii de vitez mare pot fi folosite automate


programabile algoritmice, realizate cu un nivel de
programare (microprogramate). Acest tip de automate
beneficiaz de o formalizare standard a problemei de
conducere prin organigrame de stri.

Atunci cnd volumul prelucrrilor de date este mare, iar


formatul datelor este de tip paralel, sunt utilizate AP ale cror

uniti centrale, de tip microcalculator, ofer posibilitatea


calculelor logice i aritmetice pe 4, 8, 16 sau 32 de bii.

Aceste AP cu prelucrare de cuvnt (APC) pot fi interfaate,


de obicei, prin tehnici de acces direct la memorie (DMA) cu
uniti de tip APB, constituind astfel sisteme complexe de
conducere, ce acoper n mod eficient totalitatea funciilor
logice i aritmetice.

Cu toate c n arhitectura general a unui APB, dezvoltat


n jurul unei magistrale la care sunt conectate canalele de I/E
asociate procesului, unitatea central i memoria sugereaz
structura unui calculator, diferenele sunt majore.
Unitatea central a APB este o unitate logic capabil s
interpreteze un set restrns de instruciuni (de obicei pn la
64 instruciuni) ce exprim funcii de baz, cum ar fi:
evaluarea expresiilor booleene cu atribuirea rezultatului
logic unei variabile memorate sau unui canal de ieire,
secvene de numrare sau de temporizare.

Execuia instruciunilor este ciclic. Aceast noiune de


"ciclu" permite adesea suprimarea practic a software-ului de
baz i renunarea la principiul ntreruperilor.
Derularea ciclic rapid a unui program liniar (sau n orice

caz fr salturi napoi) n raport cu timpii de rspuns ai


procesului permite sesizarea evenimentelor la puin timp dup
ce apar, fr riscul pierderii de informaie.

Programarea simpl a automatelor programabile const n


scrierea direct a unui ir de instruciuni, conform unei:

diagrame de semnal,
ciclograme,
organigrame sau
unui set de ecuaii booleene.
Diversitatea acestor puncte de plecare pentru programare
demonstreaz
intenia
constructorilor
de
automate
programabile de a se adapta cunotinelor i preferinelor
utilizatorilor.

Tipuri de automate programabile


Categoria de automat programabil se bazeaz pe eliminarea n ct
mai mare msur a structurilor logice cablate i pe nlocuirea acestora
cu structuri logice standard programabile cum ar fi:

memorii,

reele logice programabile,

secveniatoare logice programabile,

microprocesoare i

circuite specializate programabile.

Metodele specifice de descriere a comportrii automatelor


programabile rmn metodele organigramei de stri (ASM), metoda
Grafcet, respectiv metoda ladder.

Datorit necesitii de utilizare n aplicaii industriale


diverse, o configuraie de automat programabil conine i o

interfa de intrare/ieire, realizat prin circuite specifice de


multiplexare/demultiplexare, memorare, separare galvanic,
adaptarea nivelului semnalului, care n ansamblu confer
structurii de automat programabil unele similitudini cu
calculatorul de proces.
Structurile de AP asociaz configuraiei de conducere de
baz i o interfa de dialog cu operatorul, dialog ce se
realizeaz prin intermediul consolei de programare a AP.

Clasificarea automatelor programabile se poate face dup dou


criterii de baz:
principiul de funcionare al secveniatorului i
suportul fizic al acestuia.
Dup primul criteriu, automatele programabile se pot clasifica
n dou categorii:
A) AP la nivel de instruciune;
B) AP algoritmice.
Automatele programabile din prima categorie se aseamn cu
structurile de tip calculator de proces, prin aceea c
individualizeaz un ciclu instruciune, n care fazele de extragere a
instruciunii i de execuie a acesteia sunt marcate de un ceas
specific sistemului, iar transferurile de date se execut sincron.

n funcie de dimensiunea unitilor aritmetico-logice i deci a


magistralelor de date se disting:
1. AP cu prelucrare de bit sau scalare, pentru care magistrala de
date are capacitatea de 1 bit, iar prelucrrile (n principal logice)
se efectueaz asupra unor operanzi binari de 1 bit.
2. AP cu prelucrare de cuvnt sau vectoriale, care extind gama
de prelucrri la calcule aritmetice asupra unor operanzi de 8, 16
sau 32 de bii.
3. AP mixte (sau biprocesor), care conin dou uniti
aritmetico-logice ce pot lucra respectiv asupra unor operanzi de
1 bit sau asupra unor operanzi de 8, 16 sau 32 de bii.

Din a doua categorie (a automatelor programabile


algoritmice) fac parte automatele programabile la care
generarea noii stri se execut printr-un ciclu de acces direct
la o memorie n care sunt codificate explicit tranziiile de
stare.
n funcie de nivelurile de programare, se pot distinge
dou tipuri de automate programabile algoritmice:

cu un singur nivel de programare,


cu dou niveluri de programare.

Referitor la suportul fizic de implementare a


secveniatorului ct i a unitii aritmetico-logice, se pot
distinge:
AP cu microprocesor,

AP realizate cu componente discrete.


Cererea n cretere de automate programabile a avut

drept rezultat realizarea de ctre cei mai muli productori a


unei varieti de automate programabile, cu diverse niveluri
de performan i diverse faciliti.

Definiiile uzuale referitoare la mrimea unui automat programabil


sunt date n funcie de dimensiunea memoriei program utilizator i
de numrul de intrri/ieiri pe care l poate suporta automatul
programabil.
Totui pentru a evalua serios un automat programabil trebuie luate
n considerare mai multe caracteristici suplimentare (de exemplu
caracteristicile procesorului su, durata ciclului program, facilitile
limbajului de programare, funcii, capacitatea de extindere etc.).
n tabelul urmtor este dat un exemplu al acestor categorii:
Mrime AP
Mic
Mediu
Mare

Numr maxim de
intrri/ieiri
64/64
128/128
>128/ >128

Dimensiunea memoriei program


utilizator
1K
4K
> 4K

n general, automatele programabile mici sau mini (au


aprut chiar i aa numitele nano) sunt proiectate ca
uniti robuste, compacte, care pot fi montate pe sau alturi
de echipamentul ce trebuie condus.

Ele sunt n principal utilizate pentru a nlocui logica


cablat, releele, blocurile de temporizare, numrtoarele
etc., dar pot fi utilizate de asemenea la conducerea unor
maini lucrnd n conexiune unele cu altele.

Automatele programabile mici pot avea numrul de


intrri/ieiri extensibil prin adugarea unuia sau a dou

module de intrare/ieire. Dar orice dezvoltare cerut


suplimentar deseori nseamn nlocuirea ntregii uniti. n
mod normal este realizat cu un singur procesor, cu
meninerea la un nivel mediu a facilitilor de programare,
permind controlul secvecial i funcii standard simple:
temporizri, numrri. Pentru programare de obicei se
poate utiliza fie modalitatea listei de instruciuni, fie
diagrama ladder.

La automatele programabile medii predomin


construcia modular plug-in ce se bazeaz pe fundul

de sertar Eurocard 19" sau a unui alt sistem de montare


(de exemplu tip baret). Aceast construcie permite
nlocuirea simpl sau extinderea sistemului prin
introducerea de module (plci) de intrare/ieire adiionale
sau a altor tipuri de module, deoarece cele mai multe
sisteme cu fund de sertar au un spaiu suplimentar
prevzut pentru extensii. Plcile sunt fcute durabile
pentru a permite operarea fiabil ntr-o diversitate de
medii de lucru.

n general acest tip de automat programabil este folosit pentru


sarcini de control ce nu pot fi realizate de automatele programabile
mici, datorit numrului insuficient de intrri/ieiri sau deoarece se
prevede ca sarcina de control s se extind n viitor. Unele
automate programabile medii au incluse faciliti de comunicaii ce
permit ca automatul programabil s fie inclus ntr-un sistem de
control distribuit.
Astfel de automate programabile pot avea att un procesor de bit,
ct i unul de mai muli bii (cuvnt). Programarea se poate face fie
folosind o consol de programare, fie utiliznd un calculator, iar
modalitile de programare sunt fie list de instruciuni, fie
programare grafic prin diagrame ladder sau diagrame Grafcet.

Automatele programabile mari sunt utilizate atunci cnd sunt


necesare funcii complexe de control cu un numr mare de intrri

i ieiri. Sunt construite modular, cu un domeniu larg de tipuri de


module, inclusiv module de intrri/ieiri analogice, module de
control PID i module de poziionare pe 1 sau 3 axe.
Au o structur multiprocesor att cu procesor de bit ct i cu
procesor de 16 sau 32 de bii (chiar 64), dar i cu procesoare
specializate

pe

modulele

funcionale.

Aceast

soluie

multiprocesor optimizeaz performanele sistemului general


privitor la viteza de operare, permind automatului programabil s
manipuleze programe foarte mari.

2.2. Comparaia automat programabil alte sisteme de conducere


Dei automatele programabile sunt similare calculatoarelor
convenionale din punct de vedere al tehnologiei hardware, ele au
caracteristici specifice, potrivite controlului industrial:
echipament robust, imun la zgomot;
construcie modular, permind nlocuirea/adugarea uoar de
uniti (de exemplu module de I/E);
nivele de semnal i conectri intrare/ieire standard;
limbaj de programare uor de neles;
uor de programat sau de reprogramat n proces.
Aceste caracteristici fac ca automatele programabile s fie mult
dorite ntr-o mare varietate de procese industriale i situaii de
control a proceselor.

Automatul programabil a fost iniial conceput de un grup de


ingineri de la General Motors n 1968, pentru care automatul
programabil trebuia s fie:
uor de programat i reprogramat, de preferat n proces,
pentru a modifica secvena sa de operaii;

uor de ntreinut i reparat - de preferat utiliznd module


plug-in;
mai fiabil n mediul industrial;
mai mic dect echivalentul cu relee;
competitiv ca i cost, n raport cu logica cablat sau logica
cu relee ce se utiliza atunci.

Aceasta a strnit interesul inginerilor din toate ramurile


industriale asupra modului n care ar putea utiliza automatele
programabile pentru controlul industrial.

Astfel a aprut o cerere de faciliti i capaciti adiionale


pentru automatele programabile, care au fost rapid
implementate cnd tehnologia a devenit disponibil.
Seturile de instruciuni s-au mutat rapid de la simplele
instruciuni
logice
ctre
includerea
contorizrilor,
temporizrilor i registrelor de deplasare, apoi ctre funcii
matematice mai avansate.
S-au produs de asemenea dezvoltri ale hardware-ului, cu
mai mult memorie i cu un numr mai mare de intrri/ieiri
(I/E).

n 1976 a devenit posibil controlul modulelor I/E aflate


la distan fa de sistemul central al automatului
programabil.
Un automat programabil bazat pe microprocesor a fost
introdus n 1977 de ctre Corporaia Allan-Bradley n
America. El se baza pe un microprocesor 8080, dar utiliza
un procesor suplimentar pentru a trata instruciunile logice
pe bit la viteze mari.

Rata n cretere a aplicaiilor cu automate programabile n industrie a


ncurajat productorii s dezvolte familii ntregi de sisteme bazate pe
microprocesor, avnd diverse niveluri de performan. Limitele
automatelor programabile disponibile acum se extind de la uniti
mici, ncorpornd 20 de I/E digitale i 500 de cuvinte instruciune,
pn la sisteme modulare, cu module funcionale ce se pot aduga, de
exemplu pentru:
intrri/ieiri analogice;
control PID;
controlul poziiei unui numr de axe;
comunicaii;
display grafic;
I/E adiionale;
memorie adiional etc.

Abordarea modular permite extinderea sau actualizarea ("upgrade")


sistemului de control cu costuri i perturbaii minime.
Automatele programabile se dezvolt de fapt n acelai pas cu
microcalculatoarele, cu o atenie particular asupra automatelor
programabile mici, controlului numeric/de poziionare i reelelor de
comunicaii.
Piaa pentru automatele programabile mici a crescut rapid ncepnd cu
anii 1980, cnd un numr de companii japoneze au introdus uniti
foarte mici, cu un pre mic, care au fost mult mai ieftine dect celelalte
disponibile la acea dat. n zilele noastre se observ o tendin
crescnd de achiziionare a AP, ntruct productorii realizeaz
automate din ce n ce mai performante, la preuri din ce n ce mai mici.

An
1968
1969

Natura dezvoltrii
S-a dezvoltat conceptul de automat programabil.
Automat programabil cu CPU hardware, cu instruciuni logice, cu 1 K de
memorie i 128 I/E.
1974
Utilizarea ctorva procesoare ntr-un automat programabil - temporizri
i contorizri, operaii matematice; 12 K de memorie i 1024 I/E.
1976
Au fost introduse sisteme pentru I/E aflate la distan
1977
A fost introdus automatul programabil bazat pe microprocesor.
1980
S-au dezvoltat module inteligente de I/E. S-au extins facilitile de
comunicaii i caracteristicile software. Utilizarea microcalculatoarelor ca
ajutoare n programare.
S-au introdus automate programabile mici, cu pre redus.
1983
Reele de automate programabile, calculatoare sub standardul GM MAP,
la toate nivelurile.
1985 i apoi Controlul ierarhizat, distribuit al proceselor industriale.

Terminologie. Exist civa termeni diferii, utilizai pentru a


descrie automatele programabile, n literatura de specialitate de
limb englez:
PC - "programmable controller" = controler programabil
(origine: Marea Britanie);

PLC - "programmable logic controller" = controler logic


programabil (origine: american);
PBS - "programmable binary system" = sistem binar
programabil (origine: suedez).
Echivalentul romnesc al controlerului (logic) programabil este
termenul de automat programabil, termen ce deriv din
echivalentul din limba francez, "Automate programmable".

Prin natura lor, aceti termeni tind s descrie automatele


programabile ca lucrnd normal ntr-un mediu binar (on/off).
Cum toate AP, ncepnd de la cele mai mici sunt echipate
acum pentru a procesa intrri i ieiri analogice, aceste
etichete nu sunt reprezentative pentru capacitile lor. Din

acest motiv (i altele) termenul general de controler


programabil a fost adoptat pe larg pentru a descrie familia de
controlere programabile.

Tabelul de mai jos prezint o comparaie ntre diverse sisteme de


conducere. Informaii tehnice suplimentare pot fi obinute de la
productorii fiecrui sistem specific.
Caracteristic
pre/funcie
mrime fizic
vitez de operare
imunitate la zgomot
electric
instalare

Sisteme cu relee
destul de mic
voluminos
mic
excelent

Logic digital
(cablat)
mic
foarte compact
foarte mare
bun

Calculatoare de
proces
mare
destul de compact
destul de mare
destul de bun

Automate
programabile
mic
foarte compact
mare
bun

consumator foarte
mare de timp
pentru programare
da

simplu de
programat i
instalat
da

destul de simplu

foarte simplu

slab, dac
slab; mai multe
circuitele integrate plci uzuale
sunt lipite

bun; cteva
plci standard

consumator de timp consumator de timp


pentru proiectare i pentru proiectare
instalare
nu
da

capabil de operaii
complicate
uurin n
foarte dificil
schimbarea funciei
realizate
uurin n
slab; numr mare
intreinere
de contacte

dificil

Dup cum se observ, automatele programabile constituie cea mai


bun alegere general pentru un sistem de control, n afar de cazul n
care fundamental este cerut vitez de operare sau rezisten la zgomot
electric, caz n care sunt alese logica digital cablat i respectiv releele.
Pentru funcii complexe de tratare a datelor, un calculator este
superior multor automate programabile echipate cu module funcionale,
dar doar din punctul de vedere al realizrii funciilor, nu al utilizrii lor.
Un automat programabil este mai eficient datorit trecerii datelor
ctre modulele de funcii speciale, care apoi trateaz funcia de control
independent de procesorul central - un sistem multiprocesor.
Automatele programabile au caracteristici hardware i software care
le fac atractive ca i controlere pentru un domeniu larg de procese i
echipamente industriale.

2.3 Automate programabile


cu procesare de bit
Primul tip de automat programabil aprut a fost automatul programabil ce
procesa operanzi de un bit. Automatele programabile cu procesare de bit
(sau cu procesare scalar) apar ca un prim pas n realizarea unei tehnologii
de tip calculator de proces, realiznd o serie de funcii n logic programat.

"Automatele programabile cu procesare de bit ndeplinesc sarcini de


conducere proprii echipamentelor de comand discret a proceselor
industriale i au o funcionare binar, permind detectarea schimbrilor de
stare a unor semnale furnizate de elemente de tip: butoane cu meninere, cu
revenire, comutatoare basculante, limitatoare de curs, detectoare diferite i
prelucreaz - n principal logic - informaiile furnizate de aceste elemente n
vederea emisiei de semnale de ieire ce comand elemente de tip:
contactoare, relee, electroventile, ambreiaje, elemente de semnalizare etc."
(definiie dat de Th. Borangiu).

Structura minimal a unui automat programabil cu procesare de bit arat ca


n fig. 2.1. (fiind reprezentate doar principalele legturi de date, adrese i control).
Principalele trei blocuri
funcionale ale unui APB
sunt:
1. unitatea central de
prelucrare a datelor, compus
din unitatea de procesare a
instruciunilor, memoria
program, memoria de date,
un modul de realizare a
temporizrilor i
contorizrilor, un generator
de tact intern, circuitele de
multiplexare a intrrilor i
respectiv circuitele de
demultiplexare a ieirilor.
2. blocul de interfa cu
procesul, compus din
modulele de intrare i
modulele de ieire.
3. consola de programare
sau consola operator.

Unitatea central a unui automat programabil cu procesare de bit este


realizat fie cu componente discrete, fie sub form integrat, cu ajutorul
microprocesoarelor i prelucreaz operanzi de un bit lungime, conform
instruciunilor nscrise n memoria program.
Unitatea de procesare a instruciunilor (UPI) prelucreaz logic
operanzii i secveniaz programul aflat n memoria program.

Memoria program (MP) este realizat n general cu circuite


semiconductoare (tip EPROM), asigurnd o modularitate de 512 sau
1024 de instruciuni. Memoria de date (MD) este de tip RAM i servete
la stocarea temporar de date i rezultate pariale.
Modulul de temporizare/contorizare (T/C), constituit n esen din
numrtoare programabile sau din circuite de tip monostabil, asigur
temporizri n game distincte, de la valori de ordinul zecilor de
milisecunde, pn la valori de ordinul orelor.

Blocul de interfee (module) de intrare/ieire realizeaz o adaptare


static cu izolare galvanic a semnalelor binare vehiculate de APB la
canalele informaionale asociate procesului condus i este echipat cu

elemente optoelectronice de vizualizare a strii acestor canale.


Interfaa cu procesul industrial este realizat de obicei sub forma
unor module ce accept semnale n c.c. sau c.a., standardizate n
funcie de:
nivelele de tensiune (de exemplu 5, 24, 48, 110 V c.c., 110 sau
220 V c.a),
de curentul asociat fiecrui canal (de exemplu 6 mA, 0,15, 0,4,
0,5, 1, 2,5 A) i
de numrul de canale de intrare sau de ieire (8, 16, 24 sau 32),
dar pot coexista n structur i module de interfa specializate.

Modulele de intrare au rolul de a achiziiona informaii din


proces (stri de contacte, taste, comutatoare, limitatoare de curs,
informaii de la traductoare de poziie, de vitez, de cuplu, de

temperatur, de for, de turaie etc.), de a le filtra i converti n


semnale

prelucrabile

de

unitatea

central

automatului

programabil n cadrul programului.


Modulele de ieire (ME) asigur comanda elementelor de
execuie din proces conform programului de aplicaie rezident n
memoria program a automatului programabil (prin conversia
semnalelor de comand TTL n nivele de 24V ... 220V) i indic
prin intermediul elementelor de afiare optic fazele de execuie
ale programului i eventuale situaii de avarie.

Consola operatorului permite introducerea programelor de


conducere, depanarea lor (prin tergerea, modificarea sau

inserarea unor instruciuni), selectarea regimurilor de


funcionare, vizualizarea strii anumitor mrimi din proces sau
interne automatului programabil etc.
Opional, pe lng modulele enumerate, n structura unui
automat programabil cu procesare de bit mai pot fi incluse i
alte elemente cum ar fi: unitatea de autotest, simulatorul,
interfaa de cuplare cu un calculator, interfaa de cuplare cu o
imprimant etc.

2.3.1. Tipuri de uniti centrale de


automate programabile cu procesare de bit

Deosebirile majore din punct de vedere constructiv ntre


diferite automate programabile cu procesare de bit sunt
determinate de principiile de funcionare i de realizare
tehnologic a procesorului central de prelucrare a

informaiilor, ca parte component a unitii centrale.

O clasificare a tipurilor de uniti centrale (UC) de APB ia n


considerare urmtoarele variante:
a) uniti centrale realizate cu componente discrete. Prin
interconectarea, pe una sau mai multe plachete, a unor circuite
integrate pe scar mic i medie, de tipul: pori logice
combinaionale, bistabili, monostabili, numrtoare reversibile,
registre serie-paralel, decodificatoare, se sintetizeaz un
dispozitiv cu rol de conductor (master), denumit procesorul
central al automatului programabil cu procesare de bit. Acesta
coordoneaz, sincronizat n timp, att accesul la memoria
program, extragerea i decodificarea instruciunilor ct i
execuia lor care poate implica accesul la zonele de I/E, de
temporizare sau la memoria RAM de date.

Referitor la modul de implementare a operaiilor logice n


unitatea central, unitatea logic (UL) poate fi realizat n
urmtoarele dou modaliti:
* n tehnic de acumulator,
* n tehnic microprogramat.

b) uniti centrale integrate, realizate cu microprocesor.


Funciile de secveniere, calcul logic, transfer de la i ctre
memorii i modulele de I/E i temporizare, precum i
generarea de semnale de control sunt realizate unitar de un
circuit integrat pe scar larg de tip microprocesor.

Utilizarea microprocesoarelor n unitile centrale integrate


permite obinerea unor configuraii minimale de automate
programabile cu procesare de bit din punct de vedere al
consumului de componente. Totui realizarea unitii centrale n
varianta discret ofer posibilitatea implementrii unui set de
instruciuni puternic, la frecvene de operare mari. Se consider
astfel c raportul numrului de instruciuni la realizrile de
uniti centrale cu i fr microprocesor este de 1 : 4, dac
ambele uniti centrale lucreaz la aceeai frecven. Dar cum
frecvena intern de operare a unui microprocesor este mai mare
dect a celorlalte componente discrete, per total timpii de
execuie a unei instruciuni n cele dou variante sunt
comparabili.

Structura general a procesorului central al automatului programabil cu procesare de


bit, cu unitate central realizat cu componente discrete arat ca n fig. 2.2.
Memoria program, n general, are
4kx16 bii (4096 instruciuni pe 16
bii). Blocul de adresare a memoriei
program
este
format
dintr-un
numrtor de program (NP) sau
registru de adresare.
Zonele I (variabile de intrare), E
(variabile de ieire) i M (variabile
interne de memorie din memoria de
date) sunt selectate prin intermediul
magistralei de adrese.
Unitatea central n varianta discret
cuprinde urmtoarele blocuri: registrul
de instruciuni (RI); decodificatorul de
instruciuni (DI); unitatea logic (UL)
ce execut operaii logice ntre
coninutul unui registru de rezultat
unic - acumulatorul (A) - i o intrare
sau o dat temporar stocat, direct
sau negat, rezultatul fiind depus n
acumulator; blocul de generare a
semnalelor
de
sincronizare
i
secveniere (GT) ce emite semnale de
control pentru execuia operaiilor de
calcul i transfer asociate unui ciclu
instruciune.

Schimbul de informaii se face prin intermediul unei


magistrale de date de 1 bit lungime. Zonele I, E, M i T
(variabile de temporizare/contorizare) sunt adresate printr-o
magistral, n general de 12 bii. Programarea modului de
operare a circuitelor de temporizare i nscriere a valorii t a
duratei temporizrii se face printr-un numr de bii din cmpul
de adrese/date al instruciunii, preluai de pe magistrala intern
a automatului programabil.
Blocul semnalelor de sincronizare pentru operarea
procesorului central este comandat de un oscilator (cuar) cu
frecvene de baz de cel puin 10 MHz.

Blocul de prelucrare logic a operanzilor de 1 bit poart


numele de unitate logic (UL) i el este conectat la
magistrala bidirecional de date de 1 bit, mpreun cu
celelalte blocuri din procesorul central al automatului
programabil cu procesare de bit: memoria RAM de date
(MD), multiplexorul intrrilor i demultiplexorul ieirilor.

n configuraiile de automate programabile cu procesare de bit


prelucrrile asupra operanzilor de intrare sau a variabilelor de memorie
(variabile interne din memoria de date) sunt exclusiv logice. Acest fapt

face ca setul de instruciuni s permit implementarea oricrui tip de


funcie logic. Plecnd de la funciile logice elementare, se pot scrie i
programe de calcul aritmetic pentru operanzi pe m bii (uzual m este egal

cu 2, 4 sau 8 bii), dar prelucrrile vor fi seriale i deci lungi ca durat


(ineficiente). Acesta este motivul pentru care calculele aritmetice sunt
implementate ntr-o mic msur n APB. Ele pot fi implementate atunci

cnd tranziiile de stare sau emiterea comenzilor sunt condiionate de


atingerea unui prag numeric pe m bii, de semnul diferenei dintre dou
semnale exprimate pe m bii sau de incrementri sau decrementri pe m

bii.

2.3.1.1. Uniti logice realizate


n tehnica de acumulator
Un registru unic de rezultat (acumulatorul - simbol A sau RR)
reprezint ntotdeauna o surs de operand pentru instruciunile

logice ce implic doi operanzi. Aceast soluie conduce la o


structur simpl a unitii logice, dar presupune fie ca
programatorul s utilizeze frecvent memoria RAM de date
pentru salvarea de rezultate pariale, fie ca la programarea
expresiilor logice s fie respectate regulile de prioriti ale
algebrei booleene.

Unitatea de prelucrare logic a semnalelor este


acumulatorului A, realizat cu un bistabil de tip D (de
Chiar dac mai este folosit termenul de registru
acumulator, din punct de vedere practic acesta nu este
Configuraia este prezentat n figura urmtoare.

construit n jurul
exemplu CDB 474).
de rezultat pentru
neaprat un registru.

Excitaia D a acumulatorului este stabilit de o schem logic combinaional cu


urmtoarele intrri:
magistrala de date (DATA) de 1 bit;
coninutul normal i negat al acumulatorului;
semnalele de la decodificatorul de instruciuni ce valideaz execuia
instruciunilor logice i ncrcarea datelor n acumulator;
semnalele de control i sincronizare.

Schema logic combinaional conecteaz, prin operatorii logici


de baz, definii de decodificatorul de instruciuni, doi operanzi:
unul este ntotdeauna coninutul acumulatorului i
cellalt este dat de coninutul normal sau negat al magistralei de
date.
Rezultatul obinut este renscris n acumulatorul A peste vechiul
coninut. n felul acesta funcionarea unitii logice este

combinaional pe durata unui ciclu instruciune, unicul aspect de


secveniere fiind nscrierea sincron a calculului logic n
bistabilul D, ce reprezint registrul de rezultat.

Pentru conectarea unitii logice la magistrala de date a


procesorului central al automatului programabil cu procesare

de bit, se leag ntre ele ieirile Q i


ale acumulatorului,
prin intermediul unor circuite "tristate" (TS) validate de
instruciuni de tip
(transfer, respectiv set) sau
(transfer negat, respectiv reset).
Seciunea logic combinaional din cadrul unitii logice

poate fi extins, pentru a realiza printr-o singur instruciune


i alte funcii, de exemplu: NAND, NOR, identitate, >, .

2.3.1.2. Uniti logice microprogramate


Unitile logice bazate pe tehnica de acumulator sunt realizate cu un
numr redus de componente discrete, dar impun anumite restricii
asupra programrii expresiilor logice.
Astfel, la nivelul unei exprimri sub forma unei sume logice de
produse logice, produsele logice trebuie memorate temporar n nite
variabile de memorie (variabile interne din memoria RAM de date),
ceea ce presupune un numr corespunztor de instruciuni de acces la
memoria de date i, n consecin, creterea considerabil a programelor
(ca numr de instruciuni) ce implementeaz expresii logice complexe.
Pe de alt parte, programatorul trebuie s respecte prioritile algebrei
booleene n efectuarea operaiilor logice, s in seama de negarea unor
rezultate pariale sau finale sau de separarea prin paranteze a expresiilor
logice.

Evitarea dezavantajului unitii logice bazate pe tehnica de


acumulator ce impune restricii asupra programrii expresiilor
logice se poate face prin extinderea grupului de instruciuni
logice cu un numr minim de instruciuni de separare logic, de
tip parantez deschis, parantez nchis i egal.

n tehnica microprogramat numrul registrelor de rezultat


crete, iar ciclul de execuie a unei instruciuni logice este
realizat prin mai multe cicluri de acces la o memorie PROM
proprie unitii logice, nglobat ntr-o configuraie
programabil de automat algoritmic.

Structura unitii logice microprogramate:

Structura conine dou registre principale: RIC - registrul pentru codul instruciunii
logice curente i RIP - registrul pentru codul instruciunii logice precedente (ambele de
cte 4 bii) i patru registre de lucru pentru constituirea rezultatului calcului logic. n
felul acesta o instruciune curent extras din memoria program va depinde de tipul
instruciunii anterioare. Ciclul de extragere a instruciunii din MP, comun pentru toate
instruciunile, const n ncrcarea n registrul RIC, la nceputul unui ciclu
instruciune, a celor 4 bii ce constituie codul operaiei curente. Ali 4 bii ce corespund
codului instruciunii precedente, sunt ncrcai ntotdeauna la sfritul execuiei unei
instruciuni n registrul RIP.

Ciclul de execuie al instruciunii cuprinde un numr de una pn


la 4 stri, codificate n mod univoc prin doi bii, n funcie de tipul
instruciunii curente. Cei 10 bii astfel definii formeaz adresa A0 A9 pentru o memorie program de tip PROM (EPROM), de
capacitate 1Kx16 bii. Execuia unei instruciuni presupune un
numr de unu pn la patru cicluri de acces la memoria PROM, pe
durata crora biii de adres A2 - A5 (furnizai de RIC) i A6 - A9
(furnizai de RIP) rmn neschimbai, modificndu-se doar cei doi
bii de adres A0, A1, corespunztor strii curente din ciclul de
execuie a instruciunii.
Capacitatea de 1 K locaii a memoriei PROM este dat de numrul
maxim de combinaii de coduri a dou instruciuni succesive (RIC RIP) - 2424 =256, multiplicate cu 4 - numrul maxim de stri din
ciclul de execuie al unei instruciuni.

Fiecare locaie a memoriei conine 16 bii, dintre care 2 bii


(O1, O2) genereaz starea urmtoare ntr-un ciclu de execuie a
instruciunii, zece bii (O7 - O16) reprezint comenzile C5 - C14
de selectare a cilor de transmitere a informaiei binare pentru
cele 4 registre de lucru ale unitii logice, iar 4 bii O3 ... O6
asigur semnalele de ncrcare CK1 , CK2 , CK3 , CK4 a celor
patru registre de lucru.
Ciclurile de acces la memorie i ncrcarea registrelor de lucru
sunt sincronizate n timp cu ajutorul unui bloc de sincronizare
(format din 2 bistabili i 2 monostabili), sub comanda unui
semnal OSC, provenit de la un oscilator (de exemplu cuar).

Pe durata strilor asociate execuiei unei instruciuni logice, cmpul


parametru de 12 bii din MP a AP este utilizat pentru selectarea unei resurse
binare de tip: intrare, ieire, variabil de memorie i plasarea ei pe magistrala
de date bidirecional de 1 bit, DATA a automatului programabil.
Cele patru registre de lucru ale unitii logice microprogramate: RR, RTP,
RSS i RPS sunt utilizate pentru formarea rezultatului calculului logic, avnd
urmtoarea semnificaie: (RR) = rezultat curent; (RTP) = operand (rezultat)
paralel / serie memorat temporar; (RSS) = rezultat serie salvat; (RPS) =
rezultat paralel salvat. RPS este registrul de rezultat final.
Cele patru registre de lucru, chiar dac poart numele de registre sunt
implementate cu bistabili de tip D, comandai pe intrrile de date de
multiplexoare ce selecteaz sursa de date. nscrierea efectiv n registrele RTP,
RR, RPS i RSS se face respectiv pe frontul cresctor al semnalelor CK1,
CK2, CK3 i CK4. Iniializarea registrelor de lucru se face asincron.

Durata ciclului de execuie a instruciunilor n unitatea logic


microprogramat poate fi redus n principal prin utilizarea unor memorii
PROM rapide.
Modul de reactualizare a canalelor binare de ieire, prin comanda zonei de
ieire este cel prezentat n figura urmtoare.

Printr-o logic de comand dependent de cteva semnale


Ci, sunt activate decodificatoarele de ieire DEC(O) -

DEC(15) pe o durat determinat de un monostabil i astfel


este nscris coninutul de un bit al magistralei de date n
acela dintre bistabilii de ieire B0 - B255 al crui semnal de
ceas este activat.
Decodificatorul D selecteaz unul dintre cele 16
decodificatoare, DEC(0) ... DEC(15).
Este vorba de o decodificare pe dou nivele.

2.3.2. APB cu microprocesor


Unitatea central a unui automat programabil cu procesare de
bit poate fi construit n jurul unui microprocesor.
Microprocesoarele

utilizate

pentru

prelucrri

asupra

operanzilor de un bit sunt realizate de obicei ca circuite


integrate VLSI avnd 16 pini (ca de exemplu unitatea de

procesare Motorola MC 14500B), fiind ncadrate n


configuraii de tip APB simple, fr adresri paralele sau
acces la stiv.

O configuraie minimal de APB cu microprocesor arat astfel:

Configuraia minimal prezentat conine urmtoarele blocuri:


1. microprocesorul, care reprezint unitatea de procesare i execuie a instruciunilor a
unitii centrale a automatului programabil cu procesare de bit;
2. memoria program (EPROM) care stocheaz instruciunile i zonele de I, E i T,
exprimate n acelai cuvnt;
3. numrtorul program NP, prin care instruciunile sunt extrase din memoria program
de la adrese consecutive, fr a exista posibilitatea de salt. Astfel, un ciclu program
are ntotdeauna o lungime fix dat de numrul instruciunilor programului;
4. seciunea I/E, selectat de unitatea central a APB n conformitate cu zona de
adres I/E cuprins n instruciunile de transfer.

Aceast configuraie de unitate central de automat


programabil cu procesare de bit execut programul rezident n

memoria program MP dup principiul cu buclare, care


const n adresarea succesiv a locaiilor de memorie program
i execuia secvenial a tuturor instruciunilor din programul
de aplicaie.
Numrtorul de program furnizeaz adresa instruciunii
curente de executat, prin incrementarea coninutului su de la
adresa 0 la ultima adres, dup care revine la adresa 0,
determinnd rularea programului n bucl.

2.4. Automate programabile


cu procesare de cuvnt (APC)
Anumite funcii de conducere a proceselor industriale i a
roboilor au impus extensia operaiilor de prelucrare la nivel
de bit, specifice automatelor programabile cu procesare de
bit, la operaii aritmetice pe cuvnt, la evaluri i prelucrri
de semnale prin algoritmi de conducere discret.
Procesoarele numerice ce realizeaz astfel de funcii sunt
automatele programabile cu procesare de cuvnt ce pot avea
drept suport hardware familii de microprocesoare de 8, 16
sau 32 bii sau procesoare microprogramate.

Adresarea memoriilor n format variabil st la baza microprogramrii


structurilor de calcul i de conducere numeric a proceselor industriale.
n acest sens, unitile centrale sunt proiectate ntr-o concepie
microprogramat.
Microprogramul pentru aceast unitate intern de calcul este rezident
ntr-o memorie de control de tip PROM rapid, de capacitate redus (de
exemplu de 256 cuvinte).
Microprogramul citete (macro)instruciunile din memoria principal
de capacitate mare i execut toate funciile cerute de setul de
(macro)instruciuni al sistemului global de calcul.
Microinstruciunile pot fi considerate ca fiind componente
interconectate de ctre microprogram pentru execuia standard a setului
de (macro)instruciuni.

n memoria de control informaia este organizat n


format variabil care este, de obicei, de dou tipuri:
un tip pentru execuia operaiilor aritmetice i logice
un tip pentru execuia salturilor.
Automatelor programabile microprogramate cu procesare
de cuvnt pot fi obinute prin reunirea a dou sub-automate de tip
algoritmic, bazate pe unul dintre principiile ROM adresabil, i
anume: la nivelul macro cu adresare de memorie principal
EPROM n format variabil, iar la nivelul micro cu adresare de
memorie de microprogram PROM n format fix.

Schema bloc a unei astfel de structuri, ce ofer certe avantaje de vitez, pentru
seturi puternice de instruciuni aritmetice, logice i de salt, arat astfel:

Nivelul macro conine o memorie program MP (de tip EPROM),


accesibil pentru ncrcarea programului de aplicaie, adresat n format
variabil de un registru de stare, cu posibiliti de ncrcare paralel i de
incrementare a coninutului su. O macroinstruciune coninut n MP
este exprimat pe un numr de bii (de exemplu 24 de bii). Setul
(macro)instruciunilor cuprinde dou tipuri de baz:
instruciuni de salt i
instruciuni aritmetico-logice i de transfer.
Orice (macro)instruciune este realizat printr-un numr de
microinstruciuni ce compun un microprogram rezident n memoria
PROM de control a microprogramului, MCM. Aceast memorie este
adresat n format fix, conform principiului de adresare prin conexiune
de stare, fiind ncadrat ntr-o structur de microsecveniator care asigur
semnale de control pentru o unitate operaional UALR, compus dintr-o
unitate aritmetic i logic i 16 registre de 8 bii.

Microsecveniatorul permite conectarea n sistem a maximum 64


de canale de intrare de cte 8 bii, preluate prin modulul de intrri

numerice (MI), i controlul a maximum 64 de canale de ieire a cte


8 bii, distribuite prin modulul ieirilor numerice (ME).
Realizarea

unui

microprogram

pentru

execuia

unei

(macro)instruciuni corespunde unei secvene particulare de 3 pn


la 5 cicluri de acces la MCM, corespunztoare tipului de
instruciune extras din memoria program.

Cele 2 tipuri de formate de macroinstruciuni arat astfel:


1 2
F

.
.
.
instructiune

24

F=0 instruciune de salt (FORMAT 1);


F=1 instruciune de transfer i aritmetico-logic (FORMAT 2).

n aceast structur, transferurile se pot realiza ntre:


16 registre de 8 bii (din UALR);
un registru acumulator de 8 bii (din UALR);
un port de intrare (PI) selectat prin formatul 2 al
macroinstruciunii;
o valoare VAL (8) de tip imediat, existent n formatul 2
al macroinstruciunii.

Aceste elemente constituie de fapt operanzii tuturor


operaiilor logico-aritmetice pe care le execut automatul
programabil.
Destinaia transferului de date sau a unor prelucrri logicoaritmetice poate fi:
unul din cele 16 registre interne ale UALR;
acumulatorul;

un port de ieire (PE) adresat.

Instruciunile
a) Instruciunile de salt
1
F

F=0

2
N

3
4
5 6
conditie de salt

7 . . . 12
adresa PI

13
. . . 24
adresa de salt

pentru instruciuni de salt

N definete nivelul logic al condiiilor de salt, astfel:


N = 0 condiia de salt este necomplementat
N = 1 condiia de salt este complementat
Biii 3, 4, 5, 6 definesc condiia de salt. Pot defini 16 condiii de salt ce
se obin efectiv prin testarea unui bit citit de la un port de intrare
adresat prin urmtorii 6 bii (de la 7 la 12) sau printr-o prelucrare logic
ntre coninutul acumulatorului i al unui port de intrare, sau prin
testarea unor bii de condiie ai unitii aritmetico-logice. Exist de
asemenea i posibilitatea unui salt necondiionat.

b) Instruciunile de transfer i prelucrri logice i aritmetice


n configuraia formatului unor astfel de instruciuni (format 2),
anumite cmpuri ocup o valoare fix, iar anumite cmpuri ocup
configuraii variabile.
1
F

2
N

3 4
G.S.

5 6
G.D.

7 . . . 20
cmpuri variabile

21 . . . 24
cod operaie

Biii 1, 2, 3 i 4, 5 i 6, 21 ... 24 definesc cmpuri fixe, astfel:


F = 1 este indicatorul pentru formatul al doilea al instruciunilor (cele de transfer
i prelucrri logice i aritmetice).
N definete nivelul logic al operanzilor utilizai, astfel:
N=0
operanzi necomplementai;
N=1
operanzi complementai.
G.S. reprezint grupul surs, adic sursa unui transfer sau operaii, astfel:
G.S. = 00 identific un registru intern din cele 16 registre de 8 bii;
G.S. = 01 identific acumulatorul;
G.S. = 10 identific un port de intrare;
G.S. = 11 identific o valoare de 8 bii existent n cmpul variabil al formatului.

G.D. reprezint grupul destinaie, adic destinaia unui transfer sau a


unei operaii, astfel:
G.D. = 00
identific un registru intern din cele
16 registre de 8 bii;
G.D. = 01
identific acumulatorul;
G.D. = 10
identific un port de ieire.
Biii de la 21 la 24 definesc codul operaiei sau instruciunii (aanumitul OPCOD), adic acei bii ce stabilesc tipul operaiei ce
trebuie executat. Cu aceti patru bii se pot realiza 16 funcii de
transfer sau aritmetico-logice de baz, dar care asociate cu diferite
modaliti de transfer i de operaii aritmetico-logice permit
obinerea n final a unui numr mult mai mare de instruciuni
asociate.
Biii de la 7 la 20 definesc cmpuri variabile, ca de exemplu valori,
adresa unui port de intrare sau a unui port de ieire.

2.5. Automate programabile cu procesare


mixt: de bit i de cuvnt
Cum prelucrrile asupra operanzilor de 1 bit nu pot lipsi din
configuraiile de automate programabile cu procesare de cuvnt,
exist posibilitatea de procesare a informaiei binare cu uniti
centrale organizate n jurul microprocesoarelor (de 8, 16 sau 32 de
bii).
Unitatea central a oricrui automat programabil se deosebete ntr-o
mic msur de aceea a calculatoarelor numerice convenionale sau a
microcalculatoarelor. Deosebirea const n faptul c ea poate executa
manipulri logice de operanzi avnd lungimea de un bit (operaii
logice, transport, deplasare serial de bii).

Utilizarea unei singure uniti centrale de tip microprocesor avnd n


structur registre de lucru temporare i acumulatorul pe 8 sau 16 bii
pentru execuia (macro)instruciunilor din programul utilizator, atrage
dup sine o serie de particulariti, att n ceea ce privete modalitile de
execuie a macroinstruciunilor, ct i referitor la timpii totali de execuie
a unui program, n sensul creterii lor.
Pentru implementarea unei ecuaii logice cu operanzi de 1 bit trebuie
scris un program direct n limbajul de asamblare al microprocesorului,
program ce va fi rulat ciclic. La nceputul ciclului program, operanzii de
1 bit sunt achiziionai prin instruciuni de intrare. Dup prelucrarea prin
program a ultimei ecuaii logice, urmeaz transferul ctre ieire a
variabilelor rezultat. Ultima instruciune din programul rulat ciclic este
una de salt la prima instruciune din program. Aplicabilitatea variantei de
programare direct trebuie analizat pe de o parte din considerentele
absenei unui nivel de (macro)programare uor accesibil utilizatorului, i
pe de alt parte prin prisma timpilor de execuie necesari.

O organizare pe dou niveluri rezolv problema accesibilitii


pentru

utilizator,

transferat

la

nivelul

macroinstruciunilor

automatului programabil. ns rmn dezavantajele legate de


necesitatea unui program de interpretare rezident n PROM i de
micorarea substanial a vitezei de operare, ceea ce presupune timpi
relativ mari de rspuns ce caracterizeaz ciclurile program cu
prelucrri de bit, n cazul utilizrii drept uniti centrale a
microprocesoarelor de 8 sau 16 bii.

Diferitele variante de programare pentru microprocesoare de 8


sau 16 bii au evideniat dificultile ce apar la utilizarea
microprocesoarelor de 8 sau 16 bii ca uniti centrale de automate

programabile cu procesare de bit.

De aceea utilizarea unor procesoare specializate, capabile s

execute att transferuri de unul sau mai muli octei i de bii


individuali, ct i operaii de calcul logic asupra unor operanzi

exclusiv de 1 bit lungime, a asigurat avantaje sub raportul timpilor de


calcul i al eficienei utilizrii resurselor hardware. Acest procesor
specializat, cu procesare mixt, de bit i de cuvnt, poate fi interfaat,

ntr-o configuraie extins de automat programabil, cu o unitate


aritmetic rapid pentru prelucrri de date n format de unul sau doi
octei.

Pentru configuraiile de automate programabile cu prelucrare

mixt de bit i de cuvnt, realizate n varianta biprocesor, sunt


introduse tehnici de comunicaie i acces la resursele comune ale celor

dou seciuni de procesare: de bit i de cuvnt.

Automatele programabile biprocesor sau automatele programabile cu


procesare mixt, de bit i de cuvnt, sunt configuraii complexe
cuprinznd att un procesor de bit, ct i unul de cuvnt. ntr-o astfel de

configuraie de automat programabil exist 3 niveluri de programare: un


nivel de (macro)instruciuni utilizator, ce implementeaz ntr-o memorie
EPROM programul de aplicaie i dou niveluri de execuie a

(macro)instruciunilor, dedicate respectiv:


execuiei n tehnica microprogramat, a instruciunilor de transfer
i logice asupra unor operanzi de 1 bit;
execuiei, cu ajutorul setului de instruciuni al microprocesorului, a
unor operaii de transfer de date pe 8 sau 16 bii de la i ctre proces

i de calcul aritmetic i logic asupra unor operanzi de 8 sau 16 bii.

Structura acestei configuraii, (principalele blocuri i principalele


legturi de date, adrese i control) este constituit din urmtoarele
blocuri de baz:
1. Blocul de control, BC, care utilizeaz o memorie program
(MP), tip EPROM, n care este rezident programul utilizator.

Coninutul acestei memorii, considerat comun pentru seciunile de


prelucrare de bit i de cuvnt, este memorat temporar n registrul de
instruciuni RI, organizat ca i memoria MP, pe 16 bii.
Memoria program utilizator este adresat printr-un bloc de tip
registru de adrese, numit numrtor program NP. O unitate de control
asigur semnalele de control necesare att citirii (macro)instruciunii
din MP, memorrii ei temporare n RI, ct i activrii i dezactivrii
celor dou uniti de procesare a datelor: n format de 1 bit i de 8 (sau
16) bii.

O caracteristic esenial a sistemului const n activarea unei


singure uniti de procesare la un moment de timp dat, n funcie
de tipul instruciunii executate. Cele dou tipuri de instruciuni
(pe cuvinte instruciune de 16 bii) sunt:
Format 1
cod operaie (4 b)

adres operand (11 b)

1 bit control

bitul de control n acest caz este 0.


Format 2
cod operaie (8 bii)

bii neutilizai

bitul de control este 1.


adresa operand

1 bit control

n aceast reprezentare, instruciunile cu procesare de bit au un format


unic (formatul 1), identificat prin bitul de control = 0, n care codul
operaiei exprimat pe 4 bii permite diferenierea a 16 instruciuni de
transfer i logice, iar cmpul de adres operand, de 11 bii, permite
adresarea unei zone a memoriei de date (RAM) de capacitate 1024 locaii a
1 bit i a unui numr de 512 canale de intrare de 1 bit i 512 canale de ieire
de 1 bit.
n ceea ce privete instruciunile de procesare a informaiilor organizate
n cuvinte de 8 (sau 16) bii, formatul este variabil (formatul 2), partea fix
fiind doar aceea care corespunde primului cuvnt din (macro)instruciune.
O astfel de (macro)instruciune de tip cuvnt este de fapt de tip
multicuvnt, primul cuvnt coninnd codul operaiei exprimat pe 8 bii i
bitul de control care este 1 n acest caz. Celelalte cuvinte (pot fi mai multe
nu numai unul singur) pe 16 bii ale (macro)instruciunii sunt n numr
variabil n funcie de instruciune i conin adresele operanzilor
instruciunii.

2) Unitatea de procesare de bit, UPB, este realizat pe principiul unei


configuraii de automat programabil microprogramat. Ea este constituit
dintr-o unitate logic cu procesare de bit i dintr-un bloc de formare a
adresei operanzilor, resursele proprii fiind reprezentate de o memorie de
date MD (RAM), de capacitate 1K a 1 bit i din maximum 1024 canale
de intrare/ieire manipulate prin modulele de intrri de 1 bit (MIb) i de
ieire de 1 bit (MEb).
Procesorul de bit conine o memorie EPROM a microprogramelor
asociate (macro)instruciunilor de format 1 i are capacitatea de 256
cuvinte a 16 bii, cu adresarea dat de dou registre: registrul
instruciunii curente i cel al instruciunii precedente. Astfel, orice
(macro)instruciune cu procesare de bit este de tip monocuvnt i este
executat la nivel micro prin 2 ... 4 microinstruciuni, ce corespund la
2 ... 4 cicluri de acces la memoria de microprogram.

3) Unitatea de procesare de cuvnt, UPC, reprezint o structur


minimal de calcul ce utilizeaz drept unitate central un microprocesor.
Memoria EPROM are capacitatea de 4K a 8 bii, iar memoria RAM, 4K
a 8 bii. Circuite de amplificare de tip 8216 sunt plasate terminal pe
UPC, pentru a asigura un nivel corespunztor magistralelor de date D0D7, de adrese A0-A15 i de control la resursele proprii ale APC,
reprezentate de: modulele de intrri pe cuvnt (8 sau 16 bii) MIc,
modulele de ieire pe cuvnt (8 sau 16 bii) MEc, ct i la resursele MD,
MIb i MEb ale seciunii UPB.
4) Modulul de interfa, MI, ce interfaeaz magistralele celor dou
uniti de procesare este realizat cu circuite de tip separatoare de
magistral (8216, 8212) i permite accesul celor dou uniti de
procesare: UPB i UPC la resursele comune MD, MIb i MEb.

Configuraia automatului programabil este completat cu o consol


operator.

2.6. Moduri de operare ale automatelor programabile


Automatele programabile ruleaz ciclic programele nscrise n
memoria program utilizator, ciclic, conform cerinelor particulare
de implementare a structurilor fizice de automate finite,
constituindu-se astfel cicluri program.
Un ciclu program poate conine mai multe blocuri de instruciuni.
Un bloc const dintr-o succesiune de instruciuni ce descriu o
parte din programul de conducere, delimitat funcional (de
exemplu implementarea unei stri dintr-o diagram de stri sau
dintr-o diagram Grafcet).

Execuia oricrui program utilizator scris ca o list de instruciuni se


bazeaz pe 3 tipuri principale de operaii elementare (sau instruciuni):
a) operaii de testare: sunt operaii prin care sunt citite intrri, ieiri,

locaii de memorie de date i stri ale blocurilor funcionale


(temporizatoare, numrtoare etc.). Rezultatele acestor teste sunt
conectate logic cu rezultatul memorat anterior, prin funcii de tip I,

SAU, XOR .a., realiznd astfel rezultatul curent.


b) operaii condiionate: sunt operaii executate dependent de rezultatul
parial al testului (de exemplu: operaii de nscriere sau tergere pentru
ieiri, locaii de memorie RAM, salturi condiionate). n general,
operaiile condiionate nu influeneaz rezultatul parial memorat, de
aceea se pot scrie mai multe astfel de instruciuni succesiv.

c) operaii absolute: sunt operaii executate ntotdeauna. Ele sunt


independente de rezultatul parial determinat de teste i nu influeneaz la
rndul lor acest rezultat parial. Operaiile absolute se refer de exemplu la
aducerea acumulatorului n 0 logic sau la complementarea lui, la salturi
necondiionate, sfrit de subprogram, instruciuni neoperante.
Un bloc de baz dintr-un ciclu program const dintr-o succesiune de teste

i de operaii condiionate de ele. Operaiile condiionate sunt plasate


ntotdeauna dup teste. Operaiile absolute pot fi inserate oriunde ntr-un
bloc de baz. Un bloc de baz nou ncepe ntotdeauna cu execuia de teste.

Numrul de operaii de testare (teste), condiionate i absolute n cadrul


unui bloc de baz este la alegere, fiind limitat doar de dimensiunea
memoriei program a unui automat programabil.

Exist dou moduri diferite de operare, utilizate pentru


executarea unui ciclu program n automatele programabile:

a) actualizarea continu; intrrile i ieirile sunt achiziionate


sau generate n conformitate cu structura logic a
programului.
b) la fiecare nceput de ciclu program sunt achiziionate toate
intrrile, apoi se execut programul utilizator propriu-zis iar
ulterior se genereaz toate ieirile determinate de execuia
programului.

a) Actualizarea continu

Aceasta implic ca unitatea central de procesare s scaneze canalele de intrare


pentru achiziia intrrilor aa cum apar ele scrise n instruciunile programului, cu
o ntrziere necesar pentru a asigura ca doar semnale de intrare valide s fie citite
de procesor (ntrzierea, n mod uzual, este de 3 ms). Canalele de ieire sunt
conduse (generate) direct atunci cnd instruciuni de tip OUT urmeaz unei
operaii logice. Ieirile sunt meninute n unitatea de ieire pn la urmtoarea
actualizare (modificare).
Fiecare instruciune ia 1...10 msec. pentru executare, depinznd de automatul
programabil utilizat (de frecvena de tact la care opereaz microprocesorul). n
tabelul urmtor se prezint acest mod de operare, cu aproximarea timpului de
procesare a unei instruciuni (operaiile de extragere din memoria program,
decodificare i execuie propriu-zis) la 5 msec.
Procesare
instruc
i u

5 msec.

Achiziie
intrare

3 msec.

Procesare
Achiziie
Procesare
Achiziie
urmtoarea
urmtoarea
instruciune generare ieire instruciune generare ieire
i n

5 msec.

3 msec.

i n

5 msec.

3 msec.

...

...

n automatele programabile mari pot fi cteva sute de


variabile de intrare/ieire.
Deoarece unitatea central de procesare poate trata doar o
instruciune la un moment dat n timpul execuiei
programului, starea fiecrei intrri trebuie s fie examinat

individual, pentru a determina efectul ei asupra programului.


Deoarece este cerut o ntrziere de 3 msec. pentru fiecare
intrare, durata ciclului program devine mai mare odat ce
numrul de intrri crete.

b) n cel de-al doilea mod de operare fiecare ciclu operaional (ciclu program) al
unui automat programabil este constituit din trei pri separate:
achiziie intrri;
rulare program (procesare instruciuni);
generare ieiri.
Timpul total pentru o rulare complet a programului este n funcie de viteza
procesorului i mrimea (lungimea) programului utilizator. Cu un procesor de
vitez mare i un program scurt ntr-o secund pot avea loc sute de rulri
complete.
Pentru a permite execuia rapid a programului, actualizarea intrrilor i ieirilor
poate fi realizat ntr-un punct particular din program. O zon din memoria RAM
a automatului programabil este utilizat ca o zon buffer (de stocare temporar)
ntre logica de control i unitatea intrare/ieire. Fiecare intrare i ieire are o celul
n acest RAM intrare/ieire. n timpul achiziiei intrrilor, unitatea central
scaneaz toate intrrile i copiaz starea lor n tabelul de stare al intrrilor (zon
de memorie RAM). Aceasta se ntmpl la nceputul fiecrui ciclu program.

n timpul rulrii programului, datele din tabelul de stare al intrrilor sunt


utilizate de programul utilizator, programul este executat (instruciunile sunt
procesate), iar tabelul de stare al ieirilor (zon de memorie RAM) este actualizat
corespunztor prin memorarea ieirilor rezultate n urma execuiei programului.
n timpul generrii ieirilor, datele din tabelul de stare al ieirilor sunt
transferate corespunztor la canalele de ieire. Ieirile sunt meninute pn la
urmtoarea actualizare.
Sarcina de achiziie a intrrilor i de generare a ieirilor este realizat automat
de ctre unitatea central ca o subrutin la programul normal.

Timpul pentru achiziia intrrilor i respectiv pentru generarea ieirilor


depinde de numrul de intrri i respectiv de ieiri, dar este n mod tipic
de cteva milisecunde ca durat.

Timpul de execuie al instruciunilor depinde de lungimea sa (numrul


instruciunilor).
Fiecare instruciune ia 1...10 msec. pentru executare, depinznd de
automatul programabil utilizat (de frecvena de tact la care opereaz
microprocesorul).

Astfel un program de instruciuni de 1K are o durat a ciclului program


1...10 msec. Totui, adeseori programele sunt mai mici de 1000
instruciuni (au 500 instruciuni sau mai puine).

n tabelul urmtor se prezint acest mod de operare, cu aproximarea


timpului de rulare a unui program la 5 msec., precum i a timpului de
achiziie i de generare a ieirilor tot la 5 msec.
Achiziia Rulare program (prelucrarea
intrrilor instruciunilor programului)

5 msec.

5 msec.

Generarea Achiziia Rulare Generare


ieirilor
intrrilor program
ieiri

5 msec.

...

5msec. 5 msec. 5 msec. ...

Achiziia intrrilor, rularea programului i generarea ieirilor sunt


funcii separate, independente. Prin urmare, orice schimbare n starea
intrrilor n timpul rulrii programului utilizator sau generrii ieirilor
nu este recunoscut pn la urmtoarea achiziie a intrrilor. Nici
schimbrile de date din tabelul ieirilor nu sunt transferate la canalele de
ieire n timpul achiziiei intrrilor sau rulrii programului. Canalele de
ieire sunt afecatate doar de transferul datelor ce are loc n timpul
generrii ieirilor.

n general, fiecare tip de automat programabil (specific unui


productor) prezint elemente specifice de procesare. Astfel, fiecare tip
de automat programabil are un timp specific al ciclului operaional (ciclu
program).
n cazul unei digrame ladder, scanarea (baleierea) diagramei are loc de
la stnga la dreapta pentru fiecare linie i de sus n josul liniilor. Uzual,
timpul de scanare complet a unei diagrame ladder este de cteva msec.
Dac primele procesoare aveau nevoie de cteva secunde pentru o
execuie complet, automatele programabile bazate pe procesoarele
actuale opereaz mult mai repede, dar cu toate acestea trebuie inut
seama de viteza lor. De exemplu, am putea avea un punct critic, de
siguran, n diagrama ladder, care trebuie monitorizat de dou ori pe
milisecund. Presupunem c timpul de execuie a unui ciclu program
este de 5 msec. Punctul critic este n consecin citit la fiecare 5 msec. i
nu cum se dorea (la 0,5 msec.).

Execuia unui ciclu program implic secvenierea operaional


corespunztoare a evenimentelor. O ieire nu poate trece ON
imediat, aa cum se ntmpl ntr-un sistem logic cablat
(electronic). ntr-un sistem logic cablat, un eveniment ce apare
oriunde n sistemul de control, are ca rezultat o aciune imediat.
ntr-o diagram ladder de control cu un automat programabil nu
are loc nici un efect att timp ct canalul de intrare respectiv nu
este citit.
n cele mai multe cazuri efectul de ntrziere a logicii
automatului programabil nu este important. Totui, durata
ciclului program trebuie luat n considerare n acionri rapide,
interblocri sau necesitatea unor prelucrri rapide.

Scanarea diagramei ladder, aa cum a fost prezentat anterior,


de la stnga la dreapta i de sus n jos, poart numele de
scanarea liniilor i este metoda utilizat de Allen-Bradley. O
alt metod, utilizat de Modicon/Schneider Automation,
cunoscut ca metoda coloanelor, scaneaz prima coloan de

sus n jos, apoi urmtoarea coloan .a.m.d.

Cnd un program utilizator este transferat n memoria program a


unui automat programabil, fiecare instruciune este plasat ntr-o
locaie de memorie program. Unitatea central de procesare
conine un registru numrtor de program care indic urmtoarea
instruciune ce va fi extras din memorie. Cnd o instruciune

este primit de ctre unitatea central de procesare, aceasta este


plasat n registrul de instruciuni pentru decodificare n operaii
interne (microinstruciuni) cerute de ctre acea instruciune
particular. De exemplu, aceasta ar putea avea ca rezultat citirea
de instruciuni suplimentare din memorie.

Cnd automatul programabil (de exemplu automatul programabil FA-1J) este


iniiat s lucreze, numrtorul program va indica adresa 0000, ca fiind
locaia primei instruciuni. Apoi unitatea central de procesare va extrage, va
decodifica i va executa instruciunea respectiv (de exemplu LOD 2).
Aadar unitatea central de procesare trebuie s examineze canalul de intrare
cu numrul 2. Pentru aceasta scaneaz locaia RAM alocat intrrii 2 (din
tabelul de stare al intrrilor) i citete starea ei ntr-o locaie de memorie
temporar sau registru intern. Apoi numrtorul program se incrementeaz
automat pentru a indica urmtoarea adres, de unde a doua instruciune (OR
7) este extras i executat. Aceast instruciune implic scanarea locaiei
RAM de intrare, a canalului de intrare 7 i apoi realizarea funciei logice OR
(SAU) cu valorile intrrilor 2 i 7, memornd temporar rezultatul.
Numrtorul program trece la adresa 0002 unde instruciunea OUT 203 este
extras i decodificat. Aceast instruciune va face ca unitatea central de
procesare s transfere rezultatul operaiei logice anterioare (2 OR 7) la
locaia RAM de ieire, corespunztoare canalului de ieire 203 din tabela de
stare a ieirilor.

Operaia continu fie pn ce ultima locaie de memorie este citit de


ctre numrtorul de program, fie pn ce este ntlnit o instruciune
END. n ambele cazuri numrtorul de program este resetat la 0000. n

acest moment sunt generate ieirile (adic starea lor din tabelul de stare
al ieirilor este transferat ctre canalele de ieire corespunztoare) i
programul ncepe s fie executat din nou.
Numrtorul program poate fi programat s sar peste una sau mai
multe adrese dac se cere acest lucru prin instruciuni de salt
condiionat sau necondiionat, astfel nct instruciunile respective
(srite) nu sunt citite.

2.7. Seturi de instruciuni pentru


automate programabile
Pentru programarea automatelor programabile exist dou modaliti
importante:
1. programarea utiliznd setul de instruciuni al automatului
programabil;
2. programarea grafic, care la rndul ei se bazeaz pe una din
metodele:
metoda ladder
metoda Grafcet.

Mai nou productorii de automate programabile au dezvoltat sau


dezvolt limbaje de programare apropiate de limbajele de programare a
calculatoarelor sau apropiate de limbajul natural.

Modalitatea de programare a unui automat programabil


bazat pe setul de instruciuni al automatului programabil.

Orice automat programabil prelucreaz informaii conform


setului su de instruciuni. Alegerea acestui set este o
operaie foarte important n proiectarea i realizarea unui
automat programabil, trebuind pe de o parte s nu ridice
utilizatorului probleme de asimilare, iar pe de alt parte s
asigure performanele propuse de prelucrarea i transferul
datelor, cu minimizarea hardware-ului necesar implementrii.

Automatul programabil nu poate executa dect programe ale cror


instruciuni sunt codificate n binar, adic n cod main. Deoarece ar fi
extrem de incomod i greoi s se programeze n cod main, au fost
dezvoltate limbaje de programare. Totodat, exist programe disponibile
care convertesc instruciunile din limbaj de programare n cod main,
interpretabile de automatul programabil. Un tip de limbaj de programare
este limbajul de asamblare.
Fiecrei instruciuni dintr-un set al unui automat programabil, i se
asociaz o mnemonic (reprezentare alfanumeric) unic a limbajului de
asamblare. Programatorul poate s scrie un program (denumit program
surs) utiliznd aceast mnemonic i operanzii sau adresele asociate.
Programul surs este convertit n instruciuni main (denumit cod
obiect). Fiecare instruciune din limbajul de asamblare este convertit n
una sau mai multe instruciuni n cod main, de un program de
asamblare.

Formatul general al unei instruciuni n cod obiect este:


Cod instruciune

DATE / ADRES

m bii

p bii

m + p = n bii
El conine dou cmpuri: codul instruciunii reprezentat pe
m bii (valori uzuale pentru m: 4, ..., 8) i valoarea
decodificat a adresei operandului curent (de intrare, ieire,
memorat temporar) sau a locaiei din memoria program la
care se execut un salt sau o dat imediat (de tipul valorii
temporizrii).
Cele dou cmpuri sunt exprimate pe n bii (valori uzuale
pentru n = 16, 18, 19, 20).

Cmpul Cod instruciune (sau cod operaie) poate conine i

referiri la modul de adresare specific instruciunii curente, adic la

modul n care adresa pe cei p bii s fie interpretat (adresare


direct sau adresare indexat).

La unele automate programabile este posibil extensia

domeniului de adresabilitate peste valoarea 2p prin structurarea


memoriei program n pagini.

Execuia unei instruciuni este definit de un ciclu instruciune, care


conine uzual un singur ciclu main (sau mai multe n cazul APB cu UL
microprogramate). Pe durata unui ciclu main sunt executate
urmtoarele subcicluri:

1. Ciclul de extragere (FETCH)


Unitatea central a automatului programabil furnizeaz adresa
unei instruciuni aflate ntr-o locaie a memoriei program prin
intermediul unui registru de adrese al memoriei, denumit i
numrtor program NP.
Adresa este decodificat i instruciunea este citit (extras) din
memorie i depus n registrul de date al memoriei, denumit i
registru de instruciuni RI.
2. Ciclul de execuie
Instruciunea este decodificat i operaiunea cerut este executat.

2.7.1. Instructiuni de procesare de bit


Seturile de instruciuni de procesare de bit difer ntre automatele
programabile de la diferii productori, dar sunt similare din punct de
vedere al aciunilor realizate. De asemenea codificarea variabilelor (de
intrare, de ieire, de memorie etc.) difer de la productor la productor.
Instruciunile de procesare de bit ale unui automat programabil sunt, n
general, urmtoarele:
a) Instruciuni de testare i transfer

Instruciunile de testare detecteaz schimbrile de stare ale semnalelor de


intrare, ieire sau memorate temporar i preiau aceste schimbri prin
memorarea valorii testate n registrul acumulator. Pe magistrala I/E a
automatului programabil poate fi vehiculat starea normal sau
complementat a semnalului testat, pentru ca ntr-un singur ciclu
instruciune s poat fi preluat aceast valoare.

Cmpul de adres al instruciunilor de testare, transfer i prelucrri


logice este format din doi bii ce specific sursa sau destinaia
operandului (intrare, ieire, memorie RAM de date, bloc
numrare/temporizare) i dintr-un numr de bii ce codific adresa
fizic a operandului.
Pentru aceste instruciuni formatul n cod main poate fi de forma:
Cod
instruciune

m biti

Sursa sau destinaia


operandului

2 biti

Adresa operand

(p-2) biti

De exemplu, pentru automatul programabil AP-MICRO realizat de


Automatica S.A. Bucureti: m = 4 bii, p=12 bii, sursa sau destinaia
operandului sunt codificate astfel:
00 - definesc o variabil de intrare;
01 - definesc o variabil de ieire;
11 - definesc o variabil intern din memoria RAM de date;
10 - definesc o variabil de numrare/temporizare.

Fiecare instruciune este format cel puin dintr-un simbol (mnemonica)


i un operand. Mnemonica definete coninutul operaiei, iar operandul
definete variabila cerut de operaie.
Operandul poate fi de forma:
-pentru variabile de intrare
I0.0, I0.1, I1.0, I1.1 (Festo, Siemens, Telemecanique)
0,17, 10,11.17(IDEC-IZUMI FA1J)
X0, X1, X7, X10, X11, (Mitsubishi)
%I nnn (GE-FANUC)
- pentru variabile de ieire
O0.0, O0.1, O1.0,O1.1, (Festo, Telemecanique)
200, 201, 207, 210, .217, (IDEC-IZUMI FA1J)
Y0, Y1, .Y7, Y10, Y11, . (Mitsubishi)
%Q nnn (GE-FANUC)
- pentru variabile de memorie (interne)
%M nnn (Mitsubishi); M nnn (GE-FANUC)
F0.0, F0.1, .F1.0, F1.1, . (Festo)
400, 401, 407, 410, 411, (IDEC-IZUMI FA1J)

2.7.2. Implementarea funciilor combinaionale de comand


Una dintre cele mai simple sarcini de rezolvat pentru un automat
programabil
este
implementarea
funciilor
de
comand
combinaionale. n continuare se va exemplifica acest lucru.
Fie un proces simplu, combinaional ale crui funcii de comand F1 i
F2 sunt date de urmtoarele expresii (fiind dependente de patru
variabile a, b, c, d):

Pentru nceput se vor implementa aceste funcii cu ajutorul


automatului programabil IDEC-IZUMI FA1J. Se aloc variabile
specifice acestui automat pentru intrrile a, b, c, d i pentru ieirile

F1 i F2.

Intrri
Cod AP
Ieiri
Cod AP

a
1
F1
201

b
2
F2
202

c
3

d
4

Pentru memorarea unor rezultate intermediare se pot folosi


variabile de memorie 400, 401 .a.
Urmeaz realizarea programului care implementeaz funciile de
comand combinaionale:
Adres Instruciune
0
LOD
1
AND
2
LOD NOT
3
AND
4
OR LOD

Operand
Comentariu
1
acumulator (A) intr. 1
2
(A) (A) intr.2
1
(A) intr. 1 negat
3
(A) (A) intr.3
(A) (A) + stiva1

5
6
7
8
9
10
11
12
13
14
15
16

LOD NOT
AND
OR LOD
OUT
LOD
AND NOT
OR
LOD
OR
AND LOD
OUT
END

2
4

201
2
3
1
1
4
202

201 (A)

202 (A)
salt necondiionat la adresa 0

Rularea ciclic este asigurat prin faptul c programul se ncheie


cu instruciunea END salt neconditionat la adresa 0, unde
adresa 0 reprezint adresa de nceput a programului.

2.7.3. Implementarea funciilor secveniale de comand


O alt sarcin posibil de rezolvat pentru un automat programabil
este implementarea funciilor de comand secveniale. n
continuare se va exemplifica acest lucru.
Implementarea unui circuit secvenial presupune realizarea

programului astfel:
realizarea subprogramului de iniializare, care presupune

iniializarea tuturor variabilelor de memorie cu valorile date;


realizarea programului de simulare propriu-zis a circuitului
secvenial (se implementeaz funciile secundare i ieirile i
se reactualizeaz variabilele secundare).

Exemplu. Fie circuitul secvenial cu dou intrri (x1 i x2) i o


ieire E (structura circuitului secvenial este prezentat n figura
urmtoare):

Fie condiiile iniiale pentru variabilele secundare:

y1 (0) = "0"

y2 (0) = "1".

Din circuitul secvenial dat se pot scrie expresiile funciilor


secundare i funciei de ieire.

Pentru intrri, ieire, variabile secundare i funcii secundare se vor


aloca variabile specifice automatului programabil FA-1J:
Intrri x1 1 i x2 2
Ieirea E 200
Variabile secundare y1 401 i y2 402
Funcii secundare Y1 410 i Y2 420
Variabila de iniializare 10

Programul de simulare a circuitului logic secvenial specificat arat


asfel:
0
LOD 10
se ncarc n (A) variabila de ini. 10
1
FUN 300
dac (A) = "1" se face salt
2
7
la adresa 7, dac nu, se continu
----------------------------------------------------------------------------------3
LODN 10
4
SET 402
subprogramul de iniializare
5
RST 401
a variabilelor secundare
6
END
-----------------------------------------------------------------------------------

y1 (0) = "0"

y2 (0) = "1".

7
8
9
10
11
12
13
14
15
16
17
18
19

LOD
ANDN
LOD
AND
ANDN
ORLOD
LODN
AND
ORLOD
LODN
AND
ORLOD
OUT

401
402
1
2
402
1
401

implementarea
funciei secundare Y1

2
401
410

____________________

20
21
22
23
24
25
26
27
28
29
30

LODN
ANDN
LOD
AND
AND
ORLOD
LOD
AND
AND
ORLOD
OUT

1
2
1
2
401
1
401
402

420

implementarea
funciei secundare Y2

____________________

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

LODN 2
ANDN 401
LODN 1
AND 2
AND 401
ORLOD
LOD 1
ANDN 2
ANDN 402
ORLOD
OUT 200
LOD 410
OUT 401
LOD 420
OUT 402
END

implementarea funciei de ieire

______________________________
se nchide bucla de reacie a
circuitului secvenial prin
transferul 410 (Y1) 401 (y1)
420 (Y2) 402 (y2)

Diagramele K-V pentru funciile secundare Y1 i Y2 i pentru


ieirea E sunt:

Observaie. Strile ncercuite reprezint stri stabile, iar cele nencercuite


reprezint stri instabile. Sgeile reprezint modul de evoluie din strile instabile
n cele stabile. Se poate observa un ciclu pe coloana a treia, lucru nedorit n
funcionarea unui circuit de comand secvenial.
n acest subcapitol s-a dorit doar implementarea i analiza unui circuit secvenial cu
un automat programabil, nu i proiectarea sa.

Cap. 3. Principii de realizare a


programelor de conducere a
sistemelor mecatronice/robotice
cu
automate programabile

Metodele specifice de descriere a comportrii sistemelor


mecatronice/robotice (proceselor), pe baza crora se realizeaz
programele de conducere, sunt:

metoda diagramei (sau organigramei, sau grafului) de stri

metoda Grafcet

metoda ladder.
Mai exist i alte metode, precum:

metoda diagramelor temporale,

metoda schemelor logice etc.,


dar mai puin utilizate.

Termenii echiveleni (metodelor enumerate anterior) n limba


englez, ntlnii n literatura de specialitate sunt:
- "flow chart " pentru diagrama de stri;
- "function chart" pentru diagrama Grafcet;

- "ladder diagram" pentru diagrama ladder.


n realizarea unui program de conducere cu un automat

programabil se urmresc n general anumite etape. Primele dou


etape sunt aceleai, indiferent de metoda aleas:

1.) descrierea complet a condiiilor de funcionare a sistemului


mecatronic, procesului, instalaiei sau echipamentului supus conducerii
cu un automat programabil, precizarea tuturor secvenelor funcionale i
a regimurilor specifice de operare.
n aceast etap trebuie precizate att elementele de achiziie de
informaii din proces, tipul semnalelor traductoarelor, numrul i tipul
elementelor

de

execuie

asociate

procesului

industrial,

ct

recomandrile privind fiabilitatea configuraiei de conducere, cu


precizarea zonelor critice din proces pentru care trebuie prevzute
condiii speciale de funcionare.
Aceast descriere poate fi nsoit de diagrame temporale de semnal,
de tabele de adevr etc.

2.) analiza configuraiei automatului programabil necesar, astfel


nct acesta s acopere cantitativ i calitativ funcionarea
sistemului mecatronic/procesului.
Aceasta revine la stabilirea necesarului de memorie, a

dimensiunii modulelor de intrare-ieire i a compatibilitii


electrice a semnalelor.
Se impune, de asemenea, precizarea condiiilor industriale de

lucru ale automatului programabil, nivelul perturbaiilor externe,


regimurile electrice de alimentare etc.
Aceast etap se ncheie cu alegerea automatului programabil

necesar.

Cunoscnd foarte bine sistemul mecatronic/procesul i


protocolul su de funcionare i alegnd n consecin un automat

programabil, se poate ncepe transcrierea protocolului de


funcionare al procesului, folosind una dintre metodele amintite
anterior:

diagram de stri sau

o diagram Grafcet sau

o diagram ladder.

Apoi alocndu-se variabile de intrare, de ieire, de memorie, de


numrare, de contorizare etc. corespunztor semnalelor procesului,
se poate trece la realizarea programului de conducere. Acesta poate
cuprinde cteva seciuni:
a) aspecte (caracteristici) de operare;
b) secvenele (strile) de operare ale procesului;
c) semnalele de ieire;
d) ieiri indicatoare de stri.

Aspectele de operare se refer la urmtoarele:


a1) poziia de baz (starea iniial); procesul sau echipamentul
condus, n general, are o poziie de baz (o stare iniial) din care ncepe
funcionarea sa, de exemplu cu toate acionrile decuplate (off) i toate
comutatoarele de poziie deschise (off). Toate aceste elemente pot fi
combinate logic pentru a semnifica i iniializa o poziie de baz, care
poate fi programat ca o secven a procesului. Aceast etap mai poart
numele de iniializare. Iniializarea presupune:
aducerea procesului n acea stare iniial, dac acest lucru este absolut
necesar i nu este realizat n alt mod (de exemplu prin comenzi
manuale);
activarea variabilei alocate strii iniiale i dezactivarea tuturor
variabilelor alocate celorlalte stri ale procesului.

a2) condiii de validare sau de reset. Cele mai multe procese industriale
au butoane manuale de Start i Stop, care pot fi incluse n structura

programului, n aceast etap a programrii. Ele ar putea fi incluse ca i


contacte de validare i reset, avnd controlul general al automatului
programabil din punct de vedere al rulrii i opririi programului de

conducere.
Poate exista de asemenea un comutator manual de validare a ieirilor
sistemului, care ar permite programului s ruleze fr a aciona ieiri
fizice conectate la automatul programabil, adic o funcionare de testare.

Secvenele

(strile)

de

operare

ale

sistemului

mecatronic/procesului constituie partea principal a programului


de conducere i se pot implementa folosind una dintre metodele

amintite.

Semnalele de ieire ce acioneaz asupra sistemului de

acionare al sistemului mecatronic/procesului se pot implementa

separat, ele fiind active n strile (secvenele) corespunztoare, dar


se pot implementa n anumite cazuri i n acelai timp cu strile
procesului.

Strile procesului sunt uneori afiate utiliznd lmpi

indicatoare, alarme etc.

Prin adoptarea acestei abordri sistematice a structurii


programului de conducere, putem crea un program:

sigur,

uor de neles,

care permite o localizare rapid a unui defect sau a unei erori

i are ca rezultat timpi de nefuncionare mici.


n concluzie, este bine s se urmreasc aceste etape principale

atta timp ct instruciunile AP i modul de descriere a funcionrii

automatului permit acest lucru.

3.1. Metoda instruciunilor folosind


diagrame de stri
Aceast metod de realizare a programelor de conducere utiliznd
instruciunile automatului programabil poart denumirea n limba
englez de "statement list" (STL). Ea se poate baza pe descrierea
funcionrii procesului ca i:
diagram de stri sau,
uneori, ca i digram Grafcet (atunci cnd aceasta nu se poate
implementa folosind un software grafic adecvat, precum cel de la
automatele programabile ale firmei franceze Telemechanique).

Pentru realizarea programului de conducere cu un automat


programabil a unui sistem mecatronic/proces a crui funcionare va fi
descris printr-o diagram de stri, trebuie mai nti realizate primele dou
etape generale prezentate anterior, i anume descrierea complet a
condiiilor de funcionare ale procesului i alegerea automatului
programabil necesar.
Dup ce aceste dou etape generale au fost realizate, urmeaz
etapele:
elaborarea documentului surs sub forma unei diagrame de stri, care
s acopere toate condiiile de funcionare formulate iniial. n acest sens,
diagrama de stri trebuie s redea detaliat strile funcionale, condiiile
de comutare de la o stare la alta, mrimile de ieire generate n fiecare
stare, ciclurile, regimurile de lucru de tip subrutin etc.

se aloc variabile de intrare, de ieire, de memorie (interne) specifice


automatului programabil folosit, care s acopere semnalele de intrare
furnizate de proces, variabilele de comand ctre proces i variabilele de
stare; de asemenea se aloc i alte tipuri de variabile dac este necesar (de
exemplu variabile de temporizare, de numrare etc.);
se scrie programul de conducere folosind setul de instruciuni al
automatului programabil. n principiu, aceast scriere trebuie s parcurg
urmtoarele etape:
a) scrierea programului pentru iniializarea strilor (eventual i pentru
aducerea procesului n starea iniial);
b) scrierea programului pentru implementarea fiecrei stri i pentru
implementarea tuturor traseelor de evoluie din digrama de stri.

De obicei, condiiile de iniializare impun aducerea n stare logic 1 a


variabilei de memorie alocate strii iniiale i aducerea n stare logic 0 a
variabilelor de memorie alocate tuturor celorlalte stri.
Implementarea unei stri implic scrierea unui set de instruciuni ce
realizeaz:
b1) apelarea din memorie a variabilei ce corespunde strii;
b2) tergerea condiionat (aducerea n 0 logic) a tuturor variabilelor
de memorie asociate strilor ce preced starea respectiv;
b3) tergerea condiionat (aducerea n 0 logic) a tuturor variabilelor
de ieire generate n strile precedente;
b4) generarea (activarea) variabilei (variabilelor) de ieire asociate
strii respective.

Implementarea evoluiei dintre dou stri implic realizarea unei


operaii logice de tip AND (I) ntre variabila alocat strii de plecare
i condiia logic de evoluie (normal sau negat, dup cum este
realizat evoluia pe 1 logic sau pe 0 logic) i activarea condiionat
(prin "set" condiionat) a variabilei strii n care se evolueaz.

n acest caz, pe lng implementarea strilor i evoluiilor posibile


dintre stri, s-au implementat i ieirile corespunztoare strilor. Ele
se pot implementa i separat.

programul este introdus cu ajutorul consolei de programare a


automatului programabil (sau a unui calculator dotat cu un
software corespunztor de introducere i depanare a
programelor) n memoria program utilizator a automatului
programabil. Se efectueaz apoi verificri i teste ale
programului i se corecteaz eventualele erori.

Exemplu. Fie un manipulator de sudur cu dou grade de libertate (o rotaie i o


translaie). Protocolul de funcionare al acestui manipulator este:
* translaie pe axa orizontal (n sensul +) pn se realizeaz limitatorul x1;
* testarea unei intrri (x2) care stabilete care punct va fi sudat;
* dac x2 = 0, se realizeaz o rotaie (n sensul +) pn se realizeaz limitatorul x3 (s-a
realizat poziionarea deasupra unui punct de sudur);
* dac x2 = 1, se realizeaz o rotaie (n sensul -) pn se realizeaz limitatorul x4 (s-a
realizat poziionarea deasupra celuilalt punct de sudur);
* sudarea punctului respectiv (sudare temporizat, efectuat ntr-un timp t);
* retragerea manipulatorului n punctul iniial: nti printr-o rotaie n sens invers (dac
x2 a fost 0, se rotete n sensul -, iar dac x2 a fost 1, se rotete n sensul +) pn se
realizeaz x6 i apoi printr-o translaie (n sensul -) pn ce se realizeaz limitatorul x5.

Pentru conducerea acestui proces s-a ales ca automat programabil


automatul FA1J.
Considerm codificrile:
- translaia + este z1
- translaia - este z5
- rotaia + este z2
- rotaia - este z3
- sudarea este z4
Procesul descris este caracterizat prin 6 variabile de intrare pentru
automatul programabil (x1, x2, x3, x4, x5, x6) i este condus prin 5 comenzi
(ieirile z1, z2, z3, z4, z5 de la automatul programabil ctre proces).
Automatul programabil FA1J aloc pentru operanzii cu care opereaz urmtoarele
variabile:
07, 1017
- pentru variabilele de intrare;
200207, 210217
- pentru variabilele de ieire;
400407, 410417 - pentru variabilele de memorie;
TIM 079
- pentru variabilele de temporizare;

- translaia + este z1
- translaia - este z5
- rotaia + este z2
- rotaia - este z3
- sudarea este z4

Se aloc urmtoarele variabile specifice AP-FA1J intrrilor, ieirilor


i strilor sistemului mecatronic:

Variabila de
intrare
X1

Cod AP

X2

X3

X4

X5

X6

Var.init.
(comutator
iniializare)

10

Variabila
de ieire
Z1

Cod AP

Cod AP

201

Variabila
de stare
Starea 1

Z2
Z3

202

Starea 2

402

203

Starea 3

403

Z4
Z5

204

Starea 4

404

205

Starea 5

405

Starea 6
Starea 7

406
407

Starea 8

410

401

Diagrama de stri are 8 stri codificate de la 1 la 8. n starea 2 nu exist


nici o ieire activ, fiind o stare de testare a condiiei x2. Starea 5 (respectiv
ieirea din aceast stare, z4) este activ un timp t, ct trebuie s dureze
operaia de sudare. Pentru realizarea acestei temporizri se aloc variabila
TIM 4 (sau T 4; 2 secunde).
La FA1J starea 5 este echivalent cu:
5

Z4 (t)

Z4

t (T4)

Pentru implementarea unei temporizri cu FA1J trebuie s fie activat


variabila de temporizare alocat, lucru ce va lansa temporizarea (starea
canalului de temporizare trece n 1 logic dup ce trece durata
temporizrii).

Programul corespunztor evoluiei din diagrama (graful) de stri


este:
Adresa Instruciune
Comentariu
0000
LOD
10
- A = intr. 10
(A = acumulator)
0001
FUN
300
- salt conditionat de A (daca A=1 logic)
0002
13
- la adresa 13
0003
LOD N 10
- A = intr. 10 negata
0004
SET
401
- 401 = 1 dac A = 1 iniializarea
0005
RST
402
- 402 = 0 dac A = 1
strilor
0006
RST
403
- 403 = 0 dac A = 1
0007
RST
404
- 404 = 0 dac A = 1
0008
RST
405
- 405 = 0 dac A = 1
0009
RST
406
- 406 = 0 dac A = 1
0010
RST
407
- 407 = 0 dac A = 1
0011
RST
410
- 410 = 0 dac A = 1
0012
END
- salt neconditionat la adresa 0000
-------------------------------------------------------------------------0013
LOD
401
- A = 401
0014
RST
410
- 410 = 0 dac A = 1 implementarea
0015
RST
205
- 205 = 0 dac A = 1
strii 1
0016
SET
201
- 201 = 1 dac A = 1
----------------------------------------------------------------------------------

0017
0018
0019

LOD
AND
SET

401
1
402

- A = 401
-A=A*1
- 402 = 1 dac A = 1

evoluia 1 - 2
-----------------------------------------0020 LOD 402
0021 RST 401
starea 2
0022 RST 201
--------------------------------------------0023 LOD 402
0024 ANDN 2
evoluia 2 - 3
0025 SET 403
--------------------------------------------0026 LOD 402
0027 AND 2
evoluia2 - 4
0028 SET 404
----------------------------------------------

0029 LOD 403


0030 RST 402
starea 3
0031 SET 202
------------------------------------------0032 LOD 403
0033 AND 3
evoluia 3 - 5
0034 SET 405
-------------------------------------------0035 LOD 404
0036 RST 402
starea 4
0037 SET 203
------------------------------------------0038 LOD 404
0039 AND 4
evoluia 4 - 5
0040 SET 405
-------------------------------------------

0041
LOD 405
0042
RST
403
0043
RST
404
starea 5
0044
RST
202
0045
RST
203
0046
LOD 405
0047
TIM
4
0048
20
0049
LOD 405
0050
SET
204
---------------------------------------------0051
LOD 405
0052
AND T4
evoluia 5 - 6
0053
AND 2
0054
SET
406
----------------------------------------------0055
LOD 405
0056
AND T4
evoluia 5 - 7
0057
ANDN 2
0058
SET
407
-----------------------------------------------

0059 LOD 406


0060 RST 405
starea 6
0061 RST 204
0062 SET 205
-------------------------------------------0063 LOD 406
0064 AND 6
evoluia 6 - 8
0065 SET 410
--------------------------------------------0066 LOD 407
0067 RST 405
starea 7
0068 RST 204
0069 SET 205
-------------------------------------------0070 LOD 407
0071 AND 6
evoluia 7 - 8
0072 SET 410
----------------------------------------------

0073 LOD 410


0074 RST 406
0075 RST 407
starea 8
0076 RST 202
0077 RST 203
0078 SET 205
-------------------------------------0079 LOD 410
0080 AND 5
evoluia 8 - 1
0081 SET 401
----------------------------------0082 END salt la adresa 0000

3.2. Metoda diagramelor ladder


Principala cerin pentru limbajul de programare a unui
automat programabil este aceea de a fi uor de neles i
utilizat n aplicaiile de conducere a sistemelor
mecatronice/proceselor.
Acest lucru implic nevoia unui limbaj de nivel nalt pentru
a furniza comenzi foarte apropiate de funciile cerute de

ctre un inginer, dar fr a fi complex i a necesita un timp


de nvare mare, precum majoritatea limbajelor de
programare de nivel nalt pentru calculatoare.

Diagramele ladder au fost i sunt cea mai obinuit metod de


descriere a circuitelor logice cu relee, fiind utilizate iniial pentru
reprezentarea circuitelor electrice.

Ulterior, introducerea automatelor programabile i dorina de a


asigura utilizatorului aceleai faciliti n urmrirea funcionrii sau n
testarea circuitelor, au impus adaptarea simbolurilor circuitelor
electrice n logica programabil.
Astfel, a fost fireasc utilizarea diagramelor ladder pentru

programarea automatelor programabile, fiind creat astfel un mediu


familiar pentru utilizatorul i proiectantul de sisteme de control logic.

O diagram ladder, n schemele electrice, este format din dou bare


verticale ce asigur potenialul electric necesar i o reea de contacte
i bobine:

O diagram ladder, reprezentat cu o logic similar cu cea oferit


de schema electric, dar utiliznd simboluri specifice automatelor
programabile, arat astfel:

Pentru a se arta legtura dintre un circuit fizic i o reprezentare


ladder, se prezint circuitul electric al unui motor:

Motorul este conectat la o surs de putere prin intermediul a trei


comutatoare n serie i un comutator de suprasarcin (I1-I4).
Motorul pornete cnd toate comutatoarele sunt nchise.
Diagrama ladder echivalent arat astfel:

Diagrama ladder echivalent este constituit din dou linii


verticale reprezentnd barele de putere i din simboluri de circuit ce
formeaz o linie a ladder-ului. n diagrama ladder de mai sus, simbolurile
reprezint trei contacte de comutatoare normal deschise, un contact
normal nchis i o ieire (nfurarea motorului).
Dei simbolurile folosite de diverse firme nu au nici o
standardizare riguroas, acestea ncearc s pstreze caracterul oferit de
simbolurile i conexiunile electrice din care deriv.
Proiectarea ladder-ului trebuie fcut nct s permit oricrui
utilizator s neleag rapid soluia ladder (bineneles dispunnd i de
documentaia sistemului i de protocolul de funionare al procesului
condus).

Cteva simboluri grafice:

Metoda diagramei ladder presupune transcrierea protocolului


de funcionare al procesului ce va fi condus de automatul
programabil ntr-o astfel de reprezentare.

n cazul n care automatul programabil utilizat nu dispune de


un mod de programare grafic pentru realizarea diagramei ladder,
aceasta se va converti n instruciuni specifice automatului

programabil respectiv.
Metoda diagramei ladder este pretabil pentru aplicaii n
care automatul programabil nlocuiete un sistem logic sau cu relee

(convenional), deoarece desenele i diagramele sistemului original


pot fi utilizate ca baz pentru programarea automatului programabil.

Exemplu. Fie o celul flexibil de fabricaie alctuit dintr-o main unealt (de
exemplu o frez), un manipulator ce deservete maina unealt i dou benzi
transportoare ce transport piesele de prelucrat, BT1 i respectiv prelucrate, BT2,
de ctre maina unealt. Pentru acest exemplu intereseaz ca un automat
programabil s monitorizeze spaiul de lucru al celulei flexibile de fabricaie
folosind 4 senzori, n sensul ca n spaiul ei de lucru s nu ptrund nici o
persoan sau obiect. n cazul ptrunderii unei persoane toate elementele celulei
flexibile de fabricaie trebuie oprite pentru a nu se ntmpla vreun accident.
Cei patru senzori (ultrasonici sau optici), S1
... S4, detecteaz ptrunderea unei persoane
n zona protejat (prin semnal 1 logic, ON).
Cum i senzorii se pot defecta, pentru a nu
apare probleme n acest caz, se utilizeaz i 4
semnale de funcionare (1 logic, ON) a
acestora, F1 ... F4. n consecin, dac cele 4
semnale de funcionare a senzorilor sunt ON
(1 logic) iar semnalele de la senzorii de
prezen persoan sunt OFF (0 logic), atunci
elementele celulei flexibile trebuie s
funcioneze. n cazul n care fie un semnal de
funcionare senzori este OFF (0 logic), fie un
semnal de prezen persoan de la senzori
este ON (1 logic) elementele celulei de
fabricaie trebuie oprite.

Sistemul este dotat cu 3 intrri manuale, adic


comutatoarele de 'Start', 'Stop' i 'Reset alarm'. Sistemul trebuie
s dea 4 ieiri (comenzi) ctre maina unealt, manipulator i
benzile transportoare pentru activarea lor (funcionarea lor),
precum i o ieire de alarm.
Astfel, condiia de funcionare a sistemului este ca butonul
'Start' s fie apsat (1 logic), butonul de 'Stop' s nu fie apsat (0
logic) i s nu existe vreo condiie de alarm.
Presupunem c se utilizeaz automatul programabil FA1J.
Se vor aloca urmtoarele variabile specifice acestuia:
Intrri
Cod AP
Ieiri
Cod AP

S1 S2 S3 S4 F1 F2 F3 F4 Start Stop Reset


1
2
3
4
5
6
7 10
11
12 13
MU
Manip.
BT1
BT2
Alarm
200
201
202
203
204

Pentru nceput, avnd n vedere condiia de funcionare a elementelor celulei


de fabricaie (maina unealt, manipulatorul sau benzile transportoare), putem
scrie:
ieiri activare elemente celul
Atunci, condiia de alarm este activat dac unul dintre elementele celulei
este oprit, datorit unui senzor defect sau ptrunderii unei persoane n zona
protejat, astfel c putem scrie:

alarm =
Vom utiliza aceast expresie (condiie) ca variabila de memorie 400.
Utiliznd alocrile date anterior putem scrie:
_______________________
Aplicnd toerema lui De Morgan relaia de mai sus se poate scrie:

sau

Ptrunderea unei persoane n zona protejat va opri din funcionare


elementele celulei i va activa alarma. Alarma se va opri i elementele
celulei vor fi activate din nou numai dup ce a fost apsat butonul de
'Reset' (presupunnd c ntre timp "intrusul" a ieit din zona protejat).
De aceea este nevoie s introducem aceast variabil de memorie 400
care s memoreze existena alarmei att timp ct nu s-a apsat butonul de
'Reset'. Atunci ecuaia de definire a variabilei 400 devine:

De asemenea pentru circuitul de pornire/oprire (Start/Stop) vom utiliza o


variabil de memorie (care va aciona un "latch"), 410, care s fie activ
att timp ct push-butonul 'Start' este apsat, push-butonul 'Stop' nu este
apsat i nu exist condiie de alarm (variabila 400). Atunci putem scrie
relaia:

Ieirile de comand (activare elementele celulei de fabricaie) vor


fi active att timp ct push-butonul 'Start' este apsat, push-butonul 'Stop'
nu este apsat i nu exist condiie de alarm (i eventual de alte condiii
logice adiionale, n cazul n care acestea sunt precizate).
Cum n general n practic ieirile nu sunt acionate direct printr-o
logic de control ci prin intermediul unor variabile auxiliare (de
memorie), i n acest caz ieirile vor fi activate de variabila de memorie
410.
Trebuie neles c un program de control complet pentru o
aplicaie ca aceasta ar putea avea o logic de control adiional, cu mai
multe condiii i sarcini care pot apare n celula flexibil de fabricaie (de
exemplu, defecte ale elementelor celulei care cer ca ntreaga celul
flexibil de fabricaie s-i opreasc funcionarea). Exemplul prezentat
ncearc s exemplifice modul de realizare a unei diagrame ladder pentru
o problem de control i interblocare.

Avnd
n
vedere
elementele specificate
anterior se poate realiza
acum diagrama ladder
corespunztoare:

Diagramele ladder se preteaz a fi utilizate pentru probleme combinaionale,


de interblocri i pentru probleme secveniale simple. Pentru astfel de
probleme este bine ca mai nti s fie scrise ecuaiile logice ale mrimilor ce
intervin n problem i apoi s fie transpuse aceste ecuaii logice ntr-o
diagram ladder. Cum de obicei facilitile de comentarii oferite de
modalitile de programare grafic sunt reduse, interpretarea programelor
ladder devine dificil i de aceea este necesar crearea unei documentaii
complete.
Cnd se utilizeaz pentru probleme secveniale complexe, programele ladder
devin incomode, obositoare i greu de proiectat i depanat. Aceasta este
principala cauz care cere elemente de activare, meninere i dezactivare n
fiecare etap pentru a se asigura c nu apar erori secveniale n evoluie.

Unii productori de automate programabile au adoptat stilul blocurilor


funcionale n programare, care nltur mult din aceast complexitate. Dar
aceasta implic simbolurile programrii de baz care sunt mai apropiate de
simbolurile diagramei de stri utilizate n scopul realizrii programelor.

3.3. Metoda diagramelor Grafcet


n ultimii ani s-au introdus i dezvoltat noi sisteme de reprezentare
grafic a evoluiei secveniale a proceselor, cunoscute sub denumirea
de "function charts", n literatura de specialitate de provenien
englez sau american i sub denumirea de diagrame Grafcet n
literatura de specialitate de provenien francez. n continuare vom
utiliza denumirea de diagram Grafcet (sau Grafcet).
Dei o diagram Grafcet red n esen aceleai elemente ca i o
organigram de stri, anumite particulariti de reprezentare ofer
faciliti att proiectantului, ct i utilizatorului, ceea ce a dus la
lrgirea ariei de utilizare i penetrare a metodei ntr-un mare numr
de aplicaii.

Aceast metod este pretabil pentru descrierea unor detalii ale sistemului condus
precum i ale funcionrii acestuia. Utiliznd o form concentrat de descriere
simbolic, aceast metod combin avantajele altor metode, prezentnd clar i
concis secvenele de control. De asemenea, diagramele Grafcet ajut la testarea i
depanarea sistemului de control, la diagnosticarea defectelor aprute n sistemul
de control.
Un Grafcet este un graf orientat, definit printr-un cvadruplet (S, T, E, M) unde:
S = {S1, S2, ... , Sn} - mulimea secvenelor (n particular a strilor)
T = {T1, T2, ...,Tp} - mulimea condiiilor ce determin tranziiile dintr-o
secven n alta
E = {E1, E2, ... , Eq} - mulimea ieirilor generate n timpul evoluiei
M = {M1, M2, ... , Mm} - o mulime de valori binare ce desemneaz starea de
activare a fiecrei secvene.

Pentru Mi=0, se consider c secvena asociat este inactiv, iar pentru


Mi=1, secvena devine activ. n mod normal, o singur secven este
activ, dar pot exista situaii n care procese concurente pot determina
activarea simultan a mai multor secvene.
Simbolizarea Grafcet-ului nu este unic. O metod utilizat frecvent n
aplicaii de conducere a proceselor industriale este prezentat n figura
urmtoare:

O secven este reprezentat printr-un dreptunghi (sau un cerc) i


definit printr-un identificator de secven. Acesteia i se asociaz o
variabil, de obicei o variabil intern, ce reprezint suportul fizic al
secvenei.
Asociat identificatorului de secven i conectat direct la acesta, este
blocul ieirilor generate n secvena respectiv. Activarea secvenei

nseamn activarea tuturor ieirilor conectate. n aceast reprezentare se


mai poate remarca prezena a dou condiii de tranziie, prima
desemnnd condiiile pentru atingerea secvenei, iar a doua reprezentnd

condiiile pentru evoluia n secvena urmtoare. Aceste condiii


reprezint fie simple variabile externe, fie funcii logice complexe,
obinute prin operatori logici specializai.

Conexiunile ntre blocurile unui Grafcet se obin prin linii orizontale i


verticale. Liniile verticale desemneaz evoluii, iar cele orizontale indic
posibiliti de ramificare condiionat sau nu. O diagram Grafcet cu o
configuraie de tip SAU arat astfel:

Linia orizontal A desemneaz o evoluie fie n secvena S11, fie n


secvena S21, prin deciziile T11 sau T21. Linia orizontal B determin
convergena evoluiilor pe o logic SAU (condiiile T13 sau T23).

O diagram Grafcet cu o ramificaie de tip I arat ca n figura urmtoare.

Linia orizontal A desemneaz evoluia din starea S10 att n secvena


S11, ct i n secvena S21, prin condiia T10. Linia orizontal B determin
convergena evoluiilor pe o logic I (condiia T12). Este evident c, n
funcie de complexitatea procesului condus, arborescena Grafcet-ului
crete, n aceeai structur putnd fi ntlnite att ramificaii de tip I, ct
i SAU, precum i configuraii ierarhizate, corespunznd anumitor grade
de subordonare.

Implementarea unui Grafcet


Tehnica de implementare a unui Grafcet se bazeaz pe transpunerea n
limbajul automatelor programabile a unei funcii logice ce definete:
set pe condiiile de tranziie TIN;
memorarea variabilei asociat secvenei;
reset pe condiiile de tranziie TOUT.
Dac se noteaz prin Si variabila intern asociat secvenei, condiiile de
mai sus se pot scrie sub forma:
Si = TIN + Si
relaie care este asemntoare cu ecuaia unui bistabil RS.
n cele mai multe cazuri, condiia de set include nu numai variabilele TIN
ci i variabila ce definete secvena anterioar Si-1, deci:

Si = TIN Si-1 + Si
Primul termen va defini condiia de amorsare a secvenei Si, iar al doilea
asigur stabilitatea secvenelor i n acelai timp anularea ei prin condiiile
TOUT.

Este posibil ca relaia de mai sus s sufere modificri sau completri, n


funcie de anumite elemente specifice. De exemplu, dac Si poate fi
iniializat printr-o condiie suplimentar Tinit, relaia de mai sus devine:

Si = Si-1 TIN + Si

+ Tinit

(*)

Aparent, aceast relaie ofer soluia implementrii. n realitate, aplicarea


acestei formule ntr-o succesiune de secvene ale unui Grafcet este
improprie datorit hazardului de comutare produs de aceeai variabil de
condiie la setarea i resetarea a dou secvene consecutive.

Pentru concretizarea ideii, s considerm secvenele S1 i S2 din Grafcet-ul


alturat.
Conform relaiei anterioare
rezult:
S1 = S0 T0 + S1
S2 = S1 T1 + S2

Este evident c variabila T1 reseteaz pe S1 i definete totodat condiia pentru


activarea lui S2 dar condiionat de S1 (termenul S1T1). Pe de alt parte aceste
relaii sunt reprezentate pe linii diferite n diagram, explorate secvenial. n
consecin, se produce nti resetarea lui S1 prin S1
i nu mai poate fi realizat
deci activarea, pe linia urmtoare a lui S2 (termenul S1T1=0). Acest neajuns se
poate remedia punnd condiia ca resetarea unei secvene s fie realizat nu de
variabila de tranziie ci de starea succesoare.

Astfel, relaiile anterioare devin:


S1 = S0 T0 + S1
S2 = S1 T1 + S2
Se poate verifica uor c deficienele semnalate au fost complet

eliminate. Relaia general (*) se poate rescrie sub forma:


Si = Si-1 TIN + Si

+ Tinit

(**)

Generarea variabilelor de ieire se obine fr dificultate utiliznd


facilitile de alocare a ieirilor oferite de un automat programabil.
n figura urmtoare este reprezentat diagrama ladder corespunztoare
ecuaiei (**).

Observaie. n realizarea
ladder-ului s-a omis
alocarea corespunztoare
a variabilelor de intrare,
de memorie i de ieire
specifice
automatului
programabil folosit.

Pentru realizarea programului de conducere cu un automat


programabil a unui proces a crui funcionare va fi descris printr-o
diagram Grafcet, trebuie mai nti realizate primele dou etape
generale prezentate, i anume descrierea complet a condiiilor de
funcionare ale procesului i alegerea automatului programabil
necesar.

Dup ce aceste dou etape generale au fost realizate, urmeaz


etapele:
elaborarea documentului surs sub forma unei diagrame
Grafcet, care s acopere toate condiiile de funcionare formulate
iniial. n acest sens, diagrama Grafcet trebuie s redea detaliat
strile funcionale, condiiile de comutare de la o stare la alta,
mrimile de ieire generate n fiecare stare, ciclurile, regimurile
de lucru de tip subrutin etc.

se aloc variabile de intrare, de ieire, de memorie


(interne) specifice automatului programabil folosit, care s
acopere semnalele de intrare furnizate de proces, variabilele
de comand ctre proces i variabilele de stare; de asemenea
se aloc i alte tipuri de variabile dac este necesar (de

exemplu variabile de temporizare, de numrare etc.).

Observaie. Urmtorii pai se realizeaz atunci cnd automatul


programabil nu dispune de un mod de programare grafic pentru
implementarea diagramelor Grafcet i ladder.
se scriu ecuaiile de implementare a fiecrei secvene (stri);
se scrie programul de conducere folosind setul de instruciuni
al automatului programabil. n principiu aceast scriere trebuie

s parcurg urmtoarele etape:


a) scrierea subprogramului pentru iniializarea strilor
(eventual i pentru aducerea procesului n starea iniial);
b) scrierea subprogramului pentru implementarea fiecrei
secvene (stri);
c) scrierea subprogramului de implementare a ieirilor
active n strile procesului.

De obicei, condiiile de iniializare impun aducerea n stare logic 1


a variabilei de memorie alocate strii iniiale i aducerea n stare
logic 0 a tuturor celorlalte variabile de memorie alocate variabilelor

de stare.
Implementarea unei secvene (stri) presupune implementarea
ecuaiei logice de definire a acelei secvene.
Implementarea unei ieiri active doar ntr-o singur stare a diagramei
Grafcet implic transferul variabilei de memorie alocate acelei stri

ctre variabila de ieire alocate ieirii respective. n cazul n care o


ieire trebuie s fie activ n mai multe stri, se transfer ctre
variabila de ieire respectiv rezultatul operaiei OR (SAU logic)
asupra tuturor variabilelor de memorie alocate strilor n care acea
ieire este activ.

Exist dou posibiliti de implementare a programului de conducere a unui


proces plecnd de la diagrama Grafcet corespunztoare:
1. n cazul n care automatul programabil ales pentru conducerea
procesului respectiv dispune de un limbaj de programare grafic pentru
realizarea diagramelor Grafcet i respectiv a diagramelor ladder (de
exemplu automatele programabile Telemecanique), fie folosind consola
de programare fie un calculator, se implementeaz grafic diagrama
Grafcet i diagramele ladder corespunztoare condiiilor de tranziie i
ieirilor (dup cum se va vedea n Capitolul 5);
2. n cazul n care automatul programabil ales pentru conducerea
procesului nu dispune de un mod de programare grafic pentru
implementarea diagramelor Grafcet, se urmeaz paii prezentai
anterior pentru scrierea programului ca list de instruciuni.

Exemplu Grafcet. Instalaie de etichetat


n figura urmtoare este prezentat o
instalaie de etichetat cutii. Cutiile
coboar gravitaional pe dou ghidaje n
faa unui sertar acionat de un piston
pneumatic A. Dup sesizarea cutiei cu
ajutorul unui limitator p, cutia este
mpins sub un alt piston pneumatic C
care aplic eticheta. Forma sertarului nu
permite cderea altei cutii pn ce
acesta nu s-a retras. Cursa sertarului
este fix, cutiile etichetate fiind mpinse
de cutia urmtoare neetichetat pn ce
ating limitatorul f. Dup aplicarea
etichetei pe ultima cutie sosit, un al
treilea cilindru pneumatic D mpinge
toate cutiile pe o band transportoare B
i ciclul se reia.

Pentru conducerea acestui proces se va utiliza automatul programabil FA-1J.


Alocarea variabilelor va fi urmtoarea:
Intrare
Cod AP
Iesire
Cod AP
Stare
Cod AP

a0
10
A+
210
S0
410

a1
11
A211
S1
411

c0
12
C+
212
S2
412

c1
13
C213
S3
413

d0
14
D+
214
S4
414

d1
15
D215
S5
415

f
16

v.i.
17

Se va considera o stare de iniializare S0 n care se vor da comenzile (A-, C-, D-)


de aducere n starea fizic caracterizat de a0, c0 i d0. Variabila de iniializare 17
(cnd este 0 logic) este folosit pentru aducerea n 1 logic a variabilei alocate
strii S0 (este vorba de o iniializare logic, nu de o iniializare fizic) i n 0 logic
a variabilelor alocate celorlalte stri. La trecerea automatului programabil n
starea "RUN" variabila 17 va fi inut 0 logic i apoi trecut imediat n 1 logic.
Comenzile A+, C+, D+ deplaseaz pistoanele pn pe limitatorii a1, c1 i
respectiv d1. Retragerea pistonului A i etichetarea se pot face simultan.

Grafcet-ul corespunztor acestei aplicaii, prezentat n figura urmtoare:

Ecuaiile celor ase stri sunt:

Avnd n vedere ecuaiile de implementare a strilor i alocrile


fcute, va rezulta programul (scris ca list de instruciuni):
Adresa Instruciune

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

LOD
FUN
LOD N
SET
RST
RST
RST
RST
RST
END
LOD
AND
LOD
AND
AND
AND N

Operand

17
300
12
17
410
411
412
413
414
415
415
14
413
10
12
16

Adresa

Instruciune

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

ORLOD
LOD
AND N
ORLOD
OUT
LOD
AND
AND
AND
LOD
AND N
ORLOD
OUT
LOD
AND
LOD
AND N

Operand

410
411
410
410
10
12
14
411
412
411
411
11
412
413

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

ORLOD
OUT
LOD
AND
LOD
AND N
AND N
ORLOD
OUT
LOD
AND
AND
AND
LOD
AND N
ORLOD
OUT
LOD
AND

412
412
13
413
410
414
413
413
10
12
16
414
415
414
414
15

54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

LOD
AND N
ORLOD
OUT
LOD
OR
OUT
OUT
LOD
OR
OUT
LOD
OUT
LOD
OUT
LOD
OUT
END

415
410
415
410
413
211
213
410
415
215
411
210
412
212
414
214

3.4.
Realizarea
programului
de
conducere a unui proces, cu un automat
programabil
Pentru a conduce un proces cu un automat programabil trebuie
cunoscut foarte bine procesul i protocolul su de funcionare.

A doua cerin este legat de automatul programabil ce se va


folosi pentru conducerea procesului. Acesta trebuie s dispun
de toate elementele necesare conducerii procesului (numr de
intrri, ieiri, variabile interne, temporizatoare, numrtoare,
registre, capacitate de memorare etc.) i s poat funciona n

medii industriale.

Avnd cunoscute i ndeplinite aceste dou cerine legate de proces i de


automatul programabil, se poate trece la realizarea programului de
conducere a procesului respectiv, transpunnd protocolul de funcionare
ntr-o:
diagram de stri i realiznd apoi programul ca list de instruciuni
("statement list", STL), program introdus n memoria automatului
programabil printr-un dispozitiv de programare (consol de
programare, calculator).
diagram ladder. n cazul n care automatul programabil dispune de
un mod de programare grafic, programul ladder se introduce n
memoria automatului programabil folosind dispozitivul de programare
(consol de programare, calculator). n cazul n care automatul
programabil nu dispune de o astfel de modalitate de programare
grafic, diagrama ladder trebuie convertit ntr-un program scris ca list
de instruciuni i introdus n memoria automatului programabil
utiliznd dispozitivul de programare.

diagram Grafcet. n cazul n care automatul programabil dispune de


un mod de programare grafic (de exemplu automatele programabile
Telemecanique), diagrama Grafcet se introduce n memoria automatului
programabil folosind dispozitivul de programare (consol de
programare, calculator). n cazul n care automatul programabil nu
dispune de o astfel de modalitate de programare grafic, diagrama
Grafcet trebuie convertit ntr-un program scris ca list de instruciuni i
introdus n memoria automatului programabil utiliznd dispozitivul de
programare.

De obicei, pentru probleme combinaionale sau probleme


secveniale simple se utilizeaz metoda ladder sau metoda scrierii
directe a instruciunilor ce descriu relaiile problemei respective.
Pentru probleme secveniale complexe se utilizeaz mai mult
metoda diagramei de stri sau metoda diagramei Grafcet.
Bineneles c n adoptarea unei metode de rezolvare a unei
probleme conteaz i experiena inginerului respectiv de a lucra
cu una din metode sau cu un anumit tip de automat programabil.

Un Grafcet poate fi ntotdeauna echivalent cu o diagram de stri,


complexitatea translatrii fiind dat de gradul de dificultate prin care o
secven se descompune ntr-una sau mai multe stri.

n cele mai dese cazuri, o secven corespunde unei stri i atunci


asimilarea este simpl:

n cazurile mai complexe, fiecare secven se nlocuiete cu un


numr de stri, astfel nct acestea s preia toat informaia
coninut n aceasta. Condiiile de tranziie sunt desigur pstrate.

Principalele aspecte care trebuie urmrite n realizarea unui program de


conducere a unui proces cu un automat programabil sunt:
1.

programul trebuie scris nti pe hrtie i apoi introdus n

memoria program a automatului programabil folosit. Nu se trece de


la nceput la dispozitivul de programare pentru a introduce
programul de conducere. Din timpul alocat realizrii unui program,

90 % din timp ar trebui alocat lucrnd asupra programului i doar


10 % tastrii lui la dispozitivul de programare. Totui cu timpul,
odat cu cptarea unei experiene, raportul acesta se poate

schimba.
2. n realizarea programului trebuie inut cont de toate erorile i
problemele ce pot apare n derularea procesului, introducnd

elemente de siguran i protecie n program.

3. trebuie evitat realizarea programelor inteligente; programele


trebuie s fie nelese uor i de alte persoane dect de cel ce l-a
realizat.

4. programul trebuie listat i memorat pe un suport de memorie


magnetic specific automatului programabil respectiv, astfel nct s
poat fi utilizat pentru dezvoltri ulterioare.
5. pe parcursul realizrii programului se pot face testri dac este
posibil. Se pot utiliza facilitile de monitorizare sau de 'forare'
(aducerea n 0 logic sau n 1 logic a unor variabile) dac automatul
programabil permite acest lucru.
6. documentaia procesului, programul de conducere i comentariile

scrise pe marginea programului trebuie pstrate n condiii bune.

Cap. 4. Funcii speciale ale


automatelor programabile

Problemele de conducere a proceselor nu sunt n general


probleme combinaionale simple ce se bazeaz doar pe
instruciunile logice de baz ale automatelor programabile.

Problemele de conducere sunt n general probleme secveniale


i presupun n general i utilizarea unor:
temporizri,
a contorizrilor unor evenimente interne sau externe,
memorarea unor date,
operaii aritmetice,
control PID etc.

Aceste cerine pot fi ndeplinite de majoritatea automatelor


programabile ce includ:

blocuri de temporizare,

numrtoare,

memorie de date,

registre,

faciliti de lucru pe cuvnt,

module de control PID etc.,

elemente ce pot fi folosite uor, utiliznd fie instruciunile, fie


diagramele tip ladder.
Toate aceste funcii lucreaz cu un numr de variabile de intrare
i pot transfera rezultatul operaiilor efectuate ctre alte variabile
(interne sau de ieire).

4.1. Temporizri
n marea majoritate a aplicaiilor de control este necesar utilizarea
controlului temporizat (comenzi active un timp). Automatele

programabile au faciliti de implementare hard sau soft a


temporizrilor, uor de programat i utilizat n diversele situaii
posibile.
Cea mai ntlnit metod de programare a temporizrilor
presupune specificarea intervalului de timp ct se dorete s fie

temporizarea i condiiile (evenimentele, intrrile) care starteaz


(lanseaz) sau opresc (start/stop) funcia de temporizare. Condiia
de startare (lansare) a temporizatorului poate fi un semnal intern
sau unul extern automatului programabil.

n continuare vor fi exemplicate modalitile de implementare a


temporizrilor pentru cteva automate programabile, deoarece nu se
implementeaz la fel pentru toate automatele programabile.

Automatul programabil FA-1J prezint aceast facilitate de a realiza


temporizri, ntr-o manier comod, precis. Astfel, pentru implementarea
unei temporizri, automatul programabil FA-1J prezint instruciunea TIM
(Timer).
Automatul programabil FA-1J poate implementa 80 de temporizatoare, cu
numerele de la 0 la 79, temporizatoare de 100 msec.

Valorile presetate ale temporizatoarelor pot fi ntre 0 i 9999.


Instruciunea TIM este o instruciune pe dou adrese. La prima
adres apare mnemonica instruciunii, TIM, i numrul
temporizatorului, iar la a doua adres durata temporizrii (durata
temporizrii = valoarea presetat 100 msec.).

Cnd rezultatul anterior instruciunii TIM este ON (variabila de


lansare a temporizrii este "1"logic; n exemplu variabila 1) se
iniializeaz numrarea impulsurilor de ceas (valoarea
temporizrii este decrementat cu 1 la fiecare tact de 100 msec.;
lucru ce se poate monitoriza cu ajutorul consolei de programare).
Cnd valoarea numrat atinge timpul stabilit (valoarea
presetat) ieirea temporizatorului trece ON.

O ieire poate fi ataat imediat dup instruciunea TIM.

Cu astfel de temporizatoare se pot implementa diverse tipuri de


temporizri.

n timpul conducerii unor procese cu automate programabile apare


frecvent problema implementrii unor funcii cum ar fi temporizri,
numrri, realizarea unor microsecvene de comenzi. n acest scop,
n automatul TSX 17-20 (Telemecanique) au fost implementate aanumitele "blocuri funcionale". Ele ocup o zon aparte din
memoria automatului i, prin utilizarea lor, se obine o reducere
considerabil a mrimii programelor necesare conducerii proceselor.
Exist cinci tipuri de blocuri funcionale: temporizator, monostabil,
numrtor, programator ciclic, registru. Automatul programabil
TSX 17 (Telemecanique) permite implementarea temporizrilor dar
ntr-o manier diferit fa de cele prezentate anterior.

Fiecare bloc are dou tipuri de reprezentare pe ecranul consolei de programare:


n cadrul unei reele ladder se utilizeaz simbolul prezentat n continuare:

singur pe ecranul consolei: n momentul n care, dup deplasarea cursorului n


partea superioar stnga a simbolului grafic de mai sus, se acioneaz tasta ZM
(ZOOM); n acest caz se pot vizualiza i eventual modifica parametrii interni
ai blocului funcional.
n stnga simbolurilor grafice se afl
intrrile blocurilor funcionale, intrri
asociate variabilelor din program, iar n
dreapta se afl ieirile. Parametrii
blocurilor impui n faza de introducere
a programului pot fi modificai n
regimul de lucru REGLAJ, iar ieirile
blocurilor funcionale pot fi testate n
timpul programului.

Programarea unui temporizator - Descrierea funcional


Permite generarea unei comenzi cu o anumit ntrziere de timp
delta
delta = Ti , P TB
unde:
Ti = 0, ... , 31 - este unul din cele 32 de canale de temporizare;
P = 0, .... , 9999 - constant de presetare;
TB = 10 ms, 100 ms, 1s, 1 min - baza de timp a temporizatorului
respectiv.
Aceste valori se stabilesc la introducerea n program a blocului de
temporizare.

Simbolul utilizat i elementele caracteristice sunt:

E (enable) - intrare de validare:


E = 0 - temporizatorul Ti este blocat i ncrcat cu valoarea lui P
E = 1 - temporizatorul poate funciona (P scade cu 1 la fiecare impuls al
bazei de timp) cu condiia ca intrarea C = 1;
C (control) - intrare:
C = 0 - temporizator blocat
C = 1 - temporizatorul poate funciona dac ns i E = 1
D (done) - temporizare terminat - ieire:
D = 0 - ct timp temporizarea este n curs (P nu este 0)
D = 1 - n rest
R (running) - temporizare n curs - ieire:
R = 1 - ct timp temporizarea este n curs (P nu este 0, C = 1, E = 1)
R = 0 - n rest

Funcionarea poate fi descris i prin diagrama temporal urmtoare:

Observaii:
O1 - valoarea curent a temporizatorului Ti (valoarea lui P)
precum i starea ieirilor D i R pot fi testate prin program (cu
simbolurile Ti,V, Ti,D i respectiv Ti,R) n cadrul altor reele
ladder;

O2 - funcionarea canalelor de temporizare continu chiar dac se


oprete programul (cu comanda STOP) sau dac se execut un salt
n program peste reeaua n care se afl introdus blocul de
temporizare respectiv;
O3 - dac starea eventualelor relee (ieiri) comandate de

temporizator nu se modific n cursul unui ciclu funcional al


automatului, ci doar n ultima parte a lui, cnd sunt generate
ieirile automatului, starea ieirilor temporizrii Ti,D i Ti,R se
poate modifica i pe parcursul unui ciclu.

Aplicaii tipice
ntrziere la anclanare
Se impune s se realizeze generarea unei ieiri (anclanarea canalului O1,0) cu o
ntrziere delta (fie 12 secunde) fa de un semnal de comand (intrarea I1,3).
Program. S-a ales blocul de temporizare T2 la care se stabilesc urmtorii
parametri: TB = 1s, P = 12. innd cont de canalele de intrare i ieire impuse n
problem se va realiza urmtorul program ca diagram ladder:
Descriere funcional:
Avnd n vedere modul de
funcionare al unui bloc de temporizare pot apare mai multe situaii
n timpul funcionrii:
n cazurile 1 i 3 comanda
(ieirea D) se genereaz cu
ntrziere de 12s dar dureaz
diferit n funcie de timpul ct
este activ intrarea I1,3;
n cazul 2, deoarece intrarea
I1,3 a fost activ mai puin de
12s, nu s-a generat nici o ieire.

ntrziere la declanare
Se impune generarea unei ieiri (canalul O1,0) care s dureze mai
mult cu 12 secunde fa de semnalul de comand I1,3.
Program. Se aleg aceleai elemente ca n aplicaia anterioar dar se
va realiza urmtorul program n LADDER:
n momentul n care semnalul de
comand I1,3 nceteaz, intrrile
n temporizator devin active i
odat cu ele ncepe temporizarea
de 12s. Dup terminarea acesteia,
ieirea D devine activ. n final,
comanda O1,0 care n acest caz
este inversa lui D, va dura cu 12s
mai mult dect intrarea I1,3.

4.2. Contorizri (funcia de numrare)

n multe aplicaii de control este necesar utilizarea facilitilor de


contorizare (numrare) a unor evenimente fie interne automatului
programabil, fie externe acestuia. Automatele programabile
produse n ultimii ani au faciliti de implementare a contorizrilor.

Automatul programabil FA-1J implementeaz dou tipuri de numrtoare:


numrtoarele (0...44) sunt numrtoare unidirectionale simple;
numrtoarele 45 i 46 sunt numrtoare reversibile.
A) Numrtoare simple.

Numrtorul se programeaz n ordinea: intrare de reset, intrare de


impulsuri de contorizat (numrat) i instruciunea CNT. Valoarea
presetat a numrtorului poate fi stabilit ntre 0 i 9999.
O instruciune CNT solicit dou adrese. La prima adres este setat
instruciunea de numrare i numrul numrtorului, iar la a doua adres
este setat valoarea prestabilit pentru numrare.

Acelai numrtor nu poate fi utilizat de dou ori ntr-un program.


n timp ce intrarea de reset este OFF (0 logic, inactiv), numrtorul
numr impulsurile de la intrarea 2 i compar numrul acestora cu
valoarea presetat (prestabilit). Cnd valoarea numrat = valoarea
prestabilit, numrtorul d o ieire activ ON (1 logic) ce rmne
ON pn ce intrarea de reset devine activ ON.
Cnd intrarea de reset este schimbat din OFF n ON, valoarea
numrat este resetat (adus la valoarea 0). n timp ce intrarea de
reset este activ (ON), toate impulsurile de contorizat ce pot apare la
intrarea de impuls (2) sunt ignorate.
Numrtorul numr doar impulsurile ce trec din OFF n ON
ulterioare cu un timp de scanare momentului de trecere a intrrii de
reset din ON n OFF.

B) Numrtoare reversibile
Sunt de 2 tipuri:
B1) numrtor reversibil tip impuls dual (45)

Cnd impulsurile UP i DOWN sunt simultan active (ON), numrtorul nu


realizeaz operaia de numrare. Cnd intrarea de presetare este ON, valoarea
presetat (prestabilit) este setat i, cnd intrarea de presetare este OFF, numrarea
ncepe.
Ieirea numrtorului este ON doar cnd valoarea numrat este zero.
Dup ce valoarea numrat atinge 0 sau 9999, este schimbat de la 0 la 9999 sau
de la 9999 la 0.

B2) numrtor reversibil tip selecie UP/DOWN (46)

Modurile UP / DOWN (SUS / JOS) sunt selectate astfel:


numrare n sus (UP) = sens cresctor, pentru intrare de selecie UP / DOWN
activ (ON)
numrare n jos (DOWN) = sens descresctor, pentru intrare de selecie UP /
DOWN inactiv (OFF)
Acelai numrtor nu poate fi utilizat de dou ori n acelai program.

Programarea unui numrtor la TSX 17-20


Descrierea funcional
Acest bloc permite efectuarea unei numrri nainte sau napoi a unor evenimente
sau impulsuri. Cele dou operaii se pot efectua chiar i simultan. Numrarea este
ciclic ntre 0 i 9999, valoarea curent trecnd de la 9999 la 0 la numrarea direct
i de la 0 la 9999 la numrarea napoi.
TSX 17-20 are 31 de canale de numrare C0,..., C30.

P (preset) - intrare:
P = 1 - valoarea curent se va ncrca cu constanta P i numrarea este blocat;
P = 0 - numrtorul poate fonciona;
U (up) - intrare numrare nainte:
Dac R i P sunt zero logic, valoarea curent a numrtorului crete cu 1 la
fiecare front ridictor al acestei intrri.

D (down) - intrare numrare napoi:


Dac R = P = 0, valoarea curent scade cu 1 la fiecare front pozitiv al lui D.

E (empty) - ieire:
E = 1 dac la numrarea napoi valoarea curent se modific de la 0 la 9999.
D (done)
D = 1 dac valoarea curent a numrtorului este egal cu valoarea de
presetare P.
F (full)
F=1 dac la numrarea nainte valoarea curent se modific de la 9999 la 0.

Observaii:
O1 - n situaiile n care ambele intrri de numrare sunt la 1,
valoarea curent nu se modific.
O2 - att valoarea curent ct i ieirile numrtorului pot fi testate
prin program, utiliznd semnificaiile corespunztoare: Ci, V;
Ci, E; Ci, D i Ci, F.
O3 - programarea unui numrtor este asemntoare cu cea a unui
temporizator, cu deosebirea c, n etapa de selecie a blocului
funcional, se va alege [C] n loc de [T].

Aplicaie. Controlul numrului de vizitatori dintr-un muzeu se face cu 2 celule I1


i I2 (una pentru intrare i cealalt pentru ieire). Ua de la intrare va fi nchis
cnd n muzeu sunt 20 de vizitatori.

Observaie. n cazul n care muzeul are doar o singur u att pentru intrare ct i
pentru ieire, atunci cele dou fotocelule se vor amplasa una dup alta astfel nct
pentru intrare se face secvena:
I1 = 1, I2 = 0 i apoi I1 = 1, I2 = 1
iar pentru ieire se face secvena:
I1 = 0, I2 = 1 i apoi I1 = 1, I2 = 1
Modalitatea de programare este grafic, prin diagrame ladder. Programarea grafic
cu consola de programare TSX T407 cere mprirea diagramei ladder n reele
ladder de cel mult 4 linii, fiecare etichetat cu un numr (de exemplu L6 sau L17;
litera L vine de la "label").

4.3. Registre (funcii cu registre)


O alt cerin, n anumite aplicaii, este implementarea unor registre

pentru memorarea i deplasarea informaiei. Automatele


programabile actuale pot implementa registre pentru stocarea i
deplasarea informaiei pe un numr variabil de bii.
Automatul programabil FA-1J prezint dou instruciuni
importante: SFR i SFR N. Aceste dou instruciuni permit

implementarea unui registru pe ci bii se dorete (ntre 1 i 128 de


bii) i deplasarea informaiei din acesta fie ntr-un sens, fie n
cellalt sens.

Instruciunea SFR (registru de deplasare n sens cresctor):


LOD
LOD
LOD
SFR
LOD
OUT
LOD
OUT
LOD
OUT
LOD
OUT

R
R
R
R

1
2
3
0
bitul iniial
4 configuraie pe 4 bii
0
starea bitului 0
200
1
starea bitului 1
201
2
starea bitului 2
202
3
starea bitului 3
203

Starea oricrui bit poate fi vizualizat utiliznd instruciunea LOD R.

Registrul de deplasare are n total 128 de bii, numrul de instruciuni SFR


ce se pot forma fiind facultativ. Ordinea de programare trebuie s fie:
intrare de reset, intrare impuls (de tact), intrare de date, instruciune SFR.
Instruciunea SFR este o instruciune pe dou adrese. La prima adres se
seteaz (programeaz) numrul bitului iniial (de la 0 la 127), iar la a doua
adres numrul de bii constitueni (de la 1 la 128).
Starea ultimului bit poate fi vizualizat ulterior instruciunii SFR.

Opional, un bit poate fi activat (SET) sau inactivat (RST),


utiliznd instruciunile SET sau RST.

Instruciunile SET i RST sunt active n funcie de starea

intrrilor ce le condiioneaz.

Instruciunea SFR NOT (registru de deplasare n sens descresctor)


Adres
0
1
2
3
4
5
6
7
8
9
10
11

Instruciune
LOD
LOD
LOD
SFR N
OUT
LOD
OUT
LOD
OUT
LOD
OUT

R
R
R

Data (operand)
Comentariu
1
2
3
20
ultimul bit
7
configuraie pe 7 bii
200
21
(A) starea bitului 21
201
23
(A) starea bitului 23
202
25
203

Un registru de deplasare bidirecional poate fi realizat combinnd cele dou


posibiliti: SFR i SFR N.

Automatul programabil TSX 17-20 are doar 4 registre, cu mai


puine faciliti dect automatul programabil FA-1J. Structura bloc
i funciile acestor registre sunt prezentate n figura urmtoare.
Fiecare registru prezint cte trei intrri (R, I i O) i respectiv cte
dou ieiri (F i E).

Registrele acestui automat programabil au doar funcia de stocare


a datelor.

Aplicaie. Utilizarea registrelor de deplasare - controlul unui manipulator simplu


Fie un manipulator simplu, cu o structur cinematic TT, cu dou cuple de translaie, pe
orizontal i respectiv pe vertical, care trebuie s realizeze urmtorul ciclu funcional:

Micrile orizontale i verticale sunt realizate prin acionri electro-pneumatice (cilindri


pneumatici i electrovalve).
Fiind n poziia iniial (reprezentat prin o), cnd se apas un push-buton "Start",
manipulatorul ncepe ciclul funcional:
*coborre (1) pn se realizeaz limitatorul de poziie "jos";
*ridicare (2) pn se realizeaz limitatorul de poziie "sus";
*deplasare dreapta (3) pn se realizeaz limitatorul de poziie "dreapta";
*coborre (4) pn se realizeaz limitatorul de poziie "jos";
*ridicare (5) pn se realizeaz limitatorul de poziie "sus";
*deplasare stnga (6) pn se realizeaz limitatorul de poziie "stnga".

Pentru a simplifica puin lucrurile nu a fost luat n considerare n


acest ciclu funcional i posibila acionare a dispozitivului de
prehensiune (gripper).

n figura anterioar este prezentat alocarea variabilelor de


intrare i respectiv de ieire n cazul utilizrii automatului
programabil FA-1J.

Fiecrei stri (S0...S7) din diagrama Grafcet i se va aloca o celul


(un bit) dintr-un registru (R0...R7) de deplasare n sens cresctor,
utilizat cu instruciunea specific SFR. Condiia de resetare a

registrului va fi dat sau de butonul Reset sau de R7. Variabila de


impuls pentru deplasarea informaiei din registru va fi dat de:
impuls = R0 Start + R1 jos + R2 sus + R3 sus + R4 jos + R5 sus + R6 stnga

Variabila de intrare "data" pentru registru va fi:

data = sus stnga

Diagrama ladder pentru aceast aplicaie va arta astfel:

Adresa
0
1
2
3
4
5
6

Instruciune
LOD
OR
R
OUT
LOD
R
AND
LOD
R
AND

Data
2
7
500
0
1
1
4

Adresa Instruciune
7
OR
LOD
8
LOD
R
9
AND
10
OR
LOD
11
LOD
R
12
AND
13
OR
LOD

Data

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

LOD
AND
OR
LOD
AND
OR
LOD
AND
OR
OUT
LOD
AND
ANDN
ANDN
ANDN
ANDN
ANDN
ANDN
ANDN
OUT

4
4

34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

502
0
500
501
502
0
7
0
200
1
4
201
2
5
202
3
203
6
204

R
LOD
R
LOD
R

5
3
6
6

LOD

R
R
R
R
R
R
R

501
3
6
0
1
2
3
4
5
6
502

LOD
SET
LOD
LOD
LOD
SFR
LOD
OUT
LOD
OR
OUT
LOD
OR
OUT
LOD
OUT
LOD
OUT
END

R
R
R
R

R
R

2
3
3
5

4.4. Funcii de prelucrare de cuvnt


Toate operaiile din unitatea central a unui automat programabil
sunt realizate n sistemul binar. n conducerea multor procese,
obligatoriu, atunci cnd intervin mrimi vectoriale (pe cuvnt),
este nevoie i de implemetarea unor funcii aritmetice, precum
adunarea, scderea, compararea, conversia etc. Atunci cnd este
necesar operarea cu variabile din sistemul zecimal, este necesar
i conversia binar BCD ("binary-coded-decimal").
De exemplu, numrul zecimal 173 apare scris n binar, respectiv
n BCD astfel:

(10101101)2 127+125+123+122+120 = 128+32+8+4+1 = (173)10

Funciile de prelucrare de cuvnt ce pot fi implementate de


automatele programabile sunt: transfer de date, conversii binar-BCD
i BCD-binar, adunarea, scderea, nmulirea, mprirea,
comparaii, rdcin ptrat, funcii logaritmice (ln, log), funcii
trigonometrice (sin, cos, tan, asn, acs, atn), funcia exponenial etc.
Automatul programabil FA-1J este un automat programabil ce
permite att operarea la nivel de bit, ct i la nivel de cuvnt. Acest
automat programabil prezint instruciuni de baz ce permit
operarea cu operanzi de 1 bit ("0" sau "1" logic) ca de exemplu
LOD, AND, OR, SET, RST, CNT, SFR etc., dar prezint i
instruciuni speciale (FUN) ce permit operarea cu operanzi de 8 sau
16 bii.

Pentru operarea pe cuvnt, acest automat programabil prezint 2


registre de date (registre de lucru) DR0 i DR1, pe 16 bii, precum i
alte registre de date (DR2, DR3, ... , DR99) ce servesc la memorarea
datelor. n total FA-1J prezint 100 registre de date.
Alocarea variabilelor pentru aceste registre este:
DR0 800
DR1 801
DR2 802
...................................

DR99 899
Registrele de lucru DR0 i DR1 pentru operarea pe cuvnt joac un
rol similar acumulatorului pentru operarea pe 1 bit.
Pentru operarea pe cuvnt numrtoarele CNT0, ..., CNT46 sunt
recunoscute ca 900, ..., 946.

n general instruciunile pentru operarea pe cuvnt apar astfel ntr-o


diagram ladder:

unde: a - indic tipul operaiei;


b = 1 - desemneaz o variabil de tipul: intrare, variabil
de memorie, CNT, TIM, DR;
b = 2 - desemneaz o constant sau o presetare extern;
c - indic o constant sau un operand numeric.
Instruciunile pe cuvnt sunt executate condiionat de o variabil de
un bit ce se ncarc n acumulator (dac aceast variabil este "1"
logic, operaiile pe cuvnt vor fi executate, altfel nu).

De aceea acestea apar astfel ntr-o diagram ladder:

Observaie. Pentru conversiile binar-BCD i BCD-binar nu apare


dect o instruciune FUN 147.
Principalele instruciuni pe cuvnt sunt:

nu execut nici o operaie;

conversie a valorii BCD din DR0 ntr-o valoare n binar,


rezultatul se nscrie tot n registrul DR0;

conversie a valorii n binar din DR0 ntr-o valoare BCD,


rezultatul se nscrie tot n registrul DR0;

comparare ntre coninutul lui DR0 i un operand indicat prin cea


de-a doua instruciune FUN, operand ce poate fi un registru DR,
CNT, constant, etc.
n urma comparaiei se realizeaz urmtoarele:
(DR0) > operand implic trecerea variabilei 710 n "1" logic (ON)
(DR0) = operand implic trecerea variabilei 711 n "1" logic (ON)
(DR0) < operand implic trecerea variabilei 712 n "1" logic (ON)

adunare, (DR0) (DR0) + operand + (CY)


unde CY = transport, dat de variabila 707
Noul transport se memoreaz din nou prin variabila 707.

scdere, (DR0) (DR0) - operand - (BR)


unde BR = mprumut, dat de variabila 707
Noul mprumut se memoreaz din nou prin variabila 707.

nmulire, (DR1) i (DR0) (DR0) operand


DR1 - cei 4 digii superiori; DR0 - cei 4 digii inferiori

mprire, (DR0) : operand; ctul n DR0, restul n DR1

ncrcare date (16 bii); (DR0) operand

ncrcare date (8 bii); (DR0) operand

ncrcare date (16 bii); (DR1) operand

memorare date (16 bii); operand (DR0)

memorare date (8 bii); operand (DR0)


Automatul programabil FA-1J prezint cteva variabile speciale,
printre care:
707 - memoreaz bitul de transport sau mprumut pentru calculul efectuat;
710, 711, 712 - memoreaz rezultatul comparrii (prezentat anterior);
714 - genereaz impulsuri de tact cu perioada de 1 secund;
715 - genereaz impulsuri de tact cu perioada de 100 msec.;
717 - varabila este "1" logic (ON) att timp ct automatul funcioneaz (este
n "RUN").

Exemplu. Realizarea unui program prin care coninutul unui numrtor


s fie vizualizat pe un sistem de afiare (tip 7 segmente).
Fie:
CNT1 (901) - numrtorul al crui coninut va fi vizualizat;
10 - intarea de reset pentru numrtorul CNT1;
714 (sau 715) - intrarea de numrare pentru numrtor;
717 - variabila care va condiiona efectuarea operaiilor pe cuvnt;
200, 201, .... - ieirile la care se va conecta sistemul de afiare;
25 - valoarea pn la care va numra numrtorul.
Se vor folosi ca operaii pe cuvnt:
FUN 147 / 10 - ncrcarea n DR0 (800) a unui operand;
FUN 147 / 2

- conversia din binar n BCD;

FUN 147 / 20 - memorare (transfer) date din DR0 la un operand.

Diagrama ladder pentru realizarea


acestui program arat astfel:

Programul, scris ca o succesiune de


instruciuni ce se introduc de la consola
de programare, va arta astfel:
0
LOD
10
1
LOD
714
definirea numrtorului
2
CNT
1
3
25
-----------------------------------------------------------------------4
LOD
717
se ncarc n acumulator
variabila 717; dac este "1" logic operaiile
urmtoare vor fi efectuate, altfel nu
-----------------------------------------------------------------------5
FUN
147
se ncarc n
6
10 registrul de lucru DR0 (800)
7
FUN
147
coninutul
8
901 numrtorului CNT 1 (901)
--------------------------------------------------------------------------9
FUN
147 se realizeaz conversia din
10
2 binar n BCD a coninutului
registrului DR0; rezultatul se nscrie tot n registrul DR0
--------------------------------------------------------------------------11
FUN
147
se transfer
12
20
coninutul registrului
13
FUN
147
DR0 la ieirile 200, 201,....
14
200
--------------------------------------------------------------------------15
END

Exemplu. S se realizeze necondiionat operaia de adunare


ntre valorile 12 i 3, iar rezultatul s fie vizualizat pe un sistem
de afiare (tip 7 segmente).
Se ncarc n registrul DR0 valoarea constant 12, iar apoi se
realizeaz adunarea cu memorarea rezultatului tot n registrul

DR0. Pentru afiarea pe un sistem tip 7 segmente se face


conversia din binar n BCD a coninutului registrului DR0 i
apoi se transfer coninutul acestuia ctre ieirile 200, 201, ...

Operaiile pe cuvnt sunt executate necondiionat, imediat dup


startarea rulrii programului, datorit faptului c variabila 717
este ON (1 logic) imediat ce automatul programabil funcioneaz

(este n "RUN").

Pentru a se realiza vizualizarea rezultatului pe un sistem de


afiare (tip 7 segmente) s-a realizat urmtorul circuit:

4.5. Controlul PID pentru procesele continue


Automatele programabile pot conduce att procese discrete ct i procese
continue atunci cnd au n componen module de intrare/ieire analogice
sau module de control PID.
Printre exemplele de procese continue ntlnim procesele chimice,
procesele de rafinare, mainile de producere a hrtiei cu ieirea continu
pe role a hrtiei etc. Controlul discret (on-off) nu este eficace sau destul de
rapid pentru controlul proceselor continue. Sistemul de control cel mai des
utilizat n procesele continue este controlul PID (proporional-integratorderivativ). Controlul PID poate fi realizat prin sisteme de control
mecanice, hidraulice, pneumatice sau electronice, precum i prin automate
programabile dotate cu funcii sau module PID.
Multe automate programabile de mrime medie i toate automatele
programabile mari au funcii de control PID ce sunt capabile s realizeze
efectiv controlul proceselor continue.

Principiile controlului PID


Controlul PID (proporional-integrator-derivativ) este un control
eficace pentru procesele continue, realiznd dou sarcini de control.
n primul rnd, controlul PID menine ieirea la un nivel stabilit,
chiar dac variaia parametrilor procesului sau perturbaiile externe
produc modificarea ieirii procesului fa de regimul de funcionare
dorit. n al doilea rnd, controlul PID modific prompt i precis
ieirea procesului de la un punct de funcionare la un alt punct de
funcionare (de la o referin la alta).

Controlul proporional corecteaz deviaia ieirii procesului fa


de referina prestabilit. Corecia este proporional cu mrimea
erorii. Singur controlul proporional nu lucreaz eficient, deoarece
dac procesul nu are caracter integrator, eroarea staionar este
nenul. De aceea se adaug controlul integrator.

Controlul integrator pentru eliminarea erorii dezvolt un semnal

proporional cu integrala din eroare. Semnalul integrator adugat celui


proporional reduce eroarea dintre ieire i referin. De aceea dup un
interval de timp deviaia ieirii procesului de la referin este redus la
minim. Totui timpul n care se realizeaz corecia poate fi relativ mare.

Pentru micorarea timpului de rspuns, la controlul PI se adaug

controlul derivativ. Controlul derivativ produce un semnal de corecie pe


baza derivatei semnalului eroare. O modificare mai rapid de la referin
(derivat mai mare) presupune un semnal de corecie mai mare. Acesta

produce o aciune mai rapid dect un control PI. Aciunea derivativ are
efect doar n regim dinamic, nu i n regim staionar.

Pentru a ilustra cteva evoluii posibile ale rspunsului dat de un sistem


condus PID, se consider un sistem electromecanic format dintr-un bra
robotic cu o articulaie de rotaie, cruia i se d ca referin o poziie
ungiular (de exemplu 600) la momentul t = 2 sec.

Rspunsul ideal ar fi ca braul robotic s se poziioneze instantaneu n


poziia dorit, cea dat de referin (ca n figura urmtoare).

n continuare sunt prezentate cteva rspunsuri posibile n funcie de tipul


controlului.
Curba urmtoare reprezint un rspuns idealizat care dureaz 3 secunde.

Urmtoarea figur prezint un rspuns aperiodic, n care mrimea de ieire


nu atinge referina (eroare staionar nenul).

Curba urmtoare prezint un rspuns oscilant amortizat, cu atingerea unei


poziii unghiulare n apropierea referinei dar dup ce oscileaz cteva
secunde.

Curba urmtoare prezint un rspuns amortizat ce atinge poziia de


referin exponenial ntr-un timp foarte lung.

Curba urmtoare prezint un rspuns oscilant neamortizat, n jurul poziiei


de referin.

Nici unul dintre rspunsurile anterioare nu este mulumitor din punct de


vedere al performanelor, preciziei i poziionrii rapide, comparativ cu
rspunsul ideal. Controlul PID ne d cel mai bun rspuns posibil, dar nu
perfect.

Module PID
Automatele programabile actuale fie pot implementa soft controlul de tip
PID, fie au module separate de control PID. Deoarece algoritmii necesari
pentru generarea funciilor PID sunt destul de compleci, lucru ce nseamn
o sarcin important pentru microprocesorul unitii centrale, este de
preferat utilizarea modulelor PID separate. Acestea au propriul procesor
specializat, care implementeaz algoritmii necesari i astfel degreveaz
microprocesorul central de operaii consumatoare de timp.
Unitatea central a automatului programabil trimite un semnal de referin
ctre modulul PID. Modulul este constituit din trei elemente: circuitul
proporional, circuitul integrator i circuitul derivativ. Circuitul proporional
creeaz un semnal de ieire proporional cu diferena dintre valoarea
msurat i referina dat. Cicuitul integrator produce o ieire proporional
cu integrala matematic a erorii. Circuitul derivativ creeaz o ieire
proporional cu derivata semnalului eroare.

Traductorul de intrare
genereaz un semnal de
ieire de la procesul condus
i
transmite
valoarea
msurat modulului PID.
Diferena dintre referina
venit de la unitatea
central a automatului
programabil i mrimea
msurat venit de la
traductor este semnalul de
eroare. Semnalul furnizat
de modulul PID va
constitui
semnalul
de
comand ctre elementul de
acionare (de execuie) din
proces
(fie
printr-o
comand direct ctre o
electrovalv, motor etc., fie
printr-un amplificator de
putere).

n funcie de tipul automatului programabil, modulele PID pot fi


programate fie prin diagrame ladder (predomin), fie prin
instruciuni speciale. n cazul diagramelor ladder controlul PID este

apelat printr-o funcie special, cu parametrii definii de utilizator.


n figura urmtoare este prezentat o linie din diagrama ladder
pentru definirea elementelor controlului PID pentru un automat
programabil GEC GEM 80.

n anumite variante de programare se ofer un meniu de ntrebri i


opiuni referitoare la parametrii buclei de reglare PID. Opiunile
tipice presupun: tipul controlului (P, PI, PD sau PID), adresele de
intrare i de ieire pentru valoarea msurat respectiv pentru
comand, parametri de amplificare, constantele de timp, rata de
eantionare etc.
Unele modulele PID conin o memorie buffer pentru stocarea datelor
referitoare la performanele controlului i starea procesului condus.

Aceste date pot fi accesate de ctre unitatea central a automatului


programabil pentru a fi utilizate n program, pentru alarme sau
pentru a fi transferate ctre alte bucle de reglare (control) ale
aceluiai proces.

Intrri:
* intrarea de validare ("enable");
* Manual/Auto, intrare stabilire mod manual sau
mod automat.
Ieiri:
- P, ieirea de comand
- Q, limita de ieire utilizat logic
Parametri funcionali:
* PID number, numrul de identificare al
blocului PID;
* Input, registrul n care este memorat variabila
msurat din proces;
* Output, registrul n care este memorat ieirea
algoritmului (de comand);
* Setpoint, registrul n care este memorat
referina;
* Error, registrul n care este memorat valoarea
erorii (Setpoint- Input);
* PGain, registrul n care este memorat factorul
proporional de amplificare;
* IGain, registrul n care este memorat factorul
integrator de amplificare;
* DGain, registrul n care este memorat factorul
derivativ de amplificare;
* Deadband, registrul n care este memorat
limea zonei de saturaie;
* Change-max, registrul n care este memorat
rata maxim de schimbare admis.

n continuare va fi exemplificat o alt


manier de implementare a unei
funcii PID printr-un modul PID.

Valorile parametrilor blocului PID pot fi programate ca i constante


sau ncrcate din alte registre.
Trebuie neles c un automat programabil modular va realiza un
control discret utiliznd intrri/ieiri discrete convenionale, de
exemplu programarea ladder i, de asemenea, va realiza un control
continuu (analogic) prin intrri/ieiri analogice sau module PID.
Algoritmii de control PID utilizai n modulele specifice ale
automatelor programabile sunt rapizi, precii i uor de configurat
pentru cele mai multe aplicaii. Aria uzual de aplicaii include
controlul vitezei unui motor, reglarea presiunii, controlul
temperaturii, managementul energetic.

4.6. Funcii speciale


Anumite automate programabile prezint i alte funcii speciale.
De exemplu, automatul programabil TSX 17-20 prezint i
blocurile funcionale: monostabilul i programatorul ciclic.

4.6.1. Monostabilul
Descrierea funcional
Funcia monostabil
permite generarea unui
impuls de o anumit durat delta:
delta = Mi ,P Mi ,B

unde:
i = 0 ... 7 este unul din cele 8 monostabile ale automatului
TSX 17-20;
P = 0 ... 9999 este constanta de presetare;
B = 10ms, 100ms, 1s, 1min este baza de timp.
R (running) - ieire:
R = 1 - cnd valoarea curent este diferit de 0
R = 0 - n rest

Observaii:
O1
diagrama temporal de funcionare a unui monostabil
este urmtoarea:

O2
programarea unui monostabil este asemntoare cu
cea a unui temporizator, cu deosebirea c n locul simbolului [T] se
alege [M].

Aplicaie. Generarea unei comenzi de o anumit durat.


S se programeze un impuls de 10 sec. la declanarea unei intrri.

4.6.2. Programatoare ciclice


Descriere funcional
Avnd un principiu de funcionare similar "programatorului cu
came", programatorul ciclic permite executarea de secvene
prealabil definite ntr-un anumit numr L de pai adresabili de la
0 la L-1 (L mai mic sau egal cu 16). Fiecrui pas i se asociaz una
sau mai multe comenzi care sunt executate n momentul cnd
pasul este activ.
Automatul TSX 17-20 are 8 programatoare ciclice adresate prin
Di, i = 0 ... 7.

Reprezentarea grafic i funciile unui programator ciclic:


L - numrul de pai (1 L 16);
Di, S - cuvnt cuprins ntre 0 i 15 i conine
numrul pasului activ. Acesta poate fi citit, comparat
sau scris prin transferul imediat al unei valori;
Di, V - cuvnt care conine durata pasului curent.
Valoarea lui evolueaz de la 0 la 9999 simultan cu
nceputul fiecrui pas. Acest cuvnt poate fi citit,
comparat dar nu poate fi scris;
TB - baza de timp - poate fi: 10 ms, 100 ms, 1s, 1 min;
R (Reset) - prin aceast intrare, coninutul cuvntului Di, S este adus la zero
(programatorul va rencepe de la pasul zero);

U (Up) - pe frontul ridictor al acestei intrri programatorul ciclic avanseaz un pas i


genereaz toate comenzile corespunztoare noului pas;
F (full) - bitul asociat acestei ieiri este 1 atunci cnd ultimul pas al programatorului este
activ (bitul asociat Di,F poate fi testat: Di, F = 1 dac Di, S = L - 1);

Di, Wj - este un cuvnt de 16 bii al programatorului Di care definete starea biilor


asociai cnd pasul j este activ. Aceste cuvinte pot fi citite, comparate dar nu pot fi scrise
dect n modul de lucru "programare" al automatului.

Observaii:
O1 durata fiecrui "pas" al programatorului poate fi
temporizat. Astfel, din momentul n care un "pas" devine activ, valoarea
curent Di, V este incrementat cu o unitate n funcie de impulsul dat de
baza de timp programat (Di, V evolueaz de la 0 spre 9999). Prin
utilizarea cuvntului Di, V se poate defini durata "pasului" curent. Acest
cuvnt este adus la zero la fiecare schimbare de pas.
O2 trecerea dintr-un anumit pas se poate face n oricare altul
(nainte sau napoi). Pentru aceasta, trebuie scris valoarea pasului dorit
n cuvntul Di, S.
O3 dac prin program se execut un salt peste reeaua n care a
fost programat programatorul ciclic, acesta nu provoac aducerea n zero
a comenzilor asociate. Dac se dorete obinerea unui programator cu un
numr de comenzi mai mare de 16, se vor programa dou programatoare
cu bii de comand diferii, n dou reele diferite dar avnd aceleai
intrri de comand.

Aplicaie. S se realizeze un automat ciclic care s funcioneze n 4


pai i ale crui comenzi vor fi O0,01, ..., O0,06 (6 comenzi)
activate astfel:
la pasul 0, ieirile 1 i 2 dac butonul ST (start ciclu) este
activ (I0,01);
la pasul 1, ieirile 3 i 4 pentru 4 sec.;
la pasul 2, ieirile 5 i 6 sunt active 8 sec.;
la pasul 3, ieirile de la 1 la 6 sunt active 8 sec.

Soluie. Se alege programatorul ciclic D3. Pentru programarea


duratei din anumii pai se va programa baza de timp la 1 sec. iar
constanta se va pune pe rnd D3, V = 4; D3, V = 6 i D3, V = 8.
Cu intrarea I0,02 se va programa rentoarcerea la pasul zero din
orice alt pas iar cu I0,03 se va trece direct la pasul 3.

Reeaua 3 - compararea

Avansul unui pas al programatorului D3 se face doar dac apare un front cresctor
pe intrarea U astfel:
1 - la nceput, dac una dintre condiiile reelei 3 este adevrat, ceea ce face ca
B0 s treac n 1;
2 - la ciclul de funcionare urmtor trecerea lui B0 n 1 va genera un front
cresctor pe intrarea U i astfel programatorul va face un pas;
3 - bitul B0 este adus la zero i se face un salt la reeaua 1. Acest salt face ca
intrarea U a lui D3 s devin zero (se recopiaz starea lui B0 n U). Aceast
operaie se efectueaz independent de condiiile din reeaua 3 care nc nu este
scrutat;
4 - o nou trecere n 1 a lui B0 n reeaua 3 va genera un nou front cresctor al
intrrii U de la D3.
Cnd se programeaz grafic diagramele ladder, se definesc cuvintele D3, Wj
asociate fiecrui pas astfel:
D3,W0 - 0000000000000011 (la pasul 0 sunt activi biii de comand 1 i 2)
D3,W1 - 0000000000001100 (la pasul 1 sunt activi biii de comand 3 i 4)
D3,W2 - 0000000000110000
D3,W3 - 0000000000111111

4.6.3. Funciile SKIP i MCR


Funciile SKIP (SK) i MASTER CONTROL RELAY (MCR) sunt
dou funcii puternice ale automatelor programabile ce le
implementeaz. Funcia SK permiterea omiterea (ocolirea) unei
poriuni din diagrama ladder. Ieirile i funciile omise rmn n

starea n care au fost n timpul ultimului ciclu program, nainte ca


funcia SK s fie validat.
Unele automate programabile implementeaz funcia SK prin funcii

de tip JUMP, ca de exemplu automatul programabil FA-1J. Acesta


are instruciunile echivalente JMP (jump) i JEND (jump end).

Funcia MCR opereaz similar. Cnd este validat funcia MCR, diagrama
ladder este executat normal. Dac funcia MCR nu este validat, un
numr de ieiri trec "off" (0 logic) iar un numr de funcii sunt blocate.
Automatul programabil FA-1J prezint dou instruciuni pentru
implementarea unei astfel de funcii: MCS (Master control set) i MCR
(Master control reset).

Dac intrarea numrul 5 este "on" (1 logic) diagrama ladder este executat
normal. Dac intrarea 5 este "off " (0 logic) programul A ce urmeaz
instruciunii MCS este inhibat. Astfel, ieirile acestui program vor fi
trecute n "off" i instruciunile acestuia nu vor opera pn ce nu este
executat instruciunea MCR.

Cap. 5. Conducerea
manipulatoarelor robotice cu
automate programabile

5.1. Sisteme de conducere. Funcii


Sistemul de conducere reprezint una din componentele de baz
din structura robotului, performanele sale influennd direct
performanele ntregului robot. Complexitatea sa este variat,
mergnd de la automate simple, realizate n logic cablat, pn la
configuraii de tip calculator multiprocesor.
Sistemul de conducere, aflat sub comanda programului i innd
cont de informaiile furnizate de sistemul de senzori al robotului,
genereaz n mod secvenial setul de comenzi care realizeaz

funciile dorite de acionri i implicit de structurile mecanice.

Se desprind de aici principalele funcii pe care trebuie s le


ndeplineasc sistemul de conducere al unui robot:

programarea

(instruirea)

robotului:

cuprinde

tipul

programrii, limbajul de programare utilizat, tipul i

capacitatea de memorie a programelor;

comanda micrii robotului: cuprinde modurile de

comand, regimurile de micare, simultaneitatea n execuie


a deplasrilor pe diferite direcii (n diferite cuple
cinematice);

comunicaia cu operatorul (prin care se accept comenzi de la


operator pentru stabilirea regimului de lucru al robotului,
intervenii n cazul apariiei unor defecte, efectuarea unor teste sau
se raporteaz spre operator stadiul de execuie al programului,
valorile anumitor parametri considerai critici, apariia unor avarii),
comunicaia cu alte sisteme de conducere de la ali roboi (pentru
implementarea unui anumit flux de materiale n cadrul unei secii
de producie) sau comunicaia cu sisteme ierarhice superioare
(pentru conducere centralizat);
achiziia de date de la sistemul senzorial al robotului,
prelucrarea adecvat a acestora i controlul robotului n funcie de
valorile lor;
diagnoza automat cuprinde prelucrri de date n timp real,
referitoare la starea de funcionalitate a ansamblului robot.

Majoritatea roboilor industriali opereaz n practic n condiii


cunoscute aprioric, funcionnd ciclic n conformitate cu cerinele
tehnologiei impuse. Ca urmare, este posibil sinteza unei conduceri
nominale, a unui control programat, ce implementeaz micarea dorit
pentru o stare iniial particular, considernd c nici o perturbaie nu
afecteaz micarea. Un astfel de control poate fi sintetizat utiliznd
modelul matematic al robotului. De cele mai multe ori, acest model este
destul de complicat, ceea ce impune mprirea lui n mai multe
subsisteme care sunt analizate att separat ct i global. Sinteza acestui
control se realizeaz de obicei off-line, definind mai nti traiectoria de
micare, n conformitate cu cerinele tehnologiei de funcionare ale
robotului i calculnd apoi mrimile de control necesare pentru
acionarea acestuia. n timpul funcionrii, buclele de comand i
control se nchid prin utilizarea informaiilor furnizate de sistemul
senzorial al robotului.

Gradul de dificultate al operaiilor executate de robot i criteriile

de performan impuse n exploatare determin complexitatea


sistemului de conducere i modalitile de implementare
tehnologic. Una dintre acestea o reprezint utilizarea automatelor

programabile.

5.2. Utilizarea automatelor programabile


n conducerea roboilor industriali

Utilizarea automatelor programabile are n vedere eliminarea n ct mai


mare msur a structurilor logice cablate i nlocuirea acestora cu
structuri logice standard programabile, de tipul memoriilor
semiconductoare, reelelor i secveniatoarelor logice programabile,
microprocesoarelor i circuitelor specializate compatibile cu acestea.
Conducerea proceselor industriale, inclusiv a roboilor industriali, se
realizeaz pe baza unui program aflat n memoria automatului
programabil, program ale crui instruciuni sunt executate ciclic, ceea ce
determin o simplificare considerabil a structurilor logice interne i
evit, n cele mai multe cazuri, introducerea de sisteme de ntrerupere
prioritare. Frecvena de baleiaj este relativ mare n comparaie cu
constantele de timp ale procesului (durata ciclului de baleiaj depinde de
mrimea programului, fiind de regul cuprins ntre 4 i 150 msec.) ceea
ce permite luarea n consideraie a evenimentelor imediat dup ce
acestea au avut loc.

Avnd n vedere aspectele prezentate, referitoare la structura i


modul de funcionare al automatelor programabile reiese c acestea
pot fi utilizate cu succes pentru conducerea roboilor industriali ce
ndeplinesc toate funciile pe care le presupun sistemele de
conducere. Pentru realizarea acestui lucru structura robotului va fi
urmtoarea:
ansamblul mecanic ce cuprinde baza, braul i dispozitivele de
apucare;
sistemul de acionare pentru fiecare cupl cinematic, sistem
care trebuie s cuprind i interfeele de comand ale acestora;

sistemul de senzori interni i externi.

La aceast structur se conecteaz automatul programabil prin


intermediul modulelor de intrare/ieire alese, astfel nct acestea

s fie compatibile cu structura. n acest fel, cu ajutorul


programului aflat n memoria automatului programabil i a
informaiilor preluate de la sistemul senzorial al robotului, pot fi
generate toate comenzile necesare pentru conducerea robotului.

5.3. Conducerea unui robot pneumatic


cu automatul programabil FA-1J
Robotul pneumatic PD5NT este un robot cu caracter didactic,
destinat manipulrii unor corpuri de dimensiuni reduse, ntre un
numr predefinit de poziii din spaiul su de operare.
Elementele de execuie pneumatice sunt comandate cu
servodistribuitoare cu control electric i manual de tip 5/2, ce
permit obinerea a dou poziii staionare pentru fiecare grad de
libertate (cele dou capete de curs), confirmate cu traductoare de
proximitate inductive. Cele dou poziii ale gripper-ului
(=dispozitivul de prehensiune = dispozitivul ce apuc piesele de
manipulat) sunt controlate cu un singur microntreruptor ce
realizeaz conversia presiune/semnal electric.

Schema cinematic a acestui robot este prezentat n figura alturat:

Se consider c robotul pneumatic are o poziie de zero (poziie


iniial), dat de limitatorii a0, b0, c0, d0, e0. Intrrile date de
limitatori pentru automatul programabil FA-1J sunt alocate astfel:
Intrri
Alocare AP

a0
1

a1 b0
2 3

b1
4

c0 c1 d0
5 6 7

d1
10

e0
11

e1
12

A- deschidere gripper
A+ nchidere gripper

a0 = gripper deschis;
a1 = gripper nchis;

Ieirile date de automatul programabil FA-1J pentru comanda


cuplelor robotului sunt alocate astfel:
Ieiri
Alocare AP

A+ A- B+
201 206 205

B207

C+ C- D+ D- E+
200 202 204 210 203

E211

Se presupune c robotul pneumatic deservete o main unealt evacund piesele


pe dou benzi transportoare, avnd urmtorul protocol de funcionare:
robotul se gsete iniial ntr-o stare de ateptare dat de limitatorii de
poziie (a0, b0, c0, d0, e0); evoluia din aceast stare se face atunci cnd
primete un semnal "mu" de la maina unealt;
urmeaz secvena de micri pentru preluarea piesei de la maina unealt:
C+
A+
C-

primele trei piese vor fi puse pe prima band transportoare; secvena de


micri pe care trebuie s o fac robotul este:
E+
C+
ACE urmtoarele trei piese trebuie depuse pe cea de-a doua band transportoare;
pentru aceasta secvena de micri pe care trebuie s o fac robotul este:
B+
C+
ACB depunerea pieselor se va face alternativ, pe rnd trei piese pe prima band
apoi pe rnd alte trei piese pe banda a doua, iari pe rnd trei piese pe prima
band, .a.m.d.

Avnd n vedere acest protocol de funionare, structura cinematic a


robotului, limitatorii robotului i comenzile ce le poate primi s-a
realizat diagrama Grafcet.

S-a presupus c manipulatorul se afl n starea iniial. n caz contrar,


trebuie ca AP s realizeze acest lucru prin generarea unor comenzi de
aducere n poziia iniial.
Pentru implementarea evoluiei condiionate de numrul de piese
manipulate se va utiliza un numrtor (CNT 1) unidirecional care va
fi incrementat de variabila a0 (gripper deschis), adic ori de cte ori
robotul va lsa o pies pe banda transportoare. Odat ce vor fi
numrate 6 piese se va valida o variabil de memorie, 430, ce va fi
folosit la resetarea numrtorului.

Avnd n vedere c automatul programabil FA-1J are pentru


fiecare numrtor cte dou funcii speciale de comparaie, se pot
utiliza acestea pentru implementarea condiiilor "nr. piese < 3" i
respectiv "3 nr. piese < 6".
Astfel pentru CNT 1 se pot utiliza funciile:
FUN 101 = comparaia de coinciden;
FUN 201 = comparaia de inegalitate.
Se va utiliza doar comparaia de inegalitate, rezultatul comparaiei
de inegalitate cu 3 fiind memorat n variabila de memorie 440.

La prima evoluie numrtorul va fi egal cu 0 i se va evolua pe ramura


stng (S0 - S1 - S2 - S3 - S4 - S5 - S6 - S7 - S8 - S9) a ramificaiei SAU.
La ncheierea strii S7, cnd s-a realizat a0, se va incrementa i
numrtorul. Urmtoarele dou evoluii vor avea loc prin aceleai stri i
vor incrementa nc de dou ori numrtorul. La a treia incrementare (cnd
valoarea numrat de CNT 1 devine 3) funcia FUN 201/ 3 va determina
trecerea n 1 logic a variabilei de memorie 440. Aceasta va rmne n 1
logic att timp ct valoarea numrat este mai mare sau egal cu 3. Va trece
n 0 logic doar la resetarea numrtorului, atunci cnd valoarea numrat
devine 0.
Astfel, condiia "nr. piese < 3" va fi variabila 440 negat, iar condiia "3
nr. piese < 6" va fi variabila 440. Prin urmare, dup depunerea primelor 3
piese pe prima band transportoare, variabila 440 trece n 1 logic i
determin evoluia pe ramura din dreapta (S0 - S1 - S2 - S3 - S4 - S10 - S11
- S12 - S13 - S14) a ramificaiei SAU.

Avnd n vedere maniera de implementare a unei stri dintr-un


Grafcet se pot scrie ecuaiile de implementare a fiecrei stri pentru
programarea tip list de instruciuni. Pentru programarea grafic tip

ladder este necesar realizarea acestuia.


Fie urmtoarea codificare pentru strile Grafcet-ului:
Stare
Cod AP
Stare
Cod AP

S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11
400 401 401 403 404 405 406 407 410 411 412 413
S13 S14
415 416

Diagrama ladder va arta ca n figura urmtoare:

S12
414

5.4. Conducerea unui robot pneumatic


cu automatul programabil TSX 17-20
Robotul pneumatic care urmeaz a fi condus cu un automat programabil
TSX 17-20, are o destinaie didactic, fiind construit sub forma unei
machete. Aceasta este alctuit din elemente pneumatice i
electropneumatice, de tip Telemecanique, care sunt utilizate n
automatizarea proceselor industriale. Din punct de vedere funcional,
macheta poate fi descompus n ase module care au urmtoarele roluri:
1 - rotaia manipulatorului;
2 - deplasarea pe vertical a manipulatorului;
3 - deplasarea pe orizontal a manipulatorului;
4 - nchiderea/deschiderea gripper-ului;
5 - presarea piesei de lucru;
6 - evacuarea piesei de lucru dup ce a fost presat.
Fiecare modul are cte un element de execuie pneumatic (cilindru),
comandat cu servodistribuitor de tip 4/2 cu control electric. Pentru fiecare
acionare exist dou poziii stabile de lucru fixate prin intermediul unor
limitatoare.

n tabelul urmtor se vor prezenta notaiile existente pe machet pentru


comenzile generate de automatul programabil pentru fiecare modul
funcional, limitatorii asociai sensurilor de deplasare i corespondena cu
canalele de intrare/ieire de la automatul programabil.
Modul
funcional
Rotaie
Deplasare
vertical
Deplasare
orizontal
Deschidere
gripper
Presare
Evacuare

Comand
Avans(+)
Retragere(-)
Notaie Cod Notaie
Cod
R+
O0,3
RO0,4
H+
O1,0
HO1,1
T+

O0,1

OP
M
E

T-

O0,2

Limitatori
Avans
Retragere
Notaie
Cod
Notaie
Cod
r1
I0,3
r0
I0,4
h1
I1,0
h0
I1,1
t1

I0,1

t0

I0,2

O0,7

s0

I0,10

s1

I0,9

O0,5
O0,6

m1
e0

I0,5
I0,7

m0
e1

I0,6
I0,8

Observaie. Comanda primelor trei module este realizat cu distribuitoare


bistabile care necesit cte dou ieiri, iar comanda celorlalte trei este
realizat cu distribuitoare monostabile care necesit cte o ieire de la
automatul programabil.

n figura urmtoare este prezentat dispunerea elementelor de


acionare (cu notaiile pentru comenzi, sensuri de deplasare i
limitatoare) din cadrul machetei robotului manipulator.

Pe lng cele ase module prezentate anterior, macheta


conine un panou operator similar celor care exist n
instalaiile de automatizare. Pe acest panou se afl
dispuse cteva tipuri de elemente utilizate n astfel de
cazuri:
un buton general de oprire (B5) n caz de avarie,
aa-numita "ciuperc";
3 becuri (L1, L2, L3), asemntoare celor utilizate
pentru semnalizrile optice ale unor mrimi
considerate mai importante n funcionarea instalaiei;
un comutator (C1) cu dou poziii, asemntor
celui utilizat pentru fixarea regimului de lucru
(manual / automat) ;
un comutator BCD (C2), cu care se pot selecta 10
intrri prin utilizarea doar a patru canale de intrare din
automat;
un indicator optic (L4) tip 7 segmente pe care se
pot afia cifrele hexazecimale;
4 butoane (B1, B2, B3, B4) pentru generarea unor
comenzi ca de exemplu: start, stop, alimentarea cu aer
comprimat.

Notaie
L1
L2
L3
L4
C1
C2
B1
B2
B3
B4
B5

Semnificaia dat pe machet


Stare iniial
Sub presiune
Sub tensiune
Stare activ
Auto/Manual
Comutator selecie
Stop
Start
Start presiune
Start ciclu
Oprire avarie

Canal I/O alocat


O 1,7
O 1,6
O 0,0
O1,2 O1,3 O1,4 O1,5
I 1,6 I 1,7
I1,2 I1,3 I1,4 I1,5
I 1,10
I 1,12
I 1,8
I 1,9
I 1,11

Exemplu de conducere
Se
propune
realizarea
i
implementarea unui program care
va
conduce
robotul
dup
urmtorul ciclu funcional:
1) se consider urmtoarea
stare iniial: gripper deschis,
bra rotit la stnga, cobort i
retras;
2) apucarea unei piese
(nchidere gripper);
3) ridicare;
4) avans;
5) depunere pies (deschidere
gripper);
6) retragere;
7) revenire n starea iniial i
reluarea ciclului.
Se alctuiete diagrama Grafcet
care descrie ciclul funcional de
mai sus.

Avnd n vedere notaiile utilizate n cadrul


machetei i corespondena lor cu canalele de
intrare/ieire ale automatului programabil,
diagrama de mai sus poate fi transcris ca n
figura alturat.
Acionarea gripperului se face cu un
distribuitor monostabil, ceea ce conduce la
urmtoarele concluzii:
lips comand OP (starea 1) <=>
gripper nchis;
prezen comand OP <=> gripper
deschis.
Din acest motiv, pe toat perioada n care
gripperul trebuie s fie deschis (strile 4, 5, 6,
0), va exista comanda OP. Aceeai situaie se
ntlnete i la celelalte dou module
funcionale cu acionare prin distribuitoare
monostabile (presare, evacuare).

Pasul urmtor n implementarea conducerii l reprezint introducerea


programului de lucru n memoria automatului programabil prin
parcurgerea urmtoarelor etape:
E1 - se verific existena conexiunilor dintre consola de programare,
blocul de alimentare i automatul programabil.
E2 - se conecteaz la tensiune automatul programabil i consola,
ateptnd execuia autotestelor din faza de iniializare.
E3 - se selecteaza regimul de programare (PRG) i se alege varianta
SEQ (adic programare grafic n Grafcet);
E4 - utiliznd simbolurile grafice corespunztoare, se introduce
diagrama Grafcet prezentat n figura anterioar;
E5 - se introduc condiiile care implementeaz tranziiile;
E6 - prin programare grafic tip ladder se introduc comenzile din
fiecare stare.

Observaii:
O1 - innd cont de existena panoului operator i de tipul elementelor
pneumatice din machet, s-au utilizat n plus urmtoarele comenzi i
afiaje:
- pornirea alimentrii cu aer comprimat se realizeaz cu butonul B3 i se
semnalizeaz cu indicatorul L2;
- dezactivarea n caz de avarii (ciuperca) se face prin ridicarea butonului
B5;
- pornirea se face din starea iniial, moment indicat prin semnalizarea
cu L1;
- pornirea ciclului funcional se realizeaz cu B4, moment indicat cu L3;
- dac n timpul funcionrii se va apsa STOP (B1), ciclul se va
ntrerupe revenindu-se n starea iniial (indicat cu L1) i se ateapt
START (B4).
O2 - Butoanele B1 i B5 sunt active n logic negativ.
O3 - n diagramele (reelele) ladder, comenzile se introduc o singur dat
(se genereaz ntr-un singur loc), dar vor fi condiionate de fiecare stare n
care aceastea trebuie s fie active (de exemplu T va fi condiionat de X0 i
X5; strile se codific prin variabila X).

Avnd n vedere diagrama Grafcet i observaiile de mai sus, se vor


introduce urmtoarele reele ladder:

n acest caz, notaiile B1 i B2 specific variabile binare de


memorie intern (a nu se confunda cu notaia pentru butoanele de pe
panoul operator).
SY 21 este un bit sistem intern prin care se activeaz strile iniiale
din diagramele Grafcet.
n continuare, se va lansa n execuie programul de conducere al
robotului, prin efectarea urmtoarelor operaii:
se conecteaz compresorul de aer;
se conecteaz sursa de +24 V cc pentru alimentarea elementelor
electropneumatice;
se configureaz intrarea I0,0 ca o comanda RUN/STOP prin
utilizarea regimului CNF (de configurare);
se pornete ciclul funcional acionnd comutatorul RUN/STOP
pe RUN i efectund comenzile de la observaia 1 de mai sus.

5.5. Conducerea unui manipulator ntr-un


sistem de testare cu automatul programabil
Festo FPC 103AF

Fie un sistem de testare a pieselor de lucru. Testarea presupune msurarea


unei dimensiuni a piesei. Msurarea este realizat cu ajutorul unui
traductor analogic. Automatul programabil achiziioneaz mrimea
analogic dat de traductorul analogic (o tensiune n voli) i o convertete
ntr-o valoare numeric. Dac valoarea numeric este ntr-un interval
cunoscut, piesa este bun, n caz contrar se consider a fi un rebut.

Sistemul cuprinde un manipulator ce se deplaseaz pe axa


vertical. Acesta primete piese pe care le aduce n poziia de

msurare (poziia de sus dat de limitatorul Ls). Piesa este


msurat. Dac decizia este de pies bun, un piston aflat pe
manipulator avanseaz (pn se realizeaz limitatorul S) i
mpinge piesa pe o band transportoare, care o conduce ctre un
alt punct de lucru. Apoi pistonul se retrage (pn n poziia dat
de limitatorul D). Dac piesa este rebut, manipulatorul revine n
poziia de jos (dat de limitatorul Lj), pistonul avanseaz i
trimite piesa n containerul de rebuturi, apoi se retrage n

ateptarea unei noi piese.

Avnd n vedere protocolul de funcionare prezentat, rezult


urmtorul Grafcet:

Alocrile de variabile sunt urmtoarele:


Intrare
Ls
Lj
D
S
PP

Cod AP
I0.1
I0.2
I0.3
I0.4
I0.6

Ieire
Coborre manip.
Ridicare manip.
Aciune piston
Avans BT

Cod AP
O0.1
O0.2
O0.3
O0.4

Avansul pistonului se face pe comand 1 logic iar retragerea


pistonului pe comand 0 logic. PP este un senzor de prezen
pies.

Fiecare seven din Grafcet este implementat cu instruciunea "Step" a


automatului programabil Festo. Secvena de testare pies S3 va fi realizat n trei
pai (31, 32 i 33) pe durata a dou secunde. n S31 se lanseaz temporizatorul T7
i se seteaz variabila de memorie ("flag") F14.0 (aceasta este alocat canalului
analogic de intrare n tensiune numrul 1). Aducerea acestei variabile n 1 logic
determin citirea variabilei analogice, conversia ei ntr-o valoare numeric i
memorarea acesteia din urm n registrul R50. Relaia ntre valoarea numeric i
cea analogic este:

(valoare analogic + 10)


Secvena S32 va servi la transferul valorii din registrul R50 n registrul R48.
Secvena S33 va servi la compararea valorii din registrul R48 cu valorile limit
cunoscute ale domeniului normal de dimensiuni (n acest exemplu limita minim
este 715, iar cea maxim 807). Dac valoarea citit i convertit este mai mare
dect 807, se seteaz variabila de memorie F0.1. Dac valoarea citit i
convertit este mai mic dect 715, se seteaz variabila de memorie F0.2. Dac
F0.1 sau F0.2 este 1 logic (adic rebut), se evoluez n secvena S7, altfel se
evolueaz n secvena S4.

Programul va arta astfel:


Adres

Instruciune

0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014

STEP 1
IF
THEN LOAD
TO
RESET
RESET
JMP TO
OTHRW JMP TO
STEP 2
IF
THEN RESET
JMP TO
OTHRW SET
JMP TO

Operand

I0.6
V200
TP7
F0.1
F0.2
2
1
I0.1
O0.2
31
O0.2
2

Adres

0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028

Instruciune

STEP 4
IF
THEN JMP TO
OTHRW SET
IF
N
THEN RESET
JMP TO
STEP 5
IF
THEN JMP TO
OTHRW RESET
JMP TO
STEP 6
IF

Operand

I0.4
5
O0.3
I0.3
F14.0
4
I0.3
6
O0.3
5
I0.2

0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053

THEN RESET
RESET
JMP TO
OTHRW SET
SET
JMP TO
STEP 7
IF
THEN RESET
JMP TO
OTHRW SET
JMP TO
STEP 8
IF
THEN JMP TO
OTHRW SET
IF N
THEN RESET
JMP TO
STEP 9
IF
THEN JMP TO
OTHRW RESET
JMP TO
STEP 31

O0.1
O0.4
1
O0.1
O0.4
6
I0.2
O0.1
8
O0.1
7
I0.4
9
O0.3
I0.3
F14.0
8
I0.3
1
O0.3
9

0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077

IF
THEN SET
IF
THEN SET
STEP 32
IF
THEN LOAD
TO
IF
<
THEN JMP TO
STEP 33
IF
THEN RESET
IF
>
THEN SET
IF
<
THEN SET
IF
OR
THEN
JMP TO
OTHRW JMP TO

I0.1
T7
NOP
F14.0
T7
R50
R48
TW7
V100
33
NOP
F14.0
R48
V807
F0.1
R48
V715
F0.2
F0.1
F0.2
7
4

Cap. 6. Interfaarea automatelor


programabile cu procesul condus
Conectarea unui automat programabil la un proces industrial,
instalaie tehnologic sau robot se realizeaz prin intermediul unor
circuite de interfa intrare/ieire ce asigur compatibilitatea n
tensiune i putere a semnalelor transmise. Sistemul de interfa
intrare/ieire conine un numr de module standardizate att n
funcie de:
natura semnalelor furnizate n curent continuu sau alternativ,
de elementele de captare a informaiei din proces (taste, comutatoare,
limitatoare de curs, traductoare cu funcionare continu sau discret .a.)
de nivelurile de tensiune i curent i de gamele de frecven ale acestor
semnale,
ct i n funcie de cerinele particulare impuse filtrrii i izolrii
semnalelor.

Interfaa automatului programabil cu procesul condus este constituit din


sistemul intrrilor i al ieirilor analogice i numerice. Aceste sisteme sunt
cele mai susceptibile de defectare, fiind expuse direct influenelor externe,
caracteristice mediului industrial. Din aceast cauz, n proiectarea
interfeelor de intrare/ieire se recomand msuri de protecie, obinute att
prin:
amplificarea semnalelor,
separarea galvanic a semnalelor din proces n raport cu cele logice,
ct i prin asigurarea unor canale redundante.

Pentru realizarea unor faciliti privind sistemul de adresare a


variabilelor de intrare/ieire, mrimile corespunztoare sunt
organizate pe module, un modul cuprinznd un numr bine precizat
de variabile n corelaie cu dimensiunile magistralelor utilizate i cu
mrimea cmpului de variabile.
Dialogul automat programabil - proces poate fi realizat n dou
moduri:
1) la fiecare nceput de ciclu program sunt achiziionate toate
mrimile de intrare, urmnd execuia programului propriu-zis iar
ulterior generarea tuturor ieirilor determinate n ciclul respectiv;
2) intrrile i ieirile sunt achiziionate sau generate la cerere, n
conformitate cu structura logic a programului.

6.1. Sistemul de interfa pentru intrri

Informaiile scalare (pe bit) de intrare n automatul programabil


sunt reprezentate de o serie de variabile de tipul "tot sau nimic"
ce definesc anumite stri funcionale ale procesului. Aceste
mrimi definesc cmpul de variabile de intrare ce constituie

sursa unor operanzi n prelucrarea ulterioar a informaiei.

Selecia acestor mrimi se obine prin mai multe niveluri de adresare n funcie de
numrul de intrri aplicate i de modul lor de organizare. n figura alturat este
prezentat o schem general de adresare pe dou niveluri pentru intrri pe bit. Cei
n bii ai vectorului de adres sunt defalcai n m i q bii (n = m + q), unde m i q
realizeaz adresarea pe cele dou niveluri de adres. Activarea celor dou linii de
multiplexare este controlat prin semnalele de validare V1 i V2.
Pentru realizarea
compatibilitii electrice cu
magistralele automatului
programabil, semnalele
primare de intrare sunt
prelucrate n circuite
specializate CI. Aceste
circuite asigur adaptarea de
impedan necesar,
separarea galvanic a sursei
primare (traductorul) de
circuitele interne ale
automatului programabil,
formarea semnalului electric
n tensiune la parametrii
acceptai de logica intern a
acestuia etc.

O configuraie de astfel de circuit specializat CI arat astfel:

Acest circuit conine un prim grup de elemente ce asigur detecia


semnalelor pozitive cu o amplitudine suficient de mare (dicteaz
amplitudinea nivelului logic 0 a canalului, deci eliminarea semnalelor
pozitive de amplitudine redus), diodele D i DZ i un circuit de filtrare de
tip trece jos R1, C, R2. A doua parte a circuitului este obinut dintr-un
formator de nivel TTL de tip "trigger Schmitt" ce permite obinerea
caracteristicilor rectangulare i de nivel constant pentru semnalele
prelucrate, eliminnd regimurile tranzitorii. Cele dou pri sunt cuplate
printr-un optocuplor OC ce asigur totodat separarea galvanic fa de
sursa primar.

Sistemul acesta asigur transferul mrimilor de intrare pe magistrala de


date a automatului programabil. Dac prelucrarea logic intern a
automatului programabil este numai de tip scalar (pe bit), magistrala de
date cuprinde o singur linie pe care vehiculeaz informaia respectiv. n
cazul n care procesorul automatului programabil este de tip vectorial,
magistrala cuprinde n mod curent 8 sau 16 linii de date (D0, D1, ... D7 sau
D0, D1, ... D15). Variabilele de intrare de tip scalar sunt preluate de linia D0,
iar vectorul de intrare numeric este transferat n paralel pe cele 8 sau 16
linii ale magistralei de date.
Un proces poate accepta ca variabile de tip scalar (de 1 bit) toate mrimile
generate dup principiul tot sau nimic, adic limitatoare de poziie,
limitatoare de cap de curs, senzori de proximitate, de temperatur, de
nivel, anumii senzori tactili, traductoare de for-moment cu prag etc.
Toate aceste mrimi sunt organizate pe module i sunt conectate direct sau
dup cteva adaptri, la bornele de intrare ale interfeei.

Variabilele pe cuvnt provin direct din traductoarele de msurare absolute


sau din circuitul numeric (numrtorul de impulsuri) asociat msurrii
incrementale. n aceast categorie ar putea fi incluse, de asemenea,

mrimile furnizate de traductoare senzoriale de tip analogic, dup


conversia acestora n mrimi numerice. Ca traductoare ce furnizeaz
mrimi analogice se pot enumera: traductoarele de deplasare de tip

poteniometric, majoritatea senzorilor tactili de tip piele artificial,


traductoarele de for-moment etc.
Exist mai multe tipuri de module de intrri numerice (digitale): 24 V c.c.

(semnal 0 logic 0 ... 5 V, 1logic 13 ... 33 V), 24 ... 60 V c.c. (semnal


0 logic -33 ... 8 V, 1logic 13 ... 72 V), 115 V c.a. (semnal 0 logic
0 ... 40 V, 1logic 85 ... 135 V), 230 V c.a. (semnal 0 logic 0...70

V, 1logic 170...264 V).

6.2. Sistemul de interfa pentru ieiri


Transferul datelor de la automatul programabil spre sistemul de
acionare al procesului sau spre anumite dispozitive (elemente de
execuie) ale instalaiei tehnologice sau ale robotului se realizeaz
prin tehnici de demultiplexare, n paralel, n funcie de numrul de

variabile controlate. Variabilele de ieire furnizate de automatul


programabil sunt fie de tip scalar (pe bit), pentru acionarea unor
circuite de for cu sistem de comand pe poart (tiristoare,
triacuri), a unor relee intermediare, contactoare etc., fie de tip
vectorial (pe cuvnt) pentru controlul unor bucle de reglare din
sistemul de conducere al procesului sau robotului.

n figura alturat este prezentat


un sistem de interfa pentru ieiri
numerice, cu demultiplexarea
paralel a vectorului de adres, cei
n bii de adres fiind segmentai n
dou grupe cu m i respectiv q
bii. Fiecare segment servete
pentru adresarea
demultiplexoarelor DMUX1,
DMUX2, funcionarea n paralel a
acestora permind selecia
simultan a cilor de activare
pentru circuitele ieirilor scalare i
vectoriale.
Informaia de ieire vehiculat pe magistrala de date este nscris n circuite de
memorie de tipul bistabilelor D (componentele scalare cuplate la linia D0) i n
registre de ieire (componentele vectoriale). Activarea funciei de scriere n aceste
componenete se obine prin controlul semnalului de tact cu circuitele
demultiplexoare i prin semnalele de validare V, emise de magistrala de control.

Cuplarea sistemului de interfa la proces se realizeaz prin


circuite de ieire specializate CE ce permit adaptarea electric cu
sistemul de acionare al procesului, realizarea nivelului de putere
solicitat de circuitele de for precum i separarea galvanic a
etajelor.

Circuitul este construit sub forma unui etaj amplificator de tip


Darlington la care comanda este dat printr-un element optocuplor
OC. n ieirea amplificatorului este montat sarcina propriu-zis,
protejat la supratensiuni printr-o diod de protecie D.

Aceste configuraii de circuite sunt utilizate de obicei la transferul


variabilelor de tip scalar (pe bit). Informaiile vectoriale sunt transferate
direct n circuitele de control numeric, forma acestora fiind compatibil cu
sistemele de prelucrare utilizate n buclele de conducere numeric.
Ansamblul acestor mrimi definete cmpul variabilelor de ieire scalare
sau vectoriale. n majoritatea programelor de conducere, aceste mrimi
sunt generate la sfritul unor operaii logice sau aritmetice i marcheaz
de obicei finalizarea unor secvene funcionale. n unele cazuri, prelucrarea
logic executat ntr-o anumit faz necesit apelarea unor variabile de
ieire determinate ntr-o faz anterioar. Pentru a facilita aceste operaii,
unele automate conin o memorie suplimentar (RAM) n care se nscriu
valorile ieirilor simultan cu nscrierea n circuitele de ieire. Se obine
astfel n memorie o imagine a mrimilor de ieire ce poate constitui o surs
pentru operanzii implicai n programele automatului programabil.

Exist mai multe tipuri de module de ieiri numerice (digitale):


ieiri pe tranzistoare cu colectorul n gol, 5...24 V c.c./0.1 A pn la
2 A; ieiri pe triace, 110V/220V c.a./ pn la max. 4A; ieiri pe

relee, 21...27 V c.c. sau 85 ... 264 V c.a./ pn la max. 4 A.

6.3. Module I/E analogice


Muli senzori i multe traductoare genereaz semnale analogice, ca
de exemplu pentru msurarea deplasrii, presiunii, debitului,
vitezei, vibraiilor etc. Aceti senzori i aceste traductoare se pot
conecta la un automat programabil ce prezint module de I/E
analogice. Un semnal analogic presupune un semnal cu o
amplitudine variabil i/sau frecven variabil.
Similar, multe elemente de execuie se conduc prin semnale
analogice, ca de exemplu un servomotor de c.c. sau un dispozitiv
de nclzire.
Modulele de intrri/ieiri analogice pot fi de dou feluri:
cu I/E n curent (uzual 2-10 mA, 4-20 mA, 10-50 mA);
cu I/E n tensiune (uzual 0-5 V c.c., 0-10 V c.c., 2,5 V c.c,
5 V c.c., 10 V c.c.).

Un modul de intrri analogice presupune conversia semnalului


analogic de intrare ntr-o valoare numeric (pe un numr de bii, de
exemplu 8 sau 16), la anumite intervale de timp (prin eantionare).

Valorile numerice pot fi interpretate i utilizate apoi de ctre


unitatea central a automatului programabil n operaii matematice
dictate de programul utilizator.

Eantion
1
2
3
4
5
6

Intrare analogic (mV)


190
141
88
109
202
178

Cod pe 8 bii (D7...D0)


10111110
10001101
01011000
01101101
11001010
10110010

Operaia de generare a unei iesiri analogice presupune operaia de


conversie numeric analogic. Semnalul analogic obinut poate fi apoi
eventual amplificat i filtrat.
n mod tradiional, un sistem de control ce proceseaz astfel de
semnale analogice este un sistem de control analogic (continuu),
implicnd amplificatoare operaionale i alte circuite analogice pentru
a procesa semnalele respective. Utilizarea convertoarelor A/N i N/A
permite i unui automat programabil s proceseze informaia
coninut n aceste semnale.

Cap. 7. Interconectarea
automatelor programabile

n ultimii ani a crescut importana comunicaiilor dintre echipamentele


industriale i aceast tendin va continua n scopul creterii productivitii
i eficienei economice. Astfel, diferite echipamente independente cum ar
fi mainile unelte cu CN, sistemele de transfer, manipulatoarele etc. sunt
integrate ntr-un sistem de fabricaie complet. Existena unor sisteme de
producie flexibile i dedicate constituie bazele dezvoltrilor ulterioare n
domeniile MIS ("management information system") i CIM ("computer
integrated manufacturing").

Toate aspectele controlului i produciei depind de sistemele de


comunicaie, de la legtura serial simpl main-main pn la reelele
locale sau extinse, unde zeci sau sute de maini inteligente comunic
printr-o magistral comun de date.
Necesitatea de a transfera informaii ntre AP i alte dispozitive ntr-un
proces automatizat a impus prevederea facilitii de comunicaie n cele
mai multe AP. n cazul AP mici, compacte comunicaia hardware i
software este ncorporat n modulul unitii centrale a automatului
programabil, n timp ce pentru AP mari sunt disponibile o serie de module
potrivite pentru diferite aplicaii.

Utilizrile comune ale porturilor de comunicaie ale AP sunt:


Furnizarea de date curente i de alarme etc. ctre imprimante
sau afiaje.
Legarea la fiiere, arhive sau la nregistrri (n mod normal la
micro/minicalculatoare) pentru a fi utilizate n analiza
performanelor procesului i de ctre MIS (prin intermediul
aplicaiilor software).
Transferul valorilor/parametrilor n programele existente ale AP
de la terminalele operator sau de la controlerele supervizor.
Schimbarea programelor rezidente n AP - ncrcare/descrcare
de la un controler supervizor (AP sau microcomputer).
Forarea intrrilor/ieirilor i a elementelor (variabilelor) de
memorie de la un terminal ndeprtat.
Legarea unui AP ntr-o ierarhie de control care conine cteva
niveluri de AP i calculatoare.

7.1. Comunicaii seriale - RS232


Comunicaiile ntre AP reprezint n mod normal o transmisie serial a
informaiilor. De exemplu transmiterea datelor la o imprimant sau la un
dispozitiv de afiare pe o legtur serial se face prin transmiterea
consecutiv a cuvintelor binare.
Sunt, desigur, mai multe standarde pentru modul cum se transit datele. Cele
mai cunoscute standarde sunt RS232 i RS422/423 (dezvoltat ulterior).
Comunicaia RS232C este de fapt standardul pentru distane scurte de
comunicaie cu majoritatea calculatoarelor i perifericelor (precum
imprimante i afiaje), ce au conectori i interfaa RS232. RS232C ("C"
indic varianta curent) definete relaiile ntre semnalele i conexiunile
fizice i electrice, precum i procedura de utilizat pentru schimbul de
informaii. Conectorii tip "D" cu 25 i 9 pini sunt universal asociai cu
comunicaia RS232 i sunt prevzui pe cele mai multe automate
programabile, calculatoare i dispozitive periferice.

RS422 poate fi considerat similar cu RS232, cu excepia diferenelor


ntre nivelele de tensiune ale ieirilor i ratele de transmisie poteniale.
Sunt trei aspecte care trebuie luate n considerare ntr-o comunicaie

serial. Primul este viteza de transmisie, care const n numrul de bii


transmii ntr-o secund prin legtura (cablul) de comunicaie i n
durata fiecruia dintre aceti bii. n al doilea rnd, sunt nivelele logice

mpreun cu ordinea n care este transmis informaia. i n al treilea


rnd, metoda de sincronizare a datelor pentru a valida datele
recepionate.
Specificaiile electrice pentru RS232 precizeaz c o tensiune ntre -3 i
-25 V reprezint 1 logic (n mod uzual -12 V), iar o tensiune ntre 3 i
25 V reprezint 0 logic (n mod uzual 12 V).

Aranjamentul folosit n RS232 este descris n figura 7.1. Mai nti este
transmis un bit de start pentru a informa receptorul c urmeaz data.
Este transmis data, urmat de un bit de stop. RS232 permite includerea
caracterelor de verificare a datelor denumite bii de paritate. Paritatea
este o metod de verificare a numrului de bii 1 i 0 ntr-un cuvnt de
date i prin adugarea unei "pariti" 1 sau 0, acest numr devine par sau
impar, n funcie de tipul paritii folosite - paritate par sau impar.
n figura 7.1 sunt prezentai biii de date
seriali necesari pentru caracterul "A":
(a) nivele logice;
(b) nivele de semnal.
Pachetul de 10 bii conine 1 bit de start,
7 bii de date, 1 bit de paritate i 1 bit de
stop.
RS232 permite n general oricare dintre
combinaiile urmtoare:
Bii de date: 6, 7, 8;
Viteza: 75, 110, 150, 300, 600, 1200,
2400, 4800, 9600, 19600 baud (bps);
Paritate par, impar, fr paritate.

Numr bit

1 Logic
Stop

1 2 3

0 Logic Start

5 6

Paritate
(a)

+12V

Start

0V

-12V

Stop
(b)
Fig. 7.1

Dispozitivele care transmit i cele care recepioneaz trebuie s


funcioneze la aceeai rat de transfer a datelor i cu acelai format, n
caz contrar datele transmise nu vor fi recepionate corect.

RS232 are o distan efectiv maxim de 30m la 9600 baud sau 20 m


la 19600 baud, datorit capacitii cablurilor care afecteaz timpul de
tranziie ntre limitele de recunoatere a semnalului. Distana de

operare poate fi extins pn la 100 m folosind un cablu ecranat i o


rat de transfer a datelor redus.
Adesea este necesar transmisia bidirecional la distan mare ntre
diverse dispozitive (echipamente) i calculatoare, aceasta putnd fi
realizat folosind RS422 sau alt metod de comunicaie serial, bucla
de curent 20mA.

RS485
RS485 are cteva avantaje n comparaie cu RS232: permite
conectarea a pn la 32 de dispozitive, distana este de maxim
1200m, la distane scurte rata de transfer este de pn la 10 Mbps,
necesit doar o tensiune de 5 V.
RS485 folosete linii de semnal echilibrate, ceea ce nseamn c

pentru fiecare semnal are doi conductori, semnalul din al doilea


conductor fiind inversul semnalului din primul conductor. Receptorul
rspunde la diferena dintre aceste semnale. Liniile echilibrate au
avantajul eliminrii zgomotului. Dac tensiunea dintre cele dou linii
de semnal A i B este mai mare de 1,5 V la emitor i 0,2 V la
receptor se consider un nivel logic 0; dac tensiunea dintre B i A
este mai mare de 1,5 V la emitor i 0,2 V la receptor, se consider
nivel logic 1.

Protocolul de transmisie
Pentru a realiza o comunicaie corect ntre dou dispozitive,
trebuie s putem controla transferul datelor, astfel nct un
dispozitiv s poat semnaliza celuilalt pornirea i oprirea
transmiterii datelor. De exemplu, dac un calculator transmite date
ctre un AP mai repede dect acesta le poate prelua, trebuie
semnalat calculatorului s se opreasc sau s atepte pn cnd AP
este gata s recepioneze alte date. Controlul transferului de date
sau protocolul de transmisie este realizat fie prin folosirea unor linii
de semnal adiionale, fie prin transmiterea unor caractere de control
pe canalul de comunicaie.

Module de comunicaii pentru AP


Cnd facilitatea de comunicare este prevzut intern sau printr-un
modul adiional, automatele programabile trebuie s aib opiunile
de comunicaie configurate pentru fiecare aplicaie. Acestea pot
include:

rata de transfer/viteza de transmisie;


formatul datelor - start, stop, paritate i numr de bii de date;
protocolul folosit - cum ar fi RTS/CTS sau XON/XOFF.
Natura i tipul datelor care trebuie transmise de la un AP pot

varia de la simpli octei de stare reprezentnd datele dintr-un


registru, pn la transferul unui program complet.

Un automat programabil trebuie s rspund la solicitrile de a


transfera date la ieire i de a manipula datele sosite de la
dispozitive externe. n programul AP aceasta se realizeaz fie prin

simboluri ladder convenionale, fie cu un limbaj de comunicaie


simbolic, fie prin limbaje de nivel nalt similare BASIC. n prezent
comunicaia poate fi realizat de un microprocesor dedicat din
modulul de comunicaie sau de unitatea central principal, n
funcie de sistemul utilizat. Oricare ar fi metoda folosit, presupune
specificarea urmtoarelor puncte:
condiiile care iniiaz transferul datelor;
tipul, locul i cantitatea datelor care se transfer.
Acestea sunt necesare att pentru transmisia datelor, ct i pentru
recepia lor.

Comunicaia ntre mai multe AP


Cnd mai multe AP sau echipamente trebuie s transmit sau s
recepioneze date la i de la o singur surs, este posibil unirea
acestor semnale folosind un concentrator. Acesta comut ntre
diferitele canale sub controlul software al controlerului supervizor
sau ca rspuns la un semnal de solicitare de la un AP conectat.
Totui cnd este necesar s se interconecteze un numr mare de
terminale sau echipamente se folosete adesea o reea de
comunicaie. O reea local (LAN = "local area network") furnizeaz
legtura fizic ntre toate dispozitivele plus protocolul de transmisie
sau administrarea transferului de date ntre ele, asigurndu-se c
fiecare dispozitiv poate comunica cu altul i poate nelege datele
recepionate de la acesta.

Reelele locale (LAN) reprezint o inovaie relativ recent n dezvoltarea


microcalculatoarelor. Definiia ISO/IEC 2382-25 (1992) pentru LAN este:
"LAN const dintr-o reea de calculatoare situate ntr-un spaiu utilizator
limitat geografic".
O reea const din noduri care comunic ntre ele prin diferite medii.
Nodurile pot fi: calculatoare, AP, servere, modem-uri, imprimante,
terminale, iar mediul de comunicaie const n: cabluri electrice, fibre
optice i fr fir (de exemplu undele radio).
Un utilizator de AP folosete o LAN: pentru a conecta echipamente
distribuite reducnd cantitatea de cabluri folosite; pentru a permite AP s
schimbe informaii cum ar fi: interblocri, informaii din proces, diagnoz;
pentru a colecta rapid date de producie ntr-un sistem informatic de
conducere (MIS) central; pentru a distribui instruciuni de fabricaie de la
un sistem central la echipamente - reete, programe, instruciuni; pentru a
implementa redundana.

Tipuri de reele
n principal exist dou tipuri de tehnologii de transmisie:
reele cu difuzare;
reele punct la punct.
Pentru reelele cu difuzare sunt posibile diverse topologii: stea, arbore,
magistral (bus), inel.
Reelele cu difuzare pot fi n
continuare mprite n
reele statice i dinamice, n
funcie de modul de alocare
a canalului.
De asemenea reelele se mai
pot clasifica dup mrimea
lor fizic: reele locale,
reele metropolitane i reele
larg rspndite geografic.

Inel
Arbore

Punct la punct

Stea
Magistrala (bus)

De exemplu IEEE 802.3, popular numit Ethernet, este o reea


local, cu difuzare bazat pe magistral cu control descentralizat,
lucrnd la 10 sau 100 Mbps.

Exemple de reele: serial (RS-232, RS-485), proprietar, Fieldbus,


Ethernet - IEEE 802.3 (cele mai rspndite reele de mare vitez),
Manufacturing Automation Protocol (MAP) - IEEE 802.4, IBM
Token Ring - IEEE 802.5 reea cu transfer de jeton n inel de 4
Mbps, Fibre Distributed Data Interface - FDDI, reea cu transfer
de jeton n inel pe fibr optic dual de 100 Mbps.

Pentru comunicaii sunt utilizate o mare varietate de cabluri:


10Base5 - numit popular i Ethernet gros ("Thickwire"),
10Base2 - sau Ethernet subire ("Thinwire"),

10BaseT - cablu torsadat ("Twisted Pair"),


10BaseF - fibr optic
Diferite reele i caracteristicile lor:
Reea
GE Fanuc
Ethernet
A-B Highway+

Distan

1800 metri
cu repetoare
3000 m
30 m ramif.
Modbus Plus
1800 m cu
repetoare
Siemens SINEC 4600 m
H1
Mitsubishi
10000 m
MELSECNET
Omron
800 m
SYSMAC NET

10M

Dispozitive/
Tip
Noduri
1024
CSMA/
CD
64 maxim
Transfer
jeton
32 expandabil Transfer
la 64
jeton
1024

1.2 M

64

126

Vitez
10M
230K
1M

Comentarii
IEEE 802.3

Particular
(dedicat)
Particular
(dedicat)
Particular
(dedicat)
Particular
(dedicat)
Transfer Particular
jeton
(dedicat)

CMM 3 21
ETHERNET
NTERFACE

OK

OK

LAN

LAN

SER

SER

STAT

STAT

RESTART

STATION
MANAGER
PORT

DOW NLO AD ER
PORT

TRANSCEIVER
PORT

Modul de comunicaie Ethernet pentru


seria 90-30 GE Fanuc. Modulul are un
procesor 80386EX i 1MB RAM.

Reele tip bus


Exist diferite tehnologii:
Bus Sensor/Device. Exemple: CAN Chip, LonWorks Technology; cost foarte sczut,
integrate n senzor, distan limitat.
Bus I/E - exemple: Genius, Profibus DP, WorldFIP; cost sczut, integrate n module cu
numr sczut de I/E, distane mari.
Inter-control - exemple: ControlNet, WorldFIP; cost moderat, folosite pentru control
interblocri.
Supervisory - exemple: Ethernet, Data Highway Plus (Supervizor la nivel sczut) i
Modbus Plus. Folosite pentru colectarea datelor i ncrcarea/descrcarea programelor.
Cteva dintre cele mai populare sisteme bus:
Genius Bus - GE Fanuc (1985), I/E i comunicaie;
WorldFIP - (1988), I/E i mesaje, suportat de: Cegelec, GE Fanuc, Group Schneider,
VME etc. ntlnit n Frana;
Profibus-DP - Siemens (sfritul anilor '80), I/E i mesaje (Europa);
LonWorks - Echlon (sfritul anilor '90), Device i I/E;
Interbus-S - Phoenix Contact (ani '90), I/E i mesaje (Europa)
SDS - Honeywell (sfritul anilor '90), Sensor/Device (Tehnologie CAN), ntlnit n
SUA;
DeviceNet - Allen-Bradley (sfritul anilor '90), Sensor/Device (Tehnologie CAN),
ntlnit n SUA.

Reele particulare
n industrie muli productori de echipamente i-au implementat reele particulare,
dedicate, utilizate pentru comunicaii ntre controlerele proprii, legnd ntre ele
microcalculatoare, automate programabile, roboi, maini unelte cu CN etc.
Un AP poate fi n mod normal echipat cu un modul de interfa pentru cuplarea la o
reea particular. n multe privine acesta este similar modulului de comunicaie
serial, furniznd tot ce este necesar n privina conversiei de semnal i protocolului
de comunicaie. Deoarece pot fi mai mult de 2 AP conectate la reea (pn la 200
de noduri n multe sisteme), trebuie fcut o identificare unic a fiecrui nod.
Pentru a specifica sursa i destinaia mesajelor (datelor) plasate pe reea se
utilizeaz un numr sau o adres de identificare a dispozitivului (AP). Adresa
fiecrui AP poate fi stabilit fie prin switch-uri de pe modulul de interfa, fie prin
program. n multe cazuri adresa selecteaz i intervalul de timp n care modulul va
trebui s "vorbeasc" pe reea - deoarece comunicaia se face pe un cablu comun,
accesul la reea trebuie s fie controlat pentru a evita coliziunile care pot apare dac
orice nod ar putea accesa reeaua n orice moment.

Adresele (identificatorii) de reea pot de asemenea determina prioritatea


unui nod al reelei. n general, cu ct numrul de identificare a unui nod
este mai mic, cu att este mai mare prioritatea sa. Aceast facilitate este
util acolo unde dispozitive cu roluri diferite sunt conectate la reea.
Adresele de identificare sunt utilizate pentru a cluzi mesajele (datele) de
la orice nod ctre oricare alt nod, prin adugarea adresei la mesajul de date.
Exemplu. O linie ladder de transmitere a unui mesaj ntre 2 noduri pe o reea
de AP (Square D) arat astfel:
WRITE 2

ROUTE

ROUTE

STAT

LOCAL

REMOTE

COUNT

107

115

S80

S10

S20

AP "A" este conectat la reea prin portul serial (1) al modulului de interfa pentru
cuplarea la reea. Acesta are adresa sa de identificare, 7. Atunci adresa nodului
reelei este 107. AP "B" este conectat la reea prin portul serial (1) al modulului de
interfa pentru cuplarea la reea. Acesta are adresa sa de identificare, 15. Atunci
adresa nodului reelei este 115. Aceast linie din ladder are ca rezultat transferul
coninutului a 8 registre prin reea, de la AP "A" la AP "B".

Cap. 8. Alegerea, instalarea i


punerea n funciune a
automatelor programabile

8.1. Studiu de fezabilitate


Automatele programabile sunt echipamente destinate conducerii
automate a proceselor industriale. Definirea corect i n totalitate
a sarcinilor de conducere a unui proces industrial, descrierea
exact a protocolului de funcionare a respectivului proces ce

urmeaz a fi condus cu un AP, sunt cerine ce trebuie realizate


integral. Astfel, erori sau lipsuri n aceast etap vor cauza costuri
suplimentare n etapele ulterioare. Proiectarea unui sistem de

conducere este mai economic din punct de vedere al timpului i


costului dac se specific de la nceput toate cerinele de
conducere.

n cele mai multe cazuri este de dorit s se fac un studiu de fezabilitate


pentru a analiza posibilitatea de execuie i realizare a sistemului de
conducere cu un automat programabil. Un astfel de studiu presupune cteva
domenii de investigare:
a) fezabilitate economic, nsemnnd evaluarea costurilor unei posibile
instalri i conduceri cu AP, dar i a beneficiile ce pot rezulta folosind un
sistem de conducere cu AP;
b) fezabilitate tehnic, unde procesul de condus i echipamentul de
conducere sunt studiate n raport cu funciile, performanele i
constrngerile care pot fi n legtur cu realizarea unui sistem acceptabil;
c) alternative, cu o investigare i evaluare a abordrilor alternative.
Domeniul (a), valoarea i fezabilitatea economic, poate fi studiat
complet doar dac sunt disponibile rezultatele domeniile (b) i (c).
Deoarece un AP se bazeaz pe module standard, proiectarea i
implementarea hardware-ului i software-ului (programului de conducere),
n cea mai mare parte, se pot realiza independent i n acelai timp
concurenial.

8.2. Alegerea automatului programabil


n industria automatelor programabile, cu o cifr de afaceri de

aproximativ 2 miliarde de dolari (n 1998), cu peste o sut de


productori de automate programabile, producnd peste o mie de
modele individuale, se pune problema alegerii optime a unui
automat programabil potrivit sarcinilor de conducere.
Astzi exist un domeniu foarte larg de automate programabile i

foarte muli productori care adopt rapid noile dezvoltri ale


tehnologiei. Majoritatea automatelor programabile sunt similare n
raport cu facilitile lor de control. Diferene semnificative pot fi
gsite n limbajele i metodele de programare, n suportul lor
hardware.

Un potenial client de AP poate aborda direct productorii de automate


programabile sau poate contacta firme specializate n integrarea de
sisteme. De obicei aceste firme tind s lucreze cu automate programabile
de la unul sau doi productori. Informarea i asistena de la un productor
pot varia considerabil n funcie de experiena anterioar a utilizatorului de
AP.
Un integrator de sisteme sau un consultant al unei companii productoare
mari trebuie s tie de unde, cnd i ce s achiziioneze. Un tehnician sau
un inginer specializat ntr-un domeniu electric sau electronic trebuie s
aib un minim de cunotine referitoare la factorii cheie ce trebuie luai n
considerare la selectarea unui automat programabil. Ar trebui cunoscute
lucruri precum pre, service/ntreinere, flexibilitate/extensii i
instruire/documentaie. n funcie de cunotinele persoanei implicate, este
posibil ca aceasta nu numai s fie chemat s dea un sfat privitor la aceste
chestiuni, ci chiar s devin direct implicat n implementarea i luarea
deciziilor pe baza acestor factori.

n cazul unui utilizator cu experien se pun ntrebrile:

Poate obine utilizatorul asisten n munca de proiectare ?


Ce proporie a pieii dein potenialii furnizori/productori de AP i
dac au realizri anterioare n domeniul de aplicaie necesar
utilizatorului ?
Manualele, crile, documentaia sunt disponibile n limba cerut i
sunt la un standard bun?
Ce compatibilitate exist cu un alt sistem asemntor i cu oricare
alte tipuri de AP de la acelai sau ali productori ?
Se potrivete metoda de programare cu planul de conducere pentru
aplicaie ?
Pentru un utilizator cu o experien redus este un mare avantaj dac
furnizorul sau productorul pot oferi asisten n munca de proiectare,
urmat de un ajutor ulterior i instruire n proiectarea programelor.

Trebuie luai n considerare muli ali factori n afara costului i performanelor


tehnice cnd alegem o marc sau un tip de AP. Costul i performanele tehnice sunt
importante, dar n general costul unui sistem hardware este doar o parte din
sistemul complet care include hardware, software, proiectare, instruire i
documentare, plus instalare i service.
Cnd se ia n considerare preul, intereseaz dou aspecte. n primul rnd trebuie
determinat punctul de intersecie unde devine avantajos din punct de vedere
economic s fie utilizat un automat programabil n locul unei alte soluii. Dac
aplicaia nu este dificil de condus, ar putea fi luat n considerare soluia cu relee.
Dar avnd n vedere costul destul de mare al unor relee industriale de mare
fiabilitate, dac aplicaia cere un numr de zece sau mai multe astfel de
componente electromagnetice, se poate lua n discuie soluia cu automat
programabil. Cum exist automate programabile de mrime mic sub 200$,
automatul programabil devine eficient din punct de vedere al preului. Al doilea
aspect referitor la pre este cel legat de costurile totale. Cnd este instalat un
automat programabil de sine-stttor, dar mai ales n reea, trebuie evaluat nu doar
preul iniial al automatului programabil, ci i costurile de dup instalare (costurile
de instruire i ntreinere).

Al doilea factor ce trebuie luat n consideraie cnd se achiziioneaz un


automat programabil este cel legat de service/ntreinere. Desigur este de
dorit cel mai fiabil automat programabil. Se pun ntrebrile: dac apar
defeciuni, este echipat automatul programabil cu facilitatea de autodiagnoz? i odat problema descoperit, poate fi corectat n timp i cu
efort minime? Cnd este nevoie de suportul vnztorului, va fi compania
care a vndut automatul programabil prompt cu componentele respective
pentru a fi nlocuite rapid? Aceti factori trebuie luai n considerare la
alegerea automatului programabil.
Flexibilitatea i posibilitile de extensii sunt factori ce nu trebuie neglijai
la alegerea unui automat programabil. Automatul programabil trebuie s
permit extensii ulterioare necesare benficiarului, ca de pild extinderea
memoriei, a numrului de intrri i ieiri, a comunicaiei cu alte sisteme, a
atarii de noi module etc. nc de la nceput trebuie analizat planul de
viitor referitor la procesul ce trebuie condus de un automat programabil,
pentru a alege n consecin automatul programabil.

n final nu trebuie uitate aspectele referitoare la instruire i documentaie


atunci cnd se ia decizia de la ce companie se achiziioneaz automatul
programabil. Referitor la instruire trebuie luai n considerare cinci factori:
se acord o instruire complet?
unde se acord instruirea, la firma beneficiar sau la firma ce vinde
automatul programabil?
dac instruirea nu se face la firma beneficiar, care vor fi costurile
pentru angajai s participe la instruire la un centru regional de instruire
sau la birourile companiei furnizoare (productoare)?
este inclus instruirea n cazul unui 'upgrade' (modernizri, extinderi)
al sistemului?

este instruirea fcut de instructori competeni, cu experien


industrial care tiu s comunice cu tehnicieni sau ingineri?

Documentaia - manualele utilizator, suportul software etc. - este de


asemenea extrem de important i trebuie s nsoeasc orice produs
hardware. Din nefericire, uneori, documentaia ofer explicaii sumare,
incomplete. Dei pare puin exagerat, cel mai bine ar fi s se acorde ceva
timp studiului documentaiei (dac este posibil) nainte de alegerea
automatului programabil.
Din punct de vedere tehnic, la alegerea automatului programabil trebuie
luate n considerare urmtoarele caracteristici:
numrul de intrri/ieiri necesar;
tipul de I/E (intrri/ieiri) cerut;
mrimea memoriei cerute;
viteza i puterea cerute de UC i setul de instruciuni.
Seciunea I/E a unui AP trebuie s conin suficiente module pentru a
conecta toate semnalele i liniile de control pentru proces. La aceste
module de I/E intereseaz, printre altele, nivelele de tensiune, numrul i
tipul I/E per modul, tipul izolrii ntre AP i proces, posibilitatea de
extensie a numrului de I/E .a.

n funcie de tipul AP, memoria sistemului poate fi implementat pe aceeai plac


cu UC sau pe plci dedicate. Implementarea pe plci dedicate permite ca mrimea
memoriei s poat fi extins la maximum, fr schimbri pe placa UC. Mrimea
memoriei este n mod normal legat de numrul de I/E. Un alt factor care
afecteaz mrimea memoriei cerute este desigur programul de conducere ce
urmeaz a fi instalat. Mrimea exact a programului nu poate fi definit pn ce
software-ul nu a fost proiectat, instalat i testat. Totui se poate estima mrimea
memoriei necesare pe baza unei complexiti medii a programului. De asemenea,
n final, trebuie s existe un spaiu de memorie adiional pentru schimbri
ulterioare n programul de conducere, pentru extensii viitoare ale sistemului.

Orice AP luat n considerare trebuie s furnizeze un set de instruciuni adecvat


pentru sarcina de conducere respectiv. Orice AP poate implementa un control
logic combinaional, secvenial .a. Diferenele ncep s apar n aria manipulrii
datelor, funciilor speciale i comunicaiilor. O caracteristic important a unitii
centrale a unui automat programabil este viteza de operare a acesteia.

8.3. Instalarea unui automat programabil


Dup alegerea AP, a tipului i a modulelor componente urmeaz instalarea lui
ntr-un loc accesibil care s permit:
inserarea i nlocuirea unor module;
conectarea consolei de programare;
sesizarea uoar a strii indicatorilor optici .a.
Realizarea conectrii AP - proces se poate face simplu, n cazul n care procesul
nu cere o interfaare special, cu modulele de I/E ale AP, cnd semnalele de I/E
sunt standard. Exist cazuri n care este cerut o interfaare nestandard, special,
cu traductoarele i sistemele de acionare ale procesului condus.
Dulapul sau carcasa metalic n care este montat automatul programabil trebuie
s asigure siguran i protecie fa de o atmosfer umed i coroziv, fa de
cmpurile electrostatice, fa de acionarea unor persoane neautorizate etc. De
asemenea trebuie s asigure accesul uor din punct de vedere al depanrii.

8.4. Testarea i punerea n funciune


a unui automat programabil
Dup ce munca de instalare s-a ncheiat, urmtorul pas este punerea n
funciune, care presupune:
verificarea modului de conectare a cablurilor ntre AP i procesul
(instalaia) ce va fi condus;
instalarea programului de conducere i testarea operrii lui pe procesul
de condus.

Interconectarea ntre sisteme trebuie s asigure legarea corect a intrrilor


i ieirilor de la proces la ieirile i intrrile AP. Se testeaz continuitatea
cablurilor i faptul c intrrile/ieirile AP opereaz (adic sunt primite,
respectiv trimise semnale corecte). Echipa de punere n funciune trebuie
s se asigure c nici o operare sau defectare a sistemelor de acionare ale
procesului nu vor cauza stricciuni sau pune n pericol procesul i
personalul.

Software-ul de conducere se realizeaz, de obicei, n paralel cu operaiile


anterioare. n general toate AP conin faciliti de verificare a propunerilor,
n sensul verificrii adreselor incorecte, dublrii ieirilor etc. Multe AP
permit vizualizarea I/E utilizate, a strilor numrtoarelor i
temporizatoarelor, precum i alte informaii. Aceast form de testare este
limitat, fr a asigura faciliti de verificare a operrii programului de
conducere.
Din punct de vedere al economiei de timp i cost, o metod ideal pentru
testarea modulelor de program i a programului complet este reproducerea
ciclului de control prin simulare. Aceast activitate poate fi realizat ntr-un
laborator de proiectare, fr a avea conectat AP la procesul condus.
Simularea procesului este fcut n diverse moduri, n funcie de mrimea
procesului. Pentru un proces mic, cu un numr redus de I/E, deseori se
poate simula adecvat procesul, prin utilizarea unui set de comutatoare pe
intrrile AP, cu ieirile conectate pe elemente de semnalizare sau relee.

Cnd numrul de I/E este mare i programul este complex, forma simpl de
simulare descris devine inadecvat. Multe AP sunt dotate cu o unitate de
simulare care citete i scrie informaii direct n memoria I/E, renunnd la
nevoia de a conecta comutatoare externe etc. Simulatorul este controlat de la

un terminal care poate fora schimbri n starea intrrilor i poate nregistra


toate schimbrile n starea ieirilor n timpul rulrii programului. O posibilitate
important pentru depanarea programului de conducere o constituie
posibilitatea rulrii programului pas cu pas (dac AP are aceast posibilitate).
O nou posibilitate de testare a programului de conducere const n simularea
instalaiei sau procesului condus pe un calculator i cuplarea AP - calculator.
Dup simularea i depanarea programului de conducere urmeaz rularea
software-ului utilizator pe sistemul AP - proces condus. Eventual, dac este
nevoie, se fac noi modificri n programul de conducere. Dup definitivarea
programului de conducere este bine s se fac minim dou copii ale acestuia ce
vor fi memorate pe o dischet, band, sau alt mediu de memorare.

De asemenea, de la nceput trebuie s se realizeze un set complet de


documentaie pentru sistemul AP - proces condus, ce va include:
descrierea instalaiei sau procesului;

descrierea i specificarea obiectivelor, cererilor de conducere i


control;
descrierea funciilor software-ului, incluznd diagrame de stri, hri
de memorie, alocri etc.;
listingul programului nsoit de comentarii;
copii ale software-ului (programului);
descrierea i diagramele instalaiei electrice;
listele conexiunilor I/E, imprimante, reea etc.;
manualul de operare utilizator, incluznd detalii de pornire-oprire
sistem i alarme.

Un AP este proiectat s lucreze pentru lungi perioade de timp n medii


industriale diverse. Exist totui posibilitatea de a apare defecte, fie
interne AP, fie externe acestuia. De obicei, AP au proceduri
ncorporate ce afieaz eventualele erori sau defecte interne ale lor.
Defectele externe sunt legate de:
defectele dispozitivelor de I/E (traductoare, sisteme de acionare
etc.);
defecte de conexiuni;
defecte de legturi de comunicaii;

defeciuni ale sursei de alimentare - zgomot sau cderi.


n cazul n care sistemul de control nu pornete ori nu funcioneaz
corect, sursa i cauza problemei trebuie identificat i corectat.
Trebuie notate i studiate simptomele problemei (defectului),
identificat aria problemei, izolat i eliminat defectul.

8.5. Sigurana n funcionare


a automatelor programabile
Termenii siguran n funcionare i disponibilitate pentru
echipamentele de control electronic nu sunt ntotdeauna clare i
uneori sunt chiar greit interpretate. Aceasta se poate explica pe
de

o parte

prin caracteristicile diferite ale

defectelor

echipamentelor de control electronic comparativ cu defectele


sistemele convenionale. Pe de alt parte unele reglementri
privind sigurana i protecia au devenit mult mai stricte n
anumite domenii de aplicaii n ultimii ani.

Automatele programabile pot nlocui automatizri discrete,


realizate

cu

elemente

electromecanice,

pneumatice

sau

electronice n logic cablat, n msura n care ele asigur cel

puin aceleai caracteristici de disponibilitate, siguran n


funcionare i fiabilitate ca i celelalte elemente din sistem.
Trebuie realizat o analiz aprofundat privind tipul automatului
programabil introdus, modul de conectare la proces i felul n
care implementeaz prin program funciile de comand, pentru

ca prin utilizarea automatului programabil s creasc sigurana


ntregului sistem, n raport cu aceea asigurat de utilizarea unor
tehnologii tradiionale.

Fiabilitatea unui AP depinde n esen de alegerea, ncercarea, utilizarea i


interconectarea raional a unui ansamblu de componente destinate s
funcioneze ntr-un mediu dat. Pentru sisteme neredundante, ea este
inferioar fiabilitii componentei celei mai puin fiabile din automat.

Fiecare productor de automate programabile i testeaz produsul propriu


n anumite condiii de utilizare, anunnd o anumit fiabilitate a
automatului programabil produs.
Variaiile liniei de putere (alimentare cu tensiune) precum i alte
perturbaii pot afecta funcionarea dispozitivelor electronice precum
automatele programabile.
Exist proceduri universale de depanare i ntreinere care se aplic tuturor
dispozitivelor electromecanice, inclusiv automatelor programabile. De
asemenea exist numeroase proceduri unice de depanare care se aplic
doar automatelor programabile.
Toi productorii de automate programabile au manuale complete de
instalare i depanare pentru produsele lor. Acestea includ manuale de
instalare i operare, planuri electromecanice de instalare, instalare
electric, siguran, protecie i mediu.

Factorii ce trebuie luai n considerare pentru a asigura funcionarea


continu i sigur a automatelor programabile dup instalare sunt:
a) spaiul de instalare. Automatul programabil poate fi instalat ntr-

un spaiu liber, deschis, ns cel mai adesea este instalat ntr-un


spaiu nchis (carcas metalic) conform unor standarde stabilite de
anumite asociaii naionale sau internaionale din domeniu.
Instalarea automatului programabil ntr-un spaiu protejat trebuie
fcut astfel nct s se permit o instalare adecvat a cablurilor de

putere dar i a celorlalte cabluri ce intr sau ies, un acces uor la


toate componentele automatului programabil i la cabluri, att n
timpul operaiei de instalare dar i n timpul depanrii sau al unor

modificri sau extinderi ulterioare.

b) temperatura. Automatul programabil are o limit superioar i


respectiv o limit inferioar pentru temperatura de lucru, n mod

normal acestea fiind 600 C i respectiv 00 C. Aceste limite nu


trebuie s fie depite n timpul funcionrii sau n timpul
schimbrilor periodice (sezoniere) de temperatur. De exemplu,

pentru un automat programabil ce conduce un cuptor de tratare


termic pot apare probleme n timpul verii datorit temperaturilor
ridicate dezvoltate n apropierea acestuia.

c) umezeala, praful i atmosfera coroziv. Uneori este posibil


ca un automat programabil s trebuiasc s lucreze ntr-un spaiu
cu umiditate ridicat. De aceea trebuie luat n considerare nivelul

de umezeal, care dac este prea ridicat, poate cauza defeciuni


electrice i electronice. De asemenea praful poate astupa orificiile
de aerisire i poate crea ci pentru scurtcircuite. ntr-o atmosfer
coroziv, care poate apare atunci cnd automatul programabil
conduce procese din industria chimic (procese din combinate
chimice) sau din industria petrochimic (din rafinrii), unde pot fi
prezeni vapori, aburi, fumuri, gaze oxidante, pot apare depuneri
de oxizi pe fire i terminale care pot produce defeciuni ale
punctelor de conexiune. n toate aceste cazuri automatele
programabile trebuie instalate n spaii nchise protejate
corespunztor.

d) vibraiile. Dac unitatea central a automatului programabil


este supus la vibraii, transmise de la un echipament din
apropiere ce produce vibraii, atunci automatul programabil poate
funciona necorespunztor. Vibraiile pot cauza defeciuni ale
unitii centrale i reduc viaa automatului programabil.
Efectele vibraiilor pot fi reduse prin montarea unor elemente
antioc.

Sigurana n funcionare a unui sistem definete comportarea


ansamblului AP - element de execuie - proces industrial n
funcionare normal sau n caz de avarie. Pentru a evalua sigurana

n funcionare a acestui lan trebuie luate n consideraie mai multe


elemente:
lanul de achiziie; o defeciune oarecare n lanul de achiziie
blocheaz funcia de prelucrare dinamic a semnalelor;
lanul de comand;

unitatea de prelucrare.
Dobndirea siguranei n funcionare a ansamblului automat

programabil - proces condus se poate obine i prin efectuarea unor


autoteste la nivelul elementelor menionate.

Sigurana n funcionare este capacitatea unui sistem electronic


de control de a satisface, ntr-o perioad de timp specificat i n
anumite limite tehnice, cerinele impuse de ctre aplicaia

respectiv.
n ciuda tuturor msurilor luate pentru a preveni defectrile, nu
exist un procent de 100 % siguran n funcionare.
Rata de defectare este o msur a siguranei n funcionare.

unde: n

N0

= numrul de defecte aprute n timpul t;

= numrul componentele rmase n funcionare

Curba ratei de defectare n raport cu timpul poate fi mprit n trei perioade de


timp.

(1) Defectele timpurii (de nceput) sunt cauzate de defectele de materiale i de


producie, iar rata de defectare scade abrupt de-a lungul perioadei de nceput
(perioada de rodaj).
(2) Perioada defectelor aleatorii se caracterizeaz printr-o rat de defectare
constant. Aceast perioad acoper perioada comportrii normale a componentelor
sistemului i este baza calculrii parametrilor siguranei n funcionare.
(3) Rata de defectare crete n timp, defectele datorate uzurii devenind din ce n ce
mai dese, indicnd c se apropie sfritul vieii de funcionare. Tranziia la
aceast faz se face gradual, creterea ratei de defectare nefiind brusc.

Un grad ridicat al siguranei n funcionare poate fi obinut prin


luarea unor msuri vaste i costisitoare de-a lungul dezvoltrii i
producerii automatelor programabile precum:
utilizarea de componente de nalt calitate;
proiectarea tuturor circuitelor pentru cazurile cele mai
dezavantajoase (dificile);
testarea sistematic i controlat de calculator a tuturor
componentelor furnizate de ali productori;
verificri vizuale n diferite etape ale produciei;
testarea n circuit a tuturor componentelor (de exemplu testarea
asistat de calculator) i a interaciunii cu celelalte componente
din circuit;
realizarea unui test continuu (de anduran) la o temperatur a
mediului ridicat pentru o perioad de cteva zile;
testarea atent, final, asistat de calculator;
evaluarea statistic a tuturor defectelor aprute n timpul testrii
pentru a se iniia msuri adecvate de corecie etc.

Disponibilitatea "D" este probabilitatea de a gsi sistemul n stare de


funionare la un moment de timp specificat.

unde: TMBF = timpul mediu de bun funcionare sau timpul mediu ntre
defectri;
TMR = timpul mediu de reparaie.
Ideal ar fi ca D s fie 1, lucru practic de neatins datorit defectelor care
apar ntotdeauna. Totui este posibil apropierea de valoarea ideal prin
utilizarea, de exemplu, a sistemelor redundante. Astfel de sisteme
presupun:

sisteme n stand-by;
sisteme redundante 2 din 3;

sisteme redundante multi-canal cu funcii de verificare reciproce.

Disponibilitatea poate de asemenea fi extins prin reducerea timpului


mediu de reparaie. Astfel de msuri includ de exemplu:
stoc de componente de schimb;

instruirea personalului operator;


indicatori optici de defect pe dispozitive;
memorie mai mare i software pentru implementarea funciilor
de diagnoz.
Disponibilitatea total nu poate fi obinut pentru un automat programabil
dect prin redundana unitilor centrale i a interfeelor intrare/ieire. O
disponibilitate parial poate fi atins activnd sisteme fie parial dublate,
fie parial susinute de tehnologii diferite (utilizarea a dou tehnologii
diferite elimin defectele de mod comun).
Pentru automatele programabile dublate total sau parial, disponibilitatea
este legat, pe de o parte, de fiabilitatea componentelor sale i, pe de alt
parte, de timpul mediu de reparaie (TMR). Dac TMR e mare, crete riscul
de apariie a dou defecte consecutive. TMR depinde, n esen, att de o
bun concepie electromecanic a automatului programabil, ct i de
calitile i de performanele de detectare i localizare a defectelor.

Caracterul unui defect este hotrt prin efectul pe care acesta l


are. Se face o distincie ntre defectele active i cele pasive,
precum i ntre defectele fatale i cele nefatale. Exemplu: funcia

F de control.

Intrare
0
1
0
1

Sistem de control
Fr defect
Defect activ
Defect pasiv

Ieire
Fr ieire de comand
Ieire de comand
Ieire de comand
Fr ieire de comand

n funcie de sarcina pe care o are de realizat sistemul de control


(automatul programabil), defectele pasive sau active pot fi de
asemenea defecte fatale. Exemple:
ntr-un sistem de control al unui element de acionare (de
exemplu motor), un defect activ are ca rezultat pornirea

neautorizat a elementului de acionare (respectiv motorului).


ntr-un sistem de monitorizare, un defect pasiv poate fi fatal
deoarece blocheaz indicarea unei stri periculoase de
funcionare.
n toate cazurile unde apariia unui defect poate avea ca rezultat

pagube materiale mari sau chiar rnirea unor persoane, adic


acolo unde defectele pot fi periculoase sau fatale, trebuie luate
msuri de sporire a siguranei sistemului de control.

n filozofia Klckner-Moeller sunt considerate trei niveluri de


siguran:
Nivelul 1 sau sigurana minimal const n a obine o comportare
sigur n cazul defectelor simple pe o linie intrare/ieire (scurtcircuit, punere la mas, rupere a unui fir conductor). Soluia const
n utilizarea de canale de intrare/ieire n tehnic activ, adic
comutarea prin aport de curent.
Nivelul 2 sau sigurana controlat const n a obine o comportare

sigur n caz de defect simplu pe o linie intrare/ieire i n caz de


defectare a surselor de semnal de intrare (taste, ntreruptoare,
comutatoare) i a elementelor finale de comand (relee,
contactoare, electroventile).

O variant pentru acest nivel de siguran este reprezentat de


controlul comparativ ntre o comand emis i execuia ei. n
cazul automatelor programabile aa-zise cu un singur canal,
mijloacele disponibile pentru creterea siguranei n funcionare
sunt limitate:
programele sau pri din programe pot fi memorate i
executate de mai multe ori;
ieirile pot fi monitorizate prin software, printr-o
reacie paralel pe intrrile aceluiai echipament;
funcii de diagnoz care aduc ieirile automatului

programabil ntr-o stare predefinit cnd apar defecte.

Defectele sistemelor electromecanice de control si respectiv ale


sistemelor electronice se caracterizeaz i prin:
releele i contactoarele funcioneaz doar dac se aplic
o tensiune pe bobin. Cu un astfel de element de control
este mai puin probabil apariia defectelor active dect a
celor pasive;
n sistemele electronice de control probabilitatea de
apariie a ambelor tipuri de defecte (pasive i active) este
aproximativ egal. Defectarea unui tranzistor pe ieire, de
exemplu, poate face ca tranzistorul fie s nu mai conduc
deloc fie s conduc continuu.

Prin urmare normele de protecie se pot mbunti n cazul


sistemelor electronice de control (inclusiv n cazul automatelor
programabile) astfel:

toate funciile mai puin importante pentru protejarea


procesului vor fi controlate electronic;
funciile care sunt importante pentru protejarea
procesului sunt implementate cu elemente de control
convenionale (module cu ieiri pe relee).

Cele dou nivele sunt suficiente pentru comanda majoritii


instalaiilor industriale. Dac ns o blocare ntr-o stare
predeterminat a elementelor acionate (n caz de avarie) devine
periculoas pentru instalaie, trebuie asigurate: continuitatea n
timp a comenzilor, memorarea, semnalizarea i analiza defectului.
Aceasta conduce la cel de-al treilea nivel de siguran.

Nivelul 3 sau controlul prin redundan const att n utilizarea a


cte dou canale independente la nivelul intrrilor i al ieirilor ct
i n dublarea structurilor de prelucrare a informaiilor. O astfel de
tehnic este utilizat pentru supravegherea proceselor speciale:
centrale nucleare, puuri de petrol .a. n astfel de configuraii
multicanal, efectele unor defeciuni n unitatea central pot fi
eliminate prin circuite redundante.
n funcie de dublarea sau chiar de triplarea numrului de canale

I/E, automatele programabile pot lucra conform principiului 2 din


2 sau 2 din 3. Automatele cu canale duale fac posibil detectarea
rapid a defectelor prin sincronizarea unitilor funcionale
redundante.

Un automat programabil
la care nivelul 3 de
siguran este determinat
de
prelucrarea
programului utilizator de
ctre 2 uniti centrale
independente
este
prezentat
n
figura
alturat.
Un astfel de automat
programabil, Siemens S5110F, const din dou
uniti S5-110As care
sunt programate identic i
opereaz
sincron.
Monitorizarea
este
implementat prin dou
module
comparatoare.
Defectele ce apar sunt
afiate i sunt iniiate
funciile de siguran
corespunztoare.

Sistemul este prevzut cu dou grupuri independente de canale I/E (magistrale


separate I/E), astfel c eventualele defeciuni n una din unitile de prelucrare nu
vor induce condiii de operare aleatorii n proces. Coninutul memoriilor program
MP1, MP2 ale celor dou uniti centrale UC este identic, iar memoriile sunt
baleiate sincron, ceea ce determin o execuie sincronizat a programelor utilizator.
Modulele comparatoare supravegheaz prelucrarea sincronizat a datelor n cele
dou UC, testnd coincidena semnalelor redundante pe magistralele I/E la fiecare
instruciune de intrare sau de ieire. Totodat, ele genereaz cele dou semnale de
ceas sincronizate pentru unitile centrale i creeaz secvena unic de pornire a lor,
la apariia tensiunii de alimentare.
Cele dou UC, incluznd magistralele I/E, sunt decuplate astfel nct o defeciune
n una din uniti nu influeneaz funcionarea celeilalte. Modulele I/E din cele
dou subuniti opereaz independent, ceea ce nseamn c cel puin una din ele,
inclusiv interfaa cu procesul, nu este afectat de o eroare ce a aprut n sistem. n
afara programului de aplicaie, memoriile program (tip EPROM) mai conin
programe de autotest, rulate periodic n fiecare ciclu program. Aceste programe
verific starea de funcionalitate proprie fiecrei UC (acces la EPROM, RAM, la
resursele I/E, funcionalitatea UAL .a.). Rezultatul testelor este plasat n locaii de
memorie RAM, care sunt testate periodic de modulele comparatoare ale celor dou
sub-uniti.

Structura dual de AP ce utilizeaz conceptul multicanal ofer o nalt


disponibilitate. Astfel, n caz de defectare a uneia din subuniti,
subunitatea defect este fcut automat neoperaional, n timp ce cealalt
subunitate continu s asigure comanda procesului.
Revenirea la o funcionare normal de dou UC se face prin intervenia
operatorului, fr ntreruperea comenzilor ctre proces.

Pe de alt parte, disponibilitatea este determinat i de capacitatea


automatului de a detecta, localiza i semnala orice anomalie n
funcionarea sa intern. Localizarea final a defectelor unitii centrale este
posibil prin utilizarea unitii service, prevzut cu un sistem de programe
de diagnoz i de indicare a codurilor de eroare.
Probleme speciale apar n cazul cderii tensiunii de alimentare. Astfel,
singurul element susinut prin baterie de acumulatoare este memoria de
date MD (tip RAM), partajat virtual n zon de lucru (stocare de rezultate
intermediare) i zon oglind a ieirilor ctre proces.

Un ciclu program (de control al procesului) va conine n mod


obligatoriu toate rutinele ce asigur comanda propriu-zis, conform
unui algoritm combinaional sau secvenial i un numr variabil de
programe de test de bun funcionare, executate parial sau n
ntregime ntr-un singur ciclu.
Din prima categorie de rutine fac parte:

achiziia semnalelor de intrare prin adresarea canalelor din


zona I, necesare aplicaiei de conducerea i memorarea strii
acestor canale;
generarea comenzilor ctre proces, starea acestor comenzi fiind
depus n ciclul program anterior, n memoria RAM a
automatului;
prelucrarea operanzilor conform ecuaiilor logice, diagramelor
Grafcet sau diagramelor ladder ce descriu aplicaia de conducere.

n funcie de durata celor trei rutine de baz se activeaz la fiecare


ciclu program sau odat la un numr de cicluri, rutine de autotest,
care se refer la: verificarea accesului la memoriile EPROM i
RAM, a strii de funcionalitate a unitii logice, a accesului la
celelalte resurse hardware ale unitii centrale.
Din categoria rutinelor ce nu sunt executate n fiecare ciclu
program fac parte cele ce controleaz modulele I/E conform
principiului multicanal:

supravegherea intrrilor duale;


supravegherea ieirilor duale;

programul ceas de gard (este supravegheat prelucrarea


ciclic a programului).

O serie de rutine sunt activate o singur dat, n situaii de excepie din punct de
vedere al funcionrii. Astfel, rutina de decuplare este activat ca urmare a
depistrii pe parcursul unui ciclu program a unei defeciuni la unitatea central, la
sistemul de alimentare sau la unul din comparatoarele structurii duale.
Un alt program de excepie este programul de iniializare, activat necondiionat la
cuplarea manual a alimentrii automatului i activat condiionat de starea unui
comutator de pe panoul de deservire a automatelor, n momentul reapariiei
tensiunii de alimentare dup o cdere accidental a acesteia.
n ciuda msurilor de mai sus, trebuie s se in seama de defectele care apar.
Experiena arat c, n procesele conduse de automate programabile, defectele sunt
distribuite aproximativ dup cum urmeaz:
defecte interne - 5 %
funcii centrale - 10%
procesor - 25%
memorie - 25%
magistrale sistem - 25%
sursa de alimentare - 25%
module de intrare/ieire - 90%
defecte externe - 95%

Dup cum se observ, doar un numr mic (aproximativ 5%) de


defecte apar n sistemul de control electronic. Acestea pot fi
mprite n:
defecte ale unitii centrale (aproximativ 10%, adic 0,5%
din numrul total de defecte); aceste defecte pot fi defecte

ale procesorului, memoriei, magistralelor sistemului sau


sursei de alimentare;
defecte ale modulelor de intrare/ieire (aproximativ 90%,
adic doar 4,5% din numrul total de defecte).
Cel mai mare numr de defecte (aproximativ 95% din numrul

total de defecte) l reprezint defectele externe datorate


senzorilor i traductoarelor, elementelor de acionare,
conexiunilor etc.

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