ALTERNATIVA LA INTRODUCERE
2
105Eroare! Stil nedefinit. - Eroare! Stil nedefinit.
1. INTRODUCERE IN INSTRUMENTAIA VIRTUAL
1.1. Introducere
Prin instrumentaia virtual se nelege facilitatea / modalitatea
oferit de un computer dotat cu echipamente periferice de intrare /
ieire specializate, pentru a modela i simula caracteristicile i
funcionarea unui instrument / sistem de msurare, de testare sau de
nregistrarea datelor.
La ora actual exist, la nivel mondial, o concuren acerb pentru
lansarea pe scar larg a unei game variate de produse noi (din
domeniul msurrilor: osciloscoape, multimetre digitale, voltmetre
s.a.m.d.), cu calitti superioare celor de pe pia sau cu soluii noi
pentru monitorizarea unor procese automatizate. Un utilizator i
poate construi un produs virtual destinat unei anumite aplicaii cu
caracteristicile dorite. Acest produs l vom denumi n continuare
instrument virtual ( Virtual Instruments - VI).
Instrumentaia virtual a devenit inta mai multor medii de lucru
specializate. Unul dintre cele mai rspndite i care s-a impus pe
plan mondial este LabVIEW (Laboratory Virtual Instrument
Engineering Workbench). Aceste este un mediu de programare bazat pe
limbajul de programare grafic G. Firma National Instruments (NI) a
introdus n anul 1986 conceptul de instrumentaie virtual i a lansat
pe pia prima versiune a mediului LabView. n [1.1] instrumentul
virtual se definete ca: program n LabView care modeleaz forma i
funcia unui instrument fizic.
Pentru atingerea scopului dorit, realizarea unui instrument
virtual, este necesar o dotare minim - un sistem de calcul i un
mediu de programare:
folosind mediul de programare se realizeaz, pentru instrumentul
dorit, panoul frontal (interfaa instrumentului) i funcionalitatea
sa;
calculatorul devine gazda noului instrument creat de utilizator
oferindu-i totodat facilitile clasice: capacitate ridicat de
prelucrare, analiz, stocare a informaiilor, conectare la reea,
imprimare a datelor etc.
Mediul de programare utilizat pentru modelarea instrumentului
virtual, fr corespondent real, permite utilizatorului s-i dezvolte
n continuare proceduri proprii de prelucrare a informaiei pe care s
le poat utiliza n construirea altor VI.
Limbajele de programare de circulaie extins FORTRAN, PASCAL, C,
BASIC .a se bazeaz n construcia unui program prin scrierea unor
instruciuni utiliznd textul. Realizarea unui program n aceste medii
poate s devin dificil pentru un nceptor n special n perioada de
depanare. Grafica este extrem de intuitiv, potenialul graficii
fiind susinut prin principalele metode de instruire existente i
care i-au dovedit rolul esenial.
Limbajul grafic G inima mediului LabVIEW se bazeaz pe existena
unor biblioteci de funcii definite care prin asamblare grafic
construiesc n mod intuitiv un program.
Instrumentele virtuale au o structur ierarhic i modular. Un
instrument virtual utilizat pentru construcia unui alt instrument
virtual poart denumirea de subinstrument virtual (subVI).1.2.
Instrumentaie virtual cu LabView
1.2.1. Introducere
n modul clasic de lucru pe un sistem de calcul cu mouse,
lansarea mediului de lucru se realizeaz fie prin alegerea
pictogramei corespunztoare mediului de lucru (fig.4.1) fie prin
alegerea succesiv a opiunilor: Start / Programs / National
Instruments LabView / LabView ceea ce are ca efect dechiderea
meniului de lucru.
Fig. 1.1 Pictograma LabView
n figura 4.2 se prezint meniul de lucru pentru versiunea LabVIEW
5.1 care poate fi regsit cu schimbri nesemnificative i pentru
versiunea LabView 6.0.
Fig. 1.2 Meniul principal pentru LabView 5.1
Semnificaiile din meniu sunt urmtoarele:
opiunea - New VI permite crearea unui nou VI iar opiunea Open VI
pentru deschiderea unui VI existent;
opiunea - Solution Wizards - lanseaz un utilitar care furnizeaz
recomandri n mod interactiv pentru realizarea unei aplicaii de
achiziii de date sau instrumente.
opiunea Cautare exemple - Search Examples permite consultarea
unui set de exemple, distribuite de firma National Instruments
mpreun cu mediul de lucru. Modul de consultare este cel clasic de
lucru n sistemul Windows.
opiunea ndrumtor LabVIEW LabVIEW Tutorial lanseaz un program
demonstrativ de instruire despre LabVIEW.
pentru prsirea mediului de lucru se apeleaz la opiunea Ieire
Exit .
n figura 4.3 se prezint meniul principal pentru versiunea
LabView 8.2 care este asemntor cu cel pentru versiunea LabView 7.0.
Construirea unui instrument virtual se va lansa n acest caz prin
selectarea opiunii New / Blank VI.
Fig. 1.3 Meniul principal pentru LabView 8.2
1.2.2. Introducere n LabView
1.2.2.1. Structura unui instrument virtual
Un instrument virtual (VI) are trei componente:
panoul frontal corespunde la interfaa grafic cu utilizatorul sau
ceea ce va vedea utilizatorul pe ecranul monitorului. Dac dorim s
facem o comparaie a instrumentului virtual cu un instrument fizic,
panoul frontal ar corespunde prii frontale a instrumentului fizic
pe care exist butoane, chei de comand, afiaj, display etc. Pentru
exemplificare se prezint n figura 4.4 se prezint panoul frontal al
unui instrument virtual pentru vizualizarea legilor de micare a
unui element mobil: acceleraie, vitez i spaiu n funcie de timp
(fig.4.5). Pentru o lege de micare dat a acceleraiei se poate scrie
simplu:
( 1.1)
( 1.2)
Fig. 1.4 Element n micare de rotaie
Fig. 1.5 Panou frontal
Panoul frontal este o combinaie de elemente de control i
indicatoare. Elementele de control simuleaz sursele de informaii
pentru instrumentul virtual. Indicatoarele simuleaz elementele de
ieire i vizualizare pentru informaiile achiziionate.
diagrama bloc corespunde codului programului i definete
funcionalitatea IV lui pe baza operatorilor clasici, funciilor
.a.m.d. n figura 4.6 se prezint diagrama bloc pentru un element
motor n micarea de rotaie, construit pe baza bibliotecii mediului
de lucru. Realizarea diagramei bloc se obine prin utilizarea
limbajului grafic. Componentele se leag ntre ele prin fire =
conductoare definind fluxul datelor din diagam. Dac comparm
diagrama bloc cu instrumentul fizic, atunci, coninutul su coincide
cu componentele fizice (rezistoare, fire de legtur, circuite logice
etc.) din carcasa instrumentului.
Fig. 1.6 Diagram bloc
pictograma i conectorul corespund semnturii programului.
Pictograma (icon-ul) este identificatorul graphic al VI.
Terminalele de intrare i ieire corespund parametrilor de intrare /
ieire.
Fig. 1.7 Pictograma (icon-ul) pentru VI-ul corespunztor
calculului valorii medii
1.2.2.2. Construcia unui instrument virtual
1.2.2.2.1. Introducere
La selectarea opiunii New VI din meniul principal (versiunea 5,
6) sau pentru versiunea 8.2 se deschid dou ferestre de lucru
suprapuse corespunztoare panoului frontal i respectiv diagramei
(fig.4.8).
Bara orizontal cu meniuri conine opiuni implementate n
aplicaiile Windows (File, Edit,) i unele specifice mediului
LabView.
Pentru un lucru uor cele dou pagini se pot aranja relativ una fa
de alta:
Selectnd din bara meniului orizontal Windows / Tile Left and
Right cele dou pagini se poziioneaz vizibil pe aceeai
orizontal.
Selectnd din bara meniului orizontal Windows / Tile Up and Down
cele dou pagini se poziioneaz vizibil pe aceeai vertical;
Selectnd din bara meniului orizonal Windows / Full Size se obine
maximizarea paginii de lucru respective. Trecerea n cea de a doua
pagin se realizeaz selectnd din nou de ex.: Windows / Show Block
Diagram sau Windows / Show Front Panel.
Fig. 1.8 Ferestrele de lucru corespunztoare panoului frontal i
diagramei
Prin selectarea unei opiuni din bara orizontal superioar, prin
butonul stng al mouse-lui, se deschide un submeniu derulant cu o
serie de opiuni dispuse pe verical.
Fig. 1.9 Meniul derulant pentru opiunea File
Modul este specific programelor sub Windows iar opiunile sunt n
general clasice. Pentru meniul derulant corespunztor opiunii File
(fig.1.9) semnificaiile sunt:
opiunea Fiier File permite utilizatorului realizarea unor
operaii de gestionare a fiierelor: lansarea operaiei de creare a
unui nou VI (New), deschiderea unui VI existent (Open), nchiderea
ferestrei de lucru curente (Close), salvarea modificrilor realizate
asupra VI (Save), salvarea VI cu opiune pentru numele fiierului,
director etc.(Save As), lansarea n lucru a unui nou proiect (New
Project), deschiderea unui proiect existent (Open Project) opiuni
de tiprire (Print...) s.a.m.d.
Opiunea de asisten Help este de asemenea specific sistemelor de
operare i asigur faciliti de obinere a unor informaii despre
elementele de lucru, program de instruire, versiunea mediului de
lucru etc.
Opiunile din a doua bar orizontal (pagina panou frontal) sunt
specifice LabView (fig.4.10):
a - Run lanseaz n execuie programul de lucru. Programul de lucru
este modulul principal al aplicaiei i apeleaz alte VI;
b - Run Continuously - programul este executat continuu;
c - Abort Execution realizeaz oprirea rulrii;
d - Pause realizeaz o oprire temporar a rulrii programului;
e - ...Fontopiuni pentru selectarea fontului de text dorit;
f - Sunt patru opiuni n ordine Align Objects, Distribute
Objects, Resize Objects, Reorder care permit alinierea,
distribuirea obiectelor selectate n panoul frontal, redimensionarea
sau reordonarea acestora.
Fig. 1.10 Opiunile din bara a doua orizontal
Semnificaii asemntoare sunt alocate i n bara orizontal din
pagina diagramei VI (fig.4.11). Semnificaiile a - d sunt identice
cu cele anterioare iar urmtoarele se refer la:
e Highlight Execution prin selectarea opiunii execuiunea
progamului este ncetinit i se vizualizeaz ntregul transfer de
date;
f Retain Wire Values reinerea valorilor pentru fluxul de date
din firul selectat.
Fig. 1.11 Opiunile din pagina diagramei
Am prezentat n cele anteriore cadrul general n care un
utilizator urmeaz s construiasc un intrument virtual. n acest scop,
utilizatorul va apela la trei casete:
Caseta cu instrumente Tools Palette care devine vizibil prin
selectarea opiunii View / Tools Palette;
Caseta cu controale Controls Palette care devine vizibil prin
selectarea n pagina panoului frontal a opiunii View / Controls
Palette;
Caseta cu funcii Functions Palette care devine vizibil prin
selectarea n pagina diagramei a opiunii View / Functions
Palette.
n cazul versiunilor anterioare (5, 6) casetele de lucru se
activeaz din opiunea Windows / Controls Palette sau Windows /
Functions Palette.
1.2.2.2.2. Caseta cu instrumente (Tools Palette)
Caseta cu unelte generale (Tools Palette) cuprinde facilitile
folosite de utilizator pentru crearea, editarea sau trasarea
execuiei instrumentelor virtuale. n figura 4.12 se prezint imaginea
casetei cu instrumente de lucru. Imaginea acesteia i facilitile
oferite sunt aceleai pentru versiunile LabView menionate.
Fig. 1.12 Caseta cu instrumente
Pentru a fi activ una dintre facilitile oferite de caset este
necesar s fie selectat cu ajutorul mouse-lui. n figura 4.12 este
activ facilitatea a2. Semnificaia fiecreia dintre aceste faciliti
este urmtoarea:
a1 instrumentul de operare permite manipularea controalelor i
indicatoarelor pe panoul frontal;
a2 instrumentul de editare permite selectarea, deplasarea sau
redimensionarea obiectelor;
a3 - instrumentul de etichetare permite introducerea textului de
la tastatur;
b1 instrumentul interconectare - se folosete n diagrama bloc,
pentru a realiza legturile ntre noduri (elementele de execuie) n
conformitate cu schema logic de lucru. Firele definesc fluxul
datelor;
b2 instrument pentru afiarea meniului aparent - permite
deschiderea casetei meniu a obiectului vizat din panoul frontal
prin butonul stng al mouse-lui;
b3 instrumentul de defilare - permite defilarea coninutului
ecranului, fr a se utiliza barele de defilare ale ferestrei de
lucru;
c1 instrumentul de depanare : permite ntreruperea execuiei IV.
Se folosete la depanarea programului;
c2 instrument sond (prob) : permite vizualizarea valorii
transmise pe un fir de legtur n faza de execuie a programului. Se
utilizeaz n general n faza de depanare a programului
(fig.4.13);
Fig. 1.13 Modul de utilizare al sondei
c3 instrumentul pentru culoare - permite preluarea culorii
obiectului asupra cruia se execut clic cu butonul stnga al
mouse-lui;
d instrumentul de colorare: permite stabilirea culorilor pentru
prim planul i fundalul obiectelor.
Numele fiecreia dintre faciliti devine vizibil pentru un scurt
timp la poziionarea mouse-lui deasupra iconu-lui corespunztor
instrumentului.
1.2.2.2.3. Caseta cu controale (Controls Palette)
LabView dispune de controale i indicatoare pentru majoritatea
categoriilor de date: numerice, ir de caractere, boolean, tabel,
tablou, grafic etc. Pentru un anumit tip de date sunt disponibile
mai multe variante de controale i indicatoare. Utilizatorul poate s
aleag din variantele disponibile pe cea mai sugestiv pentru
instrumentul vizat. Afiarea casetei cu controale dac nu este
vizibil se poate realiza fie prin selectarea din meniul principal,
fie prin poziionarea cursorului mouse-lui n interiorul panoului
frontal i click cu butonul drept.
Semnificaia grupului de elemente din caset este indicat prin
denumirea fiecrui grup n mod vizibil sub icon-ul caracteristic
(fig.4.14). Poziionarea mouse-lui deasupra unuia din grupul de
elemente deschide o subcaset cu toate elementele disponibile n
grupul respectiv (fig.4.15).
Plasarea elementului selectat pentru construcia VI n panoul
frontal se realizeaz prin selectarea din caset i tragerea acestuia
cu mouse-ul n zona de lucru i confirmarea poziiei n panoul frontal
prin mouse. Plasarea elementului pe suprafaa panoului frontal este
nsoit de apariia n diagram a unui corespondent colorat cu o etichet
avnd acelai nume cu cel plasat n panoul frontal. Un element
oarecare al acestei casete poate ndeplini n general dou roluri: rol
de control adic de prescriere a unei valori sau un rol de indicator
adic de vizualizare a unei informaii. Recunoaterea uneia sau a
alteia dintre stri este posibil prin urmrirea liniei de contur
exterior pentru icon-ul elementului reprezentat n diagram.
Elementele de tip control au linia exterioar a conturului groas iar
indicatorul are linia de contur subire.
Fig. 1.14 Caseta de controale (a) i elementele componente din
grupul Graph (b)
Fiecrui control / indicator i este ataat un meniu contextual
care permite afiarea unor elemente suplimentare, selectarea unui
anumit comportament, domeniul valorilor posibile etc.:
Replace permite nlocuirea componentei cu alta dac aceasta este
mai convenabil n construcia VI-lui;
Representation permite selectarea formatului numeric: ntreg pe x
bii cu semn (Ix), ntreg pe x bii fr semn (Ux), virgul mobil,
precizie simpl (SGL), virgul mobil, precizie dubl (DBL), precizie
extins (EXT),... ;
Data range permite selectarea valorii iniiale, incrementarea,
valoarea minim i maxim, formatul de notare a valorilor numerice,
textul etichetei;
Format & Precision permite selectarea modului de notare a
valorilor numerice;
Scale permite selectarea formatului, a preciziei, grafica
scalei, tipului scalei (liniar, logaritmic).
Din acest meniu este posibil trecerea elementului din modul de
lucru control n modul de lucru indicator i invers. Pentru aceasta
se selecteaz opiunea Change to...(fig.4.15).
Fig. 1.15 Controlul i meniul contextual corespunztorUn clic cu
butonul drept, pe scala ataat graficii obiectului, deschide meniul
contextual de aceeai configuraie pentru toate controalele i
indicatoarele de tip numeric (fig.4.16). n exemplul din figura 4.16
pentru opiunea Style se pot modifica formele de prezentare ale
scalei.
Fig. 1.16 Selectarea graficii pentru scalLa alegerea opiunii
pentru format & precizie Format & Precision se poate
stabili formatul de lucru pentru scala prezentat i numrul de
zecimale n prezentare.
Fig. 1.17 Formatul de lucruSe prezint n figura 4.18 formatul
liniar scalei pentru notaia cu virgul mobil (VAR 1), notaia
tiinific (VAR 2), notaia n inginerie (VAR 3), n format SI (VAR
4),cu trei zecimale i valoarea maxim diferit (VAR 5) i respectiv
formatul logaritmic (VAR 6).
Fig. 1.18 Formatul i forme de notaren figura 4.19 se prezint
modul de stabilire a domeniului valorilor posibile pentru un
control. Exist posibilitatea alegerii unui increment implicit (se
selecteaz Use Defaults) sau a unuia impus de utilizator.
Fig. 1.19 Selectarea valorii de incrementare pentru un
controlFormatul de reprezentare a datelor numerice confer precizia
de operare. n figura 4.20 se prezint aceste influene n modul de
adunare a dou numere A i B. Rezultatul adunrii este redat de un
indicator cu dou forme de reprezentare: ntreg fr semn (32 bit)
(I32) i respectiv real, dubl precizie (64 bit) (DBL).
Fig. 1.20 Influena formatului de prezentare numeric n precizia
de operare
1.2.2.2.4. Caseta cu funcii (Functions Palette)
Dup realizarea panoului frontal al IV , trebuie implementat
funcionalitatea programului. n acest scop se construiete diagrama
bloc care reprezint codul surs al instrumentului adic arat CUM se
rezolv problema. n acest scop se utilizeaz limbajul grafic G. Dac
am face o comparaie cu construcia unui instrument fizic atunci
construcia diagramei ar fi echivalent cu conectarea elementelor
componente prin fire, conectori etc.
n diagram se afl corespondentele controalelor i indicatoarelor
introduse n panoul frontal. n continuare utilizatorul selecteaz i
utilizeaz componente grafice de execuie definind astfel
funcionalitatea VI.
n figura 4.21a se prezint caseta cu funcii n versiunea LabView
8.2. Aceasta este structurat pe grupuri de funcii: programare
(Programming), instrumente I / O pentru msurtori (Measurement I /
O), instrumentaie I / O (Instrument I /O), prelucrare imagine i
micare (Vision and Motion), matematic (Mathematics), procesare
semnal (Signal Processing),...., bibliotec utilizator (User
Libraries), selectarea unui VI dintr-o bibliotec (Select a VI).
Fiecare dintre aceste grupuri de funcii se deschid ntr-o subcaset
de funcii care au ataat un icon sugestiv aplicaiei i numele
acestuia. Noile funcii devenite vizibile pot permite deschiderea
unor alte subcasete cu funcii particularizate. n fig.4.21b se
prezint, n sensul celor prezentate anterior, caseta pentru
programare i subcaseta cu funcii pentru comparare.
Fig. 1.21 Caseta cu funcii cu subpaleta funciilor de programare
(a) i sub-subpaleta funciilor booleane (b)
1.2.2.2.5. Editarea panoului frontal pentru un VI
n editarea unui VI putem considera eseniale dou aspecte:
un aspect funcional prin care se urmrete atingerea parametrilor
dorii pentru instrumentul virtual;
un aspect de design prin care se urmrete crearea unui produs cu
aspecte personalizate evideniate prin modul de dispunere a
controalelor n panoul frontal, a formelor i culorilor etc.
n figura 4.22 se prezint panoul frontal al unui instrument
virtual n care au fost selectate n scop funcional un display
(Controls/Graph/Waveform Graph), controale pentru start / stop
(Controls/Boolean/Vert Rocker, ../Boolean/Vertical Toogle Switch)
instrumente pentru semnalizare (../Boolean / Round Led) i redarea
numeric a informaiei (Controls/Numeric/Numeric Indicator, ..Numeric
/ Gauge).
Fig. 1.22 Panou frontal al unui VI
Poziionarea i redimensionarea fiecrui control din panoul frontal
s-a realizat apelnd la facilitatea Tools Palette /
Position/Size/Select. Pentru redimensionarea unui control se
selecteaz obiectul cu ajutorul mouse-lui iar apoi se modific mrimea
acestuia la valoarea dorit (pe vertical, pe orizontal sau simultan)
prin tragere de punctele aferente ale conturului.
Coninutul etichetei se modific apelnd la facilitatea Tools
Palette/ Edit Text pentru a trece n regimul de editare a textului i
apelnd la Application Font /... din bara de meniu principal pentru:
modificarea stilului .../Style/..Bold, poziionarea textului
../Style/..Center, mrimea fontului .../Style/Size/.Particularizarea
instrumentului de vizualizare a nregistrrii grafice se realizeaz
apelnd la meniul contextual al instrumentului (clic dreapta n
conturul instrumentului) (fig.4.23). Selectnd facilitatea
Properties se poate modifica stilul scalei, stilul pentru caroiaj
(grid), culoarea caroiajului principal i secundar etc. Modificarea
valorii maxime a scalei se poate realiza prin trecerea n regim de
text i introducerea valorii dorite din tastatur. Dac se dorete
auto-adaptarea instrumentului la valorile nregistrate se poate
selecta pentru scala dorit (X, Y sau ambele) opiunea Auto Scale. n
cazul nregistrrii grafice a mai multor informaii (mai multe
caracteristici) se selecteaz modul reprezentare dorit (prin puncte,
linii, culoare etc.) din Properties / Plot.
Dac pe parcursul editrii panoului frontal se dorete tergerea
unuia sau a mai multor controale, acestea se selecteaz individual
sau n grup (prin fereastr) cu ajutorul mouse-lui i se apas tasta .
Pentru pstrarea poziiei relative a controalelor n panoul frontal
acestea se pot include ntr-un grup sau mai multe printr-o
succesiune de operaii: selectarea controalelor (fereastr)/ Reorder
/ Group.
Fig. 1.23 Indicator grafic i meniul contextual
Pentru a fi ct mai sugestiv, panoul frontal al instrumentului
virtual se poate personaliza prin includerea pe lng controalele
specifice aplicaiei i a unor desene ale instalaiei vizate, scheme,
etc. n acest scop se poate apela la facilitatea oferit de mediul de
lucru Controls / Decorations sau se poate importa desenul respectiv
dup ce a fost realizat ntr-un alt mediu. n figura 4.24 se prezint,
n sensul celor precizate anterior, particularizarea panoului
frontal pentru un divizor de tensiune.Particularizarea const n
includerea schemei electrice a divizorului i poziionarea sugestiv a
controalelor n panoul frontal. S-a utilizat pentru editarea schemei
electrice facilitatea din mediul LabView. Reprezentarea grafic se
poate realiza i n AutoCAD. Pentru un import de calitate se
realizeaz n AutoCAD: maximizarea imaginii n fereastra de
vizualizare (View / Zoom / Extents), o reducere a scalei de
vizualizare (..Zoom 0.95X) i salvare *.wmf. Desenul respectiv se
import n panoul frontal Edit / Import Picture to Clipboard.
Fig. 1.24 Panoul frontal al instrumentului virtual
n figura 4.25 se prezint un control i meniul su contextual. Spre
deosebire de cazul indicatorului grafic, n acest caz este necesar i
alegerea corect a modului de reprezentare a informaiei: ntreg cu
semn (pe 8 bit I8, pe 16 bit I16, pe 32 bit I32), ntreg fr semn (pe
8 bit U8, pe 16 bit U16, pe 32 bit U32),...
Fig. 1.25 Control i meniul contextual
1.2.2.2.6. Editarea diagramei bloc
Componentele casetei cu funcii se constituie n nodurile
diagramei bloc fiind elementele principale ale diagramei.
Cel de al doilea element pentru diagrama bloc sunt terminalele.
Acestea reprezint pori (tunele) prin care se realizeaz transferul
datelor:
bidirecional ntre panoul frontal i diagrama bloc;
unidirecional ntre nodurile diagramei bloc.
n construcia diagamei bloc se recomand respectarea urmtorului
principiu: poziionarea nodurilor s fi fcut astfel nct circulaia
informaiei s se fac de la stnga la dreapta i de sus n jos. n acest
mod este simpl i urmrirea legturilor.
Terminalele au o reprezentare grafic sugestiv i sunt terminale
surs pentru datele de intrare i respectiv terminale destinaie
(ieire). n figura 4.26 se prezint icon-ul pentru funcia numeric de
adunare n care sunt vizibile terminalele. Notarea terminalelor
respect principiul precizat anterior. Aceste terminale devin
vizibile la poziionarea mouse-lui deasupra sa.
Fig. 1.26 Funcie i terminale
Ultimul element firele definesc i reprezint grafic fluxul
datelor n diagrama bloc. Fluxul datelor este de la terminalele surs
spre terminalele destinaie. Prin culoarea i tipul liniei, firele
codific tipul datelor transmise (tabelul 4.1). Conectarea corect a
dou componente din diagrama bloc este sesizat prin existena unui
fir de legtur continuu de culoarea informaiei vehiculate. Dac
legtura nu este corect firul se prezint sub forma unei linii
ntrerupte de culoare neagr.
Tabelul 1.1ScalarMatrice 1DMatrice 2DCuloare
Numeric Portocaliu
(virgul mobil)
Albastru (ntreg)
BooleanVerde
ir de caractereRou
Construcia diagramei se realizeaz n conformitate cu schema logic
pentru aplicaia dat. Din acest motiv este necesar o cunoatere
prealabil a aspectului funcional / teoretic al instrumentului.
Pentru exemplificarea celor menionate reconsiderm exemplul
divizorului de tensiune pentru care a fost prezentat panoul frontal
n figura 4.14. Divizorul de tensiune face parte din cadrul
circuitelor de condiionarea semnalului i permite reducerea
tensiunii de ieire din circuit (fig.4.27). n conformitate cu schema
electric, tensiunea de ieire se calculeaz ca fiind:
( 1.3)
Fig. 1.27 Schema electric a divizorului de tensiune
n panoul frontal au fost introduse patru elemente: un control
pentru tensiunea de intrare, dou controale pentru rezistene i un
indicator pentru tensiunea de ieire. n diagrama bloc aceste
elemente trebuie s respecte succesiunea logic a operaiilor
matematice din relaia (4.3). n acest scop s-au introdus n mod
suplimentar n diagram urmtoarele funcii (Functions / Programming /
Numeric):
Funcia de adunare Add pentru nsumarea valorilor
rezistenelor;
Funcia de mprire Divide pentru obinerea valorii raportului (
tensiune / sum rezistene);
Funcia de nmulire Multiply pentru nmulirea rezultatului anterior
cu valoarea rezistenei R2.
Diagrama bloc rezultat este prezentat n figura 4.28.
Fig. 1.28 Diagrama bloc pentru VI-ul divizorului de tensiune
Introducerea de controale i indicatoare suplimentare se poate
realiza i din diagrama bloc prin apelarea meniului contextual al
funciei n cauz. Astfel de cerine pot s apar pe parcursul editrii
diagramei bloc iar controalele respective s-ar constitui n elemente
suplimentare care dau o claritate superioar instrumentului virtual.
n figura 4.29 este exemplificat modul de apelare al meniului
contextual pentru o funcie de comparare n scopul introducerii unui
indicator pe parcursul editrii diagramei bloc.Confirmarea
posibilitii de a lega cele dou obiecte const din schimbarea
promterului pentru mouse n semnul grafic din caseta de unelte
(fig.4.30). Pentru a crea legtura ntre cele dou terminale se
apeleaz la butonul stng al mouse-lui i se deplaseaz de la un
terminal la cellalt (fig.4.31)
Fig. 1.29 Introducerea unui indicator prin apelarea meniului
contextual
Fig. 1.30 Mouse-ul i semnul activ aferent posibilitii de
conectare a obiectelor
tergerea unui fir se realizeaz prin selectare i apsarea tastei .
Un segment a firului este un fragment orizontal sau vertical a
acestuia. Punctul de ntlnire dintre trei sau patru segmente de fir
definesc o jonciune. O ramificaie conine toate segmentele de fir de
la o jonciune la alta, de la un terminal la jonciunea urmtoare, de
la un terminal la altul dac nu este nici o jonciune ntre ele
(fig.4.32).
Fig. 1.31 Conectarea a dou obiecte din diagrama bloc
Fig. 1.32 Segment, cot i nod n conectarea obiectelor
Un clic simplu (butonul stng al mouse-lui) selecteaz un segment
al firului (fig.4.33a). Dublu-clic selecteaz o ramificaie
(fig.4.33b) iar un triplu-clic selecteaz ntregul fir
(fig.4.33c).
Fig. 1.33 Modaliti de tergere a firelor
1.2.2.3. Tehnici de depanare n funcionarea instrumentului
virtual
Dup editarea panoului frontal i a diagramei bloc urmtorul pas pe
care utilizatorul trebuie s l fac este verificarea funcionrii
instrumentului virtual. Lansarea n lucru a programului se realizeaz
prin selectarea tastei Run sau Run Continuosly din bara de meniu
orizontal.
Dac din punct de vedere tehnic instrumentul virtual este corect
construit, utilizatorul va constata c acesta funcioneaz iar acest
lucru este semnalizat n a doua bar de meniu orizontal care va avea
aspectul din figura 4.34.
Fig. 1.34 Aspectul barei de meniu la funcionarea instrumentului
virtual
Dac din punct de vedere tehnic exist erori de editare (fire
ntrerupte, controale neconectate sau n plus, fr rol funcional)
acest lucru este semnalizat iar programul nu poate fi lansat n
execuie (fig.4.35).
Fig. 1.35 Eroare de editare, list de erori
Existena erorii este semnalizat pe bara de meniu orizontal prin
icon-ul haurat al opiunii Run.Apsarea acestui buton (butonul stng
al mouse-lui) deschide o caset cu erorile din program. Detalii
suplimentare privind cauzele posibile ale erorii sunt precizate n
partea inferioar a listei de erori (Error list, Details). Un dublu
click n zona erorii din lista deschis, va localiza eroarea din
diagrama bloc. Dup nlturarea cauzelor care au dus la eroarea de
funcionare, icon-ul opiunii Run i recapt aspectul normal (sgeat cu
interior nehaurat).
Una din cauzele frecvente ale erorilor de funcionare const n
existena unor fragmente de fir neconectate n diagrama bloc datorit
aspectului invizibil n primul moment pentru utilizator: sunt
acoperite cu alte obiecte, sunt n alt parte a spaiului de lucru
dect cel vizibil pentru utilizator etc. Eliminarea acestor
fragmente ascunse este posibil prin selectarea opiunii (bara de
meniu orizontal) Edit / Remove Broken Wires.
Pentru emiterea concluziei instrumentul virtual funcioneaz
correct este necesar o verificare a rezultatelor finale prin
comparare cu valori estimate / calculate. O astfel de verificare
poate elimina n mod rapid unele din cauzele funcionrii incorecte a
instrumentului.
O atenie deosebit trebuie acordat corelrii unitilor de msur pe
de o parte i a modului de transfer a informaiilor de forme diferite
de exprimare (numerice, Boolean, ir de caractere etc.)
Se pot meniona cteva faciliti de testare a progamului
editat:
execuia programului prin evideniere (diagrama bloc / bara de
meniu orizonal / Highlight Execution). n cadrul fiecrui ciclu de
execuie a programului este evideniat valoarea de execuie pe fiecare
obiect din diagrama bloc (fig.4.36). n acest mod este posibil
determinarea acelui punct din care programul nu funcioneaz
correct.
Fig. 1.36 Diagrama bloc la execuia programului prin
evideniere
execuia programului dup selectarea opiunii Retain Wire Values
permite vizualizarea valorii informaiei pe oricare dintre firele de
legtur din diagram prin simpla plasare a mouse-lui peste firul
respective. Apariia unei etichete n care este trecut valoarea
informaiei vehiculate este nsoit i de apariia temporar a iconu-lui
cu instrumental corespunztor probei din caseta de instrumente.
pentru vizualizarea permanent a unei valori pe un anumit canal
(fir) se selecteaz din caseta cu instrumente opiunea instrumentului
de prob Caseta cu instrumente(Tools Palette) / Probe Data. Aciunea
are ca rezultat nlocuirea prompterului mouse-lui cu instrumental de
prob dup care acesta este plasat pe firul vizat. Aciunea se ncheie
prin apariia n zona firului a unei eticehete care marcheaz numrul
de ordine a probei (pentru a o putea identifica dac acestea sunt
multiple), o caset cu o zon de vizualizare a valorii (fig.4.37).
Dac firul vizat este conectat pe terminalul de ieire a unui
control, caseta evideniaz i denumirea acestuia. Dac firul vizat
este conectat pe terminalul de ieire a unei funcii, se evideniaz
doar valoarea informaiei. vizualizarea execuiei programului n mod
succesiv pe obiecte este posibil prin selectarea din bara de meniu
orizontal a diagramei bloc a opiunii Start Single Stepping. La
prima selectare este marcat primul obiect executat n program. La
apsarea urmtoare este evideniat urmtorul obiect s.a.m.d. n acest
mod utilizatorul poate stabili dac succesiunea operaiilor este cea
corect sau nu. n cazul progamelor complexe acest lucru ar conduce
la un consum mare de timp. Din acest motiv utilizatorul poate
selecta un punct din program pe care s l declare punct de oprire pn
n care programul funcioneaz normal i dup care se trece la o execuie
pas cu pas. Marcarea punctului respectiv se face dup selectarea
opiunii din caseta de instrumente (Tools Palette)/ Set /Clear
Breakpoint. Cu ajutorul mouse-lui se identific firul iar aciunea
care are ca rezultat vizualizarea unui punct rou pe firul n
cauz.
Fig. 1.37 Diagrama bloc cu utilizarea instrumentului de prob
Dup verificarea corectitudinii funcionrii instrumentului virtual
acesta poate fi salvat (LabView / ....).
1.2.2.4. Crearea pictogramei instrumentului virtual
Dup construirea instrumentului virtual i n ideia utilizrii
ulterioare ca subVI, acestuia i se poate asocia o pictogram / icon
prin care s fie reprezentat n construciile viitoarelor instrumente
care l apeleaz. Acest subVI trebuie s aib un conector pentru
transferal de date .
Pentru construcia pictogramei se parcurg urmtoarele etape:
Selectarea diagramei construite prin utilizarea uneltei Tools
Palette/ Position / Size / Select;
Selectarea opiunii pentru crearea unui subVI: ...bara de meniu
orizontal diagrama bloc / Edit / Create SubVI. Aciunea are ca
rezultat nlocuirea instrumentului virtual cu un icon de form
general. Se exemplific acest lucru pentru diagrama VI-lui
corepunztor divizorului de tensiune (fig.4.38). Rmn n afara
icon-ului doar controalele i indicatoarele instrumentului virtual;
Salvarea SubVI lui creat prin procedura clasic: File/Save As (dup
ndeprtarea controalelor i indicatoarelor din afara iconu-lui);
Fig. 1.38 Crearea unui subVI
Se deschide panoul frontal al SubVI-lui creat prin apelarea
meniului contextual al icon-ului rezultat i selectarea opiunii Open
Front Panel (fig.4.39); Se selecteaz editarea icon-lui
caracteristic pentru SubVI creat (fig.4.40)(click cu butonul stng n
suprafaa icon-ului). Aciunea are ca rezultat apariia casetei de
lucru din figura 4.41.
Fig. 1.39 Deschiderea panoului frontal
Fig. 1.40 Selectarea opiunii de editare a icon-ului
Fig. 1.41 Caseta de editare a icon-ului
Se particularizeaz icon-ul specific pentru problema dat: se
utilizeaz facilitile legate de text, culoare, linii, tergere etc.
disponibile n caseta cu unelte din figura 4.42. Semnificaia
fiecreia dintre utiliti este prezentat n tabelul 4.2. Icon-ul
personalizat este prezentat n figura 4.38 iar icon-ul i terminalele
subVI-lui n figura 4.44.
Fig. 1.42 Caseta cu instrumente pentru editare
Fig. 1.43 Icon-ul personalizat
Fig. 1.44 Icon-ul personalizat i terminalele vizualizateTabelul
1.2SimbolDenumireDescrierea facilitilor
CreionDeseneaz sau terge pixel cu pixel. Prin apsarea tastei i
tragere simultan a mouse-lui se pot trasa linii orizontale sau
verticale
LinieDeseneaz linii. Prin folosirea tastei i tragerea simultan a
mouse-lui se traseaz linii orizontale sau verticale
Selector culoareSelecteaz culoarea de desenare prin prelevare
din pictogram
Umplere Umple o suprafa preselectat cu culoare de fond
Dreptunghi Deseneaz un dreptunghi cu culoarea curent
Dreptunghi plinDeseneaz un dreptunghi cu culoarea curent i l
coloreaz cu culoarea de fond
Selectare Selecteaz o parte a pictogramei pentru repoziionare,
copiere sau tergere
Text Permite scrierea textului n pictogram
Culoare curent / de fondAfieaz culoarea curent de desenare i
culoarea de fond
Se salveaz construcia astfel realizat cu numele
subVI-luidorit;
Utilizarea noului subVI se realizeaz prin apelarea funciei
Select SubVI (fig.1.45)
Fig. 1.45 Apelarea unui VI din caseta de funcii
1.2.2.5. Structuri de program
1.2.2.5.1. Introducere
Circulaia datelor n mediul LabView i prin aceasta arhitectura
instrumentului virtual are la baz funciile structurale (fig.4.46).
n grupul de funcii structurale sunt incluse i funciile legate de
crearea unor variabile i o funcie grafic.
Semnificaia acestor funcii este urmtoarea: a1 bucla For (For
Loop)
b1 bucla While (While Loop)
c1 structuri dependente de timp (Timed Structures)
a2 structura Case (Case Structures)
a3 structur secvenial plat (Flat Sequence Structure)
b3 structur secvenial stivuit (Stacked Sequence Structure)
c3 structur de evaluare matematic (Formula Node)
a4 structur de dezactivare a diagramei (Diagram Disable
Structure)
b4 structur de dezactivare condiionat (Conditional Disable
Structure)
c4 nod feedback (Feedback Node)
a5 variabil partajat (Shared Variable)
b5 variabil local (Local Variable)
c5 variabil global (Global Variable)
b6 elemente de grafic (Decorations)
Fig. 1.46Funciile structurale
n variantele LabView 5, LabView 6 numrul de structuri utilizate
este mai redus: structura secvenial, bucla While, bucla For, bucla
Case.
Fcnd o analogie cu instrumentele fizice, aceste funcii ar
echivala cu plcile de circuit, circuite logice s.a.m.d.
1.2.2.5.2. Structuri secveniale
O secven structural conine una sau mai multe subdiagrame sau
cadre (frame) care se execut n ordine secvenial. n interiorul
fiecrui cadru al unei structuri secveniale, ca i n restul diagramei
bloc, dependena datelor determin ordinea de execuie a
nodurilor.
Secvenele structurale sunt recomandate pentru a controla
succesiunea execuiei programului cnd nu exist o dependen natural a
datelor i nu sunt disponibili parametrii de flux de trecere (flux
through).
Exist dou secvene structurale: structur secvenial plat (Flat
Sequence Structure) i structur secvenial stivuit (Stacked Sequence
Structure). Acestea se apeleaz selectnd: Functions / Programming /
Structures / Flat Sequence Structure sau Functions / Programming /
Structures / Stacked Sequence Structure.Structura secvenial plat
(fig.4.47) se utilizeaz pentru a asigura execuia unei subdiagrame
nainte sau dup o alt subdiagram. Adugarea unei noi structuri
secveniale se obine prin click - dreapta pe chenarul structurii i
apelarea facilitii dorite din meniul contextual. Un clik dreapta pe
bara orizontal a chenarului ofer dou faciliti: introducerea unei
structuri secveniale n fa (Add Frame Before) sau introducerea unei
structuri dup (Add Frame After). Un click dreapta pe bara vertical
a chenarului ofer doar una din cele dou posibiliti: pe bara stng
permite Add Frame Before iar pe bara dreapt permite Add Frame
After. Un click-dreapta pe o bar vertical a chenarului pentru o
structur secvenial intermediar ofer facilitatea Insert Frame.
Fig. 1.47 Structur secvenial plat
Structurile secveniale plate se execut de la stnga la dreapta
cnd toate datele legate la cadru sunt disponibile. Se recomand
structura secvenial plat pentru a evita secvenele locale i pentru o
documentare mai bun a diagramei bloc. n figura 4.48 se prezint o
editare a unei structuri secveniale plate formate din trei
cadre.
Fig. 1.48 Exemplu de structur secvenial plat cu 3 cadre
n primul cadru se realizeaz operaia de multiplicare a valorii
controlui introdus n panoul frontal iar rezultatul este transferat
spre cadrul 2. n cadrul 2 i 3 se execut alte dou operaii matematice
care se bazeaz pe rezultatul anterior. Condiionarea privind
succesiunea operaiilor i o ordonare clar a diagramei s-a soluionat
astfel prin structura secvenial plat.
n figura 4.49 se prezint o structur secvenial stiv format din 3
cadre (0, 1, 2) cadrul activ n figura prezentat fiind cadrul 1.
Fig. 1.49 Structur secvenial cu dou cadre
n fiecare cadru se pot introduce nodurile existente sau edita
altele noi. Diagrama care trebuie execut prima se introduce n
cadrul 0, diagrama care trebuie executat a doua n cadrul 1
s.a.m.d.
O exemplificare a utilizrii structurii secveniale stiv este
prezentat n figura 4.50. Fig. 1.50 Exemplu de structur secvenial
stiv: a cadru 0; b cadru 1; c cadru 2
In primul cadru se realizeaz conform schemei logice impuse o
operaie de multiplicare iar rezultatul este vizualizat prin
indicatorul Numeric 2 i utilizat att n cadrul 2 ct i n cadrul 3.
Acest lucru este posibil prin crearea secvenei locale apelnd din
meniul contextual pentru click dreapta pe conturul vertical al
cadrului (fig.4.51). Secvena local devine activ dup conectarea unui
fir la aceasta. Starea activ este semnalizat prin apariia unei sgei
n interiorul semnului alocat secvenei.Pe acelai principiu
rezultatul operaiei matematice din cadrul 2 este posibil s fie
utilizat n cadrul 3 (dar nu i n cadrul 1, fluxul datelor fiind doar
spre cadrele de ordin superior).Terminalul local al secvenei poate
fi mutat de utilizator cu unealta de editare ori unde pe cadrul
instruciunii. Se recomand asocierea unei etichete descriptive
firelor conectate la terminalele de intrare / ieire locale ale
secvenei.
Fig. 1.51 Crearea secvenei locale i semnul aferent
terminalului
1.2.2.5.3. Bucla For
Bucla For repet un fragment din codul diagramei bloc de un numr
predeterminat de ori. Aceast structur este echivalent cu ciclul For
din programarea clasic.
Structura se poate apela prin selectarea Functions / Programming
/ Structures/ For Loop. Rezultatul seleciei const n posibilitatea
editrii n spaiul diagramei bloc a unui cadru care se dimensioneaz
scopului urmrit (fig.4.52). Sunt remarcate dou terminale:
Contorul N care indic numrul de cicluri n de executat din
operaiile considerate. Valoarea acestuia se impune s fie un numr
natural.
Indexul i care indic valoarea curent a iteraiei i ia valori n
intervalul
Fig. 1.52 Bucla For
Pentru exemplificare, n figura 4.53 este prezentat diagrama bloc
- bazat pe o structur For i panoul frontal pentru construcia
funciei sin. Funcia sin n cadrul buclei For a fost apelat din
caseta de funcii: Functions / Mathematics / Elementary &
Special Functions / Trigonometric Functions.
Fig. 1.53 Exemplificarea buclei For prin construcia funciei
sin
Bucla For poate lucra cu regitrii de deplasare. Acetia se
utilizeaz pentru transferal datelor de la o iteraie ctre iteraia
urmtoare. Acetia se pot accesa apelnd din meniul contextual dup
click - dreapta pe bara vertical a cadrului (fig.4.54). Registru de
deplasare conine dou terminale corespondente, situate n opoziie, pe
cele dou bare verticale ale cadrului. Terminalul din dreapta
memoreaz valoarea la sfritul iteraiei. Un registru de deplasare
poate lucra cu orice tip de date: numeric, Boolean, ir de caractere
etc.
O facilitate important este aceea c regitrii de deplasare pot
readuce n iteraia curent rezultate din iteraii anterioare. Aceast
facilitate este extrem de util cnd se fac medieri ale datelor. n
acest caz este necesar s se creeze terminale adiionale pe bara din
stnga a cadrului buclei apelnd Add Element dup click dreapta n
terminalul registrului (fig.4.55).
Fig. 1.54 Apelarea regitrilor de deplasare (a) i semnul aferent
terminalelor (b)
Fig. 1.55 Terminale adiionale suplimentare
1.2.2.5.4. Bucla While
Aceasta se apelezeaz prin Functions / Programming / Structures/
While Loop. Bucla unei informa repet de mai multe ori o secven de
cod din diagrama bloc atta timp terminalul condiional (este un
terminal de intrare) primete o valoare Boolean particular. Cadrul
de lucru dispune de un terminal de iteraie i i terminalul de
condiionare (fig.4.56). Dup selectare i dimensionarea cadrului la
dimensiunea dorit se pot introduce obictele necesare pentru
editare. Valoarea Boolean particular se selecteaz din meniul
contextual (fig.4.56). n versiunile LabView 5, LabView 6 bucla
While avea o singur opiune: continu pn cnd valoarea este adevrat
(Continue if True).
Bucla While dispune de facilitatea lucrului cu regitrii de
deplasare n mod asemntor ca i n cazul buclei For .
Fig. 1.56 Bucla While i terminalele aferente
Exemplificm utilizarea buclei While n construcia unui instrument
virtual pentru achiziia unei informaii. n acest scop apelm la o
structur secvenial n stiv cu dou cadre.
n primul cadru se introduce bucla While iar n cadrul al doilea
funcia de generare a unui numr aleatoriu (Functions / Programming /
Numeric / Random Number (0 1)) i achiziia semnalului (Controls /
Graph / Waveform Chart).
Achiziia de date demareaz prin apsarea unui alt buton i dureaz
atta timp ct acest buton nu i schimb starea logic. Butoanele se
selecteaz din caseta de controale: Controls / Modern / Boolean.
Fig. 1.57 Selectarea aciunii mecanice pentru un buton de
apsare
Alegem din caset un buton de apsare (Push Button). Alegerea
aciunii mecanice a controlului Boolean se poate realiza fie
selectnd Mechanical Action (fig.4.57) fie din caseta de proprieti a
acestuia (fig.4.58). A doua variant are avantajul i posibilitii de
vizualizare a modului de aciune (Preview Selected Behavior).
Fig. 1.58 Caseta cu proprieti a butonului de apsare
Diagrama bloc cu structura secvenial stiv este prezentat n
figura 4.59.
Fig. 1.59 Exemplificarea utilizrii structurii secveniale stiv: a
cadrul 0; b cadrul 1
1.2.2.5.5. Structura de tip caz Case
Structura Case se poate plasa n diagrama bloc dup selectarea ei
din caseta de funcii: Functions / Programming / Structures / Case.
Este o structur existent i n versiunile LabView 5, LabView 6 i
echivaleaz cu instruciuni de tipul If Thendin programarea clasic
bazat pe text.
Reprezentarea grafic a structurii are la baz un cadru
redimensionabil la cerinele utilizatorului, un terminal selector i
o etichet a selectorului (fig.4.60).
Fig. 1.60 Structura Case
Adugarea sau tergerea unui cadru este posibil prin click dreapta
pe cadru i alegerea opiunii dorite din caseta de meniu deschis:
adugarea unui caz dup(Add Case After), adugarea unui caz nainte(Add
Case Before), tergerea acestui caz (Delete This Case), nltura
cazurile goale (Remove Empty Cases), etc. Valoarea conectat la
terminalul selector determin care caz se execut. Valoarea de
control poate fi de tip Boolean (exist dou cazuri True i False), de
tip numeric, de tip ir sau de tip enumerate.
Varianta implicit a structurii Case este cu valoarea de control
de tip Boolean (fig.4.61).
Fig. 1.61 Structura Case pentru variabil de control Boolean
Pentru valoarea de control de tip ir se introduc valorile n
eticheta selectorului prin apelarea Add Case After sau Add Case
Before. Funcie de informaia de pe terminalul selector se va executa
secvena de cod coninut n cadrul respectiv (fig.4.62).
Fig. 1.62 Structura Case cu variabil control ir
Pentru valoare de control de enumerare se introduce n panoul
frontal un control Enum (Controls / Modern / Ring & Enum /
Enum) i se conecteaz n diagrama bloc pe terminalul selector de
intrare. Printr-un clik dreapta se deschide caseta de dialog al
controlului Enum din care se selecteaz - Add Case After sau Add
Case Before - introducerea valorii de control. Dup introducerea
tuturor valorilor dorite, actualizarea etichetei selectorului se
face selectnd opiunea Add Case for Every Value din caseta de dialog
derulant a etichetei selectorului (fig. 4.63). O astfel de
structurare este util pentru construirea unui generator de semnal
virtual.
Fig. 1.63 Structura Case cu variabil control de enumerare
Varianta pentru valoare de control numeric este exemplificat n
figura 4.64. Valorile de control au fost inserate n eticheta
selectorului pe principiul variantei ir. n exemplul construit exist
ase cadre cu secvene de calcul numeric iar rezultatul este afiat pe
un indicator numeric. Prin controlul numeric Dial se selecteaz care
din cele ase cazuri se execut. n figura 4.64 s-a prezentat execuia
cazului al aselea.
Fig. 1.64 Exemplficarea structurii Case cu variabil de control
numeric: a panoul frontal; b diagrama bloc
1.2.2.5.6. Structura nodul formul / de calcul (Formula Node
)
Nodul Formula realizeaz evaluarea numeric a formulelor sau
expresiilor n diagrama bloc, similar cu C.
Noua structur se apeleaz n mod asemntor cu cele anterioare. Dup
apelare i redimensionarea cadrului la dorina utilizatorului, se
poate introduce n ea modelul matematic dorit utiliznd instrumental
de editare din caseta de lucru cu instrumente (Tools Palette).
Avantajele utilizrii formulelor de calcul sunt urmtoarele:
Se uureaz scrierea, depanarea i nelegerea formulelor
matematice;
Se elimin erorile, care pot aprea la transcrierea formulelor
matematice complexe n limbajul grafic (se folosesc noduri i
fire);
Se reduce suprafaa ocupat n diagrama bloc fa de cazul
implementrii prin noduri i fire
Editarea instruciunilor de atribuire se realizeaz cu uneltele de
etichetare sau de operare. Finalizarea operaiilor este determinat
de selectarea din bara cu unelte a opiuni sau prin acionarea
butonuluidin tastatur. Trecerea de la un rnd la urmtorul se
realizeaz n acelai mod, prin tasta .
Caseta pentru variabilele de intrare se adug pe conturul grafic
al nodului prin meniul contextual asociat chenarului: Add Input /
Add Output (fig.4.65a). Denumirea variabilei se editeaz n caseta
vizat cu ajutorul instrumentului de editare (Tools Palette). In
general variabilele de intrare se poziioneaz n stnga iar cele de
ieire n dreapta.
Nodul Formula agreaz lucru cu o serie de funcii (tabelul 4.3) i
o serie de operatori (tabelul 4.4).
Fig. 1.65 Caseta i variabilele de intrare
Tabelul 1.3
Funcia (sintax)Semnificaie
Returneaz valoarea absolut a lui x
,,
Returneaz inversa funciei trigonometrice n rad
Calculeaz valoarea lui e la puterea x
Returnraz cel mai apropiat ntreg a lui x
Returneaz valoarea maxim dintre x i y
Returneaz valoarea minim dintre x i y
Calculeaz radicalul din x
Calculeaz valoarea funciei trigonometrice pentru x n rad
Calculeaz logaritmul natural din x
Calculeaz logaritmul n baza 10 din x
Calculeaz logaritmul n baza 2 din x
Tabelul 1.4OperatorSemnificaie
=atribuire
+, -, *, /, **Adunare, scdere, nmulire, mprire, ridicare la
putere
||, &&SAU logic, SI logic
=, !=, ==Mai mic, mai mic sau egal, mai mare, mai mare sau egal,
diferit, egalitate
?:Dac valoarea logic a expresiei analizate este adevrat atunci
valoarea rezultatului este iar n caz contrar este
Se recomand comentarea operaiilor: nceputul comentariului este
cu caracterele /* i se termin cu secvena */. n figura 4.66 se
prezint starea panoului frontal de evideniere a rezultatelor i
partea de diagrama. Se poate remarca prezena comentariilor de
nceput i sfrit.
Fig. 1.66 Panoul frontal si diagrama pentru formula nodUnele
variabile pot s fie declarate n interiorul structurii, obligatoriu
nainte de relaia de calcul care le apeleaz. n figura 4.67 se
exemplific modul de declarare intern a variabilelor i calculul
rdcinilor pentru ecuaia de gradul 2.
Fig. 1.67 Declararea variabilelor pentru formula nodStructura
Formula Node poate fi utilizat pentru implementarea unor bucle de
calcul condiionale. Exemplificm aceast posibilitate n evaluarea
expresiei . n limbajul de programare clasic codul corespunztor este
prezentat n figura 4.68 i are semnificaia:
dac atunci execuia programului returneaz valoarea
radicalului;
dac atunci execuia programului returneaz expresia .
Modul de implementare n LabView este ilustrat n figura 4.63.
Cele dou cazuri posibile sunt evideniate n fig. 4.68a i
fig.4.68b.
Fig. 1.68 Bucl de calcul condiionatStructura Formula Node
permite implementarea buclelor DO.WHILE, FOR i WHILE.
1.2.2.5.7. Variabile locale
Structurile prezentate anterior sunt caracterizate de
posibilitatea utilizrii datelor prin citirea terminalelor din
diagrama bloc. Unui element de pe panoul frontal i corespunde un
singur terminal n diagrama bloc. Exist cazuri cnd este necesar ca
un terminal s poat fi accesat simultan din mai multe locuri, n
diagrama bloc. Soluia problemei o constituie utilizarea
variabilelor locale.
Variabilele locale corespund elementelor componente ale panoului
frontal controale i indicatoare - i sunt accesibile doar n diagrama
bloc a VI n cauz. Prin utilizarea lor se permite accesul din
diagrama bloc la valorile controalelor/ indicatoarelor din panoul
frontal n cazul n care nu este posibil o legtur prin fire.
Unui control / indicator i pot corespunde mai multe variabile
din diagrama bloc. O variabil corespunde ns unei singure componente
din panoul frontal. Numrul variabilelor locale este nelimitat. n
acest mod din diverse puncte ale diagramei bloc poate fi apelat o
aceeai component din panoul frontal.
Crearea unei variabile locale presupune existena componentei n
panoul frontal. Dup deschiderea casetei de dialog a controlului se
selecteaz Create / Local Variable (fig.4.69). Pentru varianta
LabView 5 i LabView 6 crearea este indicat i inserat n diagrama
bloc n apropierea terminalului corespunztor componentei (fig.4.70).
Pentru varianta LabView 8.2 crearea este indicat prin trecerea
prompterului mouse-lui sub forma casetei variabilei iar
utilizatorul o va poziiona n locul dorit n diagrama bloc. Este
exemplificat utilizarea variabilei locale n figura 4.71. Butonul de
control pentru care s-au creat dou variabile locale controleaz
simultan o informaie vizualizat la indicatoarele 1, 2, 3. Diagrama
este prezentat n figura 4.72.
Fig. 1.69 Selectarea opiunii Local Variable
Fig. 1.70 Crearea variabilei locale
Fig. 1.71 Utilizarea variabilei locale
Selectarea varaibilei locale se poate realize i prin apelarea
din: caseta de funcii / Programming / Structures / Local. n acest
caz n diagrama bloc se insereaz o etichet cu semnul ntrebrii.
Fig. 1.72 Diagrama corespunztoare pentru panoul frontal din
figura 4.66
Deschiderea meniului contextual permite selectarea crui control
/ indicator i se asociaz variabila local (fig.4.73). Exemplificarea
este realizat pentru panoul frontal din figura 4.74. n contiunare
se urmeaz paii anteriori de editare a diagramei bloc.
Fig. 1.73 Crearea variabilei locale
Printr-un singur buton Start / Stop i respectiv un singur buton
de reglaj se controleaz cele dou secvene.
Fig. 1.74 Exemplu de utilizare a variabilei locale
Eliminarea variabilei locale se realizeaz prin selectarea ei cu
ajutorul uneltei de editare i acionarea tastei .
Variabila locala poate aciona n dou moduri:
prin intermediul ei se poate consulta (urmri, citi) valoarea
componentei n cauz, variabila avnd un rol de indicator (to
Write);
prin intermediul ei se poate actualiza (modifica) valoarea
componentei, variabila avnd un rol de control (to Read).
Selectarea unui mod de lucru sau al celuilalt se realizeaz din
meniul contextual (fig.4.75).
Fig. 1.75 Selectarea modului de lucru pentru variabila
localVariabilele locale se pot utiliza pentru:
Controlul cu un singur component a mai multor secvene repetitive
Do While;
Consultarea valorilor componentelor referite la nceputul
execuiei IV;
Atribuirea unor valori implicite componentelor din panoul
frontal chiar la nceputul execuiei IV;
1.2.2.5.8. Variabila global
Apare uneori necesitatea transferrii informaiilor ntre mai multe
VI-uri care ruleaz n acelai timp. Soluia problemei n acest caz sunt
variabilele globale. Acestea se apeleaz din caseta de funcii /
Programming / Structures /Glob.
Dup apelare, n diagrama bloc apare nodul variabilei locale care
se poziioneaz de ctre utilizator n spaiul diagramei bloc.
Fig. 1.76 Eticheta variabilei globale
Eticheta cu semnul ntrebrii afiat are semnificaia c nu este nc
asociat nici unei componente. Dup un dublu click n caseta
variabilei globale se deschide panoul frontal al variabilei -
Global 1 Front Panel n care se pot introduce controalele /
indicatoarele dorite (fig.4.77).
Fig. 1.77 Exemplificarea utilizrii variabilei globaleSe apeleaz
meniul contextual i se alege componenta creia i se va asocial
variabila (fig.4.78). n acest moment eticheta iniial va fi schimbat
n cea a componentei avute n vedere.
Fig. 1.78 Apelarea meniului contextual pentru alegerea
componenteiUn exemplu de utilizare a variabilei globale este
prezentat n figura 4.79.
Fig. 1.79 Exemplificare de utilizarea variabilei globale
La fel ca i variabilele locale, variabilele globale pot fi de
tipul read global (lucreaz ca o surs de informaie) i write global
(lucreaz ca un indicator pentru informaia vehiculat). n figura
observm prezena ambelor varinate. Configurarea variabilei globale
se poate realize din meniul contextual al acesteia, selectnd Change
To.. .Read / Write.Utilizarea variabilelor locale i globale trebuie
fcut cu rezerve avnd n vedere unele dezavantaje legate de greuti n
urmrirea fluxului informaional, scderea vitezei de lucru, ntrzieri
n citirea informaiei dac aceasta se face n parallel.
1.2.2.5.9. Noduri proprietate
Crearea nodului proprietate poate fi iniiat n panoul frontal sau
n diagrama bloc prin accesarea meniului contextual: .Create /
Property Node.
Fig. 1.80 Crearea nodului proprietate
Prin intermediul acestora se pot defini:
Atribute fizice: dimensiuni, culoare, poziie pe ecran etc;
Comportare: obiectul s fie vizibil / invizibil, activ / inactiv
la un moment dat, tipul de afiare utilizat, proprieti asociate unui
instrument grafic etc.
Fig. 1.81 Definirea unei proprieti
Fig. 1.82 Exemplificarea utilizrii nodului proprietate pentru
instrumentul MeterNodul proprietate poate fi identificat dup
eticheta controlului / indicatorului referit. Nodul proprietate
afieaz iniial un singur terminal prin intermediul cruia se permite
accesul la o anumit proprietate. Aceast proprietate este afiat n
caseta corespunztoare terminalului (fig.4.81). Ex: controlului
numeric i s-a asociat un nod proprietate fiind posibil accesul la
proprietatea de vizibilitate (fig.4.81a).
Apelarea meniului contextual corespunztor nodului proprietate
permite vizualizarea celorlalte proprieti ale nodului (fig.4.83).
Selectarea modului de folosire al unui terminal citire (control)
sau scriere (indicator) se face din meniul contextual: Change To
Write sau Change To Read.
Valoarile proprietilor au semnificaiile:
Position - reine coordonatele obiectului relativ la colul stnga
superior al panoului frontal. Coordonatele sunt exprimate n pixeli
i se rein ntr-o grupare de date;
Disabled (inactiv) se controleaz interaciunea operatorului cu
obiectul: 0 permite operarea, 1 nghea obiectul iar valoarea 2
afieaz obiectul umbrit;
Key Focus (Focus) indic proprietate unui obiect de a primi date
din partea operatorului de la tastatur. Proprietatea poate fi
activat prin selectarea obiectului cu mouse-ul, utilizarea unei
taste asociate, apsarea tastei de parcurgere a obiectelor. Valoarea
logic True a proprietii permite asocierea acesteia la obiectul
respectiv;
Blinking (afiare intermitent) permite afiarea intermitent a
obiectului pentru valoarea logic True. Valoarea boolean Fals
stabilete ncheierea afirii intermitente.
Fig. 1.83 Apelarea meniului contextual pentru nodul
proprietate
Unui nod proprietate i se pot asocia mai multe terminale cu
acces la proprieti diferite (fig.4.84).
Fig. 1.84 Asocierea unor proprieti diferiteRedimensionarea i
ataarea de noi proprieti se poate realiza prin apelarea la meniul
contextual i opiunea Add Element.
1.2.2.6. Indicatoare i controale pentru date tip ir de
caractere, liste i tabele1.2.2.6.1. Introducere
Un rol aparte ntre controalele / indicatoarele din mediul
LabView l joac cele pentru lucrul cu ir de caractere i tabele.
Componentele din aceast categorie permit citirea / afiarea acestui
tip de date.
n versiunea LabView 5 aceste obiecte se localizeaz n paleta de
controale: Controls / String & Table (fig.4.85). ncepnd cu
versiunea LabVIEW 6.01 obiectul Strings este inclus n cadrul
grupului String & Path (fig.4.86a) iar obiectul Tables este
inclus n cadrul unui grup separate denumit List & Table
(fig.4.86b).
Fig. 1.85 Controale tip ir i tabele (LabView 5)
Fig. 1.86 Localizarea controalelor ir ncepnd cu varianta LabView
61.2.2.6.2. ir de caractere
Un control i un indicator pentru ir de caractere sunt ilustrate
n fig.4.87. Diferena grafic const n banda vertical prezent n
pictograma indicatorului.
Fig. 1.87 Control i indicator tip ir
Obiectul de interfa dispune de un meniu contextual prezentat n
figura 4.88. Se pot selecta, pe principiul clasic, diverse opiuni
rezultate din aplicaia de realizat:
opiunile referitoare la display permit afiarea obinuit a irului
de caractere, n codul \ (backslash) sau hexa;
protejarea editrii este oferit de opiunea Password Display,
s.a.m.d.
Fig. 1.88 Meniul contextual pentru obiectul tip ir
Un alt obiect al grupului de controale String.. este controlul
Combo Box. Selectnd din meniul contextual opiunea Edit Items se va
deschide o caseta de dialog n care se poate introduce irul de
caractere dorit. n timpul execuiei programului, utilizatorul va
putea selecta irul dorit (fig.4.89).
Fig. 1.89 Caseta de dialog
Bara de defilare (scroll bar) vertical pentru indicator se
selecteaz la opiunea Show / Scrollbar. Opiunea este disponibil
pentru ambele obiecte cu condiia ca dimensiunea vertical a
pictogramei s fie minimum de trei ori nlimea unei linii de
text.
Pe lng facilitile prezentate LabView dispune de o serie de
funcii legate de utilizarea irurilor. Acestea se apeleaz fie din
caseta de funcii / String, fie din diagrama bloc i meniul
contextual al controlului respectiv (fig.4.90).
Fig. 1.90 Funcii n utilizarea irurilorn figura 4.91 se
exemplific utilizarea funciei String Length (lungimea irului)
pentru obinerea informaiei despre irul manipulat. n diagrama bloc
din figura 4.92 se prezint i posibilitatea crerii unei proprieti
pentru indicatorul utilizat (Create / Property Node).
Fig. 1.91 Exemplu de utilizarea funciei pentru lungimea
irului
Fig. 1.92 Crearea unei proprieti
O nou exemplificare privind utilizarea funciei de concatenare (
Concatenate Strings) este prezentat n figura 4.93.
a)
b)Fig. 1.93 Panoul frontal (a) i diagrama (b) pentru
exemplificarea funciei de concatenareConversia unui numr ntr-un ir
prin utilizarea funciei Number to Decimal String este exemplificat
n figura 4.94. Conversia unui numr ntr-un ir prin utilizarea
funciei Number to Hexadecimal String este ilustrat in figura
4.95.
Fig. 1.94 Conversia unui numr ntr-un ir
Fig. 1.95 O alt posibilitate de conversie numr ir1.2.2.6.3. Ci
de fiiere (Path)Calea fiierului (path) reprezint o posibilitate de
identificare i vizualizare ale unui fiier. Posibilitile de lucru
oferite sunt de tip control sau indicator. n acelai timp acest tip
de control poate lucra cu funcii specifice apelate din caseta de
funcii. n figura 4.96 se prezint panoul frontal i diagrama aferent
pentru un instrument virtual de citire a unui fiier text a2.txt,
indicarea coninutului i a lungimii irului de caractere.
Fig. 1.96 Panoul frontal (a) i diagrama aferent (b) pentru
vizualizarea unui fiier1.2.2.6.4. Liste i Tabele Listele i tabelele
sunt opiuni pentru panoul frontal n vederea furnizrii unor date sub
form tabelar. Coninutul informaiilor este indicat prin simbolul
coninut n fiecare celul.n figura 4.97 se prezint utilizarea unei
liste multicoloan (Multicolumn Listbox). Instrumentul virtual creat
permite simularea achiziiei a trei informaii. Selectarea canalului
de achiziie se poate realiza prin intermediul unui control list
(fig.4.97a). Instrumentul virtual este structurat n dou secvene.
Prima secven conine o bucl While Loop prin care se simuleaz
pornirea i oprirea achiziiei (fig.4.97b). Obiectului list i este
asociat o proprietate nod cu o dou valori referitoare la denumirea
coloanei i numele operaiei (fig.4.97c).
a)
b)
c)
Fig. 1.97 Panoul frontal i diagrama de exemplificare a utilizrii
unui control listUtilizarea obiectului Table este ilustrat n
exemplul din figura 4.98. Valorile aleatoare generate prin funcia
Random Number (0-1) sunt vizualizate n form original, dup operaia
de adunare cu constanta 1 i respectiv dup ridicarea la ptrat
(fig.4.98a). Vizualizarea este posibil n cadrul tabelului creat i
pentru care:
S-a optat din meniul contextual pentru vizibilitatea barei
verticale de defilare Visible Items / Vertical Scrollbar i
respectiv orizontale Visible Items / Horizontal Scrollbar;
S-a optat din meniul contextual pentru barele de notare ale
semnificaiei liniilor Visible Items/Row Headers i ale coloanelor
Visible Items / Column Headers; S-au notat semnificaiile liniilor i
coloanelor;
S-a construit diagrama corespunztoare (fig.4.98b). Pentru
realizarea construciei s-a apelat n mod suplimentar la funciile:
construcia unei matrici Array / Build Array, transpunerea ntr-o
matrice 2D Array / Transpose 2D Array, conversia numr ir Strig -
Number Conversion Number To Fractional String. S-a apelat de
asemenea introducerea controlului limii numrului reprezentat
(width) i respectiv a controlului pentru precizia de reprezentare
(precision). Modul de introducere a acestor controale se realizeaz
prin: selectarea uneltei Tools.../ Connect Wire, clic butonul drept
al mouse-lui n zona terminalului dorit i selectarea din meniul
contextual care se deschide Create / Control.
a)
b)Fig. 1.98 Panoul frontal (a) i diagrama bloc pentru lucru cu
obiectul Table1.2.2.7. Controale de tip boolean
Componentele de interfa ale panoului frontal, aparinnd tipului
boolean, au dou valori posibile, corespunznd: strii de adevr True
sau fals False. Valoarea logic fals este cea implicit cu care
componenta este introdus n panoul frontal. Versiunea LabView 8.2
conine controale booleane distribuite n subpaleta Modern / Boolean
(fig.4.99a) i un numr considerabil mai mare n subpaleta Clasic /
Boolean (fig.4.99b).
Fig. 1.99 Controale de tip Boolean
Indicatoarele booleene sunt reprezentri vizuale ale valorii
logice i se prezint sub forma unor led-uri rotunde sau ptrate. n
unele variante exist o suprapunere de funcie prin existena
indicatorului optic n control. n figura 4.100 se prezint varianta
grafic a dou controale care includ i indicator. n scop demonstrativ
fiecare control este conectat la un indicator suplimentar.
Fig. 1.100 Controale i indicatoare de tip Boolean
Exist mai multe realizri grafice de controale tip boolean:
butoane care pot fi apsate, comutatoare orizontale i verticale,
ntreruptoare de tip prghie (bistabile).
Controalele / indicatoarele de tip boolean dispun de un meniu
contextual asemntor n partea superioar celor numerice dar diferit n
ceea ce privete referirile la tipul de dat reprezentat. Controalele
au activ opiunea Mechanical Action (fig.4.101) care permite
selectarea modului de comutare sau zvorre funcie de apsare sau
eliberare. Prin alegerea opiunii Change to Indicator / Change to
Control rolul obiectului n panoul frontal poate fi schimbat.
Fig. 1.101 Meniul contextual i variantele pentru aciunea
mecanic
Pictograma asociat opiunilor comportrii mecanice pune n eviden n
mod grafic succesiunea operaiilor prin trei diagrame: aciunea
utilizatorului cu mouse-ul asupra controlului (M), noua valoare
logic a controlului (V), momentul prelurii valorii controlului la
nivelul diagramei bloc (RD).
Semnificaia comportrii mecanice a controalelor booleene este
urmtoarea:
a1 controlul i modific valoarea logic la fiecare apsare a
butonului mouse-lui. Valoarea controlului nu este afectat de
preluarea n timp a n diagrama bloc (RM lips);
a2 valoarea logic a controlului se modific dup eliberarea
butonului mouse-lui. Controlul i pstreaz valoarea pn la urmtoarea
interaciune a utilizatorului. Valoarea controlului nu este afectat
n timp de diagrama bloc.
a3 valoarea logic a controlului se modific la apsarea butonului,
se reine pn la eliberarea butonului mouse-lui dup care revine la
valoarea iniial anterioar apsrii. . Valoarea controlului nu este
afectat n timp de diagrama bloc.
b1 valoarea logic a controlului se modific la apsarea butonului,
este reinut la starea actual pn cnd este preluat de diagrama bloc
(exist o scurt temporizare) i revine la starea anterioar acionrii
dup preluarea valorii n diagrama bloc.
b2 valoarea logic a controlului se modific la eliberarea
butonului mouse-lui, rmne la noua stare pn cnd este preluat de
diagrama bloc dup care revine la starea iniial anterioar
interaciunii.
b3 valoarea logic a controlului se modific la apsare i rmne n
starea rezultat pn cnd diagrama bloc a preluat noua valoare i a
fost eliberat butonul mouse-lui.
1.2.2.8. Grupare de date utiliznd Matrice (Array) i Grup /
Cluster i ir / String1.2.2.8.1. Introducere
Obiectele menionate sunt controale / funcii care permit gruparea
datelor. Caracterele ASCII sunt grupate prin secvena String. O
matrice / array are elementele constituite din date de acelai tip.
Un grup / cluster reunete date de tipuri diferite. 1.2.2.8.2.
MatriceMatricea poate avea una sau mai multe dimensiuni i pn la 231
1 elemente pe fiecare dimensiune (dependent de memoria
disponibil).
Se pot constitui matrici cu elemente numerice, booleene, ci
(path), ir, form de unde (waveforms) i grup (cluster).
Matricile sunt ideale pentru stocarea datelor colectate din
buclele de calcul unde fiecare iteraie a buclei produce un element
al matricii.
Exist restricii n ceea ce privete crearea matricilor:
Nu se poate crea matrice cu elemente din matrici. Dac se dorete
o matrice multidimensional, se poate apela la matrice pe baz din
grupuri / cluster unde fiecare grup / cluster conine una sau mai
multe matrici;
Nu se poate crea matrice din controale panel, controale tab,
controale ActiveX, diagrame sau grafice.Pentru a localiza un
element n matrice avem nevoie de un index pe fiecare dimensiune.
Indicele este un numr ntreg, cuprins ntre 0 i N-1 unde N este
numrul de elemente ale matricii pe dimensiunea specificat.Un
exemplu de matrice 1D cu nou coloane (0...8) conine informaia
privind modul de variaie n timp a cderii de tensiune pe un element.
Fiecare element al matricii reprezint valorile tensiunii n mod
succesiv, la intervale de timp egale (fig.4.102).
Un exemplu mai complex de reprezentare a gruprii de date este
ilustrat n figura 4.103.Matricea 1D conine informaia despre o
reprezentare grafic X-Y. Fiecare punct al matricii este un grup
(cluster) compus dintr-o pereche de valori numerice reprezentnd
coordonatele X, Y. Pentru a ilustra corespondena valorilor cu
punctele reprezentate s-a utilizat un segment orientat de la un
punct iniial spre punctul urmtor. Succesiunea de reprezentare are
legtur doar cu indexul general.
Index 012345678
[mV]255060403540809080
Fig. 1.102 Exemplificarea unui grup de date printr-o matrice
1D
Index012345678
Coordonata X21030354550455070
Index012345678
Coordonata Y21020304030201010
Fig. 1.103 Matrice 1D avnd elementele formate din grup de valori
numericeO matrice 2D memoreaz datele elementelor ntr-o reea format
din linii i coloane. n acest caz este necesar existena unui index
pentru linii i a unui index pentru coloane (fig.4.104). Indexul
liniilorIndexul coloanelor
0123456
0
1
2
3
4
5
Fig. 1.104 Matrice 2D cu specificarea indexului pentru linii i
coloaneMatricea din figura 4.104 are 6 linii i 7 coloane coninnd de
elemente. Un exemplu sugestiv de matrice 2D este tabla de ah (8
linii, 8 coloane). La un moment dat oricare poziie poate fi goal
sau coninnd o pies.
Matricea 2D se poate obine i printr-o suplimentare a liniilor la
o matrice 1D. Considernd grup de date coninut ca diverse semnale n
timp, indexul coloanelor se ataeaz practic valorilor numerice
succesive ale unui semnal. n acelai timp indexul liniilor se ataeaz
categoriei de semnal. n figura 4.105 este exemplificat aceast
abordare pentru dou forme de variaie a unor semnale i 9 puncte
corespunztoare valorilor numerice pe fiecare semnal.
012345678
0255060403540809080
1757590907575909075
Fig. 1.105 Reprezentarea a dou semnale ntr-o matrice 2DCrearea
unei matrici cu controale sau indicatoare presupune dou etape
constnd din combinarea unei structuri matriceale aleas din paleta
Controls / Array, Matrix & Cluster (LabView 8.2) (fig..106) cu
un obiect de tip date numeric, Boolean,
Fig. 1.106 Localizarea subpaletei Array
Cele dou etape enunate anterior pot fi detaliate n mod
suplimentar:
Etapa 1 - se selecteaz o structur matriceal din paleta Controls
/ Array, Matrix & Cluster i se poziioneaz n panoul frontal
(fig.4.107)
Fig. 1.107 Grafica (pictograma) structurii matriceale n panel
(a) i n diagrama bloc (b)
Selectarea unui obiect - din caseta de controale - care urmeaz s
devin element al matricii i poziionarea lui n suprafaa activ a
structurii matriceale (fig.4.108), (fig.4.109)
Fig. 1.108 Matrice cu control Boolean i indicatorul echivalent
asociat
Fig. 1.109 Matrice cu control numeric i indicatorul echivalent
asociat
Prin apelarea meniului contextual al obiectului devenit element
al matricei / tabloului putem aduga dimensiune acesteia
(fig.4.110)
Fig. 1.110 Pictogramele unei matrici cu elemente numerice:
matrice control (a) i indicator (b)
Cu ajutorul structurilor For Loop i While Loop se pot genera n
mod automat matrici n cadrul unui proces denumit auto-indexare.
n figura 4.111 se prezint crearea unei matrici numerice n cadrul
procesului de auto-indexare prin utilizarea structurii For
Loop.
Fig. 1.111 Panoul frontal (a) i diagrama bloc (b) n procesul de
auto-indexare
n cadrul procesului prezentat n figura 4.112 toate valorile
generate n bucla For, n mod succesiv, sunt transferate i memorate n
matricea indicator.
Fig. 1.112 Meniul contextual al tunelului
Dac este necesar pstrarea doar a ultimei valori generat n cadrul
buclei, trebuie ca din meniul contextual al tunelului (simbolizat
prin ptratul cu contur negru de pe conturul buclei) s fie selectat
opiunea Disable Indexing. n acest caz se transfer o singur valoare
i singurul lucru modificat este indicatorul conectat pe ieirea
buclei, un indicator numeric (fig.4.113). Schimbarea este
semnalizat i la nivelul simbolului tunelului.
Fig. 1.113 Transferul ultimei valori generate n cadrul buclei
For Loop
Introducerea unei valori n cadrul unei bucle For Loop este
ilustrat n figura 4.114. Se remarc valoarea introdus i faptul c n
acest caz indexarea este validat.
Fig. 1.114 Procesul de auto-indexare la introducerea valorilor n
cadrul buclei
Introducerea tuturor valorilor n cadrul buclei necesit validarea
opiunii Disable Indexing (fig.4.115).
Fig. 1.115 Introducerea valorilor ntr-o bucl
Crearea unei matrici bidimensionale 2D este posibil prin
utilizarea a dou bucle nseriate (una n interiorul celeilalte). Un
astfel de proces este ilustrat n figura 4.116. Bucla exterioar
definete elementele de pe linii iar bucla interioar definete
coloanele matricei 2D. Matricea numeric creat conine 3 linii i 2
coloane.
Bucla interioar export spre exterior, prin tunelul aferent, o
matrice 1D. Se poate verifica acest lucru prin introducerea
corpului de prob (simbolizat prin mumrul 1). Bucla exterioar export
prin tunelul aferent o matrice 2D. i n acest caz se poate verifica
traficul informaiei prin corpul de prob (simbolul 2). Acest mod de
lucru reiese i din tipul firelor de legtur.
Fig. 1.116 Crearea matricei 2D utiliznd bucla For Loop n cadrul
procesului de auto-indexare
Cele mai multe din funciile pentru matrici sunt destinate pentru
manipularea acestora. Funciile obinuite sunt disponibile n
subpaleta Array n caseta de funcii Functions / All Functions
(LabView 7) sau n subpaleta Programming / Array (fig.4.117).
Fig. 1.117 Paleta funciilor pentru lucru cu matrici
Funcia Array Size returneaz numrul de elemente ale unei matrici
de intrare notat generic A. Dac matricea A este n- dimensional,
mrimea de ieire returnat este o matrice B cu n elemente. Fiecare
element al matricei B contorizeaz numrul de elemente al matricei A
pe o dimensiune (fig.4.118, fig.4.119).
Fig. 1.118 Funcia Array Size i rspunsul pentru matricea de
intrare A
Fig. 1.119 Funcia Array Size i rspunsul pentru matricea de
intrare A de tip 2D
Funcia Initialize Array creaz o matrice n dimensional cu
elementele coninnd valorile specificate de utilizator. Dac se
dorete crearea mai multor dimensiuni, pentru matrricea de
iniializat, se apeleaz la meniul contextual n care se selecteaz Add
Dimension. Un rezultat echivalent se obine dac se utilizeaz unealta
de lucru Positioning din caseta Tools. n figura 4.120 se prezint
pictograma iniial a funciei (a) i cea transformat pentru mai multe
dimensiuni (b).
Fig. 1.120 Pictogram funciei de iniializare a unei matrrici
n figura 4.121 se prezint iniializarea unei matrici 1D cu 5
elemente pentru care s-a considerat valoarea numeric 1.12. Se
prezint existena celor dou posibiliti de creare a matricii 1D.
Fig. 1.121 Utilizarea funciei de iniializare a unei matrici 1D
cu elementele de valoare 1.12Iniializarea unei matrici 2D este
ilustrat n figura 4.122. n scop demostrativ s-a supradimensionat
instrumentul de vizualizare a matricii iniializate. Se vede astfel
c dimensiunea real a matricii este cea impus.
Fig. 1.122 Iniializarea unei matrici 2D
Funcia Buid Array concateneaz mai multe matrici sau adaug
elemente unei matrici existente. Pictograma funciei poate fi
redimensionat prin adugarea de noi intrri (ADD Input) din meniul
contextual sau prin metoda clasic de redimensionare a unui
obiect.
Fig. 1.123 Pictograma funciei Build ArrayConcatenarea unei
matrici i a dou elemente numerice este prezentat n figura 4.124.
Succesiunea elementelor n noua matrice respect ordinea de sus n jos
pentru elementele de intrare.
Fig. 1.124 Construcia unei matrici prin concatenarea a dou
elemente i a unei matriciConcatenarea a dou matrici este ilustrat n
figura 4.125.
Fig. 1.125 Concatenarea a dou matrici cu opiunea Concatenate
Inputs activat (a) i respectiv dezactivat (b)
Matricea rezultat va avea dimensiunea impus de utilizator prin
selectarea din meniul contextual al ieirii a opiunii de activare a
concatenrii Concatenate Inputs.
Funcia Array Subset returneaz un fragment dintr-o matrice ncepnd
cu elementul nominalizat prin index (intrare a funciei) i compus
dintr-un numr de elemente specificat prin intrarea funciei length
(fig.4.126).
Fig. 1.126 Extragerea unui fragment dintr-o matriceFuncia Index
Array returneaz elementul matricii specificat prin intrarea funciei
(index-ul elementului).
Funcia Array Max & Min returneaz valoarea maxim i minim
dintr-o matrice analizat. Funcia are posibilitatea vizualizrii i a
index-ilor care nominalizeaz cele dou valori.
Paleta funciei Array dispune i de alte posibiliti de lucru:
descompunerea unei matrici 1D (Split 1D Array), cutarea ntr-o
matrice 1D (Search 1D Array), iniializarea unei matrici constante
(Array Constant), conversii, etc.1.2.2.8.3. Polimorfisme
Poliformismul reprezint capabilitile funciilor din LabView (de
ex. adunare, nmulire, mprire) de a accepta la intrare date cu
dimensiuni i reprezentri diferite. Funciile aritmetice care posed
aceste proprieti se numesc funcii polimorfice.
Un exemplu clasic pentru aceast proprietate este poliformismul
funciei aduniionale scalar scalar, scalar matrice, matrice matrice
de dimensiuni diferite. n figura 4.127 se prezint exemplul de
poliformism pentru adunarea scalar - matrice.
Fig. 1.127 Poliformismul funciei de adunare: scalar matrice
n figura 4.128 se exemplific poliformismul funciei de adunare
pentru adunarea a dou matrici de dimensiuni diferite. Dimensiunea
matricii rezultate este cea a matricii cu numrul mai mic al
elementelor. Elementele noii matrici se obin prin nsumarea clasic a
elementelor corespondente, scalar scalar.
Fig. 1.128 Poliformismul n adunarea a dou matrici de dimensiuni
diferiteDemonstrarea poliformismului funciei de nmulire este
ilustrat n figura 4.129. Matricea de ieire are elementele nmulite
cu acelai coeficient 10 (coeficient de scalare).
a)
b)
Fig. 1.129 Poliformismul funciei de nmulireFunciile booleane se
ncadreaz n rndul funciilor polimorfice. Se exemplific proprietatea
n figura 4.130 pentru funcia AND aplicat unui scalar boolean i unei
matrici. Se returneaz o matrice.
Fig. 1.130 Poliformismul funciei AND
Un rezultat asemntor se obine pentru funcia AND aplicat pentru
dou matrici de dimensiuni diferite (fig.4.131).
Fig. 1.131 Poliformismul funciei AND pentru dou matrici booleane
de dimensiuni diferite
1.2.2.8.4. Grupuri (Cluster)Un grup = cluster definete o
structur de date care combin unul sau mai multe tipuri de date
ntr-unul nou. Este echivalentul tipului structur struct din
limbajul C sau nregistrare record din Pascal.Cluster-ul se regsete
att n structura de controale ct i n structura de funcii din
LabView. Localizarea n paleta Controls este ilustrat n figura
4.132.
Fig. 1.132 Localizarea controlui ClusterDup introducerea
variabilei n panoul frontal se va ataa cluster-ului, ca i n cazul
tabloului Array, tipul de date dorit.
n figura 4.133 se prezint poziionarea n panoul frontal a
variabilei de tip grupare de date cu trei controale: un control de
tip ir de caractere (Nume), un control de tip numeric (Vrsta) i
unul de tip boolean (prezena). Se prezint n paralel i diagrama bloc
constituit dup alegerea a trei indicatoare adecvate tipurilor de
date specificate.
n faza de editare a IV se pot realiza modificri ale ordinei
elementelor n cadrul variabilei. Prin selectarea opiunii de editare
Positioning Tool i clic cu butonul stng al mouse-lui pe conturul
variabilei se deschide meniul contextual din care se alege opiunea
Modificarea ordinii n grup Cluster Order. Redimensionrile
elementelor din grupa de date se realizeaz pe principiile
prezentate anterior.
Fig. 1.133 Exemplificarea utilizrii cluster-ului compus din
controaleUn rol esenial al cluster-ului este regsit n cadrul
funciilor pentru construcia diagramei bloc. Localizarea n cadrul
paletei de funcii este prezentat n figura 4.134.
Fig. 1.134 Funciile ClusterPrincipalele funcii din subpaleta
Cluster sunt (n ordinea poziionarii n paleta de funcii): Unbundle,
Bundle, Unbundle by Name, Bundle by Name, Build Cluster Array,
Index & Bundle Cluster Array, Cluster Constant etc.
Funcia Bundle grupeaz mai multe componente, realiznd un grup,
sau nlocuiete una sau mai multe componente ale unui grup existent.
Pictograma aferent funciei este prezentat n figura 4.135.
Fig. 1.135 Pictograma funciei Bundle
Gruparea elementelor se realizeaz n ordinea acestora n cadrul
grupului Prima component conectat la funcia Bundle este componenta
cu index-ul 0, urmeaz componenta cu index-ul 1, s.a.m.d. Numrul de
intrri poate fi modificat fie prin selectarea Add Input din meniul
contextual al intrrii fie utiliznd unealta de poziionare /
redimensionare din caseta Tools. n figura 4.136 se exemplific
utilizarea funciei Bundle.
a)
b)Fig. 1.136 Panoul frontal (a) i diagrama bloc (b) n utilizarea
funciei BundleO alt exemplificare a utilitii funciei Bundle este
prezentat n figura 4.137.
Fig. 1.137 Utilizarea funciei BundleConstanta numeric (setat la
valoarea 0) definete punctul de origine real iar prin controlul
numeric se impune valoarea de incrementare. Funcia Bundle reunete
datele numerice permind reprezentarea grafic.
n cazul n care funcia Bundle este utilizat pentru nlocuirea unor
componenteale unui grup deja existent, grupul trebuie conectat la
intrarea cluster a funciei (fig.4.138). n cadrul aplicaiei funcia
bundle permite nlocuirea valorii numerice corespunzatoare
controlului Knob i respectiv a controlului numeric 2.
a)
b)
Fig. 1.138 Utilizarea funciei Bundle n nlocuirea unor
componente
Funcia Bundle by Name este folosit doar pentru nlocuirea unei
componente dintr-un grup existent. Modul de lucru este asemntor cu
cel prezentat anterior. Cluster-ul existent se conecteaz la
intrarea specificat a funciei (cluster). n ordinea logic a
construciei se introduce controlul care va nlocui o component.
Componenta de nlocuit se va identifica dup numele reprezentat prin
eticheta asociat. Numrul intrrilor nu este obligatoriu s fie egal
cu cel al componentelor grupului. Adugarea de noi intrri se poate
realiza tot din meniul contextual prin selectare opiunii Add
Element. Numrul posibilitilor de nlocuire se pot vizualiza din
meniul contextual al intrrii funciei prin selectarea opiunii Select
Item. Asocierea numelui componentei cu intrarea se realizeaz prin
selectarea numelui din lista posibilitilor vizualizate.
a)
b)
Fig. 1.139 Panoul frontal (a) i diagrama bloc (b) n utilizarea
funciei Bundle by Name
Descompunerea grupurilor n componente se bazeaz pe dou funcii
Unbundle i Unbundle by Name. Utilizarea primei funcii este
prezentat n figura 4.140. Fiecrui control inclus n cluster-ul
construit n panoul frontal i se poate asocia un indicator,
conexiunea realizndu-se prin funcia Unbundle.
a)
b)
Fig. 1.140 Panoul frontal (a) i diagrama bloc (b) n utilizarea
funciei Unbundle1.2.2.9. Controale i indicatoare pentru reprezentri
grafice1.2.2.9.1. Introducere
Controalele i indicatoarele pentru reprezentri grafice
constituie componente pentru crearea interfeei, din panoul frontal,
care permite vizualizarea reprezentrilor grafice.Din punctul de
vedere al modului de realizare, se deosebesc dou variante de
reprezentri grafice: Diagrama ( chart ) - reprezentare grafic a
unei informaii care se modific n timp. Acestea se reprezint practic
n timp real. Pe msur ce noi valori sunt obinute, ele sunt adugate
la reprezentarea existent. Punctele de reprezentare sunt pstrate,
permind vizualizarea variaiei n timp a procesului. Diagrama
evoluiei temperaturii ntr-o perioad de timp este un exemplu clasic.
Graficul (graph) - nseamn o reprezentare a dependenei unei mrimi de
o alta. Pentru realizarea reprezentrii, valorile sunt colectate
ntr-un tablou i apoi reprezentate. Reprezentarea grafic x- y este
un exemplu clasic al acestei categorii. LabView 8.2 dispune de mai
multe faciliti pentru reprezentrile grafice (fig.4.141):
Fig. 1.141 Subpaleta pentru reprezentri grafice
a1 diagram und (Waveform Chart); b1 grafic und (Waveform
Graph);
c1 grafic XY (XY Graph);
d1 grafic XY special (Express XY Graph);
a2 diagram intensitate (Intensity Chart);
b2 grafic intensitate (Intensity Graph);
c2 grafic und digital (Digital Waveform Graph);
d2 grafic cu semnale multiple (Mixed Signal Graph);
a3 grafic suprafa 3D (3D Surface Graph);
b3 grafic parametric 3D (3D Parametric Graph);
c3 grafic curb 3D (3D Curve Graph).
Elementele principale care intervin n reprezentarea grafic sunt
evideniate n figura 4.142. O serie dintre aceste elemente devin
vizibile doar prin selectarea opiunii respective n meniul
contextual. Redimensionarea i poziionarea obiectului n panoul
frontal respect principiul clasic de lucru.
Fig. 1.142 Elementele reprezentrilor grafice
1.2.2.9.2. Diagrama undDiagrame und (waveform charts) reprezint
indicator grafic pentru vizualizarea unuia sau mai multor
reprezentri grafice simultan, pentru care se urmrete variaia n
timp.Diagrama und dispune de un meniu contextual (asemntor cu cele
pentru restul controalelor / indicatoarelor) prin intermediul cruia
indicatorul poate fi particularizat funcie de problema de rezolvat
(fig.4.143): Selectarea elementelor pentru care se dorete a fi
vizibile din Visible Items;
Formatarea scalei X i Y prin opiunile X Scale i respectiv Y
Scale; Vizualizarea mai multor grafice pe aceeai diagram prin
selectarea opiunii Stack Plots. Revenirea la forma iniial se
realizeaz prin selectarea opiunii Overlay Plots (fig.4.144);
Actualizarea diagramei prin selectarea opiunilor Advanced /
Update Mode:
Diagrama tip panglic (strip chart) noile puncte se afieaz n
partea dreapt a celor existente, n timp ce punctele vechi sunt
retrase spre stnga; Diagrama tip osciloscop (scope chart) noile
puncte se afieaz n partea dreapt a celor existente. n momentul n
care reprezentarea atinge marginea din dreapta a zonei vizibile,
reprezentarea este tears i renceput din marginea din stnga;
Diagrama tip baleiere (sweep chart) noile puncte se afieaz n partea
dreapt a celor existente. La atingerea marginii din dreapta a zonei
vizibile, noile puncte sunt afiate ncepnd din partea stng, peste
cele vechi. O linie vertical baleiaz zona de vizualizare delimitnd
zona punctelor noi i a celor vechi (din dreapta). tergerea
ferestrei de afiare prin selectarea opiunii Data Operations / Clear
Chart; Selectarea modului de reprezentare a curbei (puncte sau
linie, culoare, grosime,..) din legenda Plot (fig.4.143).n cazul
unei singure reprezentri grafice n diagrama und, structur