instrumentatie virtuala in ingineria electrica(labview)

Upload: florea-marius

Post on 18-Oct-2015

200 views

Category:

Documents


3 download

DESCRIPTION

National Instruments-LabVIewUn ajutor pentru invatarea programului LabViewFolositor pentru toti cei care vor sa invete acest program si nu doar pentru studenti/absolventi de inginerie electrica

TRANSCRIPT

  • CIPRIAN ORNDARU

    INSTRUMENTAIE VIRTUAL N INGINERIA ELECTRIC

    Descrierea CIP a Bibliotecii Naionale

    ORNDARU, CIPRIAN Instrumentaie virtual n ingineria electric / Ciprian orndaru :

    Orizonturi Universitare, 2003 173 p. ; 24 cm. Bibliogr. ISBN

  • CIPRIAN ORNDARU

    INSTRUMENTAIE VIRTUAL

    N INGINERIA ELECTRIC

    EDITURA ORIZONTURI UNIVERSITARE

    TIMIOARA 2003

    Refereni tiinifici

    Prof. univ. dr. ing. GHEORGHE ATANASIU

    Prof. univ. dr. ing. DORIN POPOVICI Universitatea "POLITEHNICA" din Timioara

    Consilier editorial

    Prof.univ.dr.ing. tefan KILYENI

    Tehnoredactare computerizat

    Ciprian ORNDARU Valentina TEF

    Coperta

    Ioana BANCIU

    2003 Editura ORIZONTURI UNIVERSITARE Timioara

  • PREFA

    Prin termenul de Instrumentaie Virtual se nelege utilizarea unui computer, dotat cu echipamente periferice de intrare i ieire specializate, pentru a simula caracteristicile i funcionarea unui instrument sau sistem de msurare, de testare sau de nregistrare a datelor. Instrumentele virtuale fac uz de traductoare i senzori pentru a intra n contact cu mrimea fizic msurat, de eventuale sisteme de condiionare a semnalelor, precum i de circuite pentru conversia analog - digital. Diferena n raport cu sistemele de msurare "clasice" este aceea c de aceast dat toate funciunile de prelucrare i analiz a valorilor msurate, de stocare a acestor informaii i de transmitere a lor ctre utilizatorul uman sunt realizate de ctre computer i nu de ctre aparatura dedicat. Aplicaiile software nlocuiesc astfel componente estimate a reprezenta 80% din circuitele unui aparat de msurare sau testare specializat "clasic".

    Software-ul care realizeaz aceste funciuni posed n majoritatea cazurilor o interfa grafic avnd acelai aspect ca i cel al panoului frontal al unui aparat de msurare. Acesta este motivul pentru care aplicaiile respective sunt numite Instrumente Virtuale. Unul din programele care s-au impus n domeniul instrumentaiei virtuale este realizat de firma National Instruments i se numete LabVIEW. LabVIEW este un program din multe puncte de vedere asemntor cu C, PASCAL, BASIC, sau cu produsul LabWindows al aceleiai firme, National Instruments. Totui LabVIEW difer de toate aceste aplicaii printr-un aspect foarte important: pe cnd celelalte sisteme de programare utilizeaz limbajele bazate pe text pentru a crea linii de cod, LabVIEW folosete un limbaj grafic de programare, G, pentru a crea programe n form de diagrame bloc. LabVIEW, la fel ca i C, PASCAL sau BASIC este un sistem de programare de uz general, cu extinse biblioteci de funcii cu scopul de a realiza cele mai variate tipuri de aplicaii. LabVIEW include biblioteci pentru achiziii de date (GPIB i interfaare cu control serial), instrumente, analiz de date, prezentare i stocare de valori. LabVIEW include de asemenea faciliti identice cu cele ale programelor convenionale. De exemplu pot fi setate, n cadrul programului, puncte de oprire, poate fi amnat execuia unui program pentru a vedea parcursul valorilor de la intrare i pn la ieire, precum i posibilitatea de execuie pas cu pas a programului pentru a facilita o depanare mai uoar a acestuia n cazul apariiei unor erori.

    Programele LabVIEW sunt numite instrumente virtuale pentru c, prin forma lor, precum i prin modul lor de operare imit instrumentaia actual de msur i control. Instrumentele virtuale au o interfa interactiv cu utilizatorul, un cod-surs echivalent i accept o ierarhizare mpreun cu alte instrumente virtuale. Cu toate acestea ele sunt identice cu funcii din limbajele de programare convenionale. Instrumentele virtuale au o structur ierarhic i modular. Acestea pot fi utilizate att ca i programe principale ct i ca subprograme n interiorul altor programe sau subprograme. Un instrument virtual (denumit prescurtat IV, dup denumirea sa n limba englez: Virtual Instrument), utilizat ca subprogram pentru un alt IV este denumit subinstrument virtual (subIV). Icoana i conectorul unui subinstrument virtual lucreaz ca i parametri, astfel nct datele pot fi vehiculate ntre cele dou instrumente virtuale. Avnd n vedere toate aceste faciliti, mediul de programare LabVIEW promoveaz i ader la conceptul de programare modular, n mod asemntor cu mediile de programare ale firmei Borland: C, C++, PASCAL, etc. Prezenta lucrare se adreseaz studenilor n domeniul ingineriei electrice i se dorete a fi un suport pentru curs dar i pentru prile aplicative (laborator, proiect). Lucrarea poate fi util n aceeai msur inginerilor i oricror persoane interesate n domeniul instrumentaiei virtuale i al sistemelor de control i achiziie de date (SCADA). Mulumesc pe aceast cale domnilor Prof.dr.ing. Gheorghe Atanasiu i Prof.dr.ing. Dorin Popovici pentru atenia i rbdarea cu care au recenzat materialul de fa, precum i pentru sugestiile fcute. De asemenea doresc s mulumesc colectivului Laboratorului de Testare Maini Electrice cu Sisteme de Achiziie i Prelucrare a Datelor D109 al Facultii de Electrotehnic din Timioara coordonat de domnul Prof.dr.ing. Marius Biriescu, pentru amabilitatea cu care mi-a pus la dispoziie programul, echipamentele i documentaia aferent, necesare elaborrii acestei lucrri. Toate referirile i aplicaiile prezentate n prezentul volum sunt realizate n versiunea 6.0 a programului LabVIEW.

    Ciprian orndaru

  • CUPRINS 1. INTRODUCERE N LabVIEW....................................................................................9

    1.1. Instrumente virtuale .............................................................................................9 1.2. Mediul de programare LabVIEW...........................................................................11

    1.2.1. Crearea unui nou IV .................................................................................12 1.2.2. ncrcarea unui IV....................................................................................12 1.2.3. Panoul i diagrama Windows .....................................................................13 1.2.4. Meniul principal ........................................................................................16 1.2.5. Paleta de unelte .......................................................................................19 1.2.6. Paleta de comenzi ....................................................................................20 1.2.5. Paleta de funcii........................................................................................21 1.2.7. Salvarea unui IV .......................................................................................23

    1.3. Opiunile de ajutor din LabVIEW..........................................................................25 1.4. Aplicaie .............................................................................................................26

    2. CREAREA, EDITAREA SI DEPANAREA UNUI VI....................................................27 2.1. Crearea unui instrument virtual ...........................................................................27 2.2. Tehnici de editare ...............................................................................................32 2.3. Tehnici de depanare............................................................................................36 2.4. Noduri proprietate ..............................................................................................37 2.5. Aplicaii propuse .................................................................................................40

    3. CREAREA UNUI SubIV ...........................................................................................41 3.1. Idei de baza .......................................................................................................41 3.2. Crearea unei icoane si a unui conector .................................................................41 3.3. Proprietile unui instrument virtual .....................................................................47 3.4. Utilizarea unui IV ca un subIV ............................................................................50 3.5. Crearea unui subIV dintr-o selecie ......................................................................52

    4. BUCLE. REGITRI DE DEPLASARE. CONVERSIE NUMERIC ..............................53 4.1. Bucla WHILE ......................................................................................................53 4.2. Aciunea mecanic a comutatoarelor booleene .....................................................55 4.3. Regitri de deplasare ..........................................................................................56 4.4. Bucla FOR ..........................................................................................................58 4.5. Conversia numeric ............................................................................................60

    5. GRUPURI ................................................................................................................63 5.1. Elemente generale. Crearea grupurilor .................................................................63 5.2. Crearea grupurilor de constante n diagrama bloc. ................................................64 5.3. Ordinea elementelor ntr-un grup.........................................................................66 5.4. Utilizarea grupurilor pentru transferul datelor ntre dou subIV-uri .........................68 5.5. Funcii referitoare la grupuri ................................................................................69

    5.5.1. Realizarea grupurilor.................................................................................69 5.5.2. Descompunerea grupurilor ........................................................................71 5.5.3. Conversia grupurilor. .................................................................................72 5.5.4. Operaii cu grupuri....................................................................................72

    6. MATRICE ................................................................................................................73 6.1. Elemente generale ..............................................................................................73 6.2. Crearea matricelor utiliznd bucle ........................................................................76 6.3. Funcii referitoare la matrice................................................................................78 6.4. Polimorfisme ......................................................................................................81 6.5. Aplicaii propuse .................................................................................................82

    7. DIAGRAME ALE FORMELOR DE UND I GRAFICE .............................................83 7.1. Elemente generale ..............................................................................................83 7.2. Diagrame ale formelor de und............................................................................85 7.3. Grafice 2D..........................................................................................................89 7.4. Grafice numerice ................................................................................................92

    7.5. Grafice 3D ..........................................................................................................92 7.6. Aplicaii propuse .................................................................................................94

    8. STRUCTURI DE TIP CAZ I SECVEN. FORMULA DE CALCUL ...........................95 8.1. Structura de tip caz.............................................................................................95 8.2. Structura de tip secven.....................................................................................97 8.3. Formula de calcul................................................................................................99 9.6. Aplicaii propuse ...............................................................................................104

    9. IRURI I FIIERE DE INTRARE / IEIRE. TABELE ..........................................105 9.1. iruri................................................................................................................105 9.2. Funcii referitoare la iruri .................................................................................108 9.3. Fiiere de intrare / ieire ....................................................................................112 9.4 .Tabele i fiiere de intrare / ieire .......................................................................117 9.5. IV-uri referitoare la fiiere binare .......................................................................121 9.6. Aplicaii propuse ...............................................................................................122

    10. CONFIGURAREA INSTRUMENTULUI VIRTUAL ................................................123 11. ACHIZIIA DE DATE ..........................................................................................129

    11.1. Generaliti...................................................................................................129 11.2. Organizarea IV-urilor pentru achiziia de date .................................................133 11.3. Intrrile analogice.........................................................................................134 11.4. Ieirile analogice...........................................................................................136 11.5. Scanarea mai multor canale de intrri analogice .............................................136 11.6. Aplicaie .......................................................................................................138

    12. VARIABILE LOCALE I GLOBALE ......................................................................141 12.1. Crearea i utilizarea variabilelor locale ............................................................141 12.2. Crearea i utilizarea variabilelor globale ..........................................................147 12.3. Consideraii referitoare la utilizarea variabilelor locale i globale .......................151

    13. BIBLIOTECA MATEMATIC LabVIEW. APLICAII N DOMENIUL INGINERIEI ELECTRICE....................................................................................153 13.1. Prezentare general ......................................................................................153 13.2. Rezolvarea ecuaiilor i a sistemelor de ecuaii difereniale...............................154

    13.2.1. Metoda Runge-Kutta de ordinul 4.............................................................. 155 13.2.2. Metoda Cash Karp de ordinul 5 ................................................................. 156 13.2.3. Metoda Euler............................................................................................ 157 13.2.4. Metoda numeric de rezolvare a ecuaiilor difereniale liniare de ordinul n .. 157 13.2.5. Metoda simbolic de rezolvare a ecuaiilor difereniale liniare de ordinul n .. 158 13.2.6. Metoda numeric de rezolvare a sistemelor de ecuaii difereniale liniare .... 158 13.2.7. Metoda simbolic de rezolvare a sistemelor de ecuaii difereniale liniare..... 159

    13.3. Aplicaii ........................................................................................................159 13.3.1. Generatorul de curent continuu................................................................. 159 13.3.2. Maina de curent continuu cu excitaie separat ........................................ 160 13.3.3. Maina de inducie.................................................................................... 161 13.3.4. Maina sincron cu magnei permaneni.................................................... 163

    13.4. Rezolvarea ecuaiilor difereniale de ordinul doi...............................................165 14. APLICAII N DOMENIUL ELECTRONICII NUMERICE ....................................167

    14.1. Adunarea binar ...........................................................................................167 14.2. Convertorul numeric-analogic ........................................................................169 14.3. Convertorul analog-numeric...........................................................................171 14.4. Celula de afiare numeric cu apte segmente................................................171 14.5. Aplicaie propus ..........................................................................................172

    BIBLIOGRAFIE .........................................................................................................173

  • Capitolul 1 INTRODUCERE N LabVIEW

    1.1. Instrumente virtuale

    Programele LabVIEW sunt denumite instrumente virtuale - IV (n limba englez virtual instruments, prescurtat VIs). Instrumentele virtuale au trei pri principale: panoul frontal, diagrama bloc i pictograma / conectorul. Panoul frontal este mediul prin intermediul cruia utilizatorul seteaz mrimile de intrare i vizualizeaz ieirile din diagrama bloc a instrumentului virtual. Deoarece panoul frontal este analog unui panou frontal al unui instrument real, intrrile sunt denumite comenzi iar ieirile sunt denumite indicatoare. Se pot utiliza o mare varietate de comenzi i indicatoare cum ar fi de exemplu: butoane rotative, ntreruptoare, comutatoare, diagrame, grafice .a.m.d. pentru a face ca panoul frontal s fie uor identificabil i de neles. Un exemplu de panou frontal pentru un instrument virtual Temperature.vi este prezentat n figura 1.1.

    Figura 1.1. Panoul frontal al instrumentului Temperature.vi

    Fiecare panou frontal are o diagram bloc care l nsoete, care este de fapt programul instrumentului virtual. Diagrama bloc se construiete utiliznd limbajul de programare grafic, G. Diagrama bloc poate fi privit ca i codul surs al aplic-aiei. Componentele diagramei bloc reprezint nodurile programului; de exemplu buclele For, structurile de tip Case, funciile aritmetice, .a.m.d. Componentele sunt legate ntre ele pentru a determina circulaia datelor n cadrul diagramei bloc. Diagrama bloc pentru Temperature.vi este prezentat n figura 1.2. Pentru a transforma instrumentul virtual ntr-un obiect (subIV) care poate fi utilizat ca i o subrutin n diagramele bloc ale altor instrumente virtuale se

    utilizeaz pictograma / conectorul. Pictograma reprezint grafic instrumentul virtual n dia-grama bloc a altui instrument. Terminalele conectorului determin unde anume trebuie legate intrrile, respectiv ieirile respectivei subrutine. Terminalele sunt analoage parametrilor subrutinei. Ele corespund comenzilor i indicatoarelor de pe panoul frontal al instrumentului. Figura 1.3 reprezint pictograma i conectorul pentru instrumentul Temperature.vi. Conectorul este de obicei ascuns n spatele pictogramei, pn n momentul n care utilizatorul dorete explicit vizualizarea lui.

    Figura 1.2. Diagrama bloc a instrumentului Temperature.vi

    Figura 1.3. Conectorul i pictograma instrumentului Temperature.vi

    Puterea mediului LabVIEW rezid n natura ierarhic a instrumentelor virtuale. Dup crearea unui instrument virtual, acesta poate fi folosit n diagrama bloc a unui instrument de nivel superior. Practic numrul straturilor din aceast ierarhie este nelimitat. Ca un exemplu, sa privim un instrument virtual care utilizeaz Temperature.vi ca i un subIV n diagrama sa bloc (figura 1.4). Panoul frontal al instrumentului ierarhic superior este prezentat n figur. Temperature.vi, folosit ca i un subIV, colecteaz datele, i apoi instrumentul ierarhic superior traseaz grafic rezultatele. Numrul msurtorilor precum i timpul (ntrzierea) ntre dou msurtori sunt specificate prin intermediul panoului frontal al instrumentului ierarhic superior.

  • Instrumentul virtual ierarhic superior conine subrutina Temperature.vi ntr-o bucl. Instrumentul virtual colecteaz valorile msurate pe perioada fiecrei iteraii a buclei. Dup ce bucla este executat de un numr specificat de ori, instrumentul virtual transfer informaiile ctre instrumentul superior care traseaz graficele pe panoul su frontal. Toate aceste elemente vor fi discutate mai trziu.

    Figura 1.4. Utilizarea IV-ului Temperature.vi ca un subIV

    Cu LabVIEW se poate folosi un IV ca un subIV. Aceast caracteristic face ca diagramele bloc s fie modulare i uor de depanat, neles i ntreinut.

    1.2. Mediul de programare LabVIEW

    Sistemul LabVIEW const n aplicaia LabVIEW i cteva fiiere asociate. n mediul Windows, meniul grupului LabVIEW conine de regul urmtoarele picto-grame:

    Programul LabVIEW, care lanseaz aplicaia executabil Pictograma de dezinstalare LabVIEW Utilitarul NI-DAQ instalat opional

    1.2.1. Crearea unui nou IV La lansarea n execuie a aplicaiei LabVIEW apare fereastra principal (fig.1.5.)

    Figura 1.5. Fereastra principal LabVIEW

    Crearea unui nou instrument virtual se poate face: din fereastra principal LabVIEW selectnd comanda New VI; din meniul unui alt IV deschis deja, selectnd comanda File New VI sau

    utiliznd tastele de scurcircuit Ctrl+N.

    1.2.2. ncrcarea unui IV ncrcarea unui instrument virtual se poate face n mai multe feluri:

  • Figura 1.6. ncrcarea unui IV

    din fereastra principal LabVIEW (figura 1.5) selectnd comanda Open VI. Exist posibilitatea deschiderii IV-urilor recent folosite cu ajutorul sgeii din dreapta opiunii Open VI.

    din meniul altui IV deja deschis, selectnd comanda File Open sau direct, utiliznd tastele de scurtcircuit, Ctrl+O.

    Un instrument virtual poate fi ncrcat direct din directorul curent (figura 1.6), dintr-un alt director sau dintr-o bibliotec (figura 1.7). Biblioteca este vzut de sistemul de operare ca un fiier cu extensia .llb, fiier care conine laolalt mai multe instrumente virtuale.

    Figura 1.7. ncrcarea unui IV dintr-o bibliotec

    1.2.3. Panoul i diagrama Windows Panourile frontale i diagramele bloc constau dintr-o colecie de obiecte

    grafice, care sunt elementele de programare pentru LabVIEW. Panourile frontale conin o mare varietate de comenzi i indicatoare. Diagramele bloc conin terminalele corespunztoare comenzilor i indicatoarelor de pe panoul frontal, precum i constante, funcii, subIV-uri, structuri i legturi prin care sunt transportate datele ntre dou obiecte. Figura 1.8 prezint un panou frontal i diagrama bloc asociat, cu explicitarea principalelor elemente.

    1.2.3.1. Meniul principal al panoului frontal

    Att fereastra panoului frontal ct i cea a diagramei bloc au un meniu principal care conine butoane de comand i indicatoare de stare, utilizate pentru

  • Figura 1.8. Panoul frontal i diagrama bloc cu explicitarea principalelor elemente

    controlul instrumentului virtual. La un moment dat, doar unul dintre cele dou meniuri este activ, depinznd de fereastra n care se lucreaz. n partea de sus a panoului frontal apare urmtorul meniu principal:

    Butonul de EXECUIE (RUN). Prin apsarea acestui buton se lanseaz n execuie instrumentul virtual.

    dac instrumentul virtual este programul principal dac IV-ul este o subrutin

    Cnd un IV este n execuie, apare butonul de STOP . Prin apsarea acestui buton, se oprete imediat execuia instrumentului virtual curent. Not: Este de dorit evitarea utilizrii butonului de STOP pentru oprirea execuiei unei aplicaii i se prefer prevederea n aplicaie a unor condiii care s controleze oprirea acesteia. Dac se procedeaz la oprirea controlat a aplicaiei, se va ti n orice moment care e starea aplicaiei. De exemplu se poate programa oprirea aplicaiei prin plasarea unui buton de STOP pe panoul frontal al acesteia.

    Butonul de EXECUIE cu eroare. Acest buton nlocuiete butonul de EXECUIE i indic faptul c instrumentul virtual nu poate fi compilat deoarece conine erori. Pentru a se cunoate erorile, se apas pe acest buton i va apare o fereastr cu acestea.

    Butonul de EXECUIE continuu. Prin apsarea acestui buton, se comand execuia continu a instrumentului respectiv. n timpul execuiei,

    butonul se nlocuiete cu acesta: Prin apsarea acestui buton, se revine la starea iniial.

    Butonul de Pauz / continuare: Acest buton stopeaz pt. moment execuia aplicaiei. Prin apsarea sa nc o dat, se continu execuia.

    Selectarea caracterelor: tipul de caracter, stilul i culoarea.

    Alinierea obiectelor: De aici se poate alege tipul de aliniere a obiectelor: vertical, la stnga etc.

    Distribuia obiectelor: Se selecteaz spaiile dintre obiecte, compresia etc.

    Reordonarea obiectelor: Se pot realiza grupuri de obiecte i se poate schimba ordinea acestora.

    1.2.3.2. Meniul principal al diagramei bloc

    Conine n mare parte elementele cuprinse n meniul panoului frontal dar, n plus, conine patru unelte pentru depanare:

    n continuare se vor prezenta doar cele patru opiuni de depanare, existente n plus n meniul principal al diagramei bloc.

    Butonul de execuie cu evideniere. Prin apsarea acestui buton se acti-veaz execuia cu evideniere. n acest mod, butonul se schimb n acesta: i execuia este ncetinit cu vizualizarea ntregului transfer de date ntre noduri.

    Butonul de salt peste: Prin apsarea acestui buton se activeaz modul de execuie pas-cu-pas care execut IV-ul nod cu nod. El este afiat interminet la ntlnirea fiecrui nod, ceea ce denot care nod urmeaz s fie executat.

  • Prin apsarea nc o dat a acestui buton, se sare peste o bucl sau un subIV. Prin salt peste nodul respectiv, se execut acel nod, fr a se trece cu execuia prin acel nod care poate conine alte elemente (exemplu Temperature.iv).

    Butonul de salt n: Asemntor cu cel precedent. Prin apsarea aces-tuia ns, se intr n respectivul nod i se execut buclele sau subIV-urile pas-cu-pas.

    Butonul de salt afar: Asemntor, cu deosebirea c acesta sare n afara nodului respectiv. Prin apsarea acestuia, se termin rapid (nu pas-cu-pas) execuia nodului respectiv i se sare n afara acestuia, trecndu-se la nodul urmtor.

    Indicatorul de atenionare: Acesta exist cnd apare o problem care ns nu face ca IV-ul s nu fie executabil. Acesta poate fi activat sau dezactivat din meniul Edit.

    1.2.4. Meniul principal Meniul File

    New VI Creeaz un nou IV New Creeaz un nou IV i deschide panoul su frontal Open Deschide un IV existent Close nchide fereastra activ Close All nchide toate IV-urile Save Salveaz IV-ul curent Save As Salveaz IV-ul curent sub un nou nume Save All Salveaz toate IV-urile Save with Options Salveaz o copie a IV-ului curent Revert Se rentoarce la ultima variant salvat a IV-ului Page Setup Configureaz pagina pentru tiprire Print Tiprete IV-ul curent Print window Tiprete fereastra activ VI Properties Proprietile IV-ului curent Recently Opened Files Lista fiierelor deschise recent Exit Prsete LabVIEW

    Meniul Edit

    Undo Window Size Revenire la dimensiunea anterioar Redo Refacere Cut terge obiectul selectat i l plaseaz n Clipboard Copy Copiaz obiectul selectat i l plaseaz n Clipboard Paste Aduce o copie a Clipboard-ului n fereastra activ Clear terge obiectul selectat Find Gsete Show Search Results Arat rezultatele cutrii Customize Control Personalizarea comenzii Scale Object With Panel Scaleaz un obiect dup panoul frontal Set Tabbing Order Configurarea ordinii elementelor Import Picture From File Aduce o imagine dintr-unfiier Remove Broken Wires terge conexiunile greite ntre noduri Create SubVI Crearea unui subIV Run-Time Menu Editorul meniului principal

    Meniul Operate

    Run Execut IV-ul curent Stop Oprete execuia IV-ului curent Suspend when called Oprete execuia cnd este apelat respectivul VI Print at completion Tiprete panoul frontal al IV-ului dup ce acesta a fost executat Log at completion Stocheaz datele dup executarea IV-ului curent Data Logging Opiuni referitoare la datele stocate Make current Values default Seteaz valorile curente ca ivalori implicite pentru comenzi i indicatoare Reinitialize All to default Seteaz toate comenzile i indicatoa-rele la valorile implicite Change to run mode Comut ntre modurile RUN i EDIT

  • Meniul Tools

    Measurement & Automation Explorer ... Msurri i automatizri Instrumentation Instrumentaia Data Acquisition Achiziia de date

    VI Revision History Istoria IV-ului User Name ... Numele utilizatorului

    Edit VI Library Editarea bibliotecii cu IV-uri

    Web Publishing Tool ... Unealta de publicare pe internet

    Advanced Comenzi avansate Options... - Opiuni

    Meniul Browse

    Show VI Hierarchy Arat ierarhia IV-urilor This VIs Callers Arat toate IV -urile care apeleaz IV-ul curent This Vis SubVIs SubIV-urile acelui IV Unopened VIs IV-urile care nu sunt deschise Unopened Type Defs Definiiile de tip nedeschise Breakpoints Punctele de oprire

    Meniul Window

    Show Panel Comut ntre fereastra panoului frontal i cea a diagramei bloc

    Show Functions Palette Paleta de funcii Show Tools Palette Paleta de unelte Show Clipboard - Clipboard Show Error List Lista erorilor

    Tile Left and Right Poziionarea ferestrelor stnga-dreapta Tile Up and Down - Poziionarea ferestrelor sus-jos Full Size Dimensiunea maxim Ferestrele curente deschise

    Meniul Help

    Show Context Help Deschide fereastra de ajutor Lock Context Help Blocheaz fereastra de ajutor

    Contents and Index Coninut i Index View Printed Manuals Manuale Help for This VI Ajutor pentru IV-ul curent

    Examples ... Exemple Web Resources Resurse pe Internet Explain Error Explicarea erorii

    FlexMotion VI Online Help Activ doar dac este instalat FlexMotion IMAQ Vision ... IMAQ Vision NI-IMAQ VIs ... IV-uri IMAQ Vision ValueMotion VI Online Help ... Ajutor ValueMotion

    About LabVIEW Despre LabVIEW

    1.2.5. Paleta de unelte (Tools Palette figura 1.9)

    Unealta de operare utilizat pentru manipularea comenzilor i indi-catoarelor pe panoul frontal.

    Unealta de poziionare utilizat pentru selectarea, deplasarea sau redimensionarea obiectelor.

    Unealta de etichetare utilizat pentru introducere text i etichetare.

    Unealta pt. executarea de conexiuni utilizat pentru a conecta obiectele din diagrama bloc.

    Figura 1.9. Paleta de unelte

  • Unealta de afiare a meniului aparent utilizat pentru afiarea meniului specific utiliznd butonul din stnga al mouse-ului. n general acelai rezultat se obine cu butonul din dreapta al mouse-ului.

    Unealta de deplasare utilizat pentru deplasarea n cadrul ferestrei curente fr a utiliza bara de defilare.

    Unealta de marcare a punctelor de oprire marcheaz punctele de oprire pentru depanare.

    Unealta de testare Plaseaz un instrument de test pe panoul frontal. Utilizat n special la depanare.

    Unealta de copiere a culorilor copiaz culoarea pentru a o folosi n executarea desenelor.

    Unealta de colorare coloreaz fundalul sau textul cu culorile curente.

    1.2.6. Paleta de comenzi (Controls Palette figura 1.10)

    Subpaleta de comenzi numerice

    Subpaleta de comenzi logice

    Subpaleta de comenzi ir de caractere i ci de fiiere

    Subpaleta matrice i grupuri

    Subpaleta de comenzi liste i tabele

    Subpaleta de comenzi grafice

    Subpaleta inele i enumerri

    Figura 1.10. Paleta de comenzi

    Subpaleta mrimi de intrare / ieire

    Subpaleta numere de referin

    Subpaleta comenzi dialog

    Subpaleta comenzi clasice

    Subpaleta ActiveX

    Subpaleta comenzi de decorare

    Subpaleta selectare comenzi

    Subpaleta utilizator

    1.2.7. Paleta de funcii (Functions Palette figura 1.11)

    Subpaleta de structuri

    Subpaleta numeric

  • Figura 1.11. Paleta de funcii

    Subpaleta boolean

    Subpaleta de iruri

    Subpaleta de matrice

    Subpaleta de grupuri

    Subpaleta de comparare

    Subpaleta de timp i dialog

    Subpaleta de lucru cu fiiere

    Subpaleta de achiziie de date

    Subpaleta forme de und

    Subpaleta de analiz

    Subpaleta de instrumente

    Subpaleta elemente de micare

    Subpaleta elemente matematice

    Subpaleta de comunicaie

    Subpaleta aplicaii de comand

    Subpaleta grafice i sunete

    Subpaleta tutorial

    Subpaleta generare rapoarte

    Subpaleta comenzi avansate

    Subpaleta de selectare a unui IV

    Subpaleta bibliotec utilizator

    1.2.8. Salvarea unui IV Salvarea unui instrument virtual se face din meniul acestuia, avnd la dispo-ziie patru comenzi: Save, Save As, Save All i Save with Options.

    Prin utilizarea comenzii Save, instrumentul virtual este salvat sub acelai nume i n acelai loc unde el exist deja. Dac se utilizeaz comanda Save la prima salvare a instrumentului, LabVIEW va deschide o fereastr de dialog pentru precizarea numelui fiierului i a locului unde va fi salvat.

    Prin utilizarea comenzii Save As, se deschide automat fereastra de dialog, indiferent dac fiierul a mai fost salvat sau nu (figura 1.12).

    Comanda Save All (identic cu comanda Save) va salva toate instrumentele virtuale deschise n acel moment.

    Comanda Save with Options permite specificarea unor opiuni suplimentare de salvare, de nivel mai avansat, cum ar fi de exemplu salvarea unui instrument

  • virtual pentru a putea fi utilizat sub o versiune anterioar de LabVIEW (5.0) (figura 1.13). Din acelai meniu se poate crea o nou bibliotec, cu comanda New VI

    Library.

    Figura 1.12. Salvarea unui IV

    Figura 1.13. Fereastra de salvare cu opiuni Save with Options

    Salvarea unui instrument virtual poate fi fcut direct, ntr-un director, sau ntr-o anumit bibliotec LabVIEW (fiier cu extensia .llb figura 1.14).

    Figura 1.14. Salvarea unui IV ntr-o

    bibliotec

    1.3 Opiunile de ajutor din LabVIEW

    Pentru a afia fereastra de ajutor, se selecteaz opiunea Help Show Context Help sau se apas tastele de scurtcircuit Ctrl+H. Cnd este plasat o unealt din paleta de unelte (Tools Palette) pe un obiect de pe panoul frontal sau din diagrama bloc, fereastra de ajutor prezint pictograma pentru subIV, funciile, constantele, comenzile i indicatoarele pentru acest obiect, precum i conexiunile i semnificaiile acestora.

    Buton care comut ntre diagrama de ajutor simpl (figura 1.15) i cea complex (figura 1.16).

    Diagrama de ajutor simpl prezint doar conexiunile principale ale obiectului respectiv.

    Lock Help prin apsarea acestui buton, fereastra de ajutor rmne blocat, iar mutarea cursorului pe un alt obiect nu duce la schimbarea coni-nutului acesteia.

    Butonul More help acces la documentaia electronic instalat pe calculator.

  • Figura 1.15. Fereastra de ajutor simpl

    Figura 1.16. Fereastra de ajutor complex

    1.4. Aplicaie

    Se deschide instrumentul ... National Instruments\LabVIEW6\Activity\Digital Thermometer.vi (fiier creat la instalarea LabVIEW). Se exemplific utilizarea comenzilor de ncrcare i salvare a unui IV. Se lanseaz n execuie instrumentul cu comanda EXECUIE (RUN). Se utilizeaz meniul HELP.

  • Capitolul 2 CREAREA, EDITAREA I DEPANAREA UNUI

    IV

    2.1. Crearea unui instrument virtual

    Instrumentele virtuale au trei pri principale: panoul frontal, diagrama bloc i pictograma / conectorul. Pictograma / conectorul vor fi prezentate n capitolul urmtor. Panoul frontal Panoul frontal al unui IV este constituit ca o combinaie de comenzi i indi-catoare. Prin comenzi se neleg acele elemente prin care se furnizeaz date din exterior ctre instrumentul virtual. Indicatoarele monitorizeaz datele / valorile generate de instrument. n LabVIEW exist mai multe de tipuri comenzi i indicatoare. Comenzile i indicatoarele se pot aduga pe panoul frontal utiliznd paleta de comenzi. Dac aceasta nu este vizibil, aducerea ei pe ecran se face selectnd opiunea Show Controls Palette din meniul Window. Comenzi i indicatoare numerice Dou dintre cele mai utilizate obiecte numerice sunt: comanda numeric i indicatorul numeric. Pentru a introduce o nou valoare sau a modifica valoarea existent ntr-o comand numeric, pot fi utilizate fie sgeile de incrementare / decrementare din stnga comenzii, fie unealta de etichetare direct (figura 2.1). Comenzi i indicatoare booleene Pentru a introduce sau a monitoriza valori booleene de tip adevrat-fals (True-False) se utilizeaz comenzile i indicatoarele booleene. Obiectele booleene simuleaz ntreruptoare, butoane i LED-uri. Cele mai utilizate obiecte booleene sunt butonul, comutatorul vertical i LED-ul rotund (figura 2.2).

    Figura 2.1. Comenzi i indicatoare numerice Figura 2.2. Comenzi i indicatoare booleene

    Configurarea comenzilor i indicatoarelor Aproape toate comenzile i indicatoarele pot fi configurate utiliznd opiunile din meniurile acestora. Meniul aparent al unei comenzi sau al unui indicator se accesea-z prin poziionarea cu mouse-ul pe obiectul respectiv i executarea unui clic dreapta.

    Figura 2.3. Eticheta unei comenzi

    Diagrama bloc Diagrama bloc este compus din noduri, terminale i legturi. Nodurile sunt elementele de execuie ale programului. Nodurile sunt analoage cu declaraiile, funciile i subrutinele din limbajele de programare clasice. Exist patru tipuri principale de noduri:

    funciile; subIV-urile; structurile; nodurile de interfa cod (Code Interface Nodes CINs).

  • Funciile sunt noduri prefabricate pentru executarea operaiilor elementare, cum ar fi de exemplu adunarea numerelor, operaii cu fiiere de intrare / ieire sau formatarea irurilor de caractere. SubIV-urile sunt de fapt IV-uri proiectate i create anterior i apelate din diagrama altui IV. Structurile ca de exemplu buclele For, While controleaz executarea programului. Nodurile de interfa cod sunt interfee ntre diagrama bloc i codul n C scris de utilizator. Terminalele sunt porturile prin care datele trec ntre diagrama bloc i panoul frontal pe de-o parte, i ntre nodurile diagramei bloc pe de alt parte. Terminalele sunt analoage cu parametrii i constantele din programarea n limbaj clasic.

    Configuraia terminalelor pentru funciile de adunare i scdere

    Figura 2.4. Panoul frontal i diagrama bloc ale unui IV

    Exist dou tipuri de terminale: terminale ale comenzilor i ale indicatoarelor i terminale ale nodurilor. Valorile pe care un operator sau un alt IV le introduce n aceste comenzi trec ctre diagrama bloc prin intermediul acestor terminale. Cnd IV-ul este terminat de a fi executat, valorile trec dinspre diagrama bloc ctre panoul frontal prin intermediul terminalelor indicatoarelor. Terminalele comenzilor i ale indicatoarelor sunt create sau terse automat n diagrama bloc n momentul n care este creat sau tears o comand sau un indicator pe panoul frontal. Conexiunile Conexiunile sunt cile de date ntre terminale. Acestea sunt analoage cu variabilele n limbajele de programare convenionale. Datele circul doar ntr-o direcie, de la un terminal de tip surs ctre unul sau mai multe terminale de tip destinaie. Conexiunile sunt de mai multe tipuri, n funcie de datele care circul prin ele. Legturile ntre obiecte se fac cu linii de diverse tipuri, culori i grosimi, n funcie de datele care circul ntre acestea. n figura 2.5 se prezint sintetic, tipurile de legturi ntre diverse obiecte, existente n LabVIEW.

    Figura 2.5. Tipuri de conexiuni

    Conexiunile ntre obiecte se fac cu butonul din stnga al mouse-lui. Pentru a conecta dou terminale ntre ele, se face clic pe primul terminal, apoi clic pe al doilea terminal. Acestea vor fi afiate intermitent n momentul n care sunt accesate cu mouse-ul. Nu este necesar meninerea apsat a butonului de mouse pe parcursul conectrii obiectelor. Cu butonul Space se schimb direcia conexiunilor. Funcia Tip strip uureaz identificarea funciilor i terminalelor nodurilor pentru interconectare. Cnd se poziioneaz cursorul n zona unui terminal, apare o mic fereastr galben n care se furnizeaz informaii asupra nodului respectiv.

  • Figura 2.6. Funcia Tip strip

    Vizualizarea terminalelor. Pentru uurarea executrii conexiunilor, se pot vizualiza terminalele cu opiunea Visible Items >> Terminals. Revenirea se face cu Visible Items >> Icon.

    Figura 2.7. Vizualizarea terminalelor

    Circulaia datelor Principiul care st la baza execuiei unui program LabVIEW este denumit circulaia datelor. Un nod este executat doar atunci cnd datele sunt disponibile la toate terminalele sale de intrare: nodul furnizeaz datele la toate terminalele sale de ieire de ndat ce acesta a fost terminat de executat. Principiul circulaiei de date contrasteaz cu metodele convenionale de executare a programelor, unde instruciunile sunt executate n ordinea n care sunt scrise. Pentru o mai bun nelegere, s studiem comparativ dou exemple. n primul caz s considerm c avem de adunat dou numere x i y iar din rezultat s scdem un al treilea numr z. Diagrama bloc este prezentat n figura 2.8.

    Figura 2.8. Circulaia datelor n LabVIEW

    n acest caz operaiile se execut de la stnga la dreapta. n primul moment sunt disponibile mrimile x, y i z, deci operaia de adunare poate fi efectuat deoarece ambele mrimi de intrare sunt disponibile, n timp ce operaia de scdere nu. Abia dup ce este efectuat adunarea i rezultatul este transferat terminalului de intrare al funciei de scdere, i prin urmare la intrarea funciei de scdere sunt toate mrimile disponibile, se poate efectua i aceast operaie.

    Figura 2.9. Ordinea executrii operaiilor

    S presupunem ns c n aceeai diagram bloc, pe lng operaiile prezentate anterior mai avem de efectuat i o alt operaie: cos(a*b). Noua diagram bloc va arta ca n figura 2.9. Se pune acum problema care dintre cele dou operaii adunarea sau nmul-irea va fi efectuat mai nti. n acest caz nu exist o ordine sigur a efecturii celor dou operaii.

  • 2.2 Tehnici de editare

    Crearea obiectelor Crearea obiectelor se poate face att prin intermediul panoului frontal ct i prin intermediul diagramei bloc. De asemenea meniul nodurilor, care se acceseaz cu butonul din dreapta al mouse-lui permite crearea de comenzi, indicatoare i constante.

    Figura 2.10. Crearea obiectelor

    ATENIE: Dup crearea unei comenzi sau a unui indicator prin intermediul diagramei bloc, acesta poate fi ters doar din panoul frontal Selectarea obiectelor Se face cu unealta de poziionare. Pentru a selecta mai multe obiecte simultan, se selecteaz primul, se menine tasta Shift apsat, i se selecteaz n continuare al doilea obiect .a.m.d. Selecia multipl se poate face i ncadrnd ntr-un dreptunghi elementele dorite, tot utiliznd unealta de poziionare. Mutarea obiectelor Se face cu mouse-ul, dup selectare. Se poate restriciona direcia de mutare a obiectelor la orizontal sau vertical, prin apsarea tastei Shift. tergerea obiectelor Cu tasta Delete sau cu Clear din meniul Edit, dup ce n prealabil elementele care se doresc a fi terse au fost selectate. Multiplicarea obiectelor Pentru a multiplica un obiect n LabVIEW se procedeaz n felul urmtor: se selecteaz obiectul original, care se dorete a fi multiplicat (pot fi selectate mai multe obiecte), se apas i se menine apsat tasta Ctrl, apoi cu unealta de poziionare (meninnd butonul din stnga al mouse-ului apsat) se translateaz obiectul dorit. Etichetarea obiectelor

    n LabVIEW exist dou tipuri de etichete: etichete libere i etichete asociate obiectelor. Etichetele libere pot fi plasate oriunde n spaiul panoului frontal sau a diagramei bloc. Etichetele asociate obiectelor se refer i se deplaseaz mpreun cu acestea.

    Pentru a crea o etichet liber se utilizeaz unealta de editare din paleta

    de unelte. La terminarea editrii se apas butonul de confirmare care a aprut n meniul instrumentului virtual n momentul nceperii editrii textului. La adugarea unei comenzi sau a unui indicator pe panoul frontal al unui instrument virtual, acesta are o etichet predefinit (care se refer n special la tipul obiectului i la numrul de ordine al acestuia). Iniial textul etichetei este selectat, astfel nct prin simpla scriere a unui nou text, eticheta acestuia este nlocuit. Selectarea i tergerea conexiunilor Segmentul este o linie de legtur orizontal sau vertical. Punctul unde se ntlnesc dou segmente (unul orizontal cu unul vertical) se numete punct de ntoarcere. Punctul unde se ntlnesc trei sau mai multe segmente se numete jonciune. Ramura este o conexiune ntre dou jonciuni, format din dou sau mai multe segmente (figura 2.11). Selectarea conexiunilor ntre obiecte de face cu mouse-ul, executnd un clic pe legtur, n felul urmtor:

    1 clic: se selecteaz segmentul dintre dou puncte de ntoarcere (figura 2.12 a); 2 clicuri: se selecteaz o ramur (figura 2.12 b); 3 clicuri: se selecteaz ntreaga conexiune (figura 2.12 c).

    Figura 2.11. Conexiunile ntre dou obiecte

    ntinderea conexiunilor O dat efectuate conexiunile ntre dou obiecte, acestea se pot deplasa fr ca legtura dintre ele s fie afectat.

  • a b

    c

    Figura 2.12. Selectarea conexiunilor

    Conexiuni eronate n LabVIEW conexiunile eronate sunt reprezentate cu linie ntrerupt. O conexiune eronat ntre dou blocuri poate s apar din mai multe motive. Dintre cele mai des ntlnite, amintim: tipul incorect al obiectului (comand n loc de indicator i invers), tipul incorect al datelor (numeric, boolen sau string), dimensiunea incorect a matricei sau grupului, .a.m.d. De asemenea nu trebuie confundat linia ntrerupt care semnific o eroare n efectuarea conexiunilor (figura 2.13 a) cu linia punctat verde care semnific o conexiune corect ntre dou mrimi booleene (figura 2.13 b).

    a b

    Figura 2.13. Conexiune eronat (a) i conexiune corect (b)

    tergerea conexiunilor (eronate sau corecte) se face selectnd conexiunea respectiv cu unealta de poziionare i apoi apsnd tasta Delete. tergerea conexiunilor eronate se mai poate face global, cu ajutorul funciei Edit Remove Broken Wires (sau utiliznd tastele de scurtcircuit Ctrl+B). Schimbarea caracterelor, stilului de text i a mrimii acestuia Utiliznd funcia Text Settings din meniul panoului frontal sau al diagramei bloc se pot modifica dimensiunea, stilul (ngroat, nclinat ), alinierea i culoarea textului. Unealta folosit n acest scop este unealta de etichetare. Modificarea dimensiunilor obiectelor Dimensiunile obiectelor plasate pe panoul frontal pot fi modificate utiliznd unealta de poziionare. n momentul n care unealta este plasat pe unul din colu-rile obiectului, aceasta i modific cursorul i arat astfel:

    n acest moment ea va aciona ca i o unealt de redimensionare. Alinierea, distribuirea i reordonarea obiectelor Pentru a se realiza alinierea , distribuirea sau reordonarea , se selecteaz obiectele n cauz (prin ncadrarea cu un dreptunghi folosind unealta de poziionare sau prin selecie multipl meninnd tasta Shift apsat) i se selecteaz operaia care se dorete a fi efectuat. Copierea obiectelor ntre IV-uri sau n / din alte aplicaii LabVIEW este o aplicaie Windows i, n consecin, toate facilitile referitoare la editare, i anume copiere (Copy), tiere (Cut) i lipire (Paste) - inclusiv tas-tele de scurcircuit aferente Ctrl+C, Ctrl+X i Ctrl+V - sunt valabile. Acestea pot fi folosite n cadrul aceluiai instrument virtual, ntre dou instrumente virtuale sau chiar ntre LabVIEW i o alt aplicaie Windows care suport aceste faciliti. Utilizarea culorilor La iniializare, LabVIEW are un set de culori predefinit pentru fundalul panoului frontal (de obicei gri) i al diagramei bloc (de obicei alb). Utiliznd unealta de colorare i paleta de culori (figura 2.14) se pot modifica aceste culori (Background color), inclusiv culorile cu care se deseneaz (Foreground color). Selectnd csua T obiectul va deveni transparent.

  • Figura 2.14. Paleta de culori LabVIEW

    2.3 Tehnici de depanare

    Gsirea erorilor n cazul n care butonul de execuie (Run) arat astfel: nseamn c instrumentul virtual nu poate fi executat din cauza existenei unor erori. Prin apsarea acestui buton va apare o list a erorilor care vor trebui nlturate. Executarea programului cu evideniere O tehnic de depanare a programelor n LabVIEW este execuia cu evideniere (Execution Highlight). Aceasta permite o execuie mult ncetinit a instrumentului, cu evidenierea valorilor care circul ntre dou obiecte. Executarea cu evideniere se face apsnd butonul din meniul diagramei

    bloc, acesta preschimbndu-se n ceea ce semnific faptul c a fost activat executarea cu evideniere. Prin apsarea nc o dat pe acest buton, se revine la modul de executare normal. Executarea pas-cu-pas a unui IV n scopul executrii pas cu pas a unui instrument virtual, exist trei comenzi distincte: Salt n (Step Into) salt peste (Step Over) i salt afar

    (Step Out) . Pentru a porni execuia n mod pas-cu-pas se apas unul din butoanele Salt n sau Salt peste. Primul obiect care va fi executat va fi astfel marcat. Prin apsarea nc o dat a unuia din cele dou butoane se va executa obiectul respectiv, iar urmtorul obiect va fi marcat .a.m.d. Dac la un moment dat obiectul marcat este un subinstrument virtual, prin apsarea butonului Salt n se va intra n interiorul acestuia, i subIV-ul respectiv va fi executat tot pas-cu-pas. Dac se apas Salt peste se va executa normal subIV-ul respectiv i se va continua execuia pas-cu-pas n programul principal. Probe

    Opiunea Probe este utilizat pentru a vedea o anumit valoarea care circul ntre dou obiecte, fr a fi necesar plasarea unui indicator pe panoul frontal. Plasarea unei probe se face pe conexiunea dintre dou obiecte cu unealta cores-punztoare din paleta de unelte.

    Puncte de oprire Ca i n cazul celorlalte limbaje de programare, i n LabVIEW se pot preciza puncte de oprire (Breakpoints). Instrumentul va fi executat normal pn la ntlnirea unui punct de oprire. De aici ncolo se poate continua execuia n mod pas-cu-pas. Marcarea punctelor de oprire se va face cu unealta corespunztoare din paleta ce unelte .

    2.4. Noduri proprietate

    Nodurile proprietate apar n diagrama bloc i corespund componentelor de pe panoul frontal; prin intermediul acestor noduri programatorul are acces la proprietile obiectelor. Proprietile definesc:

    proprieti fizice: dimensiuni, culoare, poziie pe ecran; comportarea:obiectul este vizibil / invizibil, activ / inactiv la un moment dat

    (operatorul nu poate interaciona cu el), afiare intermitent (blink), formatul i precizia valorii numerice reinute, tipul de afiare utilizat pentru o component tip ir de caractere etc. Valoarea unei proprieti poate s fie citit sau modificat.

    Pentru a avea acces la proprietile unui obiect, se creeaz un nod proprietate. Aciunea de creare a unui nod proprietate se poate executa pe panoul frontal sau n diagrama bloc: Pe panoul frontal: Din meniul aparent asociat elementului respectiv se selecteaz opiunea Create Property Node (figura 2.15).

  • Figura 2.15. Crearea unui nod proprietate

    n diagrama bloc se insereaz un nod proprietate; pentru localizarea acestuia, se alege din meniul aparent opiunea Find Property Nodes (figura 2.16). n diagrama bloc: Se selecteaz din meniul aparent al terminalului elementului respectiv opiunea Create Property Node (figura 2.17). Nodul proprietate este inserat n diagrama bloc n vecintatea terminalului. Nodul proprietate motenete eticheta comenzii sau a indicatorului la care se refer. Se poate modifica numele etichetei nodului proprietate dar se recomand s se utilizeze eticheta obiectului referit, pentru a nu se crea confuzii referitoare la apartenena proprietii.

    Figura 2.16. Gsirea unui nod proprietate

    Figura 2.17. Crearea unui nod proprietate n diagrama bloc

    Figura 2.18. Crearea mai multor proprieti n cadrul unui nod

    Nodul proprietate afieaz la nceput (chiar dup ce a fost creat) un singur terminal, prin care se permite accesul la o singur proprietate; numele proprietii este afiat n csua corespunztoare terminalului. S-a menionat

  • anterior c un obiect posed mai multe proprieti; cu un singur nod proprietate se pot accesa mai multe proprieti ale obiectului referit astfel c trebuie adugate terminale supli-mentare pentru fiecare proprietate necesar (figura 2.18). Nodul proprietate este redimensionabil: se adaug terminale prin mrirea nlimii nodului, cu unealta de editare. Adugarea sau tergerea terminalelor se realizeaz i prin meniul aparent asociat nodului, cu comenzile Add Element respectiv Remove Element (figura 2.19). Nu este obligatoriu ca fiecare terminal s indice o proprietate distinct, deoarece mai multe terminale se pot referi la aceeai proprietate. Selectarea proprietilor dorite se face cu unealta de operare (figura 2.20).

    Figura 2.19. Meniul aparent asociat unui nod proprietate

    Figura 2.20. Selectarea proprietilor n cadrul unui nod

    2.5. Aplicaii propuse

    1. S se creeze un IV care s compare dou numere specificate prin comenzi pe panoul frontal. Dac primul numr este mai mare sau egal cu al doilea, s se aprind un led pe panoul frontal.

    2. S se genereze un numr aleator ntre 0 i 10. Acest numr s se mpart la o valoare specificat prin intermediul panoului frontal i s se afieze rezultatul. Dac mpritorul este zero, s se aprind un led rou pe panoul frontal care s avertizeze mprirea la zero.

  • Capitolul 3 CREAREA UNUI SubIV

    3.1. Idei de baz

    Cheia crerii aplicaiilor LabVIEW o reprezint nelegerea i utilizarea naturii ierarhice a instrumentelor virtuale. Aa c, dup ce se creeaz un IV, acesta poate fi folosit ca un subIV n diagrama bloc a unui instrument virtual ierarhic superior. Dac diagrama bloc conine un numr mare de pictograme, acestea se pot grupa n IV-uri ierarhic inferioare, pentru a simplifica diagrama bloc. Aceast abordare modular face ca aplicaiile LabVIEW s fie uor de depanat, neles i ntreinut. SubIV-urile sunt similare cu funciile sau subrutinele din limbajele de programare clasice. Urmtorul tabel prezint analogia ntre subIV-uri i subrutine.

    Tabelul 3.1

    Codul funciei function medie (x, y, m) { m = (x + y) / 2; }

    Apelarea funciei n programul principal

    main { medie (a, b, r); }

    Diagrama bloc a SubIV-ului

    Apelarea IV-ului

    Exemplu funcia pant Ca un exemplu, s considerm un IV care calculeaz panta dintre dou puncte. Panoul frontal i diagrama bloc sunt prezentate n figura 3.1. Pentru a utiliza acest IV ca i un subIV, trebuie create pentru acesta o pictogram i un conector.

    3.2. Crearea unei pictograme si a unui conector

    Un IV care va fi utilizat ca i un subIV are nevoie de o pictogram prin care s fie reprezentat n diagrama bloc a instrumentului care l apeleaz. Acest subIV trebuie s aib de asemenea un conector care s permit transferul de date nspre i dinspre IV-ul ierarhic superior.

    Figura 3.1. Panoul frontal i diagrama bloc pentru instrumentul panta.vi

    Pictograma Fiecare IV are o pictogram implicit care este prezentat n colul din dreapta-sus a panoului frontal i a diagramei bloc.

  • Figura 3.2. Meniul pentru editarea unei pictograme

    Pentru IV-uri, pictograma implicit conine logo-ul LabVIEW i un numr care reprezint cte noi IV-uri au fost deschise n actuala sesiune de lucru cu LabVIEW. Pictograma respectiv poate fi editat utiliznd un editor specializat, denumit Icon Editor. Pentru a activa editorul de pictograme, se folosete meniul aparent al pictogramei, din care se selecteaz opiunea Edit Icon, dup cum se prezint n figura 3.2 . Va apare fereastra din figura 3.3. Cu ajutorul uneltelor din partea stng se poate edita pictograma din fereastra de editare. Editorul este unul la nivel de pixel, foarte asemntor cu utilitarul Paint (Paintbrush) din Windows, dar cu mai puine faciliti. Pictograma poate fi editat n format monocrom, cu 16 culori sau cu 256 de culori. Formatul implicit al editorului este alb-negru. Din raiuni de portabilitate, se recomand crearea de pictograme alb-negru. Uneltele utilizate la editarea pictogramelor sunt prezentate n tabelul 3.2, mpreun cu funcia fiecruia:

    Figura 3.3. Editarea unei pictograme

    Tabelul 3.2

    creion deseneaz i terge pixel cu pixel

    linie

    deseneaz linii drepte. Prin folosirea tastei Shift se pot desena linii verticale, orizontale sau

    diagonale

    selector culoare

    selecteaz culoarea de desenare, prelevnd-o din pictogram

    umplere umple o suprafa nchis cu culoarea curent

    dreptunghi deseneaz un dreptunghi cu culoarea curent

    dreptunghi

    plin deseneaz un dreptunghi cu culoarea curent i l

    umple cu culoarea fundalului

    selectare selecteaz o parte a pictogramei pentru mutare, clonare sau tergere

    text permite scrierea textului n pictogram.

    culoare / /fundal

    afieaz culoarea curent de desenare i culoarea fundalului.

    La terminarea desenului se confirm acceptarea acestuia prin apsarea tastei OK.

  • Conectorul Conectorul reprezint interfaa programabil pentru un IV. Pentru transferul datelor ntre subIV-uri este necesar ca fiecrei comenzi sau fiecrui indicator necesar al instrumentului virtual considerat ca i subrutin, s i se atribuie cte un terminal. n prima etap se stabilete numrul mrimilor de intrare i de ieire (comenzi i indicatoare) care sunt necesare a fi transferate. n funcie de acesta se stabilete numrul de terminale necesare pentru conector.

    Figura 3.4. Meniul pentru editarea unui conector

    Pentru definirea unui conector se selecteaz comanda Show Connector din meniul aparent al pictogramei (figura 3.4). Rezultatul acestei operaii este prezentat n figura 3.5 n mod implicit, LabVIEW alege un model convenabil de conector, care s poat acoperi numrul total de comenzi i de indicatoare. n plus, modelul ales este corespunztor. De exemplu pentru IV-ul ales drept model, panta.vi, IV care conine patru comenzi i un singur indicator, LabVIEW a ales un model de conector cu patru terminale n partea stng, corespunztoare celor patru comenzi, i un terminal n partea dreapt, corespunztor indicatorului (vezi figura 3.5).

    Figura 3.5. Panoul frontal cu conectorul

    Selectarea i modificarea modelelor terminalelor Este posibil ns ca utilizatorul s nu fie interesat n transferul tuturor mrimilor sau s doreasc o alt configuraie a terminalelor. Pentru aceasta este pus la dispoziie o ntreag palet de configuraii de terminale, mergnd pn la un numr maxim de 28. Acesta este numrul maxim de mrimi care pot fi transferate ntre dou IV-uri, utiliznd terminalele. Pentru transferul mai multor valori, este necesar o grupare a acestora nainte de transmitere. Accesul la paleta de configuraii pentru terminale se face tot din meniul aparent al pictogramei din dreapta-sus, selectnd comanda Patterns (figura 3.6). Asocierea terminalelor pentru comenzi i indicatoare Odat stabilit numrul i configuraia terminalelor, este necesar realizarea corespondenei ntre terminale i comenzi / indicatoare. Realizarea unei astfel de corespondene se face pe panoul frontal, cu ajutorul uneltei de executare a conexiunilor n trei etape:

    se selecteaz terminalul dorit din conector (figura 3.7. a); se selecteaz comanda / indicatorul de pe panoul frontal (figura 3.7. b); se valideaz operaia prin executarea unui clic n spaiul panoului frontal

    (figura 3.7. c). Prin efectuarea celor trei operaii s-a realizat o coresponden ntre terminalul

    din stnga-sus i comanda X1 de pe panoul frontal. n mod analog se realizeaz corespondenele pentru celelalte terminale.

  • Figura 3.6. Paleta de configuraii pentru terminale

    a b

    c

    Figura 3.7. Stabilirea corespondenei ntre terminale i comenzi / indicatoare

    n cazul n care s-a comis o eroare (conectare greit), exist posibilitatea anulrii acelei corespondene. Aceasta se face din meniul aparent al pictogramei (figura 3.4) prin selectarea comenzii Disconnect This Terminal (pentru deconectarea unui singur terminal) sau Disconnect All Terminals (pentru deconectarea tuturor terminalelor).

    3.3. Proprietile unui instrument virtual

    Configurarea proprietilor unui instrument virtual utiliznd comanda File VI Properties... (sau tastele de scurtcircuit Ctrl+I) reprezint o etap opional n realizarea unui IV (figura 3.8).

    Figura 3.8. Meniul pentru configurarea proprietilor unui IV

    Prin aceast comand devin accesibile o serie de proprieti care pot fi configurate de programator, i anume:

    configurri generale; utilizarea memoriei; documentaie; istoricul revizuirilor; securitate; configurarea ferestrei; dimensiunea ferestrei; execuia; opiuni de tiprire.

    Fereastra de configurare a proprietilor unui instrument virtual este prezentat n figura 3.9. n continuare va fi prezentat drept exemplu opiunea de realizare a documenta-iei (Documentation). n fereastra VI Description (figura 3.10) se poate scrie un text referitor la scopul acelui instrument, eventual formula de calcul. Acest text va fi vizibil n fereastra de ajutor (Show Context Help) dup cum se va vedea n continuare.

  • Figura 3.9. Opiuni disponibile la configurarea proprietilor unui IV

    Figura 3.10. Realizarea documentaiei unui instrument virtual

    De asemenea, pentru o mai buna informare a utilizatorului, este necesar i precizarea semnificaiilor comenzilor i a indicatoarelor. Evident, acest lucru se poate face, sumar, prin intermediul etichetelor acestora. Dar, n multe situaii, spaiul alocat etichetei se poate dovedi insuficient, sau, explicaia nu este necesar s fie vizibil permanent, fiind suficient s fie afiat la cererea

    expres a utilizatorului. Pentru aceasta se folosete comanda Description and Tip... care se gsete n meniul aparent al fiecrei comenzi sau fiecrui indicator de pe panoul frontal (figura 3.11).

    Figura 3.11. Meniul unei comenzi / al unui

    indicator. Comanda Description and

    Tip...

    Figura 3.12. Explicaii referitoare la o comand / indicator

  • n fereastra care apare (figura 3.12) se pot scrie explicaii referitoare la comanda/ /indicatorul respectiv. Aceste explicaii vor fi afiate utilizatorului la utilizarea meniului de ajutor (Show Context Help).

    3.4. Utilizarea unui IV ca un subIV

    Orice instrument virtual care are o pictogram i un conector poate fi utilizat ca i subinstrument virtual ntr-o alt aplicaie. Conceptul de subinstrument virtual este asemntor noiunii de subrutin din limbajele de programare clasice. Apelarea unui IV dintr-un alt IV se face selectnd comanda Select a VI... din paleta de funcii a diagramei bloc (figura 3.13). Pictograma care va fi plasat n diagrama bloc reprezint de fapt apelul acelui subIV. Instrumentele virtuale apelate de IV-ul principal nu vor fi stocate n memorie. Ele vor fi apelate i executate la momentul oportun.

    Figura 3.13. Apelarea unui subIV

    Printr-un dublu clic pe pictograma respectiv, subIV-ul este deschis i se poate interveni asupra panoului su frontal sau asupra diagramei bloc. Dac subIV-ul respectiv este apelat de mai multe ori, schimbrile efectuate vor fi vizibile la fiecare apelare a subIV-ului. Totui, acestea rmn doar n memorie i nu vor deveni definitive dect doar atunci cnd subIV-ul este salvat pe disc. Comanda de ajutor Show Context Help. Comanda de ajutor se activeaz din meniul Help Show Context Help. O dat activat aceast comand, la deplasarea uneltei de editare deasupra unui nod, n fereastra de ajutor sunt prezentate informaii detaliate despre acesta. n figura 3.14 este prezentat fereastra de ajutor a IV-ului panta.vi.

    Reamintim c explicaiile pentru acest IV au fost realizate utiliznd meniul din figura 3.10.

    Figura 3.14. Meniul de ajutor (Show Context Help)

    Tipuri de conexiuni Dup realizarea sau n timpul operaiei de atribuire a terminalelor unor comenzi / / indicatoare, programatorul poate stabili tipul de conexiune n felul urmtor:

    necesar recomandat opional

    Aceasta se realizeaz din meniul pictogramei, selectnd comanda This Connection Is... (figura 3.15)

  • Figura 3.15. Configurarea tipului de conexiune

    n cazul n care o conexiune este definit ca i necesar (Required) i ea nu este conectat n cazul n care IV-ul este apelat ca i un subIV, va fi semnalat o eroare i IV-ul principal nu va putea fi executat. n cazul n care o conexiune este definita ca i recomandat (Recommended), la executarea IV-ului principal va fi semnalat o atenionare (Warning) n cazul n care conexiunea nu este folosit. Dac ns este definit ca i opional (Optional), nu va fi semnalat n nici un fel faptul c aceasta nu este utilizat.

    3.5. Crearea unui subIV dintr-o selecie

    Crearea unui subIV se poate face i direct, cu comanda Edit Create SubVI (figura 3.16). Aceasta se poate face n momentul n care configuraia unui instru-ment devine prea complicat sau, ori de cte ori se dorete acest lucru.

    Figura 3.16. Meniul pentru crearea unui subIV dintr-o selecie

    Rezultatul acestei operaii este prezentat n figura 3.17. SubIV-ului creat n acest mod, LabVIEW i atribuie pictograma implicit, iar comenzile i indicatoarele sunt atribuite n mod automat terminalelor.

    Figura 3.17. Crearea unui subIV dintr-o selecie

  • Capitolul 4 BUCLE. REGITRI DE DEPLASARE.

    CONVERSIE NUMERIC

    Circulaia datelor n LabVIEW este controlat de ctre structuri. LabVIEW dispune de patru tipuri de structuri pentru controlul datelor. Acestea sunt: bucla While, bucla For, structura de tip caz (Case) i structura de tip secven (Sequence). n acest capitol vor fi prezentate dou din cele patru tipuri de structuri, i anume: bucla While i bucla For, precum i noiunea de regitri de deplasare.

    4.1. Bucla While

    O bucl While repet de mai multe ori o secven de cod din diagrama bloc a instrumentului virtual. Plasarea unei bucle While ntr-o diagram bloc se face prin selectarea acesteia din subpaleta Structures a paletei Functions (figura 4.1.).

    Figura 4.1. Subpaleta de structuri

    Apoi, cu ajutorul mouse-ului se selecteaz zona de cod care se dorete a fi introdus n interiorul buclei. La eliberarea butonului de la mouse, rama buclei While va ncadra zona de cod selectat, cum se prezint n figura 4.2.

    Figura 4.2. Selectarea zonei de cod pentru bucla While

    Bucla While (figura 4.3) este o ram redimensionabil. n plus fa de elementele deja selectate, n interiorul buclei While pot fi adugate i alte elemente, utiliznd principiul drag&drop.

    Figura 4.3. Bucla While

    Bucla While repet codul din interiorul ei pn cnd valoarea boolean transmis terminalului condiional ia valoarea FALS. IV-ul verific starea mrimii de intrare n terminalul condiional la fiecare terminare a executrii unui ciclu complet al buclei. Astfel, bucla While va fi executat cel puin o dat, chiar dac valoarea transmis terminalului condiional are valoarea FALS chiar de la nceput. Terminalul iterativ reprezint o mrime care furnizeaz numrul iteraiei curente. Valoarea iniial a terminalului iterativ este zero (n timpul executrii primei iteraii, terminalul iterativ are valoarea zero). O bucl While este echivalent cu urmtorul pseudo-cod:

    Execut Execut diagrama din interiorul buclei Att timp ct condiia este adevrat

  • Figura 4.4. Exemplu de bucl While

    n exemplul prezentat n figura 4.4, bucla While este executat att timp ct rezultatul nmulirii este mai mare sau egal cu 5.

    4.2. Aciunea mecanic a comutatoarelor booleene

    LabVIEW permite modificarea aciunii mecanice a comutatoarelor booleene. Posibilitile de configurare a comutatoarelor booleene sunt prezentate n continuare:

    Comut la apsare Schimb mrimea de comand la fiecare apsare a butonului cu unealta de poziionare. Aceast aciune nu este influenat de ct de des IV-ul citete mrimea de comand.

    Comut la eliberare Modific mrimea de comand doar la eliberarea butonului. Aceast aciune de asemenea nu este influenat de ct de des IV-ul citete mrimea de comand.

    Comut pn cnd e eliberat Modific mrimea de comand la apsarea pe buton i reine aceast valoare pn ce se elibereaz butonul de la mouse, moment n care mrimea de comand revine la starea iniial. Aceast aciune de asemenea nu este influenat de ct de des IV-ul citete mrimea de comand.

    Blocheaz la apsare Modific mrimea de comand la apsarea pe buton, iar acesta reine valoarea respectiv pn cnd IV-ul l citete nc o dat, moment n care revine la starea iniial, indiferent dac butonul de la mouse a fost

    eliberat sau nu. Aceast facilitate este folosit n special la oprirea buclelor de tip While.

    Blocheaz la eliberare Modific mrimea de comand doar la eliberarea butonului de la mouse. n momentul n care IV-ul l citete nc o dat, acesta revine la starea iniial. Aciunea garanteaz cel puin o valoare nou.

    Blocheaz pn la eliberare Modific mrimea de comand la apsarea cu mouse-ul pe buton i menine valoarea pn cnd IV-ul citete mrimea de comand nc o dat sau se elibereaz butonul de la mouse, depinde care din aceste evenimente are loc ultimul.

    4.3. Regitri de deplasare

    Regitrii de deplasare sunt disponibili att pentru buclele While ct i pentru buclele For. Regitrii de deplasare se utilizeaz pentru transferul datelor de la o iteraie ctre iteraia urmtoare. Regitrii de deplasare se pot crea utiliznd meniul buclelor. Meniul poate fi accesat prin clic dreapta pe marginea din stnga sau din dreapta a ramei buclei respective. Din acest meniu se selecteaz comanda Add Shift Register. Rezultatul este prezentat n figura 4.5.

    Figura 4.5. Adugarea regitrilor de deplasare la o bucl While

    Un registru de deplasare conine o pereche de terminale corespondente, situate n opoziie, unul pe partea dreapt iar cellalt pe partea stng a ramei buclei. Terminalul din dreapta memoreaz valoarea la sfritul iteraiei. Valoarea este rotit la sfritul iteraiei respective, astfel nct ea va apare n terminalul din stnga la nceputul iteraiei urmtoare. Principiul este ilustrat n figura 4.6.

  • Figura 4.6. Principiul de lucru al regitrilor de deplasare

    Un registru de deplasare poate lucra cu orice tip de date: numeric, boolean, ir de caractere, matrice, .a.m.d. Registrul de deplasare i adapteaz automat tipul de date la tipul primei mrimi legate la acest registru. O facilitate important este aceea c regitrii de deplasare pot readuce n iteraia curent, rezultate nu numai ale iteraiei precedente, ci i ale altor iteraii, anterioare. Aceast facilitate este deosebit de util atunci cnd se fac medieri ale datelor. Pentru a putea accesa valori i rezultate din iteraii anterioare, este necesar s se creeze terminale adiionale n partea din stnga a buclei. Acestea se obin din acelai meniu, prin selectarea comenzii Add Element (figura 4.7). Lund ca exemplu cazul prezentat n figura 4.8, prin adugarea a trei elemente prii din stnga a ramei buclei, se pot accesa valori din ultimele trei iteraii.

    Figura 4.7. Adugarea unui element la un registru de

    deplasare

    Figura 4.8. Registru de deplasare cu mai multe

    intrri

    Iniializarea regitrilor de deplasare Pentru iniializarea unui registru de deplasare cu o anumit valoare, este necesar ca aceast valoare s fie legat la registrul de deplasare n afara buclei, dup cum este prezentat n figura 4.9. Dac registrul de deplasare nu este iniializat, valoarea iniial a acestuia va fi valoarea implicit corespunztoare tipului de date respectiv, i anume: pentru tipul boolean valoarea iniial va fi FALS, pentru tipul de date numeric valoarea iniial va fi zero, .a.m.d. De remarcat este faptul c LabVIEW nu pierde ultimele valori stocate n regitri de deplasare la finalul unei execuii a IV-ului. tergerea valorilor se face doar la nchiderea IV-ului respectiv i tergerea acestuia din memorie. Cu alte cuvinte, dac registrul de deplasare nu este iniializat cu o anumit

  • valoare (cum s-a prezentat anterior), la o reexecutare a acestuia, registrul de deplasare va considera ca i valoare iniial ultima valoare din precedenta execuie.

    Figura 4.9. Iniializarea registrilor de deplasare

    4.4. Bucla For

    Bucla For repet o parte din codul diagramei bloc de un numr predeterminat de ori. Pentru realizarea unei bucle For se selecteaz opiunea For Loop din subpaleta Structures a paletei Functions (figura 4.10). Apoi se ncadreaz poriunea de cod care se dorete a fi repetat.

    Figura 4.10. Apelarea unei bucle For

    n LabVIEW bucla For este reprezentat printr-un chenar redimensionabil. Bucla For are dou terminale: terminalul de numrare (terminal de intrare) i terminalul iteraie (terminal de ieire). Terminalul de numrare precizeaz de cte ori va fi executat bucla respectiv. Terminalul iteraie conine un numr care precizeaz de cte ori a fost executat bucla pn n acel moment.

    Figura 4.11. Exemplu de IV cu bucl For

  • Diferena ntre bucla For i bucla While este aceea c bucla For este executat de un numr predeterminat de ori, n timp ce bucla While se oprete din execuie n momentul n care condiia de execuie devine FALS. Bucla For este echivalent cu urmtorul pseudo-cod:

    For i = 1 to N-1 Execut diagrama din interiorul buclei

    Exemplul din figura 4.11 prezint o bucl For care genereaz 50 de numere aleatoare i reprezint grafic punctele obinute.

    4.5. Conversia numeric

    LabVIEW poate reprezenta numerele n diferite formate, cum ar fi: ntregi (octet, cuvnt sau lung) sau n virgul mobil (precizie simpl, dubl sau extins). Tabelul 4.1 sintetizeaz toate tipurile de formate numerice pe care le suport LabVIEW.

    Tabelul 4.1

    Tipul de date Prescurtarea Comanda

    ntreg pe 8 bii, cu semn I8 ntreg pe 16 bii, cu semn I16 ntreg pe 32 bii, cu semn I32 ntreg pe 8 bii, fr semn U8

    ntreg pe 16 bii, fr semn U16 ntreg pe 32 bii, fr semn U32

    Virgul mobil, precizie simpl (32 de bii) SGL Virgul mobil, precizie dubl (64 de bii) DBL

    Virgul mobil, precizie extins (80 de bii) EXT Complex, virgul mobil, precizie simpl (64 de bii) CSG Complex, virgul mobil, precizie dubl (128 de bii) CDB Complex, virgul mobil, precizie extins (160 de bii) CXT

    La plasarea unei comenzi sau a unui indicator pe panoul frontal, formatul implicit ales de LabVIEW este n virgul mobil cu precizie dubl. Pentru a schimba modul de reprezentare al unei mrimi, din meniul aparent corespunztor acesteia se selecteaz opiunea Representation. Va aprea o

    palet, din care se va selecta tipul de reprezentare dorit. n figura 4.12 este prezentat meniul unei comenzi, meniu apelat din diagrama bloc.

    Figura 4.12. Stabilirea formatului numeric

    Un meniu asemntor, care conine de asemenea opiunea Representation se poate obine i din panoul frontal. n cazul n care este nevoie ca n timpul execuiei unui instrument s se fac o conversie a tipului de format numeric, se va apela la funciile de conversie grupate n subpaleta Numeric Conversion a paletei de funcii (figura 4.13). Dac sunt legate mpreun dou terminale care au un format diferit de valori numerice, LabVIEW va face automat conversia uneia dintre cele dou valori, pentru a le aduce la acelai format. Pentru a evidenia care dintre cele dou valori a fost convertit, este plasat un punct n dreptul legturii respective. n exemplul prezentat n figura 4.14, dac se face o legtur ntre o mrime de comand n dubl precizie i terminalul de numrare al unei bucle For (care este o mrime de tip long integer), acea mrime de comand va fi convertit n formatul long integer iar n dreptul terminalului de numrare al buclei For va apare un punct gri.

  • Precizare: La conversia numerelor din format virgul mobil n format ntreg, IV-ul rotunjete la cel mai apropiat ntreg. Mrimile de tip x.5 sunt rotunjite ntotdeauna la ntregul par cel mai apropiat. De exemplu 2.5 este rotunjit la 2 iar 3.5 este rotunjit la 4.

    Figura 4.13. Subpaleta de conversie numeric

    Figura 4.14. Conversia automat a mrimilor numerice

  • Capitolul 5 GRUPURI

    5.1. Elemente generale. Crearea grupurilor

    Un grup (cluster) este o structur de date care combin unul sau mai multe tipuri de date ntr-un nou tip. Un grup LabVIEW poate fi imaginat ca i un fascicul, asemntor unui cablu telefonic cu mai multe fire (figura 5.1). Fiecare fir al cablului reprezint un element distinct al grupului.

    Figura 5.1. Imaginea unui grup

    Componentele care formeaz un grup pot avea tipuri diferite, de exemplu se pot combina n acelai grup o mrime de tip boolean, cu o mrime de tip ir de caractere i cu o mrime de tip ntreg. Rezultatul va fi un nou tip de date care va putea fi manipulat n continuare ca un tot unitar. Un grup n LabVIEW este asemntor cu datele de tip nregistrare (record) din Pascal sau cu structurile din C.

    Figura 5.2. Selectarea unui cadru de grup

    Crearea unui grup (comand sau indicator) n panoul frontal din LabVIEW este oarecum asemntoare cu crearea unei matrice, n sensul c nti se creeaz cadrul grupului (cluster shell) pentru ca mai apoi s se adauge

    elementele componente ale acestuia. Selectarea unui cadru de grup se face din paleta Array&Cluster, selectnd opiunea Cluster, ca n figura 5.2. Rezultatul este plasarea unui cadru de grup pe panoul frontal (figura 5.3).

    Figura 5.3. Cadrul de grup pe panoul frontal

    Dimensiunea cadrului poate fi modificat cu ajutorul mouse-ului. n interiorul grupului pot fi plasate orice fel de componente, care n mod obinuit sunt plasate pe panoul frontal. Singura condiie este ca acele componente care vor fi introduse ntr-un grup s fie sau toate de tip comand, sau toate de tip indicator. n cadrul aceluiai grup nu se pot combina comenzi cu indicatoare. Dac se ncearc de exemplu plasarea unui indicator ntr-un grup care conine doar comenzi, indicatorul va fi n mod automat transformat n comand. Tipul grupului (comand sau indicator) este dat de prima component care este plasat n cadrul acestuia. Un exemplu de grup cu 5 comenzi este prezentat n figura 5.4.

    Figura 5.4. Exemplu de grup cu 5 elemente

    5.2. Crearea grupurilor de constante n diagrama bloc.

    Pentru a crea un grup de constante n diagrama bloc se utilizeaz acelai procedeu ca i n cazul crerii unui grup pe panoul frontal. Se selecteaz

  • opiunea Cluster Constant pentru a se crea cadrul grupului, dup care se adaug n aceasta elementele dorite.

    Figura 5.5. Crearea unui grup de constante

    Dac exist deja creat un grup de tip comand sau indicator, din meniul aparent al acestuia prin selectarea comenzii Create Constant se poate realiza un grup de constante de acelai tip (cu aceleai elemente componente). Dac se aplic aceast metod asupra unui indicator, constanta va fi legat automat de acel indicator (figura 5.6).

    Figura 5.6. Crearea unui grup de constante cu

    structur dat

    5.3. Ordinea elementelor ntr-un grup

    n cazul manipulrii datelor de ctre LabVIEW, nu numai tipul datelor dintr-un grup are importan, ci i ordinea acestora. Componentele unui grup au o anumit ordine logic, ordine care nu depinde de poziia acestora n cadrul grupului. Prima component plasat n cadru poart indicele 0 (zero), urmtoarea component adugat va avea indicele 1, ... .a.m.d. n cazul n care se terge o component dintr-un grup, numerotarea acestora se adapteaz automat. Schimbarea ordinii componentelor ntr-un grup se face selectnd din meniul aparent al acestuia opiunea Reorder Controls In Cluster ... (figura 5.7.)

  • Figura 5.7. Schimbarea ordinei componentelor ntr-un grup

    n acest moment meniul ferestrei curent se va schimba i va arta astfel:

    iar pe panoul frontal al grupului va fi afiat ordinea componentelor (figura 5.8). Pe fond alb este afiat poziia curent a componentei n cadrul grupului iar pe fond negru este afiat noua poziie, dup efectuarea reordonrii. Pentru a modifica indicele unei anumite componente din grup, se scrie noul indice n csua corespunztoare din meniul ferestrei (din cmpul Click to set to), apoi se selecteaz componenta. n acelai timp se vor schimba i indicii celorlaltor componente, automat. Salvarea noii ordini a componentelor se face cu butonul . Pentru a se reveni la starea iniial se apas .

    Figura 5.8. Ordinea componentelor ntr-un grup

    n continuare se va prezenta un exemplu din care rezult importana pe care o are ordinea componentelor ntr-un grup. Considerm grupul definit anterior, care conine 5 componente: numeric, boolean, string, path i boolean (OK). Aceasta este i ordinea componentelor n cadrul grupului. Plecnd de la acest grup, crem un altul, identic cu acesta (inclusiv ordinea componentelor), dar cu statut de indicator. n diagrama bloc putem executa o legtur direct ntre cele dou grupuri (figura 5.9).

    Figura 5.9. Conectarea a dou grupuri cu aceeai structur

    Dac ns, n primul grup schimbm ordinea componentelor 2 i 3 ntre ele (grupul indicator rmnnd identic cu cel din primul caz), observm c legtura dintre cele dou grupuri (comand i indicator) devine ntrerupt, semn c exist o eroare (figura 5.10). Ca urmare cele dou grupuri nu sunt

  • corespondente, cu toate c ele conin aceleai componente, doar ordinea lor n cadrul grupului este alta.

    Figura 5.10. Conectarea a dou grupuri cu ordine diferit a elementelor - imposibil

    5.4. Utilizarea grupurilor pentru transferul datelor ntre dou subIV-uri

    Dup cum se tie din capitolul 2, un conector poate avea maxim 28 de terminale. Cnd se utilizeaz un conector cu un numr mare de terminale, datorit dimensiunii mici a acestora exist riscul efecturii unor conexiuni eronate.

    Figura 5.11. Utilizarea grupurilor pentru transmiterea datelor

    De asemenea n unele cazuri este necesar un numr mai mare de terminale. Toate aceste aspecte se pot rezolva utiliznd grupurile. Se pot grupa astfel mai multe componente, iar un grup va utiliza doar un singur terminal. Astfel, printr-un singur terminal pot fi transmise mai multe tipuri de date, cum se prezint n figura 5.11.

    5.5. Funcii referitoare la grupuri

    n LabVIEW exist cteva funcii referitoare la grupuri. n cele ce urmeaz vom prezenta funciile de grupare i degrupare a componentelor.

    5.5.1. Realizarea grupurilor

    Funcia de grupare a componentelor (Bundle figura 5.12) se gsete n subpaleta Cluster.

    Figura 5.12. Funcia de grupare Bundle

    Aceasta grupeaz mai multe componente, realiznd un grup, sau nlocuiete una sau mai multe componente ale unui grup existent. Gruparea componentelor se face n funcie de numrul de ordine al acestora n cadrul grupului. Astfel, prima component conectat la funcia Bundle este

  • componenta cu indice 0, apoi urmeaz componenta cu indice 1, .a.m.d. Numrul de intrri al funciei poate fi modificat prin redimensoinarea acesteia utiliznd unealta de poziionare. n cazul construirii unui grup, intrarea cluster va rmne neconectat (figura 5.13). n cazul n care funcia este folosit pentru nlocuirea unor componente ale unui grup deja existent, caz n care grupul trebuie conectat la intrarea cluster a funciei, atunci numrul de intrri al funciei Bundle trebuie s fie identic cu numrul de componente al grupului de intrare (figura 5.14). Totui, n acest caz, nu fiecare intrare a funciei trebuie s aib conectat o component. Se conecteaz doar componenta care trebuie nlocuit. Trebuie atenie ns la numrul de ordine al acesteia n cadrul grupului. Dup cum se vede din figura 5.14, n cadrul grupului Input Cluster 2 se nlocuiete componenta de pe poziia 0, Numeric, care are valoarea 5.00 cu componenta Numeric 2n care are valoarea 3. Funcia Bundle by Name (figura 5.15) se folosete doar pentru nlocuirea unor componente ale unui grup existent.

    Figura 5.13. Exemplu de grupare a unor obiecte: panoul frontal i diagrama bloc

    Figura 5.14. Exemplu de nlocuire a unui obiect dintr-un grup: panoul frontal i

    diagrama bloc

    Figura 5.15. Funcia de grupare Bundle By Name

    Funcia lucreaz la fel ca i Bundle, cu deosebirea c obiectele din grup nu sunt identificate dup poziia pe care acestea o ocup, ci dup eticheta pe care ele o poart. Nu pot fi accesate cu aceast funcie componentele care nu au etichet (figura 5.16). Spre deosebire de funcia Bundle, n cazul acestei funcii este necesar conectarea unui grup deja creat la intrarea named cluster, i cel puin una dintre componentele acestui grup trebuie s aib o etichet. ns numrul de intrri al funciei Bundle by Name nu trebuie s fie identic cu numrul de obiecte al grupului. Se adaug doar attea intrri cte componente se doresc a fi schimbate. Exist posibilitatea cu un clic stnga pe terminalul de intrare s se atribuie componenta care trebuie modificat (figura 5.17).

    Figura 5.16. Exemplu de nlocuire a unui obiect dintr-un grup folosind

    funcia Bundle By Name: panoul frontal i diagrama bloc

    Figura 5.17. Selectarea componentei n funcia Bundle By Name

  • 5.5.2. Descompunerea grupurilor Pentru descompunerea grupurilor n componente se folosesc dou funcii: Unbundle i Unbundle by Name. Funcia Unbundle (figura 5.18) descompune grupul innd cont de ordinea componentelor n cadrul acestuia.

    Figura 5.18. Funcia de descompunere Unbundle

    Numrul terminalelor de ieire al acestei funcii trebuie s fie egal cu numrul componentelor grupului care este descompus. Adugarea sau tergerea unui terminal de ieire se face din meniul funciei sau prin redimensionarea acesteia utiliznd unealta de poziionare. Un exemplu de utilizare a funciei Unbundle este prezentat n figura 5.19. Funcia Unbundle by Name realizeaz descompunerea unui grup innd cont de etichetele componentelor. La fel ca i la funcia pereche Bundle by Name, numrul de terminale de ieire nu trebuie s fie identic cu numrul componentelor grupului. Pot fi extrase doar acele componente care sunt necesare (figura 5.20).

    Figura 5.19. Exemplu de extragere a trei obiecte dintr-un grup folosind

    funcia Unbundle: panoul frontal i diagrama bloc

    Figura 5.20. Exemplu de extragere a dou obiecte dintr-un grup folosind funcia Unbundle By Name: panoul frontal i diagrama bloc

    5.5.3. Conversia grupurilor Un grup poate fi convertit n format tip matrice monodimensional dac toate componentele sale sunt de acelai tip. Funcia care realizeaz acest lucru este Cluster To Array . Indicii elementelor matricei corespund ordinii componentelor n cadrul grupului. Conversia invers (din matrice monodimensional n grup) se face cu funcia Array To Cluster . Aceast facilitate de conversie este util n special la crearea meniurilor utiliznd comenzi booleene.

    5.5.4. Operaii cu grupuri n general funciile LabVIEW sunt polimorfice. De exemplu funciile aritmetice pot fi aplicate i grupurilor, fr restricii, cu condiia ca elementele componente ale grupului s suporte respectiva operaie.

  • Capitolul 6 MATRICE

    6.1. Elemente generale

    O matrice este o colecie de date care sunt toate de acelai tip. O matrice poate avea una sau mai multe dimensiuni, pn la 231 elemente pe fiecare dimensiune, valoare care este dat de dimensiunea memoriei. Matricele n LabVIEW pot fi de orice tip. Totui, nu putei avea o matrice de matrice, de diagrame sau de grafice. Fiecare element al matricei poate fi accesat prin indicele su. Indicele este un numr ntreg, cuprins ntre 0 i N-1, unde N este numrul de elemente din matrice. Matricea monodimensional (1D) prezentat mai jos ilustreaz aceast structur. De remarcat este c primul element al matricei are indicele 0, al doilea element are indicele 1, i aa mai departe.

    0 1 2 3 4 5 6 7 8 9

    0.6 1.3 5.2 8.3 6.2 4.2 7.3 9.4 1.8 7.6

    Crearea comenzilor i a indicatoarelor de tip matrice O comand sau un indicator de tip matrice poate fi creat prin combinarea unei structuri matriceale cu un obiect de date, care poate fi numeric, boolean sau de tip ir de caractere. Pasul 1: Selectai o matrice-cadru goal din subpaleta Array & Cluster a paletei Controls (figura 6.1.) Rezultatul obinut pe panoul frontal este prezentat n figura 6.2.

    Figura 6.1. Selectarea unui cadru de matrice

    Figura 6.2. Cadrul de matrice pe panoul frontal

    Pasul 2: Pentru a crea o matrice, translatai un obiect de date n matricea-cadru sau plasai-l direct utiliznd meniul aparent al matricei-cadru. Un exemplu de matrice monodimensional numeric este artat n figura 6.3.

    Figura 6.3. Matrice monodimensional numeric

    Atenie! nainte de a utiliza o matrice n diagrama bloc trebuie s asociai matricei-cadru un obiect de date. Dac nu se face acest lucru, terminalul de matrice v va apare ca un dreptunghi negru care conine dou paranteze drepte. Matricele bidimensionale O matrice bidimensional (2D array) necesit doi indici: un indice corespunztor rndului i un alt indice corespunztor coloanei matricei respective. Ambii indici au ca valoare iniial zero, i sunt folosii pentru identificarea unui element al matricei respective. Unei comenzi