Sunteți pe pagina 1din 11

S. E. C. N.

1



CURS 8






5. Controlere logice programabile

Subcapitolul de fa este destinat metodelor de implementare a unor
echipamente speciale cunoscute frecvent sub denumirea de controlere logice
programabile (CLP). Derivnd direct din automatele programabile discutate
anterior CLP-urile reprezint ultima realizare n domeniul att de diversificat al
echipamentelor de conducere pentru procese secveniale. Proiectate iniial ca
simple simulatoare ale schemelor cu contacte i relee aceste sisteme s-au impus
n ultimii ani prin facilitile deosebite pe care le ofer att proiectantului ct i
utilizatorului.



5.1. Caracteristici generale ale controlerelor logice
programabile

Controlerele programabile sunt sisteme specializate destinate acoperirii
urmtoarelor funcii : procesarea datelor, memorare. transfer intrare-ieire. Dei
indicativul "logic-programabil" ' desemneaz clar existena unor procesoare ce
opereaz scalar n prezent aceste echipamente pot prelucra de asemeni mrimi
numerice, deci pot interveni direct n structuri de conducere numeric modelnd
sau simulnd bucle de reglare complex. Un avantaj caracteristic acestor
sisteme l reprezint posibilitatea vizualizrii programului de conducere printr-o
schem tip "contacte i relee", reprezentare "ladder". Aceast reprezentare ofer
programatorului un afiaj electronic extrem de familiar, capabil s permit att
faciliti de programare ct i de urmrire a evoluiei procesului condus. Aceste
controlere realizeaz deci fuziunea ntre o tehnic "arhaic" a schemelor cu
contacte i metodele moderne de procesare ale calculatoarelor numerice.
UC controleaz i supervizeaz toate operaiile din interiorul CLP,
transferul instruciunilor, procesarea lor i conexiunile cu exteriorul.
Pentru memorarea programului toate CLP-urile modeme utilizeaz
memorii RAM i EEPROM. Primele se folosesc pentru dezvoltrile iniiale ale
programului care, dup testarea complet este nscris n EEPROM. Memoriile



S. E. C. N.



2



CURS 8
RAM sunt utilizate i pentru stocarea unor variabile intermediare pentru
realizarea imaginilor variabilelor de intrare/ieire i pentru memorarea unor funcii
interne : numrare, temporizare, etc.
Modulele de intrare-ieire formeaz interfaa ntre structura intern a CLP
i procesul condus asigurnd n acelai timp izolarea CLP-ului de exterior i
compatibilitatea electric cu exteriorul, compatibilitatea semnalelor ce intr sau
sunt generate.
Instruciunile utilizate n programarea CLP se nscriu n gama uzual a
instruciunilor logice avnd n plus caracteristici specifice rezultate din
reprezentarea grafic proprie schemelor ladder sau a diagramelor Grafcet.
Diagramele Ladder au fost utilizate iniial pentru reprezentarea circuitelor
electrice. Ulterior, introducerea controlerelor 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. 0
diagram Ladder, n schemele electrice, este format din dou bare verticale ce
asigur potenialul electric necesar i o reea de contacte i bobine (figura ..a).
n figura.b este ilustrat o reprezentare cu o logic similar cu cea oferit de
schema electric dar utiliznd simboluri specifice din CLP. Dei simbolurile
folosite de diverse firme nu au o standardizare riguroas acestea ncearc s
pstreze caracterul oferit de simbolurile i conexiunile electrice din care deriv.







a) b)

Figura 1.13 Diagrame Ladder
a) reprezentare electrica; b) reprezentare CLP
n tabelul de mai jos sunt prezentate cteva din simbolurile i instruciunile
asociate, utilizate n CLP produse de firmele Texas Instruments i Mitsubishi.




S. E. C. N.



3



CURS 8
Texas
instruments
Mitsubishi
Mnemonic Mnemonic
Funcie
Simbolizare
grafic
STR LD
Declar nceput
de linie. ncarc
variabil n acc.

AND AND Conexiune serie

OR OR
Conexiune
paralel

OUT OUT Ieire

NOT ..! Negaie


Programarea CLP se poate realiza att pe baza instruciunilor logice ct i
prin programare grafic utiliznd simbolurile corespunztoare. n acest caz se
permite utilizatorului s foloseasc simbolurile familiare din structura circuitelor
electrice. Modulul de programare translateaz sau compileaz aceste simboluri
grafice n instruciuni logice memorate n memoria RAM.
n subcapitolele anterioare, implementarea sistemelor de conducere
secvenial se bazeaz pe tehnicile oferite de organigramele (grafurile) de stri.
Acestea permiteau dezvoltarea unor metode puternice de implementare asociate
diverselor sisteme ce reprezentau suportul hardware.
n ultimii ani n literatura de specialitate, s-au introdus i dezvoltat noi
sisteme de reprezentare grafic a evoluiei secveniale a proceselor, cunoscute
sub denumirea de Grafcet. n 1975, patruzeci de cercettori i manageri
industriali, vorbitori de limb francez, care lucrau n domeniul sistemelor
complexe de control discret, au hotrt s se ntlneasc la fiecare dou luni
pentru a compara metodele i modelele folosite pentru implementarea sistemelor
secveniale. Cercettorii au observat c tehnicile folosite erau diferite i au
hotrt s construiasc un model particular, mai uor de folosit dect cele
actuale i mai potrivit pentru implementarea sistemelor complexe de comand.
Dup doi ani de munc asidu, ei au propus un model numit Grafcet.
Numele Grafcet este o prescurtare de la Graphique, deoarece modelul
propus este o reprezentare grafic, i de la numele asociaiei tiinifice care a
inventat acest model, Association franaise de cyberntique conomique et
technique (AFCET). Denumirea Grafcet provine i de la Graphe Fonctionnel de
Commande Etape-Transition, adic, graf funcional bazat pe pai i tranziii.



S. E. C. N.



4



CURS 8
Datorit rspndirii metodei n Frana, i mai apoi n toat lumea, i
eforturilor lui Paul BRARD (Tlmcanique Electrique), Grafcet a devenit n
1988 un standard internaional definit n IEC 1131-3, cunoscut sub numele
"Sequential Function Chart" (SFC).
Limbajul Grafcet deriv din metodele teoretice de modelare, n care
sistemele de fabricaie sunt privite ca maini cu algoritmi de stare sau ca sisteme
cu evenimente discrete Petri Net. n comparaie cu celelalte metode de
programare grafic, se distinge prin claritate i simplitate.
Dei un 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 penetrarea metodei
ntr-un mare numr de aplicaii.
Limbajul Grafcet este folosit pentru reprezentarea evoluiei sistemului de
control secvenial ntr-un grafic, folosind ci structurate.
Pentru implementarea unui Grafcet pot fi folosite urmtoarele simboluri:
- Pasul iniial: definete starea iniial a CLP (Controler Logic
Programabil);
- Tranziia: reprezint o condiie ce determin trecerea dintr-un pas n
pasul succesor;
-Pasul: reprezint o stare a
sistemului n care trebuie efectuat o
aciune.
-Aciunile asociate cu paii indic, n
termeni generali, operaia ce trebuie
efectuata cnd paii sunt activi. n
particular, aciunile descriu ordinea
cu care sunt trimise comenzi ctre
prile operative ale instalaiei sau
ctre alte sisteme automate. Starea
de activitate a pailor la un moment
dat, definete starea diagramei
Grafcet.
Exist posibilitatea activrii-
dezactivrii simultane a mai multor
secvene de pai n cazul proceselor
cu desfurare paralel.
De asemenea exist
posibilitatea selectrii unei anumite
secvene de pai, n cazul proceselor
cu desfurare alternativ.
Un Grafcet este un graf orientat
definit printr-un cvadruple (S,T,E,M)
unde :
- S = (S
1
, S
2
,,S
n
) este mulimea secvenelor (n particular a strilor);



S. E. C. N.



5



CURS 8
- T = (T
1
, T
2
,,T
p
) este mulimea condiiilor ce determin tranziiile dintr-o
secven n alta;
- E = (E
1
, E
2
,, E
q
) este mulimea ieirilor generate n timpul evoluiei;
- M = (M
1
,M
2
,, M
m
) reprezint o mulime de valori binare ce desemneaz
starea de activare a fiecrei secvene. Pentru m
1
=0 se consider c secvena
asociat este inactiv iar pentru m
1
=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.

n continuare se vor prezenta tipul variabilelor scalare i vectoriale,
modalitatea de adresare a lor, structura memoriei, structura software mono i
multi-task i instructiunile de baza corespunztoare unui CLP produs de firma
Schneider Electric.

5.2. Tipul variabilelor scalare i vectoriale folosite n
programarea CLP

a. Principalele variabile scalare folosite n programarea CLP sunt:
- Bii asociai variabilelor de intrare sau de ieire - sunt imagini
logice ale strii electrice corespunztoare intrrilor sau ieirilor discrete.
Valoarea acestor bii este stocat n memoria de date. Starea biilor este
actualizat atunci cnd este lansat n execuie task-ul n care au fost configurate.
- Bii interni - sunt folosii pentru stocarea unor rezultate intermediare n
timpul execuiei programului. Pentru aceti bii se folosete n mod
frecvent titulatura de bii de memorie

- Biii de sistem de la %S0 pn la %S127 sunt folosii pentru
monitorizarea funcionrii corecte a CLP-ului i a programului aplicaie.
- Bii asociai blocurilor de funcii corespund ieirilor discrete ale
blocurilor predefinite de funcii sau ale blocurilor de funcii definite de utilizator.
Pentru blocurile de funcii definite de utilizator se folosete n mod frecvent
prescurtarea DBF. Aceste ieiri pot fi conectate direct sau pot fi folosite ca i
variabile.
- Bii extrai din cuvinte
Este posibil folosirea n mod individual a unuia din cei 16 bii ai unui
cuvnt.
- Bii asociai pailor i macro-pailor Grafcet
Pentru fiecare pas sau macro-pas Grafcet exist cte un bit care poate fi
folosit pentru a determina starea de activitate a pasului i, a macro-pasului j, sau
a pasului i al macro-pasului j.
Exist posibilitatea de folosire a valorilor booleene explicite. Valoarea 1
corespunde strii de adevr, iar valoarea 0 strii de neadevr.



S. E. C. N.



6



CURS 8

Urmtorul tabel prezint concis principalele variabile scalare folosite n
programarea CLP:

Tip Adresa sau valoarea Acces la scriere
(1)
Valori explicite 0 sau 1
Bii de intrare %Ixy.i NU
Bii de ieire %Qxy.i DA
Bii interni %Mi or %MXi DA
Bii de sistem %Si n funcie de i
Bii ataai blocurilor de funcii Ex. %TMi.Q %DRi.F..... NU
Bii Grafcet %Xi, %XMj, %Xj.i... DA
Bii extrai din cuvinte Ex. %MW10:X5 n funcie de tipul
cuvntului

b. Principalele variabile de tip vectorial

Urmtorul tabel prezint concis principalele variabile-cuvnt (vectoriale)
folosite n programarea CLP:

Cuvinte Descriere Exemple Acces la
scris
Valori
explicite
Valori algebrice care au acelai format
ca i cuvintele cu lungime simpla sau
dubl (16 sau 32 bii)
2542 -
Cuvinte Descriere Exemple Acces la
scris
Cuvinte
asociate
intrrilor sau
ieirilor
Acestea sunt imagini numerice ale
valorilor mrimilor electrice de intrare /
ieire. De exemplu pentru modulele de
intrri sau de ieiri analogice pentru
fiecare canal exist cte un astfel de
cuvnt.
Aceste cuvinte sunt stocate n memoria
de date i sunt actualizate de fiecare
data cnd task-ul n care au fost
configurate este baleat.
%IW23.5
%QW51.
1
Nu
Da
Cuvinte
interne
Cuvintele interne sunt folosite pentru
stocarea unor valori intermediare n
timpul execuiei programului. Valorile
acestor cuvinte sunt stocate n interiorul
memoriei de date, n acelai zon de
%MW10
%MD45
Da
Da



S. E. C. N.



7



CURS 8
memorie indiferent de formatul acestora.
Cuvinte
constante
Aceste cuvinte sunt folosite pentru
stocarea unor valori constante sau a
unor mesaje alfanumerice. Coninutul lor
poate fi scris sau modificat numai de
ctre terminal. Aceste cuvinte sunt
stocate n aceeai zon ca i programul.
De aceea, pot avea memoria FLASH
EPROM ca suport.
%KW30 Da (doar
de ctre
terminal)
Cuvinte de
sistem
Aceste cuvinte asigura mai multe funcii:
Unele din ele sunt folosite pentru a
determina starea sistemului
altele sunt folosite pentru a aciona
asupra aplicaiei determinnd apariia
unor moduri specifice de operare

%SW5 In funcie
de i
Cuvinte
ataate
blocurilor de
funcii
Aceste cuvinte corespund parametrilor
sau valorilor asociate blocurilor standard
de funcii sau DFB-urilor.
%TM2.P Da
Cuvinte
comune
Sunt destinate pentru transferul automat
de date ntre toate staiile conectate prin
reele de comunicare.
%NW2.3 Da
Cuvinte
specifice
Grafcet.
Cuvintele Grafcet sunt folosite pentru
determinarea timpului de activitate al
pailor.
%X5.T Da


- Formate pentru variabile

*Formatul BYTE (B) - acest format este folosit exclusiv pentru realizarea
operaiilor pe iruri de caractere. Un obiect de tip B este reprezentat pe opt bii.
Pentru variabilele de tip BYTE n aceast lucrare se va folosi titulatura de octet.
*Formatul WORD (W) - corespunde unui numr ntreg reprezentat pe 16
bii. Variabilele de tip WORD pot conine valori cuprinse ntre -32 768 i
+32 767. Pentru aceste variabile vom folosi denumirea de cuvnt n format
simplu.

Exemplu de reprezentare:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Rangul
biilor 0 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1




S. E. C. N.



8



CURS 8
*Formatul DWORD (D) - corespunde unui numr ntreg reprezentat pe 32
bii. Un obiect de tip DWORD este de fapt alctuit din dou variabile consecutive
de tip WORD. Pentru un astfel de obiect vom folosi denumirea de cuvnt n
format dublu. Cu ajutorul acestor variabile pot fi memorate numere ntregi care
aparin intervalului (- 2 147 483 648 , 2 147 483 647).

Exemplu de reprezentare:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 Cuvnt n
Rangul
biilor
1 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 Cuvnt
n+1

*Formatul REAL (F) este folosit pentru reprezentarea numerelor reale
folosind o virgul mobil. Acest format corespunde standardului IEEE Std 754-
1985. Un numr real este reprezentat pe 32 de bii i este alctuit din dou
variabile de tip WORD.

- Reprezentarea valorilor numerice

Urmtorul tabel prezint modurile de reprezentate a valorilor numerice:

Tipuri Mrimi Exemplu de valori Limite
inferioare
Limite
superioare
Format W 1506 -32768 +32767 Numere
ntregi
reprezentate
n baza 10
Format D 578963 -2 147 483
648
2 14 483 647
Format W 2#100011101111101
1011
2#100 2#011 Numere
ntregi
reprezentate
n baza 2
Format D 2#100011101111101
10111111111011111
011111
2#100 2#011
Format W 16#AB20 16#0000 16#FFFF Numere
ntregi
reprezentate
n baza 16
Format D 16#5AC10 16#00000
0000
16#FFFFFFFF
Nr. real
reprezentat
n virgula
mobila
Format F -1.32E12 -
3.402824E
+38
1.175494E
-38
-1.175494E-38
3.402824E+38



S. E. C. N.



9



CURS 8

c. Adresarea variabilelor scalare ataate modulelor de intrri sau de
ieiri

Adresarea principalelor variabile de tip cuvnt sau bit se realizeaz dup
cum urmeaz:

%
SImbol
I,Q,M,K
Tip
X,W,D
Format
X- bit
W-Word
D-Dword
X
Rack
Y
Pozitia
.
. i
.
. r

- Tipul variabilei
Caracterul I se folosete pentru a desemna variabilele de intrare,
caracterul Q desemneaz variabilele de ieire. Variabilele de intrare i de ieire
sunt reactualizate la fiecare ciclu de baleere a programului.
Caracterul M se folosete pentru a desemna variabilele de memorie
ataate modulelor I/O, iar caracterul K pentru datele constante. Aceste variabile
sunt folosite n special pentru: furnizare de informaii despre starea modulului,
reglarea unor parametri i pentru configurarea modulului. Variabilele de
memorie ataate modulelor I/O nu sunt actualizate automat de ctre CLP.
Actualizarea strii acestor variabile se realizeaz cu ajutorul unor instruciuni
specifice de transfer explicit.
- Formatul variabilei
Formatul variabilei specific dimensiunea acestuia. Pentru variabilele
discrete se folosete caracterul X care poate fi omis.
- Adresarea canalului
Adresare variabilei depinde de adresa rack-ului, de poziia modulului I/O n
rack i de numrul canalului. Pentru a accesa informaii despre modul, numrul
canalului poate fi nlocuit cu caracterele MOD.
- Rangul
Rangul desemneaz un sufix opional care poate fi adugat dup numrul
canalului care este folosit pentru a realiza distincia dintre diferitele variabile de
acelai tip asociate unui canal.
Pentru a determina erorile aprute la nivelul unui canal sau a unui modul
n locul rangului se scriu caracterele ERR.

Exemple:

%I102.5 : intrarea corespunztoare canalului 5 a modului situat n rack-ul 1 pe
poziia 2.
%Q307.2: ieirea corespunztoare canalului 2 a modului situat n rack-ul 3 pe
poziia 7.



S. E. C. N.



10



CURS 8
%I102.MOD.ERR: bit care precizeaz o defeciune a modului situat n rack-ul 1
pe poziia 2
- Adresarea variabilelor numerice
Modul de adresare pentru variabilele de intrare sau ieire de tip cuvnt a
fost prezentat n paragraful anterior. Pentru celelalte tipuri de variabile numerice
adresarea se face n urmtorul mod.

%
SImbol
M,K, S
Tip
M=Memorie
K=Constanta
S=Sistem
B,W,D,F
Format
B=Byte
W=Word
D=Dword
F=REAL
i
Numar

- Concatenarea cuvintelor
Variabilele de memorie de tip
BYTE, WORD, DWORD, REAL sunt
depozitate n aceeai zon de
memorie. De aceea alctuirea lor se
face prin concatenare:
cuvintele format DWORD
%MDi din cuvintele format WORD
%MWi i MWi+1)
cuvintele %MWi din variabilele
de tip BYTE %MBj i %MBj+1
numrul real reprezentat n
format cu virgul mobila (FLOAT)
%MFk din cuvintele cu lungime
simpl %MWk i %MWk+1.

- Adresarea biilor extrai din cuvinte
Se poate extrage unul din cei 16 bii care alctuiesc o variabil de tip word
folosind sintaxa:
Variabila
Variabila
WORD
:X j
Rang bit
de la 0 la 15


Exemple:

%MW10:X4 = bitul cu rangul patru al cuvntului intern %MW10.
%QW5.1:X10 = bitul cu rangul zece al cuvntului de ieire %QW5.1.




S. E. C. N.



11



CURS 8
- Variabile structurate n tabele
Se pot folosi tabele de bii sau tabele de variabile numerice. Un tabel este
alctuit dintr-o secven de variabile de acelai tip. Numrul variabilelor
reprezint lungimea tabelului.
Pentru folosirea unui tabel se folosete sintaxa:

E1
Lungimea
tabelului
:L
Primul element
al tabelului


Tabelele de octei sunt folosite pentru stocarea irurilor de caractere.
Primul element al unui astfel de tabel trebuie s fie de rang par.
- adresarea indexat a variabilelor
Adresarea variabilelor este considerat direct atunci cnd adresa
variabilelor este definit explicit la scrierea programului.
Atunci cnd adresa unui obiect este calculat pe baza adresei directe la
care se adaug o valoare a unui obiect index se spune c se realizeaz
adresarea indexat. Obiectul index poate fi o variabil intern de tip Word, o
constant de tip Word sau o valoare explicit.
n general acest tip de adresare este folosit pentru parcurgerea succesiv
a unui set de variabile de acelai tip.
Adresarea indexat se realizeaz conform sintaxei:

Adr
i-obiect index
[ i ]
Adresa
directa a unui
obiect

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