Sunteți pe pagina 1din 14

LUCRAREA NR.

Tipuri de controale şi indicatoare în LabVIEW

1. Lista de comenzi Controls

Fereastra panou (Panel) a unui instrument virtual (VI) se


construieşte prin folosirea a două tipuri principale de obiecte: obiecte
de intrare (controale) şi obiecte de ieşire (indicatoare). Controalele şi
indicatoarele reprezintă terminalele interactive de intrare şi de ieşire.
După amplasarea acestor obiecte în fereastra panou, ele pot fi
adaptate la aplicaţie prin modificarea formei, scării şi aspectului prin
intermediul unui ansamblu de comenzi.
Obiectele de intrare şi de ieşire se pot selecta din meniul
Controls, prezentat în prima lucrare de laborator. După selectarea cu
ajutorul mouse-ului, obiectele se introduc în fereastra panou printr-un
simplu clic al mouse-ului. Între cele două ferestre (Panou frontal şi
Diagramă) există o relaţie directă, în sensul că oricărui obiect de
intrare/ieşire din panoul frontal îi corespunde un control/indicator
numeric din diagramă. Prin urmare, aceste controale şi indicatoare vor
apare şi în fereastra Diagram a aplicaţiei. Modul în care o parte din
obiectele de intrare/ieşire apar în diagrama bloc este prezentat în
Fig.1.
Deoarece pot exista aplicaţii cu un număr mare de obiecte de
intrare şi de ieşire a căror identificare devine dificilă, se poate ataşa o
etichetă la fiecare obiect. Modul de etichetare a fost deja prezentat la
editarea unui VI.
În ceea ce priveşte tipurile de date manevrate de LabVIEW
acestea sunt de tip boolean şi numeric. Variabilele booleene sunt
întregi pe 16 biţi, în care cel mai semnificativ bit (al 15-lea) conţine
variabila booleană: 1 adevărat (T-true) şi 0 fals (F-false).
Tipurile de date numerice sunt prezentate în Tabelul 1 şi se
referă la modul de reprezentare a constantelor întregi, reale sau
complexe, prezentate în Fig. 2.
Modul de reprezentare a datelor numerice în virgulă flotantă
este prezentat în Fig. 3.

35
Fig. 1. Tipuri de controale şi indicatoare – reprezentare în Diagram
Crearea controalelor şi indicatoarelor se face cu ajutorul
comenzilor din meniul Controls. Lista de comenzi cuprinde
instrumente pentru crearea unor obiecte de intrare/ieşire (controale/
indicatoare) de următoarele tipuri:
- Numeric: Obiecte (denumite şi aparate) de intrare şi de
ieşire numerice
- Boolean: Obiecte de intrare şi de ieşire de tip boolean
- String & Table: Controale şi indicatoare de tip şir de
caractere sau de tip tabel
- List & Ring: Controale şi indicatoare de tip liste şi inele
- Array & Cluster: Obiecte de tip vectorial sau matriceal
(Array) sau grupuri de mai multe tipuri de variabile
(Cluster)

36
- Graph: Simboluri grafice pentru afişaje bidimensionale de
tip formă de undă sau indicatoare de tip XY
- Path & Refnum: Simboluri grafice utilizate pentru
definirea căilor de acces sau a unor instrumente specifice
- Decorations: Simboluri utilizate pentru estetica panoului
frontal
- User control: Obiecte definite de utilizator
- Select a Control: Deschiderea unui obiect definit de
utilizator

Fig. 2. Tipuri de reprezentare a datelor

Fig. 3. Moduri de reprezentare în virgulă flotantă


37
Tabelul 1.
Tip de dată Reprezentare
EXT (Extended) 10 octeţi = 80 biţi (precizie-extinsă 80287)
DBL (Double) 8 octeţi = 64 biţi (virgulă flotantă standard în
LabVIEW)
SGL (Single) 4 octeţi = 32 biţi (virgulă flotantă precizie
simplă)
I32 (Long Integer) 4 octeţi = 32 biţi (număr întreg cu semn)
I16 2 octeţi = 16 biţi (cuvânt, număr întreg cu semn)
I8 1 octet = 8 biţi (byte, număr întreg cu semn)
U32 4 octeţi = 32 biţi (număr întreg fără semn)
U16 2 octeţi = 16 biţi (cuvânt, număr întreg fără
semn)
U8 1 octet = 8 biţi (byte, număr întreg fără semn)
CXT Număr complex precizie extinsă: 2 x 10 octeţi
CDB Număr complex precizie dublă: 2 x 8 octeţi
CSG Număr complex precizie simplă: 2 x 4 octeţi

Reprezentarea obiectelor în fereastra panou precum şi


modificarea lor se poate realiza cu ajutorul meniurilor aparente
specifice fiecărui obiect creat (de exemplu cu clic pe butonul drept al
mouse-ului atunci când instrumentul de poziţionare este fixat pe
obiectul respectiv). Controalele şi indicatoarele au meniuri specifice în
funcţie de tipul obiectului. În continuare vor fi prezentate câteva din
tipurile de controale şi indicatoare.

2. Controale şi indicatoare numerice


Prin selectarea submeniului Numeric din meniul Controls va
apare o paletă cu controalele şi indicatoarele numerice. Poziţionând
săgeata de selecţie peste un obiect al paletei, o frontieră de formă
dreptunghiulară va înconjura obiectul selectat, iar numele obiectului
va apare în partea de sus a paletei. Dacă se execută clic cu mouse-ul
pe obiectul dorit controlul sau indicatorul selectat va apare în panoul
frontal şi terminalul corespunzător va apare în diagrama bloc.
Modul de selectare şi configurarea pe panoul frontal pentru un
control şi un indicator de tip digital (care sunt cele mai simple obiecte
numerice în LabVIEW) din meniul Numeric sunt ilustrate în Fig. 4.

38
Fig. 4. Selectarea unui control şi a unui indicator numeric digital
Controalele digitale sunt cel mai simplu mod de introducere a
datelor numerice în LabVIEW. Pentru modificarea domeniului unui
astfel de control se poate da un clic cu instrumentul de operare (din
meniul Tools) după care se introduce noul număr de la tastatură sau se
pot utiliza săgeţile de incrementare şi decrementare. Noua valoare
introdusă de la tastatură o înlocuieşte pe cea anterioară în momentul în
care se apasă tasta Enter sau se dă un clic în afara obiectului.
Controalele numerice acceptă doar cifre zecimale, un punct
zecimal şi termenii Inf (infinit) şi NaN (not a number). Dacă limitele
de reprezentare sunt depăşite, LabVIEW-ul trunchiază numărul la
limita de reprezentare a tipului respectiv. De exemplu, dacă se
introduce 1234 într-un control setat pentru "byte integer" (întreg pe un
octet), LabVIEW-ul forţează numărul la 127. Dacă se introduc valori
non-numerice eronate ca NN în loc de NaN sau Ifn în loc de Inf,
LabVIEW-ul le ignoră şi foloseşte valoarea anterioară.
Numerele pot deveni mai mari decât lăţimea câmpului
(ferestrei) de afişare, o parte din cifre devenind invizibile. În acest caz
pentru vizualizarea întregului număr se face controlul mai mare pe
orizontală.

39
Datele de tip întreg cu şi fără semn se pot afişa în
hexazecimal, octal sau binar. Pentru a schimba forma de afişare se
selectează Show/Radix din submeniul Show al meniului aparent.
Se poate opta pentru una din cele 12 reprezentări ale unui
control sau indicator numeric folosind opţiunea Representation din
meniul aparent (derulant) al controlului sau indicatorului (vezi Fig. 2).
Se poate alege între reprezentările din Tabelul 1. Fiecare reprezentare
are limite naturale minimă şi maximă. De exemplu, numerele întregi
cu semn de tip "byte" sunt limitate de valorile -128 şi 127. Se pot
alege alte limite în afara celor naturale cu opţiunea "Data Range..." din
meniul aparent.
În setările lor implicite, display-urile digitale au două cifre de
precizie fracţională, adică sunt afişate două cifre în dreapta punctului
zecimal. Această precizie poate fi modificată între 0 şi 20 de cifre.
Precizia selectată afectează doar valoarea afişată, acurateţea internă
depinzând de reprezentare. De asemenea notaţia poate fi zecimală,
ştiinţifică sau inginerească aşa cum arată figura următoare.

Fig. 5. Reprezentarea zecimală, ştiinţifică şi inginerească a numerelor


pe displayul controalelor şi indicatoarelor
Alte tipuri de controale şi indicatoare numerice sunt cele de
tip lamelă (slide) (sau potenţiometru liniar). Acestea au un display
digital ce poate fi utilizat pentru introducerea datelor (Fig. 6 şi Fig. 7).
Un obiect de acest tip este format dintr-o parte mobilă ce arată
valoarea controlului sau indicatorului, o parte fixă de-a lungul căreia
se deplasează partea mobilă, o scală pentru indicarea valorilor şi două
butoane de formă triunghiulară pentru incrementare şi decrementare.
Scala poate fi cu sau fără linii de marcare a valorilor, cu sau fără valori
numerice sau poate fi ascunsă. De asemenea scala poate fi gradată
liniar sau logaritmic.

40
Fig. 6. Controale şi indicatoare de tip Slide Vertical

Fig. 7. Controale şi indicatoare de tip Slide Orizontal

41
Controalele şi indicatoarele numerice de formă circulară au
aceleaşi opţiuni cu cele de tip lamelă şi sunt prezentate în Fig. 8.

Fig. 8. Controale şi indicatoare de tip circular

3. Controale şi indicatoare de tip boolean

Controalele şi indicatoarele booleene sunt disponibile din


submeniul Boolean al meniului Controls. Controalele booleene
simulează acţionarea mecanică prin butoane, întrerupătoare şi
comutatoare de tip lamelă, iar indicatoarele booleene simulează LED-
urile. Apăsând pe un control boolean cu instrumentul de operare
acesta îşi modifică starea între TRUE sau FALSE. În modul "run",
apăsarea unui indicator nu are nici un efect, pe când în modul "edit"
acesta se schimbă între off şi on.
Fiecare control sau indicator boolean are un set de atribute
implicite care pot fi modificate de utilizator prin meniul aparent al
obiectelor respective, meniu prezentat în Fig. 10.
Dacă se doreşte oprirea unui VI dacă nu este îndeplinită o
anumită condiţie, se selectează "Suspend if true" sau "Suspend if
false" din submeniul Data Range al meniului aparent.

42
Fig. 9. Selectarea unui control sau indicator boolean

Fig. 10. Meniul aparent al unui control (indicator) boolean

43
Pentru detectarea erorilor în cazul unor variabile booleene se
selectează "Suspend if false" din submeniul Data Range când se
aşteaptă ca valoarea unei variabile să fie sigur TRUE şi "Suspend if
true" când această valoare trebuie să fie FALSE. Dacă apare o valoare
booleană neaşteptată, VI-ul este oprit înainte sau după executarea lui
în funcţie de opţiunea "Suspend" a domeniului numeric.
Câteva controale din submeniul Boolean au etichete booleene.
Iniţial, butoanele afişează cuvântul "ON" în starea TRUE şi "OFF" în
starea FALSE. În modul "edit", folosind instrumentul de etichetare se
poate modifica textul, de exemplu se poate scrie YES în loc de ON.
Implicit, textul este centrat pe buton. Dacă se doreşte mutarea textului,
se selectează "Release Text" din meniul aparent al obiectului. De notat
că "Release Text" este apoi înlocuit în meniul aparent cu "Lock Text
in Center". Apoi, folosind instrumentul de poziţionare se
repoziţionează textul sau se alege opţiunea "Lock Text in Center".
Mărimea şi culoarea textului boolean pot fi modificate. Obiectele
booleene care nu sunt etichetate cu această proprietate „în mod
implicit” pot fi etichetate selectând "Boolean Text" din submeniul
Show.
Controalele booleene au şase tipuri de acţionare mecanică;
acţionarea corespunzătoare aplicaţiei poate fi selectată din meniul
aparent prin paleta "Mechanical Action". În această paletă simbolul M
corespunde mişcării butonului mouse-ului când se acţionează asupra
controlului, simbolul V corespunde valorii de ieşire a controlului iar
RD corespunde momentelor de timp în care VI-ul citeşte controlul.
Acţionarea "Switch When Pressed" modifică valoarea
controlului de fiecare dată când acesta este apăsat cu instrumentul de
operare într-o manieră asemănătoare întrerupătorului unui bec.
Acţionarea nu este afectată de cât de des VI-ul citeşte controlul.
Acţionarea "Switch When Released" modifică valoarea
controlului doar după eliberarea butonului mouse-ului. Acţionarea nu
este afectată de cât de des VI-ul citeşte controlul.
Acţionarea "Switch Until Released" modifică valoarea
controlului când se apasă pe el şi reţine noua valoare până la
eliberarea butonului mouse-ului, moment în care controlul revine la
valoarea iniţială (similar cu soneria de la o uşă). Acţionarea nu este
afectată de cât de des VI-ul citeşte controlul.
Cu acţionarea "Latch When Pressed", controlul îşi modifică
valoarea când se apasă pe el şi reţine noua valoare până când VI-ul îl

44
citeşte o dată după care controlul revine la valoarea iniţială indiferent
dacă butonul mouse-ului este menţinut apăsat sau este eliberat.
Acţionarea este similară unui circuit de întrerupere şi este utilă pentru
oprirea buclelor "While" sau când se doreşte ca un VI să facă ceva
doar când este setat controlul.
Acţionarea "Latch When Released" modifică valoarea
controlului doar după eliberarea butonului mouse-ului. După ce VI-ul
îl citeşte o dată, controlul revine la vechea valoare. Acest lucru
garantează cel puţin o nouă valoare.
Cu acţionarea "Latch Until Released" controlul îşi modifică
valoarea când este apăsat şi o reţine până când VI-ul îl citeşte o dată
sau până când este eliberat butonul mouse-ului. Se pot crea obiecte
booleene proprii importând figuri pentru stările TRUE şi FALSE de la
orice control sau indicator boolean.

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


tabel (String & Table)

Obiectele de tip şir de caractere şi de tip tabel pot fi accesate


din submeniul String & Table al meniului Controls. Un control de tip
şir şi un indicator de tip şir sunt prezentate în Fig. 11.
Se poate introduce sau modifica textul unui control de tip şir
folosind instrumentul de operare sau etichetarea. Ca şi în cazul
controalelor digitale noul text sau textul modificat nu trece în fereastra
diagramă până nu se dă un clic în afara controlului. Apăsând tasta
"Enter" de pe tastatura numerică se trece la rând nou. Când textul
atinge marginea din dreapta a ferestrei de afişare, şirul trece pe linia
următoare începând de la un separator natural cum este spaţiu sau un
caracter tab. Şirurile au caracteristici speciale ce pot fi accesate din
meniul aparent al obiectului respectiv (clic din butonul drept al
mouse-ului atunci când obiectul este selectat) (a se vedea Fig. 11).
Dacă se alege opţiunea "Scrollbar" din submeniul Show, o
bară verticală apare în dreapta controlului sau indicatorului permiţând
vizualizarea textului care nu este vizibil. Această opţiune este utilă
pentru a minimiza spaţiul ocupat pe panoul frontal de controalele de
tip şir ce conţin texte mai mari. Alegând opţiunea "’\’ Codes Display"
din meniul aparent al şirului, LabVIEW-ul interpretează caracterele ce
urmează după backslash (\) ca un cod pentru caracterele neafişabile.
Tabelul 2 arată cum interpretează LabVIEW aceste coduri.

45
Fig. 11. Control şi indicator de tip şir

Tabelul 2. Interpretarea codurilor caracterelor neafişabile


Cod Interpretare LabVIEW
\00 - \FF Valoare hexa a unui caracter pe 8 biţi
\b Backspace (ASCII BS, echivalent cu \08)
\f Formfeed (ASCII FF, echivalent cu \0C)
\n Linie nouă - new line (ASCII LF, echivalent cu \0A)
\r Return (ASCII CR, echivalent cu \0D)
\t Tab (ASCII HT, echivalent cu \09)
\s Spaţiu - space (echivalent cu \20)
\\ Backslash (ASCII \, echivalent cu \5C)

Un tabel este o matrice bidimensională de şiruri. Un tabel are


capete de rând şi coloană care sunt separate de date printr-o margine
subţire. Acestea pot fi introduse când se pune tabelul pe panoul frontal
şi pot fi modificate folosind instrumentul de operare. Ele pot fi scrise
sau citite folosind atributele nodului. Tabelul se selectează şi se
introduce în fereastra panou în aceeaşi manieră ca şi obiectele de tip
şir (submeniul String & Table) – a se vedea Fig. 12.
46
Indexul display-ului arată care celulă este vizibilă în partea
din stânga sus a tabelului. Se poate lucra cu aceşti indecşi ca şi cu cei
ai unei matrice. Se pot modifica dimensiunile tabelului cu
instrumentul de modificare a mărimii, iar dimensiunile rândurilor şi
coloanelor se pot modifica individual, ,,trăgând” de margini cu
instrumentul de poziţionare. Pentru a introduce date rapid se utilizează
tastatura. Se apasă în interiorul unei celule cu instrumentul de operare
sau instrumentul de etichetare şi se introduc datele de la tastatură.
Când se lucrează în modul „Run” sau „Edit” tasta Enter de pe
tastatura alfanumerică va introduce textul şi va muta cursorul în celula
următoare. Tasta Enter de pe tastatura numerică introduce datele şi
încheie primirea altor date.
Apăsând tasta Shift sau Ctrl în timp ce este apăsată o săgeată,
cursorul se mută de la o celulă la alta. Se pot copia de asemenea date
utilizând „Copy Data”, „Cut Data” şi „Paste Data” din submeniul
Data Operation al meniului aparent. Selecţia datelor se face folosind
instrumentul de operare sau etichetarea. Printr-o dublă apăsare se
selectează o celulă iar prin apăsare şi lărgire a frontierelor se poate
selecta un anumit număr de celule, pentru a fi copiate. Se pot, de
asemenea, selecta toate datele dintr-un tabel, toate datele de pe un rând
sau de pe o coloană. Pentru a selecta toate datele din tabel se
poziţionează instrumentul de operare sau instrumentul de etichetare în
colţul din stânga sus al tabelului şi se apasă pe butonul mouse-ului.
Pentru a selecta un rând sau o coloană se poziţionează instrumentul de
operare în stânga rândului, respectiv în partea de sus a coloanei până
apare o săgeată specială după care se apasă butonul mouse-ului.

Fig. 12. Selectarea şi poziţionarea unui obiect de tip tabel

47
5. Temă de laborator

5.1. Să se realizeze un program care calculează expresia:


s = a*b-c, dacă un control boolean ,,flag" = true şi
s = a/b+c, dacă ,,flag" = false.
Indicaţie: Se va utiliza funcţia Select din submeniul
Comparison al meniului Functions.

5.2. Să se modifice reprezentările lui a, b, c şi s din submeniul


Representation şi să se ruleze din nou programul.

5.3. Să se efectueze următoarele calcule:


s = a/0;
s = inf*a;
s = inf*0;
s = a/inf.

5.4. Să se realizeze programe simple care utilizează controale


şi indicatoare de tip lamelă, circulare şi booleene.

5.5. Să se realizeze programe simple care utilizează controale


şi indicatoare de tip şir de caractere şi de tip tabel.

5.6. Pentru programul de la punctul 5.1 să se utilizeze


controale şi indicatoare de tip şir care să implementeze şi să afişeze un
şir de caractere în funcţie de starea „true” sau „false”.
Indicaţie: Se poate utiliza funcţia Select & Append din
submeniul String al meniului Functions.

48

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