Sunteți pe pagina 1din 67

Capitolul 1

Rolul unui sistem de achiziţie de date


• Un sistem de achiziţie de date culege informaţiile necesare
cunoaşterii şi conducerii unui proces industrial şi le prelucrează în
vederea exploatării.
• Starea procesului industrial este caracterizată în fiecare moment de
valori ale unui anumit număr de parametri fizico-chimici. Atribuirea
unei valori numerice unei mărimi fizice sau chimice se realizează pe
baza procesului de măsurare.

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Sistem de achiziţie de date pentru mai multe mărimi, situaţie specifică
majorităţii proceselor industriale
Structura de bază a unui sistem de achiziţie de date trebuie să asigure îndeplinirea unei serii de funcţiuni:
• extragerea informaţiilor referitoare la mărimile din proces şi convertirea acestora în semnale electrice, prin
intermediul traductoarelor şi al blocurilor de condiţionare a semnalului;
• tratamentul analogic al semnalului, cu rol de a curăţa semnalul de zgomot şi paraziţi: amplificare şi filtrare;
• selecţia semnalului util din mulţimea semnalelor disponibile, prin intermediul multiplexării;
• conversia semnalului sub formă numerică, prin intermediul blocului de eşantionare-blocare şi al convertorului A/D;
• coordonarea şi conducerea acestor operaţii, asigurată de calculator.
În plus, calculatorul poate efectua diverse prelucrări asupra semnalelor numerice rezultate, în vederea
facilitării exploatării acestora sau a corecţiei erorilor specifice aparaturii utilizate (compensarea derivei termice,
autoetalonare etc.). Condiţiile de utilizare a sistemului pot necesita adăugarea de funcţiuni suplimentare, cum ar fi
transmiterea la distanţă, prin linie bifilară, după conversia tensiune-frecvenţă sau tensiune-intensitate, prin emisie de
unde hertziene, realizată în general prin modularea frecvenţei sau cu impulsuri modulate, sau prin fibră optică, după
conversia semnalului electric în semnal optic.

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Conditii impuse
Proiectarea unui sistem de achiziţie de date trebuie să conducă la satisfacerea condiţiilor impuse de aplicaţia
specifică şi definite în caietul de sarcini.
În principal, aceste condiţii se referă la domeniul maxim de măsurare, precizie, rezoluţie, rapiditate, frecvenţă
de eşantionare şi timpul de scrutare.
• Domeniul maxim de măsurare e definit ca fiind diferenţa dintre valorile mmax şi mmin care pot fi
măsurate. S-a notat cu „m” mărimea măsurandului.
Dm= mmax - mmin
• Precizia unui sistem se exprimă prin intermediul incertitudinii de măsurare care afectează rezultatul,
notată cu δM.
• Această incertitudine poate fi doar estimată. Valoarea adevărată se înscrie în intervalul M ± δM, unde M
reprezintă rezultatul furnizat de către sistem.
• Eroarea relativă a SAD se notează cu εp şi se defineşte:
εp = δM/(Mmax - Mmin)
• Rezoluţia se defineşte ca fiind variaţia minimă Δm a mărimii măsurandului care produce o variaţie ΔM a
valorii M măsurate. Rezoluţia specifică numărul de valori distincte care pot fi asociate măsurandului pe
domeniul maxim de măsurare.
• Rapiditatea caracterizează capacitatea dispozitivului de a răspunde la variaţiile în timp ale măsurandului.
• Frecvenţa de eşantionare trebuie să respecte condiţia Nyquist:
Fe ≥ 2Fh
unde Fh reprezintă valoarea cea mai ridicată din spectrul de frecvenţe al semnalului de măsurare.
• Practic, frecvenţa de eşantionare trebuie să fie mult superioară valorii rezultate din condiţia Nyquist.
• Între două operaţii succesive de eşantionare efectuate pe acelaşi canal de măsurare se derulează
perioada Te = 1/Fe. Pe durata acestui interval, trebuie eşantionate şi convertite N semnale,
corespunzătoare la N canale.
• Timpul de scrutare reprezintă durata necesară achiziţiei complete pe un canal. Se poate scrie astfel:
Ntsc ≤ Te

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Influenţa mediului de măsurare asupra
sistemului de achiziţie de date (SAD)
Prin mediu de măsurare se înţelege totalitatea mărimilor fizice şi chimice, altele decât măsurandul,
care influenţează diferitele componente ale SAD, modificându-i astfel performanţele prin alterarea
semnalului de măsură.
Cele mai importante influenţe le au temperatura, paraziţii şi perturbaţiile electromagnetice, dar pot fi
menţionaţi şi alţi factori care afectează rezultatul măsurării: vibraţii, umiditate, radiaţii nucleare, etc.
Paraziţii reprezintă tensiuni sau curenţi variabili şi nedoriţi, care se suprapun peste semnalul util, produs sau
tratat de către un aparat de măsură.
Zgomotul de fond reprezintă totalitatea semnalelor nedorite, de natura fizică a componentelor care constituie
dispozitivul electronic.
Spre deosebire de zgomotul de fond, care este o caracteristică proprie oricărui circuit electronic, paraziţii se
transmit prin cuplajul intempestiv între un circuit sursă şi circuitul pe care îl perturbează.
Paraziţii pot degrada informaţia conţinută de semnalul util şi pot provoca reacţii inoportune în sistemele de
reglare. Această situaţie se produce mai ales atunci când semnalele utile sunt de mică amplitudine, respectiv
în zona iniţială a SAD (traductoare, blocuri de condiţionare a semnalului).
Influenţa paraziţilor asupra circuitului perturbat depinde de:
- natura şi intensitatea fenomenelor electrice din circuitul sursă
- influenţa sursei asupra circuitului perturbat;
- caracteristicile electrice ale circuitului perturbat.
Perturbaţiile provocate de paraziţi pot fi minimizate sau chiar evitate, dacă se acţionează:
- asupra sursei, pentru a limita pe cât posibil fenomenele care provoacă paraziţii;
- asupra cuplajului între circuit şi sursă, în vederea anulării sau reducerii influenţei perturbatoare;
- asupra circuitului perturbat, în vederea minimizării sensibilităţii semnalului la paraziţi.
Pentru a reduce influenţa mediului înconjurător asupra SAD, există două modalităţi de acţiune:
- prin minimizarea influenţei acestor factori, prin adoptarea de măsuri de protecţie adecvate: suporţi
antivibraţii, incinte termostatate, blindaje antiparaziţi, etc.
- prin luarea în considerare a influenţei acestora, în vederea corectării rezultatului măsurării.

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Componentele sistemului de achizitie de date.
Traductoare
Semnalul de ieşire al unui traductor este de natură electrică. De cele mai multe ori, acest semnal este o tensiune
analogică, dar poate fi şi intensitatea curentului electric, frecvenţa acestuia sau o serie de pulsaţii legate de
mediul în care sunt amplasate traductoarele şi de fenomenul fizic pe care trebuie să îl detecteze.
Caracteristicile cele mai importante ale traductoarelor sunt domeniul de măsurare, sensibilitatea, eroarea
maximă, reproductibilitatea şi fiabilitatea.
Domeniul de măsurare al unui traductor reprezintă diferenţa algebrică între valorile extreme mmax şi mmin ale
mărimii de măsurat pentru care mărimea de ieşire a traductorului, situată în interiorul domeniului nominal de
utilizare, nu este afectată de erori superioare erorii maxime tolerate:
D=mmax-mmin
Sensibilitatea S(m) a unui traductor, pentru o valoare m dată a mărimii de măsurat, este egală cu raportul dintre
variaţia mărimii electrice de ieşire şi variaţia corespunzătoare a mărimii de măsurat:
S(m)=(Δs/Δm)m
Traductoarele reprezintă primele elemente ale unui sistem de achiziţie de date. Fiecărei mărimi de măsurat îi
este asociat un traductor, cu rolul de a converti valoarea mărimii într-un semnal electric (mărimea de ieşire a
traductorului) care, după o etapă de condiţionare, va fi tratat corespunzător în cadrul sistemului de achiziţie.
În situaţia în care mărimile fizice sunt direct transformabile în semnale electrice (de exemplu cuplul termoelectric)
se vorbeşte despre transformarea directă a mărimilor fizice.
În unele cazuri, mărimile mecanice sau fizice necesită o transformare prealabilă pentru a putea fi convertite în
semnale electrice. în aceste condiţii, traductorul este prevăzut cu două elemente sensibile. De exemplu, pentru
un captor de forţă cu mărci tensometrice, corpul pe care se face determinarea constituie elementul primar, iar
puntea constituită de mărcile tensometrice reprezintă al doilea element sensibil, care asigură transformarea într-
o mărime electrică. Elementele secundare pot fi active sau pasive.
În funcţie de sursa de energie pe care o utilizează, traductoarele se pot clasifica în
•traductoare fără aport de energie externă,
•traductoare cu aport de energie internă
•traductoare cu energie modulată de către mărimea de măsurat.
SISTEME DE ACHIZITII DATE.
GENERALITATI. Note de Curs
Traductoare fără aport de
energie externă
Din această categorie fac parte traductoarele cu variaţie de flux magnetic.
Această variaţie, proporţională cu variaţia mărimii de măsurat, induce la bornele
unei bobine sau ale unui conductor simplu o forţă electromotoare E, care poate
fi modulată în frecvenţă sau în amplitudine.

Mărimea Mărimea
Elementul sensibil: Relaţie: Elementul sensibil: Relaţie:
de măsurat: de măsurat:

Cristal Generator prin E=f(dΦ/dt)


Forţa F Q=k·F Viteza dx/dt
piezoelectric inducţie =k·(dx/xt)

Cuplu Generator
Temperatura T V=f( θ ) Deplasarea dx Q=f(dx)
termoelectric triboelectric

Fluxul de S-au notat: Q; sarcina electrică; V: diferenţa de potenţial; E: forţa


energie Celulă fotovoltaică V=f( R ) electromotoare; Φ: fluxul magnetic; k: coeficient de
radiată R proporţionalitate

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Traductoare cu aport de energie externă
Fie un potenţiometru rotativ la care axa este antrenată de un element sensibil primar. Dacă la bornele
potenţiometrului se aplică o tensiune fixă E, tensiunea culeasă între o extremitate şi cursorul solidar cu
axa este proporţională cu mărimea determinată. În această situaţie, se spune că există aport de energie
externă. Modul prin care se modulează semnalul depinde de circuitele de măsură asociate (de exemplu
modularea amplitudinii unei tensiuni alternative care alimentează un transformator diferenţial sau
modularea frecvenţei unui circuit acordat). In tabel se prezintă transformările pe baza cărora are loc
funcţionarea acestor traductoare.
Mărimea în care se face
Transformări posibile:
traducerea semnalului:

R=F(ρ,l,S)
Rezistenţa R
ρ: rezistivitatea; L: lungimea; S: secţiunea

C=f(S,e,ε)
Capacitatea C
S: suprafaţa armăturilor; e: distanţa dintre armături; ε: permitivitatea

L=f(l,S,μ,n)
Inductanţa L
L: lungimea; S: suprafaţa unei spire; n: număr de spire; μ: permeabilitatea

M=f(L1, L2)
Inductanţa mutuală M
L1, L2: inductanţele celor două bobine

V=f(ω, M1,M2)
Tensiunea V (M1, M2 sunt, în general, funcţii de un parametru al circuitului magnetic)
ω: pulsaţie, M1, M2: inductanţe mutuale

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Traductoare cu energie modulată
de către mărimea de măsurat
• Într-o sondă ionică, intensitatea curentului dintr-un circuit electric este modulată de
conductivitatea mediului. În acest caz, traductorul trebuie privit ca un receptor de
energie. Acesta este si cazul analizelor spectrale, unde materialul este excitat cel mai
frecvent cu ajutorul unei radiaţii, al cristalografiei cu radiaţii X sau γ, etc. In figura este
reprezentata Modularea radiaţiei prin modificarea proprietăţilor de transmisie într-un
material supus acţiunii unei forţe sau unei deformaţii
M

S R s

S: sursa de energie radiantă (emisie de energie nediferenţiată: lumină, radiaţii


α, β, γ, etc.)
M: mediu intermediar (modulare; energie diferenţiată)
R: receptor (cuplu termoelectric, cameră de ionizare, etc.)
s: semnal electric purtător al informaţiei.

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Condiţionarea semnalului şi conversia analog-numerică
Un fenomen fizic sau chimic se reflectă într-o valoare de tensiune sau curent electric prin intermediul unor
traductoare potrivite. Acest semnal trebuie însă transformat într-un semnal care să poată fi exploatat cu
precizie de către sistemul de achiziţie. De regulă, trebuie efectuate următoarele transformări:
• amplificare în putere, dacă distanţele sunt mai mari de câţiva metri, pentru a diminua zgomotul
care apare pe cablul de transmisie: creşterea tensiunii, diminuarea impedanţei, simetrizare;
• adaptarea nivelului respectiv amplificarea tensiunii până la o valoare de 5...10 V, valoare cu
care operează plăcile de achiziţie, sau eventual transformarea semnalului în semnal
proporţional de curent, cuprins între 4 şi 20 mA;
• adaptarea impedanţei între traductor şi dispozitivul de măsurare;
• filtrare, fie pentru a atenua zgomotul, fie pentru a evita erorile care apar în timpul conversiei;
• eliminarea tensiunilor parazite;
• linearizare;
• diverse corecţii.
Majoritatea dispozitivelor electronice permit doar tratamentul semnalului electric sub formă de tensiune. Rolul
unui dispozitiv de condiţionare a semnalului este, astfel, convertirea mărimii electrice de ieşire a
traductorului, alta decât tensiunea, în tensiune a cărei amplitudine sau frecvenţă să fie determinate de
mărimea de ieşire furnizată de traductor. Anumite circuite de condiţionare a semnalului permit, în plus,
efectuarea de corecţii, cum ar fi compensarea mărimilor de influenţă sau linearizarea.
Convertoarele analog-numerice primesc la intrare o tensiune analogică vi şi furnizează la ieşire un
cuvânt de „n” biţi, corespunzător valorii numerice N asociată tensiunii vi.
Pentru un cuvânt de ieşire de „n” biţi, convertorul poate furniza 2n variante, cuprinse între 0 şi 2n-1. Fiecărei
dintre aceste variante îi este asociată o plajă elementară de valori q, numită cuantum:
q = Vmax / 2n
unde Vmax reprezintă tensiunea maximă care poate fi convertită.
Există mai multe metode de conversie, alegerea metodei optime fiind realizată pe baza mai multor criterii. unul
dintre cele mai importante este timpul tc necesar efectuării conversiei.

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Conexiunea instrumentelor de
măsurare şi transmisii numerice
Traductorul şi dispozitivele de condiţionare a semnalului furnizează ca mărime de ieşire o tensiune
corespunzătoare mărimii de măsurat. De regulă, traductorul este situat la o oarecare distanţă de dispozitivele
care asigură tratamentul şi exploatarea informaţiei. Prin urmare, transmiterea informaţiei trebuie realizată în
condiţii care să nu permită degradarea acesteia prin paraziţi sau distorsiuni provocate de lipsa de calitate a
legăturii.
Transmiterea datelor poate fi realizată analogic sau numeric.
numeric
Transmisia numerică este recomandată atunci când informaţia trebuie prelucrată şi tratată ulterior deoarece
dispozitivele care realizează tratamentul semnalului sunt, la rândul lor, numerice. De asemenea, transmisia
numerică este mai economică, întrucât permite partajarea aceleiaşi linii sau magistrale între mai multe
echipamente care generează informaţie, spre deosebire de transmisia analogică, la care fiecărui traductor
trebuie să i se asocieze o linie separată. Este evident că, pentru a putea fi utilizate transmisii numerice, datele
trebuie mai întâi convertite sub formă numerică.
Transmisiile numerice pot fi realizate paralel sau în serie.
În cazul transmisiei paralele, cei opt biţi ai unui octet sunt transmişi simultan, pe opt linii. Acest tip de
transmisie permite transferul rapid al datelor, dar presupune un număr mare de linii. În plus se mai adaugă
legături suplimentare, indispensabile pentru a controla fluxul de date.
Datorită costurilor mari pe care le impune, precum şi datorită pericolului interferenţelor, acest tip de transmisie
se foloseşte doar pentru distanţe scurte (câţiva metri).
În cazul transmisiei serie, biţii care formează un octet sunt transmişi unul după altul, pe o linie sau două,
fapt ce conduce la viteze de transfer reduse. În schimb, costul liniilor se diminuează foarte mult, deci
distanţele pe care se realizează transmisia pot creşte sensibil.

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Folosirea microprocesoarelor in sistemele de achizitii de date.
Sisteme de achiziţie de date cu un canal
Un sistem de achiziţie de date reprezintă, practic, o interfaţă între o zonă analogică, reprezentată de mulţimea
traductoarelor pentru diverse mărimi fizice, precum şi de dispozitivele de condiţionare a semnalului, şi o zonă numerică,
formată din convertoarele analog-numerice (CAN) şi dispozitivele de tratament şi comandă, care pot fi sisteme cu
microprocesor. Arhitectura unui sistem de achiziţie de date trebuie definită în funcţie de numărul mărimilor care trebuie
măsurate, de viteza de variaţie a acestora şi de obiectul pe care îl urmăreşte sistemul.
Cele mai simple configuraţii de sisteme de achiziţie de date îl reprezintă sistemele de achiziţie cu un singur canal. Practic,
este vorba despre un lanţ de măsurare numeric, care poate fi deschis, dacă se urmăreşte doar obţinerea mărimii de
măsurat, în vederea afişării sau înregistrării pentru o prelucrare ulterioară sau închis, dacă rezultatul măsurării acţionează
asupra comenzii unui proces. La acest tip de sisteme, semnalul provenit de la un traductor este condiţionat prin
intermediul unui bloc de condiţionare a semnalului (punte Wheatstone, montaj potenţiometric, amplificator adaptor de
impedanţă sau amplificator pentru instrumentaţie), transmis apoi unui sistem de eşantionare – blocare, al cărui rol este
de a preleva valorile instantanee şi de a le menţine la intrarea convertorului analog-numeric pe o perioadă cel puţin egală
cu timpul necesar conversiei.
Cele două circuite sunt comandate de un sistem logic care, la momente de timp prestabilite, furnizează comanda de
eşantionare, blochează semnalul la intrarea convertorului şi gestionează funcţionarea acestuia din urmă. Această funcţie
poate fi realizată de un sistem logic cablat simplu sau de către un microprocesor care oferă posibilitatea de a programa
funcţionarea sistemului la parametrii doriţi. Semnalul furnizat la ieşirea din convertorul analog-numeric poate fi tratat de
către un calculator, poate fi memorat pentru analiza ulterioară sau poate fi reconstituit în forma sa analogică iniţială cu
ajutorul unui convertor numeric-analogic, formă ce va fi folosită pentru controlul procesului (reglarea temperaturii într-un
cuptor, controlul calităţii şi al producţiei, etc.)
Structura unui sistem de achiziţie de date cu un canal

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Sisteme de achiziţie de date cu « n » canale
În majoritatea situaţiilor industriale, este necesar să se achiziţioneze mai multe mărimi în acelaşi timp. Se constituie astfel
un sistem de achiziţie de date cu multiplexare temporală. Multiplexorul este un dispozitiv format dintr-un set de
comutatoare analogice la care ieşirile sunt legate astfel încât să constituie o ieşire unică a multiplexorului. Comanda
închiderii şi deschiderii comutatoarelor este efectuată prin intermediul unei intrări de adresare a fiecărui canal. Aceasta
este o intrare logică pe unul sau mai mulţi biţi. O intrare de ”n” biţi adresează 2n canale. Fiecare canal este caracterizat de
adresa sa, care reprezintă numărul său de ordine. Un multiplexor cu 16 intrări are intrările numerotate de la 0 la 15.
Adresarea se poate face secvenţial sau aleatoriu. În ultimul caz, microprocesorul adresează direct fiecare canal. În situaţia
adresării secvenţiale, fiecare canal este adresat într-o ordine bine definită. Dacă anumite mărimi prezintă o variaţie în timp
mult mai rapidă decât celelalte, acestea pot fi eşantionate cu o frecvenţă mult mai mare. Se observă că sistemul cu
microprocesor trebuie să genereze:
- semnalul de comandă al dispozitivului de eşantionare-blocare E/B;
- semnalul de începere a conversiei (START); la rândul său, CAN furnizează un semnal de sfârşit de conversie (EOC), cu
rolul de a semnaliza faptul că datele numerice sunt disponibile şi stabile;
- semnalele de adresare a canalului pentru multiplexor.
Prin intermediul acestor semnale de
comandă, micro-procesorul
organizează procesul de măsurare şi
gestionează funcţionarea
componentelor sistemului.
Această arhitectură a sistemului
prezintă însă şi un inconvenient.
Deoarece dispozitivul de eşantionare-
blocare se găseşte în aval faţă de
multiplexor, nu este posibil să
realizeze măsurarea a două mărimi în
acelaşi timp. Viteza de achiziţie este
considerabil redusă dacă numărul „n”
de canale creşte.
Structura unui sistem de achiziţie de date cu „n” canale
SISTEME DE ACHIZITII DATE.
GENERALITATI. Note de Curs
Sisteme de achiziţie de date
sincrone
• Pentru a evita inconvenientul prezentat anterior, se poate amplasa un dispozitiv se
eşantionare-blocare la intrarea fiecărui canal de intrare.
• Dacă sistemul de achiziţie de date se află la o anumită distanţă de dispozitivele de
tratament, de afişare sau de înregistrare, datele pot fi transmise în mod serial, pe două
fire, pe ieşirea serială a CAN.

Structura unui sistem de achiziţie de date sincrone

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Sisteme de achiziţie de date rapide
În situaţia în care semnalul de intrare se modifică rapid, arhitecturile precedente, care utilizează un
singur CAN, nu mai pot fi utilizate. Artificiul frecvent utilizat îl constituie legarea în paralel a mai
multor astfel de convertoare.
Fiecare dintre aceste convertoare este precedat de un dispozitiv de eşantionare-blocare. Ieşirile
numerice ale convertorului analogic-digital sunt multiplexate pe acelaşi principiu ca multiplexorul
analogic, permiţând astfel conectarea mai multor intrări de „n” biţi la o ieşire unică, tot de „n” biţi.
În exemplul prezentat anterior se pot distinge cele trei intrări ale multiplexorului. Fiecare dintre acestea
este reprezentată de un cuvânt de 12 biţi, ieşirea fiind şi ea un cuvânt de 12 biţi. Adresarea
canalului se efectuează cu ajutorul unui cuvânt de 2 biţi. Montajul este dificil dar viteza de achiziţie
se multiplică de „n” ori, unde „n” reprezintă numărul de intrări, în situaţia în care eşantionarea se
realizează secvenţial. De exemplu, se presupune că timpul de conversie al CAN este de tc= 2,5 µs,
iar timpul de achiziţie al dispozitivului de eşantionare-blocare este ta = 0,3 µs. Dacă semnalul este
eşantionat pe un singur canal, timpul de achiziţie al unei măsurători este de ta + tc = 2,8 µs.
În concluzie, viteza de achiziţie
a semnalului nu poate depăşi
1/(ta + tc) = 1/2,8 x 10 -6 =
357.000 eşantioane/secundă.
Cu ajutorul montajului
prezentat, este posibil să se
preleve un eşantion pe
microsecundă, deci se obţine
o viteză de achiziţie de 106
eşantioane/secundă. În acest
caz, fiecare CAN dispune de 3
µs pentru a efectua conversia.

Structura unui sistem de achiziţie de date rapide


SISTEME DE ACHIZITII DATE.
GENERALITATI. Note de Curs
UTILIZAREA CALCULATOARELOR PERSONALE ÎN DOMENIUL
ACHIZIŢIEI DE DATE. CONCEPTUL DE INSTRUMENTAŢIE PERSONALĂ
Conceptul de instrumentaţie personală a apărut în 1981, fiind introdus de firma americană Northwest
Instruments. Aceasta a lansat pe piaţă primele modele de instrumentaţie care puteau fi direct asociate
unui calculator personal (iniţial, un calculator de tip Apple II).
Denumirea de instrumentaţie personală a apărut prin asocierea a două concepte, cel de instrument de
măsurare şi cel de calculator personal. Resursele celui din urmă sunt utilizate pentru a efectua
sarcinile de comandă, de gestiune, afişare sau tratament care sunt, în mod normal, asumate de un
sistem cu microprocesor plasat în interiorul aparaturii. Dispozitivul de interfaţă cuprinde obligatoriu
un CAN.
Rezultatele măsurării sunt vizualizate pe ecranul calculatorului sub formă numerică sau sub formă de
curbe. Aceste rezultate provin din prelucrarea brută a datelor, realizată de instrumentul de măsurare.
Tratamentul suplimentar al datelor este realizat de către calculator, la solicitarea utilizatorului.
Datorită calculatorului asociat sistemului de măsurare şi testare, echipat cu periferice (plotter,
imprimantă, etc.) şi cu software dedicat, etapa de documentare şi de analiză a datelor este
simplificată considerabil. Practic, operatorul dispune de o staţie de lucru în miniatură, pe care poate
dimensiona şi studia circuite, poate calcula prototipuri, poate analiza rezultatele obţinute şi le poate
prezenta într-o formă grafică deosebită.
Primele aplicaţii ale instrumentaţiei personale au fost de natură analogică. La acestea, calculatorul
juca rolul de generator de funcţii, iar ecranul acestuia era utilizat ca osciloscop. De atunci,
instrumentaţia personală a luat o amploare continuă, nu numai datorită costului său rezonabil, ci şi
facilităţii de a integra mai multe instrumente de măsură într-un singur sistem.

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Structura unui sistem de achiziţie de date asistat de
calculator
În general, achiziţia de date asistată de calculator apelează la un sistem special, constituit dintr-un calculator personal, un produs
software şi o placă de achiziţie de date controlată tot de către calculator. Placa se instalează de regulă în calculator, dar există şi
posibilitatea plasării ei ca un modul exterior acestuia.
Unii fabricanţi furnizează sisteme interadaptabile, constituite din module independente, a căror juxtapunere permite obţinerea unor
staţii de măsurare compacte. Configuraţia unor asemenea sisteme cuprinde, de obicei, un modul de alimentare, un modul CPU,
precum şi numeroase module specifice, cu intrări şi ieşiri definite în funcţie de aplicaţie.
Plăcile de achiziţie de date sunt adesea furnizate împreună cu traductoare de măsurare (de forţă, deplasare, viteză, acceleraţie,
debit, presiune, temperatură etc.). De asemenea, ele pot avea circuite de condiţionare a semnalului adaptate mărimii fizice care
trebuie achiziţionată, unul sau mai multe multiplexoare, convertoare analog-numerice a căror rezoluţie trebuie să corespundă
exigenţelor sistemului de măsurare. În consecinţă, calculatorul îndeplineşte şi o serie de alte funcţiuni: conducerea procesului de
măsurare, analiza şi tratamentul semnalului, gestiunea conexiunilor serie şi paralel, vizualizarea rezultatelor, trasarea curbelor,
etc. Pentru aceasta, fabricanţii oferă şi programe software destinate unor asemenea utilizări.Soluţia montării plăcii de achiziţie în
interiorul calculatorului oferă avantajul furnizării imediate a datelor achiziţionate către memoria RAM, putând fi astfel tratate în timp
real. În cazul utilizării plăcilor de achiziţie de date externe calculatorului, controlul intrărilor şi ieşirilor acestora este efectuat de
către calculator, prin intermediul unei interfeţe seriale sau paralele. Acest tip de montaj se utilizează atunci când se studiază
procese la care traductoarele trebuie amplasate în diverse locuri sau când semnalele analogice nu pot fi transmise pe distanţe
mari, din cauza paraziţilor. În acest caz, conversia analog-numerică trebui realizată cât mai aproape de traductoare.

Structura unui sistem de achiziţie de date asistat de PC

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
Transmisia datelor sub formă numerică se realizează prin intermediul intermediul unei legături seriale sau paralele.
paralele. Legăturile
Legăturile serie de tip RS
232 şi RS 422
422 sau
sau RS 485 485 limitează
limitează drastic viteza de transfer a datelor în memorie.
Calculatorul posedă,
posedă, de de regulă,
regulă, două
două porturi seriale,
seriale, din care unul este necesar pentru comunicarea cu imprimanta. De De asemenea,
utilizarea legăturilor RS 422 sau RS 485 necesită necesită o interfaţ
interfaţă de conversie în RS 232. În plus, legătura RS 232 permite permite doar
comunicarea cu un singur instrument. Dacă Dacă trebuie utilizate mai multe instrumente,
instrumente, esteeste necesară adăugarea unei plăci cu porturi
multiple sau a unui multiplexor.
Pentru realizarea transmisiei paralele poate fi utilizată magistralamagistrala GPIB (IEEE
(IEEE 488).
488). Numeroase
Numeroase aparate de măsură (voltmetre,
multimetre, frecvenţ
frecven ţmetre) posedă
pose dă o interfaţ
ţă GPIB,
interfa GPIB c , care
are le permite conexiunea la magistrala care asigură legătura la calculator,
calculator, prin
prin
intermediul unei plăci de interfaţ
interfaţă montate în interiorul calculatorului.
Magistrala GPIB este caracterizată în special de distanţ distanţele limitate specifice utilizării în laborator.
Instrumentele de tip VXI (VME eXtension for Instrumentation) sunt sunt constituite din module (condiţ
(condiţionare, achiziţ
achiziţia semnalului) dispuse
într-
ntr-o carcasă,
carcasă, care
care comunică între ele printr-
printr-o magistrală (VXI bus). Conexiunea
Conexiunea cu calculatorul poate fi realizată printr-
printr-o magistrală
GPIB, în prezenţ ţ a interfeţ
prezen interfe ţ elor necesare.
In majoritatea cazurilor, este necesară condiţ condiţionarea prealabilă a
semnalelor care intră în placa de achiziţ achiziţie. De asemenea, unele
tipuri de traductoare (termorezistenţ
(termorezistenţele, mărcile tensometrice etc.) etc.)
necesită alimentare proprie de la o sursă de tensiune sau de curent. curent.
În acest caz între traductoare şi placa de achiziţ achiziţie se amplasează
module capabile să permită atât alimentarea traductoarelor,
traductoarelor, cât şi
condiţ
condiţionarea semnalelor furnizate. Un exemplu de astfel de modul
este sistemul SCXI (Signal Conditioning eXtension for
Instrumentation).
Pentru aplicaţ
aplicaţiile în timp real, sistemele de achiziţ
achiziţie de date pot avea
suplimentar în structura lor un coprocesor, cu rolul de a controla
dispozitivele de intrare / ieş
ieşire, de a stoca datele în memoria locală şi
Conexiunea instrumentelor de măsurare la calculatorul de a le trata în timp real.
personal prin intermediul magistralei GPIB
Sistemele de achiziţ
achiziţie de date utilizate în mediul industrial sunt, în plus, însoţ
nsoţite de mijloace de comunicare ce permit conexiunea între sisteme,
precum şi de echipamente de supervizare. Asemenea sisteme au şi posibilitatea de a fi configurate de la distanţ distanţă. Pentru conducerea plăcii de
achiziţ
achiziţie de date, utilizatorul poate apela la un limbaj de programare generalizat (C, C++, Visual Basic, limbaj de asamblare, Pascal, Fortran,
Delphi) sau poate opta pentru un mediu de dezvoltare special conceput
conceput pentru achiziţ
achiziţia de date (LabVIEW).
Începând cu anul 1996, s- s-a extins utilizarea unui nou tip de software, care permite utilizarea
utilizarea plăcii de achiziţ
achiziţie de date la fel de simplu ca
utilizarea unui veritabil instrument de măsurare convenţ
convenţional. Este
Este vorba despre programe executabile, prevăzute cu o interfaţinterfaţă grafică menită
să creeze utilizatorului impresia că se află în faţ
faţă unui instrument clasic:
clasic: butoane rotative, întrerupătoare,
ntrerupătoare, cursoare şi ferestre de vizualizare a
curbelor. Sistemul constituit din acest tip de software şi o placă de achiziţ
achiziţie de date a primit denumirea de instrument virtual.
virtual.

SISTEME DE ACHIZITII DATE.


GENERALITATI. Note de Curs
LabVIEW 1

Capitolul 2

INTRODUCERE ÎN LabVIEW

1.Obiectivele capitolului :

Însuşirea modului de utilizare a celor mai importante componente ale mediului de


programare grafic LabVIEW.

2.1. Definiţie. Caracteristici

LabVIEW este un mediu de programare grafic bazat pe nucleul de limbaj G (limbaj


grafic), destinat în special construirii de aplicaţii pentru controlul şi achiziţia de date, analiza
acestora şi prezentarea rezultatelor. Menţionam câteva dintre cele mai importante
caracteristici ale acestui mediu:
- rezolvă automat majoritatea problemelor legate de gestionarea resurselor hardware şi
comunicaţia cu sistemul de operare, iar în acest fel utilizatorul se poate concentra asupra
problemei concrete pe care o are de rezolvat şi nu asupra funcţionării calculatorului. Ca de
exemplu, aproape toate nodurile (funcţiile), precum şi graficele, sunt polimorfice, adică se
adaptează la orice tip de date, fie că sunt valori reale simple sau structuri de date;
- limbajul grafic este mult mai compact, diagrama conţinută într-o fereastră conţine mai multă
informaţie decât un text şi este mai uşor de citit şi de înţeles, iar desenarea unei diagrame este
mai rapidă decât scrierea unui text echivalent;
- în limbajul grafic paralelismul este natural, astfel încât scrierea de programe care efectuează
procesarea paralelă a datelor este la fel de simplă ca şi pentru procesarea secvenţială;
- permite lucrul în reţea, pe mai multe calculatoare, prin intermediul TCP/IP şi UDP,
dispunând de numeroase funcţii pentru lucrul în reţele locale (de arie mare) sau prin Internet;
- conţine multe aplicaţii prefabricate, din diverse domenii, împreună cu codul G
corespunzător, care pot fi folosite direct, pot fi luate ca exemple didactice de programare sau
pot fi modificate de utilizator pentru a satisface cât mai bine necesităţile concrete de lucru.
Toate soluţiile LabVIEW lucrează implicit în regim multithreading, fără a necesita o
programare suplimentară. În acest fel, se poate reduce semnificativ timpul necesar punerii la
punct a aplicaţiilor.
LabVIEW este disponibil pentru o gamă largă de sisteme de operare: Windows
2000/NT/XP/Me/9x, Mac OS, Sun Solaris, Linux.

2.2. Lansarea mediului de programare grafică LabVIEW

Deschiderea unei noi aplicaţii

Pentru a lansa mediul de programare grafica LabVIEW se apasă butonul START şi se


apelează opţiunea Programs\ National Instruments LabVIEW 7.0. După apelarea
programului va apărea fereastra din figura 1.

1
LabVIEW 2

Figura 1. Fereastra principală LabView.

Aplicaţiile (programele) realizate în LabVIEW poartă denumirea de Instrumente


Virtuale (în engleză, Virtual Instruments, prescurtat VI). Denumirea provine de la faptul că,
în primele sale versiuni, LabVIEW a fost strict dedicat pentru realizarea unor programe de
monitorizare a proceselor. Programele respective înlocuiau o serie de aparate şi instrumente
electronice - de unde şi motto-ul corporaţiei National Instruments: The software is the
instrument – primind astfel denumirea de Instrumente Virtuale.

2.3. Ferestrele principale ale unei aplicaţii

După apelarea opţiunii File\New VI sau a opţiunii New\Blank VI vor apărea


ferestrele din figura 2.

Figura 2. Panoul şi diagrama din LabVIEW.


• Panoul (Front Panel) reprezintă interfaţa grafică cu utilizatorul, fereastra pe care
utilizatorul o va vedea atunci când va accesa aplicaţia realizată. Prin intermediul elementelor
de pe panou, aplicaţia primeşte datele de intrare şi afişează apoi datele de ieşire ce au rezultat
în urma rulării .
• Diagrama (Block Diagram) este fereastra în care programatorul descrie algoritmul
după care aplicaţia va efectua calculele şi raţionamentele necesare pentru prelucrarea
informaţiilor. În majoritatea cazurilor, după ce programatorul a realizat o aplicaţie şi a livrat-o
unui utilizator, acesta din urmă nu mai are acces la diagramă .

2
LabVIEW 3

Elementele de control sunt acele componente ale panoului prin intermediul cărora
utilizatorul poate transmite date de intrare către program .
Elementele indicatoare sunt acele componente ale panoului prin intermediul cărora
programul afişează datele de ieşire calculate în urma rulării sale .
Paleta de controale este o fereastră ce poate apare doar atunci când se lucrează în
cadrul panoului şi conţine sub-palete cu elemente de control şi indicatoare de diverse tipuri .
Afişarea paletei de controale se poate efectua în două moduri:
• apăsând butonul din dreapta al mouse-ului atunci când cursorul acestuia este într-o zonă
liberă a panoului;
• selectând, din meniul Windows, comanda Show Controls Palette.
În primul caz, sub-paletele se deschid automat atunci când cursorul mouse-ului trece
pe deasupra lor iar paleta ramâne vizibilă doar până la selectarea unui element .
În al doilea caz, o sub-paleta se deschide (înlocuind paleta de controale) doar când se
face un clic pe simbolul său. Paleta ramâne vizibilă şi după selectarea unui element.

Figura 3. Paleta de controale.

Dispunerea elementelor pe panou :


a) Se selectează elementul dorit din paleta de controale;
b) După selectarea elementului, se deplasează cursorul mouse-ului până în poziţia de pe
panou în care se doreşte dispunerea .
Atât timp cât cursorul mouse-ului este deplasat pe panou, elementul va fi reprezentat
doar prin conturul său şi al etichetei .
Când se ajunge în poziţia dorită, se face clic cu unul dintre butoanele mouse-ului;
c) Se realizează astfel dispunerea elementului pe panou, cu o etichetă implicită care intră
automat în modul de editare .
Se poate începe imediat introducerea textului dorit în etichetă;
d) Dacă introducerea textului dorit în eticheta nu s-a efectuat imediat după dispunerea
elementului pe panou şi eticheta implicită a ieşit din modul de editare, se poate reveni în acest
mod prin selectarea uneltei de editare texte din cadrul paletei de unelte şi apoi printr-un clic
pe eticheta respectivă;
Paleta de unelte este o fereastră care poate apare atât în cadrul panoului cât şi al
diagramei .

3
LabVIEW 4

Afişarea paletei de unelte se poate efectua selectând, din meniul Windows, comanda
Show Tools Pallete .

Figura 4. Paleta de unelte.

Paleta de funcţii este o fereastră ce poate apare doar atunci când se lucrează în cadrul
diagramei şi conţine sub-palete cu diverse categorii de funcţii, proceduri sau structuri
specifice de programare .
Afişarea paletei de funcţii se poate efectua în două moduri:
• apăsând butonul din dreapta al mouse-ului atunci când cursorul acestuia este într-o zonă
liberă a diagramei;
• selectând, din meniul Windows, comanda Show Functions Palette.
În primul caz, sub-paletele se deschid automat atunci când cursorul mouse-ului trece
pe deasupra lor iar paleta ramâne vizibilă doar până la selectarea unei funcţii.
În al doilea caz, o sub-paletă se deschide (înlocuind paleta de funcţii) doar când se face
un clic pe simbolul său. Paleta ramâne vizibilă şi după selectarea unei funcţii.
Inserarea simbolurilor de funcţii în diagramă :
a) Dispunerea unei funcţii în diagramă începe cu selectarea simbolului corespunzător din
paleta de funcţii ;
b) După selectarea simbolului funcţiei, se deplasează cursorul mouse-ului până în poziţia din
diagrama în care se doreşte dispunerea.
Atât timp cât cursorul mouse-ului este deplasat, simbolul funcţiei va fi reprezentat
împreună cu terminalele corespunzătoare datelor proprii de intrare şi de ieşire;
c) Dacă, în timpul deplasării, simbolul funcţiei este trecut suficient de aproape de un terminal
sau de o zonă a fluxului de date la care se poate efectua o legatură, acea legatură este stabilită
automat.
Dacă simbolul funcţiei este îndepărtat, în cursul deplasării, de zona sau terminalul
respectiv, legatura stabilită automat dispare.
Dacă nu se doreşte efectuarea automată a unei legături, se apasă tasta Space în timp ce
butonul mouse-ului este apăsat;
d) Când simbolul funcţiei ajunge în poziţia dorită, se face clic cu unul dintre butoanele
mouse-ului.
Dacă în acel moment există o legatură stabilită automat, legatura respectivă se
pastrează.

4
LabVIEW 5

Figura 5. Paleta de funcţii.

2.4. Principalele moduri de rulare a unei aplicaţii

Barele de butoane ale panoului şi diagramei conţin o serie de elemente ce permit


stabilirea modului de rulare a unui program .

Figura 6. Bara de butoane a panoului şi a diagramei.

2.5. Fereastra Help

Atunci când utilizatorul deschide paleta de funcţii şi navighează prin subpaletele


acesteia, în fereastra Help apar informaţii referitoare la funcţia corespunzătoare simbolului
deasupra căruia este poziţionat cursorul mouse-ului .
De asemenea, dacă un simbol de funcţie a fost deja dispus în diagramă iar cursorul
mouse-ului este poziţionat deasupra sa, în fereastra Help apar informaţii referitoare la funcţia
respectivă .

5
LabVIEW 6

Figura 7. Help-ul mediului LabVIEW.

6
LabVIEW

Capitolul 3

FUNCŢII NUMERICE ÎN LabVIEW

1. Obiectivele lucrării

a) Însuşirea modului de utilizare a funcţiilor numerice ale mediului de programare


graphicLabVIEW.
b) Realizarea pricipalelor operaţii aritmetice,trigonometrice,logaritmice,complexe şi
logice.

2.Breviar

Funcţiile numerice se găsesc în paleta de funcţii ale diagramei conform figurii 1.

Figura 1. Locaţiile funcţiilor numerice în paleta de funcţii.

La trecerea mouse-ului deasupra pictogramei încercuite cu roşu va apărea o paletă cu


funcţii numerice ca în figura 2.

7
LabVIEW

Figura 2. Funcţiile numerice ale mediului LabVIEW.

Prezentăm în continuare unele din cele mai utilizate funcţii ale acestei palete şi a
subpaletelor incluse:
- adunare - înmulţire

- scădere - împărţire

Acestea sunt funcţii polimorfice, acceptând la intrare valorile x şi y care pot aparţine
mai multor tipuri de date (scalari, matrici, şiruri) rezultatul aparţinând aceleaşi clase.
Rezultatul operaţiei x/y este exprimat de un număr cu punct flotant dublă precizie dacă
x şi y sunt întregi, sau cea mai cuprinzătoare reprezentare pentru x şi y când acestea nu sunt
întregi sau sunt de tipuri diferite.
- incrementare - decrementare

Acestea sunt funcţii polimorfice care adună respectiv scad 1 la valoarea de intrare.
- adunare matriceală - înmulţire matriceală

Acestea realizează suma, respectiv produsul tuturor elementelor din matricea numerică
de la intrare.
- valoarea absolută - signum

Funcţia polimorfică valoare absolută returnează la ieşire valoarea absolută a intrării x


care poate fi atât scalar cât şi matrice , şir, etc, pe când funcţia signum ne va da la ieşire 1
când valoarea de intrare este mai mare decât 0, 0 pentru o intrare egală cu 0, -1 pentru o
intrare mai mică ca 0.

8
LabVIEW

- rotunjire la întreg - rotunjire la +∞

- rotunjire la -∞

În cadrul programului LabVIEW se poate face rotunjirea unei valori fie la cel mai
apropiat număr întreg (atât 1.5 cât şi 2.5 se rotunjesc la 2) cât şi la infinit cu + sau – (3.8
rotunjit la +INF va fi 4, iar rotunjit la –INF va fi 3).
- radical - reciprocă

Funcţia radical (sqrt) calculează rădăcina pătrată a valorii de la intrare. Dacă x este
negativ, rezultatul afişat va fi “NaN” cu excepţia cazului în care x este număr complex. În
cazul în care x este un întreg, ieşirea va fi de tipul număr cu punct flotant dublă precizie.
Reciproca îl divide pe 1 cu intrarea x. Dacă x=0, 1/x va fi infinit.
- generator de numere aleatoare

Produce la ieşire un număr, exclusiv între 0 şi 1,ăn format număr cu punct flotant
dublă precizie. Distribuţia este uniformă.
- constantă numerică - negaţia

Funcţia negaţie este o funcţie polimorfică care neagă valoarea intrării.


Funcţia constantă se utilizează la introducerea valorilor numerice necesare în diagrama
bloc. Valoarea se setează dând dublu clic în câmpul respectiv şi introducând cifrele de la
tastatură. Dacă se introduce o valoare tip număr cu punct flotant, automat acesta va fi
reprezentat ca fiind şi dublă precizie. Dacă se introduce un întreg, acesta va fi considerat tip
întreg lung. Constantelor li se pot adăuga etichete dar nu pot fi modificate în timpul
funcţionării instrumentelor virtuale.

- funcţia aritmetică compusă - expresia compusă

După cum sugerează şi numele, funcţia aritmetică compusă execută diverse operaţii
aritmetice (adunare, înmulţire,ŞI,SAU) asupra a două sau mai multe numere (scalari, şiruri,
expresii booleene). Operaţiile se aleg executând clic dreapta pe funcţie şi selectând “Change
Mode”. De asemenea se poate seta fiecare intrare în parte să fie normală sau inversată
(echivalentul negării pentru operaţiile logice).
Expresia compusă se utilizează la calculul expresiilor sau a ecuaţiilor care deşi conţin
o singură variabilă (x) sunt stufoase sau complicate. Intrarea x poate fi teoretic de orice tip.

9
LabVIEW

În cadrul paletei cu funcţii numerice există mai multe subpalete : paleta cu funcţii de
conversie, paleta cu funcţii trigonometrice, paleta cu funcţii logaritmice, paleta cu funcţii
pentru numere complexe şi paleta cu constante numerice adiţionale.
Paleta cu funcţii trigonometrice este prezentată în figura 3.

Figura 3. Funcţiile trigonometrice ale mediului LabVIEW.

şi conţine următoarele funcţii : sinus, cosinus, tangentă, sinus hiperbolic, cosinus hiperbolic,
tangantă hiperbolică, cosecantă, secantă, cotangentă, arcsinus, arccosinus, arctangentă etc.
Paleta cu funcţii logaritmice este prezentată în figura 4.

Figura 4. Funcţiile logaritmice ale mediului LabVIEW.

şi conţine următoarele funcţii : ex, 10x, 2x, xy, ln(x), log(x), log2(x), logx(y) etc.
Paleta cu funcţii pentru numere complexe este prezentată în figura 5.

10
LabVIEW

Figura 5. Funcţiile pentru numere complexe ale mediului LabVIEW.

şi conţine următoarele funcţii : o funcţie pentru obţinerea conjugatei, o funcţie pentru


transformarea din polar în complex, o funcţie pentru transformarea din complex în polar, o
funcţie pentru crearea unui număr complex din partea reală şi cea imaginară şi o funcţie
pentru extragerea părţii reale şi a celei imaginare dintr-un număr complex.
Paleta cu constante numerice adiţionale este cea din figura 6.

Figura 6. Constante numerice adiţionale ale mediului LabVIEW.

Aceasta conţine o serie de constante uzuale predefinite din care amintim : pi cu


multipli şi submultipli uzuali, numărul e, +/-∞, logaritmul natural al lui pi, 2, 10, etc.

La trecerea mouse-ului deasupra pictogramei încercuite cu negru din figura 1 va


apărea o paletă cu funcţiile logice din figura 7.

11
LabVIEW

Figura 7. Funcţiile logice ale mediului LabVIEW.

Aceasta conţine următoarele funcţii logice : ŞI, SAU, SAU EXCLUSIV, NEGAŢIE,
ŞI NEGAT, SAU NEGAT, SAU EXCLUSIV NEGAT etc.
La trecerea mouse-ului deasupra pictogramei încercuite cu albastru din figura 1 va
apărea o paletă cu funcţii pentru realizarea comparaţiilor ca în figura 8.

Figura 8. Funcţiile pentru realizarea comparaţiilor ale mediului LabVIEW.

Aceasta conţine funcţii pentru realizarea următoarelor comparaţii : egalitate,


inegalitate, mai mare, mai mic, mai mare sau egal, mai mic sau egal, egal cu 0, diferit de 0,
mai mare ca 0, mai mic ca 0, mai mare sau egal cu 0, mai mic sau egal cu 0 etc.

3. Modul de lucru

Programul P1 rezolvă o ecuaţie de gradul al II-lea.


Pe panou se vor pune următoarele elemente evidenţiate în figura 9 :
- trei obiecte Num Ctrl pentru introducerea celor trei coeficienţi ai ecuaţiei: a, b, c;
- şapte obicte Num Ind pentru afişarea lui Δ, a soluţiilor reale ale ecuaţiei, respectiv a
părţilor reale şi imaginare ale soluţiilor complexe ele ecuaţiei;
- patru obiecte String Ind pentru afişarea tipului soluţiei, pentru a permite afişarea
soluţiilor complexe şi a unui mesaj care să indice existenţa/inexistenţa unei ecuaţii de gradul
al II-lea;
- trei leduri care ajută la indicarea tipului soluţiei şi a tipului mesajului.

12
LabVIEW

Figura 9. Elementele de pe panou corespunzătoare programului P1.

În diagramă se vor introduce următoarele funcţii evidenţiate în figura 10 :


- funcţiile Negate, Add, Substract, Multiply, Divide, Square Root, Greater Or Equal
To 0?, Greater Then 0?, Not Equal To 0?, Not, Select utilizate pentru calculul soluţiilor
ecuaţiei;
- constante numerice şi de tip şir de caractere utilizate la calculul soluţiilor şi la
reprezentarea acestora.

Figura 10. Diagrama programului P1.

13
LabVIEW

Figura 11. Rezultatele execuţiei programului P1.

14
LabVIEW

Capitolul 4

FUNCŢII DE CONVERSIE

1. Obiectivele lucrării

Însuşirea modului de utilizare a funcţiilor de conversie în mediul de programare grafic


LabVIEW.

2.Breviar

Funcţiile de conversie se găsesc procedând ca în figura 1.

Figura 1. Funcţiile de conversie ale mediului LabVIEW.

În continuare se vor prezenta principalele funcţii de conversie:


- conversia unei valori numerice într-un număr întreg pe 8 biţi

- conversia unei valori numerice într-un număr întreg pe 16 biţi

- conversia unei valori numerice într-un număr întreg pe 32 biţi

- conversia unei valori numerice într-un număr întreg pe 8 biţi fără semn

- conversia unei valori numerice într-un număr întreg pe 16 biţi fără semn

- conversia unei valori numerice într-un număr întreg pe 32 biţi fără semn

1
LabVIEW

- conversia unei valori numerice într-un număr real cu simplă precizie

- conversia unei valori numerice într-un număr real cu dublă precizie

- conversia unei valori numerice într-un număr real cu precizie extinsă

- conversia unei valori numerice într-un număr complex cu simplă precizie

- conversia unei valori numerice într-un număr complex cu dublă precizie

- conversia unei valori numerice într-un număr complex cu precizie extinsă

- conversia unei valori numerice într-un tablou cu valori logice

- conversia unui tablou cu valori logice într-o valoare numerică

- conversia unei valori logice într-un număr întreg pe 16 biţi cu valoarea 0 sau 1

- conversia unui şir de caractere într-un tablou de octeţi fără semn

- conversia unui tablou de octeţi fără semn într-un şir de caractere

- extragerea culorilor primare din componenţa unei culori date

- obţinerea unei culori prin amestecarea culorilor primare date

3. Mod de lucru

Programul P1 realizează conversia unui număr în binar, octal şi hexazecimal.

2
LabVIEW

Pe panou se vor pune următoarele elemente evidenţiate în figura 9 :


- un obiect Num Ctrl pentru introducerea numărului;
- un obiect Cluster în care se vor introduce nouă obiecte Num Ind;
- un obiect Cluster în care se vor introduce nouă leduri de tip Round LED;
- un obiect String Ind pentru afişarea reprezentării numărului introdus în octal;
- un obiect String Ind pentru afişarea reprezentării numărului introdus în hexazecimal.
-

Figura 2. Elementele de pe panou corespunzătoare programului P1.

În diagramă se vor introduce următoarele funcţii evidenţiate în figura 3 :


- funcţia pentru conversia unui număr într-un tablou logic;
- funcţia pentru conversia unui tablou într-un cluster;
- funcţia pentru conversia unei valori logice într-un număr (0 sau 1);
- funcţia pentru conversia unui număr într-un şir de caractere care conţine reprezentarea octală
a numărului iniţial;
- funcţia pentru conversia unui număr într-un şir de caractere care conţine reprezentarea
hexazecimală a numărului iniţial;
- o buclă WHILE.

Figura 3. Diagrama programului P1.

3
LabVIEW

Figura 4. Rezultatul execuţiei programului P1.

Sa se realizeze un program care realizeaza suma a doua numere binare.

4
LabVIEW

Capitolul 5

STRUCTURI DE CONTROL ÎN LabVIEW

1. Obiectivele capitolului

a) Cunoaşterea principalelor structuri de control din mediul de programare grafic


LabVIEW.
b) Însuşirea modului de utilizare a structurilor în mediul de programare grafic
LabVIEW.

2.Breviar

Structurile din LabView sunt echivalentul grafic al instrucţiunilor de ciclare(for,


while) şi de decizie(if,case) din limbajele de programare clasice.
O structură este reprezentată printr-un dreptunghi a cărui dimensiune poate fi
modificată . Partea din diagramă care se găseşte în interiorul dreptunghiului se numeşte
“subdiagramă” iar terminalele prin care datele sunt introduse în subdiagramă şi sunt preluate
rezultatele prelucrării se numesc “tuneluri”.
Structurile de control se găsesc în paleta de funcţii ale diagramei în subpaleta
Structures ca în figura 1.

Figura 1. Structurile de control ale mediului LabVIEW.

2.1. Secvenţa

O secvenţă este o succesiune de subdiagrame ce se execută consecutiv. Este posibilă


trecerea de rezultate dintr-o subdiagramă în subdiagramele următoare folosind terminale
locale(reprezentate de săgeţile roşii).

Exemplu:

1
LabVIEW

Figura 2. Exemplu de secvenţă în LabVIEW.

Secvenţa anterioară cuprinde trei subdiagrame : prima calculează dublul unei valori
introduse de la tastatură, a doua calculează pătratul aceleiaşi valori iar ultima calculează suma
celor două rezultate anterioare. Se observă folosirea de terminale locale (Meniu contextual
Î “Add Sequence Local”) pentru a trece rezultatele primelor două subdiagrame în cea de-a
treia. Adăugarea de noi subdiagrame în secvenţă se face folosind meniul contextual ( “Add
Frame Before”, “Add Frame After”).
Trecerea dintr-o subdiagramă în alta se face folosind săgeţile din partea de sus a
simbolului pentru secvenţă.
Rezultatul execuţiei diagramei anterioare este următorul :

Figura 3. Rezultatul execuţiei programului.

2
LabVIEW

3.2. Bucla “FOR”

Bucla “FOR” permite execuţia unui bloc de un număr dat de ori.


Exemplu:

Figura 4. Exemplu pentru bucla “FOR”.

Terminalul notat cu “N” se iniţializează cu valoarea numărului de repetări ale ciclului.


“i” reprezintă contorul ciclului. Dacă se doreşte o temporizare ( o întârziere între iteraţii
consecutive ale ciclului – utilă de exemplu în cazul în care se achiziţionează o mărime dintr-
un proces la interval de o secundă ) se introduce în subdiagramă o funcţie de tip “Wait”
(întârzierea se specifică în milisecunde prin conectarea unei constante la blocul de
temporizare).

Figura 5. Rezultatul execuţiei programului.

Prin execuţia diagramei anterioare indicaţia termometrului (care este legat la contorul
ciclului) creşte până la valoarea introdusă în controlul numeric (legat la numărul de iteraţii ) .

3.3. Bucla “WHILE”

Bucla “WHILE” permite execuţia unui bloc atât timp cât o condiţie dată este
adevărată ( sau falsă ).
Exemplu:

3
LabVIEW

Figura 6. Exemplu pentru bucla “WHILE”.

Ca şi la bucla “FOR”, “i” are semnificaţia de contor al ciclului în vreme ce terminalul


din dreapta jos reprezintă condiţia de execuţie a ciclului (se execută atât timp cât variabila
conectată la acest terminal are valoarea “TRUE”).
Este necesar deseori să se treacă valori dintr-o iteraţie în iteraţia următoare . În acest
scop se folosesc “registre de deplasare” (“shift registers” ce se introduc din meniul
contextual asociat blocului ). Acestea nu au un tip de date asociat preluând tipul de date de la
constantele la care sunt legate.
În exemplul nostru am dorit ca în fiecare iteraţie să facem o operaţie de tipul “n=n+1”
cu n=0 la început. Pentru iniţializarea la intrarea în ciclu registrul de deplasare se conectează
la constanta “0” aflată în afara subdiagramei.
Efectul execuţiei diagramei anterioare este următorul :

Figura 7. Rezultatul execuţiei programului.

Cât timp maneta este în poziţia “ON” indicaţia termometrului creşte cu 1ºC/secundă
(se execută ciclul “WHILE”).

3.4. Structura “CASE”

Structura “CASE” permite execuţia uneia din mai multe subdiagrame funcţie de
valoarea unei variabile de selecţie ce poate fi de tip boolean, întreg, string.
În cazul unui bloc de tip “CASE” este posibil să avem mai multe tuneluri de intrare şi
de ieşire. Este necesar ca tunelurilor de ieşire să le fie asignată câte o valoare în fiecare
subdiagramă a structurii “CASE”.

Exemplu:

4
LabVIEW

Figura 8. Exemplu pentru structura “CASE”.

Valoarea legată la terminalul marcat cu “?” reprezintă selectorul structurii. În funcţie


de tipul selectorului se schimbă şi constantele de selecţie din partea de sus a subdiagramei. În
exemplul nostru am ales un selector de tip boolean deci identificatorii de selecţie sunt
“TRUE” şi “FALSE”. Se trece prin fiecare identificator folosind săgeţile şi se construiesc
subdiagramele asociate.
În cazul în care am fi avut mai multe valori posibile pentru identificatorii de selecţie
(dacă de exemplu selectorul ar fi fost de tip întreg) aceştia s-ar fi adăugat folosind meniul
contextual asociat structurii “CASE”. De remarcat ca în acest caz este necesar şi un
identificator de selecţie de tip “default” care să prelucreze valorile nespecificate.
Efectul execuţiei diagramei anterioare este de a da indicatorului numeric valorile “5”
sau “100” funcţie de starea selectorului boolean.

Figura 9. Rezultatul execuţiei programului.

5
LabVIEW

CAPITOLUL NR 6

TABLOURI ÎN LabVIEW

1. Obiectivele lucrării

a) Însuşirea modului de operare cu tablouri în mediul de programare grafic LabVIEW.


b) Cunoaşterea principalelor funcţii utilizate în lucrul cu tablouri.

2.Breviar

2.1. Definirea tipului tablou

Spre deosebire de elementele scalare, care reprezentau o singură valoare, de un anumit


tip (numeric, boolean, alfanumeric), elementele vectoriale (Array) pot conţine, într-o manieră
ordonată, mai multe valori de acelaşi tip.
Pentru a fi dispus în panou, un element de tipul tablou se selectează din meniul Array
& Cluster al paletei de controale.
Atunci când un element de tipul tablou se dispune pe panou, tipul datelor pe care
acesta le va conţine nu este încă definit. Se spune că elementul de tip tablou este vid.

Figura 1. Tipul tablou în LabVIEW.

Terminalul din diagramă al elementului este de culoare neagră. Săgeata Run este
spartă, semn că programul este incomplet şi nu poate fi rulat.
Pentru a defini tipul de date, în elementul de tip tablou trebuie introdus un element de
control sau indicator scalar de tipul dorit (numeric, boolean sau alfanumeric).
Elementul scalar ce urmează a fi introdus în tablou poate exista deja pe panou sau
poate fi selectat la momentul respectiv din paleta de elemente.
Când elementul scalar este adus deasupra elementului tablou, înainte de a se elibera
butonul stâng al mouse-ului, conturul elementului tablou este marcat cu o linie întreruptă
(tabloul sesizează că i se va introduce un element scalar).

1
LabVIEW

Figura 2. Introducerea unui element scalar în elementul tablou.

La eliberarea butonului mouse-ului, elementul scalar apare în interiorul elementului


tablou, acesta din urmă modificându-şi corespunzător dimensiunile. În diagramă, terminalul
elementului scalar dispare, iar terminalul elementului tablou capătă culoarea, textul şi
grosimea de chenar corespunzătoare datelor pe care le va manipula.

Figura 3.Elementul tablou după introducerea unui element scalar.

2.2. Definirea valorilor şi a numărului de valori vizibile

Atunci când este dispus în panou şi îi este definit tipul de date, un element de tip
tablou afişează la un moment dat o singură valoare.
Pentru a modifica numărul de valori afişate, se poziţionează întâi cursorul mouse-ului
pe un colţ al elementului tablou, astfel încât pe colţurile acestuia să apară patru simboluri
"echer" .
La apariţia celor patru simboluri "echer", se apasă butonul stâng al mouse-ului şi,
ţinându-l apăsat, se deplasează mouse-ul astfel încât să se redimensioneze conturul
elementului tablou.
Pe măsură ce mouse-ul este deplasat, conturul redimensionat al elementului tablou este
marcat cu linie întreruptă.
Atunci când conturul a fost redimensionat astfel încât să poată cuprinde numărul dorit
de valori, se eliberează butonul mouse-ului şi elementul tablou este afişat redimensionat.
Redimensionarea conturului se poate efectua atât pe verticală cât şi pe orizontală.
În partea sa stangă, un element de tip tablou dispune de un index. Indexul unui
element tablou indică numărul de ordine al valorii afişate în poziţia superioară (indicele
valorii). Indicele primei valori dintr-un tablou este 0.
Imediat după ce i se defineşte tipul de date, un tablou nu conţine nici o valoare (este
vid). Faptul este semnalizat prin afişarea "opacă a elementelor pe care tabloul le conţine.
Atunci când se defineşte o valoare din tablou, aceasta este afişată normal.

2
LabVIEW

Dacă, la un moment dat, utilizatorul defineşte o valoare şi există valori cu indici mai
mici încă nedefinite, acestea vor căpăta automat o valoare implicită, în funcţie de tip.

Figura 4. Modificarea numărului de valori afişate de elementul tablou.

Când se modifică valoarea indexului unui tablou, valorile acestuia se deplasează astfel
încât în poziţia superioară să fie afişată valoarea cu indexul selectat.
Dacă, în urma acestei deplasări, unele valori nu mai sunt vizibile, faptul nu
echivalează cu ştergerea acestora: valorile continuă să existe în cadrul tabloului şi pot fi
vizualizate prin modificarea corespunzătoare a indexului.

Figura 5. Introducerea şi vizualizarea valorilor din elementul tablou.

2.3. Definirea numărului de dimensiuni

În mod implicit, atunci când este creat, un tablou are o singură dimensiune, putând fi
descris drept o matrice coloană.
Numărul de dimensiuni ale unui tablou poate fi modificat prin dimensionarea
indexului acestuia: se poziţionează cursorul mouse-ului pe un colţ al indexului, astfel încât pe
colţurile acestuia să apară patru simboluri "echer", se apasă butonul mouse-ului şi se
deplasează mouse-ul ţinând butonul apăsat, până când indexul capătă dimensiunea dorită.
Dacă un tablou are mai mult de o dimensiune, se poate stabili afişarea mai multor linii
şi mai multor coloane.

Figura 6. Mărirea numărului de dimensiuni ale elementului tablou.

Terminalul unui element tablou se caracterizează prin prezenţa unor paranteze drepte a
căror grosime este proporţională cu numărul de dimensiuni.
Atunci când se realizează legături în diagramă, conexiunile pe care circulă un tablou
cu o dimensiune sunt mai groase decât cele pe care circulă valori scalare.

3
LabVIEW

Pentru tablourile cu două sau mai multe dimensiuni, conexiunile sunt reprezentate cu
linie dublă. Spaţiul intermediar al liniei duble este cu atât mai mare cu cât numărul de
dimensiuni ale tabloului este mai mare.

Figura 7. Reprezentarea conexiunilor pentru elementul tablou.

2.4. Funcţii utilizate pentru lucrul cu tablouri

Aceste funcţii se găsesc în paleta de funcţii ale diagramei ca în figura 8.

Figura 8. Funcţii utilizate pentru lucrul cu tablouri în LabVIEW.

În continuare se vor prezenta principalele funcţii de lucru cu tablouri.


- Funcţia Array Size determină numărul de valori dintr-un element de tip tablou cu una sau
mai multe dimensiuni.
Daca tabloul de intrare are o singura dimensiune, ieşirea funcţiei va fi o valoare
scalară. Dacă tabloul de intrare are N dimensiuni (N>1), ieşirea funcţiei este un tablou cu o
dimensiune, conţinând N elemente.
De exemplu, dacă la intrarea funcţiei se conectează o matrice, ieşirea funcţiei va fi un
tablou cu două elemente, primul reprezentând numărul de linii şi al doilea numărul de coloane
ale intrării.

- Funcţia Index Array extrage una sau mai multe valori ai căror indici sunt specificaţi.
ATENŢIE: prima valoare dintr-un şir are indexul 0 !

4
LabVIEW

Atunci când este dispusă în diagramă, funcţia Index Array are un singur terminal pentru
specificarea indicelui. Simbolul funcţiei poate fi dimensionat astfel încât să dispună de mai
multe astfel de terminale.
Dacă la terminalele pentru indici nu se conectează valori, funcţia va lua în considerare
valori implicite, începând cu 0.

- Funcţia Replace Array Subset înlocuieşte valori dintr-un tablou, începând de la un indice
specificat.
Simbolul funcţiei poate fi dimensionat pentru a permite înlocuiri simultane în mai
multe porţiuni.
Atunci când la intrarea funcţiei se conectează un tablou cu mai multe dimensiuni,
terminalele pentru indici capătă intrări pentru linii şi coloane ce pot fi activate sau dezactivate
independent.

- Funcţia Insert Into Array inserează valori într-un tablou, începând de la un indice
specificat. Numărul de valori din Array creşte.
Funcţia poate mări numărul de valori din tablou doar de-a lungul unei singure
dimensiuni, astfel încât, dacă inserarea urmează a se efectua într-un tablou cu N dimensiuni,
se vor putea insera în acesta doar elemente cu N sau cu N-1 dimensiuni (de exemplu, nu se
poate insera un element scalar într-o matrice).

- Funcţia Delete From Array şterge dintr-un tablou o porţiune de mărime specificată
(intrarea length, cu valoare implicită 1), începând de la un indice specificat (implicit ultimul
element).
Ştergerea se efectuează doar de-a lungul unei singure dimensiuni: se şterg elemente
dintr-un tablou cu o dimensiune, linii sau coloane dintr-o matrice etc (nu se poate şterge doar
o valoare dintr-o matrice).
Funcţia dispune atât de o ieşire pentru tabloul din care s-a realizat ştergerea, cât şi de o
ieşire pentru porţiunea ce a fost ştearşa.
Numărul de dimensiuni ale celei de a doua ieşiri variază: este egal cu numărul de
dimensiuni ale tabloului de intrare dacă a fost conectată o valoare la intrarea length şi este cu
o unitate mai mic decât numărul respectiv dacă intrarea length a fost lăsată neconectată.

- Atunci când este dispusă în diagramă, funcţia are o singură intrare dimension size, generând
astfel un tablou cu o singură dimensiune. Dacă se doreşte generarea unui tablou cu mai multe
dimensiuni, simbolul funcţiei poate fi dimensionat.

5
LabVIEW

Dacă la una dintre intrările dimension size se conectează valoarea 0, sau dacă toate
intrările respective sunt neconectate, funcţia va genera un tablou vid.

- Funcţia Build Array concatenează la un tablou una sau mai multe elemente cu un număr de
dimensiuni imediat inferior (adaugă valori scalare la un tablou cu o dimensiune, adaugă linii
la matrici ş.a.m.d.).
Atunci când este dispusă în diagramă, funcţia are o singură intrăre. Numărul dorit de
intrări se obţine prin dimensionarea simbolului funcţiei.

- Funcţia Array Subset extrage o porţiune dintr-un tablou.


Pentru fiecare dimensiune a tabloului de intrare, funcţia dispune de o intrare index
(poziţia din care va începe extracţia) şi de o intrare length (numărul de valori extrase de-a
lungul dimensiunii respective).

- Funcţia Rotate 1D Array efectuează n permutări circulare ale valorilor dintr-un tablou cu o
singură dimensiune.
Sensul permutărilor este determinat de semnul valorii n:
a. dacă n>0, la fiecare permutare ultima valoare din tablou trece pe prima poziţie;
b. dacă n<0, la fiecare permutare prima valoare din tablou trece în ultima poziţie.

- Funcţia Reverse 1D Array inversează ordinea valorilor dintr-un tablou unidimensional

- Funcţia Search 1D Array caută o valoare într-un tablou unidimensional, începând de la un


indice de start specificat, şi returnează indicele elementului găsit. Dacă elementul căutat nu se
află în tablou, atunci funcţia returnează valoarea -1.

- Funcţia Split 1D Array divide un tablou unidimensional în două tablouri, locul în care se
efectuează divizarea fiind determinat de valoarea conectată la intrarea index a funcţiei.
Tabloul rezultat la ieşirea first subarray va conţine valorile ce se aflau în tabloul iniţial
pe poziţiile 0, 1, ..., index-1.

6
LabVIEW

- Funcţia Sort 1D Array sortează valorile dintr-un tablou unidimensional: crescător dacă
valorile sunt numerice sau în ordine alfabetică dacă valorile sunt de tip alfanumeric (String).

- Funcţia Array Max & Min determină valorile maximă şi minimă dintr-un tablou de valori
numerice, precum şi indicii acestor valori extreme.
Dacă tabloul de intrare are mai multe dimensiuni, indicii valorilor extreme nu vor mai
fi valori scalare, ci vor fi la rândul lor tablouri cu un număr de valori egal cu numărul de
dimensiuni ale tabloului de intrare.

- Funcţia Transpose 2D Array transpune o matrice.

- Funcţia Interpolate 1D Array realizează o interpolare pe valorile tabloului de la intrarea


array of numbers or points.
Dacă, de exemplu, tabloul de intrare conţine valorile 1, 2, 4 şi 6, iar la intrarea
fractional index or x este conectată valoarea 1.7, funcţia va genera rezultatul 3.4 (după
valoarea cu indicele 1, la 70 % din distanţa dintre aceasta şi următoarea).

- Funcţia Threshold 1D Array realizează o operaţie inversa interpolării: dispunând de un


tablou de valori numerice şi de un prag (intrarea threshold y), începând de la un indice
specificat, funcţia caută două valori consecutive din tablou astfel încât prima să fie mai mică
decât pragul şi a doua mai mare sau egală cu acesta.

- Funcţia Interleave 1D Array construieşte un tablou cu o singură dimensiune prin


întreţeserea mai multor tablouri având de asemenea o singură dimensiune.

- Funcţia Decimate 1D Array împarte un tablou iniţial într-un număr de tablouri egal cu
numărul de ieşiri.
Iniţial, funcţia are două ieşiri, dar numărul acestora poate fi modificat prin
dimensionarea simbolului funcţiei.

7
LabVIEW

Valorile din tabloul iniţial sunt repartizate alternativ tablourilor de ieşire.


De exemplu, dacă funcţia are trei ieşiri, valoarea cu indicele 0 este repartizată la prima ieşire,
cea cu indicele 1 la a doua, cea cu indicele 2 la a treia, cea cu indicele 3 din nou la prima
ieşire, cea cu indicele 4 la a doua ş.a.m.d.

- Funcţia Reshape Array modifică numărul de dimensiuni ale unui element de tip tablou. De
exemplu, un tablou unidimensional cu şase valori poate fi transformat într-o matrice cu trei
linii şi două coloane, sau invers.
Numărul de dimensiuni ale rezultatului va fi egal cu numărul de terminale dimension
size ale simbolului funcţiei.

4. Mod de lucru

Programul P1 are ca scop realizarea sumei elementelor de pe diagonala principală a


unei matrici pătratice.
Pe panou se vor pune următoarele elemente evidenţiate în figura 9 :
- un tablou în care se va introduce un obiect Num Ctrl, urmând ca apoi să se creeze o
matrice pătratică;
- un indicator numeric (Num Ind) în care se va afişa suma elementelor de pe diagonala
principală a matricei.

Figura 9. Elementele de pe panou corespunzătoare programului P1.

În diagramă se vor introduce următoarele funcţii evidenţiate în figura 10 :


- funcţia Array Size, funcţia Index Array şi constanta 1 pentru determinarea dimensiunii
matricei pătratice;
- un structură repetitivă FOR pentru realizarea iteraţiilor în care se calculează suma
elementelor de pe diagonala principală. În interiorul acestui ciclu se va introduce o funcţie
Index Array pentru extragerea câte unui element de pe diagonala principală şi o funcţie Add
pentru realizarea sumei elementului curent cu elementul anterior extras de pe diagonala
principală. Pentru a putea realiza suma elementului curent cu elementul anterior extras din

8
LabVIEW

matrice, ciclul FOR va fi prevăzut cu un set de registre de deplasare, iar primul element
extras se va aduna cu constanta 0.

Figura 10. Diagrama programului P1.

Pentru exemplul de figura 11 s-a considerat matricea de dimensiuni 3 x 3.

Figura 11. Rezultatul execuţiei programului P1.

Programul P2 realizează înmulţirea unei matrici A de dimensiuni n x m cu o matrice B


de dimensiuni m x p.
Pe panou se vor pune următoarele elemente evidenţiate în figura 12 :
- două tablouri în care se vor introduce câte un obiect Num Ctrl, urmând ca apoi să se creeze
matricile de dimensiuni n x m, respective m x p;
- un tablou tablou în care se va introduce un obiect Num Ctrl, urmând ca apoi să se creeze o
matrice C de dimensiuni n x p. Această matrice va reprezenta rezultatul înmulţirii.

Figura 12. Elementele de pe panou corespunzătoare programului P2.

În diagramă se vor introduce următoarele funcţii evidenţiate în figura 13 :


- funcţia Array Size, funcţia Index Array şi constanta 0 pentru determinarea numărului de
linii al matricei A (numărul n);
- funcţia Array Size, funcţia Index Array şi constanta 1 pentru determinarea numărului de
coloane al matricei A (numărul m);

9
LabVIEW

- funcţia Array Size, funcţia Index Array şi constanta 1 pentru determinarea numărului de
coloane al matricei B (numărul p);
- un ciclu FOR care conţine un alt ciclu FOR în care se află un al treilea ciclu FOR.
m −1
⎧ i = 1,.., n
Aceste cicluri se utilizează pentru realizarea calculului cij = ∑ aik ⋅ bkj ⎨ .
k =0 ⎩ j = 1,.., p
Pentru realizarea acestui calcul se vor utiliza în interiorul acestor cicluri două funcţii Index
Array, o funcţie Add pentru realizarea sumei, o funcţie Multiply pentru realizarea înmulţirii
şi o funcţie Replace Array Subset pentru înlocuirea unui element din tabloul de ieşire cu
valoarea calculată a acestuia. De asemenea, pentru a se putea realiza o operaţie cu o valoare
calculată într-o etapă anterioară se vor folosi trei seturi de registre de deplasare.
- Pentru a se putea iniţializa tabloul de ieşire cu o matrice n x p de zerouri se va folosi
funcţia Initialize Array.

Figura 13. Diagrama programului P2.

Pentru exemplul de figura 14 s-au considerat matricile A de dimensiuni 2 x 3,


respectiv B de dimensiuni 3 x 4.

Figura 14. Rezultatul execuţiei programului P2.

10
LabVIEW

Capitolul 7

INSTRUMENTE GRAFICE ÎN LabVIEW

1. Obiectivele capitolului

a) Cunoaşterea principalelor instrumente grafice în mediul de programare grafic


LabVIEW.
b) Însuşirea modului de utilizare a instrumentelor grafice.

2.Breviar

Mediul de programare grafic LabVIEW permite utilizatorului crearea unei interfeţe


care să realizeze comunicarea cu calculatorul într-un mod simplificat şi uşor de utilizat.
Interfaţa grafică este mai compactă, mai uşor de citit şi de înţeles şi permite utilizatorului
operarea mai rapidă.
Pentru realizarea de interfeţe grafice mediul LabVIEW oferă mai multe tipuri de
obiecte grafice care se găsesc pe paleta de controale ale panoului.

2.1. Obiecte grafice pentru introducerea numerelor

Acestea se găsesc în paleta de controale ca în figura următoare:

Figura 1. Obiecte grafice pentru introducerea numerelor în LabVIEW.


- Obiectul Num Ctrl permite introducerea de numere prin apăsarea cu mouse-ul pe săgeţile
laterale.

reprezentarea pe panou reprezentarea pe diagramă

- Obiectele Fill Slide şi Pointer Slide permite introducerea unei valori prin umplerea unei
zone pe orizontală cu o culoare distinctă de cea de bază prin intermediul mouse-ului.

1
LabVIEW

reprezentarea pe panou reprezentarea pe diagramă

- Obiectele Fill Slide şi Pointer Slide permite introducerea unei valori prin umplerea unei
zone pe verticală cu o culoare distinctă de cea de bază prin intermediul mouse-ului.

reprezentarea pe panou reprezentarea pe diagramă

- Obiectele Knob şi Dial permit introducerea unui număr prin rotirea cu ajutorul mouse-ului
a unui indicator care poate fi ca în figurile următoare.

reprezentarea pe panou reprezentarea pe diagramă

- Obiectul Color Box permite introducerea unei culori de către utilizator.

reprezentarea pe panou reprezentarea pe diagramă

2.2. Obiecte grafice pentru afişarea numerelor

Acestea se găsesc în paleta de controale ca în figura următoare:

2
LabVIEW

Figura 2. Obiecte grafice pentru afişarea numerelor în LabVIEW.

- Obiectul Num Ind permite afişarea unei valori numerice.

reprezentarea pe panou reprezentarea pe diagramă

- Obiectele Progress Bar şi Grad Bar permit afişarea unei valori prin umplerea unei zone pe
orizontală cu o culoare distinctă de cea de bază.

reprezentarea pe panou reprezentarea pe diagramă

- Obiectele Progress Bar şi Grad Bar permit afişarea unei valori prin umplerea unei zone pe
verticală cu o culoare distinctă de cea de bază.

reprezentarea pe panou reprezentarea pe diagramă

- Obiectele Meter şi Gauge permit afişarea unei valori prin rotirea unui ac indicator.

3
LabVIEW

reprezentarea pe panou reprezentarea pe diagramă

- Obiectele Tank şi Thermometer permit afişarea unei valori prin umplerea unei zone pe
verticală cu o culoare distinctă de cea de bază.

reprezentarea pe panou reprezentarea pe diagramă

2.3. Butoane

Acestea se găsesc în paleta de controale ca în figura următoare:

Figura 3. Butoane în LabVIEW.


- Butoanele Rocker au două poziţii între care se poate comuta prin apăsarea cu mouse-ul pe
poziţia dorită.

4
LabVIEW

reprezentarea pe panou reprezentarea pe diagramă

- Butoanele Slide Switch au două poziţii între care se poate comuta prin tragerea cu mouse-ul
pe poziţia dorită.

reprezentarea pe panou reprezentarea pe diagramă

- Butoanele Toggle Switch au două poziţii între care se poate comuta prin tragerea cu mouse-
ul pe poziţia dorită.

reprezentarea pe panou reprezentarea pe diagramă

- Butoanul Push Button are două poziţii între care se poate comuta prin apăsarea cu mouse-
ul.

reprezentarea pe panou reprezentarea pe diagramă

- Butoanele de tip Text, OK, Cancel şi Stop permit utilizatorului să introducă anumite
comenzi.

reprezentarea pe panou reprezentarea pe diagramă

4.4. Leduri

Acestea se găsesc în paleta de controale ca în figura următoare:

5
LabVIEW

Figura 4. Leduri în LabVIEW.

Ledurile sunt de două feluri Round LED şi Square LED şi au următoarele


reprezentări.

reprezentarea pe panou reprezentarea pe diagramă

Programul P1 reprezintă grafic funcţiile treaptă, fierăstrău şi sinus, precum şi indicarea


presiunii din rezervor.
Pe panou se vor pune următoarele elemente evidenţiate în figura 5 :
- trei butoane de tip Push Button pentru alegerea funcţiei dorite;
- un obiect grafic de tip Tank pentru reprezentarea grafică a valorii curente a funcţiei;
- un obiect de tip Waveform Graph pentru reprezentarea evoluţiei în timp a funcţiei;
- un obiect de tip Gauge şi unul de tip Num Ind pentru indicarea valorii curente a presiunii
sub formă grafică respectiv numerică;
- un obiect de tip Num Ind pentru afişarea valorii curente a funcţiei;
- un obiect de tip String Ind pentru afişarea funcţiei alese.

6
LabVIEW

Figura 5. Elementele de pe panou corespunzătoare programului P1.

În diagramă se vor introduce următoarele funcţii evidenţiate în figura 6 :

- patru funcţii de tip Simulate Signal care realizează funcţiile constantă (când nu este
apăsat nici un buton), treaptă, fierăstrău şi sinus;
- douăsprezece funcţii de tip Select prin care se selectează funcţia dorită şi se numele
acesteia;
- funcţiile numerice Multiply şi Divide utilizate la calculul presiunii în rezervor;
- constante de tip numeric şi de tip şir de caractere utilizate la calculul presiunii, respectiv
afişarea funcţiei alese;
- funcţia Time Delay care introduce o întârziere în execuţia programului;
- bucla While care permite execuţia programului până la apăsarea butonului Exit.

7
LabVIEW

Figura 6. Diagrama programului P1.

Figura 7. Rezultatul execuţiei programului P1.

8
LabVIEW

Capitolul 8

ELEMENTE UTILIZATE LA REPREZENTAREA GRAFICĂ


A FUNCŢIILOR ÎN LabVIEW

1. Obiectivele capitolului

a) Cunoaşterea celor mai importante elemente pentru reprezentare grafică în mediul de


programare grafic LabVIEW.
b) Însuşirea modului de utilizare a acestor elemente.

2.Breviar

Mediul de programare LabVIEW dispune, în meniul Graph al paletei de controale, de


o serie de elemente pentru reprezentări grafice. Cele mai utilizate sunt cele aflate pe prima
linie a meniului Graph: elementele Waveform Chart (numit pe scurt Chart), Waveform
Graph (numit pe scurt Graph) şi XY Graph.
Diferenţele între cele trei elemente sunt reprezentate de modurile în care acestora li se
transmit coordonatele punctelor prin care va fi trasat graficul.

Figura 1. Elemente pentru reprezentări grafice în mediul LabVIEW.

2.1. Elementul Waveform Chart

Unui element de tip Chart i se pot trimite în mod succesiv, punct cu punct, valorile
ordonatelor punctelor pe care să le traseze grafic. În figura alăturată, bucla While execută câte
o iteraţie la fiecare trei secunde (datorită funcţiei Wait (ms)). La fiecare iteraţie, funcţia
Random Number (0-1) trimite câte o valoare aleatoare la elementul Chart.
Un element de tip Chart consideră valorile succesive pe care le primeşte drept
ordonate ale punctelor de pe grafic. Abscisele punctelor sunt considerate automat crescătoare
din unitate în unitate (0 pentru prima valoare primită, 1 pentru a doua ş.a.m.d.). Atunci când
primeşte o nouă valoare, un element Chart trasează un segment de dreaptă din punctul cel
mai recent (ultimul de pe grafic) până în punctul determinat de noua valoare primită.
Un element Chart acceptă nu numai valori trimise punct cu punct (scalare) ci şi şiruri
de valori (Array). Atunci când primeşte un şir de valori (considerate de asemenea tot
ordonate ale punctelor), un element Chart adaugă la sfârşitul graficului deja existent nu un

1
LabVIEW

singur punct ci un număr de puncte egal cu numărul de valori din şirul primit. În figura de mai
jos, la fiecare iteraţie a buclei While (la fiecare trei secunde), bucla For generează un şir
(Array) de şapte valori aleatoare, şir ce este trimis elementului Chart. La fiecare trei
secunde, la graficul din elementul Chart sunt adăugate astfel încă şapte puncte.

Figura 2. Exemple pentru elementul Waveform Chart.

Figura 3. Rezultatul execuţiei programului.

Dacă un element Chart primeşte o matrice de valori numerice (Array cu două


dimensiuni), atunci el va trasa simultan un număr de grafice egal cu numărul de linii ale
matricei.

2.2. Elementul Waveform Graph

Un element de tip Graph nu acceptă valori individuale (scalare) ci numai şiruri


(Array) de valori.
Spre deosebire de elementele Chart, atunci când primeşte un şir de valori, elementul
Graph şterge graficul pe care îl afişase anterior şi afişează doar graficul format din noile
puncte primite.
Graficul din figura alăturată se va schimba la fiecare trei secunde.
Valorile afişate anterior se vor pierde.
Un element de tip Graph consideră de asemenea valorile succesive pe care le primeşte

2
LabVIEW

drept ordonate ale punctelor de pe grafic. În modul implicit, abscisele punctelor sunt
considerate automat crescătoare din unitate în unitate (0 pentru prima valoare primită, 1
pentru a doua ş.a.m.d.).
Elementele de tip Graph permit însă, suplimentar, definirea abscisei primului punct şi
a distanţei pe orizontală dintre două puncte succesive. În această situatie, valorile x0 şi ∆x se
introduc (printr-o funcţie Bundle) într-un Cluster împreună cu şirul de valori ce reprezintă
ordonatele punctelor, iar la terminalul elementului Graph se conectează ieşirea funcţiei
Bundle (figura de mai jos).

Figura 4. Exemple pentru elementul Waveform Graph.

Figura 5. Rezultatul execuţiei programului.

Dacă un element Graph primeşte o matrice de valori numerice (Array cu două dimensiuni),
atunci el va trasa simultan un număr de grafice egal cu numărul de linii ale matricei.
În situaţia în care se trasează mai multe grafice şi se doresc definirea abscisei x0 a
primului punct şi a distanţei ∆x pe orizontală dintre două puncte succesive, mărimile

3
LabVIEW

respective vor fi aceleaşi pentru toate graficele. În funcţia Bundle, la cea de a treia intrare se
conectează matricea de valori.

2.3. Elementul XY Graph

Un element de tip XY Graph acceptă la intrare un Cluster format din două şiruri
(Array) de valori. Primul şir reprezintă abscisele iar cel de-al doilea ordonatele punctelor de
pe grafic. Evident, cele două şiruri trebuie să conţină acelaşi număr de valori. Atunci când se
primeşte o astfel de structură de date, graficul anterior este şters.
În figura alăturată este prezentat un program pentru trasarea graficului funcţiei sinus
între 0 şi 2p prin 101 puncte. Stabilind că punctele vor fi la distanţe egale pe orizontală, se
determină întâi distanţa dx pe abscisa dintre două puncte succesive, împărţind la 100
intervalul de trasare, de lungime 2p.
Într-o buclă For cu numărul de iteraţii egal cu numărul de puncte se determină la
fiecare iteraţie abscisă unui punct cu relaţia şi se calculează ordonata. La ieşirea din bucla
For, şirurile de valori xi şi yi sunt grupate într-un cluster (cu funcţia Bundle), iar acesta este
trimis la terminalul elementului XY Graph.
Dacă se doreşte trasarea simultană a mai multor grafice:
- se construieşte pentru fiecare grafic câte un Cluster format din două Array-uri (unul pentru
abscisele şi altul pentru ordonatele punctelor);
- ieşirile funcţiilor Bundle se conectează la o funcţie Build Array;
- ieşirea funcţiei Build Array se conectează la terminalul elementului XY Graph.

Figura 6. Exemple pentru elementul XY Graph.

4
LabVIEW

Figura 7. Rezultatul execuţiei programului.

2.4. Opţiuni specifice elementelor pentru reprezentări grafice

În meniul propriu al elementelor pentru reprezentări grafice, submeniul Visible Items


conţine o serie de opţiuni pentru afişarea unor componente specifice.

Figura 8. Meniul elementelor pentru reprezentări grafice.

Opţiunea Plot Legend afişează o legendă ce poate fi poziţionată independent sau


dimensionată pentru a avea un număr de poziţii egal cu numărul de grafice reprezentate.
Numele graficelor (iniţial Plot 0, Plot 1 ş.a.m.d.) pot fi modificate cu ajutorul uneltei de
editare a textelor. Apăsând butonul drept al mouse-ului atunci când cursorul este poziţionat
deasupra unui grafic din legendă, se deschide un meniu propriu din care pot fi configurate
opţiuni de afişare ale graficului respectiv: culoare, tip şi grosime de linie etc.

5
LabVIEW

Opţiunea Scale Legend afişează o componentă ce permite configurarea modului în


care sunt afişate scalele elementului de reprezentare grafică: eticheta scalei, format şi precizie
de reprezentare, vizibilitatea scalei sau a etichetei acesteia, culoarea caroiajului.
Pentru fiecare scală sunt disponibile:
- un buton (notat cu X sau Y) la a cărui apăsare se realizează o autoscalare pe direcţia
respectivă
- un buton (marcat cu un lacăt) care, atunci când este apăsat, menţine continuu autoscalarea
pe direcţia corespunzătoare

Figura 9. Alte opţiuni ale elementelor pentru reprezentări grafice.

Opţiunea Graph Palette afişează o componentă cu unelte ce permit:


- deplasarea graficelor în interiorul elementului (butonul cu mânuţă)
- deschiderea unui submeniu cu unelte pentru mărire sau micşorare statică pe diverse direcţii
sau dinamică
Opţiunile X Scale şi Y Scale din meniul propriu permit configurarea unor parametri ai
modului de afişare a scalelor.

Figura 10. Opţiunile X Scale şi Y Scale.

2.5. Elemente şi funcţii de tip Picture

Pentru a dispune pe panoul aplicaţiei un element de tip Picture.ctl, acesta poate fi


selectat din meniul de controale, submeniul Graph, submeniul Ctls.

6
LabVIEW

Figura 11. Elemente şi funcţii de tip Picture.

Funcţiile pentru lucrul cu elemente de tip Picture.ctl sunt dispuse în meniul de funcţii,
submeniul Graphics & Sound, submeniul Picture Functions.
Un element de tip Picture reprezintă o matrice de pixeli, fiecare pixel fiind definit prin
coordonatele sale X şi Y.
Originea sistemului de coordonate se află în colţul stânga-sus al figurii.
Axa X are sensul pozitiv spre dreapta, iar axa Y are sensul pozitiv în jos.

2.6. Utilizarea funcţiilor de tip Picture

Funcţiile pentru lucrul cu elemente de tip Picture.ctl efectuează operaţii asupra unei
figuri în general în sensul de adăugare a unui element geometric în figură.
În imaginea de mai jos se pleacă de la o constantă Empty Picture (figură vidă).
În prima etapă, utilizând funcţia Move Pen.vi, se deplasează un creion imaginar în
punctul de coordonate (50, 50) al figurii.
Funcţia Move Pen.vi nu adaugă nimic la figură.

Cu ajutorul funcţiei Draw Line.vi, în figura preluată de la funcţia Move Pen.vi este
trasat un segment de culoare roşie. Funcţia Draw Line.vi consideră că punctul de plecare al
segmentului este punctul în care se află creionul imaginar, fiind necesar ca funcţiei să i se
specifice doar punctul final al segmentului, în acest caz punctul de coordonate (120, 140).

7
LabVIEW

În figura preluată de la ieşirea funcţiei Draw Line.vi, cu ajutorul funcţiei Draw Circle
by Radius.vi, este trasat un cerc plin (vezi constanta True) de culoare albastră, cu centrul în
punctul de coordonate (200, 200) şi de rază 20.

Figura obţinută la ieşirea funcţiei Draw Circle by Radius.vi este transferată


elementului de tip Picture.ctl, rezultatul fiind afişarea figurii.

Figura 12. Exemplu de program şi rezultatul execuţiei acestuia.

3. Mod de lucru

Programul P1 realizează graficul funcţiei ln(x+sqrt(x*x+1)).


Pe panou se vor pune următoarele elemente evidenţiate în figura 13 :
- un obiect de tipul String Ind pentru afişarea unui mesaj;
- un obiect de tip Waveform Graph care permite afişarea graficului funcţiei.

8
LabVIEW

Figura 13. Elementele de pe panou corespunzătoare programului P1.

În diagramă se vor introduce următoarele funcţii evidenţiate în figura 14 :


- un ciclu For care realizează creşterea unei variabile până la valoarea constantei 1000;
- o funcţie care converteşte un tablou într-un tip de dată dinamic;
- o funcţie Formula prin intermediul căreia s-a introdus funcţia;
- o constantă de tip şir de caractere pentru afişarea unui mesaj.

Figura 14. Diagrama programului P1.

Figura 15. Rezultatul execuţiei programului P1.

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