Download - Instrumentatie virtuala

Transcript

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