Sunteți pe pagina 1din 10

AP Curs 10 Page 1 of 10

Curs 10: Instruciuni pentru manipularea datelor




Introducere

Dotarea automatelor programabile cu instruciuni pentru manipularea datelor i cu instruciuni
aritmetice a permis extinderea domeniului de aplicaie, de la controlul de tip on-off, la controlul
analogic sau controlul poziional.

Instruciunile de manipulare a datelor pot fi clasificate folosind diverse criterii:
a) Dup tipul instruciunilor:
- Instruciuni de transfer;
- Instruciuni de comparare;

b) Dup mrimea blocurilor procesate:
- Instruciuni cu operare la nivel de cuvnt caz n care se folosete terminologia
de register sau de word);
- Instruciuni cu operare pe blocuri/pachete de date caz n care se folosete
terminologia de table sau file;
c) Dup efectul instruciunilor:
- stocarea temporar a informaiei;
- deplasarea informaiei dintr-o zon de memorie n alta;
- deplasarea i prelucrarea informaiei dintr-o zon de memorie n alta;

Conceptul de cuvnt, respectiv tabel de date, este prezentat n figura 1, pentru cazul automatelor
Allen-Bradley.

Fig. 1: Ilustrarea conceptului de registru (cuvnt), respectiv de tabel (fiier), n cazul AP

Facilitatea de a opera la nivel de cuvnt este foarte important pentru lucrul cu intrri/ieiri
analogice.


AP Curs 10 Page 2 of 10
1. Instruciuni pentru transferul datelor la nivel de cuvnt

Instruciunea Move(MOV) deplaseaz datele din registrul surs (S) n registrul destinaie (D),
fr alterarea informaiei transferate . Cteva modaliti de reprezentare pentru aceast
instruciune sunt prezentate n figura 2.


Fig. 2: Modaliti de reprezentare a instruciunii MOV
Instruciunea MOV poate fi folosit pentru:
- ncrcarea registrului Preset al unui numrtor sau al unui timer;
- preluarea coninutului registrului Accumulator de la un numrtor;
- preluarea strii logice de la intrrile discrete ale unui modul de intrare i
depunerea lor ntr-un registru;
- preluarea informaiei dintr-un registru i transmiterea ei la un modul de ieire;
- lucrul cu modulele analogice de intrare sau de ieire;

Condiia de validare a liniei n care este amplasat instruciunea MOV este opional

Instruciunea Move with Mask (MVM)
Pentru aceast instruciune trebuie specificate 3 registre: surs, masc, destinaie.
Fiecare bit din registrul surs care ntlnete valoarea 1 pe poziia corespondent a registrului
masc, ajunge n registrul surs prin suprascriere peste coninutul iniial al destinaiei.
Fiecare bit din registrul surs care ntlnete valoarea 0 pe poziia corespondent a registrului
masc, nu modific coninutul iniial al destinaiei.


Fig. 3: Modul de operare al instruciunii MVM, pentru automatele Allen-Bradley



AP Curs 10 Page 3 of 10
Instruciunea de deplasare a unui segment dintr-un registru, Bit Field Distribution (BTD)
Instruciunea BTD, permite copierea/deplasarea doar a unui segment, de lungime specificat, din
registrul surs. Registrul destinaie poate fi un registru oarecare (vezi figura 4b) sau chiar
registrul surs (vezi figura 4a).

Fig. 4: Modul de operare al instruciunii BTD, pentru automatele Allen-Bradley
Pentru acest tip de instruciune trebuie specificat:
- registrul surs;
- bitul surs (bitul de nceput al segmentului ce urmeaz a fi copiat din registrul
surs);
- lungimea (exprimat n bii) a segmentului ce urmeaz a fi copiat;
- registrul destinaie;
- bitul destinaie n registrul destinaie (bitul de la care se ncepe depunerea
fragmentului copiat).


AP Curs 10 Page 4 of 10
Aplicaia 1: Schimbarea
constantei de timp a unui
Timer
n figura 5 se prezint o
aplicaie simpl n care
durata temporizrii timer-
ului T4:1 se poate schimba
n timpul funcionrii de la 5
la 10 secunde, n funcie de
starea comutatorului SS1.
Cele dou constante (5
respectiv 10 secunde), sunt
ncrcate n registrul Preset
al timerului prin intermediul
instruciunilor de tip MOV.


Fig. 5: Utilizarea instruciunii MOV pentru schimbarea constantei de timp


Aplicaia 2:
Schimbarea valori preset
pentru un numrtor CTU
n figura 6 se prezint o
aplicaie de numrare a
pieselor de pe o band
rulant.
Valoarea prestabilit a
numrului de piese se poate
modifica n timpul
funcionrii prin intermediul
comutatoarelor A, B, C.
ncrcarea registrului Preset
al numrtorului se face prin
intermediul instruciunilor
de tip MOV, ce sunt
condiionate comutatoarelor.


Fig. 6: Utilizarea instruciunii MOV pentru schimbarea registrului Preset al unui
numrtor

AP Curs 10 Page 5 of 10
2. Instruciuni pentru transferul blocurilor de date
Operaiile de copiere sau de transferare a tabelelor/fiierelor/blocurilor de date sunt realizate prin
instruciuni specifice ce pot diferi de la un productor la altul. n principiu, exist trei tipuri de
operaii cu fiiere, aa cum se arat n figura 7: registru fiier; fiier fiier; fiier
registru.

Fig. 7: Instruciuni pentru transferul datelor la nivel de fiier

Transferul de tip File/Table Registru
Blocul de memorie (denumit uneori fiier, alteori tabel) este constituit dintr-un grup de registre
amplasate la adrese succesive.
Transferul de tip fiier registru se realizeaz deplasnd, unul dup altul, cuvintele din blocul
de memorie, n registrul destinaie. Pentru aceasta, n corpul instruciunii trebuie specificat,
adresa de nceput a blocului de memorie, dimensiunea blocului de memorie ce trebuie deplasat,
pointerul din interiorul blocului i adresa registrului destinaie.
Un exemplu de acest fel este prezentat n figura 8. Blocul de date ce trebuie transferat este
amplasat la adresa Reg 2000 i are dimensiunea 8. Valoarea pointerului este specificat de
registrul 1000 i are valoarea 4. Registrul destinaie este Reg 3000. n aceste condiii, dup
validarea instruciunii (nchiderea contactului 10), la prima tranziie OFFON a contactului 11
are loc transferul registrului Reg 2003 n registrul Reg 3000 , dup care se incrementeaz
pointerul (trece din valoarea 4 n valoarea 5). La urmtoarea tranziie OFFON a contactului 11
se transfer Reg 2004 i aa mai departe, pn la terminarea blocului de date, moment n care se
activeaz ieirea 101.
Ieirea Enable urmrete starea contactului de validare 10, iar ieirea End of Table se activeaz
dup transferul ultimei locaii a blocului de date.


Fig. 8: Modul de operare al instruciunii de transfer de tip fileregistru
AP Curs 10 Page 6 of 10
Instruciunea poate fi folosit pentru: ncrcarea valorii preset a numrtoarelor; stabilirea
constantei de timp a timerelor; controlul simultan al mai multor ieiri discrete; controlul ieirilor
analogice, etc.

Transferul de tip Registru File/Table
Acest tip de instruciune permite stocarea ntr-o zon de memorie specificat, a coninutului unui
registru din momente diferite de timp. Modul de lucru este ilustrat n figura 9.


Fig. 9: Modul de operare al instruciunii de transfer de tip registru file
Instruciunea poate fi folosit pentru: ncrcarea de noi date ntr-un tabel; stocarea evoluiei n
timp a unei intrri analogice; stocarea evoluiei n timp a unui grup de intrri discrete; stocarea
evoluiei n timp a semnalului de eroare dintr-un proces, etc.

Operaii aritmetice la nivel de fiier, instruciunea File Arithmetic and Logic (FAL).
O instruciune de transfer fiiere, cu un caracter mai general, ce permite i execuia unor operaii
matematice asupra datelor transferate este ntlnit la automatele Allen-Bradley, sub denumirea
de File Arithmetic and Logic (FAL).
Semnificaia parametrilor specifici instruciunii FAL, se prezint mai jos:
- Control, este un registru n care procesorul scrie o serie de bii necesari n
procesul de execuie al instruciuni. n mod implicit, registrul de control este R6.
- Lenght, reprezint dimensiunea blocului de date (fiierului) ce trebuie transferat
exprimat n cuvinte. Dimensiunile acceptate sunt cuprinse ntre 1 i 1000,
exprimat ca numr zecimal.
- Position, reprezint poziia curent n fiier, n momentul execuiei operaiei de
transfer. Imediat dup resetarea acestei instruciuni, valoarea acestui registru este
zero, valoare ce are semnificaia nceputului de fiier. n timpul execuiei
programului, acest registru poate fi scris i cu o valoare oarecare, dac transferul
trebuie nceput din alt punct i nu de la nceput.
- Mode, indic numrul de elemente din fiier ce trebuie transferate n fiecare
proces de scanare. Exist trei posibiliti:
AP Curs 10 Page 7 of 10
o All Mode, (A), fiierul este transferat complet ntr-un singur ciclu scan.
Acest mod de lucru are ca efect creterea timpului necesar efecturii unui
scan, mai ales pentru fiiere lungi.
o Numeric Mode, permite specificarea numrului de elemente ce trebuie
transferate din fiier, n fiecare scan. Acest mod de lucru are ca efect
scderea timpului necesar efecturii unui ciclu scan prin faptul c fiierul
este fragmentat i transferat pe parcursul mai multor cicluri scan. n acest
registru se accept numere ntre 1 i 1000.
o Incremental Mode, (I ), determin transferarea unui singur element
pentru fiecare tranziie pozitiv (falsetrue) a prii de intrare a liniei
Ladder n care este amplasat instruciunea FAL.
- Destination, este un registru n care se precizeaz adresa de nceput a zonei de
memorie n care se depun elementele transferate. Se accept adres de fiier sau
adres de registru.
- Expression, este un registru n care se poate preciza adresa sursei de date, o
constant sau un tip de operator.
Modul de utilizare a instruciunii FAL pentru realizarea transferurilor de date fr prelucrare,
se poate vedea n figurile 10 i 11, pentru:
- realizarea transferului de tip filefile (vezi figura 10)
- realizarea transferului de tip fileword (vezi figura 11.a)
- realizarea transferului de tip word file (vezi figura 11.b)


Fig. 10: Transferul de date de tip filefile folosind instruciunea FAL


AP Curs 10 Page 8 of 10

Fig. 11: Utilizarea instruciunii FAL pentru transfer de tip: a) fileword; b) word file;

Instruciunea FAL permite i realizarea de operaii aritmetice sau logice, cu execuie la nivel de
fiier cum ar fi: adunarea, scderea, nmulirea, mprirea, extragerea radicalului, conversii din
binar n BCD sau din BCD n binar.
Modul de utilizare a instruciunii FAL pentru realizarea transferurilor de date cu prelucrare,
se poate vedea n figurile 10 i 11, pentru:
- adunarea ntre datele din dou fiiere (vezi figura 12.a)
- scderea unei constante din datele unui fiier (vezi figura 12.b)
- nmulirea datelor dintr-un fiier cu o constant (vezi figura 13.a)
- mprirea datelor din dou fiiere (vezi figura 13.b)


Fig. 12: Utilizarea instruciunii FAL pentru: a) adunarea datelor din dou fiiere; b) realizarea scderii cu o
constant a datelor dintr-un fiier
AP Curs 10 Page 9 of 10

Fig. 13: Utilizarea FAL pentru: a) nmulirea datelor din dou fiiere; b) realizarea mpririi ntre dou fiiere


3. Instruciuni de transfer cu execuie rapid
Unele automate dispun de instruciuni de copiere a fiierelor cu execuie mai rapid dect cele
prezentate anterior. n continuare se prezint dou instruciuni specifice automatelor Allen-
Bradley.
a) Instruciunea Copy File (COP)
Instruciunea COP este folosit pentru copierea rapid a dou blocuri de date. Modul de execuie
i elementele caracteristice sunt prezentate n figura 14.a


Fig. 14: Instruciuni cu execuie rapid: a) instruciunea Copy File (COP); b) instruciunea Fill File (FLL);

b) Instruciunea Fill File (FLL)
Instruciunea FLL este similar instruciuni de transfer word file, este folosit pentru scrierea
rapid a unui bloc de date. Modul de execuie i elementele caracteristice sunt prezentate n
figura 14.b. Instruciunea este folosit mai ales pentru scrierea valorii 0 ntr-o zon de memorie.
AP Curs 10 Page 10 of 10
4. Instruciuni pentru diagnosticare, Diagnostics (DIAG)
Aceast instruciune este util n verificarea funcionrii corecte a echipamentelor comandate de
AP. Ca mod de lucru, instruciunea DIAG realizeaz o comparare ntre dou fiiere:
- RefReg fiierul cu date de referin (conine comportarea dorit a sistemului);
- SourceReg fiierul cu date de intrare (conine comportarea actual al sistemului);
Simbolul i modul de operare al instruciunii DIAG este prezentat n figura 15.

Fig. 15: Instruciunea Diagnostics (DIAG)
Dup terminarea instruciunii se activeaz ieirea Done. n cazul n care s-au gsit diferene ntre
coninutul celor dou fiiere, se activeaz i ieirea Miscompare, iar bitul eronat i poziia
acestuia sunt memorate ntr-un registrul intern, Reg 3000.

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