Anda di halaman 1dari 76

INTRODUCERE

Exist diverse niveluri de complexitate ale pachetelor software ce permit programarea sistemelor
computerizate de msurare, de la variante ce utilizeaz funcii specifice incluse n limbaje de
programare de nivel nalt pn la mediile de programare grafic, acestea din urm constituind o
soluie ce ofer, printre altele, posibilitatea obinerii unui raport maxim ntre performanele
aplicaiei realizate i volumul de munc depus pentru obinerea acesteia
!eprezentnd probabil urmtorul pas decisiv n programarea calculatoarelor, mediile de programare
grafic se caracterizeaz n principal, pe lng posibilitile deosebite de realizare a interfeei
grafice cu utilizatorul, prin aceea c programatorul nu mai este nevoit s descrie aplicaia sub forma
unui ir de instruciuni introduse ntr"un editor de texte, ci deseneaz diagrama acesteia utiliznd
unelte dedicate puse la dispoziie de ctre mediul de programare
#or fi descrise n continuare o serie de aspecte legate de utilizarea unuia dintre cele mai rspndite
medii de programare grafic folosite n cadrul sistemelor de msurare computerizate, pachetul
software LabVIEW, realizat de corporaia National Instruments
PREZENTAREA GENERALA A LIMBAJULUI G
$ este un limbaj de programare grafica El difer de celelalte medii de programare ntr"un singur i
important aspect, i anume, celelalte limbaje sunt bazate pe text, pe cnd $ este un mediu de
programare exclusiv grafic
%a fel ca & sau 'asic, este un mediu de programare cu scop general, cu librrii de funcii
extensibile pentru orice cerin de programare
$ include librrii specifice aplicaiilor de(
achiziii de date,
$)*' i controlul instrumentelor seriale,
analiz de date,
prezentare de date i stocare de date
$, cuprinde deasemenea unelte pentru depanarea programelor +,ebugging -ools.(
se pot plasa in sursa grafica puncte de control,
se poate anima execuia programului pentru a vizualiza modul fluent n care circul
datele de la nceput pn la sfritul programului, sau pas cu pas ceea ce permite o
usoara depanare i dezvoltare a programului
)rogramele $ sunt denumite instrumente virtuale +#*s., pentru c nfiarea i operaiile sale pot
imita instrumentele fizice reale -otui, istrumentele virtuale sunt similare cu funciile limbajelor de
programare convenionale
/n #* const dintr"o interfa utilizator interactiv i o diagram bloc care reprezint codul surs
similar limbajelor de programare convenionale #*"urile pot fi concepute ca functii apelabile in alte

1
#*"uri !ezulta astfel programe cu organizare ierarhica ce poate fi pusa in evidenta si vizualizata
prin comenzi disponibile in meniul aplicatiei %ab#iew
*nstrumentele virtuale sunt structurate dup cum se arat n continuare(
*nterfaa interactiv cu utilizatorul a unui instrument virtual poart numele de panou
frontal +front panel., pentru c el simuleaz panoul unui instrument fizic )anoul frontal
poate conine butoane, taste, clapete, poteniometre, grafice i alte controale sau
indicatoare /tilizatorul poate introduce date utiliznd mouse"ul i tastatura, i apoi
vizualizeaz rezultatele pe monitorul calculatorului0
*nstrumentul virtual primete instruciuni de la diagrama bloc care a fost dezvoltat n
$ ,iagrama bloc reprezint o soluie grafic pentru o problem de programare
,iagrama bloc este, de asemenea, codul surs pentru instrumentul virtual0
*nstrumentele virtuale se pot utiliza ierarhic i modular 1e pot folosi ca programe de
nivel superior, sau ca subprograme n alte programe sau subprograme /n instrument
virtual care este utilizat n alt instrument virtual este denumit sub-VI
&u aceste caracteristici $ reuete cea mai buna implementare a conceptului de programare
modular )rogramatorul poate mpri o aplicaie ntr"o serie de task-uri, pe care le poate din nou
mpri pn cnd o aplicaie complicat devine o mulime de subtas2"uri simple )rogramatorul
construiete instrumentul virtual pentru fiecare sub"tas2 i apoi combin acele #*"uri ntr"o nou
diagram bloc pentru a ndeplini un tas2 mai complicat 3n sfrit, coninutul #*"ului de nivel
superior conine o colecie de sub#*"uri care reprezint funciile aplicaiei
)entru c se poate executa fiecare sub#* singur, separat de restul aplicaiei, depanatul este mult mai
uor )e de alt parte, unele sub#*"uri de nivel inferior de multe ori ndeplinesc tas2"uri comune
multor aplicaii, deci programatorul %ab#iew poate dezvolta un set specializat de sub#*"uri care pot
fi integrate n aplicaiile viitoare
Panoul frontal
*nterfaa cu utilizatorul pentru un instrument virtual este aceeai cu interfaa unui instrument fizic si
se numete panou frontal )anoul frontal este, nainte de toate, o combinaie de mrimi de control i
indicatori, ce simuleaz introducerea, preluarea i afiarea datelor din diagrama bloc a unui
instrument virtual 4rimile de control simuleaz dispozitivele de intrare i furnizeaz date ctre
diagrama bloc a #*"ului *ndicatorii simuleaz dispozitivele de ieire care afieaz datele
achizioionate sau generate de diagrama bloc a #*"ului

2
Figura 1." *lustrarea meniului &ontrols din )anoul 5rontal
4rimile de control i indicatorii pot fi adugai n panoul frontal prin selectarea lor din meniul
Controls ilustrat n figura 5igura 6(
3n plus, fiecare obiect conine un meniu specific cu ajutorul cruia putem schimba atributele
obiectului 7cest meniu poate fi accesat efectund clic2 cu butonul din dreapta al mouse"ului pe
obiect
Figura 2- Exemplu de Panou Frontal
Elementele de control sau indicatoare de pe panoul frontal dispun, indiferent de tipul de date pe care
l manipuleaz, de faciliti oferite de programarea orientat obiect n mediul de operare 8indows
+posibiliti de repoziionare, scalare, modificare a tipului i dimesiunii caracterelor utilizate,
modificare a culorilor etc. /n exemplu de panou frontal este prezentat n 5igura 9(
Diagrama bloc
)e msur ce programatorul dispune elementele de control i indicatoare in panoul frontal,
simbolurile acestora sunt inserate automat n fereastra ce va conine diagrama aplicaiei
!eprezentarea grafic a unui simbol depinde de natura elementului corespunztor +de control sau
indicator. de pe panoul frontal i de tipul datelor manipulate de ctre acesta
)e lng simbolurile elementelor din panoul frontal, n diagram se mai pot introduce simboluri ale
unor constante de diverse tipuri +numerice, logice, alfanumerice etc., structuri specifice limbajelor
de programare +iterative, cauzale, secveniale etc., funcii matematice cu diverse grade de
complexitate i proceduri pentru comanda sistemului computerizat de msurare
,iagrama bloc a #*"ului sau mai exact codul surs n form grafic a unui #* n %ab#*E8 se
afieaz n fereastra ,,Diagram". : astfel de diagram se construiete prin legarea obiectelor care
trimit sau primesc date, aplica functii specifice de transformare a variabilelor sau controleaz fluxul
execuiei programului 7ceste functii fac parte din biblioteca de functii elementare proprie

mediului si nu ofera acces la sursa, altele sunt macrofunctii disponibile in bibliotecile mediului
%abview Ele sunt concepute ca subrutine care permit accesul la sursa pana la cel mai scazut nivel

Figura 3. Exemplu de ,iagram 'loc
,e exemplu #*"ul din 5igura ; ilustreaz dou moduri de cutare a valorii maxime dintr"o sut de
numere aleatoare, una dup fiecare ciclu al buclii 5:! i alta dup ce se termin de executat bucla(
,iagrama de mai sus conine cteva elemente primare ce intr ntr"o diagram bloc i anume(
noduri, terminale i leg!turi &nd n panoul frontal se plaseaz o mrime de control sau un
indicator, %ab#*E8 plaseaz un terminal corespunztor n diagrama bloc <u se poate terge un
terminal ce aparine unei mrimi de control sau indicator acestea disprnd numai la tergerea
mrimii de control sau indicatorului
1emnificaia zonelor din terminalul unei funcii sau al unei proceduri poate fi vizualizat ntr"o
fereastr Help de context, n momentul n care cursorul mouse"ului este poziionat deasupra
terminalului respectiv daca este activat din meniul =elp optiunea =elp de contex
Terminalele
-erminalele trebuie gndite ca porturi de intrare sau ieire ,atele introduse ntr"o mrime de
control +n panoul frontal. ies din acesta prin terminalele mrimii de control i intr n diagrama
bloc 7ici sunt prelucrate n noduri ce materializeaz anumite funcii( adunare, scdere, nmulire
etc i dup execuia acestora datele trec prin intermediul terminalelor indicatorilor n panoul frontal
n scopul afirii acestora ,eci, datele ies dintr"un terminal surs i intr ntr"un terminal destinaie
Nodurile
<odurile sunt elemente de execuie a programelor Ele sunt analoage definiiilor operatorilor,
funciilor i subrutinelor din limbajele de programare convenionale %ab#*E8 are o bibliotec
extins de funcii matematice, funcii de comparaie, funcii de conversie, funcii de intrare"ieire
+*>:. i altele /n alt tip de nod l reprezint structura Structurile sunt similare structurilor de
control din limbajele convenionale Ele realizeaz o execuie repetitiv sau condiionat a
programelor %ab#*E8 are deasemenea noduri speciale pentru legarea programelor externe scrise

"
n limbaje bazate pe text +7samblare, &, 'asic, etc . i pentru evaluarea unor formule scrise de
asemenea n limbaje bazate pe text
Legturile
%egaturile realizeaz cile dintre terminalele surs i terminalele destinaie <u se pot lega ntre ele
dou terminale surs sau dou terminale destinaie : surs se poate lega la mai multe destinaii
5iecare legtur are un anumit stil sau culoare n funcie de tipul de date ce parcurge acea legtur
)rincipiul care guverneaz execuia programelor %ab#*E8 este aa numitul flu# de date 4ai
exact, un nod se execut numai cnd datele sosesc la toate intrile sale, iar cnd acesta i termin
execuia furnizeaz datele la toate ieirile sale 5luxul de date contrasteaz cu metodele de control
ale fluxului de date n execuia programelor convenionale n care instruciunile se execut n
ordinea n care au fost scrise
7tunci cnd operm cu un sub#*"uri +subrutine ale lab#*E8"ului., mrimile de control i
indicatorii primesc i transmit date de la #*"ul cerut
Iconul
*conul reprezint un #* inserat diagrama bloc al altui #* $rafic, iconul poate fi o reprezentare
ilustrat a obiectivului #*"ului, sau o descriere text a #*"ului sau a terminalelor lui 5iecare #* are
un icon specific, afiat n fereastra situat n colul din dreapta sus a ferestrei panoului frontal ori
diagramei bloc *conul nedefinit este artat n 5igura ?. (
Figura 4. Ilustrarea n colul din dreapta a unui icon nedefinit
Conectori
&onectorii materializeaza lista de parametrii de intrare>iesire ai funciei prin elemente grafice de tip
terminal 5iecrui conector ii corespunde o mrime de control sau un indicator

/n conector primete date de la terminalele elementelor de control sau transfera date ctre
terminalele mrimilor de iesire ale #*"ului ierarhic superior
5iecare #i are conectori care pot fi vizualizati>asignati prin Show onnector din meniul de context
al iconului 1etul de conectori evidentiaza marimile de control si indicatoarele pe care le
manipuleaza aplicatia 1chema de amplasare grafica a conectorilor poate fi acceptata de utilizator
ca aceea propusa de %ab#iew sau se poate particulariza o schema de dispunere a acestora 1e pot
atribui pn la 9@ de conectori

$
MARIMI DE CONTROL I INDICATORI
M!rimi "# control $i in"icatori num#rici
)rin selectarea submeniului %umeric din meniul Controls va apare o palet cu mrimi de control i
indicatori numerici )oziionnd sgeata de selecie peste un obiect al paletei, o margine de form
dreptunghiular va nconjura obiectul selectat, iar numele obiectului va apare n partea de sus a
paletei Elibernd butonul mouse"ului n acest punct mrimea de control sau indicatorul selectat va
apare n panoul frontal i terminalul corespunztor va apare n diagrama bloc
!odul de selectarea a mrimilor numerice
!rime de control "i indicator numeric
3n Error( !eference source not found sunt prezentate o mrime de control i un indicator digitale
4rimile de control numerice sunt cel mai simplu mod de introducere a datelor numerice n
%abview )entru modificarea unei mrimi de control se poate da un clic2 cu instrumentul de operare
+operating tool. dup care se introduce numrul de la tastatur sau se poate modifica cu ajutorul
sgeilor de incrementare i decrementare
<oua valoare introdus de la tastatur o nlocuiete pe cea anterioar n momentul n care se apas
tasta AEnterA, se d un clic n afara obiectului sau se apas butonul AEnterA ce apare n paleta
instrumentelor


&
4rimile de control numerice accept doar cifre zecimale, un punct zecimal i termenii *nf +infinit#.
i <a< +not a number. ,ac limitele de reprezentare sunt depite, %abview"ul foreaz numrul la
limita natural
,e exemplu, dac se introduce 69;? ntr"o mrime de control setat pentru un numr pe @ bii ntreg
+b#te integer., %abview"ul foreaz numrul la 69B ,ac se introduc valori non"numerice eronate
ca << n loc de <a< sau *fn n loc de *nf, %abview"ul le ignor i folosete valoarea anterioar
'utoanele de incerementare sunt des folosite pentru a schimba numrul cu un numr foarte
apropiat ,ac apsm butonul de incrementare cu mouse"ul i l inem n continuare apsat,
incrementarea se va face mult mai rapid, respectiv decrementarea ,ac inem i cellalt buton
apsat n timp ce incrementm rapid, mrimea incrementului va crete succesiv ctre alt
magnitudine de ordonare, de exemplu de la 6 la 6C, apoi la 6CC si aa mai departe &nd irul se va
apropia de limit, incrementarea va scdea din magnitudinea de ordonare, cobornd uor ctre
normal pn cnd valoarea se va apropia de limit
<umerele pot deveni mai mari dect limea ecranului de afiare, o parte din cifre devenind
invizibile 3n acest caz pentru vizualizarea ntregului numr se face mrimea de control mai mare pe
orizontal
,atele de tip 'ntreg cu i fr semn se pot afia n hexazecimal, octal sau binar
)entru a schimba forma de afiare se selecteaz (ho) *adi# din submeniul (ho) al meniului
aparent
1e poate opta pentru una din cele 69 reprezentri ale unui control sau indicator numeric folosind
opiunea *epresentation din meniul aparent al mrimii de control sau al indicatorului

1e poate alege ntre(
<umere cu virgul care au(
reprezentare pe ;9 de bii n simpl precizie +1$% $ single precision.0

+
reprezentare pe ;9 de bii n precizie extins +ED- " extended precision.0
reprezentare cu precizie extins complex +&D- " complex extended precision.0
reprezentare cu dubl precizie complex +&,' " complex double precision.0
reprezentare cu o singur precizie complex +&1$ " complex single precision.0
<umere ntregi care au(
reprezentare cu semn +*@ " signed b#te.0
reprezentare fr semn pe @ bii +/@ " unsigned b#te.0
reprezentare cu semn +*6E " signed word.0
reprezentare fr semn pe 6E"bii +/6E " unsigned word.0
reprezentare cu semn +*;9 " signed long.0
reprezentare fr semn pe ;9 bii +/;9 " unsigned long.0
5iecare reprezentare are limite naturale minim i maxim ,e exemplu, numerele ntregi cu semn
pe @ bii +b#te. sunt limitate de valorile "69@ i 69B 1e pot alege alte limite n afara celor naturale
cu opiunea Data *ange... din meniul aparent
3n seturile lor implicite, displaF"urile numerice au dou cifre de preci,ie frac-ional!, adic sunt
afiate dou cifre n dreapta punctului zecimal 7ceast precizie poate fi modificat ntre C i 9C de
cifre )recizia selectat afecteaz doar valoarea afiat, acurateea intern depinznd de
reprezentare ,e asemenea notaia poate fi zecimal, tiinific sau inginereasc
4rimile de control i indicatorii numerici de tip cursor +slide. au un afiaj numeric ce poate fi
utilizat pentru introducerea datelor

.
ontroale "i indicatori de tip slide
/n obiect de acest tip este format dintr"o parte mobil ce arat valoarea mrimii de control sau a
indicatorului, o parte fix de"a lungul creia se deplaseaz partea mobil, o scal pentru indicarea
valorilor i dou butoane de form triunghiular pentru incrementare i decrementare 1cala poate fi
cu sau fr linii de marcare a valorilor, cu sau fr valori numerice sau poate fi ascuns ,e
asemenea scala poate fi gradat linear sau logaritmic
5iecare cursor are o afiare numeric :piunile de lucru sunt aceleai ca la afiarea numeric cu
excepia numerelor complexe 5orma de prezentare a scalei poate fi cu sau fr valori pe scal!, cu
sau fr marcaje sau se poate inhiba afiarea scalei !eprezentarea valorilor pe scal poate fi liniar
sau logaritmic
*ntervalul de afiare al scalei trebuie s fie cuprins n intervalul de lucru al mrimii afiate i n
limita de reprezentare a tipului de dat %ab#*E8 execut n mod automat recalcularea
incrementului n cazul modificrii a cel puin uneia din valorile de minim sau maxim
%a fel ca i mrimile de control i indicatorii numerici, cele de tip cursor au opiunile
*epresantation, Data *ange.. and /ormat 0 1recision n meniu &u aceste opiuni se lucreaz la
fel exceptnd doar c cele de tip cursor nu pot reprezenta numere complexe i c mai au n meniu i
alte opiuni


2
:piunea submeniu (cale se aplic numai scalei elementelor de tip cursor(
&omanda /ormat 0 1recision permite alegerea formatului i preciziei(
:piunea (t3le permite alegerea tipului de scal(
:piunea 4apping ne ofer posibilitatea de scal liniar sau logaritmic(

15
)utem folosi eticheta text sau scala numeric Etichetele sunt de folos deoarece permit sa asociem
numere ntregi fr semn de tip 6E"bit cu iruri 7ceast configuraie este de folos pentru a selecta n
mod reciproc opiunile exclusive &a s activm aceast opiune, selectm 6e#t 7abels din meniul
cursorului &ursorul instrumentului la selectare, apare fr eticheta text, min i max, i noi putem
introduce imediat eticheta care o dorim 1e apas Gshift"enterH dup fiecare etichet ca s crem o
nou etichet, i se apas enter dup ce introducem ultima etichet
)utem folosi instrumentul de scriere +%abeling tool. ca s editm etichetele min i max sau s
punem propriile etichete 1e acceseaz mediul aparent al textului afiat, i se selecteaz comanda
Digital Displa3 din submeniul (ho) pentru a afla ce valoare numeric este asociat la eticheta pe
care o dorim s o crem 1e folosesc opiunile 8dd Item 8fter sau 8dd Item 9efore din meniul
aparent al afiajului pentru a creea noi etichete
M!rimil# "# control num#ric# $i in"icatorii num#rici rotati%i
:biectele rotative au aceleai opiuni la fel ca cele de tip cursor, exceptnd opiunea fill 7cul la
obiectele rotative se regleaz oarecum diferit dect la cele de tip cursor dar operaia este

11
asemntoare :biectele rotative la fel ca n cazul celor liniare +de tip cursor., pot afia mai multe
valori &a s adugm un nou ac indicator selctm 8dd %eedle din meniul aparent al obiectului

!odalitatea de ata"are a unui ac nou
In"icatori num#rici grafici& Gra'( )au Gra'( "#rulant
)aleta ofera indicatori specializati in reprezentari grafice in doua sau trei dimensiuni &ele mai
utilizate indicatoare sunt 8aveforme $raph, 8aveforme &hart sau grafic derulant si DI $raph
,iferente dintre instrumente consta in maniera de reprezentare a vectorilor abscisei -oate aceste
indicatoare reprezinta vectori de 6, sau n", +o curba sau reprezentari multi"curbe. $raficul
derulant +&hart. nu solicita pentru reprezentare punctele sau vectorul absciselor +el reprezinta numai
punctele sau vectori de puncte definiti de ordonata F. in timp ce indicatorul $raph si DI $raph
reprezinta perechi de puncte +x,F. furnizate terminalului corespunzator singular sau sub forma de
vectori de astfel de entitati +se vor defini cu cluster. ,e asemenea se pot defini vectori de clustere
definite ca fiind compuse din entitatile x si ordonata F corespunzatoare $raficele multiple se pot
vizualiza suprapuse sau in stiva

12
,iferenta dintre graficul derulant si graful clasic consta in tipul de date pe care il reprezinta
*ndicatorul grafic derulant poate reprezenta scalari sau vectori 6, , 9, de puncte +sau de valori
scalare. *ndicatorul $raph poate reprezenta vectori 6, , 9, de elemente definite cu cluster %a
nivelul fiecarui element functia suporta valoare numerica sau entitate definita cu cluster +ex( se
poate defini ca entitate un pachet de puncte ale unui vector. ,eci acesta functie reprezinta ca tip de
date, vectori de scalari sau vectori de curbe +definiti ca vectori de scalari.
:bs( pentru definirea unui tablou 6, de clustere, se apeleaza la 'uild 7rraF la care se activeaza
dupa caz optiune de concatenare sau nu a intrarilor *n modul acesta se poat defini din doi vecori de
marime egala aflati la intrare un tablou 6, sau 9, dupa cum este activata sau nu acesta optiune
Ex( Grafc derulant(Chart)

1

Ex( $raph
Ex( DI $raphvi
Sa se defneasca un Vi care sa permita diferite tipuri de reprezentari grafce pe care indicatorul XY Graph le
permite.

1"

1$
M!rimi "# control $i in"icatori "# ti' $ir
7cest capitol trateaz utilizarea mrimilor de tip ir i tablou )utem accesa aceste obiecte prin
paleta (tring06able din menul Controls
Selectarea submeniului String&'able
7ceste obiecte pot fi accesate din paleta (tring a meniului ()'*(%S /n control ir i un
indicator ir sunt prezentate n fig99;(
!rimi de tip "ir
1e poate introduce sau modifica textul unei mrimi de control ir folosind instrumentul de operare
sau cel de etichetare &a i n cazul mrimilor de control numerice noul text sau textul modificat nu
trece n diagram pn nu se apas tasta AenterA, se d un clic n afara controlului sau se apas
butonul AenterA din paleta instrumentelor
7psnd tasta AenterA de pe tastatura numeric se trece la rnd nou &nd textul atinge marginea
din dreapta a ferestrei de afiare, irul trece pe linia urmtoare ncepnd de la un separator natural
cum este spaiul sau un caracterul tab Jirurile au caracteristici speciale ce pot fi accesate din
meniul aparent prezentat n Error( !eference source not found(

1&
!eniuul aparent pentru "iruri
,ac se alege opiunea Scrollbar din submeniul Show, o bar vertical apare n dreapta controlului
sau indicatorului permind vizualizarea textului care nu este vizibil 7ceast opiune este util
pentru a minimiza spaiul ocupat pe panoul frontal de controalele de tip ir ce conin texte mai mari
7legnd opiunea Enable+,+odes din meniul aparent al irului, %ab#iew interpreteaz caracterele
ce urmeaz dup bac2slash +K. ca un cod pentru caracterele neafiabile
1e folosesc literele mari pentru caractere hexazecimal si litere mici pentru caractere speciale, ca de
exemplu formfeed +salt la o pagina noua. sau bac2space 7stfel %av#*E8 interpreteaz secvena
K'5are ca hexazecimal urmat de cuvantul are, pe cnd n cazul Kb5are i Kbfare se interpreteaz ca
bac2space urmat de cuvntul 5are i fare 3n secvena K'fare, ' nu este codul la bac2space, i 'f nu
este un valid cod hexazecimal 3n cazul acesta cnd bac2slash este urmat doar de un caracter valid
hexazecimal, %ab#*E8 i nsuete un C urmat de bac2slash, deci %ab#*E8 interpreteaz K' ca
C' &t timp bac2slash nu este urmat de un carcater valid hexazecimal, %ab#*E8 ignor caracterul
bac2slash
,easemenea se pot introduce caractere neafiabile de la taste, ca de exemplu carriage return +la
nceput de rnd., n interiorul unui control ir ct timp nu selectm :nable ;<; Codes :ricum, dac
activm modul bac2slash cnd fereastra afiat conine text, %ab#*E8 reconduce afiajul s arate
reprezentarea bac2salsh a caracterelor nedisponibile precum si caracterul nsui
*ndicatorii se comporta n acelai fel
4odul blac2slash este foarte folosit pentru depanarea programelor, i pentru transmiterea
caracterelor neafiabile ctre instrumente, porturi seriale, i alte mecanisme

1+
M!rimi "# control $i in"icatori "# ti' tab#l
Elementele unui tablou
/n tabel este o matrice bidimensional de iruri de caractere /rmtoarea figur este un exemplu de
tabel trasturile specificee
/n tabel are capete de rnd i coloan care sunt separate de date pritr"o margine subire 7cestea pot
fi introduse cnd se pune tabelul pe panoul frontal i pot fi modificate folosind instrumentul de
etichetare sau instrumentul de operare Ele pot fi scrise sau citite folosind nodul de atribute
*ndexul displaF"ului arat care celul este vizibil n partea din stnga sus a tabelului 1e poate lucra
cu aceti indeci ca i cu cei ai unei matrici 1e pot modifica dimensiunile tabelului cu instrumentul
de editare a dimensiunii ,easemenea se pot modifica dimensiunile rndurilor i coloanelor
individual ,,trgndA de margini cu instrumentul de poziionare )entru a introduce date rapid se
utilizeaz tastatura 1e apas n interiorul unei celule cu instrumentul de operare sau instrumentul de
etichetare i se introduc datele de la tastatur
&nd se lucreaz n modul run sau edit tasta Enter de pe tastatura alfanumeric va introduce textul
i va muta cursorul n celula urmtoare -asta Enter de pe tastatura numeric introduce datele i
ncheie primirea altor date
7psnd tasta (hift sau Ctrl n timp ce este apsat o s!geat!, cursorul se mut de la o celul la
alta 1e pot copia de asemenea date utiliznd op# -ata. ut -ata i Paste -ata din submeniul
-ata (peration al meniului aparent 1elecia datelor se face folosind instrumentul de operare sau
instrumentul de etichetare )rintr"o dubl apsare se selecteaz o celul, iar prin apsare i lrgire a
frontierelor se poate selecta un anumit numr de celule, pentru a fi copiate 1e pot deasemenea,
selecta toate datele dintr"un tabel, toate datele de pe un rnd sau de pe o coloan )entru a selecta
toate datele din tabel se poziioneaz instrumentul de operare sau instrumentul de etichetare n
colul din stnga sus al tabelului i se apas pe butonul mouse"ului )entru a selecta un rnd sau o
coloan se poziioneaz instrumentul de operare sau cel de etichetare n stnga rndului, respectiv n
partea de sus a coloanei pn apare o sgeat special dup care se apas butonul mouse"ului

1.
M!rimi "# control $i in"icatori "# ti' ring *in#l+
!ing"urile sunt obiecte numerice speciale care asociaz numerele 'ntregi de 1& bi-i fr semn cu
iruri, imagini sau ambele Ele au valoroasa particularitate de a selecta ambele opiuni exclusive ,e
exemplu, putem s fim capabili s alegem dintre un semnal continuu, simplu sau extern

Mrime de control de tip ring
Este folosit denumirea inel deoarece etichetele folosite sunt aranjate ntr"o list circular 3n
exemplul de mai sus, ring"ul numit -rigger 4ode are trei moduri afiate unul dup altul 5iecare are
o valoare numeric care tinde de la C la n"6, n fiind numrul valorilor +; n cazul nostru.
/tilizatorul poate folosi acest ring pentru a alege opiunea din list fr s aib nevoie s tie ce
valoare este reprezentat #aloarea asociat cu opiunea selectat trece n diagrama bloc, unde de
exemplu poate fi folosit a selecta un caz din structura Case care duce la opiunea selectat
)utem selecta o valoare a unui element ring n dou feluri )utem folosi butonul de incrementare ca
s mutm la valoarea urmtoare sau precedent sau inem butonul apsat ca s rulm lista ,e
asemenea putem selecta orice valoare, dnd clic2 pe elementul ring i alegnd ce dorim din meniul
care ne apare 3n figura de mai jos sunt prezentate elementele de tip ring(

Elementele listei pot fi introduse n capul listei sau n continuarea listei cu ajutorul opiunilor( 8dd
Item 9efore i 8dd Item 8fter din meniu &a s tergem un element al listei se utiliezaz *emo=e
Item
(piuni pentru mrimile de tip ring

12
El#m#nt# "# ti' #num#rar#
7cestea sunt similare cu cele de tip ring ,ac data de la elementul enumeraie este conectat la o
structur de cazuri, este afiat un ir n locul unui numr -ipul datei este bit fr semn ori alt tip
care poate fi selectat din paleta *epresantation
M!rimi "# control $i in"icatori bol##ni
/n control bolean are 9 valori i anume( true i false 4rimile de control i indicatorii boleeni sunt
disponibili n submeniul /oolean din meniul ontrols aa cum este fig 9;6(
!rimile de control "i indicatorii boleeni
3n Error( !eference source not found sunt prezentate cteva tipuri de controale boleene care
simuleaz butoane, declanatoare, butoane de dialog etc(
'ipuri de controale booleene
3n continuare voi prezenta civa indicatori boleeni care simuleaz %ed"uri sau becuri(

25
'ipuri de indicatori booleni
5iecare control i indicator bolean posed cteva faciliti, care de altfel sunt comune tuturor
tipurilor de controale i indicatori din %abview, putnd fi pui n eviden dnd un clic2 cu butonul
din dreapta al mouse"ului pe indicator sau control ca n fig 9;?(
!eniul aparent pentru mrimile boleene
E"itar#a controal#lor
7legerea culorilor pentru un control se face astfel( daca obiectul este umbrit se pot seta culori
pentru forground sau bac2graound )aleta de colori comuta aplicarea culorii pe un obiect folosind
tasta LspatiuL ,aca se doreste ca o culoare sa fie LtransparentaL se alege optiunea T din fereastra care
ofera graddientul de culoare,aca un obiect nu e shadow este disponibila numai optiunea de culoare
pentru bac2ground"ul sau
,UNCTII I PROCEDURI
5unciile si procedurile puse la dispozitie utilizatorului de mediul de programare grafic %ab#iew
sunt(

21
Figura 01 - *lustrarea meniulu 5unctions din ,iagrama 'loc
seturi de funcii matematice pentru prelucrarea valorilor numerice +inclusiv funcii
trigonometrice i logaritmice. i logice, a irurilor de caractere alfanumerice i a
mulimilor uni" sau multidimensionale de valori de diverse tipuri0
funcii i proceduri pentru manipularea valorilor temporale, pentru lucrul cu fi"iere n
diverse formate, pentru generarea unor comenzi ctre sistemul de operare sau ctre
procedurile de control ale mediului de programare grafic0
funcii pentru comunicaii 2n reea, utiliznd diverse standarde i protocoluri de transfer
al informaiei0
funcii i proceduri complexe de prelucrare "i analiz de semnale, de la funciile pentru
calculul indicatorilor statistici pn la proceduri de calcul al transformatelor 5ourier i al
spectrelor de putere i frecven, proceduri pentru calculul regresional, filtre digitale etc0
functii dedicate achizitiei de date
5unciile sunt noduri de prelucrare a variabilelor +argumentele functiei. si execut operaii
elementare cum ar fi adunarea numerelor, operaii intrare"ieire i prelucrarea irurilor 5unciile din
%abview nu au panou frontal sau diagram bloc %a compilare ele genereaz inline un cod main
&nd este selectat o funcie din meniul /unctions ea va apare n diagram prin iconul specific 1e
poate utiliza fereastra help pentru a vedea cum trebuie conectat funcia respectiv sau din meniul
aparent se selecteaz opiunea (ho) 6erminals pentru a vedea precis unde sunt localizate
terminalele
&ele dou moduri de prezentare a unei funcii
&nd conectm o funcie punem in legatura fizica terminalele sale cu cele prezente in ,iagrama
aplicatiei care o utilizeaza
7numite funcii pentru tablouri i grupuri au un numr variabil de terminale )utem schimba
numrul de terminale redimensionnd iconul n acelai mod cum redimensionm i alte obiecte
: funcie care se poate redimensiona cu mouse"ul

22
<umrul de terminale mai poate fi modificat i folosind comenzile 8dd i *emo=e Input> ?utput
a meniului aparent al terminalelor
: funcie care se poate redimensiona din opiuni
Ti'uri "# "at#
-erminale asociate tipurilor de date scalare &orespondenta de culori
intregi cu semn(
intregi fara semn(
" element de tip enumerare, " element de tip inel +lista derulanta.
real in virgula mobila(
complex

-ip de date
1calar 6, arraF 9, arraF
2
real(
string+sir de caractere.(
cale de fisier +path.(
referinta numerica( + codificare proprie labview pentru (fisier, tas2,
comunicatie -&), etc.
cluster cu tip omogen de date(
cluster variabile cu tip diferit de date(
variant " tip de date oarecare ce poate fi convertit cu functii specifice in date cerute
de sablon(
waveform( " este o variabila cluster compusa din ( tC, dt, MFN
polimorf( 7cest tip de data indica ca acel #* sau functie accepta ca si
comanda +respectiv indicator. unul sau mai multe tipuri de date /n terminal
polimorf poate primi sau genera date de tip diferit
,e exemplu functia sinus accepta la intrare scalar, un tablou sau un cluster de numere,
un tablou de clustere de numere, etc
nume *>: ( 7re semnificatia(
pentru o placa de achizitie ,7O, numele canalelor,
numele resursei #*17

2"
numele logic al #*"ului care va comunica cu un instrument sau un driver
,7O
)icture( afiseaza o imagine importata cu A&opF>)asteA
Polimorfismul functiilor numerice
Polimorfism P proprietate specifica numai functiilor care permite combinatii omogene de date si
tipuri de date, la intrare sau iesire :mogenitatea se refera la tipul da data elementara din care este
compusa variabila de intrare>iesire din functie 1e pot construi date de tip( scalar, arraF 6, , arraF
9, de variabile( sau numerice, sau stringetc *n cazul variabilei cluster, tipul de data se refera la
repetabilitatea sa ca tip de data elementar
5unctiile aritmetice utilizeaza date numerice &u cateva excpetii iesirea are aceeasi reprezentare
numerica ca si a intrarii sau intrarea de dimensinea cea mai mare atunci cand intrarile sunt de
reprezentari diferite
5unctiile aritmetice pot fi utilizate cu numere, tablouri de numere, clustere de numere, tabouri de
clustere de numere, numere complexe, etc -Fpul de date autorizate pot fi definite de maniere
formala si recursiva dupa cum urmeaza(
'ip3numericP scalar numeric :! tablou M'ip3numericN :! clusterM'ip3numericN
Scalarele numerice pot fi numere in virgula flotanta, intregi sau numere complexe in virgula
flotanta %ab#iew </ permite utilizarea tablourilor de tablouri
'ablourile pot avea nu conteza ce numar de dimensiuni care pot fi de aceeasi talie
lusterele pot avea nu conteaza ce numar de elemente -ipul de iesire al functiilor are aceeasi
reprezentare numerica ca tipul intrarii
)entru functiile cu o intrare, ele trateaza fiecare element al tabloului sau clusterului +se
aplica punctual pe element component.
)entru functiile cu doua intrari, se vor utiliza combinatiile de intrari dupa cum urmeaza(
*ntrari similare( cele doua intrari au aceeasi structura iesirea va avea
aceeasi structura ca si intrarile
*ntrari de tip scalar( daca una din iesiri este scalar numeric iar cealalta
este un tablou sau un cluster iesirea este tablou sau cluster
*ntrare tablou( daca una din intrari este tablou numeric iar cealalta este de
tip numeric iesirea este un tablou
#om prezenta combinatiile polimorfe posibile pentru unele din functiile din %ab#iew (

2$
Polimorfismul functiilor booleene
5unctiile logice utilizeaza date de intrare booleene sau date de intrare numerice ,aca intraea este
numerica, %ab#iew efectueaza operatii de date in functie de biti ,aca intrarea este intreg, iesirea
este in aceeasi reprezentare ,aca intrarea este un numar in virgula flotanta, %ab#iew rotunjeste
intrarea la un intreg lung , deci tipul iesirii este intreg lung 1unt exceptate numerele complexe si
tablorile de tablouri care nu sunt autorizate
5unctiile logice trateaza tablouri de numere sau valori booleene, tabele de clustere de numere sau
valori booleene, etc-ipul de date autorizate poate fi definit de maniera formala si recursiva astfel(
'ip3logic41calar boolean :! scalar numeric +cu semnificatie booleana. :! tablou M'ip3logicN :!
cluster M'ip3logicN
5unctiile logice pentru doua intrari pot avea aceeasi combinatie la intrare ca si cele matematice )e
de alta parte, operatiile de baza efectuate prin functiile logice nu pot avea ca intrari decat valori
booleene sau valori numerice 7stfel, nu vom putea avea un 7<, intre o valoare booleana si una
numarica

2&
tructuri )i no"uri
3n timpul programrii, anumite seturi de instruciuni trebuie repetate de un anumit numr de ori sau
pn la ndeplinirea unei anumite condiii %abview"ul conine ? noduri speciale numite structuri
care sunt utilizate n astfel de situaii
5iecare structur are o margine distinct, ce poate fi redimensionat *n interiorul sau sunt cuprinse
instruciunile ce se execut dup regulile speciale ale structurii ,e exemplu, diagrama cuprins n
interiorul unei structuri de tip bucl 5:! se execut de un anumit numr de ori
,in acest motiv, diagrama din interiorul unei structuri se numete subdiagrama 3n afara buclei
/?* %abview"ul are structuri de tip bucl @AI7: care repet execuia unei subdiagrame pn o
condiie devine adevrat, structuri C8(: care au subdiagrame multiple din care numai una se
execut i structuri de tip secven care execut instruciunile ntr"o anumit ordine i structura
(:CV:%BC
,eoarece structurile sunt noduri, ele au terminale care le conecteaz la alte noduri ,e exemplu,
terminalele ce vehiculeaz date ctre i dinspre structuri se numesc tuneluri
Implementarea structurilor de control
%abview"ul are patru tipuri de structuri( 5:!, 8=*%E, &71E i 1E&#E<QR, i pot fi accesate din
paleta A(tructs 0 ConstantsA a meniului Error( !eference source not found. 1imbolurile pentru
fiecare structur sunt de tip cutie ce poate fi redimensionat cu margine distinct aa cum se arat n
figura urmtoare(

ele 5 tipuri de structuri din %abview1
1tructurile se comport ca orice alte noduri prin aceea c se execut automat cnd sunt disponibile
datele de intrare i furnizeaz date la ieiri cnd execuia se termin 5iecare structur i execut
subdiagrama conform cu regulile ce vor fi descrise mai jos 5iecare structur i execut diagrama
conform regulilor specifice pentru fiecare structur ( subdiagram este o colecie de noduri. fire.
terminale "i spaiu care se afl 2n interiorul structurii1
'uclele 5:! i 8=*%E au cte o singur subdiagram, in timp ce structurile &71E i 1E&#E<Q7
au subdiagrame multiple aranjate ca un pachet de cri, doar o singur subdiagram fiind vizibil
la un moment dat %ab#*E8"ul creaz automat terminale pentru introducerea i scoaterea datelor
dintr"o structur, n momentul n care firele ce leag noduri din interiorul i exteriorul structurii
traverseaz marginile structurii 7ceste terminale poart numele de tunele -unelele se afl pe

2+
marginea structurii dar pot fi mutate oriunde de"a lungul marginii, ele au un capt expus n
interiorul structurii i cellalt capt n afar
Structuri de tip bucl FOR
7cest tip de structuri sunt utilizate pentru controlul operaiilor repetitive, pn la ndeplinirea unui
anumit numr de iteraii : bucl 5:! execut subdiagrama ei de < ori, unde < este o valoare
ntreg coninut n terminalul de numrare -erminalul iteraiilor conine numrul curent de iteraii
ce au fost executate( C n timpul primei iteraii, 6 n timpul celei de"a doua i aa mai departe pn
la <"6 ,ac <PC, bucla nu se execut niciodat ,aca se trimite o variabila, plasata in interiorul
buclei 5:!, in afara buclei pentru a fi afisata de exemplu, variabila este eliberata din structura abia
dupa ce toate ciclurile sale se incheie
Structuri de tip bucl WHIL
: bucl 8=*%E execut subdiagrama pn cnd o valoare boolean legat la terminalul condiional
devine fals %ab#*E8"ul verific valoarea acestui terminal la sfritul fiecrei iteraii i dac
aceasta are valoarea -!/E are loc o nou iteraie, aa c bucla se execut cel puin o singur dat
#aloarea implicit a terminalului condiional este /87(:, aa c dac acesta nu este legat, bucla se
execut o singur dat
-erminalul iteraiilor se comport la fel ca i la bucla 5:! 7mbele structuri pot avea terminale
numite regitrii de deplasare folosite pentru a transmite date de la iteraia curent la iteraia
urmtoare
1e pot plasa obiecte nuntrul structurilor, Ltrgndu"leL nuntru sau ori crendu"le <u se poate
pune un obiect nuntrul structurii dac punem structura peste obiect ,ac mutm structura peste
un obiect, aceasta l va acoperi, iar obiectul se poate vedea aezat peste marginea structurii ,ac
punem structura complet peste un obiect atunci o umbr groas va avertiza c obiectul este dedesubt
i nu n structur
)utem plasa un terminal nuntrul buclei cnd dorim ca bucla s verifice valoarea terminalului la
fiecare iteraie ,e exemplu, cnd plasm un terminal al unui control boolean din panoul frontal n
bucla de tip 8=*%E, i conectm terminalul la terminalul condiional al buclei, bucla verific
valoarea terminalului la fiecare pas +iteraie. pentru a determina dac poate sa treac la urmtorul
pas )utem opri o bucl de tip 8=*%E, schimbnd valoarea mrimii de control din panoul frontal n
false(
'ucl 8hile cu condiie de brea2
,ac plasm terminalul mrimii de control booleane n afara buclei de tip 8=*%E crem o bucl
infinit(

2.
/ucl 6hile infinit
,ac mrimea de control boolean este true, schimbarea valorii mrimii de control din panoul
frontal, n false nu oprete execuia buclei deoarece valoarea nu este propagat att timp ct bucla
este oprit, iar #*"ul este repornit ,ac din neglijen crem o bucl infinit, putem opri #*"ul
dnd un clic2 pe butonul Stop
Ex( sa se defineasca un vi care sa calculeze media aritmetica a ultiumelor patru numere aleatoare
generate intre [0,1]:
Structura CON!ITION"L" si C"S
: structrura conditionala poseda cel putin doua sub"diagrame sau conditii : singura
diagrama e vizibila odata iar structura se executa doar cand acea conditie e valida : valoare de
intrare +care este suportul testului logic. determina care subdiagrama se executa1tructura este
echivalenta structurii *5 sau 1witch>&71E din limbajele de programare bazate pe text
(electorul de conditii se afla in partea de sus a structurii El indica starea logica a
variabilei testata iar secventa de program continuta se executa pentru aceasta valoare logica a
variabilei testate *n stanga>dreapta sunt sageti de incrementare>decrementare a listei care rezultata
din testele logice
&ablati o valoare de intrare sau un selector la terminalul selector reprezentat in stanga
conturului diagramei, pentru a determina conditia care se executa )uteti cabla un intreg, o valoare
booleana, un sir de caractere sau o valoare de enumerare )uteti pozitiona selectorul nu conteaza

22
unde pe conturul din stanga al structurii conditionale 1e poate specifica o conditie implicita pentru
a manevra valori in afara gamei sau se poate explicita fiecare conditie in parte ,e exemplu sunt
definite conditii pentru valorile 6 , 9 si ; ale selectorului ,aca intrarea este ?, structura va executa
conditia definita ca LimplicitaL
-unele de intrare si de iesire
1E pot crea mai multe tunele de intrare si de iesire pentru o necesara intr"una sau mai multe sub"
diagrame *ntrarile sunt disponibile pentru toate sub"diagramele dar acestea nu sunt obligate sa le
utilizeze obligatoriu *n acelasi timp, se poate defini cate un tunel de iesire pentru fiecare conditie
+in sensul ca fiecare conditie furnizeaza o variabila" in acest caz ea va fi plasata in afara structurii
sar fiecare conditie este obligata sa returneze in tunel o valoare pentru acea variabila. ,aca s"au
creat tunele de iesire intr"o conditie, ele apar in aceeasi pozitie pe toate cadrele celorlalte
conditii-unele de iesire necablate apar ca si dreptunghiuri albe dar nu sunt surse de eroare )uteti
defini o surse de date diferita pentru acelasi tunel de iesire in fiecare cadru conditional numai ca
datele trebuie sa fie compatibile intre ele
,aca o variabila este creata de o anumita conditie, atunci terminalul variabilei se va plasa in
interiorul conditiei respective
Generetor de semnale :
)anou frontal
,iagrama

5
7alorile selectorului de conditie si tipuri de date
1electorul de conditii poate specifica o valoare unica intreaga sau game de valori pentru a selecta o
conditie +observati ca selectorul de conditii poate fi o variabila logica sau intreaga "vezi culoarea.
%istele se vor separa cu virgula 1e poate specifica o gama astfel( 6C9C ceea ce semnifica toate
numerele intregi din intervalul 6C"9C 1e poate specifica o gama deschisa 6CC ceea ce semnifica
toate numere inferioare sau egale cu 6CC 1e pot combina liste si game, de exemplu( S,
E,B6C,66,6@
7tunci cand se introduce un selector continand game care se suprapun, structura 1ecventa afiseaza
un nou selector dar intr"un format mai compact ED( S,E,B6C,666@
1e pot utiliza in selector siruri de caractere sau enumeratii #alorile se vor afisa in ghilimele (
ArosuA, AgalbenA 1irurile de caractere dintr"un control de tip enumerare, ring, meniuri derulante,
liste derulante sunt puse in corespondenta cu valori nr *ntregi care le AnumaraA <umararea lor
incepe cu numere intregi ce pornesc de la C

1
EX: extragerea radacinii patrate a unui numar. Mesaj de eroare daca nr. E negativ:

Structura de tip SC#NT"
: structura 1ecventa, contine una sau mai multe diagrame sau cadre care se executa intr"o ordine
precisa secventiala : structura 1ecventa executa cadrul C, apoi 6, cadrul 9pana la ultimul cadru
1rtuctura 1ecventa nu executa si nu intoarce nici o data cata vreme ultimul cadrul nu s"a executat
/tilizati structura 1ecventa pentru a controla ordinea de e#ecutie daca nu exista o dependenta
naturala intre date *n fiecare cadru al unei structuri 1ecventa, ca si in restul diagramei, dependenta
datelor determina ordinea de executie a nodurilor -unelele structurii 1ecventa nu pot avea decat o
sursa de date *esirile pot fi furnizate de nu importa care cadru numai atunci cand toate cadrele au
terminat executia lor &a si la structura conditionala, datele care intra pe tunele de intrare, sunt
disponibile pentru toate cadrele )entru a transmite date de la un cadru la altul, utilizati un terminal

2
de variabila locala de secventa : sageata orientata spre exterior, apare pe cadrul care
contine sursa de date 7ceasta variabila va putea fi folosita in secventele care urmeaza celei in care
s"a implementat variabila locala si nu in cele anterioare ei 1tructura 1ecventa garanteza ordinea de
excutie a programului si interzice operatiile in paralelel
Ex6( sa se cronometreze timpul necesar pentru a LpotriviL o secventa de numere aleatoare cu un
numar de referinta introdus de utilizator(

Ex2: sa se determine timpul necesar generarii unui numar N de numere aleatoare.
Nod de formule $Formula Node% sau cutie de calcul matematic
&utia de calcul este un nod textual practic care poate fi utilizat pentru efectuarea operatiilor
matematice din diagrama )rin intermediul acestei functii nu se pot accesa direct cod extern sau
aplicatii exterene si nu se pot cabla functii aritmetice de nivel scazut +cele disponibile in paleta

%ab#iew . pentru a crea ecuatii )e langa expresiile text, cutia de calcul poate accepta versiuni text
pentru declararea structurilor *f, a buclelor 5:! , 8hile sau ,: care sunt cele bine cunoscute de
programatorii in limbajul & 7ceste elemente de progarmare sunt asemanatoate uneori dar nu
identice
&utiile de calcul sunt utile pentru rezolvarea ecuatiilor complicate cum sunt cele care comporta un
numar mare de variabile sau pentru reutilizarea unui cod text existent 7cesta se poate reinsera in
cutie prin AcopF>pasteA dintr"o alta cutie de calcul in care a fost deja editat
:bs( in cutia de calcul incheiati fiecare linie cu caracterul L0L
Utilizarea Cutiei de calcul
&utia de calcul este situata in paleta Fonctions Structures si in Fonctions
Mathmatiques Formule. Este o cutie redimensionabila similara cu buclele
For, While, Secventa sau Conditionala. In schimb, in locul diagramei ea contine
cel putin o instructiune in limbaj C, delimitata prin ";". Ca si in C , adaugati
comentarii cu sintaxa /*commentaire*/.
4eniul local oferit de bordura cutiei propune optiuni pentru adaugarea variabilelor de intrare si de
iesire &ele de iesire se disting printr"un chenar mai accentuat ,oua intrari si doua iesiri nu pot
avea acelasi nume )e de alta parte o iesire poate avea acelasi nume ca si o intrare -oate variabilele
sunt scalare numerice in virgula flotanta

"
/rmatorii operatori, autorizati in declaratia formulelor, sunt clasati in ordinea crescatoare a
prioritatii(
P, T ," ,U ,> ,HH ,GG ,V ,W , X UU
Y( estimarea conditionala
W 17/ logic
ZZ 1* logic
W 17/ binar
V 17/ exclusiv bit cu bit
Z 1* bit cu bit
[P, P P inegalitate, egalitate
G,H,HP,GP
U ,> , inmultire, impartire
UU exponentiala
T, ", [, \ , TT, T6, "6, </ logic, complement fata de 9, pre"increment, post"increment
/rmatoarele functii integrate sunt autorizate in declaratia formulelor(
7bsacos, acosh, asin, asinh, atan, atanh, ceil, cos, cosh, cot, csc, exp, floor, getexp, getman, int, ln,
log, log9, max, min, mod, rand, rem, sec, sign, sin, sinc, sinh, s]rt, tan, tanh
Variabilele din cutia de calcul
/tilizarea cutiei de calcul presupune respactarea urmatoarelor recomandari(
o <umarul de variabile sau de ecuatii este nelimitat
o 1electati din meniul local optiunea Ladaugati o intrare>iesireL
o <u este obligatoriu dupa declararea lor sa fie si cablate la o variabila din diagrama
+adica sa primeasca valori de initializare sau sa furnizeze o iesire.
o /tilizand acelasi meniu local se poate schimba statutul unei variabile de intrare>iesire
in iesire>intrare #ariabilele pot fi scalare in virgula flotanta a caror precizie variaza
functie de configuratia calc pe care lucrati
o #ariabilele nu pot avea unitati
Noduri de e&presii
/tilizati noduri de expresii pentru a calcula expresii sau ecuatii continand o singura variabila Ele
sunt utile cand o ecuatie are o singura variabila dar sunt expresii foarte complicate <odul de
expresie se selecteaza din Function Numeric .
:peratorii disponibili in <odul de expresii sunt cei autorizati in utilizarea <odului de formule
+prezentat anterior.

$
-
Polimorfsmul nodului de expresii
sau(
sau
-erminalul de intrare intr"un <od este de acelasi tip ca si comanda sau constanta pe care o cablati
*n exemplul 6 de sus, variabila de intrare este un cluster +o structura. format dintr"o variabila reala
si o constanta *n celalalt exemplu, variabila cluster este formata dintr"o variabila reala scalara si un
tablou 6, !ezulta un cluster de tip diferit de data numerica &and tipul de data este diferit,
variabila cluster de iesire este roz &and datele sunt de acelasi tip +in exemplul de jos sunt ambele
de tip intreg scalar., clusterul este maro
-ipul de data poate fi numar scalar necomplex, tablouri 6, sau 9, necomplexe<odul de expresie
va aplica expresia la nivel de fiecare element
Noduri de script 'atlab
1e poate defini <od de script 4atlab din paleta /octionsMathmatiquesFormule
pentru a incarca si edita un script !atlab in diagrama disponibila ceea ce
permite ca "ab#ie$ sa apele%e la &unctiile lor matematice avansate.

&
!atlab trebuie sa 'e instalat ca sa utili%ati (odul de script. Se
vor de'ni terminalele nodului de script ca 'ind intrari sau iesiri pentru
variabilele care apar in script pentru a le pasa intre "ab#ie$ si !atlab. Se poate
determina &unctia unui terminal in &unctie de maniera in care ecuatia este
scrisa. )st&el, daca un script contine declaratii de atribuire de genul *+ i,-, se
va de'ni "i", ca terminal de intrare pentru a putea controla cum va calcula
(odul de script variabila *. )ceasta variabila *, va ' apoi a&ectata unui terminal
de iesire ca va extrage re%ultatul scriptului.
)entru a executa scriptul scris in 4atlab, %ab#iew comunica cu motorul serverului de script care
este un program care executa scriptul %ab#iew comunica si controleaza motorul serverului de
script printr"un protocol inductrial 4atlab este instalat in motoarele serrverelor de script
<odul de script nu poate sa determine tipul de date specifice terminalelor pe care le"ati creat pe
cadrul <odului 1e va asigna un tip de data compatibil %ab#iew fiecarui terminal al de nodului de
script <odul de script in %ab#iew recunoaste tipurile de date din 4atlab-ipurile de date din
%ab#iew si corespondentul lor in 4atlab este ilustrat in tabelul urmator(
Suestii de proramare pentru importul de scripturi din
Matlab
Este recomandat deci sa scrieti un script in 4atlab pe care sa il rulati in mediul sau pentru a ii
verifica corectitudinea 7ccesati meniul de context al <odului de script din %ab#iew si selectionati
optiunea LEditare in serverL pentru a edita, compila si executa scriptul din fereastra

+
Este recomandat de asemenea sa se creeze un indicator pentru verificarea eventualelor erori,creind
indicatorul pentru eroarea de iesire din nod <odul de script va permite vizualizarea erorilor de
compilare
.ariabil# global# )i local#
*n %ab#iew se pot citi sau afisa date de la>la un obiect plasat in panoul frontal Este posibil ca
informatia care este transmisa prin terminal sa fie necesar a fi accesata in mai multe puncte in
diagrama ,e asemenea in cazul structurilor de control care utilizeaza sub"diagrame distincte, daca
este necesara prelucrarea aceleiasi informatii, este imposibila transmiterea sa printr"un singur fir
deoarece sub"diagramele sunt ArupteA intre ele
/tilizand =ariabile locale se poate citi sau modifica variabile control>indicator in panoul ^frontal
fara interventia manuala /tilizand =ariabile globale se pot accesa date si transmite intre mai multe
#*"uri ceea ce confera mediului %ab#iew calitatea de multitas2
#ariabile locale
#ariabilele locale permit accesarea obiectelor din interfata din mai multe puncte din diagrama
precum si transmiterea datelor intre diagramele structurilor care nu pot fi conectate printr"un fir de
legatura +structurile &71E sau 1E&#E<-7 ruleaza in diagrame distincte. : variabile locala da
acesul programatorului la citirea dar si scrierea variabilei din interfata 7ceeasi variabila locala
ofera deci permisiunea de AreadA sau AwriteA :rice obiect din panoul de control permite crearea
+optiunea &reate a meniului local. (
#ariabila locala +creaza in diagrama un terminal corespunzator tipului de date pe care
acest control il manevreaza. 1e pot crea terminale multiple
<od de proprietato +ceea ce ofera accesul la proprietatile grafice ale obiectului prin
plasarea unui terminal specific in asociate obiectului ,iagrama
<od de metode +ofera aceesul la metodele implementate pentru acest obiect.

.
#ariabila de tip !eferinta numerica( 7cesta
referinta este utila daca se doreste crearea unei referinte numerice <m!ef intr"un alt #*(
,aca se deschide un sub"#* si se LtrageL terminalul in ,iagrama sub"
#iului 7ceasta manevra duce la aparitia in ,iagrama sub"#iului a unei variabile de tip
7cest tip de data este generat si daca utilizam variabile tip !eferinta<umerica pentru
controalele>indicatoarele din panoul frantal cand suntem interesati de referinta numerica a
unei aplicatii, a unui fisier, a unui obiect graficetc 7semenea referinte numerice se pot
prelua in ,iagrama prin utilizarea controlului dedicat de tip <um!ef(
7ceste controale sau indicatoare pot fi asociate unei aplicatii,unui
#*, unui control, unui eveniment, unui meniu, unei conexiuni de retea -&), unui fisier
standard sau unuia de tip jurnal
*n mod similar, in ,iagrama acest tip de data poate fi reclamat de una din functiile de &ontrol al
aplicatiilor sau de una din functiile ce permit controlul activ al aplicatiilor 7ctiv D 5unctiile de
control al aplicatiilor sunt destinate deschiderii>inchiderii in ,iagrama a unei aplicatii,
vizualizarii>editarii proprietatilor>metodelor aplicatiei <odurile de metode sau proprietati
ofera prin meniul local posibilitatea setarii unui tip de server asociat nodului
Crearea !ariabilelor locale
#ariabilele locale se creaza prin acesarea din meniul local al obiectului din panoul frontal a optiunii
CreateDD7ocale Variable. 7ltfel, se pot crea variabile locale din
FonctionsStructuresVariable locale. /n nod de variabila locala care nu este inca
asociat la un control sau indicator are aspectul 4eniul de contex ofera optiunea A1election
*temA si vizualizeaza toate controlele si indicatoarele din panoul frontal 1e pune in legatura
variabila locala cu un obiect din interfata ceea ce ii va plasa in interior eticheta obiectului pe care il

2
refera 1e va apela la acelasi meniul local pentru a schimba statutul variabilei locale in LcitireL sau
LscriereL
#ariabile globale
#ariabilele globale se utilizeaza pentru a accesa date si a le transmite la mai multe #*"uri care se
executa simultan Ele sunt obiecte integrate in %ab#iew)entru declararea variabilelor globale,
%ab#iew creaza automat un #* global specializat care poseda numai panou frontal , nu si diagrama
*n acest panou frontal se vor adauga controale si indicatori pentru a defini tFpurile de date ale
variabilelor globale 1e poate asocia acest panou frontal al variabileor globale cu un container in
care %ab#iew are depuse date pe care le acceseaza
)resupunem ca doua #*"uri se executa simultan 5iecare #* contine o bucla 8hile si scrie puncte de
date pe un grafic derulant +$raph &hart. )rimul #* contine o comanda booleana pentru a termina
cele doua #*"uri 1E recomanda utilizarea unei variabile globale pentru a termina cele doua bucle
cu o comanda booleana unica ,aca cele doua buc2e se gasesc in aceeasi diagrama a unui #*, se
utilizeaza o variabila locala pentru a termina buclele
Crearea !ariabilelor lobale
)entru a crea o variabila globala de aceseaza FonctionsStructuresVariable lobale
pentru a crea o variabila globala. .e diagrama va apare nodul variabilei
globale . .rin dublul cli/ de mouse pe nod, se va a'sa un panou &rontal
nou a carui diagrama este inhibata. Se vor pune aici controale si indicatoare in
maniera standard de creare a unei inter&ete de program.Se crea%a ast&el un V"
lobal. 1e pot crea #*"uri globale unice, corespunzatoare fiecarei var globale sau se pot pune
toate in aceasi fereastra /n #* global cu mai multe obiecte este mult mai eficace 1e inregisctreaza
pe disc un #* global ca fisier cu extensia "gbl".
,iagrama poate include mai multe noduri de variabile globale asociate controalelor si indicatorilor
din #* global 7ceste noduri de variabile globale sunt fie copiile primului nod de variabila globala
plasat pe diagrama #* global, fie noduri de variabile globale ale #*"urilor globale care sunt plasate
in #*"ul curent 1e insereaza variabilele globale definite in #*"ul global prin inserarea lui #* global
+variabgbl. in maniera in care inseram orice #* creat de utilizator +din paletta 5unctionHH1election
#*. 4eniul local al variabilei globale ofera posibilitatea de a alege numai una din acele variabile
plasate in #*"ul global, prin accesarea optiuni L1election *temL 1e creaza variabile globale care au
inscrisa in interior eticheta controlului sau indicatorului la care se refera
Variabile de citire sau de scriere
,upa ce s"au inserat variabilele locale sau globale, in stare implicita ele functioneaza ca si indicatori
deci permit modificarea +scrierea. variabilei numerice asociate obiectului grafic )rin accesarea
meniului local A&hange en readA ele isi schimba statutul si se comporta ca surse de date +deci
primesc statul de controale sau comenzi. $rafic cele doua stari difera prin contur care la starea de
citire este mai accentuata
Utilizarea controlata a !ariabilelor lobale si locale
#ariabilele globale si locale constituie concepte avansate in %ab#iew Ele nu fac parte din maniera
fireasca de executie a unui #* bazat pe avansarea paralela a fluxului de date pe legaturile +firele.
unde acestea pot fi elaborate ,iagramele pot deveni dificile de citit atunci cand se utilizeaza

"5
variabile globale si locale motiv pentru care ele trebuie utilizate cu atentie : utilizare incorecta a
acestora poate conduce la o comportare greu de anticipat a #i"ului apelant : utilizare intensiva a
acestora incetineste executia
"nitializarea !ariabilelor locale si lobale
#ariabilele locale si globale contin date initializate de programator la startarea #*"urilor apelante
,aca nu, ele pot contine date care pot genera un comportament incorect al #*"ului ,aca nu se
initializeaza o variabila locala sau globala, ele contin la pornire datele implicite ale obiectului din
panoul frontal al #* global
Situatii de competitie
,eoarece #*"urile urmeaza un model de executie in flux de date, variabilele globale si locale in
%ab#iew nu se comporta ca si variabilele locale si globale din limbajele cu text : situatie de
competitie se produce atunci cand daua parti de cod se excuta in paralel si schimba valoarea
aceleiasi resurse partajate care este in general o variabila locala sau globala
*eisrea din #* depinde de ordinea de executie a operatiilor &um nu exista dependenta de date intre
cele doua operatii, este imposibil de a detremina care operatie se excuta prima
Consideratii pri!ind memoria de utilizare a !ariabilelor
locale
*n momentul in care se creaza sub"#iuri, putem defini conectori care descriu in ce maniera se
transmit datele in acel sub #* &onectorul nu reclama o copie a bufferului de date #ariabilele locale
efectueaza copii de buffere de date 7tunci cand se citeste variabila locala, se creaza un nou buffer
pentru datele la care ea este asociata *n momentul in care se vor utiliza variabilele locale pentru
transfer de date, se utilizeaza in general mai multa memorie ceea ce, in final scade viteza de
executie a #i ^ului comparativ cu viteza de executie a unui #i in care datele circula pe fire de
legatura si nu apeleaza la stocari de date in variabile locale
Exemplu : Sa se construiasca o aplicatie care sa genereze o secventa de numere care sa fe afsate
simultan intr-un alt VI. Ambele aplicatii se pot opri prin controlul boolean propriu iar oprirea uneia dintre ele
va declansa oprirea simultana a ambelkor aplicatii.
Se vor defni doua variabile globale 'Numarul' si un control boolean de oprire a aplicatiei intr-un fsier *.gbl.
Aplicatia Generator de numere va modifca continuu variabila globala si va pune butonul de stop OFF iar
aplicatia Afsare numere va citi variabila globala 'Numar' iar la oprirea sa va pune butonul de stop pe ON.
$enerator de numere

"1
Afsare numere
4F $lobalsgbl
Situatiile de bloca8 apar numai atunci cand o variabila globala sau locala este accesata in scriere
simultan din mai multe puncte1 9n acest caz nu este controlata disputa si nu se cunoaste cine a
ad8udecat operatia de scriere a variabilei1 -aca o variabila globala e citita intr$un 7i iar altul o
modifica atunci 7i$urile care le apeleaza functioneaza coerent1
8plicatieE sa se construiasca o aplicatie care citeste pe trei canale trei tipuri diferite de semnale(
unul random care pentru valori mai mici de CS sa primesca valori aleatoare negative, unul
sinusoidal si unul patrat 7plicatia sa fie construita astfel incat daca se inregistreza eroare la citirea
unui canal, sa returneze mesaje care sa confirme prezenta sau nu a erorii

"2

"

""
,unctii num#ric#
)rezentam functiile de conversie a variabilelor numerice cu precizarea ca acestea pot fi de tip scalar,
tablou, cluster de numere, tablou de clustere de numere, etc 5unctiile care opereaza in general cu
variabile de numerice sunt definite sa accepte ca variabile de intrare tipul polimorf si returneaza la
iesire acelasi tip de data
5unctiile de conversie a variabilelor numerice de tip polimorf, efecuteaza conversia acestora in(
" intreg pe @,6E sau ;9 biti
" intreg fara semne pe @,6E,;9 biti
" real simpla>dubla>extinsa precizie
" complex simpla>dubla>extinsa precizie
" tablou de booleene +codificarea binara.
+ .
" tablou de booleene in numar + .
" boolean in C sau 6 *ntrarea poate fi un scalar, tablou sau cluster de
valori booleene, un tablou de clustere de valori booleene, etc
" siruri de caractere in tablou de octeti+
" tablou de octeti in sir de caractere

"$
" ataseaza unitata de masura(
" schimba unitatea de masura
Gru'ar#a "at#lor 'rin int#rm#"iul )irurilor/ tablourilor/ clu)t#r#lor
)entru gruparea datelor se utilizeaza siruri, tablouri sau clustere 1irurile grupeaza secvente de
caractere 71&** -ablourile grupeaza date de acelasi tip intr"o structura indexata &lusterele
grupeaza date de tipuri diferite
Siruri
/n sir este o secventa 71&** de caractere afisabile sau nu Ele furnizeaza un format independent al
platformei pentru informatii si date 7plicatiile cele mai curente furnizeaza pentru siruri functiile
urmatoare(
&rearea de mesaje

"&
-ransmisia de date numerice sub forma de siruri prin aplicarea functiilor de
conversie a sirurilor in valori numerice
1tocajul de date numerice pe disc )entru scrierea acestora in fisiere 71&**,
trebuie inainte convertite valorile numerice in siruri
&rearea de avertismente>observatii ale utilizatorului prin mesaje ce apar sub
forma cutiilor de dialog
*n panoul frontal, sirurile apar ca tabele, cutii pentru editare de texte si etichete Editarea si
manipularea lor se efectueaza prin paleta de functii 1tring din 5unctii
#efnirea controalelor$indicatoare de tip sir in panoul %rontal
)entru definirea acestora se selecteaza din paleta de comenzi CommandDD(tring01ath. 1e ofera
doua obiecte dedicate introducerii de text sau afisarii de etichete 1e poate defini de asemenea si
obiectul de control 6abel din sub"paleta CommandDD7ist06able 7cest tip de control preia si
trimite in ,iagrama siruri de string
6ipuri de afisare de siruri din meniul local corespunzator obiectului, tipul de afisaj prezentat in
tabelul urmator(
63pe de afisaF Descriere 4esaF
7fisaj normal
7fiseaza caractere imprimabile
cu fontul de ediare &aracterele
neimprimabile sunt
reprezentate prin cutii
7fisarea de coduri LKL
7fiseaza coduri de bare oblice
inverse pentru toate caracterele
neimprimabile
7fisare stil pasword
7fiseaza caracterul LUL pentru
fiecare caracter sau spatiu
UUUUUUUUUUUUUUUUUUUUU
7fisare hexazecimal
7fiseaza val71&** a fiecarui
caracter en hexazecimal in
locul caracterului

"+
&abele
,aca se insereaza in panoul frontal un obiect de control de tip -abel, el corespunde afisajului unui
tablou 9, de siruri 5iecare celula este un sir si este localizata prin indice de linie si coloana
)rezentam mai jos un -abel cu toate componentele(
6" celula indicata prin valorile indicelui
9" antet de coloana
;" bara de defilare verticala
?" bara de defimare pe orizontala
S" antet de linie
E" indice pe orizontala_
B" indice pe verticala
'ditarea sirurilor prin %unctii dedicate
7peland la peleta /onctionDD(tring se pot edita sirurile dupa cum urmeaza(
se cauta, recupereaza sau se inlocuiesc caractere sau sub"siruri intr"un sir
se converteste textul intreg in majuscule sau minuscule
se recupereaza o linie dintr"un sir
se pot deplasa sau inversa texte intr"un sir
se pot concatena unul sau mai multe siruri

".
se pot suprima caractere dintr"un sir
Formatarea sirurilor
)entru utilizarea datelor in alte #*"uri, functii sau aplicatii este necesara conversia datelor intr"un sir
urmata apoi de de formatarea acestuia pentru ca el sa poata fi citit de acel #*, functie sau aplicatie
,e exemplu Excel asteapta siruri care contin delimitatori pe care Excel ii utilizeaza pentru a separa
numere sau cuvinte in celule )entru a scrie un tablou 6, de valori numerice intr"un tabel se
utilizeaza functia de scriere intr"un fisier -abloul va trebui formatat intr"un sir si separata apoi
fiecare valoare numerica printr"un delimitator +de ex -ab.#om exemplifica aceste functii prin
cateva exemple(
:#empul 1 ( convertiti un sir de numere reale intr"un sir de caractere 71&** si unul de caractere
binare

Functia de conversie 1D array intr-un sir este disponibila in Fonction>>Avansate>>Manipulari de date
:#emplul 2 ( prezinta maniera de formatare a subsirurilor unui sir(


"2
Functia de indexare a unui sir multi-linii(este de fapt un singur sir defnit prin linii separate prin return).
Indicele liniei trebuie sa fe scalar, 0 corespunde primei linii.
:#emplul E 1a se gasesca toate numerele dintr"un sir si sa se puna acestea intr"un sir de numere in
simpla precizie

Functia Fract/Exp String aseaza caracterele 0-9, +, -, e, E si '.' intr-un sir de numere reale in simpla precizie.
Variabila 'ofset' indica pozitia in sir de la care se cauta iar variabila 'ofset dupa numar' indica pozitia imediat
vecina numarului ce tocmai se extrage.
sir ofset implicit ofset dupa numar numar Comentarii
-4,7e-3x 0 0 7 -,0047 x nu este autorizat
+5,3,2 0 0 4 5,3 un al doilea separator
zecimal ne find autorizat
conversia se operste aici.

$5
1e utilizeaza functia care cauta o expresie intr"un sir si care returneaza sub"sirul precedente si cel ce
urmeaza secventei gasite, precum si sirul cautat ,e asemenea functia returneaza LoffsetulL ce
urmeaza dupa gasirea unei corespondente , respectiv pozitia in sir de la care se poate continua
cautarea
:#emplul "E sa se construiasca un #* care sa elimine spatiile goale dintr"un sir preluat de la
utilizator ,aca expresia incepe cu L+L urmata de operatorul LTL se elimina operatorul iar daca este
urmata de operatorul L"L se insereza un LCL(


$1
Functii pentru (ariabile de tip )! arra* $tablouri cu (ariabile inde&ate%
!d) turneaza numarul de elemente pe fiecare dimensiune a unui arraF *ntrarea poate fi un arraF n"
dimensional de orice tip
Indexarea unui tablou
!eturneaza un element sau sub"arraF aflat la indicele precizat ,aca un indice nu este cablat se
poate asimila cu formularea Aindiferent de linia xA 5unctia se redimensioneaza automat pentru a
afisa dimensiunile tabloului 5unctia se poate dimensiona si manual pentru a afisa anumite
dimensiuni si pentru a putea avea acces la mai multe elemente dintr"o singura operatie

$2
,efineste un n"tablou n"dimensional in care fiecare dimensiune este initializata printr"un emelent
introdus pe prima pozitie a functieiEx( ,
&onstruieste un tablou cu n dimensiuni *ntrarile sunt concatenate in ordine +aduugate sau lipite in
continuare. ,aca intrarile sunt identice +n"dimensiuni. si daca se doreste construirea unui tablou de
dimensiune n, se activeaza Aconcatenarea intrarilorA din meniul local al functiei sau se dezactiveaza
optiunea pentru a se obtine un tablou de dimensiune +nT6. %a activarea concatenarii functia
sugereaza vizual concatenarea prin imaginea ( iar la dezactivarea ei functia capata aspectul
care indica faptul ca fiecare element este asociat unei coloane Ex(
sau exemplul care propune construirea unui vector de numere pozitive sau negative(

$
!eturneaza un sub"tablou 9, incepand de la un anumit index si continand un numar de elemente de
lungime n 7rraF"ul poate fi n"dimensional si de orice tip 5unctia poate fi automat redimensionata
ca sa contina unul sau mai multi indecsi>lungimea vectorului din pozitia respectiva
!earanjeaza elementele 9, intr"un arraF inlocuind in pozitiile Mi, jN valorile din pozitiile Mj,iN
:pertia este transpunerea de matrice cunoscuta in algebra matriceala
1terge un element sau sub"arraF incepand de la un anumit index si de lungime precizata 5unctia
returneaza sub"arraFul rezultant precum si pe cel sters5unctia poate fi automat redimensionata
pentru a arata indici pentru fiecare intrare 1e pot face stregeri consecutive

$"
!oteste elementele unui vector cu numarul de pozitii si in directia indicata la argumentul de intrare
n ,aca < este pozitiv, ultimele n elemente sunt asezate la intrare ,aca < este negativ, primele <
elemente sunt puse la sfarsitul vectorului
&auta un element in tablou incepand cu un indice de pornire LElementulL si Lindicele de pornireL
trebuie sa fie variabile scalare#aloarea implicita a indicelui este C iar terminalul sau nu este cablat
5unctia returneaza "6 daca functia nu gaseste elementul
Functii pentru (ariabile de tip cluster
&lusterele sunte echivalente variabilelor de tip structura din alte limbaje de programare Ele
grupeaza elemente reprezentand date de tip diferit sub forma unui fascicol de fire de lagatura +ca si
cabul telefonic. in care fiecare fir din cablu reprezinta un element distinct al clusterului
Crearea controalalor Gcomen,iH sau indicatoarelor cluster
1e poate crea o comanda sau indicator cluster in interfata combinand o anvelopa de cluster +un
cadru care va integra componente adaugate prin Ldrag and dropL. cu obiecte sau elemente valide care
pot fi combinatii de controlale>indicatori booleene, siruri, harti, grafice, scalari, tablouri sau alte
clustere 1e va selecta din ControlsDD6able0Cluster un obiect &luster 4anevra va plasa in
)anoul frontal o cutie vida care poate fi LumplutaL cu componentele pe care dorim sa le asamblam
intr"o variabila unica )rin tragere se vor deplasa in aria vida a clusterului comenzi sai indicatoare
de diferite tipuri
(bs: daca se deplaseaza prin tragere o comanda sau indicator in -iagrama ea se va transforma
intr$o constanta corespunzatoare tipului de date deplasat1 ;cesata este o sugestie de a crea diferite
tipuri de constante necesare in -iagrama prin exploatarea tehnicilor de constructie a variabilelor
in Panoul Frontal1

$$
8samblarea elementelor in cluster
7samblarea elementelor intr"o variabila de tip cluster permite crearea clusterelor prin functii
dedicate( se selectioneaza functia 9undle din /unctionDDCluster 5unctia plasata in ,iagrama se
poate redimensiona la un numar de intrari echivalent cu numarul componentelor clusterului 1e vor
cabla terminalele controalelor din interfata sau alte variabile create in ,iagrama:rdinea in care se
vor cabla elementele in cluster reprezinta si ordinea lor in cluster )aleta de functii dedicate
variabilei cluster ofera de asemenea functii pentru construirea unui tablou de clustere +pe
fiecare pozitie se cableaza o variabila scalara. dar si de indexare si asamblare a unui tablou de
clustere +la nivel de element se pot cabla vectori care vor fi reasezati in clustere elementare0
fiecare cluster este definit de elementele vectorilor aflati pe aceeasi pozitie.


$&
,eoarece se pot genera variabile cluster de tip vector sau tablou sunt diponibile si fuctii de
conversie din cluster in arraF si invers
*edimensionarea unui cluster
)entru a defini un cluster cu un numar variabil de intrari se poate redimensiona talia functiei de
asamblare a unui cluster, in conditiile in care am trecut in regim de editare, prin redimensionarea
cadrului care delimiteaza functia 'undle %a fel de bine de poate accesa meniul local al functiei
L'undleL care ofera optiunea de L7dd > !emove *nputL
Definirea =alorilor clusterului ca implicite
)rin definirea in )anoul 5rontal a unui cluster, in ,iagrama va fi inserat automat terminalul
corespunzator acestei variabile )rin accesarea din meniului local al acestei variabile a functiei
L7dvanceL se poate fixa valoarea actuala din interfata ca implicita :data initializata aceasta valoare
ca implicita, atunci cand e necesar acelasi meniul local ofera reinstantierea variabilei actuale a
clusterului la cea definita ca implicita
De,asamblarea elementelor clusterului
)rin actiunea inversa oferita de /unctionDDClusterDDInbundle se poate dezasambla o variabila
cluster in componentele sale /lterior acestea se pot cabla la alte #*"uri, functii si indicatoare 1e
pot dezasambla elementele clusterului dupa nume, dupa cum exista si functia duala de asamblare
1e pot de asemenea dezasambla si modifica variabilele unui cluster daca se cableaza acesata
variabila la conectorul din mijloc al unei functii de dezasamblare cluster

5unctia de asamblare dupa nume de fapt re"asambleaza componentele unui cluster simplu &lusterul
de intrare trebuie sa fie mereu cablat

$+
*n sinteza functiile care lucreaza cu variabile de tip cluster sunt(
5 descompune un cluster in componente individiale 5 este
redimensionabila Ea aranjeaza componentele de sus in jos dupa ordinea in care au fost adaugate in
clusterul initial
5 compune +asambleaza. intr"un singur cluster sau
inlocuieste +editeaza. componentele unui cluster existent 5 este redimensionabila ,aca este
conectata un cluster la intrare numai componentele pe care dorim sa le modificam trebuie conectate
!eturneaza elementele unui cluster cu specificarea
numelui acestora 5 este redimensionabila deci se poate extinde iesirea astfel incat sa se vada toate
elementele clusterului
Editeaza componentele unui cluster dupa
nume &lusterul de intrare trebuie sa fie intotdeaune conectat ,upa conectare va fi disponibila o
lista cu cu numele terminalelor care corespund componentelor clusterului

$.
7sambleza toate componentele intr"un arraF de cluster
5iecare componenta este compusa din componente cluster -oate intrarile trebuie sa fie de acelasi
tip 5 este redimensionabila
&reaza un arraF de clustere in care ficare element
este un grup care corespunde elementelor de ordin i ale fiecaruia din variabilele arraF de intrare Ex(
pentru doua variabile arraF ( +6,9,;. si +?,S,E. se va obtine variabila arra3 GJ1,"K,J2,$K,J,&KH
&onverteste un cluster de componente identice intr"un 6, arraF de
elemente de acelasi tip &omponentele intrarii pot sa nu fie de tip arraF Elementele iesirii sunt de
acelasi tip ca cele ale intrarii
&onverteste un 6, arraF intr"un cluster in care fiecare element este
de acelasi tip cu elementele arraFului de intrare
&emple pentru utili+area (ariabilelor cluster si arra*
:#emplul 1E !eprezentari grafice multiple
Sa se defneasca un VI care sa permita vizualizarea a doua semnale pe acelasi grafc.

:#emplul 2E 1terge harti si grafice

$2
1a se defineasca un #* care sa permita reprezentarea grafica a unor semnale sinus si cosinus pe harti
+vizualizare instantantanee a fiecarui punct. si grafice #i"ul sa ofere printr"un control logic
optiunea de stergere a tuturor reprezentarilor sau de oprire a celor de temporale
Obs: reprezentarile pe indicatoare de tip Chart (grafc derulant sau temporar), retine datele intr-un bufer pa
care il putem accesa din Proprietatile Nodului si optiunea History Data. Se va deschide Help de context care
pentru ofera informatii complete despre tipul de date acceptat de un terminal. In acest mod se va putea
identifca tipul de data corespunzator proprietatii History Data:
Deosebit de utila este functia de initializare a unui tablou . Ea pune la nivel de element tipul de data
(de exemplu o constanta sau un cluster de constante dupa cum dorim sa fe tipul variabilei de iesire. Cel
de-al doilea parametru reprezinta numarul de elemente pentru dimensiunea 0 (daca punem 0 se va crea o
matrice cu 0 elemente pe prima linie care are indicele i=0). Functia poate f redimensionata deci adaugate
noi dimensiuni si lungimile lor.
Exemplul 2 : sa se defnesaca un VI care sa afseze numere prin reprezetari de tip harta derulanta (sau
grafc temporar chart) sau pe grafce cu originea in 0 si incrementul pe x de 0.1. VI-ul sa permita oprirea
tuturor reprezentarilor grafce si sa ofere un control boolean pentru stregerea grafcelor derulante.


&5
,unctii '#ntru )c(imb "# "at# cu fi)i#r# 0 ,unctii "# I1O '# fi)i#r#
Functii de ni(el inalt,
5unctii situate in primul rand din paleta /unctionsL/ile I>? care permit realizarea operatiilor de
scriere>citire a urmatoarelor tipuri de date(

&1
` caractere intr"un sau dintr"un fisier text
` linii dintr"un fisier text
` tablouri 6, sau 9, de date numerice in in simpla precizie dintr"un fisier text
spreadsheet
` tablouri 6, sau 9, of de date numerice in in simpla precizie sau intregi cu
semn pe 6E biti dintr"un fisier binar
5unctiile de nivel inalt sunt de fapt macrofunctii care incorporeaza in acelasi #* functiile elementare
pentru(
" selectare a caii pentru creare>deschidere fisier
" deschiderea efectiva sau crearea>salvare a unui fisier nou
" setarea unui anumit tip de data +text sau spread"sheet.
" scriere>citire efectiva
" inchidere de fisier
Ele au ca argumente de intrare variabile ca (
" variabila path +si nu numref ca pentru cele de nivel scazut. sau determinarea sa prin dialog
cu utilizatorul
" tipuri de date +6,,9,,string.0 pentru fisiere spread"sheet datele sunt variabile de tip
numeric 6, sau 9, care sunt convertite in stringuri 0 pentru cele text ele sunt de tip string
" tipul de scriere +ex ( append ->5.
" formatul numerelor
:'1 ( aceste macrofunctii nu au functia de tratare a erorii Ea este definita pentru functiile
elementare care valideaza sau nu continuarea executiei unui set de functii individuale care
functioneaza in tandem 7ceste isi valideaza succesul individial prin mesajul pozitiv de lipsa a erorii
si prin transmiterea la urmatoarea functie elementara a aceleiasi variabile de intrare care este una de
tip refnum17cesta variabila conserva calea si numele fisierului, tipul de acces al citirii>scrierii, ect
1e pot salva timpul +momentul accesului citire>scriere. si rezultatele programarii utilizand functiile
de nivel inalt pentru scriere si citire din fisiere Ele permit operatii de citire sau scriere pe langa
operatiile de deschidere si inchidere de fisier 7ceste functii solicita un fisier de intrare si o cale
precizata ,aca nu este precizata calea si fisierul o cutie de dialog apare pentru specificare
interactiva 7ceste functii au incorporata functia de tratare a erorii de scriere>citire1e poate opri
executia sau continua

&2
Functii de ni(el sca+ut $sunt functii indi(iduale% ,
5unctiile situate in randul mijloc al 5unctionsa5ile *>:
5unctiile avansate localizate in 5unctionsa5ile *>:a7dvanced 5ile 5unctions,
permit realizarea operatiilor indi=iduale (
` creare de directoare
` move, copF, sau delete fisiere
` listarea continutului unui director
` schimbarea caracteristicilor unui fisier
` manipularea de pathuri
"legerea formatului de I-O File $tip de fisier%
,atele se pot citi > scrie din urmatoarele tipuri de fisire(
text +string simplu sau string formatat de tip spread"sheet."71&**
binar
datalog
7legerea formatului depinde de datele care se achizitioneaza sau creaza si de aplicatia care va avea
aces la date )utem face urmatoare observatii cu privire la tipul de fisier utilizat (
o ,aca se doreste accesarea datele in alte aplicatii, cum ar fi Excel, se creaza>deschid
fisiere text deoarece au cel mai comun si portabil format
o ,aca este necesara citirea>scrierea datelor +actiuni de conservare a datelor. fara sa fie
necesar un format anumit insa spatiul compact pe disc sa fie un criteriu important atunci
se utilizeaza fisiere binare care sunt mai eficiente decat cele text din punctul de vedere al
spatiului pe disc si al vitezei de acces
o ,aca se doreste manipularea de inregistrari complexe formate din tipuri compuse de date
din labview, se utilizeaza datalog deoarece sunt cel mai bun mod de a stoca date care sa
fie accesibile numai in>din labview -ipurile de date care se manipuleaza sunt de tip
structura
*n sub"paleta de functii avansate sunt functii elementare +inchidere>deschidere>creare >
scriere>citire>close. orientate pentru tipuri speciale de date ( datalog

&
:bs( atentie la urmatoarele tipuri de date(

Ele sunt tipuri de date care indica calea de cautare a unui fisier +deci calea nu va fi variabila
string ci aceasta de tip special sau dedicata. (
)entru variabila de tip fisier +in care se scriu sau din care se citesc date. daca s"au precizat
calea, numele fisierului +poate fi un new. tipul de acces la date +append, new. se creaza o
variabila speciala care retine aceste referinte fixate Ea se numeste b referinta numerica a
si va fi variablia care paseaza de la o functie elementara +sau functie care executa
actiuni individuale cum sunt ( open, new, read, write, close. datele de referinta ale fisierului
in lucru
7ceste tipuri de date sunt specifice atunci cand se lucreaza cu functii dedicate lucrului cu fisiere
*>:
,unctii "# ac(i2iti# "# "at#
)ermit achizitia>comanda marimilor de proces prin functii dedicate Ele pot achizitiona>commanda (
marimi analogice care corespund unei tensiuni echivalente a marimii fizice
masurate>comandate
marimi binare care corespund datelor cu acest tip de reprezentare

&"
5unctie de complexitatea actiunii de achizitie>commanda aceste functii se pot clasifica astfel (
functii simple +easF. ( ele sunt pozitionate in prima linie a paletei cu functii de
achizitie Ele permit efectuarea actiunilor simple de achizitie +singulara si
necontinua. a uneia sau mai multor marimi fizice, prin achizitionarea simple a unei
singure valoari sau a unui pachet de citiri )entru achizitionarea unei singure marimi
analogice functia efectueaza achizitia pe un singur canal dedicat citirii acelei
marimi )entru achizitionarea mai multor marimi fizice, functia va lucra cu mai
multe canale dedicate respectiv marimilor monitorizate
,eoarece achizitia prin aceste functii efectueaza citiri singulare, plasarea lor intr"o
bucla 5or poate conduce la o actiune de achizitie continua -impul de achizitie este
impus de viteza de executie a unui ciclu deci este un timp determinat soft"ware
7ceste functii se pot utiliza pentru achizitia marimilor care nu prezinta variatie
rapida in timp )entru a intarzia executia unui ciclu de achizitite deci pentruu a evita
citirea cu viteza prea mare a unei marimi +marimea pe perioade mari de timp ramane
constanta. se va intarzia executia buclei de achizitie cu functii de timp dedicate
+ 8ait. care ii impun viteza de executie a unui ciclu
functii intermediare ( sunt situate in linia a doua a paletei cu functii ,7O Ele
executa tas2uri elementare ale actiunii complexe de achizitie a unei sau mai multor
marimi 7ceste functii permit si achizitia continua de date cu o marime precizata a
vitezei de achizitie *n cazul achizitiei continui datele sunt depuse contiunuu intr"un
buffer de memorie 4odul in care se scriu>citesc datele in buffer poate fi setat la
continuu insa cu precizarea ca trebuie efectuate verificari soft"ware +concepute sub"
viuri. astfel incat scrierea sa nu fie mai rapida decat prelucrarea de date pentru a
evita pierderea datelor inca neprelucrate 5unctia de achizitie presupune
configurarea placii, a canalului>lelor de achizitie si eventual a bufferului de memorie
dedicat stocarii de date +functia &onfig este dedicata executarii de setari hard"ware.,
7ceste configurari sunt efectuate de functia dedicata 8I Config : alta functie
seteaza viteza de scanare prin numar de esantioane>secunda si numar de scanari de
efecuat +impreuna aceste doua setari precizeaza talia sau volumul de date de
achizitionat., functia 8I (tart 5unctia dedicata citire>scriere preia date sau depune
date analogice>binare pe canalul de achizitie sau comanda 5unctia 8I Clear sterge
buffrul de memorie da datele ramase si incheie procesul de achizitie>comanda
7ceste functii elemantare lucreaza in linie sau tandem Ele paseza de la una la
cealalta variabila b tasl *, a " identificator de tas2 care poate fi C sau 6 ,e
asemenea o variabila cluster care trateaza aparitia unei erori este pasata in lantul de
functii inseriate ,aca tas2 ID este 6 iar variabila error este :c functiile
elementare isi executa sarcina Este recomandat ca functiile de configurare sa
ramana in exteriorul unei eventuale structuri de control daca aceata este utilizata *n
structura poate functiona numai functia de citire sau scriere de date precum si #i ^ul
prin care ne propunem prelucrarea lor )rezenta acestor functilor de
achizitie>comanda si prelucrare in interiorul structurii conduce la viteze diferite intre
cea de achizitie +care este specifica placii de achizitie deci timpul de achizitie are
caracteristica hard"ware. si cea de citire din buffer care va avea o viteza determinta
de rapiditatea executiei unui ciclu al structurii #iteza de citire din buffer si
prelucrarea sunt determinate de o variabila de timp soft"ware &ele doua actiuni de

&$
achizitie si citire>scriere fiind asincrone, se impun teste de verificare pentru a nu
pierde date atat printr"o achizitie prea rapida si o prelucrare prea lentagrafic
:# E
functii a=ansate ( sunt functii unice care executa actiuni echivalente cu cele
efectuate de setul de functii intremediare sau de una din functiile simple Ele insa
sunt astfel concepute incat sa solicite ca argumente de intrare setarile hard"ware ale
achizitiei si sa efectueze aciuni singulare sau continui de achizitie>commanda
,iferenta consta in aceea ca un astfel #*, odata plasat in intreiorul unei structuri va
prelua date de configurare numai la prima iteratie %a iteratiile urmatoare, chiar daca
aparent #* ^ul fiind plasat in interiorul ciclului unei structuri ar !d)"efectua
configurarea hard"ware a placii, acesta este ignorata deoarece datele s"au preluat la
prima iteratie ,ate achizitionate de functiile avansate sunt returnate in formatul
special arraF de waveform (

&&
unde un (
?bsE utilizarea functiilor de achizitie evidentiaza utilizarea unui alt tip special de variabila +alaturi
de variabila waveform prezentata.( variabila dnume canal *>:e care se colecteaza printr"un control
specific(
al carui terminal este (
Controlul a'licatiilor 'rin 'rogramar#0 ,unctii "# comunicatii0
Noduri de proprietati si metode
<odurile de )roprietati definesc sau returneaza informatii despre un #*, un obiect al unui #* sau
proprietatile unei aplicatii %ab#iew propune si alte doua noduri ( noduri de proprietati #*17 si <od
de proprietati 7ctiv D

&+
)entru a selecta un #*, un obiect apartinand unui #* sau o clasa de aplicatii, se va accesa din meniul
local al <odului de proprietati o clasa %ab#iew ,aca in diagrama exista o variabila <um!ef
corespunzatoare clasei ale carei proprietati sau metode vor fi vizualizate>editate, se va cabla la
<odul de proprietati pe conecorul care cere variabila de tip <um!Ef <odul se va adapta la clasa de
obiecte la care este cablat

4ai multe detalii despre aceste functii se vor prezenta in sectiunea ( &ontrolul aplicatiilor prin
programare

&.

&2
Functii "cti( ./ functii pentru controlul acti( al aplicatiilor

+5

+1
Functii de comunicatie prin protocolul TCP-IP
:#emplul 1E 1imple ,ata 1ervervi
Simple Data Server write a double precision array of a specifed waveform type to the given TCP port. It
does not provide any mechanism to halt the server or the client.
1imple ,ata &lientvi
Simple Data Client.vi reads a double precision array from a specifed host and port and displays that array on
a chart. It does not provide any mechanism to tell the server when to halt other than to close the connection.

+2
Exemplul 2: sa se defneasca un server pentru un client care comanda un motor pas cu pas (alimentare
sens si numar de pasi).
server test.vi

+
Client test.vi

+"
4))vi


+$

+&

Anda mungkin juga menyukai