Sunteți pe pagina 1din 148

UNIVERSITATEA DIN PETROŞANI

DEPARTAMENTUL AUTOMATICĂ, CALCULATOARE


INGINERIE ELECTRICĂ ŞI ENERGETICĂ

SISTEME DE ACHIZIŢIE ŞI
PRELUCRARE A DATELOR
- NOTE DE CURS –

Conf.univ.dr.ing. NICOLAE PĂTRĂŞCOIU

2013
CUPRINS

Cap. I Generalităţi privind sistemele de achiziţie şi prelucrare a datelor


Cap. II Limbajul de programare grafică LabVIEW
Cap. III Circuite de conversie numeric – analogică (CNA)
Cap. IV Circuite de conversie analog – numerică (CAN)
Cap. V Circuite de eşantionare şi memorare (CEM)
Cap. VI Circuite pentru multiplexarea datelor (MUX)
Cap. VII Amplificatoare cu câştig programabil (PGA)
Cap. VIII Structura sistemelor de achizitie de date
Cap. IX Plăci de achiziţie de date (DAQ)
Sisteme de achiziţie şi prelucrare a datelor

CAPITOLUL I
Generalităţi privind sistemele de achiziţie
şi prelucrare a datelor
1.1. Introducere
În ziua de astăzi tot mai mulţi oameni de ştiinţă şi ingineri folosesc porturile PC-ului
(paralel, serial, PCI, PCMCIA, USB, ISA) pentru a realiza achiziţia de date în laboratoarele
de cercetare, pentru teste şi măsurători, precum şi pentru automatizarea diferitelor procese din
industrie. Multe din aplicaţiile ce presupun achiziţia de date folosesc plăci de tipul plug-in
(plug-in boards), pentru culegerea datelor şi trimiterea acestora direct în memoria
calculatorului. Alte tipuri de aplicaţii folosesc echipamente hardware specializate în achiziţia
de date, care sunt cuplate la calculator / PC folosindu-se pentru aceasta portul paralel sau cel
serial.
Obţinerea unor rezultate cât mai performante în cazul achiziţiei de date ce foloseşte
metoda bazată pe componente hard dedicate procesului de achiziţie depinde direct de
elementele unui astfel de sistem prezentate în fig.1.1:
• PC-ul
• echipamentul hard destinat achiziţiei şi analizei datelor
• software-ul
• instrumentele de prelucrare a semnalelor
• traductoare

Hardware pentru
achiziţie şi analiză

Traductoare

Condiţionare
semnal
PC Software

Fig.1.1. Structura unui sistem de achiziţie cu echipament hard dedicat


Traductoarele sunt echipamentele cu ajutorul cărora se realizează conversia unui
fenomen fizic în altul. Cele mai răspândite traductoare sunt cele care fac conversia unei
mărimi fizice într-o mărime electrică (tensiune, curent); într-un semnal analog care să poată fi
apoi preluat de către un CAN (convertor analog numeric). În toate cazurile semnalele
analogice rezultate la ieşirile traductoarelor sunt proporţionale cu semnalele aflate la intrarea
lor. Caracteristicile unui traductor ajută mult la stabilirea condiţiilor ce trebuie îndeplinite de
sistemul de achiziţie.
Instrumentele de prelucrare a semnalelor. Semnalele electrice generate cu ajutorul
traductoarelor, trebuie optimizate astfel încât să corespundă limitelor de intrare ale
echipamentului de achiziţie folosit. Instrumentele folosite la prelucrarea diferitelor semnale
pot realiza o sumă de operaţii cum ar fi : amplificarea semnalului scăzut, sau atenuarea

1
Generalităţi privind sistemele de achiziţie şi prelucrare a datelor

semnalelor cu un nivel mai ridicat, izolarea semnalelor, filtrarea semnalelor pentru o mai bună
utilizare, fig.1.2.

Fig.1.2. Sistem de achiziţie cu echipament hard dedicat

Amplificarea este cea mai cunoscută metodă de prelucrare a semnalelor. Astfel,


semnalele cu un nivel scăzut furnizate de un termocuplu, spre exemplu trebuie amplificate
pentru creşterea rezoluţiei şi reducerea bruiajului. Pentru obţinerea unei acurateţe maxime,
semnalul trebuie astfel amplificat încât tensiunea maximă a semnalului supus prelucrării să fie
egală cu tensiunea limită de intrare a unui CAN.
Atenuarea este procedeul opus amplificării, folosirea lui fiind necesară în cazul în care
semnalul supus prelucrării este mult mai mare decât limita de intrare a convertorului CAN.
Izolarea este operaţia prin care semnalul analogic furnizat de către traductoare este
izolat de calculator din motive de securitate (tensiunea semnalului ar putea fi mai ridicată ceea
ce ar duce la deteriorare PC-ului).
O altă tehnică folosită în cadrul prelucrării semnalelor este şi multiplexarea. Această
tehnică se foloseşte pentru a se putea realiza măsurarea mai multor semnale cu ajutorul unui
singur echipament / aparat de măsură. Multiplexare este folosită în special cu acele semnale a
căror variaţie în timp este foarte lentă .
Filtrarea este procedeul folosit pentru îndepărtarea semnalelor nedorite ce se suprapun
peste semnalul util. Aceste semnale nedorite pot duce la apariţia anumitor erori în procesul de
achiziţie ceea ce face din filtrare o tehnică importantă în prelucrarea semnalelor.
Prelucrarea semnalelor presupune printre altele şi aplicarea unor impulsuri de excitaţie
pentru anumite traductoare sau alimentarea externă a acestora, excitaţie necesară pentru
achiziţia de date.
Liniarizarea este un procedeu folosit în special cu acele tipuri de traductoare al căror
răspuns la diferitele modificări ale valori semnalului studiat este neliniar.
Este foarte important de înţeles natura semnalului supus prelucrării, precum şi acţiunile
exercitate asupra acestuia pe toată durata prelucrării semnalului şi efectele mediului
înconjurător. Ţinând cont de cele de mai sus ne va ajuta să determinăm dacă prelucrarea
semnalelor trebuie introdusă ca o parte componentă a sistemului de achiziţie.
Echipamentele de achiziţie şi analiza a datelor sunt caracterizate de tipul intrărilor şi
ieşirilor.

2
Sisteme de achiziţie şi prelucrare a datelor

Intrările analogice vor oferi informaţii cu privire la capacităţile şi acurateţea plăcilor de


achiziţie din cadrul sistemelor de achiziţie. Astfel vom putea obţine informaţii referitoare la
numărul de canale specifice plăcii, la rata de achiziţie a datelor, la rezoluţia plăcii şi la valorile
maxime şi minime specifice intrărilor plăcii (input range). Intrările pot fi cu masă comună
(ground) sau diferenţiale caracterizându-se prin faptul că sunt legate independent la masă.
Folosind intrările diferenţiale vor scădea erorile datorate zgomotului.
Rata de achiziţie (sampling rate) ne va ajuta să determinăm cât de des poate avea loc o
conversie. O rată mai ridicată de achiziţie va determina obţinerea unei mai bune reprezentări a
semnalului original.
Operaţia de multiplexare este folosită pentru a permite măsurarea mai multor semnale
cu ajutorul unui singur convertor CAN. Convertorul preia datele de pe un canal spre
prelucrare după care se mută la următorul canal şi aşa mai departe.
Rezoluţia este determinată de numărul de biţi folosit de convertor pentru reprezentarea
semnalului în cauză. Cu cât rezoluţia convertorului este mai mare, cu atât mai uşor vor fi
determinate variaţiile valorii semnalului prelucrat. Plaja se referă la valorile limită max-min
ce pot fi preluate de către convertor.
Multe sisteme de achiziţie se folosesc de apariţia unui eveniment extern pentru a
declanşa sau pentru a opri procesul de achiziţie, utilizând sisteme de întreruperi.
Interfeţele digitale de I/O sunt folosite în cadrul sistemelor de achiziţie cu PC pentru
controlul proceselor, generarea unor parametrii pentru testare precum şi comunicarea cu
echipamentele periferice. În fiecare caz un parametru important îl reprezintă numărul de linii
sau de canale disponibile pentru transfer, rata de transfer pe aceste linii.
Trebuie reţinut că numărul de linii / de canale trebuie să fie acelaşi cu numărul de
procese controlate.
Transferul de date între palcă şi PC se face în general sub forma unui byte (8-biţi), fapt
care face ca liniile I/O să fie grupate câte 8.
Circuitele de tip timer sau contor pot fi folosite în cadrul sistemelor de achiziţie pentru
realizarea diferitelor operaţii care presupun o contorizare.
Pentru implementarea unui astfel de circuit se ţine seama de 3 semnale:
• gate - este un semnal digital de intrare care poate activa sau dezactiva funcţionarea
circuitului
• sursa (source) - este un semnal digital de intrare care va provoca circuitul de numărare
să se incrementeze
• ieşirea - generează semnale şi pulsuri la ieşirea circuitului.
Dintre caracteristicile unui astfel de circuit de numărare menţionăm rezoluţia şi
frecvenţa internă. Cu cât avem o rezoluţie mai mare cu atât mai mult vor creşte valorile ce pot
fi numărate, rezoluţia este dată de numărul de biţi ai timer-ului, counter-ului. Frecvenţa
internă este cea care stabileşte viteza de incrementare a circuitului de numărare.
Tipul de PC folosit în cadrul sistemelor de achiziţie de date poate influenţa într-un mod
categoric viteza maximă la care se poate desfăşura procesul de achiziţie de date. Spre exemplu
folosirea portului serial pentru achiziţia de date va limita viteza de achiziţie la valoarea vitezei
de comunicaţie a portului serial.
Calităţile PC-ului folosit vor influenţa performanţele sistemelor de achiziţie ce folosesc
plăci de achiziţie care se leagă la PC prin intermediul portului paralel sau serial. Deşi toate
tipurile de PC-uri sunt capabile la ora actuală să efectueze operaţii I/O precum şi operaţii cu
întreruperi, nu toate dispun de transfer DMA, astfel prin folosirea unor echipamente hard
dedicate se va putea realiza transferul datelor direct în memoria calculatorului. Folosindu-se
această metodă procesorul va fi eliberat de nevoia realizării acestor transferuri, putând fi
angajat în realizarea unor operaţii mult mai complexe. Pentru a putea realiza acest lucru placa
folosită va trebui să fie capabilă să realizeze astfel de transferuri.

3
Generalităţi privind sistemele de achiziţie şi prelucrare a datelor

Un alt factor care ar putea limita viteza de achiziţie în cazul prelucrării unei cantităţi
mari de informaţie îl reprezintă hard-disk-ul. Timpul de acces la disk precum şi gradul de
fragmentaţie al acestuia, vor determina viteza la care datele pot fi culese şi stocate pe disk.
Motiv pentru care se recomandă utilizarea unor disk-uri de capacitate mare şi viteză ridicată
care să nu îngreuneze procesul de achiziţie.
Aplicaţiile care necesită achiziţia de date în timp real a semnalelor de frecvenţă ridicată
au nevoie de procesoare de 32 de biţi rapide şi de coprocesoarele acestora, sau prezenţa unui
procesor de digital (DSP) de prelucrarea a semnalelor. Alegerea sistemului de operare al PC-
ului precum şi a softului care gestioneze desfăşurarea procesului de culegere de date trebuie
făcută cu grijă.
Software-ul este cel care transformă PC-u şi echipamentul de achiziţie într-un adevărat
sistem de achiziţie, analiză şi vizualizare a datelor. Un echipament de achiziţie de date este
practic inutil fără soft-ul aferent care să gestioneze procesul de achiziţie, precum aproape
inutil este şi un echipament de achiziţie cu un soft neadecvat sau slab din punct de vedere
calitativ. Majoritatea aplicaţiilor de culegere şi prelucrare a datelor folosesc programe de tip
drive. Acest tip de software lucrează direct cu regiştrii echipamentului de achiziţie (placa)
realizând tot odată gestionarea transferului de informaţie dintre PC şi placă. Programele de tip
driver ascund detaliile complicate ale programării, oferind utilizatorului o interfaţă uşor de
utilizat.
Un driver bun din punct de vedere calitativ va determina o combinaţie optimă între
flexibilitatea şi performanţele sistemului; aceste caracteristici diminuându-se în cazul un
driver mai puţin performant.

Fig.1.3. Interfaţă de lucru în cadrul procesului de testare a lubrifianţilor auto

În selectarea unui driver trebuie să se ţină cont de anumiţi factori şi anume:


1. trebuie să se cunoască funcţiile ce pot fi realizate cu acest driver. Funcţiile pentru
controlul echipamentului hard se pot grupa în analog I/O, digital I/O, timing I/O.
De asemenea trebuie să ne asigurăm că driver-ul face mai mult decât să citească
datele de la placă, el va trebui să fie capabil să :
• culeagă datele cu o anumită viteză impusă
• poată culege datele (plan secund) în timpul prelucrării (plan principal)

4
Sisteme de achiziţie şi prelucrare a datelor

• transfere datele de la şi spre hard-disk cu o viteză bună


• îndeplinească mai multe funcţii în acelaşi timp
• integra mai mult de o singură placă
2. trebuie să se cunoască care este cel mai bun sistem de operare. Alegerea
sistemului de operare este un pas foarte important în selectarea driver-ului ce
urmează a fi folosit. Alegerea unui sistem de operare nepotrivit va duce la
diminuarea performanţelor sistemului de achiziţie.
3. se caută să se observe dacă funcţiile necesare sunt accesibile prin software
4. trebuie descoperit la timp dacă driver-ul gestionează corect resursele sistemului
evitând apariţia erorilor pe parcursul desfăşurării diferitelor acţiuni.
Toate aceste condiţii vor îndruma utilizatorul spre alegerea driver-ului care se potriveşte
cel mai bine aplicaţiei .
Pentru dezvoltarea unor sisteme de achiziţie de date performante, trebuie să se cunoască
şi să se înţeleagă acţiunea fiecărei componente în parte. Astfel dintre toate componentele unui
sistem de achiziţie cea mai studiată trebuie să fie componenta soft a acestuia, deoarece plăcile
„plug and play” nu au display-uri softul fiind singura interfaţă a sistemului. Prin intermediul
soft-ului putem vizualiza desfăşurarea procesului, controlându-l în acelaşi timp.
Prin intermediul soft-ului toate componentele unui sistem de achiziţie descrise mai sus
(traductoare, instrumente de prelucrare a semnalului, echipamente hard dedicate, PC), sunt
înglobate într-un sistem de achiziţie de date complet şi funcţional.

1.2. Locul şi rolul sistemelor de achiziţie de date


Controlul unui sistem sau proces fizic presupune obţinerea de informaţii despre acesta,
informaţii care trebuie memorate, redate sau comunicate unui nivel ierarhic superior. Toate
procesele fizice sunt caracterizate prin mărimi fizice care pot fi transformate în semnale
electrice (de regulă de natură analogică) de către traductoare obţinându-se astfel informaţii
despre proces. Prelucrarea acestor semnale se poate realiza prin tehnici analogice sau prin
tehnici numerice caz în care semnalele analogice furnizate de traductoare sunt convertite în
semnale numerice prin intermediul unor circuite electronice specializate numite sisteme de
achiziţie de date (SAD).
Structura unui sistem care utilizează un sistem de achiziţie de date în vederea
prelucrării numerice a informaţiilor este prezentată în fig.1.4.
Semnale Semnale Semnale numerice Semnale analogice
analogice numerice prelucrate prelucrate

SISTEM DE DISPOZITIVE
TRADUCTOARE SAD SPN DISTRIBUŢIE MEMORARE
DATE ŞI REDARE
Acţiuni
Mărimi fizice
fizice

PROCES ELEMENTE
FIZIC DE EXECUŢIE

Fig.1.4. Structura sistemului de control al unui proces fizic

Semnalele analogice furnizate de traductoare sunt supuse unor prelucrări analogice


iniţiale cum ar fi:
• divizare,

5
Generalităţi privind sistemele de achiziţie şi prelucrare a datelor

• amplificare,
• filtrare,
• izolare,
• conversie curent-tensiune.
Semnalele numerice sunt obţinute în continuare prin prelevarea unui eşantion la anumite
momente de timp a valorii semnalului analogic şi atribuirea unui cod numeric în funcţie de
nivelul (mărimea) acestui eşantion. Conform acestei funcţii a SAD rezultă că elementele de
bază în structura acestuia sunt circuitul de eşantionare şi memorare respectiv convertorul
analog numeric. Circuitul de prelucrare numerică are rolul de a reprezenta sub o anumită
formă impusă de aplicaţia respectivă a informaţiilor culese din proces sub formă de semnale.
Reprezentarea acestora se poate face prin:
• identificarea semnalului purtător al informaţiei,
• reprezentarea tabelară a valorilor acestuia,
• reprezentarea grafică a evoluţiei în timp,
• reprezentarea în domeniul frecvenţei.
Se obţin astfel semnale numerice prelucrate care conţin informaţii despre starea şi evoluţia
procesului în reprezentări corespunzătoare aplicaţiilor. Aceste sunt utile de asemenea pentru
generarea comenzilor în vederea reglării sau conducerii procesului şi aceste comenzi generate
de sistemul de prelucrare sunt reprezentate sub formă numerică astfel că este necesară
conversia acestora în semnale analogice. Această funcţie este realizată de convertoarele
numeric analogice care se găsesc în componenta de distribuţie de date a sistemului. Semnalele
numerice şi analogice pot fi utilizate pentru memorarea şi redarea informaţiilor sau pentru
comanda elementelor de execuţie (motoare, relee, electrovalve, etc.) prin care se realizează
controlul procesului fizic.
Sistemul de achiziţie de date după rolul şi poziţia pe care o are în cadrul sistemului de
control poate fi asimilat împreună cu traductorul cu un sistem de măsurare pentru că acestea
sunt cele care culeg informaţia şi o transmit sub forma corespunzătoare sistemului de
prelucrare.
Îndeplinirea cerinţelor impuse unor astfel de sistemelor impune utilizarea
microelectronicii (microprocesoare, microcontrolere) în structura lor ceea ce a atras după sine
dezvoltarea atât a tehnicilor cât şi a mijloacelor de măsurare permiţând pe lângă
implementarea unor funcţii matematice şi îmbunătăţirea preciziei de măsurare prin efectuarea
corecţiilor corespunzătoare precum şi automatizarea operaţiilor de măsurare. Evoluţiile în
ceea ce priveşte componenta hard a sistemelor de măsurare sunt corelate cu aplicaţiile soft
corespunzătoare.
Sistemele de comanda şi control cu posibilităţi de utilizare şi în tehnica măsurărilor
pot fi grupate astfel:
• sisteme universale în care sunt utilizate microprocesoare sau microcontrolere
programabile;
• sisteme orientate pe aplicaţii;
• sisteme dedicate realizate în logică cablată.
Dintre acestea primele două prezintă un interes major în aplicaţii de acest gen, ultima
grupă cu tot avantajul oferit de viteza mare de lucru are aplicaţii restrânse datorită flexibilităţii
nule, a numărului mare de componente ceea ce atrage după sine un consum energetic care
devine restrictiv în cadrul instrumentaţiei portabile precum şi o fiabilitate mai redusă.

1.3. Structura generală a unui sistem de achiziţie şi prelucrare a datelor


Controlul unui proces fizic presupune extragerea informaţiilor privind desfăşurarea
acestuia, prin utilizarea traductoarelor. Semnalele furnizate de traductoare sunt în general
reprezentate prin mărimi analogice de natura tensiunilor electrice. Aceste semnale sunt supuse

6
Sisteme de achiziţie şi prelucrare a datelor

unei prelucrări iniţiale, prelucrare numită de condiţionare a semnalului şi care constă în


general din: filtrare (pentru eliminarea semnalelor parazite suprapuse peste semnalul util),
amplificare (pentru ridicarea nivelului semnalului având în vedere că semnalele furnizate de
traductoare sunt în general de nivel mic), demodulare (acolo unde se utilizează principiul
modulării-demodulării pentru amplificarea semnalelor de c.c.), eventual formare de semnal
etc.
Pentru controlul numeric al unui proces fizic se impune realizarea conversiei
semnalului analogic în semnal digital acceptat de sistemul de prelucrare (calculator,
microcalculator, sistem cu microprocesor sau microcontroller). Semnalul digital sau numeric
se obţine prin prelevarea la anumite momente de timp a valorii semnalului analogic şi
conversia acestei valori sub forma numerică. Aceste operaţii le efectuează un sistem de
achiziţie de date (SAD).
În general, structura unui SAD cuprinde circuite electronice cu funcţii de prelucrare
necesare pentru conversia datelor, circuite pentru conversia analog numerică şi circuite de
interfaţă pentru transferul semnalului rezultat din achiziţie la un sistem de prelucrare
numerica (SPN).
Structura unui SAD cu un semnal analogic de intrare (fig.1.5) cuprinde: un filtru de
intrare, un amplificator cu câştig programabil (PGA), circuitul de eşantionare şi memorare şi
respectiv de conversie analog-numerică.
Filtrul de intrare are funcţia de eliminare a semnalelor perturbatoare ce se pot
suprapune peste semnalul de măsură util precum şi a erorilor de aliere ce pot rezulta în urma
reprezentării numerice a semnalelor analogice.
Amplificatorul cu câştig programabil are rolul de a asigura nivelul semnalului de
intrare adică al semnalului de măsură cules astfel încât să se încadreze în gama dinamică a
convertorului analog-numeric pentru o gamă cât mai largă de semnale de intrare.
Circuitul de eşantionare şi memorare are rolul de a extrage valori din semnalul de
măsura la anumite intervale de timp, intervale definite de perioada de eşantionare şi de a
menţine constante aceste valori ale semnalului la intrarea convertorului analog-numeric pe
toată durata de realizare a conversiei propriu-zise.

b1b2…bN
ui Amplificator Circuit de Convertor
Filtru de
cu câştig eşantionare/ analog /
intrare
programabil memorare numeric
A E/M start stare
conv conv
Sistem de Prelucrare Numerică (SPN)

Fig.1.5. Structura generală a unui sistem de achiziţie de date

Convertorul analog-numeric realizează operaţia de bază şi anume transformarea


semnalului de măsură, care este un semnal analogic, într-un semnal digital astfel încât acesta
să fie compatibil cu sistemele numerice de prelucrare.
Sistemul de prelucrare numerică realizează prelucrarea semnalului de măsura dar, în
acelaşi timp coordonează şi activitatea celorlalte componente din structura sistemului de
achiziţie şi prelucrare.

7
Limbajul de programare grafică LabVIEW

CAPITOLUL II
Limbajul de programare grafică LabVIEW
2.1. Introducere în LabVIEW
LabVIEW reprezintă un limbaj grafic de programare (denumit şi limbaj G) şi conţine
unelte necesare pentru achiziţia, citirea, prelucrarea, stocarea şi afişarea datelor. Cu
LabVIEW, programatorul proiectează virtual foarte repede interfaţa cu utilizatorul (GUI) şi
asamblează grafic soluţia, după propriile necesităţi. LabVIEW accelerează obţinerea soluţiei
cu un factor de cel puţin 4 sau 10 ori, fata de mediile tradiţionale de programare. Limbajul
grafic de programare a evoluat de la o alternativa în programare la un standard industrial.
Avantajele utilizării instrumentaţiei virtuale sunt reducerea considerabila a costurilor capitale
şi cu dezvoltarea sistemului, şi a timpului de realizare a măsurătorilor
Se prezintă în continuare conceptul de instrumentaţie virtuală, caracteristicile mediului
de programare LabVIEW şi structura unui instrument virtual.
LabVIEW este un mediu de programare utilizat mai ales pentru realizarea
măsurătorilor şi monitorizarea unor procese automatizate. Pentru scrierea programelor în
LabVIEW, se utilizează limbajul grafic G, limbaj de programare de generaţia a 5-a, mediul
LabVIEW conţinând mai multe biblioteci de funcţii predefinite pentru achiziţia, prelucrarea,
afişarea şi transmiterea datelor.
Programele realizate în LabVIEW se numesc instrumente virtuale (Virtual Instruments
- VI), la baza acestora stând conceptele de modularizare şi ierarhie arborescentă (fig.2.1).
Când se proiectează şi se implementează un VI, trebuie să se ţină cont de natura modulară a
acestuia, să poată fi utilizat atât ca program principal cât şi ca subrutină în componenţa unui
alt VI. Un VI folosit la realizarea unui alt VI se numeşte subVI, având rolul unei subrutine.
Prin crearea şi utilizarea de subVI la realizarea altor VI, utilizatorul defineşte ierarhii de VI.

Fig.2.1. Structura unui program LabVIEW


Programele realizate în mediul LabVIEW se numesc, după cum este precizat mai sus,
instrumente virtuale (VI). Un VI are trei părţi componente (fig.2.2.):
• Panoul frontal;
• Diagrama bloc;
• Pictograma şi conectorul
Panoul Frontal defineşte interfaţa grafică cu utilizatorul sau ceea ce va vedea
utilizatorul pe ecranul calculatorului. Obiectele grafice de interfaţă disponibile pentru
realizarea panoului frontal se împart în controale şi indicatoare. Prin intermediul controalelor,
utilizatorul introduce sau actualizează valorile datelor de intrare iar indicatoarele sunt folosite

8
Sisteme de achiziţie şi prelucrare a datelor

pentru a se afişa rezultatele prelucrărilor. Dacă VI se priveşte ca subVI (deci ca subrutină),

Pictograma
Conectorul Diagrama

Panou frontal

Fig.2.2. Elementele unui VI


atunci controalele corespund parametrilor formali de intrare, iar indicatoarele sunt parametrii
formali de ieşire.
Mediul LabVIEW oferă dezvoltatorului de aplicaţii o colecţie de obiecte predefinite
pentru proiectarea panoului frontal : butoane, comutatoare, cursoare, obiecte pentru
reprezentări grafice, rezervoare, ş.a.
Părţii din interfaţa grafică cu utilizatorul, dată de panoul frontal, îi corespunde
diagrama bloc, care reţine codul programului şi defineşte funcţionalitatea VI.
Elementele de execuţie din cadrul diagramei bloc al VI definesc nodurile
programului; operatori, funcţii predefinite,
proceduri utilizator (realizate de programator ).
Realizarea diagramei bloc a VI se face utilizând
terminale
limbajul grafic G: pentru definirea fluxurilor datelor
în diagrama bloc, corespondentele se leagă intre ele
prin “fire”(sau conductoare).
icon connector A treia componenta unui VI este
Fig.2.3. Pictograma (icon) /Conectorul pictograma şi conectorul, fig.2.3. Prin pictograma
este reprezentat un VI în cadrul altei diagrame bloc
Prin intermediul
conectorului se permite
SubVI
conectarea VI-ului iniţial
ca “subVI” în cadrul
unui nou VI
Prin stabilirea
pictogramei şi
conectorului, acel
instrument virtual va
putea fi folosit ca şi
subrutină în diagrama
Fig.2.4. Utilizarea unui subVI bloc a altui VI, fig.2.4.

9
Limbajul de programare grafică LabVIEW

Odată cu lansarea
programului din Start » Programs
» National Instruments »
LabVIEW, pe ecranul
calculatorului apare meniul
prezentat în fig.2.5 prin intermediul
căruia se poate crea un instrument
nou plecând fie de o pagină albă fie
de la de la o pagină de ajutor sau se
poate
Prin lansare în execuţie a
programului şi prin alegerea
opţiunii New VI, se observă că
pentru crearea unui nou VI s-au
deschis două ferestre. Prima este
fereastra Panoului frontal iar cea
de-a doua este fereastra Diagramei
bloc, după cum se observă şi în
Fig.2.5. Meniul LabVIEW
exemplele prezentate mai sus.
Ferestrele
Panoului frontal
a b c d e f g h şi ale Diagramei
bloc din VI
posedă fiecare
câte o bară
Indicator de Enter i j k l orizontală cu
atenţionare
unelte. Aceste
Butoanele suplimentare care apar în bara de unelte în cadrul diagramei
bare cu unelte
Fig.2.6. Bara de unelte sunt
implementate
prin intermediul unor butoane, liste derulante sau indicatoare de stare, utilizate pentru
editarea, trasarea şi execuţia unui VI (fig.2.6.). O parte din opţiunile celor două bare cu unelte
sunt comune şi anume cele dispuse în partea dreapta a barei.
Semnificaţia butoanelor din bara de meniuri este următoarea :
• a – rulare VI
• b – rulare continua a unui VI
• c – oprirea rulării unui VI
• d – pauza în rularea unui VI
• e – font control
• f ÷ h – butoane utilizate pentru ordonarea şi configurarea panoului frontal
• i – regim de rulare cu afişarea fluxurilor
• j ÷ l – trasare interactiva (programul aşteaptă ca utilizatorul sa indice execuţia următoarei
instrucţiuni)
Bara orizontală de
meniuri conţine opţiuni
Fig.2.7. Bara de meniuri Windows pentru realizarea unor
acţiuni obişnuite
(gestiune fişiere, editare), implementate în majoritatea aplicaţiilor Windows (fig.2.7.), a căror
semnificaţie şi utilizare va fi prezentată ulterior. Mai există de asemenea o serie de opţiuni
noi, specifice acestui mediu de programare, care de asemenea vor fi prezentate ulterior.

10
Sisteme de achiziţie şi prelucrare a datelor

O altă componentă importantă a interfeţei acestui


program este caseta de unelte generale, fig.2.8. Aceasta
cuprinde instrumente la îndemâna utilizatorului pentru crearea,
editarea sau trasarea execuţiei instrumentelor virtuale. Afişarea
/ ascunderea casetei cu unelte generale se face prin
opţiunea View » Show Tool Palette . O altă modalitate de
afişare a acestei casete se face prin poziţionarea cursorului
mouse – ului în interiorul ferestrei Panoului frontal sau
Diagramei bloc şi se apasă simultan tasta « SHIFT » şi
butonul din dreapta al mouse - ului.
Semnificaţia elementelor casetei cu unelte generale este:

Fig.2.8. Caseta de unelte

• unealta de operare – se manevrează mai ales valorile din


elementele panoului frontal

• unealta de editare – selectare, mutare, redimensionare obiect

• unealta de etichetare – permite introducerea de la tastatură a


textului

• unealta de interconectare – realizează legăturile între noduri


(elemente de execuţie) în fereastra Diagrama Bloc

• unealta de defilare

• unealta care permite inserarea în cadrul diagramei bloc a unui


punct de întrerupere a execuţiei unui VI

• unealta sondă – se deschide o fereastra în care se afişează valoarea


transmisă pe un fir de legătură

• unealta de colorare

Mediul LabVIEW oferă


dezvoltatorilor de programe două metode
de asistenţă, care pot fi utilizate pe
parcursul dezvoltării unui VI : fereastra
(Help Windows) şi utilitarul de asistenţă
(Online Help) (fig.2.9.).
Afişarea/ascunderea ferestrei de asistenţă se
poate face prin două metode: se alege
opţiunea Help » Show Help din bara cu
meniuri sau apăsând concomitent < Ctrl +
Fig.2.9. Fereastra Online Help H >. Fereastra de asistenţă se utilizează în
cazurile următoare :
• la afişarea descrierii pentru obiectele din panoul frontal şi diagrama bloc;
• la consultarea casetei cu funcţii, se prezintă semnătura şi o descriere de utilizare;

11
Limbajul de programare grafică LabVIEW

• în diagrama bloc, terminalul conductorului VI, asupra căruia se foloseşte unealta de


interconectare, este evidenţiat prin afişare intermitenta în fereastra de asistenţă ;
metoda de asistare este utilizată frecvent în realizarea conexiunilor la nodurile dotate
cu mai multe terminale, pentru selectarea exactă a parametrilor;
• în diagrama bloc se permite afişarea structurii de date, folosită pentru valoarea care se
transferă între acele noduri, pe o legătura existentă;
• se opreşte unealta de interconectare deasupra legături ;
• se reaminteşte faptul, ca nodul reprezintă elementul de execuţie din limbajul G.

2.2. Elemente ale limbajului de programare grafică


2.2.1. Prezentare
Se prezintă o parte din elementele disponibile pentru realizarea panoului frontal al
unui VI. Panoul frontal al unui VI reprezintă interfaţa cu utilizatorul. Operatorul indică de la
tastatura sau mouse datele de intrare ale programului, prin interacţiune asupra elementelor
grafice de interfaţă, numite controale. In urma prelucrării datelor de intrare, rezultatele sunt
afişate spre consultare prin intermediul indicatoarelor.
Sunt disponibile controale şi indicatoare pentru majoritatea tipurilor de date: numeric,
şir de caractere, boolean, tabel, tablou, grupare de date, grafic, s.a. Pentru un anumit tip de
date sunt disponibile mai multe variante de controale şi
indicatoare, utilizatorul putând să opteze pentru cea mai
sugestiva realizare.
În etapa construirii panoului frontal, utilizatorul
alege pe rând elementele de interfaţă necesare din
bibliotecile de controale şi indicatoare şi le aşează în
interiorul panoului frontal.
Controalele şi indicatoarele utilizate pentru
crearea panoului frontal al instrumentului virtual, panou
ce va reprezenta interfaţa utilizator se găsesc în
bibliotecile Controls, fig.2.10. Acestea se pot activa cu
comanda View » Controls Palette, caz în care fereastra ce
conţine aceste elemente rămâne permanent în spaţiul de
lucru sau cu clic – dreapta, caz în care fereastra rămâne în
spaţiul până la selecţia unui control sau indicator.
Dacă cursorul mouse – ului este „purtat” peste
caseta cu controale, se afişează automat denumirea
grupului de componente în titlul ferestrei gazdă. Afişarea
conţinutului unui anumit grup este declanşată la realizarea
unui click – stânga al mouse – ului pe pictograma
Fig.2.10. Controale şi indicatoare corespunzătoare.
Semnificaţiile elementelor din caseta cu controale şi indicatoare sunt:
• Componente numerice
• Componente booleene
• Componente şir de caractere şi tabel
• Lista cu opţiuni: lista circulara / inel, meniuri derulante, cutie lista
• Tablou şi grupare de date
• Reprezentări grafice
• Cale de fişier
• Elemente decorative
• Componente utilizator

12
Sisteme de achiziţie şi prelucrare a datelor

• Componente pentru suport ActiveX


• Opţiuni pentru selectarea unui control stocat intr-un fişier
Fiecare control şi indicator plasat în panoul frontal primeşte automat un număr de
ordine. Primul element are numărul de ordine 0, al doilea are asociată valoarea 1 s.a.m.d. iar
parcurgerea controalelor în ordine crescătoare a numărului de ordine din panoul frontal se
face prin apăsarea tastei < Tab >; revenirea pe un control anterior se face prin apăsarea
simultana a tastelor < Shift >şi < Tab >
Controalele şi indicatoarele de pe panoul frontal pot utilizate în stilurile: modern,
clasic sau sistem. Diferenţele dintre stilurile modern şi clasic de reprezentare a controalelor şi
indicatoarelor nu este una de tip
funcţional şi este numai de
reprezentare reprezentare grafică a acestor
în stil clasic elemente. Un exemplu este
prezentat în fig.2.11. şi diferenţa
reprezentare este dată de faptul că pentru
în stil modern reprezentarea în stil clasic sunt
utilizate 256 culori pe când pentru
reprezentarea în stil modern este
Fig.2.11. Explicativă pentru diferenţa de reprezentare utilizată rezoluţia pe 16 biţi a
reprezentărilor grafice.
Controalele şi indicatoarele cu reprezentarea sistem includ funcţii similare celor cu
reprezentarea modern sau clasic şi sunt proiectate în special pentru a fi utilizate în ferestre de
dialog. Prin intermediul acestora se afişează, în raport cu desfăşurarea programului, mesaje
sau informaţii, de exemplu, de alertă sau pot fi de asemenea utilizate ca elemente de tip
prompt prin intermediul cărora utilizatorul poate introduce mesaje sau informaţii, de exemplu,
utilizator şi/sau parola. Aceste controale şi indicatoare sunt create cu culorile implicite ale
platformei, astfel că la rularea programului pe o altă platformă culori şi modul de reprezentare
se vor adapta la noua platformă.
Este posibilă găsirea aceluiaşi control sau indicator în diferite biblioteci astfel, de
exemplu, butonul Cancel din biblioteca System este similar butonului Cancel din biblioteca
Boolean.
Ca formă de apariţie în structura interfeţei
utilizator controalele şi indicatoarele de pe panoul
frontal al unui instrument virtual creat în LabVIEW
sunt similare aceloraşi elemente de pe panoul unei
aplicaţii create în LabWindows/CVI.

2.2.2. Controale şi indicatoare de tip


Numeric
Transmiterea valorilor numerice spre
program sau afişarea rezultatelor numerice se face
prin intermediul controalelor şi indicatoarelor
numerice. Există mai mute reprezentări ale
componentelor de interfaţă, corespunzătoare tipului
de dată numeric. Din caseta cu controale se
selectează grupul „Numeric”, (fig.2.12) care va
afişa colecţia cu variantele de realizare a
Fig.2.12. Controale şi indicatoare de elementelor de interfaţă corespunzătoare tipului
tip Numeric numeric.
Colecţia de controale şi indicatoare

13
Limbajul de programare grafică LabVIEW

numerice conţine următoarele variante de realizare:


• Digitale
• Cursor orientat vertical sau orizontal
• Rezervor (tank)
• Termometru
• Buton rotitor (knob)
• Buton disc de telefon (dial)
• Cadran aparat de masura (meter)
• Kilometraj (gauge)
Controalele numerice sunt preferate pentru simplitatea realizării grafice, prevenind
eventualele confuzii de folosire a aplicaţiei de către operatorul uman în ceea ce priveşte
preluarea valorii indicate. Pentru controlul numeric aflat în panoul frontal, se pot stabili unele
proprietăţi prin meniul contextual asociat (fig.2.13.)

• Valoarea curentă afişată este stabilită implicit (Data


operation Make Curent Value Default)
• Asocierea de taste funcţionale (Key navigation)
• Format de reprezentare (Reprezentation): se pot
alege unul din cele 12 tipuri disponibile;
• Domeniul valorilor posibile (Data Range);
• Stabilirea formatului de afisare (Format &
Precision...)
Numărul de zecimale stabilite pentru un control
numeric este folosit la afişarea valorii numerice şi nu
influenţează precizia cu care se operează; precizia depinde
numai de formatul de reprezentare selectat.
Fig 2.13. Meniul contextual Componenta de interfaţă poate fi schimbată din
al controalelor de tip numeric indicator în control şi invers, prin intermediul opţiunii
„Change to Indicator”, respectiv „Change to Indicator”,
din meniul contextual.
Pentru aceste obiecte se pot seta următorii parametrii:
reprezentare, domeniu de valori, format şi precizie. Setarea unui
astfel de parametru se poate face prin clic – dreapta pe obiect şi
selecţia opţiunii corespunzătoare
Reprezentare, fig.2.14., prin care se poate alege modul
de reprezentare a valorilor numerice.
Alegerea modului de reprezentare se va face în
concordanţă cu tipul de dată ce urmează să fie afişată sau
Fig.2.14. Reprezentarea introdusă cu ajutorul respectivului obiect, conform tabelului 2.1:
valorilor numerice
Tabel 2.1
Terminal Tip dată Biţi Număr
Domeniu de reprezentare
reprezentare cifre
Virgulă mobilă, precizie
128 15 ÷ 20 ± 6,48 ⋅ 10 –4966 ... ± 1,19 ⋅ 104932
extinsă
Virgulă mobilă, dublă
64 15 ± 4,94 ⋅ 10 –324 ... ± 1,79 ⋅ 10304
precizie
Virgulă mobilă, simplă
32 6 ± 1,44 ⋅ 10 –45 ... ± 3,4 ⋅ 1038
precizie
Întreg pe 64 biţi 64 18 − 1019 ... + 1019

14
Sisteme de achiziţie şi prelucrare a datelor

Întreg pe 32 biţi 32 10 – 2.147 ⋅ 106 ... + 2,147 ⋅ 106


Întreg pe 16 biţi 16 5 – 32.768 ... + 32.767
Întreg pe 8 biţi 8 3 – 128 ... + 127
Întreg fără semn pe 64 biţi 64 19 0 ... 2 ⋅ 1019
Întreg fără semn pe 32 biţi 32 10 0 ... 4.294.967.295
Întreg fără semn pe 16 biţi 16 5 0 ... 65.535
Întreg fără semn pe 16 biţi 8 3 0 ... 255
Complex, virgulă mobilă, La fel ca EXT pentru partea
256 15 ÷ 20
precizie extinsă reală şi imaginară
Complex, virgulă mobilă, La fel ca DBL pentru partea
128 15
dublă precizie reală şi imaginară
Complex, virgulă mobilă, La fel ca SGL pentru partea
64 6
simplă precizie reală şi imaginară
Timp, 128 biţi Timp minim: 5,421 ⋅ 10 −20 sec.
<64.64> 15
Timp maxim: ≈ 9.22 ⋅ 10+15 sec
Rezultatul operaţiei de împărţire sau al aplicării unor funcţii cum este de exemplu
sinus sau cosinus este cel mai frecvent într-o reprezentare în virgulă mobilă şi în astfel de
cazuri dacă indicatorul este setat pentru afişarea datelor de tip întreg acesta va trunchia
rezultatul la valori întregi.
Domeniul de valori, fig.2.15., permite alegerea unor valori pentru controlul sau
indicatorul de tip numeric reprezentând:
• Default value – valoarea implicită o obiectului în momentul lansării în execuţie a
programului;
• Minimum – valoarea minimă a domeniului de
valori al obiectului;
• Maximum – valoarea maximă a domeniului de
valori al obiectului;
• Increment – rata de modificare a valorilor
controlului pentru cazul în care acestea se fixează
cu mouse – ul prin intermediul elementelor
asociate;
• Out of range action – setarea modului de
încadrare în domeniu şi care poate fi:
• Coerce – limitare la valorile Minimum şi
Maximum;
• Ignore – ignorarea valorilor limită dar
Fig.2.15. Setarea domeniului de numai pentru obiecte indicator
Format şi precizie, fig.2.16., permite setări în funcţie de tipul de dată cu care
operează respectivul control sau indicator, astfel:
• Value – se alege forma de reprezentare a valorilor:
9 Scientific (reprezentare cu exponent), Automation formatting
(reprezentare uzuală), SI notation (reprezentare cu notare multiplii şi
submultiplii). Pentru a înţelege diferenţa dintre aceste moduri de
reprezentare se consideră valorile 3.000 şi respectiv 0.003 şi pentru aceste
valori reprezentările în cele 3 forme sunt, conform tabelului 2.2:

15
Limbajul de programare grafică LabVIEW

a) b)
Fig.2.16. Setare format şi precizie

Tabel 2.2.
Valoare Scientific Automation formatting SI notation

3.000

0,003

9 Hexadecimal, Octal, Binary – se alege baza de numeraţie pentru


reprezentarea valorilor
• Absolute time, Relative time –
fig.2.17. se alege modul de
exprimare al timpului, în valori
absolute calculat faţă de 1 ianuarie
1904, ora 12:00 a.m. sau în valori
relative faţă de un moment
considerat de origine astfel de
Fig.2.17. Exprimarea valorilor numerice de tip exemplu valoarea 100 exprimată
în unităţi de timp relativ va avea
valoarea 00:01:40 adică o oră şi 40 minute. Când se alege opţiunea de reprezentare a
valorilor în unităţi de timp fie absolut fie relativ există posibilitatea de a afişa aceste valori
în format 12 (AM/PM) sau 24 ore, în format oră:minut (HH:MM) sau oră:minut:secundă
(HH:MM:SS). Există de asemenea posibilitatea de a alege formatul de reprezentare a
datei astfel: lună/zi/an (M/D/Y), zi/lună/an (D/M/Y) sau an/lună/zi (Y/M/D). Anul poate
fi afişat cu ultimele două cifre (2 – digit year), cu patru cifre (4 – digit year) sau nu se
afişează.
• Digits – număr de cifre utilizate pentru reprezentare valorilor întregi (Significat
digits) sau pentru reprezentarea valorilor cu virgulă (Digits of precision)

16
Sisteme de achiziţie şi prelucrare a datelor

Controalele şi indicatoarele numerice au diverse forme de reprezentare şi de utilizare


şi pot fi de tipul:

• Controale şi indicatoare
numerice

• Controale şi indicatoare
slide

• Controale şi indicatoare
rotative

• Controale şi indicatoare
rezervor, termometru, scroll
La acestea se adaugă controale şi indicatoare corespunzătoarele variabilei
independente timp şi anume:
• Time Stamp - marca de timp (fig.2.18.) care conţine
Time Stamp Control şi Time Stamp Indicator prin
Fig.2.18. Marca de timp intermediul cărora se pot trimite sau primi informaţii
despre intervale de timp către şi de la diagrama bloc.
Pentru obiectul de tip control setarea valorii timpului şi datei se poate face prin selecţia
controlului şi cu clic – dreapta alegerea opţiunii
Format & Precision sau prin utilizarea
butonului Time/Date Browse situat în dreapta
controlului care deschide o fereastră de selecţie a
timpului real al calculatorului, fig.2.19. Aceiaşi
fereastră se deschide şi prin selecţia controlului,
clic – dreapta şi alegerea opţiunii Data
Operations » Set Time and Date din meniul
pull - down. Dacă se alege opţiunea Data
Operations » Set Time to Now este preluat
automat timpul real al calculatorului.
Pe lângă parametrii menţionaţi se pot seta şi
atribute specifice componentei de interfaţă a
controlalelor şi indicatoarelor de tip numeric ce pot
Fig.2.19. Utilizarea butonului să difere în funcţie de tipul controlului sau
Time/Date Browse indicatorului, prin intermediul clasei de atribute
Appearance, conform fig.2.20.
• Label – validarea afişării etichetei controlului;
• Caption – validarea afişării numelui controlului numai pe panoul frontal;
• Enable State – vadidarea apariţiei controlui pe panoul frontal (Enabled), invalidarea
funcţionării controlului (Disabled), invalidarea funcţionării şi estomparea conturului
controlului.

17
Limbajul de programare grafică LabVIEW

• Slider – selecţia cursorului curent în cazul


în care prin opţiunea Add au fost adăugate
cursoare suplimentare;
• Colors – selecţie culoare pentru cursor
(Slider) şi pentru traseul acestuia pe
control (Fill);
atribute comune • Show digital display(s) – ataşarea unui
obiect numeric prin intermediul căruia se
poate afişa baza de numeraţie a valorii
controlului (Show radix) şi/sau se poate
adăuga un buton pentru
incrementare/decrementare (Show
atribute specifice obiectelor grafice increment/decrement butons);
• Show value tip strip – afişarea valorii
numerice a controlului în timpul mişcării
cursorului;
Fig.2.20. Fereastră setare atribute • Fill style – selecţie a modalităţilor de
indicare a poziţiei cursorului pe control.

2.2.3 Funcţii de tip numeric


Funcţiile asociate tipului de date numeric se găsesc în caseta cu funcţii reunite în
grupul denumit “Numeric” (Numeric) (fig.2.21.).
Semnificaţia elementelor grupului „Funcţii numerice” sunt după cum urmează:
• operaţii aritmetice cu operanzi
scalari şi elemente de tablou;
• constante aritmetice definite de
utilizator;
• subgrupul „Funcţii de conversie”
(Conversion);
• subgrupul „Manipulare date”
(Data Manipulation);
• subgrupul „Funcţii pentru numere
complexe” (Complex);
• subgrupul „Scalare” (Scaling);
• subgrupul „Constante matematice
şi ştiinţifice” (Math & Scientific
Constants);
Cele 20 de operaţii aritmetice
disponibile în caseta cu funcţii
Fig.2.21. Funcţiile de tip numeric
numerice, sunt prezentate în
continuare:
• adunare(Add)
• scădere (Substract)
• înmulţire (Multiply)
• împărţire (Divide)
• cât şi restul împătririi (Quotient & Remainder)
• incrementare cu 1 (Increment)
• decrementare cu 1 (Decrement)
• suma elementelor unui tablou (Add Array Elements)

18
Sisteme de achiziţie şi prelucrare a datelor

• produsul elementelor unui tablou (Multiply Array Elements)


• combinare aritmetica (Compound Arithmetic)
• valoare absolută (Absolute Value)
• rotunjire la cel mai apropiat întreg (Round to Nearest)
• rotunjire în jos la cel mai apropiat întreg (Round to -Infinity)
• rotunjire în sus la cel mai apropiat întreg (Round to +Infinity)
• generarea unui număr aleator intre 0 şi 1 (Random Number 0-1)
• rădăcina pătrată (Square Root)
• schimbare de semn (Negate)
• multiplicarea printr-o putere a lui 2 (Scale by Power of 2)
• semnul valorii x (Sign)
• inversa (Reciprocal)
Subgrupul „Funcţii
de conversie”, fig.2.22.
cuprinde funcţii care
realizează conversia
diferitelor tipuri de date. La
utilizarea acestor funcţii
trebuie să se ţină seama că o
conversie în întreg a unei
date în virgulă mobilă se
face prin rotunjire la cel mai
apropiat întreg sau la
Fig.2.22. Subgrupul funcţiilor de conversie (Conversion) valoarea impară dacă partea
fracţionară este 0,5. Dacă
rezultatul conversiei este în afara domeniului valorilor pentru întreg, utilizarea acestor funcţii
va determina trunchierea la valoarea minimă sau maximă a domeniului pentru valoarea
întreagă
Subgrupul „Manipulare date” conţine funcţii utilizate pentru modificarea tipurilor de
date utilizate în LabVIEW.
Operarea cu numere complexe este facilitată de componentele grupului „Funcţii
pentru numere complexe” care conţine funcţii prin intermediul cărora se pot crea numere
complexe pe baza a două valori date în format rectangular
(real/imaginar) sau în format polar (modul/argument) sau
plecând de la aceste două forme de exprimare a numerelor
complexe se pot extrage cele două componente.
Subgrupul „Scalare” conţine funcţii utilizate pentru
conversia valorilor citite de la senzori de temperatură
(termorezistenţă, termocuplu, termistor) în tensiune
electrică
Utilizarea unor constante universale se face folosind
elementele subgrupului „Constante matematice şi
ştiinţifice”.

2.2.4. Controale şi indicatoare de tip Boolean


Aceste obiecte, fig.2.23. sunt utilizate pentru
afişarea sau introducerea de date sau informaţii de tip
Fig.2.23. Controale şi numeric şi se găsesc atât sub forma de reprezentare
indicatoare de tip Boolean modern cât şi clasic.

19
Limbajul de programare grafică LabVIEW

Componentele de interfaţa, ale panoului frontal, aparţinând tipului boolean, au două


valori posibile, corespunzând stării de adevărat (True) sau fals (False).
Valoarea logică fals este valoare iniţială şi corespunde cazului în care componenta
booleană a fost preluată din caseta de controale şi indicatoare şi plasata pe suprafaţa panoului
frontal.
Există mai multe reprezentări grafice de
controale de tip boolean: butoane care pot fi apăsate,
comutatoare, întrerupătoare, butoane radio.
Indicatoarele booleene sunt reprezentări vizuale ale
valorii logice şi simulează LED – uri, realizate sub
diferite forme.
În etapa construirii panoului frontal, se poate
verifică comportarea unui control sau indicator
boolean, la fiecare apăsare a mouse – ului,
componenta de interfaţa de tip boolean va trece în
starea complementară.
Prin intermediul opţiunilor meniului
contextual, asociat obiectului de tip boolean,
(fig.2.24.) se stabilesc valorile unor proprietăţi
Fig 2.24. Meniul contextual al suplimentare ale elementelor sau aceste elemente
controalelor de tip boolean realizează acţiuni specifice cum ar fi cele prezentate
mai jos:
• Schimbarea în control/indicator
• Afişarea/ascunderea etichetei proprii
• Schimbarea valorii implicite
• Crearea unui nod proprietate în diagrama bloc
• Stabilirea comportării mecanice
Unele componente de interfaţă sunt capabile prin selecţia opţiunii Visible Items »
Boolean text să afişeze unul din cuvintele următoare:
• închide (OFF), anulează (CANCEL), sau opreşte (STOP), pentru starea logică
fals;
• deschide (ON) sau în-regula (OK), pentru starea logică adevărat.
Semnificaţia opţiunilor din meniul contextual asociat unei componente booleene se
reprezintă în continuare:
• se vizualizează informaţii suplimentare
• submeniul „acţiuni asupra datei”(Data Operation)
• se stabileşte comportamentului mecanic al controlului boolean:
9 comportare mecanică „comută la apăsare”
9 comportare mecanică „comuta la eliberare”
9 comportare mecanică „comuta înainte de eliberare”
9 comportare mecanică „zăvorăşte la apăsare”
9 comportare mecanică „zăvorăşte la eliberare”
9 comportare mecanică „zăvorăşte înainte de eliberare”
Pe lângă parametrii menţionaţi se pot seta şi atribute specifice componentei de
interfaţă a controlalelor şi indicatoarelor de tip boolean ce pot să difere în funcţie de tipul
controlului sau indicatorului, prin intermediul clasei de atribute Appearance, conform
fig.2.25.

20
Sisteme de achiziţie şi prelucrare a datelor

• Colors – setare culori


pentru cele două stări;
• Show Boolean Text –
atribute comune adăugare de text pentru cele
două stări (On şi Off) care
poate fi poziţionat în centrul
controlului (Lock text in
center) şi avea mai multe
caractere (Multiple strings).
atribute specifice booleene Se poate introduce textul
corespunzător celor două
stări şi seta culoarea acestui
Fig.2.25. Fereastra setare atribute text.

2.5. Funcţii de tipul boolean


Pentru tipul de date boolean sunt disponibile funcţiile grupului „Funcţii logice”
(Boolean), fig.2.26. Elementele acestui grup sunt:
• ŞI logic (AND);
• SAU logic (OR);
• SAU exclusiv (EXCLUSVIE
OR);
• NEGARE logică (NOT);
• COMBINARE aritmetice
(COMPOUND ARITHMETIC);
• ŞI-NU (NOT AND);
• SAU-NU (NOT OR);
• SAU exclusiv negat (NOT
EXCLUSVIE OR);
• Implica (IMPLIES);
Fig. 2.26. Funcţii de tipul boolean • ŞI logic pentru elementele unui
tablou (AND ARRAY
ELEMENTS);
• SAU pentru elementele unui tablou (OR ARRAY ELEMENTS);
• Conversia unui număr la tablou cu elemente booleene (NUMBER TO BOOLEAN
ARRAY);
• Conversia unui tablou cu elemente booleene la valoare numerică (BOOLEAN
ARRAY TO NUMBER);
• Conversia unei valori booleene la valoare numerică (BOOLEAN TO 0,1);
• Constanta booleana (BOOLEAN CONSTANT);
Toate funcţiile grupului „Funcţii logice” îndeplinesc proprietatea de polimorfism:
• Parametrul de intrare poate fi de tipul boolean sau numeric, caz în care se
realizează funcţia pe biţii reprezentării binare;
• Structura de date a valorii de intrare poate sa fie scalară, tablou cu elemente de tip
scalar, grupare de date cu elemente de tip scalar, etc.

21
Limbajul de programare grafică LabVIEW

2.2.6. Controale şi indicatoare de tip şir de caractere


Componentele de interfaţă tip şir de caractere,
fig.2.27., permit citirea/afişarea mărimilor aparţinând
acestui tip de dată. În etapa construirii panoului frontal,
se introduce o valoare pentru un control şir de caractere
prin unealta de etichetare sau de operare; valoarea
actualizată este asociată componentei în urma apăsării
tastei < Enter >, a butonului < Enter >, afişat în bara
orizontală cu meniuri sau printr-un clic – dreapta în afara
Fig.2.27. Controale şi indicatoare controlului.
de tip şir de caractere Dacă valoarea unui control/indicator se întinde
pe mai multe linii, este posibilă afişarea barei de
defilare (scroll bar) a conţinutului, prin alegerea opţiunii
„Afişarea/Bara de derulare” (Show/ Scrollbar) din
meniuli contextual. Opţiunea este disponibilă atât
pentru controale cât şi pentru indicatoare.
Valoarea componentei se poate declara valoare
– implicită, dacă se selectează din meniul contextual
opţiunea „Acţiunea asupra datei/Stabileşte valoarea
curentă implicită” (Data Operations / Make current
value default).
Meniul contextual, asociat unui control tip şir de
caractere (etichetat ”parolă”) este prezentat în fig. 2.28,
prin care utilizatorului aplicaţiei i se cere introducerea
unei parole de acces. Caracterele introduse în controlul
„Parola” sunt protejate, fiind afişate prin caractere ”*” .
Conţinutul controlului nu este restricţionat la o singură
linie, după cum se observă din aceeaşi figură nefiind
bifată opţiunea „limitează la o singura linie” (Limit to
Fig. 2.28. Meniul contextual Single Line).
al controalelor de tip şir de O alta componentă de interfaţă care facilitează
caractere introducerea/afişarea datelor tip şir de caractere este
controlul Combo Box, fig.2.29, prin intermediul căruia
se poate crea o listă de şiruri de
caractere. Funcţionalitatea acestui
control este similară unui control de tip
Ring şi un şir de caractere poate fi ales
de utilizator, din această listă, printr-un
buton ataşat controlului .
Crearea acestei liste se face prin
opţiunea Edit Items şi item – urilor
reprezentând şiruri de caractere ale
listei li se pot ataşa valori numerice
dacă este selectată opţiune Values
meci Items. Dacă este selectată
opţiunea Allow Undefined Strings în
timpul rulării programului utilizatorul
poate introduce în căsuţă şi alte
caractere decât cele definite la
Fig.2.29. Utilizarea controlului Combo Box construirea listei, acestea însă nu vor fi

22
Sisteme de achiziţie şi prelucrare a datelor

rezidente în memorie, ele se pierd automat atunci când se selectează alt şir de caractere din
listă.
În aceeaşi categorie a controalelor de tip şir de caractere sunt şi File Path Control
respectiv File Path Indicator prin intermediul cărora se poate indica respectiv se poate citi
calea unui fişier aflat pe hard – discul calculatorului sau pe un suport de memorie ataşat
calculatorului.

2.2.7. Controale şi indicatoare de tip tablou, matrice şi grupare de date


Prin utilizarea acestor controale şi indicatoare se pot crea structuri de tip tablou,
matrice şi grupare de date (Array, Matrix & Cluster) pentru date de tip numeric sau şir de
caractere dar se pot crea şi structuri de tip tablou, matrice sau grupare de date pentru alte
controale sau indicatoare.

2.2.7.1. Tablou (Array)


Este o structură de date compusă, cu elemente aparţinând aceluiaşi tip şi anume:
numeric, boolean, şir de caractere, cale de fişier (path), identificator unic (refnum) grupare de
date (cluster). Se spune ca tabloul este o structură omogene de date. Elementele deţin în
cadrul structurii compuse o poziţie bine determinată iar accesul la o celulă se face prin
indexare.
Pentru un tablou cu N elemente, primul element se găseşte la poziţia 0, iar ultimul
element din tablou la poziţia N-1. Un tablou poate avea una sau mai multe dimensiuni iar
numărul maxim de elemente/dimensiuni este 231 – 1. În limbajul G, elementele unui tablou pot
fi la rândul lor tablouri. Elementele unui tablou pot fi de tip grupare de date, care sa conţină
elemente de tip tablou, cu elemente de tip grupare de date s.a.) este o structură de date
compusă, cu elemente aparţinând aceluiaşi tip şi anume: numeric, boolean, şir de caractere,
cale de fişier (path), identificator unic (refnum) grupare de date (cluster). Se spune ca tabloul
este o structură omogene de date. Elementele deţin în cadrul structurii compuse o poziţie bine
determinată iar accesul la o celulă se face prin indexare.
Pentru exemplificare se consideră rezultatele a 10 măsurători care se aranjează într-un
tablou unidimensional conform fig.2.30 şi care se reprezintă pe panoul frontal printr-un obiect
1D Array). Dacă de exemplu se consideră două variabile x şi y perechi de valori ale acestora
se vor reprezenta printr-un tablou bidimensional conform fig.2.31. şi care se reprezintă pe
panoul frontal printr-un obiect 2D Array.
2

1,5 index
1
0 1 2 3 4 5 6 7 8 9
0,5
04 09 14 08 0 1 0 03 02 0
0 Tablou (array) cu 10 elemente
1 2 3 4 5 6 7 8 9 10

-0,5

-1

Fig.2.30. Explicativă pentru tablou unidimensional

23
Limbajul de programare grafică LabVIEW

2,5
index coordonate x

2
0 1 2 3 4 5 6
1,5 0,4 2,2 3,3 3,2 2,4 1,8 1,9
0,2 0,5 1,3 2,3 2,6 1,9 1,2
1

0,5

0
coordonate y
0 0,5 1 1,5 2 2,5 3 3,5

Fig.2.31. Explicativă pentru tablou bidimensional


Pentru crearea în panoul frontal a unui control sau indicator de tip tablou, se selectează
din căsuţa cu controale (Array, Matrix & Cluster), un obiect Array (tablou), fig.2.32., şi un
indicator numeric, care se va trage cu mouse – ul în fereastra obiectului Array, obţinând

⇒ ⇒

a)

b)

Fig.2.32. Creare tablou


astfel un indicator de tip tablou unidimensional 1D Array (fig.2.32.a). Dacă este necesară
adăugarea a încă unei dimensiuni se selectează Add Dimension din meniul contextual
rezultând un indicator de tip tablou bidimensional 2D Array (fig.2.32.b). Pentru cazurile
seturilor de valori prezentate în fig.2.30. respectiv fig.2.31. se obţine reprezentarea acestor
tablouri pe panoul frontal corespunzător fig.2.33.
a)

b)

Fig.2.33. Reprezentarea tablourilor 1D Array şi 2D Array pe panoul frontal


Se defineşte astfel o variabilă de tip tablou, pentru care urmează să se indice tipul
elementelor. Numai variabila de tip tablou singură nu poate fi folosită, neavând asociată vreo
semnificaţie de control sau indicator şi se poate spune despre o variabilă de tip tablou ca este

24
Sisteme de achiziţie şi prelucrare a datelor

indicator sau control după tipul elementelor ce le conţine. Construirea unei variabile de tip
tablou care să conţină elemente de tip control se realizează în mod similar cu deosebirea că
este selectat din bibliotecile LabVIEW elementul control şi acesta care se va trage cu mouse –
ul în fereastra obiectului Array. Este logic să se deducă concluzia prin care elementele unui
tablou sunt toate controale sau toate indicatoare. Definirea tipului elementelor tabloului se
poate modifica printr-un click – stânga cu mouse – ul pe elementul tabloului şi schimbarea
acestui element din indicator în control sau invers.
Pentru componenta tablou sunt afişate două căsuţe şi anume căsuţa indicelui, din
partea stângă şi căsuţa valoare din partea dreapta. Intre acestea este relaţia prin care într-o
căsuţă valoare se afişează valoarea elementului tabloului corespunzătoare poziţiei prezentată
în căsuţa indice. Cu unealta de editare se poate mari dimensiunea căsuţei valoare. Dacă se
măreşte dimensiunea căsuţei valoare, se afişează simultan mai multe elemente ale tabloului şi
dispunerea acestor element este pe orizontală
sau pe verticală.
Reducerea dimensiunilor unui tablou se
realizează în mod asemănător. Pentru un tablou
cu mai multe dimensiuni (matrice), se poate
mări zona valorilor atât pe orizontală cât şi pe
verticală: se obţine o afişare matricială a
elementelor.
Acestor elemente de pe panoul frontal le
sunt asociate funcţii corespunzătoare tipului de
date tablou şi acestea sunt grupate în caseta cu
funcţii Array, redat în fig.2.34. La majoritatea
funcţiilor, care operează cu tablouri, se
Fig.2.34. Grupul de funcţii Array întâlneşte proprietatea de polimorfism, fig.2.35.
având următoarele caracteristici:

Fig.2.35. Explicativă a
proprietăţii de polimorfism

- tabloul, ca parametru de intrare, poate să aibă una sau mai multe dimensiuni;
- tipul elementului de tablou poate să fie de orice tip de dată acceptat.
Câteva dinte cele mai uzuale funcţii ale grupului „Tablou” (Array), prezentate în
fig.2.30. sunt:

25
Limbajul de programare grafică LabVIEW

• Funcţia „Dimensiune Tabloul” (Array Size), returnează numărul de elemente ale


fiecărei dimensiuni ale tabloului de intrare, fig.2.36.

Fig. 2.36. Array Size


• Funcţia de „Indexare” (Index Array) returnează elementul tabloului, de la poziţia
indicată, prin numărul liniei (row) şi cel al coloanei (col), fig.2.37.

Extragere element

Extragere subtablou
(o linie)
Fig. 2.37. Funcţia Index Array
• Funcţia „Iniţializează tablou” (Initialize Array), realizează iniţializarea elementelor
unui tablou cu N dimensiuni cu o valoare indicată. În fig.2.38. este prezentat un
exemplu de iniţializarea a unui tablou care va avea 6 elemente (2 linii x 3 coloane) cu
valoarea 4.

Fig. 2.38. Funcţia Initialize Array


• Funcţia „Subtablou” (Array Subset), returnează un număr specificat din elementele
unui tablou, începând de la un indice. În fig.2.39. este prezentat un exemplu de
extragere a unui subtablou cu lungimea de 4 elemente începând cu elementul cu
indexul 2.

Fig 2.39. Funcţia Array Subset

• Funcţia „Construieşte Tablou” (Build Array) returnează un tablou, ale cărui elemente
sunt date de valorile parametrilor de intrare. Dacă este setată opţiunea Concatenate
Inputs din meniul contextual al funcţiei Build Array, tabloul se va construi prin
alăturarea elementelor de intrare a funcţiei, fig.2.40. dacă însă nu este setată această
opţiune tabloul se va construi prin adăugarea de dimensiuni, ceea ce înseamnă
adăugarea de linii, lungimea fiecăreia fiind dată de lungimea celei mai mici dintre
acestea, fig.2.41.

26
Sisteme de achiziţie şi prelucrare a datelor

Fig. 2.40. Funcţia Build Array cu o dimensiune

Fig. 2.41. Funcţia Build Array cu mai multe dimensiuni


Funcţia “Maximul şi Minimul Tabloului” (Array Max & Min) returnează valorile maxim
şi respective minim ale elementelor tabloului împreună cu împreună cu indexul acestor
valori, fig.2.42.

Fig.2.42. Funcţia Array Max & Min


• Funcţia “Transpunere Tablou” (Transpose Array) rearanjează elementele unui tablou
2D astfel prin înlocuirea liniilor cu coloanele încât elementul cu indexul [i,j] devine
elementul cu indexul [j,i], fig.2.43.

Fig.2.43. Funcţia Array Max & Min


• Funcţia “Căutare în tablou 1D (Search 1D Array) returnează indexul elementului
căutat începând cu indexul stabilit prin „start index(0)” care poate fi zero, fig.2.44.,
sau diferit de zero

Fig.2.44. Funcţia Search 1D Array


Elementele unei variabile de tip tablou pot fi convertite în elemente de acelaşi tip ale
unei variabile de tip matrice prin utilizarea funcţiei Array to Matrix, fig.2.45.a iar
elementele unei variabile de tip matrice pot fi convertite în elemente de acelaşi tip ale unei
variabile de tip tablou prin utilizarea funcţiei Matrix to Array, fig.2.45.b

27
Limbajul de programare grafică LabVIEW

a)

Fig.2.45. Conversii tablou – matrice şi invers

2.2.7.2. Grupare de date (Cluster)


O grupare de date (Cluster) este o structură compusă de date (fig.2.46.). În acest caz
nu este obligatoriu ca elementele componente să aparţină aceluiaşi tip, spre deosebire de
limitarea apartenenţei unice a tipului la elementele unui tablou (Array). Se spune că gruparea
de date este o structură eterogenă. Elementele componente ale unei grupări de date pot
aparţine oricărui tip valid de date din limbajul grafic G.

Fig.2.46. Construirea unei grupări


(Cluster) de elemente de tip control
Prin gruparea mai multor elemente într-un cluster sunt eliminate o mulţime de fire de
conexiune din diagrama bloc şi de asemenea sunt reduse punctele de conexiune ale
conectoarelor pentru subVI – uri reducându-se astfel aglomerarea de elemente în diagrama
bloc. De reţinut că un conector are cel mult 28 de terminale astfel că se pot conecta maxim 28
de controale şi indicatoare la un subVI dar acest număr poate creşte foarte mult dacă aceste
elementele de pe panoul frontal sunt grupate un cluster – e.

a) b)

Fig.2.47. Explicativă privind utilizarea cluster - erelor


Gruparea elementelor într-un cluster se face prin selecţia din căsuţa cu controale
(Array, Matrix & Cluster) un obiect Cluster (grupare de date), fig.2.46. după care din

28
Sisteme de achiziţie şi prelucrare a datelor

căsuţele cu controale corespunzătoare se aleg elementele ce se vor grupa. Gruparea se face


prin tragerea acestora cu mouse – ul în fereastra obiectului Cluster. De menţionat că acelaşi
cluster nu poate conţine decât fie controale fie indicatoare, indiferent însă de tipul acestora.
Pentru a observa diferenţa dată de utilizarea cluster – erelor în fig.2.47 este prezentată
diagrama bloc a controalelor grupate în cluster – ul Cluster Controale din fig.2.46 la care au
fost ataşate elemente indicatoare independente respectiv conectate şi acestea în cluster – ul
Cluster Indicatoare şi se poate observa că 5 linii de conexiune între controale şi indicatoare
sunt grupate în una singură prin intermediul căreia sunt vehiculate diferite tipuri de date.
Pentru realizarea operaţiilor de grupare şi
degrupare a elementelor sau tablourilor în obiecte de
tip cluster sunt utilizate funcţiile din caseta Cluster
& Variant, fig.2.48.
Cele mai uzuale funcţii, specifice acestui tip de date
sunt prezentate mai jos:
• Funcţiile de grupare Bundle (fig.2.49.) şi
Bundle by Name– permit realizarea a doua
operaţii:
9 Din elementele de intrare se formează o
grupare de date, fig.2.49.a, când toate
elementele de intrare grupate au un
corespondent cluster – ul de ieşire
Fig.2.48. Grupul de funcţii Cluster 9 Actualizarea valorilor elementelor unei
grupări de date existente, fig.2.49.b, când
unul sau mai multe elemente de intrare sunt înlocuite, în acest caz valoarea
controlului numeric este preluată de la controlul Slide care ocupă aceiaşi poziţie în
gruparea de date

a)

Fig.2.49. Utilizarea
funcţiei Bundle

b)

• Funcţiile de degrupare Unbundle şi Unbundle by Name (fig.2.50.) returnează valoarea


elementelor specifice, dintr-o grupare de date iar pentru funcţia Unbundle by Name este
returnat şi numele controlului ce generează respectiva dată şi pentru aceasta se recomandă
ca fiecare element din gruparea de date sa aibă eticheta proprie;

29
Limbajul de programare grafică LabVIEW

Prin operaţia de
degrupare programatorul are
acces simultan la toate
elementele conţinute intr-o
varianta de tip grup, spre
deosebire de tablouri unde prin
indexare se obţine accesul la un
singur element. Fiecare element
Fig.2.50. Funcţiile Unbundle şi Unbundle by Name dintr-o structura de tip grupare
de date are asociat un număr de
ordine şi acesta reprezintă al câtelea element a fost adăugat mulţimii; numărătoarea începe de
la valoarea zero. Numărul de ordine asociat elementelor grupului este actualizat automat în
momentul realizării operaţiilor de adăugare sau eliminare de elemente. Există funcţii
predefinite, asociate tipului de date grupare de date, care folosesc numărul de ordine ale
elementelor în cadrul grupului, pentru accesarea părţilor componente.
Există posibilitatea de a transforma o grupare de date
într-un tablou şi invers prin utilizarea funcţiilor Cluster to
Array şi respectiv Array to Cluster cu observaţia că pentru
utilizarea acestor funcţii este necesar gruparea să conţină date
de acelaşi tip.
Pentru o grupare de date existentă se poate modifica
ordinea elementelor obţinute. Pentru aceasta din meniul
contextual se alege opţiunea Reorder Controls In Cluster şi
elementelor grupului li se vor ataşa numere de ordine
elementelelor mulţimii pe care utilizatorul le poate modifica
stabilind o noua ordine (fig.2.51). O componentă tip grupare
de date poate fi redimensionată folosind unealta de editare
astfel: se modifică dimensiunea chenarului exterior.
Fig.2.51. Modificarea ordinii Elementele grupului pot fi mutate în poziţia dorită, fără să se
elementelor unui Cluster depăşească perimetrul structurii. Un element se elimină din
grup prin selecţie cu mouse – ul, şi ştergere cu tasta <Delete>.

2.2.8. Controale şi indicatoare de tip listă, structură arborescentă şi tabel


Prin utilizarea acestor controale
şi indicatoare se pot crea şi utiliza
structuri de tip listă (Listbox),
arborescentă (Tree Control) şi tabel
(Table) pentru date de tip numeric sau
şir de caractere. Aceste elemente se
Fig.2.52. Controale şi indicatoare List & Table găsesc în caseta List & Table,
fig.2.52.

2.2.8.1. Lista
Este un control care permite introducerea de acţiuni generate de alegerea elementelor
dintr-o listă şi poate fi cu o singură coloană (Listbox) sau multicoloană (Multicolumn
Listbox). Modul de reprezentare al elementelor în listă poate fi alfanumeric.
Variabila de ieşire a cestui control este de tip numeric dacă din meniul contextual este
aleasă una din opţiunile Selection Mode » 0 or 1 Item sau Selection Mode » 1 Item sau de
tip tablou dacă este aleasă una din opţiunile Selection Mode » 0 or More Item sau Selection
Mode » 1 or More Item. Valorile acestora reprezintă numărul de ordine al elementului din

30
Sisteme de achiziţie şi prelucrare a datelor

listă începând cu valoarea 0 pentru primul element. Dacă nu este selectat niciun element
valoarea variabilei de ieşire va fi -1.
Elementul ales din listă poate fi utilizat şi pentru selecţia unuia dintre cazurile posibile
cuprinse într-o structură de tip Case, fig.2.53. selecţia se realizează după numărul de ordine al
elementului din listă deci variabila de ieşire a controlului Listbox trebuie să fie de tip
numeric, aleasă după cum este prezentat mai sus.

Fig.2.53. Utilizarea controlului şi indicatorului listă (Listbox)


Funcţionarea controlului de tip multicoloană (Multicolumn Listbox) este similară cu
cea controlului de tip coloană singura deosebire fiind dată de faptul că elementele listei,
reprezentând linii ale listei, sunt desfăşurate pe două sau mai multe coloane, dar selecţia se
face numai după linie adică după fiecare element

2.2.8.2. Tabel
Este un control prin intermediul căruia se pot introduce elemente ale unui tabel de tip
numeric sau de tip şir de caractere şi aceste elemente pot fi citite pot fi citite numai cu un
indicator de tip tabel, fig.2.54. deoarece formatul datelor de ieşire ale unui astfel de control
sunt de tip şir de caractere (string) organizate într-un tablou 2D.

Fig.2.54. Utilizarea controlului şi indicatorului tabel (Table)

2.2.8.3. Structură arborescentă


Utilizarea controlului de tip structură arborescentă generează o listă ierarhizată din
care utilizatorul poate selecta un item. Item – urile utilizate într-o structură arborescentă pot fi
organizate în grupuri de item – uri sau noduri. Pentru ca item – urile unui nod să poată fi
afişate se face un clic pe simbolul de expandare al acestuia iar printr-un nou clic se realizează
ascunderea acestora. Variabila de ieşire a unui control de tip structură arborescentă este de tip
string astfel că item – ul selectat în control poate fi afişat şi prin intermediul unui indicator de
tip şir de caractere, fig.2.55.

Fig.2.55. Utilizarea controlului şi indicatorului structură arborescentă (Tree Control)


Realizarea structurii arborescente se face pornind de la o listă a tuturor item – urilor
scrisă în ordinea aşezării acestora în care vor apărea în lista ierarhizată, fig.2.56.a. Itend – area

31
Limbajul de programare grafică LabVIEW

(aranjarea pe niveluri corespunzătoare


ierarhic) acestora se face selectând item –
ul şi alegerea opţiunii Ident Item din
meniul contextual al controlului de câte ori
este nevoie până la aşezarea item – ului pe
nivelul corespunzător, prin deplasare la
stânga. Revenirea pe un alt nivel ierarhic
al unui item se face prin selecţia item –
ului şi alegerea opţiunii Outdent Item din
a) b) meniul contextual al controlului de câte ori
Fig.2.56. Construirea structurii arborescente este nevoie.

2.2.8.4. Tabel asociat unui semnal (Express Table)


Este o structură de tip tabel care are asociată funcţia Build Table prin intermediul
căreia un semnal reprezentând variabila de intrare a funcţiei este convertit într-un tabel de
valori reprezentând valori ale amplitudinii semnalului la momente de timp definite de
utilizator. Aceste valori sunt afişate în tabelul asociat semnalului. Împreună cu aceste valori
pot şi afişate şi ora şi data culegerii acestora dacă este intrarea booleană Include time data a
funcţiei Build Table este setată “adevărat” (True).
În fig.2.57. este prezentat un exemplu de utilizare a structurii Express Table având
asociată funcţia Build Table pentru a afişa 20 de valori ale perioadei unui semnal sinusoidal
ai cărui parametrii (amplitudine, frecvenţă, fază) sunt stabiliţi prin intermediul Cluster – ului.
Semnalul este generat pe baza acestor parametrii prin utilizarea funcţiei Sine Waveform.vi
iar forma acestuia poate fi afişată grafic prin intermediul indicator de tipul Waveform Chart
sau Waveform Grah. Tot această structură conţine şi controalele prin care se setează
includerea în tabel a orei şi datei precum şi eşantionarea semnalului (extragerea celor 20 de
valori ale amplitudinii acestuia)

semnal

Fig.2.57. Utilizarea structurii Express Table

2.2.9. Indicatoare grafice


Prin intermediul acestor componente de interfaţă plasate pe panoul frontal, este
posibilă vizualizarea reprezentărilor grafice. Indicatoarele primesc valori numerice necesare
pentru realizarea unei reprezentării grafice, în urma prelucrării datelor în diagrama bloc.
Controalele se utilizează în locul indicatoarelor dacă valorile necesare realizării reprezentării
grafice sunt primite ca parametri de intrare pentru VI curent, folosit drept subrutina (subVI).
Nu este posibilă obţinerea unei reprezentări grafice interacţionând direct asupra unui control.

32
Sisteme de achiziţie şi prelucrare a datelor

LabVIEW include în bibliotecile de


controale şi indicatoare şi caseta Graph, fig.2.58.
ce conţine următoarele tipuri de indicatoare pentru
reprezentări grafice:
• Indicatoare de tip grafic şi diagramă
(Waveform Graphs and Charts) prin
intermediul cărora sunt afişate, cu rată
constantă, date preluate de la diverse
variabile;
• Indicatoare grafice XY (XY Graphs) prin
care sunt afişate date preluate, cu rată
variabilă, de la funcţii multivariabile;
Fig.2.58. Caseta de indicatoare Graph • Indicatoare de tip grafic şi diagramă în
intensitate (Intensity Graphs and Charts)
prin care sunt afişate tablouri 3D utilizând reprezentări 2D şi culori pentru
reprezentarea valorilor corespunzătoare celei de-a treia dimensiuni;
• Indicatoare grafice digitale (Digital Waveform Graphs) prin care sunt afişate date de
tip puls sau grup de pulsuri preluate de la variabile digitale;
• Indicatoare grafice pentru semnal (Mixed Signal Graphs) prin intermediul cărora se
pot afişa date acceptate de indicatoarele de tip grafic, XY sau digital. De asemenea
aceste indicatoare acceptă şi grupuri de date (cluster – e) formate din orice combinaţie
a acestor tipuri;
• Ferestre grafice 3D (Windows 3D Graphs) prin care sunt afişate tablouri de date 3D
în reprezentare grafică 3D prin intermediul unui obiect ActiveX pe panoul frontal.

2.2.9.1. Indicator de tip grafic (Waveform Graphs)


Aşa cum s-a menţionat mai sus permit reprezentarea grafică a valorilor uneia sau mai
multor funcţii simultan cu specificarea că fiecare dintre acestea este o funcţie de o singură
variabilă de tipul y = f(x) cu puncte uniform distribuite de-a lungul axei x.
Un astfel de indicator acceptă la intrare diverse tipuri de date pentru a le afişa sub
forma unor curbe. Tipul uzual de date este reprezentarea acestora sub forma unui tablou 2D în
care fiecare linie a tabloului reprezintă o curbă. În fig.2.59. este prezentat un exemplu de
utilizare a acestui indicator pentru a reprezenta funcţia sinus pe o perioadă (2π) prin 100 de
puncte (Y) Single Plot respectiv pentru a reprezenta simultan funcţiile sinus şi cosinus pe
aceiaşi perioadă şi prin acelaşi număr de puncte.

Fig.2.59. Indicator de tip grafic (Waveform Graphs)


Indicatorul de tip grafic interpretează fiecare valoare a variabilei y din tablou ca
ordonata unui punct al curbei. Variabila x reprezentând abscisa punctului este incrementată
după fiecare valoare cu Δx = 1 începând de la. Acestea sunt valori implicite dar pot fi
specificate şi de către utilizator prin adăugare la gruparea de date reprezentând tabloul y = f(x)

33
Limbajul de programare grafică LabVIEW

a parametrilor x0 şi respectiv Δx, astfel în fig.2.60. sunt modificaţi aceşti parametrii (x0 = 25,
Δx = 2) şi se observă efectul asupra reprezentării grafice.

Fig.2.60. Explicativă privind modificarea parametrilor x0 şi Δx


Indicatorul de tip grafic acceptă la intrare şi date de tip formă de undă, acestea
conţinând atât setul de date cât şi parametrii x0 şi Δx, în fig.2.61. este prezentat un exemplu de
utilizare a indicatorului de tip grafic în acest caz. Este preluată forma de undă a semnalului
cosinus şi acestuia îi sunt adăugaţi parametrii x0 şi Δx care în acest caz valori ale variabilei

Fig.2.61. Utilizarea indicatorului de tip grafic pentru date de tip formă de undă
timp şi vor fi x0 = t0 şi Δx = dt prin intermediul funcţiei Build Waveform
Un alt tip de date acceptate de acest indicator sunt date de tip dinamic (dynamic data
type) care reprezintă de fapt tot o formă de undă generată însă prin utilizarea funcţiilor
Express (Express » Input » Simulate Signal), fig.2.62. Un astfel de semnal pe lângă datele
propriu-zise ce reprezintă coordonatele punctelor ce se for reprezenta grafic conţine şi
informaţii asociate semnalului cum ar fi numele acestuia, data şi ora când a fost achiziţionat.

Fig.2.62. Utilizarea indicatorului de tip grafic pentru date dinamice (dynamic data type)

34
Sisteme de achiziţie şi prelucrare a datelor

Unui indicator de tip grafic i se pot seta atribute prin intermediul opţiunii Properties
din meniul contextual prin selecţia căreia se deschide o fereastră ce permite setări pentru:
• Mod de afişare (Appearance), fig.2.63.a prin care se setează afişarea următoarelor:

Fig.2.63. Setarea atributelor


unui indicator de tip grafic

9 Unelte pentru grafic (Show graph palette) prin intermediul cărora:


¾ se poate activa utilizarea cursoarelor
¾ se poate realiza un zoom în grafic după abscisă, după ordonată sau după
ambele coordonate
¾ se poate deplasa graficul în fereastră
9 Atribute ale graficului (Show plot legend) prin intermediul
căruia se pot stabili, prin meniu contextual activat cu clic –
dreapta, atribute ale liniilor reprezentând graficul (tip, grosime,
culoare, mod de interpolare a punctelor pentru obţinerea liniilor, etc);
9 Număr de curbe afişate simultan (Plots shown);
9 Bară de scroll pe abscisă (Show x scoll bar);
9 Atribute pentru scale (Show scale legend) prin
intermediul căreia se pot face setări ale modului de
reprezentare a axelor atât pe abscisă cât şi pe ordonată în
ceea ce priveşte formatul valorilor celor două variabile
afişate pe abscisă şi ordonată, numărul de cifre al acestora, formatul caroiajului;
9 Atribute pentru cursor (Show cursor legend)
dacă este activat unul sau mai multe cursoare şi
aceste atribute valori în coordonate (x,y) ale
poziţiei fiecăruia dintre cursoarele utilizate
• Format şi precizie (Format and Precision) prin care
se setează atribute ale modului de reprezentare a valorilor numerice corespunzătoare
coordonatelor punctelor ce formează reprezentarea grafică.
• Reprezentare grafică (Plot) prin care se setează atribute ale reprezentării grafice
propriu-zise, printre care:

35
Limbajul de programare grafică LabVIEW

9 Numele curbei (Name) şi denumirea variabilelor de pe cele două axe


(Amplitudine (Y - Axis)) respectiv (Time (X - Axis));
9 Formă, grosime şi culoare a liniei reprezentării grafice;
9 Mod de interpolare a punctelor reprezentând valori ale celor două variabile
pentru a obţine curba;
• Scalele reprezentării grafice (Scales) prin care se setează atribute ale ferestrei grafice a
indicatorului:
9 Denumirea variabilelor de pe cele două axe (Amplitudine (Y - Axis))
respectiv (Time (X - Axis));
9 Setări pentru axe:
¾ Vizualizarea denumirii axelor (Show scale label);
¾ Vizualizarea scalei pentru fiecare axă (Show scale);
¾ Scală logaritmică pentru fiecare axă (log);
¾ Scală inversă pentru fiecare axă (Inverted)
9 Autoscalare (Autoscale) sau setarea factorilor de scală (Scaling Factors)
pentru fiecare axă;
9 Stil şi culoare pentru scale de pe fiecare axă (Scale Style and Colors);
9 Stil şi culoare pentru caroiaj (Grid Style and Colors).
• Cursoare (Cursors), acestea fiind repere reticulare ce permit citirea coordonatelor
punctelor ce formează reprezentarea grafică la cerea utilizatorului. Pentru aceste
elemente suplimentare ale indicatorului de tip grafic se pot seta atribute pentru fiecare
cursor, printre care:
9 Numele cursorului;
9 Formă, grosime şi culoare a liniei cursorului;
9 Formă a elementului reticular;
9 Setarea posibilităţilor de deplasare a cursorului.
Ţinând seama de
setările pentru un indicator
de tip grafic prezentate în
fig.2.63 se obţine
indicatorul de tip grafic
prezentat în fig.2.64.
Toate setările de
atribute menţionate mai
sus se pot realiza şi din
meniul contextual al
indicatorului obţinut prin
clic – dreapta pe fereastra
Fig.2.64. Indicator de tip grafic indicatorului.

2.2.9.2. Indicator de tip diagramă (Waveform Chart)


Ca şi indicatorul de tip grafic este un indicator numeric utilizat pentru reprezentarea
grafică a perechilor de puncte reprezentând valori ale unei variabile dependente y şi a unei
variabile independente x acestea fiind reprezentate de o funcţie y = f(x). Spre deosebire însă
de indicatorul de tip grafic la indicatorul de tip diagramă reprezentarea grafică se face punct
cu punct după cum perechile de valori (x,y) sunt generate, nu este nevoie deci să se aştepte
generarea unui tablou al acestor perechi după care acestea să fie reprezentate. Se spune că
actualizarea (update – ul) graficului se face după fiecare pereche de valori obţinută.
Modalitatea de funcţionare este similară unui înregistrator grafic cu hârtie.

36
Sisteme de achiziţie şi prelucrare a datelor

În ceea ce priveşte modalitatea de actualizare (update) există următoarele forme,


fig.2.65:
• Chart prin care modul de dispunere a punctelor ce formează graficul este similar
indicatorului de tip grafic astfel că un set de valori pereche (x,y) sunt depuse într-un
buffer a cărui lungime poate fi stabilită, dar valoarea implicită este de 1024 de perechi
după care acestea sunt reprezentate în fereastra grafică;
• Scope prin care se respectă principiul actualizării punct cu punct a graficului pe
măsură ce sunt generate coordonatele acestor puncte;
• Sweep prin care datele conţinute în buffer sunt citite prin baleiaj (sweep) adică
pereche cu pereche şi actualizarea acestora în fereastra grafică se face prin înlocuire.

Fig.2.65. Indicator grafic de


tip Chart

Selecţia unuia dintre aceste moduri de actualizare se poate face prin alegerea din
meniul contextual a opţiunii Advanced » Update Mode.
Ca şi în cazul indicatorului de tip grafic se pot reprezenta în aceiaşi fereastră grafică
una sau mai multe curbe adică unul sau mai multe seturi de valori (x,y) generate de una sau
mai multe funcţii. În fig.2.65. în aceiaşi fereastră grafică sunt reprezentate simultan funcţiile
sinus şi cosinus şi valorile asupra cărora sunt aplicate cele două funcţii sunt preluate de la
variabila contor i a unei bucle While a cărei valoare creşte cu fiecare ciclare a buclei.
Faţă de indicatorul de tip grafic la indicatorul de tip diagramă în cazul reprezentării a
două sau mai multe curbe acestea pot fi trasate în aceiaşi fereastră grafică (Overlay Plots) sau
în subferestre grafice diferite (Stack Plots). Alegerea uneia sau alteia dintre cele două opţiuni
se poate face din meniul contextual.
În ceea ce priveşte setarea atributelor indicatorului de tip diagramă această setare se
realizează în mod similar celor de tip grafic prezentate anterior.

37
Limbajul de programare grafică LabVIEW

2.2.9.3. Indicator de tip XY (XY Graph)


Indicatorul de tip XY permite reprezentarea grafică a unei funcţii y = f(x), în care atât
x cât şi y sunt tablouri de valori. Astfel în locul variabilei independente timp pe abscisă se vor
fixa valorile variabilei x iar pe ordonată valorile variabile y, obţinându-se astfel o reprezentare
în coordonate y = f(x). Cele două variabile reprezentate prin tablouri de valori 1D sunt grupate
prin intermediul unei funcţii Bundle astfel încât indicatorului grafic i se vor transmite pentru
afişare tablouri de valori 2D.
În fig.2.66 se prezintă un exemplu de utilizare a indicatorului de tip XY (XY Graph)
la care atât pe abscisă cât şi pe ordonată sunt repartizate valori ale funcţiei sinus obţinând
astfel figuri Lissajous.

Fig.2.66. Utilizarea indicatorului de tip XY pentru reprezentarea figurilor Lissajouss

Fig.2.67. Utilizarea indicatorului Express XY Graph

38
Sisteme de achiziţie şi prelucrare a datelor

Funcţia Bundle de grupare a celor două variabile poate fi înlocuită dacă se utilizează
indicatorul căruia îi este ataşată funcţia Build XY care are rolul de a formata datele pentru a
fi afişate pe indicatorul XY. În acest caz, fig.2.67, pe abscisa cât şi pe ordonata indicatorului
sunt repartizate valori ale funcţiei sinus obţinute prin simularea acestei funcţii, simulare
realizată prin intermediul funcţiei Simulate Signal şi datele în acest caz fiind de tip dinamic.
Şi în acest caz este exemplificată utilizarea indicatorului Express XY Graph pentu generarea
de figuri Lissajous
În ceea ce priveşte setarea atributelor indicatorului XY această setare se realizează în
mod similar celor de tip grafic prezentate anterior.

2.2.9.4. Indicatoare grafice digitale (Digital Waveform Graphs)


Indicatoarele grafice digitale (Digital Waveform Graphs) sunt utilizate reprezentarea
grafică a codurilor numerice, fiecare valoare din aceste coduri fiind reprezentate prin cele
două cifre binare 0 şi 1. Aceste indicatoare sunt utilizate în cazul preluării semnalelor de pe o
magistrală de date sau de la un convertor analog – numeric.
Pentru exemplificarea utilizării se consideră la intrarea unui astfel de indicator grafic
un generator de coduri binare realizat prin intermediul unuia dintre controalele Digital
Waveform sau Digital Data.

a)

b)

Fig.2.68. Utilizarea indicatorului grafic digital cu generatoare de coduri


În cazul utilizării controlului Digital Waveform, fig.2.68.a. sunt generate 4 coduri
binare reprezentate de liniile 0 ... 3 în tabelul de valori Digital Waveform, fiecare cod binar
fiind exprimat prin 5 biţi (coloanele 0 ... 4 în tabelul de valori Digital Waveform), valorile
binare ale acestor biţi fiind reprezentate prin liniile Plot 0 ... Plot 4.
În cazul utilizării controlului Digital Data, fig.2.68.b. sunt generate 6 coduri binare
reprezentate de liniile 0 ... 5 în tabelul de valori Digital Data, fiecare cod binar fiind exprimat
prin 8 biţi (coloanele 0 ... 7 în tabelul de valori Digital Data), valorile binare ale acestor biţi
fiind reprezentate prin liniile Plot 0 ... Plot 7.

39
Limbajul de programare grafică LabVIEW

Fig.2.69. Utilizarea indicatorului grafic digital cu convertor analog - numeric

Indicatorul grafic digital Digital Waveform


poate fi utilizat şi pentru reprezentarea
rezultatului conversiei analog – numerice,
fig.2.69, prin care un semnal analogic sinusoidal
este convertit într-un cod binar care poate fi
reprezentat pe un număr de biţi în funcţie de
rezoluţia convertorului. În fig.2.69 sunt alese
două moduri de reprezentare, cu rezoluţie de 8
biţi (pe indicatorul grafic digital liniile Plot 0 ...
Fig.6.70. Diagrama bloc a utilizării grafic Plot 7) respectiv cu rezoluţie pe 12 biţi (pe
digital cu convertor analog - numeric indicatorul grafic digital liniile Plot 0 ... Plot
11). Cele două coduri binare sunt coduri bipolare în format complementul lui 2.
Diagrama bloc corespunzătoare funcţionării indicatorului grafic digital în această
aplicaţie este prezentată în fig.2.70

2.3. Structuri de programare grafică LabVIEW


2.3.1. Crearea, editarea şi corectarea unui VI
Se prezintă etapele realizării (implementării) unui VI şi metodele de tratare a execuţiei
unui program.
Etapele realizării unui VI se realizează respectând paşii de lucru, după cum urmează:
• crearea panoului frontal
• realizarea diagramei bloc utilizând limbajul G
• realizarea semnăturii VI reprezentată de pictograma şi conectorul
• salvarea VI intr-un fişier fizic “.vi”
• testarea funcţionării VI: se validează programul.
Pentru fiecare pas din realizarea VI se recomandă respectarea unor indicaţii, reguli şi
recomandări, care sunt prezentate în continuare.

2.3.1.1. Crearea panoului frontal


Se reaminteşte că panoul frontal reprezintă interfaţa grafică cu utilizatorul
(operatorul) al VI; elementele din panoul frontal se împart în controale şi indicatoare, care
sunt reprezentări vizuale ale datelor de intrare (controalele), respectiv ale datelor de ieşire sau
rezultatelor (indicatoarele).

40
Sisteme de achiziţie şi prelucrare a datelor

După alegerea celor mai potrivite variante de componente în funcţie de cerinţele


aplicaţiei şi amplasarea lor pe panoul frontal, se recomandă introducerea etichetei proprii a
fiecărui element de pe panoul frontal. Se afişează în partea superioară a elementului un
dreptunghi de culoare gri, prin care se indică faptul că mediul LabVIEW aşteaptă introducerea
de către utilizator a indicatorului. După introducerea acestuia, pentru validare se apasă
<Enter>. Dacă nu se specifică un indicator imediat după plasarea acestuia în panoul frontal, se
selectează din meniul contextual opţiunea ”Show/ Label”, sau se realizează eticheta cu
unealta de editare.
Pentru fiecare element din panoul frontal se recomandă să se specifice o scurtă
descriere, care să indice scopul utilizării componentei. Pentru aceasta se alege din meniul

Indicator Control
digital
etichete Indicator
boolean

Buton Control
Fig.2.71. Elemente ale panoului frontal
contextual Properties » Documentation.
Conţinutul descrierii se afişează în fereastra de
Click-dreapta asistenţă, când cursorul mouse – ului se plasează
pe etichetă deasupra componentei de interfaţă (fig.2.71.).
Este posibilă asocierea unei taste
Click-dreapta accelerator pentru selectarea controalelor astfel
pe indicatorul digital încât operatorul să poată interacţiona cu aplicaţia
fără folosirea mouse – ului. De asemenea la
realizarea panoului frontal nu se recomandă
utilizarea unui număr mare de culori, pentru a nu
distrage atenţia operatorului sau a îngreuna rularea
Fig.2.72. Meniuri contextuale programului.
Modificarea caracteristicilor indicatoarelor
sau controalelor sau etichetelor se poate face şi din meniurile contextuale, după cum se
observă şi în fig.2.72. În acest mod se poate modifica dimensiunea, aliniamentul etichetei, cât
şi tipul, aranjarea, formatul, domeniul de date, ş.a. atât în cazul indicatoarelor şi al
controalelor.

2.3.1.2. Crearea diagramei bloc


Diagrama bloc reprezintă codul sursă al VI. Modul în care se realizează diagrama
bloc defineşte stilul de programare. Aranjarea instrucţiunilor şi comentarea operaţiilor face
codul sursă al VI sa fie lizibil, mai uşor de depanat şi de întreţinut. Se recomandă ca în
diagrama bloc să nu se suprapună elementele. Este bine ca firele să nu fie prea apropiate
unele de altele, pentru a nu se îngreuna urmărirea vizibilă a căilor de flux ale datelor. De
asemenea este recomandat ca eticheta să nu acopere firul şi să se stabilească proprietatea de
transparenţă a fundalului comentariului.
În diagrama bloc se întâlnesc două tipuri de etichete :
- etichete proprii (identificatori) asociate terminalelor nodurilor;
- etichete libere (comentarii).

41
Limbajul de programare grafică LabVIEW

Pentru recunoaşterea unui


panoul frontal comentariu, se recomandă că textul
sa fie încadrat de textul (*); textul
unor comentarii se scrie cu litere
Indicatoare
îngroşate şi eventual cu o culoare
distinctivă, pentru a se scoate în
evidenţă importanţa operaţiilor
realizate intr-o anumită zonă din
diagrama bloc.
Controale
Programatorul începe să
realizeze diagrama bloc din stânga
sus a ferestrei şi se întinde spre
dreapta şi jos, pe măsură ce se
Conexiuni Noduri implementează funcţionalitatea VI.
Terminalele modelului functiei diagrama bloc În cazul în care programul devine
de adunare (trei terminale). foarte mare se recomandă
Fig.2.73. Crearea diagramei bloc împărţirea pe subVI. Divizarea în
subVI este susţinută de toate
avantajele ce decurg din utilizarea modularizării aplicaţiilor. Calitatea esenţială a mediului de
programare LabVIEW este posibilitatea utilizării subVI-urilor în scheme ierarhice astfel
orice VI creat poate fi utilizat ca un subVI într-o astfel de schemă ierarhică a unui nou VI
fără a exista o limitare a numărului de nivele în schema ierarhică.
Legăturile din diagrama bloc se realizează între terminalele nodurilor; se recomandă
să se înceapă realizarea legăturilor de la terminalele destinaţie spre terminalele sursă, în cazul
nodurilor din aval care posedă mai mulţi parametri de intrare. Pentru realizarea unei legături
se urmăresc următoarele etape:
• se alege unealta de interconectare;
• se selectează terminalul destinaţie;
• se eliberează butonul stâng al mouse – ului şi deplasează cursorul spre nodul sursă;
• se selectează terminalul sursa.
Scalar Tablou1D Tablou 2D
Orange (virgulă mobilă) Fiecare tip de dată
Numeric este codificat şi cu ajutorul
Albastru (întreg)
culorilor după cum se
Boolean Verde observă şi în fig.2.74.
Şir de Mov Se poate realiza
caractere legătura şi de la nodul sursă
Unealta de spre nodul destinaţie. După
interconectare selectarea unuia dintre
terminale, dacă se apasă
Fig.2.74.Codificarea legăturilor (conexiunilor) tasta < Spacebar >, se
schimbă direcţia firului.
Dacă pe parcursul deplasării
cursorului mouse – ului spre
celălalt nod se realizează un click
cu butonul stâng pe suprafaţa
diagramei bloc, atunci în acel loc
se inserează un punct de ancorare
al firului de la care se schimbă
Fig.2.75. Exemple de diagrame bloc orientarea legăturii.

42
Sisteme de achiziţie şi prelucrare a datelor

După realizarea diagramei bloc, aceasta se salvează, alegându-se comanda Save din
meniul File.
Exemple simple de diagrame bloc sunt prezentate în fig.2.75.

2.3.1.3 Testarea execuţiei unui VI şi corectarea erorilor


Programatorul trebuie să se asigure de funcţionarea consistentă a VI şi pentru aceasta
se parcurg următorii paţi sau etape:
• se aleg un minim de 3 seturi de date de intrare.
• Pentru fiecare set de date de intrare se trasează prelucrările. Programatorul parcurge
fiecare instrucţiune din codul sursă şi operează pe hârtie prelucrările datelor curente.
• Se rulează VI pentru cele 3 seturi de data de intrare şi se notează valorile rezultatelor
obţinute.
• Se compară valorile rezultatelor returnate de VI cu valorile obţinute din trasarea
operaţiilor de prelucrare. Dacă pentru toate seturile de date de intrare se obţin aceleaşi
rezultate prin ambele metode folosite, atunci s-ar putea afirma ca « VI funcţionează
corect »; se recomandă să se aleagă alte 3 seturi de date de intrare pentru care sa se
verifice corectitudinea prelucrărilor.
Daca există diferenţe ale valorilor rezultatelor, returnate de rularea VI şi cele obţinute
prin trasarea operaţiilor de prelucrare, atunci programatorul trebuie să localizeze şi să elimine
eroarea. Programatorul atribuie datele de intrare controalelor şi realizează trasarea execuţiei
VI:
• Se trece în fereastra diagramei bloc
• Se optează pentru regimul de rulare a VI cu afişarea fluxului de date. Butonul afişează
starea unui bec care emite lumină.
• Se urmăresc valorile rezultatelor în urma execuţiei fiecărui nod.
• Se realizează trasare interactiva pas – cu – pas combinată cu trasare pas – cu – pas pe
blocuri.
Valoarea transmisă pe fir se inspectează într-o fereastră « sonda » (Probe), în timpul
trasării execuţiei VI.
Trasarea interactiva a programului se realizează utilizând butoanele prezentate în
fig.2.76. Prin apăsare butonului a se execută instrucţiunea următoarea a VI, după care se
aşteaptă o nouă instrucţiune din partea utilizatorului; în cazul în care instrucţiunea curentă
corespunde apelului unui subVI atunci se execută prima procedură din VI – ul apelat. Pentru
o trasare a execuţiei unui VI pe paşi\blocuri de instrucţiuni (toate instrucţiunile aparţinând
unui bloc se vor executa simultan), se va utiliza butonul b ; dacă instrucţiunea următoare este
apel de subrutină se va executa întreg programul apelat. Revenirea din blocul apelat în cel
apelant se face la apăsarea butonului ilustrat în figura c.
Mediul de programare LabVIEW acceptă şi numeroase shortcut-uri dintre care cele mai
utilizate sunt prezentate mai jos:

< Ctrl-R > Rularea unui VI


< Ctrl-F > Caută obiect
< Ctrl-H > Activează fereastra de asistenţă (Help)
< Ctrl-B > Elimină toate firele întrerupte
< Ctrl-W > Închide toate ferestrele
< Ctrl-E > Trecere între diagrama bloc/panoul frontal
< Shift + click dreapta > Afişarea rapidă a căsuţei de unelte
< Tab > Modificarea rapidă a uneltelor de lucru

43
Limbajul de programare grafică LabVIEW

¾ Găsirea erorilor
Apăsaţi butonul - RUN
Apare o fereastra de erori
¾ Executare cu evidenţierea fluxurilor
Apăsarea butonului de afişare a fluxurilor; fluxurile de date sunt
evidenţiate în diagrama bloc. Valorile sunt afişate pe fire.
¾ Sonda (Probe)
Clic dreapta pe fir se afişează o fereastră cu datele din segmentul
respectiv

De asemenea se poate utiliza unealta Probe din caseta de unelte

¾ Oprirea execuţiei

¾ Rularea programului pas-cu-pas

a b c
Fig.2.76. Butoane de ajutor în verificarea programului

2.3.2. SubVI - uri


În acest subcapitol se prezintă etapele realizării a unui subVI, a conectorului şi
pictogramei, precum şi modul de utilizare a unui astfel de program în cadrul unui alt
instrument virtual.

2.3.2.1 Realizarea semnăturii VI


În capitolul anterior a fost prezentat modul de realizare, modificare şi corectare a unui
panou frontal şi a unei diagrame bloc. Se presupune ca s-a terminat realizarea panoului
frontal: pentru toate controalele şi indicatoarele s-au specificat etichete proprii.
Programatorul trebuie sa realizeze în continuare pictograma care reprezintă identificatorul
grafic al VI - ului şi conectorul care specifică parametrii formali ai VI – ului.

2.3.2.1.1 Pictograma
Pictograma VI se afişează în
colţul superior din dreapta al ferestrei
panoului frontal şi diagramei bloc.
Mediul LabVIEW oferă automat o
pictogramă pentru VI nou creat, formată
din simbolul grafic ce defineşte logo-ul
produsului LabVIEW şi o valoare
numerică prin care se indică câte acţiuni
de creare de VI s-au declanşat de la
pornirea mediului.
Programatorul poate să creeze
pentru fiecare VI o pictogramă.
Fig 2.77 Meniul contextual asociat pictogramei VI Actualizarea pictogramei se face cu

44
Sisteme de achiziţie şi prelucrare a datelor

ajutorul unui editor grafic specializat. Lansarea editorului se face prin una din metodele:
• Metoda 1: se selectează opţiunea “editorului de pictograme” (Edit Icon) din
meniul contextual (fig.2.77), asociat pictogramei VI; apelarea editorului se
poate face din fereastra panoului frontal sau din fereastra diagramei bloc.
• Metoda 2: se realizează dublu click cu mouse – ul direct pe suprafaţa
pictogramei.
Indiferent de metoda aleasă se
deschide fereastra editorului pictogramei,
fig.2.78 şi elementele editorului de
pictograme sunt elementele clasice ale unui
program de editare grafică, bara de unelte
conţinând:
• Unealta creion permite scrierea unui pixel;
• Unealta pentru trasarea unei linii;
• Unealta pentru prelucrarea culorii de
desenat;
• Unealta de umplere a unei arii închise cu o
Fig.2.78. Editorul pictogramei culoare;
• Unealta de trasarea chenarului unui dreptunghi;
• Unealta pentru desenarea unui dreptunghi plin;
• Unealta de selectare;
• Unealta de scriere text;
• Unealta de colorare;
Pe lângă acestea apare şi o zona de desenare, iar în partea dreaptă o serie de unelte
specifice :
• Pictograma VI pentru modul grafic de lucru “alb-negru” (B&W)
• Pictograma VI pentru modul grafic de lucru “16 culori” (16 Colors)
• Pictograma VI pentru modul grafic de lucru “ 256 culori” (256 Colors)
• Butoane prin care se permite copierea variantei pictogramei realizate în alt mod grafic
• Se pune în evidenta zona ocupata de fiecare terminal al VI, prin afisarea unor linii de
delimitare
• Se renunţă la modificările efectuate asupra pictogramei
• Se reţin modificările efectuate asupra pictogramei VI şi se revine la fereastra panoului
frontal sau diagramei bloc.
Pictograma trebuie să fie sugestivă pentru funcţia implementată în VI; pentru
realizarea acesteia, se pot folosi simbolurile grafice, combinate cu caractere alfanumerice sau
se poate adapta pictograma unui alt VI.

2.3.2.1.2 Conectorul VI
Conectorul cuprinde terminalele de intrare şi de ieşire ale VI. Prin crearea terminalelor
de intrare şi de ieşire, VI – ul curent va putea fi apelat din diagrama bloc al altui instrument:
valorile datelor de intrare se vor transmite terminalelor de intrare ale conectorului.
Poziţia terminalelor se recomandă să respecte convenţia “curgerii datelor” (data flow)
din LabVIEW, conform căruia fluxul datelor în diagrama bloc este de la stânga la dreapta şi
de sus în jos:
• Intrările sa fie plasate în jumătatea stânga (pe direcţie orizontală) a conectorului;
• Ieşirile sa ocupe jumătatea dreapta a conectorului.

45
Limbajul de programare grafică LabVIEW

Pentru crearea conectorului se alege opţiunea


Afişează Conectorul (Show Connector) din meniul
Clic stânga contextual asociat pictogramei VI (fig. 2.77);
conectorul înlocuieşte pictograma. Mediul LabVIEW
selectează din galeria cu modele predefinite un
conector care să conţină un număr de locaţii în partea
stânga (dreapta) cât mai apropiat de numărul total de
controale (indicatoare) din panoul frontal (fig.2.79).
Fiecare locaţie dreptunghiulară de pe suprafaţa
conectorului poate să reţină un parametru formal (nu
este obligatoriu să se folosească toate locaţiile).
Fig.2.79. Realizarea conexiunilor Programatorul poate selecta un alt model de
conectorului pentru controale conector pentru a obţine un alt număr de locaţii sau
pentru o altă dispunere a acestora şi pentru aceasta se
selectează opţiunea “ Modele” (Patterns) din meniul contextual asociat pictogramei.
Numărul maxim de locaţii pentru un conector este de 28. Se menţionează că mai mulţi
parametri ar putea fi grupaţi pe o singura locaţie a conectorului folosind pentru aceasta
funcţiile de grupare/degrupare (Bundle/Unbundle).
Programatorul trebuie să indice corespondentele între elemente din panoul frontal şi
locaţiile conectorului, astfel:
• O asociere cu un control indică faptul că locaţia reprezintă un parametru de intrare;
• O asociere cu un indicator determină ca locaţia să reprezinte un parametru de
ieşire.
Fluxul datelor în momentul apelului VI din diagrama bloc a altui instrument, este
următorul:
• valorile curente (parametrii actuali) se transmit terminalelor de intrare ale
conectorului VI;
• datele primite de terminalele de intrare se atribuie controalelor la care se face
referire din panoul frontal;
• valorile din controale se transmit în diagrama bloc pentru prelucrare, prin
terminalele (din diagrama bloc) asociate controalelor (din panoul frontal);
• rezultatele prelucrărilor din diagrama bloc se transmit (în final) indicatoarelor din
panoul frontal, prin terminalele (din diagrama bloc) asociate indicatoarelor din
panoul frontal;
• valorile rezultatelor din indicatoare se transfera terminalelor (asociate) de ieşire
ale conectorului VI., astfel se transferă valorile prelucrărilor în exteriorul VI;
• datele terminalelor de ieşire ale
conectorului VI apelat se transmit în
diagrama bloc a VI apelant.
Şi la asocierea indicatorului cu terminalele de
ieşire ale conectorului (fig.2.80.) se foloseşte unealta
de interconectare (wiring tool). Locaţiile conectorului
preiau culoarea tipului de data, asociată indicatorului
sau controlului referit; locaţiile al căror conţinut este
de culoare albă indică faptul că nu se folosesc, adică
nu se primeşte şi nu se returnează nimic prin acea
locaţie.
În ceea ce priveşte asocierea indicatorului cu
Fig 2.80 Realizarea conexiunilor terminalele de ieşire ale conectorului se fac
conectorului pentru indicatoare următoarele observaţii:

46
Sisteme de achiziţie şi prelucrare a datelor

• Asocierile realizate nu se afişează prin fire de legătură. În fereastra de asistenţă se


indică pe terminale numele indicatorului obiectului asociat din panoul frontal; de
aceea este foarte important ca toate elementele să aibă precizate etichetele. Singura
metodă prin care programatorul modifică numele terminalelor conectorului este
actualizarea denumirii etichetelor proprii ale controalelor şi indicatoarelor asociate.
• Este bine să se opteze încă de la început pentru un conector cu mai multe locaţii
decât este necesar, aceasta în primul rând pentru a se permite conectarea altor
elemente în cazul în care se prevăd dezvoltări ulterioare ale VI.
Programatorul selectează în final afişarea pictogramei, după realizarea conectorului: din
meniul contextual asociat pictogramei / conectorului VI se alege opţiunea “afişează
pictograma” (Show Connector). În acest moment s-a terminat realizarea părţii de interfaţă
programată (pictograma şi conectorul) care, aşa cum s-a văzut anterior, se bazează pe interfaţa
grafică interactivă (panoul frontal).

2.3.2.3. Crearea unui subVI


La baza realizării programelor în LabVIEW stă conceptul de modularizare şi
ierarhizare arborescentă. Când se proiectează şi implementează un VI, trebuie să se ţină cont
de natura modulară a acestuia: poate fi utilizat atât ca program principal cât şi ca subrutină în
cadrul altui VI. Un VI folosit în cadrul unui alt VI se numeşte subVI. Un astfel de program
corespunde subrutinelor din limbajele de programare bazate pe text, iar apelarea acestuia se
face la fel ca şi în cazul subrutinelor. Un nod din diagrama bloc nu este un subVI ci o
apelare a acestuia, la fel ca în cazul unui subrutine. Controalele şi indicatoarele subVI – ului
primesc şi returnează datele diagramei bloc apelante.
După ce s-a construit un instrument virtual şi s-a creat pictograma şi conectorul, acesta
poate fi utilizate ca subVI.
Selectarea unor instrumente virtuale se poate face prin doua metode:
• din paleta de funcţii Function » Select a VI ... şi se plasează în diagrama bloc
creându-se astfel un subVI.
• alta metoda este de a tine apăsat butonul mouse – ului pe pictograma şi a o
trage î n diagrama bloc a noului VI. (fig.2.81.).
Este important ca înainte de a folosi un
VI ca un subVI este necesară crearea şi
configurarea conectorului şi pictogramei,
descrise ceva mai sus, în cadrul acestui
subcapitol.
Un subVI poate fi editat utilizând caseta
cu unelte generale de operare şi poziţionare, la
fel ca şi în cazul unui VI normal. Deschiderea
panoului frontal al unui subVI se poate cu un
dublu – clic pe pictograma acestuia din diagrama
Fig.2.81. Posibilitate de adăugare a unui bloc a instrumentului virtual.
subVI ATENTIE! Este foarte important de
reţinut că atunci când se salvează un subVI,
modificările afectează toate apelurile acestuia nu doar cele modificate.

2.3.2.4 Conversia unei zone din diagrama bloc în subVI


Simplificarea structurii unei diagrame bloc existente, numită sursă, se poate realiza
prin înlocuirea instrucţiunilor dintr-o regiune de formă dreptunghiulară printr-un subVI, care
realizează aceleaşi operaţii (fig.2.82.).

47
Limbajul de programare grafică LabVIEW

Fig 2.82 Conversia unei porţiuni din diagrama bloc în subVI


Crearea unui subVI din regiunea selectată a diagrama bloc şi înlocuirea automată a
acestuia prin apelul noului modul presupune parcurgerea următoarelor etape:
• Cu unealta de editare se selectează regiunea din diagrama bloc care se înlocuieşte
prin apelul unui subVI; se descrie cu mouse – ul o zonă de formă dreptunghiulară care
să cuprindă regiunea;
• Se selecteaza optiunea “Crează subVI” (Create SubVI) din meniul “Editare” (Edit »
Create SubVI)
În urma alegerii opţiunii “editare/ creează subVI”, mediul LabVIEW realizează
următoarele acţiuni:
• Creează un nou subVI cu controale şi indicatoare necesare transferului datelor de
intrare şi de ieşire în diagrama bloc sursă;
• Copiază subdiagrama în diagrama bloc a noului VI;
• Înlocuieşte subdiagrama din diagrama bloc sursa cu apelul noului subVI; se
realizează automat legăturile la terminalele conectorului subVI, pentru a se asigura
transferul datelor între diagrama bloc sursă şi noul modul.
Este necesară luarea în considerare a următoarelor observaţii:
1. în subdiagrama care se înlocuieşte prin apelul unui subVI se consideră că
fluxul datelor este din partea stânga spre dreapta (conform convenţiei data
flow)
2. Nu se poate realiza conversia unei subdiagrame într-un subVI cu mai mult de
28 de terminale. În cazul depăşirii numărului maxim de 28 terminale, se
realizează gruparea şi degruparea datelor la începutul subdiagramei respective
gruparea rezultatelor, după ieşirea din subdiagrama în subVI.

2.3.2.5 Opţiuni pentru execuţia subVI


Programatorul controlează modul în care se realizează
apelul unui subVI, prin intermediul opţiunilor care se pot asocia
din meniul contextual asociat pictogramei modulului, plasat în
diagrama bloc apelantă: se alege opţiunea “stabilirea opţiunilor
nodului subVI” (SubVI node Setup), fig.2.83. Fereastra de
dialog conţine următoarele opţiuni:
• Afişează panoul frontal la încărcare (Show front
Panel When Loaded);
Fig.2.83. Stabilirea • Afişează panoul frontal la apelare (Show front
opţiunilor nodului subVI Panel When Called);
• Închide panoul frontal după execuţie (Close

48
Sisteme de achiziţie şi prelucrare a datelor

Afterwards if Originally Closed);


• Suspendă execuţia la apelare (Suspend When Called).
Dacă în diagrama bloc apelantă se află mai multe apeluri (în locuri diferite) ale
aceluiaşi subVI, atunci pentru fiecare apel se pot specifica condiţii diferite de apelare.
De asemenea pentru uşurinţă în folosirea ulterioara a unui subVI, pot fi introduse o
serie de descrieri şi recomandări (fig.2.84.) alegând opţiunea Documentation din meniul File
>> VI Properties sau introducând textul ajutător în fereastra Description and Tip accesibilă
din meniul contextual al subVI - ului.

Fig.2.84. Ferestre de ajutor

2.3.4. Structuri pentru controlul execuţiei programelor


După realizarea panoului frontal al VI este necesară implementarea funcţionalităţii
programului şi pentru aceasta se construieşte diagrama bloc, care, după cum se ştie
reprezintă codul sursă al instrumentului. Sunt prezentate, în continuare, o parte a celor mai
importante elemente ale limbajului G, care trebuiesc cunoscute pentru a realiza un VI.
Pentru realizarea codului sursă al VI nu se scriu linii de text reprezentând instrucţiuni
(modalitate care reprezentă o sintaxa rigidă şi de multe ori anevoioasă) ci se aleg elemente de
execuţie, care se plasează în diagrama bloc şi se realizează legături între acestea, prin
definirea fluxului datelor.
Elementele utilizate la realizarea diagramei bloc sunt clasificate în trei grupe generale:
1. noduri
2. terminale
3. fire

2.3.4.1 Noduri, terminale, fire


Nodurile sunt elemente de execuţie din limbajul G, ale unui VI. Nodurile din limbajul
G corespund operatorilor, funcţiilor predefinite, instrucţiunilor, subrutinelor realizate de
utilizator – din limbajele convenţionale de programare structurată.
În realizarea diagramei bloc a unui VI pot fi utilizate şapte tipuri de noduri,
reprezentând:
• Funcţii predefinite;
• Subrutine;
• Structuri pentru controlul execuţiei programelor;
• Formule de calcul;
• Noduri proprietate;
• Variabile locale şi globale;
Un nod se execută doar în momentul, în care există valori disponibile pentru toţi
parametrii de intrare, datele – rezultat obţinute din funcţionalitatea nodului sunt furnizate
simultan în exterior, doar după ce s-au realizat toate operaţiile din corpul nodului.

49
Limbajul de programare grafică LabVIEW

Terminalele sunt echivalente unor „porţi” prin intermediul cărora se realizează


transferul datelor:
- între panoul frontal şi diagrama bloc (bidirecţional);
- între nodurile diagramei bloc (unidirecţional).
Terminalele se regăsesc în diagrama VI şi au asociată o reprezentare grafica sugestivă,
existând patru tipuri de terminale, şi anume:
- asociate controalelor şi indicatoarelor din panoul frontal;
- asociate nodurilor;
- constante;
- particulare instrucţiunilor pentru controlul execuţiei programelor.
Aceste patru tipuri de terminale se grupează în :
- terminale sursă;
- terminale destinaţie.
Firele, definesc şi reprezintă grafic fluxul datelor în diagrama bloc prin care se
realizează schimbul de informaţii între noduri. Fluxul datelor este orientat de la terminalele
sursă spre terminalele destinaţie. Firele codifică prin culoare şi stilul liniei tipul datelor
transmise. Pentru a cunoaşte tipului de data care se transmite pe o cale se poziţionează
unealta de interconectare deasupra unui fir, care realizează o legătură validă şi se obţine astfel
o descrierea a acestei căi într-o fereastră de asistenţă.
Structurile pentru controlul execuţiei programelor îmbunătăţesc posibilitatea de
realizare a funcţionalităţii VI, existând patru structuri pentru controlul execuţiei programelor,
şi anume:
• structura repetitivă (For Loop);
• structura repetitiva Do – While (While Loop);
• structura de selecţie (Case);
• structura secvenţială (Sequence);
• structura eveniment (Event);
• structura sincronizare (Timed)
• structuri de calcul (Formula Node, MathScript).
Fiecărei dintre aceste structuri de control îi este asociată o reprezentare grafică
distinctivă, pe baza căreia poate fi recunoscută vizual în diagrama bloc a VI. Blocul
operaţiilor care definesc corpul structurii constituie subdiagrama. Elementele prin care se
defineşte o subdiagrama sunt: noduri, terminale şi fire.
Rezultă astfel posibilitatea imbricării structurilor de
control.
Structurile de control sunt disponibile prin
intermediul casetei de funcţii ale VI reprezentată de
grupul „Structuri” (Structures), redat în fig. 2.85.
Plasarea unei structuri de control în diagrama
bloc presupune realizarea următoarei secvenţe de paşi:
• se selectează instrucţiunea dorită din caseta
cu funcţii ale VI;
• se deplasează cursorul mouse – ului
deasupra suprafeţei diagramei bloc. Se
observă modificarea cursorului care a luat
forma pictogramei structurii de control
selectate;
• se face click cu butonul din stânga al mouse
– ului, pentru a indica poziţia punctului
Fig. 2.85. Structuri de programare superior stânga al corpului structurii;

50
Sisteme de achiziţie şi prelucrare a datelor

• se eliberează butonul şi se deplasează mouse – ul în direcţia dreapta – jos, până se


obţine dimensiunea dorită pentru realizarea subdiagramei structurii.
Corpul structurii de control este delimitat vizual de celelalte elemente din diagrama
bloc printr-un contur. Conturul structurii este redimensionabil şi pentru a modifica
dimensiunea acestui contur se selectează instrucţiunea cu unealta de editare, se poziţionează
cursorul mouse – ului deasupra uneia din cele 4 colţuri, se selectează cu butonul stânga al
mouse – ului colţul dorit, se ţine apăsat butonul mouse – ului şi se deplasează pe direcţia şi
sensul redimensionării, iar în final se eliberează butonul mouse – ului.
Ca orice nod dintr-o diagramă bloc şi structurile pentru controlul execuţiei
programului are terminale pentru conectarea cu celelalte noduri. Terminalele prin care datele
sunt transmise către structură la intrare şi recepţionate de aceasta la ieşire se numesc tuneluri
şi acestea reprezintă conexiunile structurii şi grafic sunt aşezate pe conturul structurii
În ceea ce priveşte o structură de control este necesară observaţia că modul de execuţie
al unei structuri de control este cel al nodului:
• Structura de control se execută doar când toate datele de intrare sunt
disponibile;
• Datele de ieşire sunt furnizate simultan în exterior, doar când toate operaţiile
subdiagramei structurii s-au executat.

2.3.4.2. Structura repetitivă For


Structura repetitivă For (fig.2.86.)
Count terminal asigură reluarea funcţiilor, care alcătuiesc
(Intrare de tip corpul ciclului de un număr de ori. Stabilirea
numeric) Variabila valorii numărului de iteraţii se poate face prin
contor două metode:
• se furnizează o valoare printr-o
legătura la terminalul N;
• dimensiunea tabloului
transferat structurii For printr-
Fig. 2.86. Structura repetitiva For un tunel de intrare (care permite
auto-indexarea) corespunde
numărului de ciclări.
Logica structurii For este redată în limbajul Pascal astfel:

For contor := To N-1 Do


<instructiune>;

Valoarea iteraţiei curente este dată de terminalul contor. Terminalul contor de ciclu
poate fi aşezat de programator oriunde în interiorul subdiagramei. După prima iteraţie
valoarea terminalului este 0, după a doua iteraţie este 1,... pentru iteraţia N valoarea este N-1.
Transferul elementelor unui tablou (aflat în exteriorul structurii repetitive) în interiorul
subdiagramei structurii For se face printr-un tunel de intrare, situat pe chenarul buclei.
Tunelul de intrare permite implicit şi auto-indexarea în cazul structurii For astfel
elementele subdiagramei sunt furnizate pe rând acesteia, câte unul la fiecare iteraţie, începând
cu primul element (de indice 0) iar dimensiunea tabloului dă valoarea numărului de cicluri.
Întregul tablou este furnizat diagramei la fiecare buclă, dacă pentru acel tunel de intrare este
dezactivata opţiunea auto-indexare. Auto-indexarea se întâlneşte şi la nivelul tunelurilor de
ieşire caz în care valoarea furnizată, la fiecare iteraţie, tunelului de ieşire este reţinută într-un
tablou, a cărui dimensiune creşte automat la fiecare buclare şi acest tabloul este furnizat în
exteriorul structurii For doar după finalizarea execuţiei nodului (fig.2.87.).

51
Limbajul de programare grafică LabVIEW

Fig. 2.87. Exemplul de utilizare a structurii repetitive For


Activarea/inactivarea auto-indexării pentru un terminal tunel se face selectând optiunea
„Activează Indexarea/ Inactivează Indexarea” (Enable Indexing/Disable Indexing) din
meniul contextual asociat tunelului.
Pentru verificarea vizuală a aplicării auto-indexării la nivelul unui tunel de pe chenarul
structurii For, programatorul se bazează pe codificarea complexităţii structurii datei în
reprezentarea grafica a legăturii: firul (legătura) prin care se transfera în întregime un tablou
este mai gros decât cel asociat furnizării unei valori singulare (element de tablou).
Este posibilă transferarea rezultatelor între iteraţii succesive şi pentru aceasta se
declară nişte variabile locale ale structurii For, numite registre de transfer (Shift Register).
Crearea unui registru de transfer se face prin opţiunea „ Adaugă Un Registru De Transfer”
(Add Shift Register), din meniul contextual asociat chenarului structurii „For”.
Un registru de transfer este alcătuit dintr-o pereche de terminale dispuse pe aceeaşi
orizontală, unul în partea stângă şi altul în partea dreaptă a chenarului structurii. Ambele
terminale pereche se deplasează simultan, la mutarea unuia dintre ele. Valoarea este furnizată
terminalului drept după încheierea ciclului iar la începutul ciclului următor, valoarea stocată
(în iteraţia anterioară) în terminalul drept este transferată terminalului stâng. La ultima
iteraţie, valoarea atribuită terminalului din dreapta este furnizată în exteriorul structurii, dacă
există o astfel de legătură (fig.2.88).

Fig. 2.88. Exemplul de utilizare a structurii repetitive For cu Shift Register


Se recomandă iniţializarea registrului de transfer înaintea primei iteraţii a structurii
For adică se furnizează din exteriorul structurii o valoare terminalului stâng. Dacă
instrucţiunea For se află la iteraţia cu numărul k, atunci un rezultat din iteraţia anterioară cu
numărul k-1 este disponibil prin terminalul stâng al registrului de transfer. Accesul la
rezultatul din iteraţia k-i, cu i>=2, se face prin adăugarea unui terminal stâng pentru acelaşi
registru de transfer, astfel:
• se redimensionează terminalul stâng (în jos);
• se alege opţiunea „Adaugă un Element” (Add Element) din meniul contextual
asociat terminalului stâng, până se obţine numărul dorit de terminale.
Pentru un registru de transfer pot exista unul sau mai multe terminale stângi şi doar
unul drept. Terminalele stângi pentru un registru de transfer sunt dispuse pe verticală unul sub
celălalt şi semnificaţia terminalelor de sus în jos este următoarea: primul oferă accesul la

52
Sisteme de achiziţie şi prelucrare a datelor

rezultatul din iteraţia i-1, al doilea la iteraţia i-2, al treilea la iteraţia i-3 s.a.m.d. Eliminarea
terminalelor stângi nedorite se poate face astfel:
• se redimensionează terminalul stâng (în sus);
• se alege opţiunea „Elimină un Element” (Remove Elements), din meniul
contextual asociat, terminalului stâng.
Pentru iniţializarea registrului de transfer, trebuiesc furnizate valori pentru toate
terminalele stângi.

2.3.4.3. Structura repetitivă While Loop


Structura repetitive While Loop (fig.2.89) realizează reluarea execuţiei funcţiilor
conţinute în corpul acesteia reprezentând o subdiagramă şi această reluare este condiţionată de
valoarea logică a expresiei de oprire astfel pentru valorare logică „Adevărat” (True) se reia
execuţia subdiagramei structurii iar valoarea logică „Fals” (False) determinând încheierea
efectuării structurii.
Terminal
condiţional la care
Variabila
se leagă condiţia
contor
sau butonul de
oprire

Stop if True Continue if True

Fig.2.89. Structura repetitivă While Loop


Instrucţiunea While Loop din limbajul G este echivalentă cu instrucţiunea “do-while”
din limbajul C, având sintaxa:

Do
<instrucţiune>
while ( <expresie logică>);

Structura While Loop este o structură repetitivă, cu test final astfel corpul structurii se
execută cel puţin o dată şi se repetă, cât timp valoarea <expresie logică> este „Adevărat”
(True) . În exemplul prezentat în fig.2.90. sunt prevăzute două condiţii de oprire a buclei:
• dacă numărul obţinut este cuprins în intervalul [8, 8,5];
• dacă este activat butonul STOP
Îndeplinirea oricăreia dintre acestea va determina oprirea execuţiei funcţiilor din
interiorul structurii
Instrucţiunea „While Loop” se foloseşte frecvent pentru realizarea diagramei bloc a VI
principal al aplicaţiei şi modul în care se analizează execuţia prelucrărilor este indicat de
utilizator prin intermediul unor controale de interfaţă.

53
Limbajul de programare grafică LabVIEW

Trasarea
conturului
structurii

Fig. 2.90. Realizarea şi utilizarea


structurii While Loop

Prin intermediul registrelor de transfer


(Shift Register) , fig.2.91, se permite furnizarea
rezultatelor între iteraţii succesive ale structurii
repetitive, astfel indicatorul Numeric ce preia
informaţia de la registrul de transfer stânga
afişează valoarea obţinută în iteraţia anterioară.
Pentru un tunel care reprezintă o intrare
sau o ieşire de pe structura While Loop nu se
aplică implicit Auto-indexarea şi pentru
aceasta programatorul trebuie să indice explicit
Fig.2.91. Utilizarea registrului de transfer pentru fiecare tunel, dacă se doreşte utilizarea
auto-indexării, fig.2.92.

Fig.2.92. Utilizarea autoindexării


Numărul de repetări ale corpului nodului While Loop este controlat, în primul rând de
valoarea logica („Adevărat”) a expresiei de oprire şi mai puţin de dimensiunea unui tablou
furnizat diagramei printr-un tunel de intrare, care foloseşte auto-indexarea. După parcurgerea
tuturor elementelor tabloului, valoarea implicită asociată tipului elementului de tablou se va
transfera corpului buclei, în toate iteraţiile următoare, astfel:

54
Sisteme de achiziţie şi prelucrare a datelor

• Dacă tipul elementului de tablou este real, atunci valoarea implicită este
0.00E+0;
• Dacă tipul elementului de tablou este un număr întreg sau natural, valoarea
implicită este 0.

2.3.4.4. Structura de selecţie CASE


Structura condiţională sau de selecţie multiplă permite executarea unei structuri (poate
fi compusă) din mai multe alternative, pe baza valorii unei singure expresii, numită expresie
selector. Instrucţiunea cuprinde două sau mai multe subdiagrame şi fiecare subdiagramă
corespunde unei anumite alternative sau unui anumit caz.
Structurile condiţionala şi de selecţie multiplă sunt realizate în limbajul G prin
instrucţiunea CASE. Este vorba de două structuri reunite într-una singură, selecţia făcându-se
după tipul expresiei selector, astfel:
1. tipul boolean selectează instrucţiunea condiţionala (echivalentă cu IF – THEN -
ELSE din limbajele de programare bazate pe text);
2. tipul numeric sau şir de caractere selectează instrucţiunea de selecţie multiplă
(echivalentă cu Case sau Swich din limbajele de programare bazate pe text)
Ca particularitate a limbajului G se evidenţiază faptul că din mulţimea subdiagramelor
reunite în instrucţiunea CASE se execută întotdeauna unul din cazuri (subdiagrame), spre
deosebire de alte limbaje de programare bazate pe text (Pascal, C) în care este posibil să nu se
execute nici una dintre alternative.
Se prezintă în continuare sintaxa structurilor din limbajul Pascal echivalente structurii
de selecţie din limbajul G. Sintaxa structurii condiţionale în limbajul Pascal este:

IF <expresie logica>
THEN <instrucţiune 1>
ELSE <instrucţiune 2>; (alternativa opţională)

Sintaxa structurii de selecţie multipla în limbajul Pascal este:

CASE <expresie selector> OF


CASE <val 1>:<instrucţiune 1>;
CASE <val 2>:<instrucţiune 2>;
.................
CASE <val n>:<instrucţiune n>;
ELSE <instrucţiune implicită>(alternativa opţională)
END;

unde:
<expresie selector> - este expresia selector de tip ordinal utilizată pentru a se obţine o
mulţime numărabilă de valori, după care să se realizeze selecţia structurii.;
<val i> - este eticheta CASE, de acelaşi tip cu tipul expresiei selector;
<instrucţiune i> - reprezintă instrucţiunea care se execută dacă valoarea expresiei
selector coincide cu valoarea <val i> a etichetei CASE;
<instrucţiune implicită> - este instrucţiunea, care dacă este prezentă, se execută dacă
valoarea expresiei selector nu este egală cu nici o eticheta CASE;

55
Limbajul de programare grafică LabVIEW

În figura 2.93. se prezintă diagrama bloc asociată panoului frontal al VI denumit


„Ring.vi”. Terminalul selector se află întotdeauna pe partea stânga pe chenarul structurii şi
poate fi mutat de utilizator şi este obligatoriu să se realizeze o legătura la acesta. După
prelucrarea structurii de selecţie din caseta cu funcţii şi plasarea acesteia în diagrama bloc, se
observă că etichetele CASE sunt: „Adevărat” şi „Fals” (TRUE şi FALSE). În acest caz
instrucţiunea de selecţie este echivalentă structurii condiţionale IF – THEN – ELSE. Dacă
sursa pentru terminalul selector este tip numeric întreg, se observă schimbarea etichetelor
CASE din FALSE în 0, respectiv din TRUE în 1.

Fig. 2.93. Exemple de utilizare a instrucţiunii de selecţie CASE


Semnificaţia elementelor din figura 2.93, este prezentată în continuare:
1. eticheta CASE de tip lista pentru structura „IF”;
2. eticheta CASE de tip boolean;
3. terminalul de intrare de tip tunel pentru structura „IF”
4. terminalul de ieşire tip tunel pentru structura „IF”.
Valoarea etichetelor CASE se poate modifica cu unealta de etichetare şi aceasta poate
fi de tip numeric întreg, boolean sau şir de caractere (fig.2.94.). Nu se permit valori reale
pentru etichetele selectoare. Valoarea etichetei CASE trebuie să aparţină tipului expresiei
selector; în caz contrar se semnalează eroare şi valoarea etichetei CASE este afişată în culoare
roşie.
În cazul în care expresia selector este de tip numeric întreg, atunci pentru etichetele
CASE se pot indica următoarele valori:
1. lista de valori scalare: -11, 0, 2, 4, 6;
2. interval -10..10;
3. interval limita superior: ..1;
4. interval limita inferior: 10..;
5. o combinaţie celor anterioare.
Dacă expresia selector este de tip şir de caractere:
1. valorile etichetelor CASE sunt afişate intre ghilimele („VAL 1”);

56
Sisteme de achiziţie şi prelucrare a datelor

2. introducerea valorilor etichetelor nu este obligatorie să se facă intre ghilimele


(doar daca eticheta conţine caracterele virgulă sau expresie „..”);

Fig.2.94. Instrucţiunea de selecţie CASE


Programatorul trebuie să se preocupe ca întotdeauna să existe o alternativă care să se
execute altfel neexecutarea nici uneia dintre cazuri echivalează cu neexecutarea structurii
(nodului) de selecţie, ceea ce determină oprirea derulării programului. Pentru indicarea
subdiagramei care să se execute în cazul în care valoarea expresiei selector nu este egală cu
nici o eticheta CASE, se realizează următorii paşi:
1. se afişează subdiagrama alternativă dorită;
2. se poziţionează cursorul mouse – ului deasupra chenarului structurii;
3. se apelează meniul contextual asociat chenarului;
4. se selectează opţiunea „Declara Aceasta Cazul Lipsă” (Make This The Default
Case).
Pentru alternativa care se execută în cazul valorii etichetei selectoare lipsa, se afişează
în căsuţă valoare a etichetei CASE cuvântul „Lipsă” (Default).
Prin intermediul unui terminal de intrare de tip tunel, toate subdiagramele structurii de
selecţie multiplă au acces la acea dată cu alte cuvinte valoarea este disponibilă tuturor
cazurilor, dar utilizarea ei nu este obligatorie.
Transferul unei valori din una dintre subdiagramele alternative în exteriorul structurii
de selecţie se face printr-un terminal de ieşire de tip tunel plasat în cadrul structurii, în locul
intersectat de legătura cu structura. În aceasta situaţie din toate celelalte alternative trebuie să
se furnizeze o valoare a acelui terminal comun, de ieşire, de tip tunel. Terminalul comun, de
ieşire, de tip tunel este afişat în culoare albă şi este semnalată eroare atâta timp cât există cel
puţin o subdiagrama alternativă, care nu utilizează acest terminal. Terminalul este afişat
automat în culoare neagră, în momentul în care din toate cazurile structurii de selecţie, se
furnizează o valoare către tunelul comun de ieşire.

2.3.4.5. Structura secvenţială SEQUENCE


Structura secvenţială permite programatorului sa stabilească ordinea de execuţie a
anumitor subdiagrame, între care nu există dependenţă a datelor, de exemplu înaintea
subdiagramei de prelucrare a datelor este necesar sa se execute subdiagrama, care realizează
iniţializarea/salvarea mediului curent de lucru.
După modul de aranjare a secvenţelor există două tipuri ale acestei structuri:

57
Limbajul de programare grafică LabVIEW

Stacked Sequence (structură secvenţială stratificată), fig.2.95, prin care secvenţele


sunt aranjate unul sub celălalt (asemănător cadrelor unui film foto), la un moment dat fiind
afişat conţinutul unui singur cadru;

Secvenţa 0 Secvenţa 1

Secvenţa 2

Fig.2.95. Utilizarea structurii Stacked Sequence


Flat Sequence (structură secvenţială plană), fig.2.96, prin care secvenţele sunt
aranjate unul după celălalt (de asemenea asemănător cadrelor unui film foto), fiind afişate
conţinutul tuturor cadrelor. Spre deosebire de structură secvenţială stratificată în cazul acestei
structuri execuţia secvenţelor se face de la stânga la dreapta atunci când toate valorile datelor
conectate la secvenţă sunt disponibile. Rezultatele execuţiei unei secvenţe sunt disponibile
după de toate funcţiile din respectiva secvenţă au fost efectuate.

Fig.2.96. Utilizarea structurii Flat Sequence


Indiferent de modul de aranjare a secvenţelor corpul structurii secvenţiale este format
din una sau mai multe subdiagrame (secvenţe); fiecare subdiagrama este reţinută de un cadru.
Ordinea de execuţie a subdiagramelor reţinute de instrucţiunea secvenţială este dată de
numărul de ordine al cadrului astfel primul cadru are valoarea 0, al doilea are valoarea 1, al
treilea cadru are valoarea 2 şi aşa mai departe. Numărul de ordine al subdiagramei curente
este afişat în partea superioară a chenarului structurii. În fig. 2.95. şi 2.96 se prezintă exemple
în care se utilizează instrucţiunea secvenţială.
Semnificaţia elementelor din diagrama bloc a acestui VI este prezentată în continuare:
1. numărul subdiagramei curente;
2. control pentru trecerea la subdiagrama anterioara;
3. lista derulantă conţinând numerele cadrelor;
4. terminalul tip tunel de intrare;

58
Sisteme de achiziţie şi prelucrare a datelor

5. terminalul de ieşire local al secvenţei;


6. terminalul de intrare local al secvenţei;
Trecerea de la o subdiagramă la alta se face prin elementele de control aflate în partea
superioară centru a cadrului structurii. Afişarea subdiagramei anterioare se face apăsând
săgeata orizontală – stânga şi conţinutul subdiagramei următoare se prezintă la apăsarea
săgeţii orizontale – dreapta.
Este posibilă o metodă mai simplă de trecere de la o subdiagramă la alta prin
efectuarea următorilor paşi:
1. se selectează cu butonul stânga al mouse – ului căsuţa valoare;
2. în urma selectării este afişată automat o listă derulantă, conţinând numerele
cadrelor existente;
3. se selectează numărul asociat subdiagramei căutate din lista acestor numere.
Datele de intrare, furnizate structurii secvenţiale printr-un terminal tip tunel sunt
disponibile tuturor subdiagramelor.
Rezultatele obţinute dintr-o subdiagramă sunt făcute disponibile subdiagramelor
următoare printr-un terminal local al secvenţei şi pentru setarea acestei opţiuni din meniul
contextual, asociat chenarului structurii secvenţiale, se alege opţiunea „Adaugă un Terminal
Local Secvenţei” (Add Sequence Local). Un terminal local al secvenţei poate fi mutat de
programator cu unealta de editare oriunde, pe cadrul structurii.
Terminalul local al secvenţei (definit pentru subdiagrama curentă) se afişează pe
cadrul structurii printr-un dreptunghi plin de culoare galben deschis şi în urma realizării
legăturii la un terminal sursă, terminalul local al
secvenţei va afişa o săgeată orientată înspre exteriorul
cadrului structurii indicând faptul că „următoarele
subdiagrame pot accesa valoarea furnizată”. Un
terminal local al secvenţei, definit la nivelul
subdiagramei cu numărul de ordine i, este disponibil
tuturor subdiagramelor având numărul de ordine j,
astfel încât j > i, dar nu este disponibil
subdiagramelor anterioare, cu numărul de ordine k < i.
Se recomandă adăugarea unor etichete
descriptive firelor conectate la terminale de
intrare/ieşire locale ale secvenţei, cu scopul uşurării
înţelegerii, depanării sau întreţinerii subdiagramelor.
Semnificaţiile opţiunilor submeniului
Fig. 2.97 Meniul contextual la contextul asociat structurii secvenţiale este prezentat
instrucţiunii secvenţiale în fig.2.97. şi pentru care:
1. se deschide utilitarul de asistenta la pagina structurii secvenţiale;
2. utilizatorul poate introduce o descriere referitoare la utilizarea structurii;
3. se afişează eticheta proprie structuri;
4. se deschide caseta cu funcţii pentru a se indica o componentă, care să înlocuiască
instrucţiunea secvenţială;
5. se elimina instrucţiunea din subdiagrama din care face parte;
6. se adaugă un terminal de ieşire local secvenţei;
7. se adaugă o subdiagramă vidă în instrucţiunea secvenţială după subdiagrama
curentă;
8. se inserează o subdiagramă vidă în instrucţiunea secvenţiala înainte de
subdiagrama curentă;
9. se adaugă o subdiagramă cu conţinutul celei curente;
10. se elimină subdiagrama curenta;

59
Limbajul de programare grafică LabVIEW

11. se trece la altă subdiagramă;


12. se permite reordonarea subdiagramelor.

2.3.4.6. Structura eveniment EVENT


Structura eveniment, fig.2.98, conţine una sau mai
multe subdiagrame reprezentate de cazuri eveniment astfel
încât doar una dintre acestea este executată la un moment dat.
Această structură aşteaptă până când în interfaţa utilizator
(panoul frontal) se petrece un eveniment setat după care va
executa subdiagrama corespunzătoare acestui eveniment.
Adăugarea unui nou eveniment se face cu clic – dreapta pe
contur, acţiune urmată de configurarea acestui eveniment.
Fig.2.98. Structura EVENT Timpul de aşteptarea a unui eveniment se poate seta prin
conectarea unei constante sau control numeric la terminalul din
colţul stânga – sus al structurii prin care se
specifică acest timp în milisecunde. Valoarea
implicită -1 indică un timp de aşteptare
nedefinit.
În figurile următoare sunt prezentate
detaliat evenimente generate într-un VI
principal (Main.vi) de acţiuni asupra
butoanelor reprezentând controale ale
acestuia.
Panoul frontal şi diagrama bloc a
acestui VI sunt prezentate în fig.2.99. şi
Fig. 2.99. Utilizarea structurii EVENT prim a subdiagramă a structurii este de

Fig.2.100. Subdiagrama Acquire Data


60
Sisteme de achiziţie şi prelucrare a datelor

aşteptare a apariţiei unui eveniment pe panoul frontal, eveniment reprezentat de o acţiune


asupra unuia dintre cele 3 butoane.
La o acţiune asupra butonului Acquire data este pusă în execuţie subdiagrama
specifică acesteia şi reprezentată în fig.2.100. Această subdiagramă conţine subVI – ul
Acquire data astfel că odată selectată aceasta se deschide panoul frontal al acestui subVI care
simulează generarea unui semnal sinusoidal de frecvenţă şi amplitudine reglabile prin
controale de tip Slide corespunzătoare, semnal peste care se suprapune un zgomot (semnal
aleator) de asemenea cu amplitudine reglabilă. Acest subVI simulează o achiziţie de semnal
şi această achiziţie se încheie prin activarea butonului Continue care cedează controlul
programului principal Main.vi.
Un alt eveniment poate fi declanşat prin acţiune asupra butonului Analyse &
Present Data care va deschide subdiagrama prin care se face analiza semnalului
achiziţionat, fig.2.101 precum şi afişarea câtorva date importante stabilite de utilizator privind

Fig.2.101. Subdiagrama Analyse & Present Data


semnalul achiziţionat.
La acţionarea butonului STOP va fi
oprit din execuţie programul principal,
fig.2.102.
Cu clic – dreapta pe conturul
structurii din meniul contextual se alege
opţiunea Edit Events Handled by This
Case ... şi se deschide o fereastră în care
sunt editate toate evenimentele specifice
subdiagramei (cazului respectiv). Alegând
această opţiune pentru subdiagrama
Fig.2.102. Subdiagrama STOP Acquire se obţine fereastra cu atributele
acesteia prezentată în fig.2.103

61
Limbajul de programare grafică LabVIEW

2.3.4.7. Structuri de calcul


În acest subcapitol se continuă prezentarea
elementele de bază ale diagramei bloc, cu formule de
calcul, urmată de principalele funcţii pentru tipul
numeric, boolean, şir de caractere şi funcţii pentru
tipul tablou şi grupare de date.

2.3.4.7.1. Formula de calcul Formula Node


Structura formulă de calcul, fig.2.104,
facilitează scrierea (se utilizează pentru scrierea
relaţiei de calcul un limbaj bazat pe text) în corpul
său, a formulelor matematice de calcul. Se

Fig.2.103. Fereastra Edit Events Fig.2.104. Structura Formula Node


recomandă utilizarea formulei de calcul prin implementarea formulelor complexe.
Avantajele utilizării formulei de calcul sunt următoarele:
• Se uşurează scrierea, depanarea şi înţelegerea formulelor matematice;
• Se elimină erorile care pot să apară la transcrierea formulelor matematice complexe în
limbajul G, care foloseşte noduri şi fire;
• Se simplifică diagrama bloc faţă de cazul în care formulele matematice, sunt
implementate prin noduri şi fire.
Formula de calcul este disponibilă în caseta cu funcţii, grupul „Structuri” (Functions
» Structures » Formula Node), sau “Matematică” (Functions » MathematicsScripts &
Formulas » Formula Node ) aşa cum se indică în figura 2.105.

Fig. 2.105. Apelarea


structurii de calcul
Formula Node

Structurile de prelucrare din interiorul nodului se scriu într-o sintaxă asemănătoare


limbajelor de programare, bazate pe text. Nodul formula de calcul, defineşte operaţiile prin
una sau mai multe structuri de atribuire, fiecare terminându-se prin caracterul punct şi virgula

62
Sisteme de achiziţie şi prelucrare a datelor

(;). Se precizează că o instrucţiune se poate întinde pe mai multe linii text; numărul maxim de
caractere, care încap pe o linie, este dat de dimensiunea tipului de caractere folosit şi de
dimensiunea orizontală a nodului formula de calcul.
Mărimea dimensiunii orizontale a nodului se face cu unealta de editare, astfel încât să
se poată afişa cât mai multe caractere pe o linie. Pentru a se uşura munca programatorului în
sensul posibilităţii de verificare a formulelor introduse, în general, se urmăreşte afişarea a câte
unei structuri de atribuire pe fiecare linie.
În cadrul unei structuri de atribuire, se recomandă să se insereze unul sau mai multe
caractere spaţiu, pentru evidenţierea unor expresii şi se facilitează astfel editarea şi depanarea
formulelor.
Editarea structurilor de atribuire se face cu unealta de etichetare sau de operare şi
finalizarea operaţiei este determinată de:
• selectarea cu mouse – ul a butonului, care afişează textul „ENTER”;
• apăsarea tastei < ENTER > din regiunea butoanelor numerice (din partea
dreapta a tastaturii).
În etapa de editare a corpului structurii formula de calcul prin apăsarea tastei
< ENTER > se determină trecerea la un rând nou, ca şi în cazul unui editor de text obişnuit.
Prelucrările realizate de instrucţiunea de atribuire din interiorul nodului se bazează (în
general) pe datele furnizate din exteriorul formulei de calcul, prin intermediul variabilelor de
intrare. Rezultatele operaţiilor efectuate de nodul formula de calcul sunt transferate în exterior
prin variabilele de ieşire (fig.2.106.) unde este prezentată şi o analogie între reprezentarea
unei expresii matematice prin diagramă bloc şi prin structura Formula Node.
Variabilele de intrare se definesc pe
chenarul reprezentării grafice a nodului şi pentru
aceasta din meniul contextual asociat chenarului se
alege optiunea „Adaugă o Intrare”/”Adaugă o
Ieşire” (Add Input/ Add Output), după care se
specifică indicatorul variabilei. Terminalul asociat
variabilei este plasat, după crearea variabilei pe
chenarul nodului formula de calcul, şi poate fi
deplasat de programator oriunde pe perimetrul
acestuia. Se încearcă respectarea convenţiei prin
Fig. 2.106. Reprezentare în diagrama
care variabilele de intrare se plasează în partea
bloc pentru Formula Node
stângă, iar variabilele de ieşire se plasează în partea
dreapta a chenarului structurii formula de calcul. Variabila este utilizată în structurile de
atribuire prin numele asociat de programator cu observaţia că în interiorul nodului formula de
calcul se face diferenţa intre litere mari şi litere mici.
O variabila declarată de intrare se poate modifica în variabilă de ieşire (şi invers) şi
pentru aceasta se selectează terminalul variabilei şi din meniul contextual asociat şi se alege
opţiunea “Modifică în Variabilă de Ieşire/Modifică în Variabilă de intrare” (Change to
Output/Change to Input).
Diferenţierea vizuală între o variabilă de intrare şi una de ieşire se realizează prin
afişarea terminalului variabilelor de ieşire intr-un dreptunghi având linia conturului mai
groasă. Numărul variabilelor utilizate intr-un nod tip formula de calcul nu este limitat, tipul de
date asociat unei variabile, este cel real. Tuturor variabilelor de intrare este obligatoriu să li se
furnizeze din exterior o valoare. Toate variabilele folosite într-un nod formulă de calcul
trebuiesc declarate ca variabile de intrare sau de ieşire. Se recomandă utilizarea doar a
variabilelor esenţiale în expresia membrului drept al unei structuri de atribuire astfel o
variabila de ieşire va apare prima dată în partea stângă a unei structuri de atribuire deci
variabila de ieşire poate fi folosită ulterior în membrul drept al altei structuri de atribuire.

63
Limbajul de programare grafică LabVIEW

Mediul LabVIEW execută structurile de atribuire dintr-un nod formulă de calcul, în


ordine secvenţiala, de sus în jos şi la evaluarea unei expresii în care apar variabile neesenţiale,
nu se indică eroare, dar valoarea rezultatelor nu poate fi anticipată.
O parte din variabilele de ieşire sunt folosite pentru stocarea calculelor intermediare,
uşurând redactarea scrierilor complexe şi acestea se numesc variabile auxiliare de ieşire.
Valoarea variabilelor auxiliare de ieşire nu se transfera în exteriorul nodului. Pentru stocarea
unor calcule intermediare se poate folosi o variabila de intrare, caz în care însă se pierde
valoarea anterioara.
Toate variabilele de ieşire (care transferă valoarea în exteriorul nodului) trebuie să fie
esenţiale adică să apară cel puţin o dată în partea stângă a unei instrucţiuni de atribuire.
Acelaşi indicator nu poate fi folosit pentru două variabile de intrare sau de ieşire.
Numele acordat unui indicator trebuie sa înceapă cu o literă, urmat de combinaţii de una sau
mai multe litere, şi/sau cifre şi nu poate conţine caractere speciale cum ar fi spaţiu, delimitare,
etc). Se recomandă comentarea operaţiilor astfel un comentariu începe cu caracterele „/*” şi
se termina cu secvenţa ”*/” (utilizarea asemănătoare ca şi în limbajul C).
Intr-un nod de tip Formula Node se pot utiliza următorii operatori în ordinea
crescătoare a nivelului de execuţie:
• ?: evaluare condiţională;
• || OR logic (pentru cuvânt binar);
• && AND logic (pentru cuvânt binar);
• | OR logic (pentru bit);
• ^ XOR logic (pentru bit);
• & AND logic (pentru bit);
• != şi == inegalitate, egalitate;
• >, <, >=, şi <= mai mare, mai mic, mai mare sau egal, mai mic sau egal;
• >> şi << deplasare spre dreapta, deplasare spre stânga;
• + şi - adunare, scădere;
• * şi / înmulţire, împărţire;
• ** ridicare la putere
De asemenea într-un nod de tip Formula Node se pot utiliza următoarele funcţii
matematice:
• abs(x) valoarea absolută pentru x;
• acos(x) valoarea arccosinus pentru x exprimat în radiani;
• acosh(x) valoarea arccosinus hiperbolic pentru x exprimat în grade
• asin(x) valoarea arcsinus pentru x exprimat în radiani;
• asinh(x) valoarea arcsinus hiperbolic pentru x exprimat în grade
• atan(x) valoarea tangentei pentru x exprimat în radiani;
• atanh(x) valoarea arctangentă hiperbolică pentru x exprimat în grade
• ceil(x) rotunjire la următorul întreg
• cos(x) valoarea cosinus pentru x exprimat în radiani;
• cosh(x) valoarea cosinus hiperbolic pentru x exprimat în grade.
• cot(x) valoarea cotangentei pentru x exprimat în radiani (1/tan(x)).
• csc(x) valoarea cosecantei pentru x exprimat în radiani (1/sin(x)).
• exp(x) valoarea puterii x pentru numărul e, e^x;
• expm1(x) valoarea puterii (x – 1)pentru numărul, e (e^(x-1)).
• floor(x) trunchiere la întregul imediat inferior
• getexp(x) Mantisa & Exponent returnează valoarea exponentului x.
• getman(x) Mantisa & Exponent returnează valoarea mantisei x.

64
Sisteme de achiziţie şi prelucrare a datelor

• int(x) rotunjire la următorul întreg.


• intrz(x) rotunjire la următorul întreg între x şi zero.
• ln(x) valoarea logaritm natural din x;
• lnp1(x) valoarea logaritm natural din (x + 1);
• log(x) valoarea logaritm în bază 10 din x.
• log2(x) valoarea logaritm în bază 2 din x
• max(x,y) compară x şi y şi determină maximul.
• min(x,y) compară x şi y şi determină minimul.
• mod(x,y) valoarea restului împărţirii x/y, când împărţitorul este rotunjit la
următorul întreg
• pow(x,y) valoarea puterii y a lui x.
• rand( ) generează numere cu distribuţie uniformă în virgulă mobilă
între 0 şi 1.
• rem(x,y) valoarea restului împărţirii x/y, când împărţitorul este rotunjit la
următorul întreg
• sec(x) valoarea secantei pentru x, în radiani, (1/cos(x)).
• sign(x) valoare 1 dacă x>0, valoare 0 dacă x=0, valoare – 1dacă x<0;
• sin(x) valoarea sinusului pentru x, în radiani.
• sinc(x) valoarea sin(x)/x pentru x în radiani;
• sinh(x) valoarea sinus hiperbolic pentru x exprimat în grade.
• sqrt(x) valoarea rădăcinii pătrate din x.
• tan(x) valoarea sinusului pentru x, în radiani.
• tanh(x) valoarea tangentei hiperbolice pentru x exprimat în grade.
Se exemplifică în fig.2.107
utilizarea nodului de tip formula
pentru trasarea grafică a funcţiilor:
în care m şi b reprezintă parametrii
y1 = x 3 − x 2 + 5 pentru funcţia y2 şi valorile acestora
y2 = m ⋅ x + b reprezintă variabile de intrare şi au
valorile introduse prin elementele
de control m şi b de pe panoul
frontal. Variabila x ia valori în
intre 0 şi 10 şi acestea sunt date de
bucla din diagrama VI ce realizează
această reprezentare grafică.
Se prezintă în continuare
sintaxa instrucţiunilor utilizate la
realizarea corpului unui nod
formulă de calcul, folosind notaţia
BNF (Backus-Naur-Form).
Fig.2.107 Exemplu de utilizare a nodului Formula Notatia BNF defineşte sintaxa
pentru elementul de limbaj din partea stângă a expresiei „::=” (având semnificaţia de : „se
defineste ca fiind”) şi definiţia urmează expresiei „::=” şi poate indica variantele, delimitate
prin caracterul „I” după cum se prezintă în continuare.

<instrucţiune _de_atribuire>::=<variabile_iesire>=<formula>;
[<instructiune_de_atribuire>]

<formula>::=<expresie>I<variabila_iesire>=<formul>

65
Limbajul de programare grafică LabVIEW

<expresie>::=<expresie><operator_binar><expresie>
I<operator_unar><expresie>
I<expresie logica>?<rez1>:<rez2>
I(<expresie>)
I<variabila_intrare>
I<variabila_iesire>
I<constanta_numerica>
I<functie_predefinita>(lista_parametri>)

<operator_binar>:: = + I – I * I / I ^
I != I = = I < I<= I > I >=
I && I II
<operator_unar> ::= + I –
I!
<constanta_numerica> ::= pi I <numar>
<lista_parametri> ::= <formula> [,<lista_parametri>]
Pentru afişarea descrierii
Conditional Operator False fiecărei funcţii se urmează paşii:
• din fereastra de asistenţă pentru
subiectul „formula de calcul” se
lansează utilitarul de asistenţă;
• din pagina de asistenţă se alege
subiectul „Funcţiile şi
Operatorii Formulei de Calcul”
(Formula Node Functions
Condition True Condition
And Operators).
Fig. 2.108 Sintaxa instrucţiunii de tip

2.3.4.7.2. Structurile MathScript şi Script MATLAB


Structurile de tip script sunt utilizate pentru calcule matematice inginereşti sau atunci
când se impune utilizarea funcţiilor matematice avansate. O astfel de structură de tip nod este
o fereastră grafică redimensionabilă şi va fi reprezentată în diagramă prin apelarea funcţiilor
corespunzătoare în paleta de funcţii din LabVIEW.
Structura
MathScript, fig.2.109,
este utilizată pentru
evaluarea script – urilor
create în LabVIEW cu
utilizarea sintaxei
Fig.2.109. Structura MathScript
specifice MATLAB.
Câteva din regulile necesar a fi respectate la realizarea unei structuri MathScript sunt
prezentate în continuare:
¾ numele de variabilă trebuie să înceapă cu o literă;
¾ variabilele MathScript se adaptează la tipul de dată cu care operează;
¾ se pot utiliza atât litera i cât şi j pentru partea imaginară a unui număr complex;
¾ se utilizează spaţiu sau virgulă ca separator între elementele de pe linia unei
matrice şi punct şi virgulă (;) ca separator între liniile unei matrice;
¾ se utilizează forma a == b pentru testarea unei egalităţi şi forma a ~= b pentru
testarea unei inegalităţi;

66
Sisteme de achiziţie şi prelucrare a datelor

¾ indexul elementelor unui vector în MathScript începe de la 1 şi nu de la 0 ca într-o


funcţie LabVIEW;
¾ nu pot fi utilizaţi vectorii n – dimensionali;
¾ dacă o linie de comandă se încheie cu punct şi virgulă (;) fereastra LabVIEW
MathScript Window nu va afişa rezultatul execuţiei acelei linii de comandă;
¾ etc.
Dimensionarea şi elementele legate de stabilirea intrărilor şi ieşirilor unei structuri
MathScript sunt similare celor prezentate pentru structura Formula Node. Sintaxa acestui
script respectă regulile de sintaxă din MATLAB.
În fig.2.110. este prezentat un exemplu în care structura MathScript este utilizată
pentru efectuarea de operaţii elementare (adunare – SUM, scădere – DIF, înmulţire – PROD,
împărţire - RAP) cu matrice. Aceste operaţii sunt exemplificate pentru cazul a două matrice A
şi B cu dimensiunea 2x2 dintre care matricea B este o matrice de constante iar pentru matricea
A elementele acesteia se introduc interactiv de pe panoul frontal prin intermediul controalelor
de tip numeric. Rezultatele acestor operaţii sunt afişate pe panoul frontal prin intermediul

Fig.2.110. Exemplu de utilizarea structurii


MathScript pentru operaţii cu matrice

indicatoarelor de tip Real Matrix pentru a păstra forma matricială a acestor rezultate. Pentru a
fi posibilă această afişare este necesară alegerea tipului de dată necesar şi această alegere se
face prin opţiunea Choose Data Type » Matrix din meniul contextual al portului de ieşire al
structurii la care se conectează un indicator de tip Real Matrix. Pentru ieşirea SUM este
prezentată şi posibilitatea de afişare a rezultatului printr-un indicator de tip 2D Array prin
transformarea tipului de dată din matricial în dată de tip tablou. O reprezentare similară se
poate obţine şi dacă se alege tipul de dată tablou din meniul contextual al ieşirii prin opţiunea
Choose Data Type » 2D Array » DBL 2D (tablou 2D în format dublă precizie)
În fig.2.111 este prezentat un exemplu în care structura MathScript este utilizată
pentru trasarea graficelor funcţiilor:
y = 1 − e − t ⋅ sin(10 ⋅ t ); y1 = 1 − e − t ; y1 = 1 + e − t
în acelaşi sistem de axe.
Valorile variabilei independente t a acestor funcţii sunt definite pe baza unui
parametru tf a cărui valoare este furnizată către script de la un control numeric. La execuţia
programului se deschide fereastra grafică Plot în care se obţine reprezentarea grafică. Această
fereastră grafică are o bară de meniuri prin intermediul căreia se pot stabili atribute specifice
indicatoarelor grafice din LabVIEW. Elementele din bara de meniuri sunt prezentate în
fig.2.112.

67
Limbajul de programare grafică LabVIEW

Fig.2.111. Exemplu de utilizarea


structurii MathScript
pentru trasarea unui grafic

• Posibilităţi de salvare a • Unelte pentru ştergere sau


graficului introducere de adnotări

• Atribute specifice indicatoarelor


grafice LabVIEW
Fig.2.112. Bara de meniuri a ferestrei grafice Plot
Structura MATLAB Script Node, fig.2.113,
este utilizat pentru evaluarea scrip – urilor
de tip MATLAB şi pentru a utiliza această
structură este necesară instalarea pe
calculator a mediului de programare
MATLAB. O secvenţă de comenzi scrise în
Fig.2.113. Structura MATLAB Script Node MATLAB poate fi importată sub forma unui
fişier de tip MATLAB dacă acesta are
extensia .m şi executată într-o buclă scrip MATLAB Script Node. Dacă nu există un astfel de
fişier secvenţa de program poate fi scrisă direct în fereastra reprezentând nodul în format text
cu respectarea regulilor de sintaxă ale liniilor de comandă MATLAB
Pentru a trece variabile între MATLAB şi LabVIEW se stabilesc pentru nod terminale
reprezentate prin intrări şi ieşiri corespunzător variabilelor din secvenţa de program supusă
rulării. Se poate stabili funcţia terminalului după modul cum este scrisă ecuaţia respectivă în
secvenţă. Dacă de exemplu în program apare comanda x = i + 3 este evident că variabila i va
fi o variabilă terminală de tip intrare prin care se controlează valoarea variabilei x care va fi o
variabilă terminală de tip ieşire prin care se extrage rezultatul controlului exercitat de variabila
de intrare i. Datorită naturii limbajului MATLAB care este un limbaj de programare de tip
text nu se poate determina tipul şi formatul datelor care se vor vehicula prin legăturile

68
Sisteme de achiziţie şi prelucrare a datelor

terminale astfel că este necesară definirea de către utilizator a tipului de date. În tabelul
următor este prezentată corespondenţa dintre tipurile de date corespunzătoare mediului
LabVIEW şi respectiv MATLAB:
Pentru a crea o structură MATLAB
Date în LabVIEW Date în MATLAB Script Node se urmăresc următoarele etape:
- 1. În fereastra corespunzătoare diagramei se
alege Functions » Mathematics » Scrip
Real & Formulas » Script Node » MATLAB
- Script Node şi se plasează acest nod în
structura diagramei după care se
-
redimensionează astfel încât să cuprindă
Vector real întreg textul reprezentând programul
- MATLAB. Scriptul MATLAB apare ca
în fig.2.114
Matrice reală 2. Programul MATLAB se poate importa
Complex sau se poate redacta direct în fereastră.
De exemplu următoarea secvenţă de
Vector complex
program creează o matrice de elemente
Matrice complexă cu valori aleatoare reprezintă grafic
informaţia şi afişează matricea în
MATLAB:

a = rand(10)
surf(a)

Fig.2.114. Script MATLAB


În fig.2.115 sunt reprezentate panoul frontal pentru acest VI (a), diagrama bloc (b)
şi rezultatul (c) în fereastră MATLAB a rulării programului

a).

b). c).

Fig.2.115. Exemplu de utilizare a structurii MATLAB Scrip Node

3. Pentru a ataşa terminale pentru variabilele de intrare şi de ieşire se foloseşte meniul


pull – up şi se selectează Add Input pentru variabile de intrare şi/sau Add Output

69
Limbajul de programare grafică LabVIEW

pentru variabile de ieşire. Implicit nodul este prevăzut cu o intrare şi o ieşire dar
acestea sunt utilizate numai pentru transferul parametrilor de eroare.
4. Se verifică tipul datelor corespunzătoare intrărilor şi ieşirilor. Tipul implicit al acestora
pentru orice nouă intrare şi ieşire este Real. Utilizând meniul pull – up selectând
Choose Type din meniul care apare se alege tipul corespunzător dintre cele
disponibile Real, Complex, Real Vector, Complex Vector, Real Matrix, sau Complex
Matrix. În exemplul considerat pentru variabila de intrare X se alege Real iar pentru
variabila de ieşire A se alege Real Matrix.
5. Pentru fiecare intrare şi ieşire se creează elementul de control şi respectiv indicatorul
corespunzător, aceasta se poate realiza prin clic – dreapta pe terminalul respectiv şi
selectarea Create Control pentru intrare şi Create Indicator pentru ieşire şi aceste
elemente vor apare pe panoul frontal.
m Prin utilizarea acestei structuri este
h = y1 − y2 posibilă realizarea de interfeţe utilizator cu
aplicare în simularea sistemelor dinamice şi în
y1 acest context se prezintă simularea unui sistem
cf k1 de suspensie (pneu + telescop) a unui automobil
a cărui structură este prezentată în fig.2.116
Prin procedee de modelare matematică se
obţine modelul matematic de tip intrare – ieşire,
în care mărimea de intrare este reprezentată de o
deformare w (alungire sau comprimare), care
k2 y2 este de fapt perturbaţia ce apare în sistem, a
resortului k2 (modelează pneul automobilului)
iar mărimea de ieşire este reprezentată de
deplasarea h a masei m (masa automobilului).
Fig.2.116. Structura sistemului de Forma dată de ecuaţia diferenţială a acestui
suspensie mecanică model matematic este:
d 3h d2h dh du
m ⋅ cf 3
+ m ⋅ (k1 + k 2 ) ⋅ 2
+ cf ⋅ k 2 ⋅ + k1 ⋅ k 2 ⋅ h = cf ⋅ k 2 ⋅ + k 2 ⋅ (k1 + 2 ⋅ k 2 ) ⋅ u
dt dt dt dt
din care rezultă funcţia de transfer a acestui sistem dinamic:
H (s ) cf ⋅ k 2 ⋅ s + k 2 (k1 + 2 ⋅ k 2 )
G (s ) = =
U (s ) m ⋅ cf ⋅ s + m ⋅ (k1 + k 2 ) ⋅ s2 + cf ⋅ k 2 ⋅ s + k1 ⋅ k 2
3

Utilizând această funcţie de transfer se construieşte programul de simulare în


MATLAB, program ce va fi importat după aceea în fereastra structurii MATLAB Script
Node. Mărimile m – masa sistemului, k1 – constanta de elasticitate a elementului elastic

Fig.2.117. Instrument virtual pentru simulare sistemului dinamic şi rezultatul simulării

70
Sisteme de achiziţie şi prelucrare a datelor

reprezentând resortul din telescop, k2 - constanta de elasticitate a elementului elastic


reprezentând pneul automobilului, cf – coeficientul de frecare din cilindrul telescopului, tfinal
– timpul de simulare sunt mărimi de tip parametru si valorile acestora s vor putea modifica
interactiv prin controale de tip numeric aflate pe panoul frontal.
În fig.2.117. este prezentat instrumentul virtual prin elementele de pe panoul frontal
(controalele m, k1, k2, cf, tfinal) şi prin structura MATLAB Script Node din diagrama bloc
pentru simularea acestui sistem dinamic. Sunt prezentate de asemenea şi rezultate ale
simulării prin intermediul ferestrei grafice Figure deschisă în MATLAB.

71
Circuite de conversie numeric – analogică

CAPITOLUL III
Circuite de conversie numeric – analogică
3.1. Codificări binare ale numerelor
Semnalul numeric de la intrarea unui convertor numeric analogic (CNA) este o
secvenţă de variabile binare b1 , b2 , .. , bk , ... , bN . Valoarea zecimală corespunzătoare acestei
secvenţe în codificare fracţionară (CF) este:
N
DCF = ∑ bk ⋅ 2 − k (3.1)
k =1
-N
cu valori în domeniul (0 ... 1-2 ).
Valoarea zecimal corespunzătoare aceleiaşi secvenţe bk , k =1, 2, ... , N în cod binar
natural (CBN) este:
N
DCBN = ∑ bk ⋅ 2 N − k (3.2)
k =1
cu valori în domeniul (0 ... 2N-1).
Din relaţiile (3.1) şi (3.2) se obţine:
DCBN = 2 N ⋅ DCF (3.3)
Codurile fracţionar şi binar natural sunt unipolare în sensul că pot fi utilizate pentru
reprezentarea semnalelor de o singură polaritate. Pentru reprezentarea semnalelor de ambele
polarităţi se utilizează coduri bipolare. Astfel, valoarea zecimal corespunzătoare unei secvenţe
binare în cod binar deplasat (CBD) este:
N
DCBD = ∑ bk ⋅ 2 N − k − 2 N −1 (3.4)
k =1
N-1 N-1
cu valori în domeniul (-2 ... 0 ... 2 -1).
Din relaţiile (3.2) şi (3.4) se obţine:
DCBD = DCBN − 2 N −1 (3.5)
Valoarea zecimală a unei secvenţe binare în cod complementul lui doi (CCD) se
obţine din valoarea corespunzătoare codului binar deplasat, relaţia (3.5), prin inversarea
valorii bitului b1, de semnificaţie maximă, conform relaţiei:
N
DCCD = ∑ bk ⋅ 2 N − k − (1 − k ) ⋅ 2 N −1 − 2 N −1 (3.6)
k =1

Din relaţia (3.6) se obţine valoarea zecimală a unei secvenţe binare în codul
complementul lui doi:
N
DCCD = ∑ bk ⋅ 2 N − k − b1 ⋅ 2 N (3.7)
k =1
cu valori în domeniul (-2N-1...0... 2N-1-1). Din relaţia (3.7) rezultă:
DCCD = DCBN − b1 ⋅ 2 N (3.8)
Valoarea zecimală a unei secvenţe bs , b1 , b2 ,..., bk ,..., bN corespunzătoare codului cu
semn şi amplitudine (CSA) este:

72
Sisteme de achiziţie şi prelucrare a datelor

N
DCSA = (− 1)(1−bs ) ⋅ ∑ b k ⋅2 N − k (3.9)
k =1
cu valori în domeniul (-2N-1 ...0...2N-1 ).

3.2. Principii de realizare ale CNA


3.2.1. Principiul CNA unipolar
Un convertor numeric analogic are la intrare un semnal numeric si exprimat printr-o
secvenţă de variabile binare bk, k =1, 2, ... , N (cod binar) şi generează la ieşire un semnal
analogic se (curent sau tensiune) funcţie de valoarea numerică a semnalului de intrare, în
Si Convertor Se concordanţă cu codul utilizat, fig.3.1.
numeric - analogic Structura unui CNA cuprinde: circuite
cod curent pentru generarea tensiunii sau curentului de
binar Ir sau referinţă, comutatoare electronice comandate
tensiune
R de biţii semnalului de intrare, reţea din
rezistenţe de precizie cu valori ponderate si
Ur circuit de însumare a curenţilor ponderaţi
obţinuţi reţeaua de rezistenţe.
Fig.3.1. Convertor numeric – analogic (CNA) Funcţia de transfer a unui CNA liniar si
unipolar este dată prin relaţia:
se = K ⋅ U r ⋅ DCF (3.10)
unde K este o constantă, Ur este tensiune de referinţă şi DCF este valoarea numerică a
secvenţei de intrare bk, k =1, 2, ... , N în codificare fracţionară. Bitul b1 reprezintă bitul de
semnificaţie maximă (MSB, Most Significant Bit), iar bN reprezintă bitul de semnificaţie
minimă (LSB, Least Significant Bit).
Din relaţiile (3.3) şi (3.10) se obţine:
K ⋅Ur
se = ⋅ DCBN (3.11)
2N
unde DCBN este valoarea numerică a secvenţei de intrare corespunzătoare codului binar
natural.
Mărimea K ⋅ U r din relaţiile (3.10) şi (3.11) reprezintă intervalul de variaţie a
semnalului de ieşire (FSR, Full-Scale Range) şi care are valorile tipice de: 2,5 V; 5V; 10 V
sau 2 mA.
Se consideră cazul în care semnalul de ieşire al CNA este un curent, situaţie în care
constanta K are dimensiunea 1/Ω. Rezultă funcţia de transfer a unui CNA sub forma dată de
relaţia:
U
I e = N r DCBN (3.12)
2 ⋅R
unde Ie este curentul de ieşire al CNA şi R este o rezistenţă de referinţă.
Principalele caracteristici ale convertoarelor numeric analogice, pe baza cărora se
alege un CNA pentru o aplicaţie, sunt:
1. codul semnalului de intrare, Si,
2. Rezoluţia unui CNA este dat de numărul N de biţi care compun secvenţa de intrare. Se
defineşte mărimea LSB ca variaţia minimă a valorii semnalului de ieşire, variaţie care
se obţine pentru modificarea semnalului de intrare între două valori succesive
corespunzătoare secvenţei (de exemplu: comutarea de la 0 la 1 numai a bitului de
semnificaţie minimă ). Rezultă:

73
Circuite de conversie numeric – analogică

FSR K ⋅ U r
1LSB = = (3.13)
2N 2N
Pentru un CNA cu ieşire de curent şi funcţie de transfer, conform relaţiei (3.12) se
obţine:
Ur
1LSB = (3.14)
2N ⋅ R
3. precizia, dată de diferenţa între valoarea reală (măsurată) a semnalului de ieşire
corespunzătoare unei secvenţe de intrare şi valoarea ideală, calculată pe baza funcţiei
de transfer a CNA pentru aceeaşi secvenţă de intrare. Eroarea absolută include erorile
de câştig, decalaj, neliniaritate, precum şi derivele acestora.
4. viteza, exprimată în număr de conversii realizate întro secundă
5. stabilitatea cu temperatura,
6. natura şi domeniul semnalului de ieşire.

3.2.2. Principiul CNA bipolar corespunzător codului binar deplasat


Se pune problema de a obţine, pe baza unui CNA unipolar cu funcţia de transfer
conform relaţiei (3.12), un CNA bipolar corespunzător codului binar deplasat. Pentru
deducerea matematic a soluţiei acestei probleme se utilizează relaţiile (3.5) şi (3.12), din care
rezultă succesiv:

Ie =
Ur
N
2 ⋅R
(
⋅ DCBD + 2 N −1 )
(3.15)
U U
I e − r = N r DCBD
2⋅R 2 ⋅R
Astfel, pentru a obţine un CNA bipolar corespunzător codului binar deplasat, este
necesară utilizarea unui circuit al cărui principiu este prezentat în figura 3.2, care generează
curentul de ieşire Ie conform relaţiei:
U
I 'e = I e − r (3.16)
2⋅R

R1
Si
(CBD) Ie Ie’
CNA -
unipolar AO
Ur + Ue
Ir
2R
R

Ur 2R
Fig.3.2. CNA bipolar corespunzător codului binar deplasat
În figura 3.2 s-a notat cu Ir curentul de referinţă , dat prin relaţia:
Ur
Ir = (3.17)
R

74
Sisteme de achiziţie şi prelucrare a datelor

Tensiunea Ue de la ieşirea CNA bipolar, conform fig. 3.2., este:

U e = R1 ⋅ I'e (3.18)
Din relaţiile (2.14), (2.15) şi (2.17) rezultă funcţia de transfer:
R1 ⋅ U r
Ue = ⋅ DCBD (3.19)
2N ⋅ R
care corespunde unui CNA bipolar cu semnal de intrare în cod binar deplasat.

3.2.3. Principiul CNA bipolar corespunzător codului complementul lui doi


Se pune problema de a obţine, pe baza unui CNA unipolar cu funcţia de transfer
conform relaţiei (3.12), un CNA bipolar corespunzător codului complementul lui doi. Pentru
deducerea matematică a soluţiei acestei probleme se utilizează relaţiile (3.8) şi (3.12), din care
rezultă succesiv:

Ie =
Ur
N
2 ⋅R
(
DCCD + b1 ⋅ 2 N )
(3.20)
U U
I e − b1 ⋅ r = N r ⋅ DCCD
R 2 ⋅R

R1
Si
(CCD) Ie Ie’
CNA -
unipolar AO
Ur + Ue
b1 Ir
R
R
Ur R
K

Fig.3.3. CNA bipolar corespunzător codului complement faţă de doi


Astfel, pentru a obţine un CNA bipolar corespunzător codului complementul lui doi,
este necesară utilizarea unui circuit al cărui principiu este prezentat fig. 3.3, şi care generează
curentul I’e conform relaţiei:
Ur
I e' = I e − b1 ⋅ (3.21)
R
Starea comutatorului K din figura 3.3 este comandat de bitul b1 al semnalului de
intrare si.
Tensiunea Ue de la ieşirea CNA bipolar (fig. 3.3) este:
U e = R1 ⋅ I e' (3.22)
rezultând funcţia de transfer:
R1 ⋅ U r
Ue = ⋅ DCCD (3.23)
2N ⋅ R
care corespunde unui CNA bipolar cu semnal de intrare exprimat în cod complementul lui
doi.

75
Circuite de conversie numeric – analogică

2.3. Principii de realizare a CNA unipolare


Problemele de bază în construcţia unui CNA constau în generarea unor curenţi cu
valori ponderate binar şi însumarea acestor curenţi în funcţie de secvenţa de intrare. Pentru
generarea curenţilor se poate utiliza un set de rezistenţe cu valori ponderate binar sau o reţea
de rezistenţe de tipul R-2R.

3.3.1. CNA cu reţea de rezistenţe cu valori ponderate binar


Structura acestui convertor figura 3.4, cuprinde N comutatoare comandate de secvenţa
de intrare bk , k = 1, 2, ... N şi N rezistenţe de valori ponderate binar.
Se ştie că rezistenţa de intrare a unui amplificator operaţional AO este foarte mare
rezultând astfel că valoarea curentului corespunzător intrării inversoare a acestuia poate fi
neglijată, adică:
Rint AO → ∞ ⇒ I− ≅ 0 (3.24)
Se poate considera astfel că intrarea inversoare (-) a AO este virtual conectată la masă
deoarece între aceasta şi intrarea neinversoare (+) care este conectată la masă nu curge curent
deci nu există cădere de tensiune. Toate rezistenţele cu valoarea 2 k ⋅ R la care comutatoarele
Kk sunt pe poziţia stânga (2) vor fi deci conectate la masă.

R1
b1 b2 bk bN

Ie -
I1 I2 Ik IN AO
+
K1 K2 Kk KN ue

1 2 1 2 1 2 1 2

… …
21·R 22·R 2k·R 2N·R
-Ur

Fig.3.4. Structura de principiu a unui CNA cu rezistenţe cu valori ponderate binar


Comutatoarele Kk sunt comandate de valoarea binară a biţilor bk astfel:
⎧⎪1 , K k → 2 , conectarea resistentei 2 k ⋅ R
bk = ⎨ (3.25)
⎪⎩0 , K k → 1, deconectarea resistentei 2 k ⋅ R
Rezistenţele sunt conectate în paralel deci vor fi supuse aceleiaşi tensiuni -Ur şi fiecare
va fi parcursă de un curent funcţie de valoarea acestora şi valoarea bitului bk din secvenţa de
intrarea. Rezultă curenţii Ik , k =1, 2, ... , N corespunzători biţilor bk din secvenţa de intrare,
conform relaţiei:
Ur
I k = bk ⋅ (3.26)
2k ⋅ R
Curentul de ieşire Ie se obţine prin însumarea curenţilor de pe fiecare ramură (curenţi
cu valori ponderate binar), adică:

76
Sisteme de achiziţie şi prelucrare a datelor

N N
Ur Ur N
Ie = ∑ Ik = ∑ bk ⋅ k
= ⋅ ∑ bk ⋅ 2 − k
2 ⋅ R R k =1
(3.27)
k =1 k =1

Pe baza relaţiilor (3.1) şi (3.3) rezultă:


N
1
DCF = ∑ bk ⋅ 2− k = 2 N DCBN (3.28)
k =1

Deci:

Ur Ur
Ie = ⋅ DCF = N ⋅ DCBN (3.29)
R 2 ⋅R
Amplificatorul operaţional de la ieşire are rolul de a converti curentul de ieşire Ie
într-o tensiune de ieşire Ue considerând I − ≅ 0 , deci:
U e = R1 ⋅ I e (3.30)
Se obţine astfel funcţia de transfer a CNA cu rezistenţe ponderate binar:
R1 ⋅ U r
Ue = ⋅ DCBN (3.31)
2N ⋅ R
CNA cu reţea de rezistenţe cu valori ponderate binar este o variantă constructivă
simplă, dar necesită o gamă largă de valori pentru rezistenţele din reţea (1... 2N-1 ), dificil de
realizat în condiţii de precizie ridicată. De asemenea, rezultă valori mici de rezistenţe
corespunzătoare biţilor mai puţin semnificativi ai CNA, cu consecinţa creşterii erorilor
datorate rezistenţelor comutatoarelor în stare de conducţie.

2.3.2. CNA cu reţea de rezistenţe de tipul R-2R


Structura acestui convertor, prezentat în figura 3.5, cuprinde o reţea de rezistenţe ale
căror valori sunt R şi 2R.
R1
b1 b2 bk bN

Ie
-
AO
2 1 +
2 1 2 1 2 1 Ue
K1 K2 Kk KN

… …
2R 2R 2R 2R 2R
I1 I2 Ik IN
-Ur R R R R
Ir I1 I1 I2 Ik-1 Ik IN-1 IN

Fig.3.5. Structura de principiu a unui CNA cu reţea de rezistenţe de tipul R - 2R.

77
Circuite de conversie numeric – analogică

Dacă se consideră comutatoarele Kk pe poziţia stânga (2) toate rezistenţele de valoare


2R sunt conectate la masă. Situaţia este aceiaşi şi dacă comutatoarele Kk sunt pe poziţia
dreapta (1) şi dacă se consideră ca la intrarea inversoare a AO curentul este neglijabil astfel că
această intrare este virtual la masă.
Având în vedere această situaţie reţeaua R – 2R poate fi structurată conform fig.3.6.
N-k II I

2R
2R 2R 2R 2R

2R
- Ur R R R R

Fig.3.6. Schema echivalentă a reţelei rezistive R – 2R


Se determină rezistenţa echivalentă a reţelei plecând de la sfârşitul acesteia astfel
pentru tronsonul marcat cu I în fig.3.6. rezultă schema şi rezistenţa echivalentă:

2R 2R 2R ⋅ 2R
RechivI = =R (3.32)
2R + 2R
IN
IN

Continuând cu tronsonul marcat cu II în aceiaşi figură şi ţinând seama de rezistenţa


echivalentă a tronsonului I se obţine:

2R R 2R 2R
2R ⋅ 2R
RechivI = =R (3.33)
2R + 2R
IN-1 IN
R
IN-1 IN

Se observă astfel că oricâte grupuri R – 2R se adaugă reţelei rezistenţa echivalentă a


acesteia va fi R. Atunci sursa de tensiune -Ur este încărcată cu o sarcină de valoare R şi deci:
Ur
Ir = (3.34)
R
Se observă de asemenea că la fiecare grup R – 2R cele două ramuri sunt identice din
punct de vedere rezistiv deci vor fi parcurse de curenţi identici (Ik pentru grupul de ordinul k)
şi analizând curenţii dinspre sursa de referinţă –Ur se observă că:

I k −1 I r
I k −1 = 2 ⋅ I k ⇒ Ik = = k (3.35)
2 2

Curentul la ieşire Ie al reţelei este dat de suma curenţilor Ik corespunzători


comutatoarelor Kk închise pe poziţia dreapta (1) astfel că se poate scrie:

78
Sisteme de achiziţie şi prelucrare a datelor

N ⎧1 pentru K k → 1
I e = ∑ bk I k undebk = ⎨ (3.36)
k =1 ⎩0 pentru K k → 2
Ţinând seama de expresia curentului Ik se obţine:
N N
Ir Ur N
Ur
I e = ∑ bk ⋅ k = ∑ bk ⋅ k = ⋅ ∑ bk ⋅ 2 −k (3.37)
k =1 2 k =1 2 ⋅ R R K −1
Dar:
N
∑ bk ⋅ 2 −k = DCF (3.38)
k =1
şi pe baza relaţiei (2.3) se obţine:
Ur
Ie = ⋅ DCBN (3.39)
2N ⋅ R
În marea majoritate a aplicaţiilor codul binar natural (CBN) trebuie convertit într-o
tensiune de ieşire Ue şi acest lucru îl realizează amplificatorul operaţional AO pentru care
dacă se neglijează curentul pe intrarea inversoare rezultă:
R ⋅U
U e = R1 ⋅ I e = 1N r ⋅ DCBN (3.40)
2 ⋅R
Relaţia obţinută (2.45) reprezintă funcţia de transfer a CNA cu reţea R – 2R adică o
dependenţă de forma U e = f (D CBN ) .
CNA cu reţea de rezistenţe de tipul R – 2R nu prezintă dezavantajele variantei de
convertor cu reţea de rezistenţe cu valori ponderate binar. Astfel, reţeaua R - 2R conţine
numai două valori de rezistenţă, care pot fi realizate în condiţii de precizie ridicată şi care pot
fi dimensionate mai mari decât rezistenţele comutatoarelor aflate în stare de conducţie astfel
încât influenţa rezistenţei acestor comutatoare să fie neglijabilă.

2.4. Convertorul numeric analogic DAC08


DAC08 este un circuit integrat monolitic cu funcţia de CNA de 8 biţi, cu ieşiri de
curent complementare şi de tipul multiplicator. Astfel, la utilizarea circuitului DAC08 în
aplicaţii de CNA multiplicator, tensiunea de referinţă poate fi modificat în domeniul 1 la 40,
cu respectarea condiţiei de monotonie. Timpul de stabilizare are valoarea tipic de 0,1 μs.
Circuitul DAC08 este alimentat cu două tensiuni continue de valori în intervalul
4,5V÷18 V. Cele două tensiuni de alimentare pot fi şi nesimetrice.
Intrările bk , k =1, 2,..., 8 ale circuitului DAC08 pot fi comandate cu semnale logice
corespunzătoare diferitelor familii de circuite logice, prin stabilirea valorii tensiunii de control
prag logic aplicat la conexiunea VLC a convertorului. Această tensiune de control se
calculează cu relaţia:
VH min + VL max
VLC [V ] = − 1.4 (3.41)
2
unde VHmin şi VLmax sunt tensiunile de ieşire minim pentru nivelul logic 1, respectiv maxim
pentru nivelul logic 0, corespunzătoare unei familii de circuite logice. În cazul semnalelor de
intrare TTL se obţine VLC = 0. Tensiunile de la cele două ieşiri complementare Ie şi Iec ale
convertorului DAC08 sunt limitate în domeniul:

79
Circuite de conversie numeric – analogică

I r [mA] ⋅ 10 3 + 2.5 + V − [V ] ≤ U [V ] ≤ 18 (3.42)


Convertorul numeric analogic DAC08 necesită tensiune de referinţă externă Ur,
conectată printr-o rezistenţă Rr la intrarea VREF+ a circuitului (fig. 3.7)

Circuit de Interfaţă pentru U


comanda comutatoarelor de curent
polarizare r
Ir = (2.48)
Rr

Fig.3.7. Structura internă a convertorului numeric analogic DAC 08.


De asemenea, se conectează o rezistenţă de valoare Rr între intrarea VREF- a circuitului
şi masă. Astfel, se reduc erorile datorate derivei curenţilor de polarizare de la intrările
amplificatorului de referinţă, erori care afectează curentul de referinţă Ir . Valoarea acestui
curent se, obţine din relaţia:
Ur
Ir = (3.43)
R
La bornele rezistenţei R, conectat la emitorul tranzistorului T, rezultă o tensiune care
alimentează reţeaua R-2R. Deoarece potenţialele emitoarelor tranzistoarelor T1 , T2 , ... , T8
sunt egale cu potenţialul emitorului tranzistorului T, rezultă divizarea cu doi a curenţilor în
nodurile reţelei. Se obţine:
I
I r = rk , k = 1, 2 ,K ,8 (3.44)
2
Rezultă:
8 8
Ie = ∑ bk ⋅ I k = I r ⋅ ∑ bk ⋅ 2− k (3.45)
k =1 k =1
unde Ir este curentul de referinţă de valoare dată prin relaţia (2.48). Valoarea curentului de
ieşire complementar Iec se obţine conform relaţiilor:
8 8 8
I ec = I r ⋅ ∑ (1 − b1 ) ⋅ 2 − k = I r ⋅ ∑ 2 − k − I r ⋅ ∑ bk ⋅ 2 − k
k =1 k =1 k =1 (3.46)
255
I ec = ⋅ I r − Ie
256

80
Sisteme de achiziţie şi prelucrare a datelor

În figura 3.8 se prezintă conectarea convertorului numeric analogic DAC08 pentru


semnale de intrare TTL (VLC = 0 V) şi ieşire de tensiune unipolară, prin utilizarea
amplificatorului operaţional AO. Pe baza structurii circuitului de conectare şi a relaţiilor
prezentate mai sus se obţin mărimile caracteristice convertorului numeric analogic. Astfel,
curentul de referinţă este:
U
I r = r = 2 mA (3.47)
Rr
Pentru ieşirea de curent Ie se obţine:
Ir 255
FSR = I r = 2 mA ; 1 LSB = 8
= 7.81 μA ; I e max = ⋅ I r = 1.992 mA (3.48)
2 256
Pentru ieşirea de tensiune Ue se obţine:
Ir ⋅ R 255
FSR = I r ⋅ R = 10 V ; 1 LSB = 8
= 3 ,9 mV ; U e max = ⋅ I r ⋅ R = 9.961 (3.49)
2 256

Fig.3.8. Conectarea convertorului numeric analogic DAC 08 în configuraţie unipolară.

81
Circuite de conversie analog – numerică

CAPITOLUL IV
Circuite de conversie analog – numerică
Convertoarele analog numerice (CAN) realizează conversia semnalelor analogice în
semnale numerice, fiind utilizate în sisteme de achiziţie de date. În acest capitol se prezintă
caracteristici ale convertoarelor analog numerice, principii de construcţie a acestora şi circuite
integrate specializate.

4.1. Caracteristici ale CAN


Un convertor analog numeric are la
Ur
intrare un semnal analogic si (curent sau
R tensiune) şi dă la ieşire un semnal numeric se
cu valoarea în funcţie de mărimea semnalului
Ir analogic de intrare (fig.4.1). Legătura dintre
Si Convertor Se intrarea şi ieşirea CAN este definită pe o
analog - numeric mulţime continuă reprezentată printr-un
tensiune CAN cod interval de variaţie a tensiunii sau curentului
binar de intrare ui, cu valori în mulţimea numerelor
Fig.4.1. Convertor analog – numeric (CNA) k ∈ Nn obţinute la ieşire şi reprezentate
printr-un cuvânt cod D = b1 b2….bN.
f CAN : ui → D (4.1)
Astfel, funcţia de transfer a unui CAN cu intrare de tensiune, ui este:
K
D= ⋅ ui (4.2)
Ur
unde D este valoarea numerică a semnalului de ieşire, Ur este tensiunea de referinţă, iar K este
o constantă adimensională. Pentru K = 1, funcţia de transfer a unui CAN liniar şi unipolar este
dată prin relaţia:
N
1
DCF = ∑ bk 2 − k = ⋅ ui (4.3)
k =1 Ur

unde N este numărul de variabile binare care compun secvenţa de ieşire (numărul de biţi ai
convertorului), b1 este bitul de semnificaţie maximă (MSB), iar bN este bitul de semnificaţie
minimă (LSB).
În relaţia (4.3), tensiunea de referinţă Ur reprezintă, de asemenea, intervalul de variaţie
a semnalului de intrare (FSR, Full-Scale Range), cu valoare tipică de 10 V. Se defineşte
mărimea LSB ca variaţia minimă a valorii tensiunii de intrare ui care produce două tranziţii
succesive ale secvenţei de ieşire bk, k =1, 2, ..., N. Rezultă:
FSR
1LSB = n (4.4)
2
Deoarece semnalul de intrare, ui este continuu, iar semnalul de ieşire are valori
discrete (DCBF), rezultă că relaţia de egalitate din (4.3) este exactă pentru 2 valori particulare
ale tensiunii de intrare (decalate la intervale de 1LSB ) şi aproximativă pentru toate celelalte
valori ale tensiunii de intrare. Rezultă erori de aproximare care se numesc erori de cuantizare
şi au valorile cuprinse în intervalul ±0,5 LSB, pentru caracteristica de transfer a CAN,
conform figurii 4.2. Erorile de cuantizare pot fi exprimate prin relaţia:

82
Sisteme de achiziţie şi prelucrare a datelor

N
e = ui − U r ⋅ ∑ bk ⋅ 2 − k [V ] (4.5)
k =1
unde biţii bk sunt corelaţi cu tensiunea de intrare ui.
Dacă semnalul de la intrarea
se [bk] unui CAN poate fi de
11…111 ambele polarităţi, în
intervalul de variaţie FSR
11…110 (de la -FSR/2 la +FSR/2, cu
valori tipice ±5 V şi ±10 V),
11…101 convertorul analog numeric
se numeşte bipolar.

00…011 Caracteristica de transfer a


unui CAN bipolar (fig. 4.3)
00…010 corespunde unei ieşiri în cod
… binar deplasat. Pentru ieşire
00…001 în codul complementul lui
doi este necesară inversarea
00…000 ui
valorii logice a bitului de
0 1 2 3 2N-3 2N-2 2N-1 2N [LSB]
(FSR) semnificaţie maximă b1.
În principiu, un CAN
Fig. 4.2 Caracteristica de transfer a unui CAN unipolar bipolar se poate obţine dintr-
un CAN unipolar prin
introducerea unui decalaj la
Se [bk] intrare de -FSR/2.
11…111 Precizia (eroarea) totală
a unui CAN este dată de
11…110 diferenţele dintre
caracteristica reală a
convertorului şi
caracteristica ideală (fig. 4.1

sau 4.2). Eroarea totală


… include erorile de câştig,
10…001 decalaj, neliniaritate, precum
(-FSR/2) şi derivele acestora.
N-1
-2 1-2 N-1 10…000 Ui Etalonarea unui CAN constă
01 2 2N-1-1 2N-1 [LSB] in calibrarea decalajului,
… 01…111
(FSR/2) urmată de calibrarea
câştigului. Pentru un CAN
01…110 unipolar, calibrarea
Fig. 4.3 Caracteristica
decalajului se realizează
de transfer a unui

astfel încât prima tranziţie


ui CAN bipolar
(00...000 -> 00...001) a
[LSB]
secvenţei de ieşire să
00…001
corespundă unei tensiuni de
00…000 intrare de 0,5 LSB.
Calibrarea câştigului se
realizează astfel încât ultima
tranziţie (11...110 ->
11...111) a secvenţei de ieşire să corespundă tensiunii de intrare de FSR -1,5 LSB (fig. 4.1).

83
Circuite de conversie analog – numerică

Pentru un CAN bipolar în cod binar deplasat, calibrarea decalajului se realizează astfel încât
tranziţia (10...000 -> 10...001) secvenţei de ieşire să corespundă unei tensiuni de intrare de 0,5
LSB. Calibrarea câştigului se realizează astfel încât tranziţia (11...110 -> 11...111) secvenţei
de ieşire să corespundă unei tensiuni de intrare de FSR/2 -1,5 LSB.
Timpul de apertură al unui CAN reprezintă intervalul în care, convertorul eşantionează
(utilizează) semnalul de intrare pentru efectuarea unei conversii. Timpul de conversie al unui
CAN reprezintă intervalul între momentul declanşării unui proces de conversie şi momentul
stabilizării secvenţei de ieşire conţinând rezultatul conversiei. Timpul de apertură este egal cu
timpul de conversie în cazul unui CAN cu aproximaţii succesive şi este mai mic decât timpul
de conversie în cazul unui CAN cu integrare.
O altă caracteristică a unui CAN este impedanţa de intrare.
Se pot aprecia performanţele unui CAN în funcţie de principalii săi parametri definiţi
după cum urmează :
1. Rezoluţia – este dată de numărul N de biţi care compun secvenţa de ieşire . Ea mai
poate fi definită ca fiind treapta de intrare ΔV corespunzătoare unei unităţi de ieşire.
2. Gama de variaţie a semnalului de intrare - este definită prin intervalul de variaţie (U)
al mărimii de intrare.
3. Viteza de conversie – se defineşte prin intervalul de timp necesar realizării unei
conversii (ms).
4. Eroarea de neliniaritate – reprezintă abaterea caracteristicii de transfer reale faţă de
cea ideală .
5. Eroarea de offset – se defineşte ca fiind abaterea caracteristicii de transfer reale faţă
de origine.

4.2.Convertoare analog numerice cu reacţie


Convertoare analog numerice cu reacţie, folosesc un convertor numeric analogic
CNA şi o buclă de reacţie. Bucla de reacţie este folosită pentru compararea mărimii de intrare
cu cea obţinută la ieşirea CNA, rezultatul
Bloc generare numere conversiei fiind dat de numărul de la intrarea
k∈{0,1,……Nmax} CNA în momentul realizării egalităţii celor
două semnale comparate.
Generator În schema din fig.4.4. se prezintă
tact principiul de realizare a unui astfel de
Numărul k convertor analog numeric cu reacţie.
Blocul de generare a numerelor va furniza la
Convertor intrarea convertorului CAN un număr k
numeric-analogic cuprins între 0 şi Nmax. Numărul k va
v(k) determina obţinerea la ieşirea CNA a unei
Buclă de reacţie mărimi analogice.
v( k ) = k ⋅ Δv (4.6)
ui C unde Δv reprezintă treapta minimă a
semnalului analogic. Semnalul analogic v(k)
obţinut la ieşire CNA se va compară cu
Fig. 4.4. Convertor A/N cu reacţie
mărimea de intrare u, folosindu-se un
comparator C. În momentul realizării egalităţii dintre cele două semnale comparate se va
putea scrie relaţia :
1
u = k ⋅ Δv ± ⋅ Δv (4.7)
2
de unde rezultă că:

84
Sisteme de achiziţie şi prelucrare a datelor

u 1
=k± (4.8)
Δv 2
Din expresia (4.8) se observă că numărul k în momentul egalităţii este dat de valoarea
u 1
numerică a raportului cu o precizie de ± .
Δv 2
În funcţie de modul în care este realizată generarea numerelor k până în momentul
obţinerii egalităţii u = v(k ) influenţează viteza de conversie a acestor convertoare. Astfel că,
datorită modului de generare a numerelor k de la intrarea CNA, se vor distinge trei tipuri de
CAN cu reacţie:
− cu generare de trepte de tensiune
− cu conversie continuă
− cu aproximaţii succesive

4.2.1. CAN cu generare de trepte de tensiune


Pentru acest tip de convertoare CAN generatorul de numere este realizat dintr-un
numărător al cărui conţinut este incrementat de impulsurile furnizate de un generator de tact
GT, care ajung la numărător pe perioada cât poarta logică ŞI nu este inhibată (fig.4.5).

Start conversie

u -
C BLC GT
+
RESET
Numărător
b1 b1 …bN
a.
v(k)
CNA

u Semnal reconstituit
v(k)
v(k)

v(k) v(k)
b.

t
1 2 3
Start
Fig. 4.5 CAN cu trepte de tensiune
a. Principiu de realizare, b. Diagrama de funcţionare
În starea de repaus, blocul logic de comandă BLC inhibă poarta logică, blocând
accesul impulsurilor generatorului de tact la intrarea numărătorului, care se află resetat în
starea zero. Ieşirea CNA este zero, ceea ce va determina, la ieşirea comparatorului, un nivel
logic 0.
Când se aplică semnalul de start a conversiei la intrarea BLC, acesta va genera un
semnal de ştergere a numărătorului şi va activa poarta ŞI permiţând astfel accesul impulsurilor
GT la intrarea numărătorului. Începe generarea semnalului în trepte la ieşirea CNA potrivit

85
Circuite de conversie analog – numerică

stării numărătorului. Când semnalul de ieşire al CNA devine v(k ) ≥ u , comparatorul C îşi
schimbă ieşirea, trecând în starea 1 logic, moment în care BLC va bloca poarta ŞI blocând
accesul impulsurilor GT la numărător. Numărul k rămas în numărător reprezintă valoarea
conversiei. Durata unei conversii este dată de valoarea maximă a semnalului de intrare.
Pentru un convertor cu n biţi durata maximă va fi :
n 2n
Tmax = 2 ⋅ T0 = (4.9)
f0
unde T0 perioada impulsurilor de tact date de GT.
Pentru convertoarele cu timpi mari de conversie este necesară folosirea unor circuite
de eşantionare şi memorare la intrare.

4.2.1.2. CAN cu conversie continuă


Acest tip de convertoare utilizează un numărător reversibil, schema logică fiind
prezentată în fig. 4.6.
La aplicarea semnalului de start BLC va şterge numărătorul, ieşirea comparatorului C
devenind 0 logic. BLC va aplica impulsurile generatorului de tact pe intrarea Up a
numărătorului în sens direct de numărare. La ieşirea CNA se va obţine un semnal în trepte
până la depăşirea semnalului analogic u , caz în care ieşirea comparatorului C devine 1 iar
BLC va schimba sensul de numărare aplicând impulsurile GT pe intrarea Down a
numărătorului în sens invers. Dacă semnalul este prins rămânând constant, la fiecare impuls
de tact numărătorul nu va schimba
Start conversie decât bitul LSB (conform detaliilor
u - BLC GT
d1 şi d2 din fig.4.6. b).
C
+ Erorile ce apar în acest caz
RESET Up Down sunt de cel mult ±1LSB. BLC poate
fi astfel programat încât să
Numărător reversibil
blocheze accesul impulsurilor GT
în numărător pentru variaţii mai
mici de 1LSB ale semnalului de
b1 b2… bN intrare. Acest tip de convertor mai
v(k) este denumit şi convertor CAN cu
CNA urmărire.

4.2.2. Convertoare analog


d2
u numerice cu conversie
u
intermediară
CAN cu conversie
d1 intermediară transformă mărimea
v(k) t de intrare (tensiune sau curent) mai
întâi într-o mărime intermediară
Fig.4.6. CAN cu conversie continuă proporţională (frecvenţă sau timp)
a. Principiu de realizare care să poată fi transformată mai
b. Diagrama de funcţionare. simplu într-o mărime numerică.
CAN din fig. 4.7. utilizează
un convertor tensiune / frecvenţă sau curent/frecvenţă, şi un circuit de măsurare numerică a
frecvenţei compus, dintr-un bloc logic de comandă BLC o poartă logică ŞI, şi un numărător.
Convertorul U/F (I/F) furnizează la ieşirea sa un semnal a cărui frecvenţă este
proporţională cu amplitudinea semnalului de intrare. La comanda de start a conversiei blocul
logic de comandă BLC va şterge numărătorul şi va genera un semnal de valoare 1 logic, o

86
Sisteme de achiziţie şi prelucrare a datelor

anumită perioadă de timp T (ms,


BLC μs) constantă. În această
Start conversie RESET perioadă de timp constantă prin
poarta ŞI impulsurile generate de
Numărător
u(i) IN convertorul U/F (I/F) vor fi
Convertor aplicate pe intrarea de numărare
U/F I/F
LSB … MSB IN a numărătorului. Astfel, la
sfârşitul perioadei T,
Fig. 4.7. Convertor analog numeric cu conversie
numărătorul va conţine valoarea
intermediară în frecvenţă
numerică a semnalului de
intrare.
Convertorul CAN prezentat în fig. 4.8 realizează o conversie intermediară
amplitudine - timp folosind două amplificatoare operaţionale A1 (cu funcţie de comparator) şi
A2 ( funcţie de integrator).

ui Q
Start conversie BLC Numărător
A1
IN
k1
C
V1 LSB … MSB
R
Generator
A2 tact
k2

Uref
Fig. 4.8. Convertor analog numeric cu conversie intermediară timp
În stare de repaus BLC ţine poarta ŞI închisă, astfel împiedicând impulsurile generate
de Generatorul de tact să ajungă în numărător, contactul k1 va fi închis iar k2 va fi deschis.
La comanda de start a conversiei BLC va activa poarta logică ŞI (Q=1), impulsurile
generatorului de tact intrând în numărător. Contactul k1 se deschide, închizându-se contactul
k2, tensiunea de la ieşirea integratorului crescând liniar în timp până devine egală cu tensiunea
de intrare ui . În acest moment ieşirea comparatorului se modifică devenind 1 logic, semnalul
dat de BLC devine zero, Q = 0 fapt ce va determina închiderea porţii ŞI. Astfel valoarea
conţinută de numărător în momentul inhibării porţii ŞI va fi rezultatul conversiei. Astfel,
intervalul de timp Δt scurs până la atingerea valorii semnalului de intrare este proporţional cu
valoarea acestuia, durata intervalului fiind măsurată cu ajutorul impulsurilor de tact furnizate
de generatorul GT.
Spre deosebire de primul tip de convertor la care perioada de conversie este
constantă, la al doilea tip de convertoare aceasta depinde de amplitudinea semnalului analogic
de intrare.

4.2.3. CAN cu comparare de tip paralel


Se poate aprecia că un circuit comparator este un CAN paralel de un bit. În acest
sens, la cele două intrări ale comparatorului se aplică tensiunea de intrare şi respectiv
tensiunea de referinţă (divizată). Ieşirea comparatorului reprezintă bitul b1 corespunzător
semnalului numeric de ieşire. Pentru realizarea unui CAN paralel de N biţi, este necesară
utilizarea unui număr de 2N-1 comparatoare care să detecteze poziţia semnalului de intrare ui

87
Circuite de conversie analog – numerică

faţă de valorile la care apar tranziţii în secvenţa de ieşire (fig. 4.2 şi 4.3). Pentru un CAN
unipolar, aceste valori sunt:
⎛ 1⎞
U ci = ⎜ i − ⎟ LSB , i = 1,2 ,...,2 N − 1 (4.10)
⎝ 2⎠
ui Având în vedere funcţia de transfer
Ur (4.2) a CAN şi relaţia (4.3) se obţine:
FSR = U r (4.11)
C2N-1 şi
1,5R
UC2N-1 FSR U r
1LSB = = N (4.12)
R C2N-2 2N 2
DECODOFICATOR

b1
UC2N-2 b2 Din relaţiile (4.10) si (4.12) rezultă
valorile tensiunilor care se conectează la câte

Ci una din intrările celor 2N-1 comparatoare din


R bj
structura CAN paralel unipolar:

UCi

⎛ 1⎞ U
bN U ci = ⎜ i − ⎟ ⋅ Nr , i = 1,2 ,...,2 N − 1 (5.13)
R C1 ⎝ 2⎠ 2
UC1 Aceste tensiuni pot fi obţinute prin
divizarea tensiunii de referinţă, conform
0,5R
structurii de CAN paralel din figura 4.9. La
celelalte intrări ale comparatoarelor se
Fig. 4.9 Structura de principiu a unui conectează tensiunea de intrare ui. Ieşirile
CAN cu comparare de tip paralel comparatoarelor se aplică la intrarea unui
decodificator pentru a obţine cei N biţi
corespunzători secvenţei de la ieşirea CAN.
CAN cu comparare de tip paralel se caracterizează prin valori foarte reduse ale
timpilor de conversie (zeci de ns), ca urmare a structurii de principiu de tip combinaţional a
unui astfel de convertor, dar necesită un număr mare de componente electronice.

4.2.4. CAN cu comparare de tip serie-paralel


În cele ce urmează se prezintă deducerea matematică a principiului de funcţionare a
unui CAN serie-paralel. Astfel, se consideră funcţia de transfer a unui CAN dată prin relaţia
(4.3) şi scrisă sub forma:
N
ui = U r ⋅ ∑ bk 2 − k (4.14)
k =1
Dacă numărul de biţi ai CAN este par, termenul sumă din relaţia (4.14) se poate
separa în doi termeni, conform relaţiei:
N
2 N
ui = U r ⋅ ∑ bk ⋅ 2 −k
+ Ur ⋅ ∑ bk ⋅ 2−k (4.15)
k =1 N
k = +1
2
În al doilea termen se face substituţia:
N
k− = j (4.16)
2

88
Sisteme de achiziţie şi prelucrare a datelor

Se va obţine succesiv:
N
N/2 N
2 − j−
ui − U r ∑ bk 2 −k
= Ur ∑ bj+ N ⋅ 2 2 (4.17)
k =1 j =1 2
şi respectiv:
⎛ N ⎞ N
N ⎜ 2 ⎟ 2
⋅ ⎜ ui − U r ∑ bk ⋅ 2 − k ⎟ = U r ∑ b N ⋅ 2 − j
22 (4.18)
⎜ k =1 ⎟ j =1
j+
⎜ ⎟ 2
⎝ ⎠
Având în vedere expresia erorii de cuantizare dată prin relaţia (4.10) rezultă că
termenul din stânga relaţiei de egalitate (4.12) reprezintă eroarea de cuantizare la conversia
analog numerică cu N/2 biţi a tensiunii de intrare ui. Această tensiune, înmulţită c u 2 N / 2
s e notează:
⎛ N ⎞
N ⎜ 2 ⎟
'
ui = 22 ⋅ ui − U r ⋅ ∑ bk ⋅ 2
⎜ −k ⎟
(4.19)
⎜ k =1 ⎟
⎜ ⎟
⎝ ⎠
Din relaţiile (4.18) şi (4.19) se obţine:
N
2
u'i = U r ⋅ ∑ b N ⋅ 2− j (4.20)
j+
j =1 2

Rezultă că tensiunea ui’ este tensiune de intrare pentru un al doilea proces de


conversie analog numerică cu N/2 biţi.
Din cele prezentate mai sus rezultă principiul de funcţionare a unui CAN serie-
paralel de N biţi (fig. 4.10) cuprinzând operaţiile: conversia analog numerică cu N/2 biţi a
tensiunii de intrare ui şi obţinerea celor N/2 biţi (b1,b2, ... ,bN/2) mai semnificativi,
corespunzători conversiei celor N biti; conversia numeric analogică a secvenţei b1,b2, ... ,bN/2
şi scăderea rezultatului acestei conversii din tensiunea de intrare ui, pentru obţinerea erorii de
cuantizare corespunzătoare primului proces de conversie analog numerică; înmulţirea erorii
de cuantizare cu 2 şi conversia analog numerică cu N/2 biţi a tensiunii rezultate din înmulţire,
pentru obţinerea celor N/2 biţi (bN/2+1,bN/2+2, ... ,bN) mai puţin semnificativi, corespunzători
conversiei cu N biţi.
b1
b2
Ur
Ur
bN/2
bN/2+1
ui CAN uI ’ CAN
paralel
CNA - paralel
bN/2+2
(N/2 biţi) Σ 2N/2

(N/2 biţi) (N/2 biţi) bN


+
Ur

Fig. 4.10. Structura de principiu a unui CAN cu comparare de tip serie – paralel

89
Circuite de conversie analog – numerică

Din structura de principiu a CAN serie-paralel rezultă că acesta prezintă un timp de


conversie mai mare decât CAN paralel, dar necesită un număr mai mic de componente
electronice (de exemplu 30 de comparatoare pentru un CAN serie-paralel cu 8 biţi, faţă de
255 de comparatoare în cazul unui CAN paralel de 8 biţi).

4.2.5. CAN cu aproximaţii succesive


Principiul de funcţionare a unui CAN cu aproximaţii succesive (serie) rezultă din
funcţia de transfer (4.5), care poate fi scrisă conform relaţiei:
((((u i − U r ⋅ b1 ⋅ 2 −1 ) − U r ⋅ b2 ⋅ 2 −2 )... − U r ⋅ bk ⋅ 2 −k )... − U r ⋅ bN ⋅ 2 −N ) = 0 (4.21)
În relaţia (4.16) fiecare termen dintre două paranteze corespunzătoare reprezintă
eroarea de cuantizare la conversia analog numerică cu 1 bit a tensiunilor:
u i ,1 = u i (4.22)
şi
u i ,k = u i ,k −1 − U r ⋅ bk −1 ⋅ 2 −(k −1) , k = 2, N (4.23)
Deoarece o conversie analog numerică cu 1 bit se face cu un comparator, rezultă
posibilitatea realizării unui convertor analog numeric de N biţi prin utilizarea a N
Start conversie (SOC)
ui Generator
C BLC
tact

RESET Sfârşit
conversie
A0…Ap D WR (EOC)
Registru aproximaţii
succesive b1
b2
Registru
bk, k=1..N de bk
memorie
uck
CONVERTOR CNA bN

a.) Principiul constructiv


u0
t

b1 t

b2 t

bk t

bN
t

b– diagrame de funcţionare
Fig. 4.11. CAN cu aproximaţii succesive

90
Sisteme de achiziţie şi prelucrare a datelor

comparatoare sau prin utilizarea succesivă a unui singur comparator pentru obţinerea celor N
biţi. Această ultimă soluţie constructivă stă la baza realizării convertorului cu aproximaţii
succesive (fig. 4.11). Biţii bk, k =1,2,...,N ai rezultatului unei conversii analog numerice se
obţin în ordine succesivă începând cu bitul b1 de semnificaţie maximă. Fiecare bit bk se obţine
într-o perioadă a semnalului u0 (fig. 4.11) ca urmare a unei comparări şi este memorat în
registrul de aproximaţii succesive. Acest registru comandă intrările bk, k =1,2,...,N ale CNA
pentru obţinerea succesivă a tensiunilor de comparare:
⎛ k −1 ⎞
uck = U r ⋅ ⎜ ∑ b j ⋅ 2 − j + 2 − k ⎟ , k = 1, N (4.24)
⎜ j =1 ⎟
⎝ ⎠
Comparatorul C realizează comparaţia dintre mărimea analogică de intrare ui şi
mărimea obţinută la ieşirea convertorului CNA, uck punându-şi ieşirea în 0 logic pentru

ui < uck (4.25)


Blocul logic de comandă are o structură mai complexă decât în cazurile precedente.
BLC va genera semnalul de ştergere (RESET) al registrului de aproximaţii succesive, adresele
A0………Ap ale biţilor b1,b1,……..,bN aferenţi registrului de aproximaţii succesive, data D (0
sau 1) ce urmează să fie scrisă în fiecare bit al registrului ca rezultat al comparaţiei, tot BLC
va genera şi semnalul de înscriere a datei (WR) şi semnalul de sfârşit al conversiei ce se
obţine după poziţionarea bitului LSB.
La activarea semnalului de start a conversiei se resetează registrul de aproximaţii
succesive (b1 = b2 = … bk = bN = 0). În continuare se va înscrie 1 în bitul MSB (k = N) căruia
îi corespunde o valoare a tensiunii
U
uck = r (4.26)
2
unde Ur este valoarea de referinţă şi valoarea maximă posibilă a semnalului analogic ui.
Se citeşte în continuare rezultatul comparaţiei semnalului de intrare ui cu uck dat de
comparatorul C, şi pentru ui < uck se resetează acest bit (bk = 0) şi la următorul tact al GT se
trece la următorul bit, iar dacă ui > uck , bitul bk rămâne neschimbat (bk = 1), trecându-se în
următorul tact GT la bitul următor.
Ciclul se termină odată cu deciderea stării b1 (LSB) după care se va genera semnalul
de sfârşit al conversiei (EOC), cuvântul binar rezultat reprezentând valoarea numerică a
mărimii analogice ui.
Valoarea numerică obţinută pentru semnalul de intrare u va fi memorată într-un
registru de memorie RM, încărcarea registrului de memorie cu rezultatul conversiei făcându-
se prin intermediul semnalului semnalul EOC. Conectând EOC la intrarea SOC (Start of
Conversion) se asigură funcţionarea continuă a convertorului A/N, RM având memorat
rezultatul ultimei conversii.
Aceste convertoare CAN sunt caracterizate printr-o viteză de conversie superioară faţă
de celelalte tipuri de convertoare analog numerice cu reacţie şi au de asemenea avantajul că
durata conversiei este constantă, nu depinde de valoarea mărimii de la intrare şi depinde
numai de numărul de biţi N ai cuvântului de cod.

4.2.6. CAN cu integrare în două pante


Din diagrama de timp (fig. 4.12.a) se constată că integrarea tensiunii de referinţă
durează până când tensiunea uI de la ieşirea integratorului ajunge la valoarea din momentul
începutului integrării tensiunii de intrare ui. Din principiul conservării sarcinii electrice rezultă
succesiv:

91
Circuite de conversie analog – numerică

uI
tr tx ui U
t ⋅ tr = r ⋅ t x , (4.27)
R R
tr
tx = ⋅ ui (4.28)
ui -Ur Ur
R R
a) Relaţia (4.27) indică
obţinerea unei conversii
tensiune-timp, pe baza unei
C funcţii de transfer liniare.
ui Conversia analog numerică se
K R realizează prin numărare de
uI
AO impulsuri cu frecvenţa fixă f0
-Ur C
în intervalul de timp tx.
Rezultă:
b)
D
tx = (4.29)
f0
u0 Generator de unde D este valoarea
Numărător BLC
(f0) tact numerică a rezultatului
conversiei analog numerice,
egală cu numărul de impulsuri
Fig. 4.12. CAN cu integrare în două pante contorizate în intervalul tx.
Din relaţiile (4.28) şi (4.29) se obţine:
tr D
⋅ ui = (4.30)
Ur f0
Mărimile tr şi f0 care intervin în funcţia de transfer (relaţia 4.30) reprezintă mărimi de
referinţă ale căror erori afectează nemijlocit rezultatul conversiei. Acest fapt poate fi evitat
dacă intervalul de timp tr este generat prin contorizarea unui număr dat de impulsuri cu
frecvenţa f0, conform relaţiei:
Nr
tr = (4.31)
f0
Din relaţiile (4.30) si (4.31) rezultă funcţia de transfer a CAN cu integrare în două pante:
Nr
D= ⋅ ui (4.32)
Ur
În relaţiile (4.29) şi (4.31) frecvenţa f0 este aceeaşi, considerând posibilă generarea
de impulsuri cu frecvenţa practic constantă pe durata unui proces de conversie.
Structura CAN cu integrare în doua pante cu funcţionare conform principiului expus
mai sus este prezentată în fig. 4.12. b). Un proces de conversie analog numerică este iniţiat de
dispozitivul de comandă care trece comutatorul K în poziţia tensiunii ui anulează conţinutul
numărătorului şi permite accesul de impulsuri cu frecvenţa f0 la intrarea numărătorului.
Conţinutul numărătorului este incrementat pentru fiecare impuls până la capacitatea maximă
Nmax şi apoi este anulat de următorul impuls. Momentul anulării conţinutului numărătorului
este transmis dispozitivului de comandă prin frontul de comutare din 1 în 0 logic al bitului de
semnificaţie maximă al numărătorului. În acest moment, dispozitivul de comandă trece
comutatorul K în poziţia corespunzătoare integrării tensiunii de referinţă -Ur. Astfel, intervalul
de integrare a tensiunii de intrare este:

92
Sisteme de achiziţie şi prelucrare a datelor

N max − 1
tr = (4.33)
f0
Din relaţiile (4.24) şi (4.26) rezultă:

N r = N max + 1 (4.34)
Pe durata integrării tensiunii de referinţă, dispozitivul de comandă menţine accesul
impulsurilor cu frecvenţa f0 la intrarea numărătorului. Integrarea tensiunii de referinţă se
desfăşoară până când circuitul comparator sesizează la ieşirea integratorului nivelul de
tensiune existent în momentul declanşării procesului de conversie (în aplicaţii, acest nivel
este, de regulă, nivelul masei 0V, fig. 4.12.b). Circuitul comparator transmite informaţia
privind sfârşitul integrării tensiunii de referinţă la dispozitivul de comandă, care blochează
accesul impulsurilor de frecvenţă f0 la numărător. În acest moment, conţinutul numărătorului
reprezintă rezultatul conversiei analog numerice, conform relaţiilor (4.32) şi (4.33):
N max + 1
D= ⋅ ui (4.35)
Ur
Se precizează că intervalul de timp tr se alege multiplu al perioadei reţelei, pentru
rejecţia prin integrare a tensiunilor perturbatoare cu frecvenţa reţelei care afectează tensiunea
de intrare ui.

4.3. Convertorul analog numeric ADC912


Circuitul integrat CMOS, de tipul ADC912, este un CAN cu aproximaţii succesive
de 12 biţi, cu timpul de conversie de 12 μs. Funcţionarea convertorului ADC9l2 corespunde
principiului de conversie analog numerică cu aproximaţii succesive prezentat în paragraful
4.3.3. Astfel, structura internă a circuitului ADC912 (fig. 4.14) cuprinde un CNA de 12 biţi,
un comparator şi un registru de aproximaţii succesive.
Timpul de conversie de 12 μs corespunde unei secvenţe a generatorului de impulsuri
de 1MHz. Această frecvenţă se obţine prin conectarea unui cristal de cuarţ de 1MHz între
conexiunile CLK IN şi CLK OUT ale circuitului ADC912 sau prin conectarea unui semnal
extern de 1MHz la intrarea CLK IN a circuitului. Procesul de aproximaţii succesive converge
în sensul anulării tensiunii de la intrarea plus a comparatorului C. Diodele D1 şi D2 realizează
protecţia comparatorului faţă de tensiunile diferenţiale de intrare cu valori ridicate care ar
apărea la începutul procesului de aproximaţii succesive (de conversie).
Pentru o tensiune de referinţă VREF= -5V, domeniul de variaţie a tensiunii de intrare
este 0V ≤VIN≤10V. Rezultă FSR=10V şi 1LSB=FSR/2N = 2,44 mV. Având în vedere
valoarea redusă a mărimii LSB, se impune reducerea erorilor datorate curenţilor care trec prin
traseele de masă. Astfel, circuitul ADC9l2 prezintă o conexiune pentru masa circuitelor
analogice AGND şi o conexiune pentru masa circuitelor numerice DGND.
Convertorul analog numeric ADC912 conţine logică de control şi registre de ieşire
de tipul trei stări pentru conectarea la sisteme de prelucrare numerică de 8 sau 16 biţi. Astfel,
un convertor ADC912 conectat la un sistem este tratat de acesta ca locaţie de memorie sau ca
circuit de intrare. Semnalul de selecţie /CS a convertorului se obţine prin decodificarea
magistralei de adrese a SPN. Declanşarea unui proces de conversie analog numerică se
realizează cu frontul de activare al semnalului /RD din ciclul de citire, respectiv de intrare,
când /CS şi HBEN sunt la nivel logic 0. Registrele de ieşire încarcă rezultatul conversiei
analog numerice la ieşirile B7,...,B0 numai când liniile /CS şi /RD sunt comandate în stare
activă. Corespondenţa între biţii b1,...,b12 ai rezultatului conversiei şi liniile de ieşire B11,...,B0

93
Circuite de conversie analog – numerică

AGND VREF (-5V) VIN

CNA +

12biţi C
-

REGISTRU DE
(12) APROXIMAŢII
SUCCESIVE

REGISTRU DE MEMORIE
(12 biţi)
(4) /BUSY
(8) LOGICĂ DE /CS
CONTROL /RD
MULTIPLEXOR HBEN

(8)

REGISTRU REGISTRU DE IEŞIRE GENERATOR CLK OUT


DE IEŞIRE (8 biţi) DE IMPULSURI CLK IN

DB10 DB8 DB6 DB4 DB2 DB0 DGN


DB11 DB9 DB7 DB5 DB3 DB1
b1 b 2 b3 b 4 b5 b6 b7 b8 b9 b10 b11 b12 →HBEN = 0
b 1 b 2 b3 b 4 0 0 0 0 b1 b2 b3 b4 →HBEN = 1

Fig. 4.14 Structura internă şi conexiunile convertorului analog numeric ADC912


este în funcţie de nivelul logic al liniei HBEN. Astfel, în cazul unui SPN cu magistrala de date
de 16 biţi linia HBEN este comandata la nivel logic 0. În cazul unui SPN cu magistrala de
date de 8 biţi, se utilizează două adrese pentru selecţia convertorului ADC912. Instrucţiunea
de citire (intrare) corespunzătoare primei adrese conduce, prin decodificarea adresei, la /CS
activ şi HBEN inactiv.
Prin execuţia acestei instrucţiuni se declanşează un proces de conversie analog
numerică şi se realizează transferul celor opt biţi mai puţin semnificativi ai rezultatului
conversiei. Instrucţiunea de citire (intrare) corespunzătoare celeilalte adrese conduce, prin
decodificarea adresei, la /CS activ şi HBEN activ. Prin execuţia acestei instrucţiuni nu se
declanşează o conversie analog numerică, ci se realizează transferul celor patru biţi mai
semnificativi ai rezultatului conversiei declanşate anterior.
Funcţionarea convertorului analog numeric ADC912 în cadrul unui SPN cu
magistrala de date de 8 biţi este prezentată pe baza de diagrame de timp în figura 4.15.
Diagrama de timp corespunde funcţionării în intervalele ciclurilor de citire (intrare)
de la cele două adrese precizate anterior în primul ciclu, după declanşarea conversiei cu
frontul de activare al semnalului /RD, convertorul comandă linia BUSY la nivel logic 0 şi
încarcă magistrala B7,...,B0 cu biţii b5,...,b12 ai rezultatului conversiei declanşate intr-un ciclu
precedent. Linia BUSY este menţinută la nivel logic 0 în intervalul corespunzător timpului de
conversie şi impune stări de aşteptare în desfăşurarea ciclului. La sfârşitul procesului de
conversie, precizat prin comutarea la nivel logic 1 a liniei BUSY, convertorul încarcă
magistrala B7,...,B0 cu biţii b5,...,b12 ai rezultatului conversiei efectuate în acest ciclu. Starea
magistralei este citită de SPN la sfârşitul ciclului. În al doilea ciclu (fig.4.15 a) nu se
declanşează un nou proces de conversie (HBEN=1) şi convertorul încarcă magistrala B3,...,B0

94
Sisteme de achiziţie şi prelucrare a datelor

cu biţii b1,...,b4 ai rezultatului conversiei. Starea magistralei este citită de SPN la sfârşitul

/CS

HBEN

/RD

/BUSY a)

B7–BO
5 – 12 5 – 12 1–4

/CS

HBEN

/RD
b)
/BUSY

B7–BO
5 – 12 1–4 5 – 12

Fig. 4.15 Diagramele de timp CAN ADC912 într-un SPN cu magistrala de date de 8 biţi
a- funcţionarea cu stări de aşteptare pe durata procesului de conversie;
b - funcţionarea rapidă
ciclului în curs de desfăşurare.
Conectarea tensiunii de intrare ui la intrarea VIN a convertorului analog numeric
ADC912 se realizează prin circuite cu amplificatoare operaţionale care permit ajustarea
decalajului şi câştigului în scopul etalonării convertorului (fig. 4.16).

Fig. 4.16 Circuite pentru ajustarea decalajului şi câştigul în scopul


etalonării convertorului analog numeric ADC912:
a) - circuit pentru configuraţie unipolară;
b) - circuit pentru configuraţie bipolară.
În configuraţie de CAN unipolar (fig. 4.16 a) ajustarea decalajului se realizează cu
potenţiometrul P1, iar ajustarea câştigului cu potenţiometrul P2. Având în vedere notaţiile din
figura 4.16 a) şi considerând un decalaj nul, se obţine:

95
Circuite de conversie analog – numerică

⎛ R' ⎞
u0 = ⎜ 1 + ⎟ ⋅ ui (4.36)
⎝ R" ⎠
Deoarece la sfârşitul procesului de conversie analog numerică tensiunea de la
intrarea comparatorului C este foarte mică (< 1/2 LSB), rezultă:
u0 u
= IN (4.37)
R1 + R R
Din relaţiile (4.36) şi (4.37) se obţine:

R'
1+
u IN = R" ⋅ u (4.38)
R1 i
1+
R
Din relaţia (4.38) rezultă posibilitatea ajustării câştigului în jurul valorii unitare
corespunzătoare situaţiei de calibrare.
În configuraţie de CAN bipolar (fig. 4.16 b) ajustarea decalajului se realizează cu
potenţiometrul P2, iar ajustarea câştigului cu potenţiometrul P1. Având în vedere notaţiile din
figura 4.16 b) se obţine:
u IN − U r
u'i = ⋅ R" +U r (4.39)
R' + R"
Din relaţia (4.39) rezultă:
⎛ R' ⎞ ' R'
u IN = ⎜ 1 + ⎟ ⋅ ui − ⋅Ur (4.40)
⎝ R" ⎠ R"
Deoarece R’≈ R”, termenul de decalaj din relaţia (4.40) este ajustabil în jurul valorii
Ur corespunzătoare configuraţiei de CAN bipolar. Având în vedere că raportul R’/R”
influenţează şi câştigul circuitului, se impune ajustarea decalajului cu potenţiometrul P2
înainte de ajustarea câştigului cu potenţiometrul P1.Valorile rezistenţelor R1 şi R2 din
divizorul de intrare se stabilesc în funcţie de domeniul de variaţie a tensiunii de intrare:
±2,5V; ±5V sau ±10 V.

4.4. Convertorul analog – numeric MAX187


Convertorul analog – numeric MAX187 realizează transformare valoarea unui semnal
analogic aplicat la intrare într-o valoare numerică exprimată printr-un cod binar cu lungimea
de pe 12 biţi.
Particularitatea acestui convertor constă în faptul că acest cod este transmis către
sistemul de prelucrare numerică printr-o interfaţă serială rapidă cu 3 legături. Convertorul
analog – numeric MAX187 este realizat pe principiul aproximaţiilor succesive cu un timp de
conversie de 8.5µs şi cu un timp de eşantionare de 1.5µs. Funcţionează cu o singură tensiune
de alimentare de +5V şi acceptă semnale de intrare analogice cu valori cuprinse între 0 şi 5V.
MAX187 converteşte semnalele la o rată de 75ksps (kiloeşantioane per secundă) astfel
că poate fi utilizat pentru conversia analog – numerică a semnalelor cu frecvenţa de max. 35
kHz. Un ceas extern accesează datele de la interfaţă, care comunică fără echipamente
exterioare cu majoritatea procesoarelor de semnal şi microcontrolere. Interfaţa este
compatibilă cu SPI™, QSPI™, and Microwire™.
MAX187 are o memorie integrată pe cip. Circuitul consumă 4.5 mW şi doar 10 µW în
stare de nefuncţionare. Caracteristicile de curent alternativ şi puterea consumată foarte mică

96
Sisteme de achiziţie şi prelucrare a datelor

combinate cu uşurinţa în folosire şi mărimea mică fac aceste convertoare să fie ideale pentru
aplicaţii de măsurare, senzori sau circuite unde puterea consumată şi spaţiul sunt importante.
În fig.4.14. este prezentată structura internă şi configuraţia pinilor circuitului MAX187
iar în tabelul 4.1. descrierea pinilor acestuia.

6 DOUT
REGISTRU
GND 5 DE IEŞIRE 8 SCLK
REF -

AV=1,638 DAC
10 k 4,096 V
REFERINŢĂ
2,5 V REF +
REGISTRU
APROXIMAŢII
REF 4 SUCESIVE
C
AIN 2 S&H

7 /CS
LOGICA DE CONTROL
ŞI TEMPORIZARE 3 /SHDN
VDD 1

VDD 1 8 SCLK

AIN 2 7 /CS
MAXIM
/SHDN 3 MAX187 6 DOUT
MAX189
REF 4 5 GND

Fig.4.17. Structura internă şi conexiunile convertorului analog - numeric MAX 187


Tabel 4.1
Nr. Pin Nume Descriere
1 VDD Alimentare, +5V
2 AIN Semnal intrare analog de eşantionare, valori cuprinse între 0 şi VREF
3 /SHDN Semnal de oprire cu 3 nivele. Pentru un nivel 0 logic al semnalului,
MAX187 are un consum de maxim 10µA. Pentru un nivel 1 logic al
semnalului se activează referinţa internă iar pentru neconectarea acestei
intrări se dezactivează referinţa internă şi se activează referinţa externă.
4 REF Tensiunea de referinţă – determină intervalul tensiunii de tip analog şi
funcţii cum ar fi o ieşire de 4.096V cu referinţa internă activă. REF se
foloseşte şi ca +2.5V la intrarea VDD pentru un semnal de referinţă exact.
5 GND Pin de masă
6 DOUT Ieşire de date serială. Datele se schimbă pe frontul descrescător al
semnalului SCLK.
7 /CS Activ pe 0 iniţiază conversia pe frontul descrescător. Când CS este 1,
DOUT are impedanţă mare.
8 SCLK Intrare de ceas serială. Temporizează datele cu o rată de până la 5MHz.

97
Circuite de conversie analog – numerică

MAX187 utilizează o intrare de tipul “primeşte şi ţine” cu rol de circuit de eşantionare


şi memorare şi nu este necesar un condensator extern pentru acest chip. Figura de mai jos
arata chip-ul MAX187 în cea mai simplă configuraţie. MAX187 converteşte semnalele de
intrare în gama 0V şi VREF în 10µs, inclusiv timpul de achiziţie. Referinţa internă este la
4,096V. Referinţa externă poate fi de la +2.5V la VDD.
4,7 μF
+
0,1 μF

1 8
+5V VDD SCLK
Intrare analogică 2 AIN 7 Interfaţă serială
/CS
0 ... + 5 V
Intrare de blocare 3 /SHDN 6
DOUT
ON OFF
4
Referinţă externă REF GND 5
4,7 μF MAX187

Fig.4.18. Schema de utilizare a convertorului MAX187


Interfaţa serială are nevoie de doar 3 linii digitale SCLK, CS, şi DOUT, şi asigură
interfaţarea cu diverse tipuri de microprocesoare. Convertorul are două moduri de operare:
normal şi oprit determinate de nivelul logic al semnalului /SHDN astfel pe nivel logic 0 al
acestui semnal circuitul nu mai funcţionează şi se reduce curentul de alimentare sub 10µA, în
timp ce pe nivel logic 1 al acestuia sau cu semnal flotant circuitul funcţionează. O conversie
este iniţiată de frontul descrescător al semnalului /CS. Rezultatul conversiei este disponibil la
ieşirea serială DOUT în format serial unipolar. Un bit 1 semnificând sfârşitul conversiei
(EOC), urmat de biţii de date (bitul cel mai semnificativ primul), formează şirul de date.
MAX187 funcţionează în două stări: referinţă internă şi referinţă externă. Selectarea referinţei
se face prin semnalul /SHDN.
Schema de utilizarea convertorului analog – numeric MAX187 este prezentată în
fig.4.18. iar diagrama de semnale este prezentată în fig.4.19.
Declanşarea conversiei (semnalul general Start Of Conversion, SOC) precum şi
procesul de transfer al datelor sunt controlate prin intermediul intrărilor digitale /CS şi SCLK.
Odată cu tranziţia 1 → 0 a semnalului /CS începe secvenţa corespunzătoare unei conversii ce
constă în: trecerea în stare de memorare a circuitului de eşantionare şi memorare (S&H),
declanşarea propriu-zisă a conversiei, trecerea ieşirii DOUT din starea de înaltă impedanţă la
nivel 0 logic. Intrarea SCLK trebuie menţinută în 0 logic atâta timp cât durează conversia
astfel ca datele obţinute în timpul conversiei să fie memorate într-un registru intern. Sfârşitul
conversiei (End Of Conversion, EOC) este semnalizată prin tranziţia 0 → 1 semnalului
DOUT şi această tranziţie poate fi utilizată pentru începerea secvenţei de citire a rezultatului.
Citirea codului binar de 12 biţi poate fi realizată oricând după acest moment prin intermediul
semnalului SCLK. Primul impuls din trenul de impulsuri reprezentând semnalul SCLK
determină tranziţia semnalului DOUT, al doilea impuls determină transmiterea pe ieşirea
DOUT a bitului cel mai semnificativ (MSB) adică a bitului B11 şi în continuare fiecare tact
determină transmiterea a câte unui bit. Deoarece lungimea codului reprezentând rezultatul
conversiei este de 12 biţi sunt necesare 13 impulsuri pe intrarea SCLK. Dacă în continuare

98
Sisteme de achiziţie şi prelucrare a datelor

sunt aplicate impulsuri pe intrarea SCLK cu menţinerea semnalului /CS pe nivel 0 logic, pe
ieşirea DOUT sunt transmise zerouri, fără a afecta funcţionarea convertorului.

/CS

1 4 8 12
SCLK

DOUT B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0

EOC
Durată EOC Trimite
INTERFAŢĂ
conversie
zerouri
Conversie Conv
STARE Eşantionare
CONVERTOR 0 1
8,5 μs 0 μs 0 μs 0,5 μs
DURATĂ 12 x 0,25 μs = 3,25 μs
MINIMĂ
CICLU Total 12,25 μs

Fig.4.19. Diagrama de semnale ale convertorului analog – numeric serial MAX187


Înainte de a începe o nouă conversie este necesară o tranziţie 0 → 1 şi menţinerea pe
nivel 1 logic a semnalului /CS o durată de 0,5 μs după care printr-o tranziţie 1 → 0 a acestui
semnal începe secvenţa corespunzătoare unei noi conversii.

99
Circuite de eşantionare şi memorare

CAPITOLUL V
Circuite de eşantionare şi memorare
Un circuit de eşantionare şi memorare (CEM) realizează extragerea (prelevarea), la un
momentdat a valorii unui semnal analogic (tensiune electrică) de intrare ui, memorarea acestei
valori ue şi menţinerea constantă a acesteia la intrarea unui circuit de prelucrare (convertor
analog-numeric CAN) pe toată durata efectuării prelucrării (fig.5.1)
E/M

Ui Ue U semnal de intrare ui
CEM uei

E/M
semnal esantionat ue

Fig.5.1. Circuitul de eşantionare şi memorare: reprezentare funcţională şi


diagrame de timp
În starea de eşantionare impusă prin nivelul ridicat (1 logic) al semnalului de comandă
E / M , CEM funcţioneaza ca repetor, semnalul la iesire ue urmărind semnalul de la intrare ui.
Frontul de coborâre al semnalului de comandă E / M determină memorarea valorii tensiunii de la
intare ui de la momentul corespunzător frontului. Această valoare a tensiunii de intrare este
menţinută la ieşirea CEM pe intervalul corespunzător stării de memorare impus prin nivelul
coborât (0 logic) al semnalului de comandă E / M .
Aceste circuite de eşantionare şi memorare se utilizează atât în SAD cât şi în sistemele de
distribuţie de date.
Astfel într-un SAD, ieşirea CEM este conectată la intrarea CAN. În intervalul
corespunzător efectuării unei conversii analog-numerice, CEM este comandat în starea de
memorare pentru a menţine constantă tensiunea la intrarea convertorului analog-numeric. Astfel,
se obţine mărirea valorii limitei superioare a domeniului de frecvenţe ale semnalului de intrare la
care convertorul analog-numeric este utilizat la rezoluţia maximă dată de numarul de biţi ai
acestuia. Se precizează că acest deziderat este atins dacă tensiunea de la intrarea convertorului
analog-numeric nu se modifică în intervalul efectuării conversiei cu mai mult de ±1/2 LSB.

5.1. Caracteristicile circuitului de eşantionare şi memorare (CEM)


Se prezintă în continuare caracteristicile unui CEM în corelaţie cu procesul de achiziţie de
date pe baza caracteristicii de funcţionare prezentată în fig.5.2.
Erorile de decalaj şi câstig ale CEM în starea de eşantionare trebuie apreciate în raport cu
rezoluţia conversiei analog-numerice * .
Timpul de apertură (creştere) tap, reprezintă intervalul dintre frontul de comandă al stării
de memorare pentru CEM şi trecerea efectivă a acestuia în starea de memorare; are semnificaţia

*
număr de biţi ai cuvântului binar furnizat de CAN sau valoarea treptei tensiunii de intrare corespunzatoare
modificării valorii bitului cel mai puţin semnificativ LSB

100
Sisteme de achiziţie şi prelucrare a datelor

MEMORARE
MEMORARE EŞANTIONARE
ESANTIOANRE

E/M t

ui ui
ue alterare semnal ue
t

tap ts
t ac

Fig.4.2. Caracteristica de funcţionare a unui CEM


unei inerţii a circuitului la aplicarea comenzii. Rezultă că, în procesul de achiziţie, fronturile de
comandă ale stării de memorare trebuie să fie decalate cu tap inainte faţă de momentele impuse de
prelevare a eşantioanelor. Instabilitatea timpului de apertura tap reprezintă limita maximă a
variaţiilor aleatoare ale timpului de apertură. Rezultă ca valorile memorate ale eşantioanelor sunt
afectate de erori cu limita maxima:
ε max = Pmax ⋅ tap (5.1)
unde Pmax reprezintă panta maxima a semnalului de intrare ui.
În procesul de achiziţie, eroarea εmax trebuie să satisfacă relaţia:
1
ε max = Pmax ⋅ tap ≤ LSB (5.2)
2
unde LSB este o mărime caracteristică a CAN conectat la ieşirea CEM. Rezultă că instabilitatea
timpului de apertură limitează superior domeniul de frecvenţe ale semnalului de intrare ui la care
CEM permite utilizarea unui CAN la rezoluţia maximă.
Pentru o apreciere cantitativă a acestei limitări se consideră semnalul de intrare:
ui = ± U max ⋅ sin( 2 ⋅ π ⋅ f ⋅ t ) (5.3)
unde valorile ±Umax corespund domeniilor de variaţie ale tensiunii de la intrarea şi ieşirea CEM,
precum şi la intrarea CAN şi rezultă:
2 ⋅ U max U max
1 LSB = = N −1 (5.4)
2N 2
unde N reprezinta numărul de biţi ai convertorului analog-numeric.
Panta maximă a semnalului de intrare ui este:
Pmax = 2πf ⋅U max (5.5)
astfel că pe baza relaţiilor (5.2), (5.4), (5.5) rezultă succesiv:

101
Circuite de eşantionare şi memorare

1 U
2πf ⋅ U max ≤ ⋅ Nmax
2 2 −1
(5.6)
1
f ≤
π ⋅ 2 N + 2 ⋅ tap
Timpul de stabilizare ts la comutarea CEM în starea de memorare (fig.5.2), reprezintă intervalul
dintre momentul de sfârşit al timpului de apertură şi momentul reducerii amplitudinii oscilaţiilor la iesirea
CEM sub valoarea 1/2 LSB. Un proces de conversie-analog numerica se declanşeaza numai după
stabilizarea ieşirii CEM în starea de memorare, adică după sfârşitul timpului de stabilizare ts.
Modificarea tensiunii ue de la ieşirea CEM în starea de memorare este caracterizată prin
panta de variaţie a acesteia (ue/t), numită viteza de alterare. Alterarea tensiunii ue de la ieşirea
CEM în starea de memorare până în momentul terminării conversiei analog-numerice trebuie să
fie mai mică de 1/2 LSB.
Timpul de achizitie tac (fig.5.2) reprezintă intervalul de timp dintre momentul aplicării
frontului de comandă al stării de eşantionare şi momentul în care ieşirea CEM urmăreşte intrarea
acestuia cu o precizie dată (eroare mai mică de 1/2 LSB). Acest timp de achizitie apare datorită
intârzierii la comanda de comutare în starea de eşantionare, datorită vitezei limitate de variaţie a
tensiunii de la ieşirea CEM precum şi procesului oscilatoriu premergător stabilizării tensiunii de
la ieşirea CEM. Timpul de achiziţie reprezintă o caracteristică importantă a CEM care limitează,
în procesul de achiziţie, frecvenţa de eşantionare (frecvenţa de culegere a valorii semnalelor).

5.2. Ansamblul CEM - CAN


Se prezintă modul de comandă al ansamblului CEM - CAN în corelaţie cu caracteristicile
celor două componente ale ansamblului.
ui ue b1b2 ... b N
CEM CAN
START STARE
E/M CONVERSIE CONVERSIE
a)
E/M t
START
CONVERSIE t
STARE
CONVERSIE t

b1b2 ... b N t
t t2 t3 t4
≥ t ap + t s 1 Tc ≥ tac

b)

Fig.5.3. Ansamblul CEM - CAN: a) - structura de principiu: b) - diagramele de timp


ale semnalelor de control

Semnalele de control ale CAN (fig.5.3.a) sunt:

102
Sisteme de achiziţie şi prelucrare a datelor

• E/M semnal de control al circuitului de eşantionare şi memorare astfel pentru E/M = 1 se


realizează eşantionarea semnalului şi pentru E/M = 0 se realizează memorarea semnalului
• START CONVERSIE care permite declanşarea procesului de conversie analog-numerică
prin fronturile crescătoare ale acestui semnal;
• STARE CONVERSIE care indică prin nivelul logic 1 efectuarea de către CAN a unei
conversii şi deci prin frontul descrescător indică sfârşitul conversiei analog-numerice.
• b1b2...bN reprezintă codul numeric obţinut ca rezultat al unei conversii analog-numerice
În scopul achiziţiei unui eşantion (realizării unei conversii analog-numerice), CEM este
comandat în starea de memorare la momentul t1 (fig.5.3.b). Declanşarea conversiei analog-
numerice se realizează la momentul t2, după stabilizarea ieşirii CEM adică:
t2 − t1 ≥ tap + t s (5.7)
Momentul t3 reprezintă sfârşitul convesiei analog-numerice şi este precizat de comutarea
la nivel 0 logic a semnalului STARE CONVERSIE. Rezultă:
t3 − t2 = TC (5.8)
unde TC este timpul de conversie al CAN.
La momentul t3, CAN încarcă liniile de ieşire b1 b2 ... bN cu rezultatul conversiei şi se
comandă CEM în starea de eşantionare. Această stare este menţinută până la momentul t4 astfel
încât:
t4 − t3 ≥ tac (5.9)
unde tac este timpul de achiziţie al CEM.
Perioada de achiziţie minimă Tacmin caracteristică ansamblului CEM - CAN reprezintă
intervalul de timp minim între momentele de prelevare a două eşantioane consecutive. Din
relaţiile (5.7), (5.8), (5.9) rezultă:
Tac min = t4 − t1 = tap + t s + TC + tac (5.10)

5.3. Principii constructive ale CEM


Pentru construcţia CEM se utilizează amplificatoare operaţionale AO, condensatoare ca
elemente de memorare şi comutatoare prin care se realizează comanda stării de eşantionare şi
respectiv memorare (fig.5.4).

M
K
AO1 AO2
E ue
ui
C

E/M

Fig.5.4. Structura de principiu a unui CEM


Amplificatorul operaţional de intrare AO1 asigură o impedanta mare de intrare a CEM şi
impedanţa mică pentru încărcarea condensatorului C în starea de eşantionare ceea ce conduce la
un timp de achiziţie redus (constanta de timp de încărcare a condensatorului Ti = f (REAO C) unde

103
Circuite de eşantionare şi memorare

REAO este impedanţa de ieşire a AO1.


Amplificatorul operaţional de ieşire AO2 este realizat cu tranzistoare cu efect de câmp
(FET) astfel încât în circuitul de intrare se obţine o impedanţă foarte mare conducând la
descărcarea lentă a condensatorului (constanta de timp de descarcare a condensatorului Td = f
(RIAO,C), unde RIAO este impedanţa de intrare a AO2 şi deci la o viteză de alterare redusă.
Valorile capacităţii condensatorului de memorare C se aleg în funcţie de caracteristicile
aplicaţiei în care se utilizează respectivul CEM. Astfel, creşterea valorii capacităţii
condensatorului de memorare conduce la creşterea timpului de achiziţie al CEM, dar la scăderea
vitezei de alterare a tensiunii de ieşire în starea de memorare. Scăderea valorii capacităţii
condensatorului de memorare conduce la scăderea timpului de achiziţie, dar la creşterea vitezei
de alterare a tensiunii de ieşire în starea de memorare. Se utilizează o valoare care realizează
astfel un compromis între cele două caracteristici timp de achizitie şi respectiv viteză de alterare.
Reducerea erorilor de decalaj ale CEM se poate obţine prin includerea celor două
amplificatoare operationale AO1 şi AO2 într-o buclă de reacţie globală, conform fig. 5.5.
R

K M
AO AO2
1 E
ue
u
i
C
Cd

Fig. 5.5. Structura de principiu a unui CEM cu buclă de reacţie globală

Efectul principal al utilizării reacţiei globale constă practic în eliminarea erorilor de


decalaj corespunzătoare amplificatorului de ieşire AO2. Rezultă că în cazul structurii de principiu
din fig.5.4, erorile de decalaj ale CEM sunt date de amplificatorul operaţional de intrare AO1,
care trebuie ales cu deriva redusă a tensiunii de decalaj. Se precizează că în starea de memorare
cele două amplificatoare lucrează separat în configuraţii de repetoare.

104
Sisteme de achiziţie şi prelucrare a datelor

CAPITOLUL VI
Circuite pentru multiplexarea datelor
6.1. Achiziţia cu rate diferite a datelor
Dintre metodele de multiplexare cea mai des utilizată este multiplexarea prin
divizarea timpului sau multiplexarea în timp care presupune alocarea unei resurse comune
(canal de comunicaţie, circuit de măsura sau prelucrare) pentru mai multe surse de semnal - în
acest caz elemente sensibile - fiecare fiind conectată la resursă o anumită unitate de timp.
Există situaţii în care se impune achiziţia de semnale de măsura (date) atât analogice cât şi
digitale din diverse procese sau instalaţii industriale printre care se numără şi procesele
respectiv instalaţiile miniere cum ar fi procesele respectiv instalaţiile de transport pe
orizontală sau verticală, complexele mecanizate de tăiere şi susţinere, instalaţiile de producere
a aerului comprimat, instalaţiile de ventilare şi supravegherea aerajului etc. Toate aceste
procese sau instalaţii reclamă atât achiziţia de date corespunzătoare semnalelor de măsură
analogice cât şi de date corespunzătoare unor semnale de tip contact cărora li se atribuie cele
două nivele binare 0 şi 1. În acest caz se utilizează atât multiplexoare analogice cât şi
multiplexoare digitale, structura sistemului de achiziţie fiind prezentată în fig.6.1.
MULTIPLEXOR

date
ANALOGIC

ESA1
A FTJ CAN magistrala
ESA2 de
control
ESAn
magistrala
de
MULTIPLEXOR
date
date ANALOGIC
ESN1 circuit de conditionare
date
ESNn circuit de conditionare

Fig.6.1. Structura unui sistem de achiziţie cu multiplexare în timp

La utilizarea sistemelor de achiziţie cu multiplexare în timp pot să apară două


probleme de interes şi anume: necesitatea ca anumite surse de semnal să fie apelate în vederea
achiziţiei datelor cu o rată mai mare decât celelalte surse componente ale sistemului respectiv
ca numărul surselor de semnal să fie mai mare decât 16, acest număr reprezentând numărul
maxim de intrări ale unui multiplexor integrat.
Rezolvarea problemei referitoare la ratele diferite de achiziţie, rate ale căror valori
sunt impuse fie de frecvenţa diferită a semnalelor acestor surse, fie de importanţa deosebită a
informaţiilor acestora poate fi făcuta prin program (soft) fie printr-o soluţie constructivă
(hard). Rezolvarea soft constă în realizarea ratelor respective de conectare a surselor prin
transmiterea, în cadrul unui ciclu de măsurare, de mai multe ori a codurilor corespunzătoare
pe magistrala de control.
Rezolvarea hard constă fie în cuplarea de mai multe ori a sursei respective la
multiplexor, fie în gruparea surselor ce reclamă o rată de apelare mai mare la un alt
multiplexor care va fi comandat cu o frecvenţă multiplu prin subcomutaţie. În fig.6.2 pentru
fiecare eşantionare corespunzătoare intrărilor 7÷13 sunt realizate 8 eşantionări
corespunzătoare intrărilor 2÷6, respectiv 16 eşantionări corespunzătoare intrării 1 la care se

105
Circuite pentru multiplexare a datelor

consideră aplicată sursa (elementul


1
2 sensibil) ce furnizează semnalele de
intrari 3 iesire frecvenţa cea mai mare. Intrările
4 MUX 1
( ES ) 7÷13 sunt considerate a corespunde
8:1
5 elementelor sensibile cele mai lente.
6 Prin schema de principiu prezentată
7 în fig. 6.2 adică gruparea
8 elementelor sensibile după viteza de
9 selectie
intrari 10 MUX 2 intrare variaţie a mărimilor primare se
( ES ) 11 8:1 elimina posibilitatea pierderii de
12 informaţii utile respectiv eliminarea
13 numarator
selectie
măsurării aceleiaşi valori în cazul
intrare numarator semnalelor lent variabile in timp.
f0 Când numărul de elemente
f0/8 divizor oscilator sensibile (surse de semnal)
frecventa
depaseste numărul de intrări
disponibile ale unui multiplexor
Fig.6.2. Subcomutaţia utilizată în schemele de integrat (max 16) şi toate sursele de
multiplexare semnal necesită aceiaşi rată de
eşantionare se pot construi scheme
de achiziţie de date de tip paralel sau piramidal.

6.2. Mărirea numărului de intrări ale circuitului de multiplexare


Schema de achiziţie cu structura de tip paralel pentru extensia numărului de intrări la
64 prezentată în fig.6.3 utilizează 4 multiplexoare de tip 16 la 1 (16:1) a căror validare şi
comandă este realizată prin intermediul unui numărător de 6 biţi (26 = 64) care numără
impulsurile de frecvenţa f0 furnizate de un oscilator şi a unui decodificator 2/4 biţi. Cei mai
semnificativi doi biţi ai cuvântului binar de 6 biţi obţinut la ieşirea numărătorului sunt utilizaţi
pentru validarea unuia din cele patru multiplexoare (22 = 4), selecţia acestuia fiind realizată de
una din cele patru ieşiri ale decodificatorului 2/4, iar selecţia intrării corespunzătoare pentru
fiecare multiplexor selectat este realizată cu următorii 4 biţi ai cuvântului binar (24 = 16)
2 biti (semnificativi)

f0
oscilator numarator decodificator
6 biti 2/4
4 biti selectie
4
selectie selectie selectie validare
validare
1 grup 1 2 validare 3 grup 4
validare grup 3
1 17 grup 2 49
2 18 34 50
MUX MUX MUX MUX
16:1 intrari 16:1 intrari 16:1 intrari 16:1
16 32 48 64
intrari

iesire
Fig.6.3. Structura paralelă de multiplexare în timp pentru 64 semnale de intrare

106
Sisteme de achiziţie şi prelucrare a datelor

conform tabelului 6.1. Pentru selectarea tuturor celor 64 de semnale de intrare este deci
necesară numărarea a 64 de impulsuri cu frecvenţa f0 furnizate de către oscilator.
Tabel 6.1.
Intrare
b5 b4 b3 b2 b1 b0 Grup selectat
selectată
0 0 0 0 0 0 1
0 0 0 0 0 1 2 1
… … … … … … …
0 0 1 1 1 1 16
0 1 0 0 0 0 1
0 1 0 0 0 1 2
2
… … … … … … …
0 1 1 1 1 1 16
1 0 0 0 0 0 1
1 0 0 0 0 1 2
3
… … … … … … …
1 0 1 1 1 1 16
1 1 0 0 0 0 1
1 1 0 0 0 1 2
4
… … … … … … …
1 1 1 1 1 1 16

Un inconvenient al structurii paralele este dat de faptul că fiind conectate împreună


toate ieşirile multiplexoarelor, formând un SAU cablat, curenţii de comutaţie şi capacităţile de
ieşire se însumează şi un defect sau un scurtcircuit la ieşirea unuia din cele 4 multiplexoare
determină anularea funcţionării întregii structuri de achiziţie.
Acest inconvenient este rezolvat de structura piramidală în care în funcţie de numărul
de semnale de intrare pot exista două sau mai multe nivele, fiecare din acestea fiind
reprezentate de multiplexoare sau alte circuite de selecţie. În fig.6.4 este prezentată schema de
principiu a unui SAD cu structură piramidală la care, prin utilizarea comutatoarelor analogice
MMC 4066 la ieşirile multiplexoarelor, comutatoare ce formează cel de-al doilea nivel al
structurii, este posibilă utilizarea conexiunii SAU cablat fără posibilitatea apariţiei
inconvenientele menţionate în cazul structurii paralele. Conexiunea SAU cablat formează cel
de-al treilea nivel al structurii. Utilizarea acestei conexiuni este posibilă datorită
caracteristicilor statice ale comutatoarelor analogice şi în primul rând rezistenţei
corespunzătoare stării închis (RON) care este relativ constantă pe toată plaja semnalului de
intrare şi cu valoarea tipică de 80 Ω, respectiv rezistenţei corespunzătoare stării deschis (ROFF)
care este foarte mare astfel că astfel că prin acestea se stabileşte un curent rezidual tipic de 10
pA (10-11 A).
Deschiderea acestor comutatoare se face sub comanda impulsurilor de frecvenţă f
furnizate de un „numărator Johnson” de 4 biţi, sincron cu impulsurile de numărare aplicate

107
Circuite pentru multiplexare a datelor

CIRCUIT DE PRELUCRARE NUMERICĂ Nivel


3
a

Numărător Jonson C1 C2 C3 C4
MMC 4066
Nivel
b c d e
2

CLK MMC 4518 Nivel


CLK MMC 4518 CLK MMC 4518 CLK MMC 4518
1
Numărător Numărător Numărător Numărător
#1 #2 #3 #4

A B C D Out #1 A B C D Out #2 A B C D Out #3 A B C D Out #4

Multiplexor Multiplexor Multiplexor Multiplexor


#1 #2 #3 #4

0 1 14 15 0 1 14 15 0 1 14 15 0 1 14 15

Fig.6.4. Schema de principiu a unui sistem de achiziţie cu structură piramidală pe trei nivele

108
Sisteme de achiziţie şi prelucrarea a datelor

numărătoarelor binare MMC 4518. Forma acestor impulsuri de comandă este prezentată în
fig.6.5.
T0=1/f 0 Sunt utilizate 4 numărătoare
a binare ce formează cuvântul de selecţie al
t intrării fiecăruia dintre cele 4
multiplexoare ce formează nivelul 1 al
b T=1/f t structurii piramidale. Fiecare din cele 4
multiplexoare sunt de tipul 16 : 1 astfel
c t că numărul total al semnalelor
multiplexate este în cazul acestei scheme
d t de 64. Deoarece nu există restricţii
majore în ceea ce priveşte realizarea
e conexiunii SAU cablat se poate realiza o
t
extensie a numărului de intrări
multiplexate, acesta fiind determinat de
Fig.6.5. Diagrama de funcţionare numărul de multiplexoare şi numărul de
comutatoare analogice utilizate. Evident
că o extensie a numărului de intrări impune şi adăugarea corespunzătoare de ieşiri ale
numărătorului Johnson
Schema prezintă şi avantajul că nu impune restricţii asupra vitezei de operare a
multiplexoarelor având în vedere că semnalele de intrare împreună cu semnalele de comanda
sunt aplicate consecutiv celor patru multiplexoare. Fiecare impuls primit de la oscilator este
convertit intr-o perioada T = 4xT0 astfel că impulsurile de perioadă T numărate de către
numărătoarele MMC 4518 vor forma la ieşirile acestora cuvintele de selecţie ale semnalelor
de intrare corespunzătoare pe rând pentru cele patru multiplexoare concomitent cu
deschiderea comutatorului MMC 4066 corespunzător. Datorită modului de formare a
impulsurilor de comandă a, b, c, d, selectarea fiecărui multiplexor se va realiza la fiecare patru
impulsuri ale semnalului de frecvenţă f0.

109
Amplificatoare cu câştig programabil

CAPITOLUL VII
Amplificatoare cu câştig programabil (PGA)
7.1. Rolul amplificatorului cu câştig programabil
Amplificatorul cu câştig programabil permite mărirea gamei dinamice
corespunzătoare semnalului analogic de intrare astfel încât să fie posibilă utilizarea aceluiaşi
sistem de achiziţie de date (SAD) pentru un număr cât mai mare de semnale de intrare. Gama
dinamică (GD) a semnalului de intrare se exprimă în funcţie de valoarea maxim posibilă a
acestui semnal ui.max şi valoarea minimă impusă a se detecta ui.min.det, prin relaţia:

GD = 20 log u i.max ; [GD] = dB (7.1)


u i.min .det
Presupunând de exemplu utilizarea unui CAN de 12 biţi (N=12) în structura unui SAD
rezultă posibilitatea reprezentării numerice a unui semnal de intrare ce poate lua valori în
intervalul ui.max = FSR (Full Scale Range, ce de regulă este dat de valoarea tensiunii de
referinţă a CAN) şi ui.min.det = 1 LSB adică o gamă dinamică a semnalului de intrare:
FSR N
GD = 20 log = 20 log 2 = 20 log 212 ≈ 72 dB (7.2)
1 LSB 1
Considerând pentru CAN ca FSR = 10 V şi N =12 biţi se obţine valoarea minim
detectabilă a semnalului de intrare ui.min.det :
10 10 10
u i. min . det = = 12 = ≈ 2,44 mV (7.3)
2N (nivele logice) 2 4096
Dacă semnalul de intrare ui < 10 mV fără utilizarea amplificatorului cu câştig
programabil rezultă posibilitatea detectării numai a 4 nivele logice (10 mV / 2,44 mV = 4,096
nivele logice). Utilizând însă amplificatorul din structură programat pentru o amplificare A =
103, valoarea minim detectabilă scade la 2,44 μV cu acoperirea întregului domeniu de variaţie
a mărimii de intrare pentru care se pot stabili toate cele 2N = 4096 nivele logice.
Se prezintă în continuare un alt exemplu cu scopul de a preciza funcţia
amplificatorului în cadrul SAD. Se consideră astfel un semnal de intrare ui ce poate avea
valori în domeniul (2-12 - 22) V, adică ui.max = 4 V şi ui.min.det = 0,244 mV şi pentru
reprezentarea numerică a semnalului de intrare se impun erori mai mici decât ε = 0,25 %.
Rezultă astfel că pentru acoperirea gamei dinamice a semnalului de intrare se impune
utilizarea unui CAN cu rezoluţia de 14 biti:

rez . CAN = INT ( log 2 u i.max ) = 13,9 biti (7.4)


u i.min .det .
Din punctul de vedere al erorilor la reprezentarea numerică a semnalului de intrare, se
impune ca eroarea de cuantizare a CAN să fie mai mică decât ε = 0,25 %, aceasta eroare de
cuantizare fiind dată de relaţia:
1
LSB
2 1
= N ≤ε ⇒ N ≥8 (7.5)
FSR 2
Astfel pentru ε = 0,25 %, rezultă din relatia (7.5), N ≥ 8 ceea ce indică posibilitatea
utilizării unui CAN cu rezoluţia de 8 biţi, rezoluţie care însă nu acoperă gama dinamică a
semnalului de intrare.

110
Sisteme de achiziţie şi prelucrare a datelor

Dacă însă în locul CAN de


Tensiunea Tensiunea 14 biţi se utilizează un CAN de 8
Amplificarea
de intrare [ V ] de intrare [ V ] biţi şi un amplificator programabil
cu 7 valori programabile ale
22 …20 4 …1 20 câştigului, conform tabelului 7.1
0
2 …2 -2
1 …0,25 2 2 rezută că fiecare eşantion al
semnalului analogic de intrare poate
2-2 …2-4 0,25 …0,0625 24 fi reprezentat prin 8 biţi
corespunzători rezultatului
2-4 …2-6 ... 26 conversiei şi prin 3 biţi ce codifică
2-6 …2-8 ... 28 valoarea programată a amplificării.
Rezultă astfel că prin
-8 -10 10
2 …2 ... 2 utilizarea amplificatorului cu câştig
programabil în structura SAD este
2-10 …2-12 ... 212 posibilă reprezentarea numerică cu
Tabel 7.1. un CAN cu numar de biţi redus (8
în loc de 14) şi cu codificarea
eşantioanelor de asemenea cu numar de biţi redus (11 = 8 +3 biţi în loc de 14 biţi).

7.2. Principii de realizare ale amplificatoarelor cu câştig programabil comandate


Varianta cea mai simplă de realizare a unui amplificator cu câştig programabil
(Programmable Gate Amplifier, PGA)
1/8 R S1
constă în utilizarea unui amplificator
1/4 R S2 operaţional în conexiune inversoare, un
R1 set de rezistenţe ponderate binar şi un
1/2 S3 R2
set de comutatori realizaţi de regulă cu
ui R S4 tranzistoare cu efect de câmp
+ ue
A comandaţi în mod corespunzător
- (fig.7.1)
Circuit pentru Având în vedere amplificarea
comand
comutatorilor globală a unui AO în configuraţie
inversoare se obţine relaţia tensiunii de
cuvant binar de ieşire ue:
Fig.7.1. PGA în configuraţie inversoare R2
ue = − ⋅ ui (7.6)
R1
În relaţia (7.6) rezistenţa de intrare R1 depinde de poziţia în care se află setul de
comutatoare S1 ... S4, iar această rezistenţă poate fi exprimată binar astfel:
1
R1 = (7.7)
8 4 2 1
S1 ⋅ + S2 ⋅ + S3 ⋅ + S4 ⋅
R R R R

Considerând R2 = R şi amplificarea în valoare absolută:


R2 R
A = = (7.8)
R1 R1
cei 15 factori de amplificare se obţin conform tabelului 7.2.

111
Amplificatoare cu câştig programabil

Structura circuitului din


Valoarea fig.7.1 este o formă de convertor
S1 S2 S3 S4 Valoarea lui R1 numeric-analogic multiplicator şi
amplificării│A│
prezintă avantaj pentru aplicaţiile
0 0 0 0 * * unde este necesar un reglaj în
0 0 0 1 R 1 trepte unitare ale amplificării.
Valoarea amplificării este dată de
0 0 1 0 R/2 2 însăşi cuvântul binar aplicat
0 0 1 1 R/3 3 circuitului de comandă.
Dezavantajul schemei constă în
0 1 0 0 R/4 4 eroarea de care este afectată
amplificarea, datorită rezistenţei
0 1 0 1 R/5 5 finite în regim de conducţie a
0 1 1 0 R/6 6 comutatoarelor cu FET cuprinsă în
mod obişnuit între 100Ω si 500Ω.
0 1 1 1 R/7 7 Dacă eroarea care afectează
1 0 0 0 R/8 8 amplificarea trebuie să fie mai
mică de 0,01% este necesar ca
1 0 0 1 R/9 9 valorea lui R/8 să fie cuprinsă între
1 şi 5 MΩ ceea ce implică mărirea
1 0 1 0 R/10 10
corespunzătoare a celorlalte
1 0 1 1 R/11 11 rezistenţe. Asemenea valori nu
sunt însa compatibile cu alţi
1 1 0 0 R/12 12 parametri ai circuitului cum ar fi:
1 1 0 1 R/13 13 nivelul de zgomot, deriva de cc
etc.
1 1 1 0 R/14 14 Utilizarea tranzistoarelor cu
efect de câmp de comutaţie de tip
1 1 1 1 R/15 15
MOS atenuează acest dezavantaj
Tabelul 7.2 deoarece acestea au rezistenţă în
regim de conducţie sub 50 Ω.
În fig.7.2 este prezentată schema de realizare a unui amplificator programabil cu
impedanţă foarte mare la intrare în comparaţie cu structura prezentată anterior. Amplificatorul
este realizat în configuraţie neinversoare cu amplificarea dată de relaţia (7.9):
ui
+AO ue
- Tabel 7.3.
MMC 4051 10 40 90
k k k R2 b1 b0 A
0
0 0 1
COM 1
2 0 1 2
INH 3 1 0 5
C B A 10 10 10 R1
k k k 1 1 10

b1 b0

Fig.7.2. Amplificator programabil neinversor

112
Sisteme de achiziţie şi prelucrare a datelor

R2
A =1+ (7.9)
R1
iar circuitul de comandă şi comutatoarele sunt realizate cu tranzistoare MOS prin utilizarea
circuitului MMC 4051 (CMOS) care este un multiplexor-demultiplexor analogic cu 8 canale.
Pe baza relaţiei (7.9) şi având în vedere valoarea rezistenţelor conectate prin
intermediul pinului COMMON IN/OUT al MMC 4051 la intrarea neinversoare a AO rezultă
amplificările conform tabelului 7.3 şi evident că prin alegerea de valori corespunzătoare
pentru rezistenţele din schemă se pot obţine şi alţi factori de amplificare.

7.3. Principii de realizare a PGA autoreglabile


Se impune în multe aplicaţii ca amplificarea PGA să se modifice automat, permiţând
menţinerea într-o anumită gamă de valori a semnalului de ieşire indiferent de valorile
semnalului de la intrarea acestuia. Prin modificarea automată a amplificării se elimină
controlul asupra acesteia a SPN la care întreruperea corespunzătoare poate fi utilizată în alte
scopuri. Valoarea amplificării după ce a fost stabilită prin intermediul circuitului de
autoreglare poate fi utilizată, dacă este cazul, în SPN sub formă de cuvinte binare.
În fig.7.3 este prezentat un circuit de autoreglare utilizat în special pentru semnale
continue şi nemultiplexate.

Circuit de măsură Semnal de Ui PGA Ue


a valorii absolute intrare

Generator
de tact Decodor
Uref.inf
cuvânt
C1 binar
P1 CU
Uref.sup Numarator
reversibil
C2
P2 CD

Fig.7.3. Schema bloc a unui sistem PGA autoreglabil

Tensiunea de la ieşirea PGA este comparată în mod continuu cu două nivele ale unei
tensiuni de referinţă uref.sup şi uref.inf. Când tensiunea de referinţă superioară uref.sup este
depaşită, comparatorul C2 işi schimbă starea de la 0 la 1. Un generator intern de tact
furnizează impulsuri de ştergere care determină întârzierea în timp între treptele de reglaj ale
amplificării. Dacă ieşirea comparatorului este în starea 1, poarta SI P2 va transmite primul
impuls de tact apărut numaratorului reversibil la intrarea CD (Count Down) reducând astfel
cu o treaptă nivelul de amplificare. Amplificarea se va menţine în această stare până la

113
Amplificatoare cu câştig programabil

apariţia unui nou impuls de tact. Modalitatea de reglaj pentru limita inferioară a gamei este
similară.
Dacă tensiunea de la ieşirea amplificatorului este mai mică decât tensiunea de referinţă
inferioară uref.inf, comparatorul C1 trece din starea 0 în starea 1 şi poarta P1 permite trecerea
impulsurilor de tact ale generatorului cître intrarea CU (Count Up). Conţinutul numărătorului
va creşte cu o unitate pentru fiecare impuls de tact determinând astfel mărirea amplificării.
Frecvenţa impulsurilor de tact se alege astfel încât să permită amplificatorului să
ajungă într-un regim de amplificare stabilă, corespunzătoare unui anumit cuvânt binar de la
intrare. Când ieşirile celor două comparatoare sunt în stare 0, amplificarea sistemului se
menţine în cadrul limitelor fixate.
Alegerea celor două nivele ale tensiunii de referinţă trebuie facută riguros, în scopul
evitării unor efecte nedorite. De exemplu, dacă autoreglarea amplificării se face în trepte de
10:1, va fi necesar ca tensiunea de referinţă inferioară uref.inf să fie cu puţin mai mică decât o
zecime din tensiunea de referinţă superioară uref.sup. Efectul autoreglării pe semnalul de
zgomot poate fi inhibat prin introducerea unei întârzieri la nivelul de comparare.
În fig.7.4 este prezentată schema bloc a unui circuit de autoreglare specifică sistemelor
de achiziţie care lucrează prin multiplexare, având spre deosebire de circuitul anterior
posibilitatea de blocare a autoreglării pe perioada când se realizeaza comutaţia unui canal la
nivelul multiplexorului.
Un monostabil CBM comandat de impulsurile de comutaţie ale canalelor în
multiplexor blochează generatorul de tact pentru un interval finit de timp, corespunzător
perioadei de comutaţie a canalului şi puţin după aceea. Durata exactă a intervalului de blocare

Circuit de măsură Semnal de Ui PGA Ue


a valorii absolute intrare
inhibiţie
Impuls de
c-dă de la MUX CBM Generator
de tact Decodor
Uref.inf
cuvânt
C1 binar
P1 CU
Uref.sup Numarator
reversibil
C2 CD
P2

Fig.7.7. Schema bloc a unui sistem PGA autoreglabil cu funcţionare prin multiplexare

a generatorului de tact (durata semnalului de inhibiţie furnizat de CBM) depinde de viteza de


regenerare a amplificatorului.
Utilizarea PGA într-o anumită aplicaţie este strâns legată de corelarea optimă dintre
performanţele sale şi cerinţele impuse sistemului ce urmează a fi proiectat.

114
Sisteme de achiziţie şi prelucrare a datelor. Instrumentaţie virtuală

CAPITOLUL VIII
Structura sistemelor de achiziţie de date
Pentru achiziţia mai multor semnale analogice de intrare de către un SAD se impune
utilizarea în structura acestuia a unui circuit multiplexor. Acest circuit poate fi conectat, în
structura SAD, în mod diferit obţinând variante de SAD în ordinea creşterii complexităţii
structurii ca număr de componente utilizate şi cu consecinţa creşterii frecvenţei de achiziţie.

8.1. SAD cu multiplexarea semnalelor analogice de intrare


Structura SAD cu multiplexarea semnalelor analogice de intrare (fig.8.1) cuprinde un
ansamblu CEM - CAN la intrarea căruia se conectează succesiv semnale analogice de intrare,
prin multiplexare în timp.
u i1

u i2
b b ... b
MUX 1 2 N
CEM CAN
k:1

u ik start
E/M conv.
stare
M conv.

SISTEM DE PRELUCRARE NUMERICA

Fig.8.1. SAD cu multiplexarea semnalelor analogice de intrare

Achiziţia datelor corespunzătoare celor k semnale analogice de intrare se realizează


prin controlul SAD conform diagramelor de timp din fig. 8.2. Astfel se consideră că înaintea
declanşării procesului de achiziţie, multiplexorul este comandat cu semnalul M pentru
conectarea semnalului ui la intrarea CEM aflat în starea de eşantionare.
Declanşarea prosesului de achiziţie se realizează la momentul t1 prin frontul de
comandă al stării de memorare pentru CEM. Conversia analog-numerică a eşantionului
prelevat din semnalul ui1 este declanşată la momentul t2 cu frontul de ridicare al semnalului
START CONV astfel încât:
t 2 − t1 = t ap − t s (8.1)
unde tap este timpul de apertură a CEM, iar ts este timpul de stabilizare al CEM la comutarea
în starea de memorare.
La momentul t2 se comută semnalul M de comandă al multiplexorului pentru
conectarea semnalului ui2 la intrarea CEM. Sfârşitul conversiei analog-numerice a
eşantionului prelevat din semnalul ui1 corespunde momentului t3 dat de frontul de coborâre al
semnalului STARE CONV şi rezultă:
t 3 − t 2 = TC (8.2)
unde Tc reprezintă timpul de conversie al CAN.

115
Structura sistemelor de achiziţie de date

Comanda de prelevare a unui eşantion din semnalul ui2 este dată la momentul t4 prin
frontul de comandă al stării de memorare al CEM astfel încât:

t 3 − t 2 ≥ t ac (8.3)
unde tac este timpul de achiziţie al CEM.
La momentul t5, ales astfel încât t4 -t5 să respecte relaţia (8.1) se comandă declanşarea
conversiei analog-numerice corespunzătoare eşantionului prelevat din ui2. În intervalul t3 ÷ t5
la ieşirile b1 b2...bN ale CAN este încărcat rezultatul conversiei numerice a eşantionului
prelevat din ui1 şi acest rezultat este preluat de SPN.
M
t

E/M
t
START
CONV t
STARE
CONV t

b 1 b 2 ..b N (u )
ik (ui1 ) (u i2 ) t
t1 t2 t3 t4 t5
∃ (t ap+ t s ) Tc ∃ t ac

Fig.8.2. Diagramele de timp ale semnalelor de control pentru SAD cu


multiplexarea semnalelor analogice

Procesul de achiziţie, conform diagramelor de timp din fig.8.2 se desfăşoară periodic


pentru prelevarea şi conversia numerică a eşantioanelor din cele k semnale analogice de
intrare.
Intervalul de timp corespunzător achiziţiei a câte unui eşantion din cele k semnale de
intrare se numeste perioada de achiziţie Tac şi este dat de relaţia:
Tac = k ⋅ (t 4 − t1 ) (8.4)
Valoarea minimă a perioadei de achiziţie se obţine pe baza relaţiilor (8.1) ... (8.4) de
forma:
Tac. min = k ⋅ (tap + ts +TC +Tac ) (8.5)
În relaţia (8.4) nu intervine timpul de stabilizare al ieşirii multiplexorului tsm după
comanda de comutare a semnalului de intrare deoarece acest timp este, în general, mult mai
mic decât timpul de conversie al CAN, care este disponibil pentru stabilizare.
Sistemul de achiziţie cu multiplexarea semnalelor de intrare reprezintă cea mai simplă
variantă constructivă, în sensul că utilizează pentru achiziţie un singur ansamblu CEM - CAN.
Din punct de vedere al frecvenţei (perioadei) de achiziţie acest SAD este mai puţin
rapid în sensul că perioada minimă de achiziţie a celor k semnale analogice de intrare se obţin
prin multiplicarea cu k a perioadei de achiziţie minime caracteristice ansamblului CEM -
CAN.
TCEM −CAN = tap + ts +TC +Tac (8.6)

116
Sisteme de achiziţie şi prelucrare a datelor. Instrumentaţie virtuală

8.2. SAD cu multiplexarea ieşirilor CEM


Structura SAD cu multiplexarea ieşirilor CEM (fig.8.3) conţine câte un CEM pentru
fiecare din cele k semnale de intrare şi un singur CAN.

u i1
CEM 1
E/M 1
u i2 b b ... b
MUX 1 2 N
CEM 2 CAN
E/M 2 k:1
u ik start
conv.
CEM k
stare
E/M k conv.
M
SISTEM DE PRELUCRARE NUMERICA

Fig.8.3. Structura SAD cu multiplexarea ieşirilor CEM

Pentru simplificarea înţelegerii funcţionării unui astfel de SAD, în fig.8.4 sunt


prezentate diagramele de timp corespunzătoare achiziţiei a două semnale analogice de intrare
(k=2) cu comandă separată a celor două CEM.

E/M 1

E/M 2
t
M
t
START
CONV t
STARE
CONV t

b 1 b 2 ..b N (u ) (u i2 ) t
ik (u i1 )
t1 t2 t3 ∃ (tap+ts) t4 t5 t6 t7 t8
∃ tsm Tc Tc

Tac
Fig.8.4. Diagramele de timp ale semnalelor de control pentru SAD
cu multiplexarea ieşirilor CEM şi comandă separată a acestora

Procesul de achiziţie este declanşat la momentul t1 prin frontul de comandă al stării de


memorare pentru CEM1. La momentul t2 se comandă multiplexorul pentru conectarea ieşirii
circuitului CEM1 la intrarea CAN. Procesul de conversie analog-numerică a eşantionului
prelevat din semnalul de intrare ui1 este declanşat la momentul t2 cu frontul de ridicare al
semnalului START CONV astfel încât:

117
Structura sistemelor de achiziţie de date

t 3 − t 2 = t sm (8.7)
unde tsm este timpul de stabilizare al multiplexorului.
Sfârşitul conversiei analog-numerice corespunde momentului t5 dat de frontul de
coborâre al semnalului STARE CONV şi rezultă:
t 5 − t 3 = TC (8.8)
Pentru a obţine o perioadă de achiziţie minimă se comandă starea de memorare pentru
circuitul CEM2 la momentul t4, înainte de sfârşitul conversiei astfel încât:
t 5 − t 4 ≥ t ap + t s (8.9)
Respectarea la limită a relaţiei (8.9) corespunde unor erori minime datorate alterării
tensiunii de la ieşirea CEM2 în starea de memorare.
La momentul t5 se comandă CEM1 în starea de eşantionare şi se comută multiplexorul
pentru conectarea ieşirii circuitului CEM2 la intrarea CAN. Astfel, la momentul t6 (t6 - t5 
tsm) se declanşează conversia analog-numerică a eşantionului prelevat din semnalul de intrare
ui2. În intervalul t5÷t6 , la ieşirea CAN (b1 b2...bN) este încărcat rezultatul conversiei numerice a
eşantionului prelevat din semnalul de intrare ui1. Procesul de achiziţie se desfăşoară în
continuare periodic conform diagramelor de timp din fig.8.4 cu precizarea că la construcţia
acestora s-a considerat că timpul de achiziţie tac al CEM este mai mic decât timpul de
conversie Tc al CAN.
Achiziţia a k semnale de intrare este controlată în mod similar cu cazul analizat (k =
2), astfel intervalul de timp corespunzător achiziţiei a câte un eşantion din cele k semnale de
intrare este:
Tac = k ⋅ (t 5 − t 2 ) = k ⋅ (t 6 − t 3 ) (8.10)
Valoarea minimă a perioadei de achiziţie se obţine din relaţiile (8.8), (8.9) rezultând:
Tac . min = k ⋅ (tsm +TC ) (8.11)
Din punct de vedere al complexităţii structurii, la acest SAD se observă o creştere a
acesteia faţă de schema SAD cu multiplexarea intrărilor prin existenţa a k CEM. Pentru a
compara cele două variante din punct de vedere al vitezei de achiziţie este necesară analiza
relaţiilor (8.5) şi respectiv (8.11). Deoarece în cazurile practice tsm<<tac rezultă că SAD cu
multiplexarea ieşirilor CEM permite obţinerea unei perioade de achiziţie mai mică, adică a
unei viteze (frecvenţe) de achiziţie mai mare.
Din structura SAD cu multiplexarea ieşirilor CEM rezultă posibilitatea prelevării de
eşantioane la aceleaşi momente de timp din cele k semnale analogice de intrare prin comanda
cu acelaşi semnal a intrărilor E/Mi ale CEMi.
În fig.8.5 sunt prezentate diagramele de timp ale semnalelor de control
corespunzătoare achiziţiei de eşantioane la aceleaşi momente de timp din două semnale de
intrare.
Procesul de achiziţie este declanşat la momentul t1 prin frontul de comandă al stării de
memorare aplicat simultan CEM (k = 2). La momentul t2 ales astfel încât:
t 2 − t1 ≥ t ap + t 5 (8.12)
se declanşează conversia analog-numerică a eşantionului prelevat din semnalul de intrare ui1
şi această conversie se termină la momentul t3:
t3 − t 2 =TC (8.13)
la care comută multiplexorul. Astfel, la momentul t4:

118
Sisteme de achiziţie şi prelucrare a datelor. Instrumentaţie virtuală

t 4 − t3 ≥ tsm (8.14)
se declanşeaza conversia analog-numerică a eşantionului prelevat din semnalul ui2 şi aceasta
se termină la momentul t5 :
t5 − t 4 =TC (8.15)
la care se comandă starea de eşantionare pentru CEM. Declanşarea prelevării unui al doilea
set de eşantioane se realizează la momentul t6:
t 6 − t 5 ≥ t ac (8.16)
prin comanda stării de memorare pentru CEM.

E/M 1,2
t

M
(u i1 ) (u i2 ) t
START
CONV t
STARE
CONV t

b 1 b 2 ..b N t
(u ik ) (u i1 ) (u i2 )
t6
∃ (tap + ts)t1 t2
Tc
t3 t4 Tc t5
∃ tsm
Tac

Fig.8.5. Diagramele de timp ale semnalelor de control pentru SAD cu multiplexarea


ieşirilor CEM cu două semnale analogice de intrare şi comandă comună E/M

Achiziţia de eşantioane în cazul a k semnale de intrare este controlată în mod similar


şi valoarea minimă a perioadei de achiziţie se obţine din (8.12) ... (8.16), rezultând:
Tac. min = tap + ts + k ⋅ TC + (k −1) ⋅ tsm + tac (8.17)
În cazul achiziţiei de eşantioane la acelaşi moment de timp apare o eroare datorată
alterării tensiunilor la ieşirile CEM aflate în stare de memorare şi care este maximă pentru
semnalul de intrare uik. Se impune astfel respectarea relaţiei:
 ∆u
 e

[ ]
 ⋅ t ap + t s + k ⋅TC + (k − 1) ⋅ t sm ≤ ⋅ LSB
1
(8.18)
 ∆t  2
astfel încât să nu se depăşească eroarea sistematică ce apare datorită conversiei analog-
numerice. Cantitatea Δue/Δt reprezintă viteza de alterare a tensiunii la ieşirea CEM în starea
de memorare.

8.3. SAD cu multiplexarea ieşirilor CAN


Structura SAD cu multiplexarea ieşirilor convertoarelor analog-numerice (fig.8.6)
cuprinde câte un ansamblu CEM - CAN pentru fiecare din cele k semnale de intrare. Rezultă
astfel posibilitatea ca procesele de eşantionare şi conversie analog-numerică să se poată
desfăşura independent şi simultan pentru toate semnalele de intrare.

119
Structura sistemelor de achiziţie de date

u i1
CEM 1 CAN 1
E/M 1 start stare
conv conv b b ... b
1 2 N
u i2
CEM 2 CAN 2 MUX
E/M 2 start stare k:1
conv conv

u ik
CEM k CAN k
E/M k start stare
conv conv M

SISTEM DE PRELUCRARE NUMERICA

Fig.8.6. Structura SAD cu multiplexarea ieşirilor CAN

Controlul unui ansamblu CEM - SAD se realizează conform celor prezentate în cazul
SAD cu un semnal analogic de intrare. Transferul rezultatelor conversiilor analog-numerice la
circuitul de prelucrare numerică se realizează în intervalele corespunzătoare stărilor de
eşantionare ale CEM prin comanda multiplexorului.
Considerând cazul în care CAN sunt realizate pe principiul aproximaţiilor succesive şi
cunoscând faptul că în cazul acestor circuite de conversie analog numerică durata procesului
de conversie este constantă şi independentă de valoarea mărimii analogice de intrare, ea
depinzând numai de rezoluţia (numarul de biţi N) CAN, diagramele de timp ale semnalelor de
control sunt prezentate în fig.8.7.

E/M
t

START
CONV t

STARE
CONV t

M
CAN1 CAN2 CANK t

b 1 b 2 ..b N t
(u i1) (u i2 ) (u ik )
∃ (t ap+ t s ) Tc t ac t ac

Fig.8.7. Diagramele de timp ale semnalelor de control în cazul SAD cu


multiplexarea CAN şi CAN cu aproximaţii succesive

Se observă în acest caz un mod de lucru identic cu cel al SAD cu un singur semnal
analogic de intrare şi perioada de achiziţie este minimă şi este dată de relaţia:

120
Sisteme de achiziţie şi prelucrare a datelor. Instrumentaţie virtuală

Tac. min = tap + ts +TC + k ⋅ tac (8.19)


şi deci depinde de numărul k al semnalelor analogice de intrare într-o măsură foarte mică dată
numai de dependenţa timpilor de culegere de către circuitul de prelucrare numerică a valorii
numerice a semnalelor de la CAN prin intermediul multiplexorului.
În cazul în care CAN sunt de alte tipuri, de exemplu cu integrare, durata timpului
efectiv de conversie Tc este dependentă de valoarea mărimii analogice de intrare. În acest caz,
declanşarea procesului de citire a valorii numerice este realizată de frontul descrescător al
primului CAN ce a încheiat procesul de conversie (semnalul STARE CONV corespunzător
acestui CAN).

E/M

START
CONV t
STARE
CONV 1 t
STARE
CONV 2 t
M t
CAN2 CAN1 CAN1 CAN2
b 1 b 2 ..b N (u i1) (u i2 ) t
(u i2 ) (u i1 )
∃ (t ap+ t s ) Tc.min t ac2 t ac1

Fig.8.8. Diagramele de timp ale semnalelor de control în cazul SAD cu multiplexarea


CAN şi CAN cu integrare
Diagramele de timp ale semnalelor de control considerând două semnale analogice de
intrare sunt prezentate în fig.8.8.
Perioada de achiziţie minimă este dată de relaţia:
Tac. min = tap + ts +TC. min + k ⋅ tac (8.20)

121
Plăci de achiziţie de date

CAPITOLUL IX
Plăci de achiziţie de date (DAQ)
9.1. Generalităţi privind utilizarea plăcilor de achiziţie de date
Se prezintă în acest capitol conceptul de instrumentaţie virtuală, placa de achiziţie şi
structura unui instrument virtual.
De obicei, măsurătorile sunt făcute cu un instrument de măsură, fie el osciloscop,
multimetru, etc. şi prin notarea datelor reprezentând valorile măsurate pentru o eventuală
procesare ulterioară. Pe lângă acesta, instrumentele programabile reale (osciloscoape,
multimetre digitale, voltmetre, s.a.) sunt costisitoare şi dotate cu funcţii fixe, definite de
producător şi aceste funcţii de cele mai multe ori obligă utilizatorul să-şi adapteze nevoile
facilitaţilor oferite). În cazul unor proiecte mari, înregistrarea măsurătorilor, a dus un volum
mare de date şi de muncă, care au atras automat utilizarea calculatorului pentru prelucrarea
datelor. La rândul să calculatorul a impus determinarea unor căi de introducerea a acestor
date.
Există astfel câteva modalităţi prin care datele pot fi schimbate între instrumentele de
măsură şi calculator. Multe dintre instrumentele, de generaţie mai nouă, au porturi seriale prin
intermediul cărora datele pot fi transferate în calculator. O alta modalitate, de măsurare a
semnalelor şi/sau de transferare a acestora către calculator este utilizarea unor placi de
achiziţie (DAQ) (fig.9.1.).

Hardware pentru Deoarece o bună


achiziţie şi analiză parte din problematica
sistemelor de măsurare
computerizate este
reprezentată de către
aspectele referitoare la
transmiterea şi prelucrarea
informaţiei conţinute în
semnale digitale, una dintre
cele mai des întâlnite
clasificări ale acestor
sisteme este efectuată în
Calculator Software
funcţie de protocolul utilizat
pentru transmiterea
Fig.9.1. Sistem de măsură computerizat semnalelor digitale.
Astfel, în ordinea
în care diversele protocoluri au început să fie utilizate, dar şi în ordinea crescătoare a
complexităţii acestora, sistemele de măsurare computerizate pot fi clasificate în următoarele
categorii principale:

1. Sistemele de măsurare computerizate cu comunicaţie serială reprezintă una dintre


primele categorii de astfel de sisteme. Apărute odată cu ideea utilizării calculatorului
în măsurare, ele au fost formate prin dotarea aparatelor de măsură cu convertoare
analog – digitale şi cu interfeţe de comunicaţie serială prin intermediul cărora
informaţia privind valorile măsurate să poată fi transmisă unui calculator.

2. Sistemele de măsurare computerizate cu comunicaţie paralelă au o structură


similară celor în care comunicaţia se realizează în mod serial, principala diferenţă
constând în protocolul utilizat pentru transmiterea informaţiei. Viteza sporită de

122
Sisteme de achiziţie şi prelucrare a datelor

transmitere a informaţiei face ca această soluţie să fie utilizată pentru conectarea la


calculator a unor aparate pentru măsurarea unor mărimi fizice cu variaţii foarte rapide.

3. Sistemele de măsurare computerizate cu plăci de achiziţie de date se


caracterizează în primul rând prin faptul că operaţia de conversie a semnalului purtător
de informaţie din formă analogică în formă digitală nu mai este efectuată de către
aparatul de măsură analogic ci de către o componentă electronică distinctă (placă de
achiziţie de date) montată în calculator.

4. Sistemele de măsurare computerizate cu calculatoare de uz industrial utilizează


de asemenea plăci de achiziţie de date şi aparate dedicate de condiţionare a
semnalelor. Deosebirea în raport cu sistemele din categoria anterioară constă în faptul
că aceste componente, împreună cu calculatorul care este de asemenea dedicat
utilizării respective, sunt realizate sub formă de module ce se montează într-un suport
(şasiu, rack) comun. Suportul comun respectiv asigură atât o parte din comunicaţiile
digitale dintre componentele sistemului de măsurare cât şi etanşarea şi izolarea
acestora faţă de eventualii factori de mediu agresivi (umiditate, praf etc.).

9.1.1. Funcţiuni şi criterii de performanţă


Plăcile de achiziţie de date utilizate în sistemele de măsurare computerizate pot
îndeplini mai multe dintre următoarele funcţiuni:
• intrare analogică (măsurarea unui semnal, sub forma unei tensiuni electrice, provenit de
la un traductor aflat în sistemul studiat);
• ieşire analogică (generarea unui semnal, sub forma unei tensiuni electrice care să
comande un element de acţionare din sistemul monitorizat);
• comunicaţii digitale (primirea şi emiterea de valori în formă binară, reprezentând date
sau coduri ale unor comenzi, transmise sub forma unor impulsuri TTL între placa de
achiziţie de date şi alte componente ale sistemului computerizat). Comunicaţiile
digitale pot fi utilizate şi pentru măsurări sau generări de semnale în cazul în care
traductorul sau elementul de acţionare au o funcţionare descrisă de o stare logică binară
(comutatoare cu două poziţii, întrerupătoare, relee, diode electroluminiscente, etc.);
• numărare/cronometrare (primirea şi emiterea de semnale sub formă de serii de
impulsuri TTL în care informaţia este conţinută în numărul de impulsuri din serie sau
în frecvenţa acestora).
Toate tipurile de plăci de achiziţie de date pot îndeplini ultimele două funcţiuni
enumerate mai sus: comunicaţii digitale şi numărare/cronometrare. Majoritatea tipurilor
posedă toate cele patru funcţiuni (plăci multifuncţionale). O serie de plăci de achiziţie de date
cu cost redus nu posedă funcţiunea de ieşire analogică iar o altă categorie (plăcile dedicate
ieşirilor analogice) nu posedă funcţiunea de intrare analogică.
Printre parametrii care descriu performanţele cu care o placă de achiziţie de date
îndeplineşte funcţia de intrare analogică se pot enumera: numărul de canale de intrare
analogică, rata maximă de eşantionare, intervalul de măsurare şi rezoluţia.
Numărul de canale de intrare analogică poate fi specificat (pentru plăcile care
dispun de ambele tipuri) atât pentru configuraţia unipolară cât şi pentru cea diferenţială.
Intrările analogice în configuraţie unipolară se referă la tensiuni electrice (de pe canale
diferite) măsurate în raport cu un potenţial de referinţă comun, aflat pe legătura la masă a
plăcii de achiziţie de date. Acest tip de intrări analogice este utilizat de obicei pentru semnale
cu amplitudini relativ mari (peste 1 V), în situaţia în care firele de legătură dintre sursa de
semnal şi placa de achiziţie de date au lungimi mai mici de 5 m. În celelalte situaţii se
utilizează configuraţia diferenţială, în care fiecare tensiune electrică ce corespunde unui canal

123
Plăci de achiziţie de date

de intrare analogică este măsurată în raport cu un potenţial de referinţă propriu. În


configuraţie diferenţială are loc reducerea erorilor datorate influenţelor perturbaţiilor
electromagnetice din mediul exterior asupra firelor de legătură.
Rata maximă de eşantionare reprezintă numărul maxim de conversii analog – digitale
(măsurări) pe care placa de achiziţie de date le poate efectua în unitatea de timp (o secundă).
Obţinerea unui număr mai mare de valori ale semnalului măsurat în unitatea de timp permite
descrierea mai precisă a acestuia şi efectuarea unor prelucrări statistice mai complexe. De
exemplu, semnalele măsurate în timpul studiului emisiilor acustice, utilizând un microfon, au
frecvenţe de până la 20 kHz. Prelucrarea adecvată a unor astfel de semnale necesită (conform
teoremei lui Nyquist) o rată de eşantionare cel puţin dublă faţă de frecvenţa maximă a
componentei ce se doreşte a fi detectată în cadrul semnalului (fig.9.2.).

volţi
volţi

eşantionare

timp timp

eşantionare corectă
semnal după filtrare
semnal nefiltrat

eşantionare cu rată prea mică

Fig.9.2. Eşantionarea semnalului

Unitatea de măsură pentru rata de eşantionare se notează S/s sau KS/s (samples/second,
eşantioane pe secundă) şi reprezintă efectuarea unei singure conversii analog – digitale într-o
secundă (fig.9.2).
Majoritatea tipurilor de plăci de achiziţie de date, deşi posedă mai multe canale de
intrare analogică, utilizează un singur convertor analog – digital. Măsurarea semnalelor de pe
mai multe canale este realizată prin multiplexarea acestora la intrarea convertorului. Astfel,
rata de eşantionare corespunzătoare unui anumit canal este invers proporţională cu numărul de
canale pe care se efectuează măsurări la un moment dat. De exemplu, în cazul unei plăci de
achiziţie de date cu rata maximă de eşantionare de 1 MS/s cu ajutorul căreia se măsoară 10
semnale, rata de eşantionare efectivă pe fiecare canal de măsurare nu poate depăşi 100 kS/s.
Efectele ratei de eşantionare (fig.9.2):
• eşantionare acceptabila (primul grafic)
• eşantionare insuficienta
Intervalul de măsurare este determinat de valorile minimă şi maximă ale tensiunii
electrice pe care convertorul analog – digital o poate cuantifica. Majoritatea plăcilor de

124
Sisteme de achiziţie şi prelucrare a datelor

achiziţie de date au la dispoziţie mai multe intervale de măsurare, unul dintre acestea putând fi
selectat la un moment dat. Existenţa a mai multor intervale de măsurare este facilitată de
existenţa în structura plăcii de achiziţie a amplificatorului cu câştig programabil.
Rezoluţia unei plăci de achiziţie de date reprezintă numărul de biţi utilizaţi de către
convertorul analog – digital al acesteia pentru reprezentarea valorii măsurate a semnalului
analogic. Dacă se notează valoarea rezoluţiei cu N, convertorul analog – digital va putea
reprezenta numere întregi cuprinse între 0 şi 2N-1, fapt ce este echivalent cu aproximarea
infinităţii de valori din intervalul de măsurare printr-o mulţime discretă de 2N valori.
Intervalul de măsurare este astfel partiţionat în 2N subintervale. Toate valorile semnalului
măsurat aflate într-un acelaşi subinterval vor putea fi reprezentate doar printr-un singur
număr, deci vor fi toate aproximate la o aceeaşi valoare comună. Cu cât rezoluţia este mai
mare, cu atât creşte numărul de subintervale în care este partiţionat intervalul de măsurare,
deci creşte precizia de reprezentare (măsurare) a semnalului real.
În figura 9.3
amplitudine este reprezentat un
semnal sinusoidal,
împreună cu
reprezentarea acestuia
oferită de către un
convertor analog –
digital cu rezoluţia de 3
biţi care împarte
intervalul de măsurare
în 23 = 8 subintervale.
Este evidentă precizia
scăzută a măsurării,
echivalentă unei
Fig.9.3. Semnal sinusoidal discretizat de un convertor pe 3 biţi
pierderi de informaţie.
Utilizarea, de exemplu,
a unui convertor cu rezoluţia de 16 biţi ar conduce la o reprezentare mult mai fidelă a
semnalului original, intervalul de măsurare fiind partiţionat în acest caz în 216 = 65536
subintervale.
Posibilitatea de selectare a intervalului de măsurare al unei plăci de achiziţie de date
permite alegerea unor limite ale acestuia cât mai apropiate de valorile extreme ale semnalului
măsurat, astfel încât rezoluţia disponibilă a convertorului analog – digital să conducă la o
precizie cât mai bună a măsurării.
Valoarea preciziei de măsurare, echivalentă cu variaţia minimă detectabilă a
semnalului măsurat, este denumită şi lăţime de cod şi corespunde variaţiei bitului cel mai
puţin semnificativ (LSB) din numărul binar generat de către convertorul analog – digital în
urma măsurării.
Precizia de măsurare a unei plăci de achiziţie de date, calculată în funcţie de parametrii
constructivi descrişi anterior, nu este întotdeauna respectată atunci când măsurarea se
efectuează cu valori mari ale ratei de eşantionare. Există situaţii în care plăci cu rezoluţia de
16 biţi reuşesc, la rate de eşantionare de 100 kS/s, să redea semnalul măsurat cu o precizie
corespunzătoare unei măsurări cu rezoluţia de doar 12 biţi.
Caracterizarea completă a performanţelor unei plăci de achiziţie de date aflate într-un
regim de lucru solicitant nu poate fi efectuată fără luarea în considerare a unor parametri
auxiliari ca: neliniaritatea convertorului analog – digital, precizia relativă, timpul de
stabilizare şi zgomotul.

125
Plăci de achiziţie de date

Într-un caz ideal, valoarea numerică generată de către convertorul analog – digital
variază liniar cu valoarea tensiunii electrice aplicate la intrarea acestuia. Deviaţia de la o astfel
de dependenţă poartă numele de neliniaritate. Parametrul care cuantifică neliniaritatea unui
convertor analog – digital este notat DNL, şi reprezintă diferenţa dintre valoarea lăţimii de
cod şi valoarea corespunzătoare variaţiei bitului cel mai puţin semnificativ. Parametrul DNL
se exprimă în raport cu această a doua valoare (LSB), având, în cazul unor plăci de achiziţie
de date performante, valoarea de ±0,5 LSB.
Precizia relativă, exprimată în LSB, reprezintă valoarea maximă a deviaţiei de la
forma liniară a funcţiei de transfer a plăcii de achiziţie de date. La o variaţie liniară a
semnalului pe tot intervalul de măsurare, valorile numerice binare generate de către
convertorul analog – digital depind aparent liniar de tensiunea electrică măsurată (Fig. 9.4).
Scăderea valorilor reale ale tensiunii măsurate din valorile numerice binare generate de către
convertor (operaţie echivalentă cu o mărire a imaginii) nu conduce însă la obţinerea unui
segment de dreaptă suprapus peste abscisă (situaţie corespunzătoare identităţii celor două
seturi de valori) ci la un grafic reprezentând variaţia abaterii valorii măsurate în raport cu cea
reală. Precizia relativă a plăcii de achiziţie de date este egală cu valoarea maximă a acestei
abateri.
CARACTERISTICA DE CONVERSIE
DETERMINAREA RELATIVĂ A PRECIZIEI

CORESPUNZĂTOARE CODULUI
COD DIGITAL PE 16 BIŢI

EXPRIMAREA ERORII

DIGITAL PE 16 BIŢI

TENSIUNEA DE INTRARE TENSIUNEA DE INTRARE

Fig. 9.4 Determinarea preciziei relative a unui convertor analog - numeric


Deoarece transformarea în volţi a valorilor binare se efectuează prin înmulţirea
acestora cu o constantă, erorile datorate deviaţiei de la forma liniară a funcţiei de transfer se
păstrează.
La majoritatea tipurilor de plăci de achiziţie de date, semnalul de măsurat parcurge
iniţial circuitele unui multiplexor, apoi este amplificat înainte de a fi introdus la intrarea în
convertorul analog – digital. Construcţia circuitului de amplificare face ca acesta să necesite
un anumit interval de timp, numit timp de stabilizare, pentru a efectua amplificarea
semnalului ce a fost aplicat la intrarea sa. Dacă valoarea timpului de stabilizare este mai mare
decât intervalul de timp dintre două conversii efectuate de convertorul analog – digital, acesta
din urmă va prelua de la ieşirea amplificatorului un semnal a cărei amplificare nu a fost încă
încheiată şi va genera o valoare binară diferită de valoarea reală a semnalului măsurat.
Erorile generate de valoarea prea mare a timpului de stabilizare cresc odată cu
micşorarea intervalului de măsurare şi cu creşterea ratei de eşantionare. Aceste erori, uneori
însemnate, au loc în zona de circuite electrice analogice ale plăcii de achiziţie de date, fapt ce
le face nedetectabile şi nu conduce la generarea de către placă a unui mesaj de eroare.

126
Sisteme de achiziţie şi prelucrare a datelor

Riscul de preluare de către convertor a unui semnal insuficient amplificat creşte atunci
când multiplexorul baleiază un număr mare de canale. Tensiunea de la intrarea
amplificatorului are în acest caz variaţii accentuate (figura 9.5) la care amplificatorul se poate
adapta cu dificultate.

Amplitudine [ V ]

Timp [ sec ]

Fig.9.5. Tensiunea la intrarea amplificatorului în cazul baleierii multicanal

Pentru majoritatea soluţiilor constructive de circuite amplificatoare utilizate în practică,


în situaţia în care intervalul de măsurare este ales, de exemplu, la o sutime din intervalul
maxim disponibil al plăcii de achiziţie de date, o stabilizare a semnalului care să asigure o
precizie corespunzătoare unei rezoluţii de 12 biţi nu se poate efectua într-un timp mai scurt de
2 µs. Cum intervalul de 2 µs între două conversii corespunde unei rate de eşantionare de 500
kS/s şi cum această rată de eşantionare este întâlnită la multe plăci de achiziţie de date cu
rezoluţia de 12 biţi, este evident că aceste tipuri de plăci nu vor putea respecta parametrii
declaraţi de precizie atunci când lucrează pe intervale de măsurare relativ reduse.
Utilizarea în construcţia unei plăci de achiziţie de date a unor amplificatoare şi
convertoare analog – digitale foarte performante nu satisface de la sine toate condiţiile pentru
asigurarea unei precizii ridicate. Interiorul calculatorului în care este montată placa de
achiziţie fiind un mediu cu extrem de numeroase surse de perturbaţii electromagnetice,
transmiterea semnalelor în circuitele plăcii trebuie efectuată prin căi ecranate care să elimine
influenţa perturbaţiilor externe.
În figura 9.6 se prezintă graficele obţinute în urma măsurării zgomotului în circuitele a
două plăci de achiziţie de date dotate cu acelaşi tip de convertor analog – digital. Dacă în
cazul plăcii cu măsuri adecvate de ecranare distribuţia zgomotului este gaussiană şi restrânsă,
conducând la erori de ±3 LSB, în cazul plăcii neecranate perturbaţiile externe generează erori
de ordinul 20 LSB echivalente (pentru un interval de măsurare de ±1 V) cu o tensiune de 620
µV.
Utilizate pentru generarea de semnale de comandă sau acţionare către sistemul la care
este conectată placa de achiziţie de date (atât în mod uni-polar cât şi în mod diferenţial),
ieşirile analogice au performanţe determinate în principal de intervalul de generare, timpul de
stabilizare al convertorului digital – analog, rata maximă de generare şi rezoluţie.
Intervalul de generare conţine valorile posibile ale tensiunii electrice de la ieşirea
convertorului digital – analog. Timpul de stabilizare şi rata de generare determină împreună

127
Plăci de achiziţie de date

PROBABILITATEA APARIŢIEI CODULUI

PROBABILITATEA APARIŢIEI CODULUI


NIVEL ZGOMOT CODIFICAT ÎN LSB NIVEL ZGOMOT CODIFICAT ÎN LSB

Fig. 9.6. Zgomotul în circuitele a două plăci de achiziţie, cu respectiv fără ecranare

viteza cu care convertorul digital – analog poate modifica valoarea tensiunii electrice
generate.
Timpul de stabilizare specificat pentru un convertor analog – digital este de obicei
determinat în situaţia cea mai dezavantajoasă, în care modificarea tensiunii generate este egală
în amplitudine cu intervalul de generare. Este evident că generarea unor semnale cu frecvenţe
înalte, de genul semnalelor audio, poate fi efectuată doar de către convertoare digital –
analogice cu timpi de stabilizare reduşi şi rate mari de generare.
Având o definiţie similară celei din cazul intrărilor analogice, rezoluţia convertoarelor
digital – analogice determină fineţea cu care semnalele de ieşire pot fi generate.
O apreciere foarte precisă a performanţelor cu care o placă de achiziţie de date
îndeplineşte funcţiunea de ieşire analogică trebuie să aibă în vedere, în special în cazul
regimurilor de lucru solicitante, şi aspectele legate de neliniaritatea convertorului digital –
analog, parametru definit în mod similar cu cazul intrărilor analogice.
Comunicaţiile digitale ale unei plăci de achiziţie de date, servind controlului
procesului monitorizat sau comunicării cu diverse echipamente periferice, au performanţe
caracterizate în principal prin numărul de linii digitale disponibile, rata cu care datele pot fi
recepţionate sau emise prin intermediul liniilor respective precum şi capacitatea acestor linii
de a transmite semnale de o anumită intensitate electrică.
Valorile necesare ale caracteristicilor enumerate anterior sunt determinate în primul
rând de caracteristicile echipamentelor din proces cu care placa de achiziţie de date urmează
să comunice: număr de semnale digitale ce trebuiesc recepţionate sau emise, timpul de
răspuns al unui anumit echipament sau al unei mărimi din proces, puterea electrică necesară
pentru comanda sau acţionarea unor echipamente.
În situaţia în care placa de achiziţie de date comunică, prin intermediul liniilor digitale,
cu un echipament periferic (înregistrator, procesor de date, imprimantă), este necesară
posibilitatea de a grupa din punct de vedere logic mai multe linii digitale într-un port de
comunicaţie. Protocolul de comunicaţie digitală poate de asemenea necesita derularea unor
operaţiuni de sincronizare între emiţător şi receptor, în scopul reducerii riscului de transmitere
eronată a informaţiei.
În cazul generării unor semnale digitale de comandă sau acţionare, sunt rare situaţiile
în care componentele din proces (motoare, valve, relee etc) acceptă direct semnalele TTL ale
plăcii de achiziţie de date. Majoritatea componentelor respective necesită prezenţa
intermediară a unor condiţionatoare de semnale digitale care să realizeze amplificările
corespunzătoare ale valorilor tensiunii sau intensităţii electrice.
Circuitele de numărare şi cronometrare ale unei plăci de achiziţie de date pot fi
utilizate atât pentru sesizarea şi numărarea unor evenimente digitale (de exemplu, semnalele

128
Sisteme de achiziţie şi prelucrare a datelor

sub formă de impulsuri primite de la traductoare incrementale de deplasare) cât şi pentru


generarea unor astfel de evenimente (de exemplu, pentru acţionarea motoarelor electrice pas
cu pas).
Parametrii cei mai importanţi pentru aprecierea performanţelor acestor circuite sunt
rezoluţia şi frecvenţa maximă. Având, ca şi în cazurile anterioare, semnificaţia numărului de
biţi utilizaţi, rezoluţia determină direct numărul maxim de evenimente pe care un astfel de
circuit le poate număra. Frecvenţa maximă a unui numărător determină atât gama de semnale
pe care acesta le poate măsura corect cât şi frecvenţa maximă a semnalelor pe care
numărătorul respectiv le poate genera. Plăcile de achiziţie de date din categoriile cele mai
evoluate utilizează numărătoare cu rezoluţii de 16 sau 24 de biţi, lucrând la frecvenţe maxime
de 20 MHz.
Pe lângă căile de comunicaţie propriu-zise, prin intermediul cărora primesc sau
generează semnalele corespunzătoare, majoritatea numărătoarelor posedă căi suplimentare de
intrare prin intermediul cărora poate fi comandată activarea sau dezactivarea funcţiei
principale de numărare.
Circuitele de numărare performante dispun de facilităţi de numărare crescătoare sau
descrescătoare (în funcţie de o comandă primită pe o cale separată), de buffere de memorie
pentru generarea trenurilor de impulsuri precum şi de posibilitatea modificării instantanee a
frecvenţei de lucru.

9.2. Placa de achiziţie de date PCI-6024E


9.2.1 Structura hardware
Este prezentată o vedere a ansamblului asupra structurii hardware a plăcii de achiziţie
de date PCI-6024 (producător National Instruments).

Fig. 9.7. Diagrama bloc a plăcii PCI-6024

129
Plăci de achiziţie de date

9.2.1.1 Intrarea analogică


Secţiunea pentru intrarea analogică a fiecărui dispozitiv este configuraţia software.
Următoarele secţiuni descriu un detaliu pentru fiecare setare de intrare analogică

9.2.1.2. Modul intrare


Dispozitivele au 3 moduri diferite de intrare: fără referinţă la un singur capăt (NRSE) ;
cu referinţe la un singur capăt (RSE) ; şi intrare diferenţială (DIFF).
Configuraţiile intrării la un singur capăt dispun până la 16 canale. Configuraţia intrării DIFF
dispune până la 8 canale.
Modurile de intrare sunt programate în o bază per-canal pentru scanarea multimod. De
exemplu : putem configura circuitul să scaneze 12 canale - 4 canale DIFF şi 8 canale RSE.
Tabelul 9.1. descrie cele 3 configuraţii de intrare.
Tabelul 9.1. Configuraţiile de intrare disponibile

Configuraţie Descriere

Un canal configurat in modul DIFF foloseşte 2 lini de intrare analog. O linie


DIFF se conectează la intrarea pozitivă a amplificatorului instrumentelor cu câştig
programabil(PGIA), şi celalalt se conectează la intrarea negativă al PGIA.
Un canal configurat în mod RSE se foloseşte o linie de intrare analog care se
RSE conectează la intrarea pozitivă a PGIA. Intrarea negativă a PGIA este legată
intern la pământarea intrării analog (AIGND)
Un canal configurat în modul NRSE foloseşte o linie de intrare analog care
NRSE se conectează la intrarea pozitivă a PGIA. Intrarea negativă a PGIA se
conectează la sensul intrării analog (AISENSE).

9.2.1.3 Intrare analogică


Dispozitivele au un domeniu de intrare bipolar care se schimbă cu câştigul
programabil. Se poate programa fiecare canal cu un câştig unic de 0.5, 1.0, 10 sau 100 pentru
a maximiza rezoluţia convertorului analog digital de 12 biţi (ADC).
Cu setările potrivite pentru câştig des poate folosi rezoluţia maximă a ADC pentru a
măsura semnalul de intrare.
Tabelul 9.2. Domeniul intrării şi precizia în concordanţă cu câştigul folosit.
Câştig Raza de intrare Precizia1
0.5 -10+10V 4.88mV
1.0 -5+5V 2.44mV
10.0 -500+500mV 244.14µV
100.0 -50+50mV 24.41µV
1
valoarea de 1 LSB a ADC de 12 biţi ; care este incrementul de tensiune corespunzător unei
schimbări.

9.2.1.4. Dithering
Def. Dithering-ul împrăştie diferiţi pixeli coloraţi într-o imagine pentru a o face să
apară ca si cum ar fi culori intermediare în imagine cu o paletă de culori limitate. Când
dithering-ul este pornit se poate adăuga aproximativ 0.5LSB rms de zgomot Gaussian alb la
semnal pentru a fi convertit de ADC.
Aceasta adiţie este folositoare pentru aplicaţii care implică media pentru a creşte
rezoluţia dispozitivului, la fel ca în calibrare sau analize spectrale. În asemenea aplicaţii
modularea zgomotului este scăzută şi linearitatea diferenţială este îmbunătăţită de adăugarea
dithering-ului.

130
Sisteme de achiziţie şi prelucrare a datelor

Când se iau masuri de curent continuu cum ar fi controlarea calibrării aparatului,


trebuie pornit dithering-ul si o medie de 1000 de puncte pentru a face o singură citire. Acest
proces elimină efectele cuantificării şi reduce zgomotul de măsură rezultând în rezoluţie
îmbunătăţită.
Pentru aplicaţii de viteză mare care nu implică media sau analiza spectrală se
recomandă oprirea dithering-ului pentru a reduce zgomotul. Prin software se poate opri sau
porni circuitul dithering .

Fig. 9.9. Ilustrează efectele dithering-ului în achiziţia semnalelor.


Figura a. Arată un semnal sinusoidal mic (+/-4LSP) acţionat de dithering-ul oprit;
cuantificarea ADC este clar vizibilă.
Figura b. Arată ce se întâmplă când 50 de asemenea achiziţii sunt luate în medie
împreună ; cuantificarea este încă foarte vizibilă.
Figura c . Oscilaţia sinusoidală este achiziţionată de dithering-ul pornit. Există o
cantitate considerabilă de zgomot vizibil dar în medie de în jur de 50 de asemenea achiziţii,
cum este arătat în figura d, elimină atât zgomot adăugat cât şi efectele cuantificării.
Dithering-ul are efectul de a forţa cuantificarea zgomotului pentru a deveni o variabilă
aleatoare cu valoare 0 în loc de a fi o funcţie deterministică a semnalului de intrare.

9.2.1.5. Scanarea multicanale


Dispozitivul poate scana multiple canale la aceeaşi rată pe câte un canal ; totuşi trebuie
acordată atenţie maximă la timpii de stabilizare pentru fiecare din dispozitive. Nu este necesar
nici un timp de stabilizare adiţională între canale atâta timp cât câştigul este constant şi
impedanţa sursei este mică.
Când se scanează între canale la câştiguri diferite timpii de stabilizare pot creste. Când
PGIA schimbă la un câştig mai mare semnalul pe canalul precedent poate fi cu mult în afara

131
Plăci de achiziţie de date

celui nou, de domeniu mai mic. De exemplu un semnal de 4V se conectează la canalul 0 şi un


semnal de 1mV se conectează la canalul 1,si presupunem că PGIA este programat să aplice un
câştig de 1 la canalul 0 şi un câştig de 100 la canalul 1.
Când multiplexorul schimbă la canalul 1 şi PGIA schimbă la un câştig de 100, noul
domeniu este de +/- 50 mV. Pasul de aproximativ de la 4V la 1V este de 4.000% din noul
domeniu. Poate să dureze cel mult 100 μsec. pentru ca circuitul să se stabilizeze la 1LSB după
o tranzacţie aşa mare.
În general acest timp de stabilizare adiţional nu este necesar când PGIA schimbă la un
câştig mai mic. Timpii de stabilizare pot de asemenea să crească când se scanează semnalul
de independenţă mare din cauza unui fenomen numit injectare de sarcină (charge injection) ,
unde multiplexorul intrare analog injectează sarcina mică în fiecare semnal sursă când acea
sursă este selectată. Dacă impedanţa sursei nu este destul de mică efectul sarcinii – o eroare de
tensiune – nu s-a degradat până când ADC probează semnalul. Din acest motiv trebuie
păstrate impedanţele surselor sub 1KΩ pentru a face scanări de viteză mare.
Din cauza limitărilor descrise anterior a timpilor de stabilizare care rezultă din aceste
condiţii, scanarea pe canale multiple nu este recomandată decât dacă ratele de eşantionare
sunt destul de mici sau este necesară eşantionarea a mai multor semnale pe cât de simultan
posibil.
Datele sunt mult mai exacte şi independente pe canal dacă se acţionează date de pe
fiecare canal independent (ex. 100 de puncte din canalul 0, apoi 100 de puncte. Din canalul 1,
apoi 100 de puncte. Din canalul 2,…etc.).

9.2.1.6. Ieşire analogică


Acest dispozitiv are două canale de ieşire de tensiune analogică la conectorul I/O.
Domeniul bipolar este fixat la +/- 10V. Datele scrise spre convertorul digital analogic (DAC)
este interpretat în formatul complementului lui doi.

9.2.1.7. Intrări / Ieşiri digitale


Dispozitivul conţine 8 linii de intrări digitale (DIO 0-7) pentru folosire în scop
general.
Se poate configura software individual, fiecare linie pentru o intrare sau ieşire. La
pornirea sau resetarea sistemului, porturile digitale I/O sunt la impedanţe mari. Conectorul
hardware sus/jos pentru scopuri generale, numără 0 şi 1 şi sunt conectate pe placă la DIO 6 şi
respectiv DIO 7. Astfel se poate folosi DIO 6 şi DIO 7 pentru a controla contoare de scop
general. Semnalele de control sus/jos sunt numai pentru intrare şi nu afectează operarea linilor
DIO.
Dispozitivul PCI 6024E foloseşte o interfaţă periferică programabilă 82C55A pentru a
furniza 24 de linii digitale I/O adiţionale care reprezintă 3 porturi de 8 biţi –PA, PB, PC. Se
poate programa fiecare ca un port de intrare sau ieşire. Sunt 3 moduri de operare pentru
82C55A : I/O simplu (modul 0), I /O cu întoarcere (modul 1), I/O bidirecţional (modul2).
Modulele 1 şi 2, sunt cele 3 porturi sunt despărţite în 2 grupe ;grupa A şi grupa B.
Fiecare grupă au 8 biţi de date, A biţi pentru control de stare de la portul C (PC) modul 1 şi 2
folosesc semnale de hard shaking de la calculator pentru a sincroniza transferul de date.

9.2.1.8. Rutarea semnalelor de sincronizare


Chipul DAQ_STC furnizează interfaţa flexibila pentru a conecta semnalele de
sincronizare la alte dispozitive sau circuite externe.
Dispozitivul foloseşte bus-ul RTSI pentru a interconecta semnale de sincronizare între
dispozitivele (PCI si PXI) şi pinii de intrare cu funcţie programabilă (PFI) pe conectorul I /O
pentru a conecta dispozitivele la circuit externe.

132
Sisteme de achiziţie şi prelucrare a datelor

Aceşti conectori sunt proiectaţi pentru a permite dispozitivului să controleze şi să fie


controlat de alte dispozitive şi circuite.
Există un total de 13 semnale de sincronizare pentru DAQ_STC care pot fi controlate
de o sursă externă. Aceste semnale de sincronizare pot fi controlate de asemenea de semnale
generate intern de DAQ-STC, şi aceste secţiuni sunt în totalitate configurabile software.
Fig.(9.7.) arată un exemplu a multiplexorului de rutare de semnal controlând semnalul
CONVERT*.

9.2.1.9. Intrările cu funcţie programabilă


Cei 10 pini PFI sunt disponibili pe conectorul dispozitivului PFI 0-9 şi se conectează
la multiplexorul de rotare a semnalelor interne ale dispozitivului pentru fiecare semnal de
sincronizare.
Software-ul poate selecta oricare dintre pini PFI ca sursă externă pentru orice semnal
de sincronizare dat. Este important de remarcat că poate fi folosit oricare din pinii PFI ca
intrare de oricare dintre semnalele de sincronizare şi că mai multe semnale de sincronizare pot
folosi acelaşi PFI simultan.
Această schemă de rutare flexibilă reduce nevoia de a schimba conexiunile fizice pe
conectorul I/O pentru aplicaţii diferite.
De asemenea se poate porni fiecare pin PFI să scoată un semnal de sincronizare intern
specific. De exemplu dacă este nevoie de semnalul UPDATE* ca o ieşire pe conectorul I/O,
software-ul poate porni driverul de ieşire prin pinul PFI5/UPDATE*.

9.2.1.10. Ceasul RTSI si al dispozitivului


Multe funcţii ale dispozitivului necesită o frecvenţă să genereze semnalele de
sincronizare necesare pentru a controla A/D, sau semnalele cu scop general pe conectorul I/O.
Dispozitivul poate folosi ori baza de timp internă de 20 MHz sau o bază de tip primită de la
bus-ul RTSI. Suplimentar se poate configura dispozitivul să folosească baza de timp internă,
şi dispozitivul să poată programa pentru a trimite baza de timp prin bus-ul RTSI la un alt
dispozitiv care este programat să primească semnalul de timp.
Aceasta sursă de timp fie locală sau de la bus-ul RTSI este folosit direct de dispozitiv
ca o sursă de frecvenţă primară. Configuraţia implicită de la pornire este de a folosi baza de
timp internă fără a folosi semnalul de timp din bus-ul RTSI. Această bază de timp este
selectată în software.

9.2.1.11. Declanşatorul RTSI


Cele 7 linii declanşatoare RTSI de pe bus-ul RTSI furnizează o schemă de
interconectare foarte flexibilă pentru orice dispozitiv cu care împarte bus-ul RTSI.
Aceste linii bidirecţionale pot conduce oricare dintre cele 8 semnale de sincronizare în bus-ul
RTSI şi poate primi oricare din aceste semnale de sincronizare.

9.2.1.12. Conexiunile semnalelor


Acest capitol descrie cum se fac conexiunile pentru intrări şi ieşiri spre dispozitivele
dumneavoastră prin conectorul I/O. Tabelul 9.3 arată cablurile care pot fi folosite cu
conectorii I/O pentru a ne conecta spre diferite accesorii.

133
Plăci de achiziţie de date

Tabelul 9.3. Detaliile conectorului


Cablu pentru
Cablu pentru Cablu pentru
Dispozitiv cu Număr conectarea de
conectarea de conectarea de
conector I/O de pini accesorii cu
accesorii cu 60pini accesorii cu 50pini
100pini
SH6868Shielded SH6850Shielded
PCI- Cable, Cable,
68 N/A
6023E, R6868 Ribbon R6850 Ribbon
PCI-6024E Cable Cable
68M-50F
SHC68-68EP
Adapter when
DAQCard- Shielded Cable,
68 N/A used with the
6024E RC68-68 Ribbon
SHC68-68EP or
Cable
RC68-68
SH100100 SH1006868 R1005050
6025E 100
Shielded Cable Shielded Cable Ribbon Cable

9.2.1.13. Conectorii I/O


În fig. 9.10 este prezentată
descrierile pinilor pentru conectorul I/O de
68 pini pentru PCI-6024, iar în tabelul 9.4.
este prezentată descrierile semnalelor
conectorilor I/O pentru această placă de
achiziţie de date.
În tabelul 9.5 sunt prezentate
caracteristicile electrice corespunzătoare
semnalelor I/O.

Fig. 9.10. Descrierile pinilor I/O


pentru PCI 6024

134
Sisteme de achiziţie şi prelucrare a datelor

Tabelul 9.4. Descrierile semnalelor I/O


Numele
Referinţa Direcţie Descriere
semnalului
Masa intrare analogică – aceşti pini sunt
punctul de referinţă pentru măsurarea unui
singur capăt în configuraţia RSE şi punct
AIGND - - de întoarcere pentru măsurarea DIFF.
Toate cele 3 referinţe la masă AIGND,
AOGND şi DGND sunt conectate la
dispozitiv.
Canalele intrare analogică de la 0 la 15 –
se poate configura fiecare pereche de
ACH<0..15> AIGND Input canale ACH<i,i+8>(i=0,7), ca oricare
dintre intrările DIFF sau la un singur
capăt.
Sensul intrării analogice – acest pin
serveşte ca un nod de referinţă pentru
AISENSE AIGND Input
oricare dintre canalele ACH de la 0 la 15
în configuraţia NRSE.
Canalul analog de ieşire 0 – acest pin
DAC0OUT1 AOGND Output furnizează tensiunea de ieşire pentru
canalul analog 0.
Canalul analog de ieşire 1 – acest pin
DAC1OUT1 AOGND Output furnizează tensiunea de ieşire pentru
canalul analog 1.
Masa ieşirii analogice – tensiunile ieşirii
analogice au referinţă la acest nod. Toate
AOGND - -
cele 3 referinţe la masă AIGND, AOGND
şi DGND sunt conectate la dispozitiv.
Masa digitală – acest pin furnizează
referinţa pentru semnalele digitale la
conectorul I/O precum şi sursa de 5V
DGND - -
curent continuu. Toate cele 3 referinţe la
masă AIGND, AOGND şi DGND sunt
conectate la dispozitiv.
Semnale digitale I/O – DIO6 si 7 pot
DGND Input or
DIO<0..7> controla semnalul sus-jos numărătoarelor
Output
cu scop general respectiv 0 şi 1.
DGND Input or Portul A digital bidirecţional pentru
PA<0. .7>2
Output programarea interfeţei periferice.
DGND Input or Portul B digital bidirecţional pentru
PB<0..7>2
Output programarea interfeţei periferice.
Input or Portul C digital bidirecţional pentru
PC<0..7>2 DGND
Output programarea interfeţei periferice.
Sursă de 5V curent continuu – aceşti pini
suportă până la 1A de pe o sursă de 5V a
+5 V DGND Output
unui dispozitiv PXI sau până la 0,75A de
la un dispozitiv DAQ CARD. Siguranţa

135
Plăci de achiziţie de date

este automată.

Scan clock - acest pin pulsează o data


pentru fiecare conversie analog digitală
când este pornit în modul de scanare.
SCANCLK DGND Output
Marginea joasă spre înaltă indică când
semnalul de intrare poate fi înlăturat sau
schimbat pe alt semnal.
Strobare externă – puteţi schimba această
EXTSTROBE* DGND Output ieşire prin control software pentru a porni
evenimente pe dispozitive externe.
PFI0/Trigger 1 – ca intrare aceasta este
Input una dintre intrările cu funcţii programabile
PFI.
Ca ieşire acesta este semnalul TRIG1. În
achiziţia de date cu declanşare posterioară,
PFI0/TRIG1 DGND
o tranziţie joasă spre înaltă indică iniţierea
secvenţei de achiziţie. În aplicaţii cu
declanşare anterioară, o tranziţie joasă spre
Output înaltă indică iniţierea conversiilor cu
declanşare anterioară.
PFI1/Trigger 2 – ca intrare acesta este unul
din PFI.
Ca ieşire acesta este semnalul TRIG2. în
Input
aplicaţii cu declanşare anterioară, o
PFI1/TRIG2 DGND
tranziţie joasă spre înaltă indică iniţierea
Output
conversiilor cu declanşare posterioară.
TRIG2 nu este folosit în aplicaţii cu
declanşare posterioară.
PFI2/Convert – ca intrare acesta este unul
din PFI.
Input
Ca ieşire acesta este semnalul
PFI2/CONVERT* DGND
CONVERT*. O curbă de la înalt spre jos
Output
indică că o conversie analog digitală are
loc.
Sursa PFI/Counter1 - ca intrare acesta este
Input unul din PFI.
PFI3/GPCTR1_SOURCE DGND Ca ieşire acesta este semnalul GPCTR1-
Output SOURCE. Acest semnal reflectă sursa
conectată la contorul cu scop general 1.
PFI4/Counter 1 Gate - ca intrare acesta
Input este unul din PFI.
PFI4/GPCTR1_GATE DGND Ca ieşire acesta este semnalul GPCTR1-
Output GATE. Acest semnal reflectă semnalul
poartă la contorul cu scop general 1
Counter1 Output – această ieşire este de la
GPCTR1_OUT DGND Output contorul de ieşire în scop general.
Input PFI5/Update - această ieşire este de la
PFI5/UPDATE* DGND contorul de ieşire în scop general.
Output Ca ieşire acesta este semnalul UPDATE*.

136
Sisteme de achiziţie şi prelucrare a datelor

O curbă înaltă spre joasă pe UPDATE*


indică că ieşirea analogică primară este
actualizată pe PCI 6024E.
PFI6/Waveform Trigger - această ieşire
este de la contorul de ieşire în scop
Input
general.
PFI6/WFTRIG DGND Ca ieşire acesta este semnalul WFTRIG.
În secvenţe temporizate ale ieşirii
Output
analogice o tranziţie jos spre înalt indică
iniţierea generării formei de undă.
PFI7/Start of Scan - această ieşire este de
la contorul de ieşire în scop general.
Input Ca ieşire acesta este semnalul
DGND STARTSCAN. Ca ieşire acest pin
PFI7/STARTSCAN
pulsează o dată la începutul fiecărei
Output scanări a intrării analogice intervalul de
scanare. O tranziţie jos spre înalt indică
începerea scanării.
PFI8/Counter0 Source - această ieşire este
Input
de la contorul de ieşire în scop general.
PFI8/GPCTR0_SOURCE DGND Ca ieşire acesta este semnalul GPCTRO-
SOURCE. Acest semnal reflectă sursa
Output
conectată la contorul 0.
PFI9/Counter0 Gate - această ieşire este de
Input
la contorul de ieşire în scop general.
PFI9/GPCTR0_GATE DGND Ca ieşire acesta este semnalul GPCTRO-
GATE. Acest semnal reflectă semnalul
Output
poartă conectat la contorul 0.
Counter0 Output – această ieşire este de la
GPCTR0_OUT DGND Output
contorul 0 al ieşirii.
Frequency Output – această ieşire este de
FREQ_OUT DGND Output
la generatorul de frecvenţă.

137
Plăci de achiziţie de date

Tabelul 9.5. Semnale I/O

138
Sisteme de achiziţie şi prelucrare a datelor

Tabelul 9.5. Semnale I/O (continuare)

9.2.2. Semnalele corespunzătoare intrării analogice


Semnalele intrării analogice pentru acest dispozitiv sunt ACH<0..15>, SENSE şi
AIGND. Conectarea acestor semnale ale intrării analogice spre dispozitivul nostru depinde de
dispozitivul semnalului de intrare şi configuraţia canalelor intrării analogice pe care le
folosim.

9.2.2.1. Tipuri de surse de semnal


Când configurăm canalele de intrare si facem conexiunile semnalului trebuie mai întâi
determinat dacă sursele semnalului sunt variabile sau raportate la masă. Următoarele secţiuni
descriu cele două tipuri de semnal.
a) Surse de semnal variabil
O sursa de semnal variabil nu este conectată la sistemul de pământare, dar in schimb
are un punct izolat de raportare la masă. Un exemplu de surse de semnal variabil sunt ieşirile
transformatoarelor, termocuplelor, dispozitive cu baterii, izolatori optici şi amplificatori de
izolaţie. Trebuie conectată referinţa la masă a unui semnal variabil la AIGND printr-un
rezistor pentru a stabili o raportare locală sau la placă. Contrar, semnalul de intrare măsurat
variază precum sursa in afara domeniului intrării.
b) Surse de semnal raportate la masă
O sursă de semnal raportată la masă este conectată la sistemul de pământare deci este
deja conectat la un punct comun de pământare cu dispozitivul, presupunând că acel calculator
este conectat la aceeaşi sursă de curent. Instrumentele sau dispozitivele cu ieşiri neizolate care
se conectează la sursa de curent sunt surse de semnal variabil.
Diferenţa de potenţial intre două instrumente conectate la aceeaşi sursă de curent este
in general intre 1 si 100 de mV. Această diferenţă poate fi mult mai mare dacă circuitele de
alimentare sunt conectate impropriu. Dacă o sursă de semnal raportată la masă este măsurată
incorect, această diferenţă poate apărea cu o eroare de măsurare.

139
Plăci de achiziţie de date

9.2.2.2. Modurile intrării analogice


Putem configura dispozitivul pentru unul dintre cele trei moduri de intrare – fără
referinţă NRSE, cu referinţă RSE şi diferenţial DIFF. Cu diferitele configuraţii putem folosi
amplificatorul instrumental cu câştig programabil (Programmable Gain Instrumentation
Amplifier PGIA).
În fig. 9.11 este prezentată schema
de utilizare a amplificatorului cu câştig
programabil.
În modul de utilizare unipolar (RSE
sau NRSE) semnalele conectate la
ACH<0..15> sunt rutate spre intrarea
pozitivă a PGIA. În modul DIFF semnalele
conectate de la ACH<0..7> sunt rutate la
intrarea pozitivă a PGIA şi semnalele
conectate la ACH<8..15> sunt rutate la
intrarea negativă a PGIA.
În modul NRSE semnalul
AISENSE este conectat intern la intrarea
negativă a PGIA când canalele
Fig. 9.11. Amplificator cu câştig programabil. corespunzătoare sunt selectate. În modurile
DIFF si RSE, AISENSE este lăsat
neconectat. AIGND este un semnal obişnuit al intrării analogice care duce direct la punctul de
conectare cu masa de pe dispozitiv. Putem folosi acest semnal ca un punct de conectare
generală la masa dispozitivului daca este necesar. PGIA aplică câştiguri şi respingerea
tensiunii in mod obişnuit şi prezintă impedanţe mari de intrare spre semnalele analogice
conectate la dispozitiv. Semnalele sunt rutate la intrările pozitive si negative ale PGIA prin
multiplexorul de intrare pe dispozitiv.
PGIA converteşte două semnale de intrare într-un semnal care este diferenţa dintre
cele două semnale de intrare înmulţite cu câştigul amplificatorului. Tensiunea de ieşire a
amplificatorului este referinţa cu masa dispozitivului. Convertorul analog-digital ADC al
dispozitivului măsoară această tensiune de ieşire când face conversia analog-digital.
Toate semnalele trebuie să aibă referinţă la masă, la sursă sau la dispozitiv. Dacă
aveţi o sursă variabilă faceţi referinţa semnalului la masă folosind modul de intrare RSE sau
configuraţia de intrare DIFF cu rezistori. Dacă aveţi o sursă cu pământare nu faceţi referinţa
semnalului la AIGND. Putem evita această referinţă folosind configuraţia de intrare DIFF sau
NRSE.

9.2.2.3. Conexiunile semnalelor intrării analogice


Secţiunea următoare prezintă folosirea măsurărilor la un singur capăt şi DIFF şi
recomandările pentru măsurarea atât a semnalelor variabile cât şi cu referinţă la masă.
Fig. 9.12 sumarizează configuraţiile de intrare recomandate pentru ambele tipuri de
surse de semnale.

140
Sisteme de achiziţie şi prelucrare a datelor

Fig. 9.12. Sumar al conexiunilor intrării analogice

a. Conexiunea diferenţială (configurarea intrării DIFF)


O conexiune DIFF este una în care semnalele intrării analogice au propriul semnal de
referinţă sau cale de întoarcere a semnalului. Aceste conexiuni sunt disponibile când canalul
selectat este configurat în modul de intrare DIFF. Când semnalul de intrare este conectat la
intrarea pozitivă a PGIA şi semnalul său de referinţă sau de întoarcere este conectat la intrarea
negativă a PGIA.
Când configurăm un canal pentru intrare DIFF, fiecare semnal foloseşte două intrări
multiplexate: una pentru semnal şi una pentru semnalul de referinţă. Astfel cu o configuraţie
DIFF pentru fiecare canal până la opt canale de intrare analog sunt disponibile.

141
Plăci de achiziţie de date

Folosind conexiuni de intrare DIFF pentru orice canal care întruneşte oricare dintre
condiţiile următoare:
- semnalul de intrare este de nivel scăzut (mai puţin de 1V)
- firele care conectează semnalul la dispozitiv sunt mai lungi de 3 metrii
- semnal de intrare – necesita un punct de referinţă la masă separată
- firele traversează printr-un mediu cu referinţe.
Conexiunile semnalelor DIFF reduc interferenţele şi cresc respingerea zgomotului.
Conexiunile semnalelor DIFF permit de asemenea semnalelor de intrare să varieze în
interiorul limitelor normale ale PGIA.

b. Conexiuni diferenţiale pentru surse de semnal cu referinţă la masă


Fig. ( 9.13) arată conectarea unei surse de semnal cu referinţă la masă la un canal de
pe dispozitivul configurat în modul de intrare DIFF.

Fig. 9.13. Conexiunile intrării diferenţiale pentru semnale cu referinţă la masă

Cu acest tip de conexiune PGIA respinge zgomotul din semnal si diferenţa de


potenţial dintre sursa semnalului şi masa dispozitivului arată ca Vcm din fig. (9.13)

c. Conexiuni diferenţiale pentru sursa de semnal fără referinţă sau variabilă


Fig. 9.14 arată conectarea unei surse de semnal variabil la un canal configurat în
modul de intrare DIFF.

142
Sisteme de achiziţie şi prelucrare a datelor

Fig. 9.14. Conexiunile intrării diferenţiale pentru semnale fără referinţă

Fig. (9.14) arată doi rezistori conectaţi în paralel cu semnalul unei surse de semnal
variabil. Dacă nu folosim rezistorii şi sursa este într-adevăr variabilă, sursa nu este probabil să
rămână în raza de semnal normal PGIA. PGIA se va satura cauzând citiri eronate.
Trebuie făcută referinţa sursei la AIGND. Cel mai uşor mod este de a conecta partea
pozitivă a semnalului la intrarea pozitivă a PGIA şi conectarea părţii negative a semnalului la
AIGND cât şi la intrarea negativă a PGIA fără rezistenţe. Acest conector funcţionează bine
pentru surse cuplate la curent continuu cu impedanţe mici(mai puţin de 100Ω).
Totuşi pentru impedanţe ale sursei mai mari, această conexiune lasă semnalul DIFF
semnificativ nebalansat. Zgomotul care cuplează electrostatic pe linia pozitivă nu cuplează pe
linia negativă pentru că este conectat la masă. De aceea acest zgomot apare ca un semnal mod
DIFF în locul unui semnal normal si PGIA nu îl respinge. În acest caz locul conectării directe
a linii negative la AIGND, trebuie conectat la AIGND printr-un rezistor care este aproximativ
de 100 ori echivalentul impedanţei sursei.
Rezistorul pune ruta semnalului aproape în balans, astfel încât aproape aceeaşi
cantitate de zgomot intră în ambele conexiuni rezultând o respingere mai bună a zgomotului
cuplat electrostatic. De asemenea această configuraţie nu reduce încărcătura pe sursă(în afară
de impedanţe de intrare foarte mari ale PGIA).
Putem balansa complet semnalul conectând încă un rezistor de aceeaşi valoare între
intrarea pozitivă şi AIGND aşa cum este arătat în fig. (9.14) această configuraţie balansată
total oferă respingere puţin mai bună a zgomotului dar are dezavantajul încărcării sursei cu
combinaţia în serie a celor doi rezistori.

143
Plăci de achiziţie de date

Dacă de exemplu impedanţa sursei este 2kΩ şi fiecare dintre cei doi rezistori sunt
100kΩ, rezistorii încarcă sursa cu 200kΩ şi produc o eroare cu câştig de 1%.
Ambele intrări ale PGIA necesită o cale de curent continuu spre masă pentru ca PGIA
să funcţioneze. Dacă sursa este conectată la curent alternativ PGIA necesită un rezistor între
intrarea pozitivă şi AIGND. Dacă sursa are impedanţă mică, alegeţi un rezistor care este
destul de mare pentru a nu încărca sursa în mod semnificativ dar destul de mic pentru a nu
produce o tensiune de intrare semnificativă ca rezultat al curentului de intrare (tipic 100kΩ
pană la 1MΩ).
În acest caz putem lega intrarea negativă direct la AIGND. Dacă sursa are impedanţă
mai mare de ieşire, balansaţi calea semnalului cum a fost descris anterior folosind aceeaşi
valoare a rezistorului pe intrarea pozitivă cat şi negativă; luaţi în seamă că există o eroare de
câştig din descărcarea sursei.

d. Conexiuni unipolare
O conexiune unipolară este una în care semnalul analog de intrare al dispozitivului
este cu referinţă la o masă pe care o împarte cu alte semnale de intrare. Semnalul de intrare
este legat la intrarea pozitivă a PGIA şi masa este legată la intrarea negativă a PGIA.
Când fiecare canal este configurat pentru intrări la un singur capăt sunt disponibile
până la 16 canale de intrare analogice. Putem folosi conexiunile de intrare la un singur capăt
pentru orice semnal de intrare care întruneşte următoarele condiţii:
- semnalul de intrare este de nivel înalt (mai mare de 1V)
- firele care conectează semnalul la dispozitiv au mai puţin de 3m
- semnalul de intrare poate împărţii un punct comun de referinţă cu alte semnale
Conexiunile de intrare DIFF sunt recomandate pentru integritate mai mare a
semnalului pentru orice semnal de intrare care nu îndeplineşte condiţiile de mai sus.
Folosind software putem configura canalele pentru două tipuri diferite de conexiuni la
un singur capăt – configuraţie RSE şi NRSE. Configuraţia RSE este folosită petru surse de
semnal variabile; în acest caz dispozitivul furnizează punctul de referinţă al masei pentru
semnalul extern. Configuraţia de intrarea NRSE este folosit pentru surse de semnal cu
referinţă la masă; în acest caz semnalul extern furnizează propriul punct de referinţă la masă.
În configuraţia la un singur capăt mai mult zgomot electrostatic şi magnetic intră in
conexiunile semnalului decât în configuraţia DIFF. Cuplarea este rezultatul diferenţelor în
calea semnalului. Cuplarea magnetică este proporţională cu zona dintre conectorii celor două
semnale. Cuplarea electrică este o funcţie dintre cât de mult variază câmpul electric între cei
doi conectori.

e. Conexiuni unipolare pentru surse de semnal variabil (configuraţia RSE)


Fig. 9.15 arată cum să conectăm o sursă de semnal variabil la un canal configurat
pentru modul RSE.

144
Sisteme de achiziţie şi prelucrare a datelor

Fig. 9.15. Conexiuni unipolare pentru semnale variabile sau fără referinţă

f. Conexiunea unipolare pentru surse de semnal legate la masă (configuraţia


NRSE)
Pentru a măsura o sursă de semnal legat la masă cu o configuraţie la un singur capăt
trebuie să configurăm dispozitivul în configuraţia de intrare NRSE. Conectaţi semnalul la
intrarea pozitivă a PGIA şi conectaţi referinţa la masa locală a semnalului la intrarea negativă
a PGIA. Punctul de masă a semnalului se conectează la pinul AISENSE. Orice diferenţă de
potenţial între masa dispozitivului şi masa semnalului apare ca un semnal normal atât la
intrarea pozitivă cât şi negativă a PGIA, şi diferenţa este respinsă de amplificator. Dacă

Fig. 9.16. Conexiuni unipolare pentru semnale cu referinţă.

145
Plăci de achiziţie de date

circuitul de intrare al dispozitivului are referinţă la masă, în această situaţie în configuraţia


RSE această diferenţă în potenţialul masei apare ca o eroare în tensiunea măsurată. Fig. (9.16)
arată cum să conectăm o sursă de semnal conectată la masă la un canal configurat pentru
modul NRSE.

146

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