Sunteți pe pagina 1din 41

CAPITOLUL IV NOIUNI DE BAZ ALE LIMBAJULUI GRAFIC LABVIEW

Denumirea limbajului grafic LABVIEW provine dintr-o prescurtare din limba englez: Laboratory Virtual Instrument Engineering Workbench. Acest limbaj grafic este un mijloc de programare destinat controlului, analizei i afirii datelor; utilizarea acestui limbaj s-a remarcat n special n cazul instrumentaiei de msurare bazat pe tehnica de calcul. Programarea unui sistem de msurare cu ajutorul calculatorului intr-un limbaj clasic (C, Pascal, Ada etc) consum foarte mult timp. Interfeele acestor limbaje clasice sunt de multe ori neclare i greu de neles. Prin utilizarea limbajului grafic LabVIEW, rapiditatea programrii crete foarte mult datorit introducerii unei interfee grafice mai intuitive. LabVIEW este unul dintre primele limbaje de programare grafic utilizate n aplicaii de achiziii de date cu tehnic de calcul. Cu ajutorul plcilor de achiziie de date, fluxul de date numerice sau analogice provenite de la diverse traductoare poate fi prelucrat sau analizat. Prelucrarea datelor numerice sau analogice prin intermediul limbajului de programare, permite crearea sau simularea unor aparate de msur i control (instrumente virtuale). Principalul avantaj al unei instrumentaii de msurare bazat pe tehnica de calcul (instrumentaie virtual) fa de un instrument clasic de msurare const n faptul c instrumentaia virtual poate fi uor transformat prin programare. Instrumentele virtuale create prin programare pot fi simple aparate de msur sau diferite dispozitive care permit controlul unor instalaii de automatizare. Interfaa unui instrument virtual conine dispozitive i aparate de msur i control realizate ntr-o form grafic asemntoare aparatelor i dispozitivelor reale.

4.1.Principii de programare n LABVIEW


Mediul de programare LABVIEW este un mediu de programare grafic orientat pe obiecte. El permite realizarea unor programe care s reprezinte instrumente de msur virtuale, utilizatorul acestora lucrnd cu ele la fel ca i cu instrumentele de msur obinuite. Fiecare program n LABVIEW va avea dou componente principale: - o component constituit de panoul frontal al aparatului de msur virtual, component ce va permite citirea afiarea valorilor mrimii msurate i introducerea unor date de intrare (valori de referin, valori de constante, butoane de comand, comutatoare, etc.). Aceast component poart numele de fereastra panoului cu instrumente (Panel) - o component care va descrie operaiile pe care le realizeaz programul pornind de la datele de intrare i valorile mrimilor achiziionate pe diferite canale. Aceast component poart numele de fereastra blocului diagram (Diagram). Fiecare din cele dou componente este disponibil simultan la realizarea i rularea unui program n LABVIEW; programul fiind conceput s lucreze sub sistemul

66

de operare WINDOWS trecerea de la o fereastr la alta se realizeaz cu ajutorul mouse-ului. Atunci cnd se face salvarea programului ambele componente sunt salvate ntr-un fiier cu extensia vi; apelarea unui fiier cu extensia vi va determina deschiderea ferestrei panel, pentru prima vizualizarea a ferestrei blocului diagram fiind necesar selectarea opiunii show diagram din meniul windows din bara de meniuri a ferestrei panoului cu instrumente.

4.2. Fereastra panou (panel)


Un exemplu de fereastr panou este prezentat n figura 4.1.

Fig 4.1 Exemplu de fereastr Panel

Dup cum se vede are toate elementele unei ferestre de lucru sub mediu de operare WINDOWS: - n partea de sus bara de titlu; - Sub Bara de titlu se afl Bara de meniuri; - Sub Bara de meniuri se afl Bara de comenzi; - Sub Bara de comenzi se afl suprafaa de lucru; - n partea de jos i lateral dreapta cele dou butoane de derulare. 4.2.1. Bara de comenzi Ne vom referi n continuare la bara de comenzi care prezint comenzi specifice lucrului sub LABVIEW. Aceast bar este poziionat deasupra zonei de lucru i conine urmtoarele butoane: Butonul de start (Run) care are ca efect rularea o singur dat a programului. Buton de rulare continu a programului Buton de oprire care devine activ numai dup ce a fost activat unul dintre cele dou butoane anterioare Buton ce permite ntreruperea continurii programului i reluarea lui din punctul n care a fost ntrerupt

67

Buton care permite aranjarea ntr-o ordine aleas a obiectelor de pe suprafaa ferestrei Buton care permite distribuirea dup o regul aleas a obiectelor de suprafaa ferestrei Buton de derulare care permite selectarea fontului cu care sunt realizate etichetele aparatelor sau a textelor de pe suprafaa ferestrei 4.2.2. Fereastra de control Odat cu deschiderea ferestrei panou (Panel) devie activ o fereastr ataat numit fereastra de control ; n caz c fereastra de control nu este afiat aceasta se poate afia selectnd opiunea Show Controls Palette din meniul Windows al ferestrei panou. Fereastra Control permite selectarea unor obiecte de intrare ieire utilizabile n fereastra panoului de instrumente. Aspectul ferestrei este prezentat n figura 4.2. Pe suprafaa ferestrei sunt disponibile o serie de simboluri care definesc o familie de obiecte din care poate fi selectat un obiect. Familia de obiecte se desfoar atunci cnd este executat clik cu mouse-ul pe unul dintre simboluri. Fig. 4.2 Fereastra de Fiecrui tip de element de intrare i ieire i este ataat control (Control Palette) o iconic, numele tipului de variabil aprnd sub bara de titlu atunci cnd se face poziionarea pe iconica corespunztoare tipului. Iconicele aferente fiecrui tip de element de intrare ieire sunt: - Tipul numeric, avnd urmtoarele componente : - constant numeric; - ieire numeric digital; - intrare digital de tip alunector vertical; - intrare digital de tip alunector vertical; - intrare numeric de tip umplere vertical; - intrare numeric de tip umplere orizontal; - intrare numeric de tip punct alunector vertical; - intrare numeric de tip punct alunector orizontal; - intrare numeric de tip buton - intrare numeric de tip scal

- intrare care are o dubl semnificaie: codul numeric asociat unei culorii modul de reprezentare curent i culoare aleas dintr-o gam de culori;

68

- ieire numeric de tip rezervor; - ieire numeric de tip termometru; - ieire numeric de tip aparat de msur; - ieire numeric de tip manometru; - ieire numeric de tip ramp de culoare.

- Tipul boolean (logic) cu urmtoarele componente: 4.2.2.1. - butoane radio; buton cu LED; - buton de dialog; - buton de anulare; - cutii de control; - LED-uri i lmpi de semnalizare; Elementele de intrare-ieire de tip ir - butoane de comand; - comutatoare; - butoane de comand etichetate;

n LabVIEW se pot defini variabile de tip ir, tablou i structur; au fost create att elemente de intrare-ieire specifice ct i funcii puternice cu care aceste elemente s poat fi manevrate. Elementele de intrare ieire specifice controlului variabilelor de tip ir accesibile din fereastra de control sunt activate atunci cnd mouse-ul este poziionat pe simbolul String and table: Se pot selecta urmtoarele opiuni: - element de intrare (control) de tip ir; - element de ieire (indicator) de tip ir; - constant de tip ir; n etapa construirii panoului frontal, se introduce o valoare pentru un control/indicator ir de caractere prin unealta de etichetare sau de operare; valoarea actualizat este asociat componentei n urma apsrii butonului Enter afiat n bara orizontal cu meniuri sau a tastei <Enter> din partea dreapt a tastaturii (zona tastelor numerice). Dac se apas tasta <Enter> atunci se va fora trecerea la un rnd nou; valoarea (textul) aflat ntr-o componenta ir de caractere se poate ntinde pe mai multe linii (limea cadrului). Cnd se editeaz coninutul componentei i cursorul ajunge n dreptul limitei dreapta a spaiului de editare a controlului/indicatorului, se trece automat la o linie nou; la un moment dat este vizibil o singur linie alfanumeric.

69

Dac valoarea unui control/indicator se ntinde pe mai multe linii, se poate afia bara de defilare (scroll bar) a coninutului, prin opiunea meniului Contextual "Afieaz / Bara derulare" (Show / Scrollbar). Opiunea este disponibil att pentru controale ct i pentru indicatoare; pentru a avea acces la aceasta opiune va trebui, anterior, mrit suficient dimensiunea vertical (nlimea final s fie minim triplul nlimii unei singure linii de text) a componentei (cu unealta de editare) pentru a asigura i afiarea elementului de control hard de derulare. Dac nu se mrete suficient nlimea componentei, atunci opiunea din meniul contextual nu va fi disponibil. O alta component de interfa care faciliteaz introducerea/afiarea datelor tip ir de caractere este tabelul care devine activ la activarea simbolului - element de tip tabel. Ca structur de date, un tabel este un tablou bidimensional (matrice), cu elemente (celule) ir de caractere. Elementele sunt grupate pe linii, putnd exista mai multe linii. O anumit celul a tabelului se va gsi la intersecia dintre linia i coloana corespunztoare. Un tabel poate fi control (permite actualizarea datelor coninute n celule) sau indicator (afiarea valorilor, nu permite actualizarea datelor). Pentru o componenta de interfaa tabel, se permite accesul prin intermediul meniului contextual, asociat la eticheta proprie, afiarea indexului liniei i coloanei, afiarea barei vertical/orizontal de derulare, afiarea titlului pentru fiecare linie (Row Headers) i a capului de tabel (Column Headers) i definirea unei taste accelerator. Redimensionarea tabelului i a celulelor se face prin unealta de editare. Numrul de ordine pentru linii/coloane ncepe de la valoarea zero. 4.2.2.2. Elementele de intrare-ieire de tip tablou i grupare de date

Aceste elemente sunt disponibile atunci cnd se selecteaz simbolul Tabele i ansambluri (array and cluster) din fereastra de controale i indicatoare. Elementele disponibile sunt: - Tablouri de elemente de acelai tip - Ansambluri de elemente de tipuri diferite - Liste de erori de intrare; - Liste de erori de intrare.

Tablourile (array) sunt structuri omogene de date, care conin date de intrare sau de ieire de acelai tip (numeric, boolean, ir de caractere, etc). Dup poziionarea simbolului specific acestora pe suprafaa ferestrei panou trebuie specificat eticheta ataat elementului respectiv; specificarea ei ulterioar este dificil. n acest moment sunt accesibile dou csue: csua indicelui n care este specificat numrul de ordine al datei n cadrul tabloului i csua valoare n care vor fi specificate valorile din tablou. Tipul datelor din tablou precum i specificarea faptului c tabloul conine date de intrare sau ieire se realizeaz atunci cnd este precizat prima dat din tablou; pentru aceasta se dimensioneaz corespunztor csua valoare, se selecteaz din fereastra de controale i indicatoare elementul specific tipului de date ce

70

va fi coninut de tablou i se poziioneaz n interiorul csuei valoare a tabloului. Datele coninute de tablou vor fi controale sau indicatoare dup cum elementul poziionat n csua valoare este control sau indicator. Elementele dein n cadrul structurii compuse o poziie bine determinat; accesul la o anumita celul se face prin indexare. Pentru un tablou cu N elemente, primul element se gsete la poziia 0 iar ultimul element din tablou la poziia N-l. Un tablou poate avea mai multe dimensiuni; numrul maxim de elemente/dimensiune este 2-1. Dimensiunea unui tablou este supus dimensiuni memoriei disponibile. Pentru fiecare dimensiune a unui tablou se folosete un index. Variabila tablou definit anterior are o singur dimensiune. Stabilirea sesiunilor suplimentare pentru un tablou se face astfel: se mrete (pe direcia vertical n jos) cu unealta de editare csua indicelui se selecteaz opiunea "Adaug o Dimensiune" (Add Dimension) din meniul contextual, asociat variabilei tablou. Accesul la o dat dintr-o locaie a tabloului se poate face n cadrul programului prin specificarea indicelui (indicilor n cazul tablourilor multidimensionale) a locaiei n case se gsete aceasta. O grupare de date (Cluster) este o structur compus de date. Nu este obligatoriu ca elementele componente s aparin aceluiai tip spre deosebire de limitarea apartenenei unice a tipului la elementele unui tablou (Array). Se spune ca gruparea de date este o structur eterogen. Prin operaia de degrupare programatorul are acces simultan la toate elementele coninute ntr-o variabila de tip grup, spre deosebire de tablouri, unde prin indexare se obine accesul la un singur element. Fiecare element dintr-o structur de tip grupare de date are asociat un numr de ordine: al ctelea a fost adugat mulimii; numerotarea ncepe de la valoarea zero. Numrul de ordine asociat elementelor grupului este actualizat de LabVIEW automat, n momentul realizrii operaiilor de adugare sau eliminare elemente. Exist funcii predefinite, asociate tipului de data grupare de date, care folosesc numrul de ordine al elementelor n cadrul grupului, pentru accesarea parilor componente. Crearea unei variabile tip grupare de date pe panoul frontal se face selectnd din caseta cu controale o component "Grupare de date" (Cluster), opiunea "Tablou & Grupare de date" (Array&Cluster). Dup plasarea variabilei grupare de date pe suprafaa panoului frontal, se adaug elementele componente: se selecteaz componenta din caseta cu controale/indicatoare i se plaseaz deasupra chenarului reprezentrii grafice a variabilei(grupare de date). 4.2.2.3. Elemente de intrare ieire pentru fiiere de date n LabVIEW exist posibilitatea ca datele de intrare sau date intermediare prelucrate de o aplicaie s fie preluate att de la elementele de intrare de pe fereastra panou ct i din fiiere n care acestea au fost stocate anterior. Exist de asemenea posibilitatea ca datele obinute n urma prelucrrilor efectuate s fie depuse n fiiere de date. Vom prezenta n continuare funciile principale utilizate n lucrul cu fiierele de date. Operaiile cu fiiere presupun realizarea n principiu a trei pai: primul const n crearea sau deschiderea fiierului existent, al doilea n scrierea sau citirea datelor n respectiv din fiier iar cel de-al treilea const n nchiderea fiierului. Alte operaii

71

includ: mutarea, copierea ori tergerea fiierelor, golirea fiierelor, schimbarea caracteristicilor fiierelor i manipularea cilor fiierelor. Cnd se creeaz sau se deschide un director trebuie specificat locaia acestuia. Diferite sisteme de operare descriu locaia fiierelor n moduri diferite, dar n DOS i WINDOWS se utilizeaz un sistem ierarhic pentru a descrie localizarea fiierului. Ca i regul general, localizarea fiierului presupune descrierea cii (PATH) asociat fiierului pornind din directorul rdcin i trecnd prin toate directoarele i subdirectoarele aranjate ierarhic prin care trebuie trecut pentru a ajunge la fiier. 4.2.2.3.1. Tipuri de fiiere de date n limbajul G exist dou tipuri principale de fiiere de date: fiiere curent de octei - byte stream i fiiere colecie de date - datalog Un fiier curent de octei, ca nume implicit, este un fiier a crui unitate fundamental este octetul. Un fiier curent de octei poate conine orice, de la un set omogen de un tip oarecare de date n limbaj G, la o colecie oarecare de tipuri de date caractere, numere, sate booleene, tablouri, iruri, colecii de date (cluster), etc.. Un fiier text ASCII, un fiier coninnd acest paragraf de exemplu, este poate cel mai simplu fiier curent de octei. Un fiier curent de octei este n mod fundamental un fiier foaie de text, care const din rnduri de numere ASCII, numerele fiind separate de tab-uri iar rndurile fiind separate de retur de car (Enter) Un alt fiier curent de octei simplu, este un tablou de ntregi pe 16 bii sau simpl precizie, numere cu virgul, care pot fi obinute de la un program de achiziie de date (DAQ). Un fiier curent de octei mai complex este un n care un tablou de ntregi binari pe 16 bii sau simpl precizie este precedat de un antet de text ASCII care descrie cum i cnd au fost achiziionate datele. Acest antet poate fi un cluster coninnd parametrii achiziiei cum ar fi un tablou cu canale de achiziie i factori de scalare, rate de achiziie, etc. Un fiier Excel foaie de lucru este diferit de un fiier Excel text , este de asemenea o form mai complicat de fiier curent de octei deoarece conine text ntreesut cu date de formatare specifice Excel care nu au sens cnd acesta este citit ca text simplu. n rezumat se poate realiza un fiier curent de octei care conine un oarecare tip de date G. Un fiier curent de octei poate fi creat utiliznd funcii specifice att de nivel nalt ct i de nivel jos. Un fiier colecie de date pe de alt parte const dintr-o secven de nregistrri identic structurate. Ca i n cazul fiierelor curent de octei componentele nregistrrilor de date pot fi orice tip de date G. Diferena este c orice nregistrare de date trebuie s conin acelai tip de date. Fiierele colecie de date pot fi create utiliznd numai funcii de nivel jos. Un fiier curent de octei poate fi scris n mod normal prin adugarea de noi iruri, numere sau tablouri de numere de orice lungime la fiier. Se pot de asemenea suprascrie date oriunde n fiier. Un fiier colecie de date poate fi scris adugnd o nregistrare la un moment dat. nregistrrile nu pot fi suprascrise. Se pot face citiri dintr-un fiier de tip curent de octei specificnd deplasamentul indexului i de cte ori date curentul de octei specificat trebuie citit. Pentru a citi fiiere de tip colecie de date trebuie specificate lungimea nregistrrii sau indexul i numrul de nregistrri ce trebuie citite.

72

Se utilizeaz fiierele curent de octei pentru texte sau foi de date pe care este necesar s le citeasc alte aplicaii. Se pot de asemenea utiliza fiiere curent de octei pentru a nregistra date achiziionate continuu pe care este nevoie s fie citite secvenial sau aleatoriu n cantiti arbitrare. Se vor utiliza fiiere colecie de date pentru a nregistra rezultatele unor teste multiple sau forme de und care pot fi citite cte una i tratate individual. Fiierele colecie de date sunt dificil de citit de alte aplicaii non-G. 4.2.2.3.2.Controale i indicatoare de tip cale fiier path. Aceste controale i indicatoare devin disponibile atunci cnd este activat lista path&refnum din fereastra de controale i indicatoare. Pentru specificarea numelui fiierului se poate folosi controlul file path control din categoria path&refnum din fereastra de control, element care are iconica . Afiarea cii se realizeaz cu ajutorului indicatorului File path indicator a crui iconic este . Atunci cnd calea nu este valid simbolul din stnga, corespunztor unei ci valide devine Not a Path . Forarea acestei opiuni se O alt cale de a specifica numele fiierului este utilizarea funciei path din sublista funciilor file constant al crei iconic este O parte din elementele listei path&refnum se refer numrul logic (refnum) asociat fiierului deschis. Elementele acestea sunt: Numr logic pentru fiiere de tip DataLog pentru a defini un tip de fisier se plaseaz un control corespunztor n interiorul acestui control (lucreaz similar elementelor de tip cluster); astfel pentru a crea un numr logic pentru un fiier ce conine numere se va crea un control ce va conine un numr; dac fiecare nregistrare din fiier va conine o pereche de numere, n interiorul refnum se va introduce un cluster ce va conine dou indicatoare numerice. Numr logic pentru fiiere curent de octei precum i pentru fiiere text sau fiiere binare. n mod tipic se utilizeaz aceast funcie pentru a deschide ori a crea un fiier ntr-un VI dar se dorete efectuarea de operaii n acest fiier de ctre alt VI. Ca i control se utilizeaz pentru operaii I/O iar ca i indicator pentru a deschide sau a crea un fiier. Este un control care se utilizeaz cu dispozitive pentru calculatoarele Macintosh. Este utilizat pentru a accesa drivere pentru dispozitive seriale. Numr logic logic eveniment - este utilizat cu funcii de generare de evenimente. Se utilizeaz cnd se genereaz evenimente ntr-un VI i se seteaz sau se ateapt evenimente n alt VI. Numr logic logic pentru conexiune n reea este utilizat ci VI-uri TCP/IP. Se utilizeaz pentru deschiderea unei conexiuni n reea, conexiune ce poate fi utilizat n alt VI.

73

Numr logic logic aplicaie sau VI - este utilizat cu funcii VI server. Ca i control este utilizat pentru a trece un numr logic logic de la un VI la alt Visau ca specificator de tip pentru intrri n funcii de referin. Numr logic pentru control automat Numr logic pentru resurse VISA Numr logic de notificare este utilizat cu VI-uri de notificare. Numr logic coad de ateptare Numr logic semafor este utilizat cu VI-uri semafor; se utilizeaz cnd semaforul generat se dorete a fi utilizat n alt VI. Numr logic de ntlnire. Trebuie menionat faptul c rolul de element de intrare sau ieire specificat este cel implicit (declarat automat la instalarea programului); rolul elementelor de intrare numite Control i elementelor de ieire denumite Indicator poate fi schimbat (Controlul poate fi fcut indicator i reciproc) din meniul ce se deschide cu clik pa butonul din dreapta al mouse-ului poziionat pe elementul respectiv, n fereastra panou sau diagram. n cazul elementelor booleene (logice) toate butoanele i cutiile de control sunt declarate implicit elemente de intrare, iar LED-urile i lmpile de semnalizare sunt considerate implicit elemente de ieire; ca i n cazul elementelor numerice intrrile pot fi convertite n ieiri i invers prin intermediul meniului interactiv deschis cu clik dreapta al mouse-ului poziionat pe element. 4.2.2.4. Alte elemente de intrare ieire

- Liste i inele de selecie cu urmtoarele elemente: Liste de selecie care permit selecia ciclic (n inel) Liste care permit selectarea unei variante dintr-o list

desfurat; - Elemente de afiare grafic cu urmtoarele elemente: - Diagram de forme de und; - Grafice de forme de und; - Grafice de funcii oarecare; - Diagram de intensiti; - Grafic de intensiti

74

4.3. Fereastra cu unelte de uz general


Aceasta fereastra poate fi afiat selectnd opiunea Show Tools Paletes din meniu-ul Windows al uneia din ferestrele Panou sau Diagram. Aspectul ferestrei este prezentat n figura 4.3. Caseta cu unelte generale cuprinde instrumentele folosite de utilizator la crearea, editarea sau trasarea execuiei instrumentelor virtuale. Afisarea/ ascunderea casetei cu unelte generale se face prin opiunea "Ferestre / Afieaz Caseta cu Unelte" (Windows / Show Tools Palette) din bara cu meniuri. Caseta cu unelte generale se prezint n figura 1.16, n care s-a definit un sistem de identificare matriciala a uneltelor. O alta metod de afiare a casetei cu unelte generale se bazeaz pe comportarea contextuala: se poziioneaz cursorul mouse-ului n interiorul ferestrei Panou Frontal sau Diagram Bloc i se apas simultan tasta <Shift> i butonul din dreapta Fig. 4.3. Fereastra mouse-ului. cu unelte de uz Se exerseaz cele doua metode de afiare a casetei cu general unelte generale prezentate (din bara cu meniuri i acceleratori). Semnificaia elementelor casetei cu unelte generale este urmatoarea: - unealt pentru operare (fig. 4.3, al) Prin intermediul uneltei se manevreaz mai ales valorile elementelor panoului frontal; se folosete mai rar n diagrama bloc, la stabilirea valorii constantelor (exemplu: constanta universal true-false, tablou de constante). - unealt de editare (fig. 4.3, a2) Se realizeaz: selectare, mutare, redimensionare obiect. - unealt de etichetare (fig. 4.3, a3). Permite introducerea de la tastatur a textului. - unealt de interconectare (fig. 4.3, bl) Se folosete n fereastra diagramei bloc, pentru a realiza legturile ntre noduri (elemente de execuie). Firele definesc fluxul datelor. n panoul frontal se realizeaz corespondenele ntre controale/ indicatoare i terminalele conectorului. - unealt de defilare (fig. 4.3, b3) Se realizeaz defilarea coninutului ecranului, fr a folosi barele de defilare ale ferestrei. - unealta prin care se insereaz n diagrama bloc un punct de ntrerupere a execuiei IV, pe unul dintre fire (pe un fir se accept un singur punct de ntrerupere) sau noduri. Se folosete n scopul depanrii programului (fig. 4.3, cl). - unealta sond (fig. 4.3, c2) Se definete o fereastr n care se afieaz valoarea transmis pe un fir de legtur (n faza de execuie a IV). Se utilizeaz n diagrama bloc, mai ales pentru depanarea programului. - Se preia culoarea obiectului asupra cruia se execut clic cu butonul stnga al mouse-ului (fig. 4.3, c3). - unealt de colorare (fig. 4.3, d)

75

Se folosete mai ales la realizarea panoului frontal, permind stabilirea culorii pentru prim planul i de fundalul obiectelor.

4.4. Fereastra diagram


n fereastra diagram descrie operaiile pe care le realizeaz programul pornind de la datele de intrare i valorile mrimilor achiziionate pe diferite canale. Fiecare operand, operator sau funcie este reprezentat printr-o iconic specific ce va prezentat n continuare, iar relaiile dintre acestea fiind reprezentate prin linii de forme i grosimi diferite, corespunztoare diferitelor tipuri de date. Un exemplu de fereastr diagram este prezentat n figura 4.4. Programul realizeaz achiziia pe dou canale a semnalelor analogice, calculeaz produsul eantioanelor acestora, programul fiind destinat msurrii puterii n circuite monofazate de curent alternativ.

Fig. 4.4. Fereastra diagram a programului putere.vi

Pentru realizarea codului surs al IV nu se scriu linii de text reprezentnd instruciuni (respectnd o sintax rigid i de multe ori anevoioas), se aleg elemente de execuie, care se plaseaz n diagrama bloc i se realizeaz legturi ntre acestea, pentru definirea fluxului datelor. Elementele utilizate la realizarea diagramei bloc sunt clasificate n trei grupe generale: 1. noduri; 2. terminale; 3. fire. 4.4.1. Nodurile Sunt elemente de execuie ale limbajului G, ale unui IV. Nodurile din limbajul G corespund operatorilor, funciilor predefinite, instruciunilor, subrutinelor realizate de utilizator din limbajele convenionale de programare structurat. Exist apte tipuri de noduri:

76

funcii predefinite; subrutine (subIV oferite de firma NI sau utilizator); instruciuni pentru controlul execuiei programelor (numite structuri); formule de calcul; noduri proprietate; variabile locale i globale; componente care permit apelul procedurilor scrise n limbajul C sau Pascal (numite Code Interface Nodes CINs). Un nod se execut doar n momentul n care exist valori disponibile pentru toi parametrii de intrare; datele-rezultat sunt furnizate simultan (pe toate ieirile) n exterior, doar dup ce toate operaiile din corpul nodului s-au realizat. Observaie: Pentru un nod se respect, n general, urmtoarea convenie: - parametrii de intrare se definesc n partea stng a chenarului nodului; - parametrii de ieire se regsesc n partea dreapt. Respectarea conveniei plasrii parametrilor unui nod faciliteaz citirea diagramei bloc, conform creia fluxul datelor este din partea stng spre partea dreapt. Nodurile sunt disponibile (mai puin nodurile proprietate asociate obiectelor din panoul frontal) prin caseta cu funcii i IV. Afiarea casetei cu funcii i IV (dac nu este vizibil) se poate face prin dou metode: din bara cu meniuri se alege Windows/ Show Functions Palette (Ferestre/ Afieaz Caseta cu Funcii); avnd cursorul mouse-ului poziionat n interiorul ferestrei diagramei bloc se apeleaz meniul contextual. 4.4.2. Fereastra de funcii Odat cu deschiderea ferestrei diagram a unei aplicaii devine activ o fereastr n care sunt reprezentate funcii, instruciuni i operatori ce permit realizarea diferitelor aplicaii. Fereastra de funcii (Functions) poate fi deschis din meniul Windows al oricrei din cele dou ferestre specifice ale mediului LABVIEW. Aspectul general al ferestrei este prezentat n figura 4.5. Fiecare element al ferestrei corespunde unei familii de funcii sau operatori, ce devine activ atunci cnd mouse-ul este poziionat pe iconica respectiv. Elementele din fereastra de funcii sunt:

Fig. 4.5. Fereastra de funcii (Functions)

4.4.2.1. Elemente de tip structuri Elementele de tip structuri i constante sunt accesibile din fereastra function prin poziionarea mouse-ului pe caseta structuri (Structures); n acest caz sunt evideniate

Fig. 4.6. Elementele sublistei structuri

77

structurile ce pot fi utilizate n realizarea aplicaiilor n LabVIEW aa cum se vede n figura 4.6. Structurile accesibile sunt n acest caz:

4.4.2.1.1. Structura de tratare secvenial Structura de tratare secveniala. Aceast structur permite construirea unui ansamblu de subdiagrame numerotate care vor fi executate secvenial, n ordine crescnd a numerelor. n fereastra acestei structuri se formeaz subdiagrama de fluxuri de date. Lista comenzilor de formare a acestei structuri permite adugarea sau eliminarea unor subdiagrame. Corpul instruciunii secveniale este format din una sau mai multe subdiagrame; fiecare subdiagram este reinut de un cadru. Cadrele sunt dispuse unul peste cellalt (asemntor cadrelor unui film foto), la un moment dat fiind afiat coninutul unui singur cadru. Ordinea de execuie a subdiagramelor reinute de instruciunea secvenial este dat de numrul de ordine al cadrului; primul cadru are valoarea 0, al doilea cadru al valoarea 1, al treilea cadru are valoarea2 .a.m.d. Fig. 4.7. Utilizarea instruciunii secveniale Numrul de ordine al subdiagramei curente este afiat n partea superioar a chenarului instruciunii. n figura 4.7. se prezint o parte din diagrama bloc a unui VI. Semnificaia elementelor din diagrama bloc a secvenei (fig. 4.7.) se prezint n continuare: - numrul subdiagramei curente (fig. 4.7,a); - control pentru trecerea la subdiagrama anterioar (fig. 4.7,b); - lista derulant coninnd numerele cadrelor (fig. 4.7,c); - terminal tip tunel de intrare (fig. 4.7,d); - terminal de tip ieire local al secvenei (fig 4.7,e); - terminal de tip intrare local al secvenei (fig. 4.7,f); - comentariu asociat legturii (fig. 4.7,g); Trecerea de la o subdiagram la alta se face prin elementele de control aflate n partea superioar-centru a cadrului instruciunii. Afiarea subdiagramei anterioare se face apsnd sgeata orizontal-stnga (fig. 4.7,b); coninutul subdiagramei urmtoare

78

se prezint la apsarea sgeii orizontale-dreapta. Se ofer urmtoarea metod mai simpl de trecere de la o subdiagram la alta: se selecteaz cu butonul stnga al mouse-ului csua valoare (fig. 4.7,a); n urma selectrii este afiat automat o list derulant, coninnd numerele cadrelor existente; se selecteaz numrul asociat subdiagramei cutate din lista numerelor. Datele de intrare, furnizate instruciunii secveniale printr-un terminal tip tunel (fig. 4.7,d), sunt disponibile tuturor subdiagramelor. Rezultatele obinute ntr-o subdiagram sunt fcute disponibile subdiagramelor urmtoare printr-un terminal local al secvenei (de subdiagrame): din meniul contextual, asociat chenarului instruciunii secveniale se alege opiunea Adaug un Terminal Local Secvenei (Add Sequence Local). Un terminal al secvenei poate fi mutat de programator cu unealta de editare oriunde, pe cadrul instruciunii. Terminalul local al secvenei (definit pentru subdiagrama curent) se afieaz pe cadrul instruciunii printr-un dreptunghi plin, de culoare galben-deschis; n urma realizrii legturii la un terminal surs, terminalul local al secvenei va afia o sgeat orientat nspre exteriorul cadrului instruciunii (fig. 4.7,e), indicnd c urmtoarele subdiagrame pot accesa valoarea furnizat. Un terminal local al secvenei, definit la nivelul subdiagramei cu numrul de ordine i, este disponibil tuturor subdiagramelor avnd numrul de ordine j, astfel nct j>i, dar nu este disponibil subdiagramelor anterioare, cu numrul de ordine k<i. n exemplul din figura 4.7,f se indic un terminal de intrare local al secvenei pentru subdiagrama 1 i , care se definete n subdiagrama numrul 0; terminalul de intrare local al secvenei indicat n figura 4.7,h, nu se folosete n subdiagrama numrul 1. terminalul de intrare local al secvenei din figura 4.7,i este definit n subdiagrama 2 i deci nu este disponibil n secvena numrul 1. Se recomand adugarea unor etichete descriptive firelor conectate la terminale de intrare/ieire locale secvenei (fig. 4.7,g) cu scopul uurrii nelegerii/ depanrii/ ntreinerii subdiagramelor. 4.4.2.1.2. Structura de tratare opional

Structura de tratare opional. Aceast structur permite construirea unui ansamblu de subdiagrame numerotate. Structura permite executarea unei subdiagrame n funcie de numrul(parametrul dat subdiagramei). Parametrul unei subdiagrame poate fi: -boolean: sunt posibile 2 subdigrame: adevarat i fals; -numeric: un numr ntreg. Lista comenzilor de formare a acestei structuri permite n particular adugarea sau eliminarea unor subdiagrame. Lista este aproape identic structurii secveniale cu o singura excepie: cuvntul Frame este nlocuit cu Case. Instruciunile condiional i de selecie multipl sunt realizate n limbajul G prin instruciunea Case. Este vorba despre dou instruciuni reunite ntr-una singur, selectarea fcndu-se dup tipul expresiei selector: - tipul boolean selecteaz instruciunea condiional (echivalent cu IFTHEN-ELSE din limbajele de programare bazate pe text);

79

tipul numeric ir de caractere selecteaz instruciunea de selecie multipl (echivalent cu CASE sau SWITCH din limbajele de programare bazate pe text).

Observaie: Din mulimea subdiagramelor reunite n instruciunea Case se execut ntotdeauna una din cazuri (subdiagrame), spre deosebire de alte limbaje de programare bazate pe text (Pascal, C), n care se putea s nu se execute nici una dintre alternative (cazul lipsei ramurilor opionale ELSE). Terminalul selector se afl ntotdeauna pe partea stng a chenarului instruciunii i poate fi mutat de utilizator; este obligatoriu s se realizeze o legtur la acesta. Dup preluarea instruciunii de selecie din caseta cu funcii i IV i plasarea n diagrama bloc, se observ c etichetele case sunt: ADEVRAT i FALS (TRUE i FALSE); n acest caz instruciunea de selecie este echivalenta instruciunii condiionale THENELSE. Dac sursa pentru terminalul selector este de tip numeric ntreg se verific schimbarea etichetelor case din FALSE n 0; respectiv TRUE n 1. Dac valoarea expresiei selector este de tip real, atunci se realizeaz automat rotunjirea la primul ntreg. Valoarea etichetelor case se poate modifica cu unealta de etichetare; poate fi de tip numeric ntreg, boolean, ir de caractere. Nu se permit valori reale pentru etichetele selectoare. Valoarea etichetei case trebuie s aparin tipului expresiei selector; n caz contrar, se semnaleaz eroare: valoarea etichetei case este afiat n culoare roie. 4.4.2.1.3. Structura repetitiv for Structura de tratare repetitiv For Loop. Structura de tratare repetitiv de tip for permite efectuarea calculelor iterative. Fluxul de date plasat n aceasta structura este executat de N ori, indicele ciclului variind de la 0. Comenzile permit n particular adugarea sau eliminarea unor rezultate provenite din iteraiile precedente cu ajutorul registrelor de decalare Shift Register. Registrele de decalare permit att stocarea variabilelor calculate la un moment dat ct i conservarea valorilor anterioare ale unei variabile. Transferul elementelor unui tablou (aflat n exteriorul structurii repetitive) n interiorul subdiagramei instruciunii FOR se face printr-un tunel de intrare, situat pe chenarul buclei. Tunelul de intrare permite implicit auto-indexarea n cazul instruciunii For: elementele tabloului sunt furnizate pe rnd subdiagramei, cte unul la fiecare iteraie, ncepnd cu primul element (de indice 0); dimensiunea tabloului d valoarea numrului de ciclri. ntregul tablou este furnizat subdiagramei la fiecare bucl, dac pentru acel tunel de intrare este dezactivat opiunea de auto-indexare. Auto-indexarea se ntlnete i la nivelul tunelurilor de ieire: valoarea furnizat, la fiecare iteraie, tunelului de ieire este reinut ntr-un tablou, a crui dimensiune crete automat la fiecare buclare; tabloul este furnizat n exteriorul instruciunii For doar dup finalizarea execuiei nodului. Activarea/inactivarea auto-indexrii pentru un terminal tunel se face selectnd opiunea Activeaz Indexarea/ Dezactiveaz Indexarea (Enable Indexing/ disable Indexing) din meniul contextual asociat tunelului.

80

Pentru verificarea vizual a aplicrii auto-indexrii la nivelul unui tunel de pe chenarul instruciunii For, programatorul se bazeaz pe codificarea complexitii structurii datei n reprezentarea grafic a legturii: firul (legtura) prin care se furnizeaz n ntregime un tablou este mai gros dect cel asociat furnizrii unei valori singulare (element de tablou). Dac exist mai multe tunele de intrare (de pe aceeai instruciune For) pentru care se aplic auto-indexarea, atunci numrul de iteraii este dat de valoarea minim (Min) dintre valoarea furnizat terminalului N i dimensiunile tablourilor; vor fi executate doar primele Min elemente ale tablourilor. Este posibil transferarea rezultatelor ntre iteraii succesive; se declar nite variabile locale instruciunii For, numite registre de transfer. Crearea unui registru de transfer se face prin opiunea Adaug Un Registru de Transfer (Add Shift Register), din meniul contextual asociat numrului instruciunii For. Nu este limitat numrul registrelor de transfer care se pot defini pentru o structur For. Un registru de transfer este alctuit dintr-o pereche de terminale dispuse pe aceeai orizontal, unul n partea stng i altul n partea dreapt a numrului structurii. Ambele terminale pereche se deplaseaz simultan, la citirea unuia dintre ele. Valoarea este furnizat terminalului drept dup ncheierea ciclului; la nceputul ciclului urmtor, valoarea stocat (n iteraia anterioar) n terminalul drept este transferat terminalului stng. La ultima apelare, valoarea atribuit terminalului din dreapta este furnizat n exteriorul seciunii, dac exist o astfel de legtur. Se recomand iniializarea registrului de transfer nainte de execuia noii iteraii a instruciunii For; se furnizeaz din exteriorul structurii o apelare terminalului stng 4.4.2.1.4. Structura de control repetitiv While Loop

Structura de control repetitiv While Loop. Structura de control repetitiv while permite efectuarea calculului iterativ atunci cnd nu se cunoate numrul de repetri. Oprirea ciclului de iteraii este condiionat boolean: repetarea se executa cnd valoarea boolean este adevrat. Oprirea executrii structurii este comandat de o variabil tip boolean oprete dac este fals. Ca i n cazul structurii de control precedente, lista comenzilor de formare este identica cu cele anterioare. Prin intermediul registrelor de transfer se permite furnizarea rezultatelor ntre iteraii seccesive al instruciunii repetitive. Definirea i utilizarea registrelor de transfer pentru structura Do-While este identic cu cea prezentat la instruciunea For. Auto-indexarea nu se aplic implicit pentru un tunel (intrare/ieire) de pe structura Do-While, ca i n cazul instruciunii For: programatorul trebuie s indice explicit pentru fiecre tunel, dac se dorete utilizarea auto-indexrii. Numrul de repetri ale corpului modului Do-While este controlat, n primul rnd, de valoarea logic (Adevrat) a expresiei de oprire i mai puin de dimensiunea unui tablou furnizat subdiagramei printr-un tunel de intrare, care folosete autoindexarea. Dup parcurgerea (prin auto-indexare) tuturor elementelor tabloului, valoarea implicit asociat tipului elementului de tablou se va transfera corpului buclei, n toate iteraiile urmtoare, astfel: dac tipul elementului de tablou este real, atunci valoarea implicit este 0.00E+0;

81

dac tipul elementului de tablou este un numr ntreg sau natural, valoarea implicit este 0.

4.4.2.1.5. Structura formule de calcul

Structura formule de calcul. Aceste structuri permit calcularea unui ansamblu de formule separate de punct i virgul ;. Aceste formule pot conine majoritatea funciilor matematice. Aceste formule duc la apariia unor variabile de intrare i de ieire care pot fi selectate i denumite de utilizator, plecnd de la lista comenzilor de formare a variabilelor. Calculele sunt scrise n mod explicit n interiorul chenarului structurii formule de calcul utiliznd o scriere similar expresiilor aritmetice din limbajul de programare C. Dac ansamblu formulelor nu ncape n chenarul structurii formule de calcul, se poate crea o mic fereastr de desfaurare (scrollbar). Fereastra de desfurare se poate obine cu ajutorul comenzilor. Avantajele utilizrii formulei de calcul sunt urmtoarele: se uureaz scrierea, depanarea i nelegerea formulelor matematice; se elimin erorile, care pot s apar la transcrierea formulelor matematice complexe n limbajul G, care folosete noduri i fire; se reduce suprafaa ocupat n diagrama bloc de formulele matematice, implementate prin noduri i fire. Instruciunile de prelucrare din interiorul nodului se scriu ntr-o sintax asemntoare limbajelor de programare, bazat pe text. Nodul formul de calcul definete operaiile prin una sau mai multe instruciuni de atribuire fiecare terminnduse prin caracterul punct i virgul (;). Se precizeaz c o instruciune se poate ntinde pe mai multe linii de text; numrul maxim de caractere, care ncap pe o linie, este dat de dimensiunea tipului de caractere folosit i de dimensiunea orizontal a nodului formul de calcul. Mrirea dimensiunii orizontale a nodului se face cu unealta de editare, pentru a se afia ct mai multe caractere pe o linie; n general, se dorete a se afia cte o instruciune de atribuire pe fiecare linie, pentru c se uureaz munca programatorului de verificare a formulelor introduse. Prelucrrile realizate de instruciunile de atribuire din interiorul nodului se bazeaz (n general) pe datele furnizate din exteriorul formulei de calcul, prin intermediul variabilelor de intrare. Rezultatele operaiilor efectuate de nodul formula de calcul sunt transferate n exterior prin variabila de ieire. Variabilele de intrare i de ieire se definesc pe chenarul reprezentrii grafice a nodului: din meniul contextual asociat chenarului se alege opiunea Adaug o Intrare/ Adaug o Ieire (Add Imput/ Add Output), dup care se indic identificatorul variabilei nodului formul de calcul i poate fi deplasat de programator oriunde pe perimetrul acesteia. Se ncearc respectarea conveniei: variabilele de intrare se plaseaz n partea stng, iar variabilele de ieire n partea dreapt a chenarului structurii formul de calcul. Variabila (definit pe chenarul nodului) este referit n instruciunile de atribuire prin numele acordat (identificatorul) de programator. 4.4.2.1.6. Variabile locale Variabilele locale corespund elementelor de pe fereastra panou i sunt accesibile numai din fereastra diagram. Sunt utile atunci cnd nu se pot realiza legturi la

82

elementele de fereastra diagrama crora le sunt ataate variabilele locale. Pentru crearea unei variabile locale se procedeaz astfel: - Se selecteaz din caseta de structuri simbolul i se poziioneaz pe n fereastra diagram atunci cnd butonul mouse-ului este eliberat variabila local este simbolizat pe fereastra diagram astfel: - Se selecteaz din meniu-ul contextual asociat variabilei locale opiunea select item, care are ca urmare afiarea tuturor etichetelor elementelor de pe panoul frontal (sunt marcate cele care deja au ataate variabile locale) n interiorul simbolului variabile va fi afiat eticheta elementului selectat.ca n Fig. 2. Variabila local figura 2. O alt posibilitate de realizare a variabilelor locale este de a selecta - din meniu-ul contextual asociat elementului cruia dorim s-i asociem variabila local - opiunea Create-local variabile Unui control sau indicator de pe fereastra panou i pot corespunde mai multe variabile locale. 4.4.2.1.7. Variabile globale Se utilizeaz pentru schimbul de date ntre diferite subIV ale aceleiai aplicaii sau ntre IV-uri ce se execut n paralel. O variabil global este un IV care are numai fereastr panou ce conine toate elementele care se dorete s fie accesibile i altor subIV-uri. Pentru crearea unei variabile globale se procedeaz astfel: - din caseta de structuri se selecteaz structura global cu simbolul i se poziioneaz pe fereastra diagram la eliberarea mouse-ului va aprea pe fereastra diagram acelai simbol ca i al variabila local; - se selecteaz din meniu-ul contextual asociat variabilei opiunea Open front panel care are ca urmare crearea unei ferestre panou asociat variabilei globale; - se poziioneaz elementele de intrare i ieire specifice variabilei cu aceleai etichete sau etichetate specific i se salveaz variabila global Pentru utilizarea elementelor de intrare-ieire dintr-o variabil global ntr-un alt IV se selecteaz din caseta de funcii opiunea Select a VI i se selecteaz numele IVului n care a fost salvat variabila global; se poziioneaz acest IV pe fereastra diagram i se selecteaz elementele utilizate. 4.4.2.2. Alte elemente ale ferestrei de funcii 4.4.2.2.1. Elemente de tip aritmetic Operaie aritmetic plus . Operaie aritmetic minus. Operaie aritmetic nmultire. Operaie aritmetic mpartire.

83

Operaie cu numere complexe. Schimbarea de semn n plus. Schimbarea de semn n minus. Suma elementelor unui vector. Acest simbol grafic nsumeaz toate elementele unui vector. Multiplicarea elementelor unui vector. Aceast funcie este utilizat la multiplicarea tuturor elementelor unui vector. ir de operaii. Valoarea absolut. Calculul valorii absolute a unui numr x. Rotunjire ctre cel mai apropiat ntreg. Rotunjire ctre cel mai mic numr ntreg (- infinit). Rotunjire ctre cel mai mare numr ntreg (+infinit). Numr aleatoriu. Generarea unui numr aleatoriu cuprins ntre 0 i 1, n formatul unui numr cu virgul flotant i precizie extins. Rdcina ptrat. Este utilizat la calculul rdcinii ptrate a unui numr x. Negarea valorilor de intrare. Dimensionarea mrimii de intrare cu multiplu de 2 la puterea n. Schimbarea de semn. Dac numrul este mai mare dect 0 devine 1; dac este mai mic dect 0 devine 1; dac este egal cu 0 el devine 0. Valoarea reciproc a valorilor de intrare. 4.4.2.2.2. Elemente de tip constante Constante numerice. Introducerea unor intrri sau ieiri (constante). Intrri i ieiri prin texte. Funcii de conversie. Conversia unui numr ntreg codat pe 32 bii. Exist toate conversiile posibile. Conversia unei serii de octei fr semn ntr-un ir de caractere: primul caracter este primul octet luat ca o valoare ASCII; conversia unui ir de caractere: n serii de octei fr semn (primul octet traduce valoarea ASCII a primului caracter din lanul de caractere). 4.4.2.2.3. Elemente de tip trigonometric i logaritmic

84

Funcie trigonometric. Funcia sinus: sin(x) cu x n radiani; funcia sinus: cos(x) cu x n radiani; funcia sinus i cosinus: sin(x)i cos(x) cu x n radiani; funcia sinus cardinal: sin(x)/x cu x n radiani. Funcia logaritmic. De la complex la pri imaginare i reale. Extragerea prilor reale i imaginare dintr-un numr complex; crearea unui numr de tip complex plecnd de la pari reale i imaginare. Element de tip constant a listei Function. Adugarea de numere constante. 4.4.2.2.4. Elemente de tip logic Operator logic I. Realizarea funciei logice I se face ntre dou intrri de tip boolean. Operator logic SAU. Realizarea funciei logice SAU se face ntre dou intrri de tip boolean. Operator logic EXCLUSIV SAU Operator logic NOT. Realizarea funciei logice NOT.

ir de operaii. Operator logic I NEGAT. Operator logic SAU NEGAT. Operator logic EXCLUSIV SAU NEGAT. Operator logic Implic. ir de elemente I. ir de elemente SAU. Introducerea unui numr i ieirea unei valori booleene de 8, 16, 32elemente. Introducerea unei valori booleene de 8, 16, 32 elemente i ieirea unui numr. Vectorul are simbolul 0 pentru valoarea fals i 1pentru adevrat. Constante programabile booleene. 4.4.2.2.5. Elemente de tip ir de caractere

85

Lungimea unui ir de caractere. Funcie ce returneaz lungimea unui ir de caractere. Este o funcie de prelucrare a irurilor de caractere. Lungimea unui ir de caractere. Conectarea de iruri de caractere. Funcia se aplic la mai mult de dou iruri utiliznd Add Element din lista obinuta prin punctarea de pe obiectul de pe ecran. Subansamblu unui ir de caractere. mprirea unui ir de caractere. Alegerea unui circuit cu mai multe iruri de caractere i ataarea lor la irul de caractere principal. Alegerea unui ir de caractere specificat de index i anexare lui la acest ir. Selectare i atribuire. Dac se selecteaz valoarea True i se atribuie irul de caractere adevrat. Dac se selecteaz valoarea False i se atribuie irul de caractere fals. Compar nceputul irului cu fiecare element din vector. Analizeaz nceputul irului care este adevrat sau fals i returneaz valoarea boolean adevrat sau fals. Cutarea unui ir de caractere. Alegerea i formarea unui ir de caractere. Schimbarea din ir de caractere n format vectorial. Schimbarea unui vector n format ir de caractere. Conversia unui ir de caractere n vector (n zecimal, n hexazecimal, n octal, n exponenial, etc.). Conversia caracterelor din litere mici n litere mari. Conversia caracterelor din litere mari n litere mici. Rotaia primului caracter. Inversarea irului de caractere. Conversia din vectorial n ir de caractere prin cale relativ sau absolut. ir de caractere constante.

86

Lipsa irului de caractere. Propune micarea n sens invers. Circuit de alimentare. Sfritul circuitului de alimentare. Declanator al butonului de apsare. 4.4.2.2.6. Elemente de tip vectori i matrice Dimensiunea unei matrice. Extragerea unui element dintr-un vector. nlocuirea elementelor din matrice n index. Elementele noi trebuie s fie de acelai tip cu vectorul. Returneaz poziia vectorului de la nceputul indexului i conine legturile elementelor vectoriale. Schimb dimensiunile oricrui vector n concordan cu valoarea i dimensiunile vectorului. Iniializarea vectorului. Adugarea elemente unui vector. Rotaia unui vector. Rotaia unui vector se realizeaz cu o linie de n elemente. Transpusa unei matrice. Cutarea unui element de o singur dimensiune. Sortarea elementelor unui vector. Aceast sortare se realizeaz n ordine ascendent a elementelor unui vector. Cutarea valorii de maxim i minim dintr-un vector i returnarea valorii i poziiei de maxim i minim n vector. mprirea unui vector la o poziie precizat i i returnarea celor doi vectori mprit.

87

Interpolarea unei serii de puncte. Interpolarea unei serii de puncte obinute se face plecnd de la un vector sau de la un grafic. Seria este indexat fie printr-un index fix, fie prin valoarea abscisei x a graficului. Caut o pereche de valori (a i b) astfel nct coordonata Y s fie mai mare dect a doua valoare . Distribuia unui vector de o singura dimensiune. mprirea elementelor de intrare la elementele de ieire. Indici matriciali. Conversia unui vector unidimensional ntr-o celul n care fiecare element a celulei este de acelai tip ca elementul vectorului. Conversia unei celule ntr-un vector unidimensional de acelai tip. Descompunerea unui grup de date. Se realizeaz descompunerea unui grup de date n elementele componente cu respectarea numrului de ordine. Crearea unui grup de date. Se realizeaz crearea unui grup de date plecnd de la elemente separate (component) i eventual din alt grup de date (cluster) deja format. Rotaia unui vector. Crearea unui vector compus din elemente pentru trasarea unei curbe multiple. Vectorul unui grup de date. Crearea unui vector compus dintr-un grup de date. Indicii celulelor. Conversia unui vector unidimensional ntr-o celul n care fiecare element a celulei este de acelai tip ca elementul vectorului. Conversia unei celule ntr-un vector unidimensiomal de acelai tip. 4.4.2.2.7. Elemente de comparare Funcie de comparaie. Compararea unui numr x cu un numr y i returnarea unei valori booleene true sau false corespunztor satisfacerii relaiei de egalitate dintre x i y. Funcie de comparaie. Compararea unui numr x cu un numr y i returnarea unei valori booleene true sau false corespunztor satisfacerii relaiei de inegalitate dintre x i y.

88

Funcie de comparaie. Compararea unui numr x cu un numr y i returnarea unei valori booleene true sau false corespunztor satisfacerii relaiei mai mare dintre xi y. Funcie de comparaie. Compararea unui numr x cu un numr y i returnarea unei valori booleene true sau false corespunztor satisfacerii relaie mai mic dintre x i y. Funcie de comparaie. Compararea unui numr x cu un numr y i returnarea unei valori booleene true sau false corespunztor satisfacerii relaiei mai mare sau egal dintre x i y. Funcie de comparaie. Compararea unui numr x cu un numr yi returnarea unei valori booleene true sau false corespunztor satisfacerii relaiei mai mic sau egal dintre x i y. Functie de comparatie egal cu zero. Funcie de comparaie diferit de zero. Funcie de comparaie mai mare dect zero. Funcie de comparaie mai mic dect zero. Funcie de comparaie mai mare sau egal cu zero. Funcie de comparaie mai mic sau egal cu zero. Funcie de comparaie. Funcie de comparaie. Compararea a dou numere x i y cu returnarea valorii maxime i minime. Functie de comparaie. Funcie de comparaie. Funcie de comparaie. Funcie de comparaie. Funcie de comparaie. Funcie de comparaie. Funcie de comparaie. Funcie de comparaie.

89

Funcie de comparaie. 4.4.2.2.8. Elemente de tip control dialog i timp

Contor cicluri ceas. Funcie care afieaza valoare curent a numrului de cicluri furnizate de ceasul calculatorului de la punerea sa n funciune(1ciclu=1ms) Ciclu de ateptare (ms). Funcie care introduce o ateptare de N milisecunde i apoi returneaz valoarea lui N. Ateapt pn la ciclu urmtor. Funcie care permite sincronizarea activitilor. Ateapt ca numrul de cicluri ale ceasului (n ms) s devin un multiplu a valorilor de intrare. Returneaz data i ora. Funcie care returneaz data (ziua, luna, i ora n secunde. anul, data)

nregistreaz timpul n secunde. Acest element cuprinde nou celule care are urmtoarele elemente: secunde; minute; ore; zile; luni; ani; numrul sptmnii; numrul lunii din an; numrul zero pentru post-meridian sau unu pentru antemeridian. Trecerea din secunde n dat de afiare. Acest element are aceleai componente ca i cel anterior. Fereastra de dialog cu un buton. Afiarea unei ferestre de dialog cu un singur buton de tip OK. Mesajul este limitat la 255 de caractere. Denumirea butonului este limitat la 12 caractere.

Fereastra de dialog cu doua butoane. Afiarea unei ferestre de dialog cu doua butoane de tip OK i Cancel. Mesajul este limitat la 255 de caractere. Denumirea butonului este limitat la 12 caractere. Pentru OK butonul ia valoarea true, iar pentru Cancel valorea false.

4.4.2.2.9. Controlul erorilor

Erori simple.

90

Erori general. Gsirea primei erori. 4.4.2.2.10. Elemente de tip fiiere intrare ieire

Scrierea informaiilor cuprinse n tabelele fiierelor I/O. Citirea informaiilor cuprinse n tabelelor fiierelor I/O. Scrierea caracterelor n fiier. Citirea caracterelor din fiier. Citirea liniilor din fiier. Fiier binar. Deschiderea unui fiier cu o fereastr de dialog. Citirea unui fiier. Deschiderea unui fiier cu o fereastra de dialog se executa cu: - refnum: numrul logic al fiierului de citit; - data: lanul de caractere de citit n fiier; - dup refnum: duplicarea numrului logic al fiierului de concatenat. Scrierea unui fiier. Deschiderea unui fiier cu o fereastr de dialog: refnum: numrul logic al fiierului de scris; data: lanul de caractere scris n fiier; dup refnum: duplicarea numrului logic al fiierului de concatenat. nchiderea unui fiier: refnum: numrul logic al fiierului de nchis. Crearea unui nou traseu dup nume sau un traseu relativ existent n baza de date a traseului. Returnarea numelui sau ultimului component al traseului i crearea traseului urmtor al componentelor. Fiiere constante. naintarea fiierelor.

91

Funcii specifice comunicaiei pe protocoale standard. 4.4.2.2.11. Elemente de programare necesare controlului unei conumicaii paralele din sublista GPIB

Magistrala Traditional GPIB : norma IEEE 488.1 (1978). Principalele instrumente virtuale disponibile pentru standardul mai simplu IEEE 488.1 sunt urmtoarele: - citirerea unui portGPIB; - scrierea unui port GOIB; - cutarea unui periferic; - sincronizarea unei transmisii; - aducerea la zero a unei transmisii; - ateptarea unui rspuns de la un periferic; - initializarea unei comunicaii. Magistrala 488.2: norma IEEE 488.2 (1987). Acest nou stand ia n considerare noile protocoale de comunicaii cu instrumentele de msur, avnd ca scop prioritar standardizarea msurtorilor programabile. 4.4.2.2.13.Instrumente virtuale de control a transmisiei seriale

Transmisia serial a datelor este una dintre cele mai rspndite dintre dou echipamente numerice. Instrumentele de programare necesare controlului comunicaiei seriale sunt disponibile sub forma a 5 instrumente virtuale aflate n sublista Serial a listei Function, dup cum urmeaz: - iniializarea comunicaiei; - numrul de octei transferat; - citirea portului serial; - scrierea portului serial; - oprirea comunicaiei seriale. 4.4.2.2.14. Instrumente virtuale pentru controlul placii de achiziie Funciile disponibile n controlul plcii de achiziie sunt urmtoarele: -funcii elementare: - configuraia plcii; - lansarea achiziiei; - citirea datelor analogice; - stergerea datelor citite; -funcii complete: - achiziii complete; - achiziii continue complete.

92

Funcii de baza pentru gestionarea intrrilor analogice (sublista de comenzi Analog Input). Funcii de baz pentru controlul ieirilor analogice (sublista de comenzi Anolog Output). Funcii de programare a intrrilor/ieirilor numerice (Sublista de comenzi Digital Input & Output). Funcii de calibrare i configurare a plcii de achiziii i a intrrilor/ieirilor analogice complexe (Sublista de comenzi Counter/Timer). Funcii complete de achiziii i de restituire de date analogice, configurri de detalii (sublista de comenzi Calibration & Config.). 4.4.2.2.15. Elemente ale listei ANALYSIS

Generarea semnalelor numerice: semnal sinusoidal; semnal tip impuls Dirac; semnal ramp; semnal dreptunghiular; zgomot alb. Transformata Fourier.Calculul trasformatei Fourier a unui semnal real. Rezultatul este complex. Daca numrul nde eantioaneX(xj) este de forma 2m atunci calculul se face conform unui algoritm FFT. Reprezentarea spectral obinut (amplitudinii xi): * x0 : valoarea continu a semnalului; * x1 : prima armonic sau fundamentala * x2 : a doua armonic .. * xn/2-1 :a n/2-1 armonic * xn/2 : armonica lui Nyquist (punct de simetrie) * xn/2+1 : a n/2+1 armonic .. * xn-2 : a doua armonic * xn-1 : prima armonic. Valori n lipsa precizrii: x=0. Msurri numerice. Filtre numerice. Filtrele numerice pot fi: filtru tip Butterworth; filtru tip Chebyshev; filtru tip Bessel. Ferestre numerice. Fereastr numeric triunghiular permite obinerea unui semnal y(t), plecnd de la semnalul x(t) definit de eantioanele (x i); fereastra

93

Hanning permite obinerea unui semnal y(t), format din eantioanele (y i), plecnd de la un semnal x(t)format din eantioane x(t). Elemente de tip regresie ale sublistei ANALYSIS Curbe corespunztoare mediei valorilor punctelor. Elemente de tip statistic ale sublistei ANALYSIS

Calculul valorii medii a unui ansamblu de puncte; calculul valorii medii i a abaterii standard a unui ansamblu de numere; calculul probabilitaii conform legii normale a variabilei x: p = P(X<=x). Elemente de tip algebr liniar ale sublistei ANALYSIS Produsul matrice vector. Se calculeaz produsul unei matrici A cu un vector; calculul produsului a dou matrici A i B; calculul diagonalei unei matrici. Elemente de tip funcii matriciale ale sublistei ANALYSIS

Funcie numeric avansat. Combinaii liniare. Calculul combinaiei liniare a unui ir de numere X(i) i Y(i): Y(i)=X(i)*a(scale)+b(offset). Calculul valorii maxime absolute a unui ir de numere X(i) i ieirea Y(i) a irului de numere normalizat cu valoarea absolut: maxim = 1. 4.4.2.2.16. Simboluri de instrumente virtuale create ca exemple

Simuleaz impulsurile electrice n funcie de valoarea unui vector dint-o plac de achiziie. Simuleaz temperatura primit pas cu pas de la placa de achiziie. Generator de semnal.

4.4.2.2.17. Fereastr pentru alegerea elementelor diverse

Apelarea librriei funcionale.

94

Cod extern. Acest simbol grafic reprezint un modul extern, numit CIN, scris n C sau alt limbaj de programare. Oprirea programului. Oprirea programului cnd la intrare apare valoarea TRUE. Prsirea programului LabVIEW cnd la intrare apare valoarea TRUE. Producerea unui sunet ca i ferestrele Windows. Lan de chemare a urmtorului nivel. Tiprete datele din programul LabVIEW. Fereastr ajutor. Aceasta arat, ascunde sau mut ntr-un loc fereastra de ajutor. Folosirea instrumentelor existente n LabVIEW. Prsirea aplicatie LabVIEW. Schimbarea primilor 16 bii ai unui cuvnt cu ultimii 16 bii ai aceluiai cuvnt de 32 bii. Seteaz, genereaz i asteapt evenimentele. Memoria .Permite scrierea unui numr de cuvinte sau de caractere. Instrumente diverse.

4.5. Programarea canalelor de intrare analogice


Programarea canalelor de intrare analogice se realizeaz cu ajutorul funciilor specifice prezente n submeniul Intrri analogice (Analog input) al ferestrei de funcii. Achiziia de semnale analogice poate fi programat pornind de la un comenzile specifice submeniului de intrri analogice respectndu-se un principiu de baz i anume, aranjarea secvenial a funciilor n vederea executrii coerente a programului; exemplu :configurarea plcii, pornirea achiziiei, citirea datelor, oprirea achiziiei. Programarea acestor aranjri secveniale de funcii se realizeaz printr-o nlnuire de conexiuni numite TASK ID. n unele cazuri (funcii complete de achiziie ) nu mai este necesar realizarea ntregii secvene. Canalele pot fi programate individual sau n grupuri, pentru achiziionarea unor eantioane individuale sau a unor grupuri de eantioane (necesar n cazul semnalelor dinamice cu variaii rapide). Se consider c se pot monta mai multe plci de achiziie

95

pe un singur calculator, fiecare fiind codificat numeric, prima plac fiind codificat cu 0. n general vor trebui specificate pentru fiecare canal n parte urmtoarele informaii: - Placa (Device) Reprezint numrul plcii n care se afl canalul, numr ataat la configurarea n WINDOWS a plcii, sau numrul ataat de programul NI-DAQ n secvena de butare. - Canal (Channel) Reprezint numrul (n cazul programrii individuale) sau o list de canale (n cazul programrii unui grup de canale) - Limita superioar specific valoarea superioar a valorii mrimii analogice de pe canalul respectiv - Limita inferioar specific valoarea inferioar a valorii mrimii analogice de pe canalul respectiv. - Intrare cablaj erori un canal prin care vor intra codurile de eroare precizrile aferente erorilor de la dispozitivele cu care este legat funcia respectiv; - Ieire cablaj erori canal de ieire a erorilor aprute n funcia respectiv sau a celor ce au fost aplicate pe canalul de intrare al funciei respective; - Task ID identificator ce reunete un grup de canale n vederea operrii n acelai mod. Unele funcii au prevzut aceast funcie numai ca ieire, unele ca intrare i ieire iar altele numai ca intrare. Funciile de intrare analogice au numeroi parametri dar, uneori, datorit faptului c valorile acestor parametri corespund unei utilizri clasice a funciei, nu este necesar s fie precizate dect valorile parametrilor principali, ceilali lund o serie de valori implicite. n prezentarea funciilor ne vom referi numai la parametri principali. Valorile parametrilor secundari sunt prezentate n help-ul interactiv al LABVIEW, ntre paranteze, existnd o diferen ntre caracterele cu care sunt tiprii parametri principali i cei secundari (parametri principali apar ngroai). Submeniul are n componen urmtoarele categorii de comenzi (Fig 4.8):

Fig 4.8 Submeniul Intrari analogice

Funcii de achiziii pentru programare de nivel redus (Easy Analog Inputs VIs; Funcii de achiziii pentru programare de nivel mediu (Intermediate Analog Inputs VIs) Funcii de achiziii pentru programare de nivel nalt Advanced Analog Inputs VIs) Funcii utilitare pentru intrri analogice ( Analog Input Utility VIs)

96

4.5.1.

Funcii de achiziii pentru programare de nivel redus

Funciile pentru programare de nivel redus permit cea mai simpl realizare a instrumentelor virtuale de achiziii date. De obicei aceste funcii apeleaz funcii de nivel intermediar care la rndul lor apeleaz funcii de nivel ridicat. Funciile pentru programare de nivel redus sunt: - Achiziionare eantioane semnal periodic pe un canal (AI Acquire Waveform) care are ca semnale specifice:

Numar eantioane(Number of samples) semnal de intrare ce precizeaz numrul de eantioane achiziionate de funcie; - Frecvevena de eantionare (sample rate) semnal de intrare ce specific frecvena de eantionare (valoarea implicit este de 1000Hz); - Forma de und (Waveform) semnal de ieire care reprezint un tabel ce conine valorile eantioanelor preluate. - Achizionare eantioane semnal periodic pe mai multe canale (AI Acquire Waveforms) semnalele de intrare ieire sunt identice cu ale funciei anterioare cu deosebirea c n cazul canalelor trebuie introdus o list de canale, iar frecvena de eantionare are semnificaia de frecven per canal. - Msurare un eantion semnal neperiodic pe un singur canal (AI sample Cahannel) preia un eantion de pe canalul specificat i l depune la ieirea esantion (sample) - Achiziionare eantioane semnale neperodice de pe un grup de unu sau mai multe canale (AI Sample Channels) preia cte un eantion de pe canalele specificate pe care le depune la ieirea Eantion. Aceste funcii pot fi utilizate pentru msurarea unui eantion sau a unui grup de eantioane specificat. Atunci cnd se dorete msurarea continu funciile vor fi incluse n cadrul unor cicluri repetitive. 4.5.2. Funciile pentru programarea de nivel mediu Utilizarea funciilor de achiziie de nivel mediu presupune un efort mai mare n realizarea programului de achiziii, cunoaterea mai amnunit a modului de programare a canalelor, dar, ofer posibiliti mai largi de utilizare dect funciile de nivel redus. Funciile de achiziie de nivel mediu sunt: - Configurarea unei intrri analogice. Semnificaia semnalelor de uz general este cea specificat anterior. Ca semnal specific este intrarea Numr eantioane (Buffer size) care permite precizarea dimensiunii memoriei tampon alocat pentru stocarea eantioanelor; implicit dimensiunea tamponului de memorie este 1000.

97

- Lansarea unei achiziii analogice care are ca semnale specifice semnalele de intrare: - Numr scanri (number of scan to aquire) care permite precizarea numrului de scanri ce se vor realiza (mai mic sau egal cu dimensiunea tamponului de memorie a funciei de configurare cu care este conectat funcia de start) Rata scanare (scan rate) care permite precizarea frecvenei de achiziie a eantioanelor (n Hz), valoarea implicit fiind 1000Hz, trebuie menionat c aceast valoare nu trebuie s depeasc frecvena maxim de achiziie specific plcii de achiziie.

- Citirea datelor analogice stocate n tampon cu urmtoarele semnale specifice: - Numar scanri (Number of scan to read) semnal de intrare care precizeaz numrul de achiziii citite din memoria tampon; n mod implicit valoarea acestui parametru este 1 care comunic compilatorului s seteze numrul de scanri citite la o valoare egal cu numrul de scanri realizate din funcia AI START cu care funcia respectiv este legat. - Scalare date (Scaled Data) semnal de ieire care permite prezentarea datelor scalate, atunci cnd scalarea este necesar; ieirea este un tablou bidimensional n prima dimensiune fiind precizat eantionul iar n cea de a doua fiind specificate canalele. - tergerea datelor analogice stocate n memoria tampon semnalele de intrare ieire sunt cele generale, apecificate anterior. - Citirea unei singure date - realizeaz citirea unei singure date direct de pe plac n cazul achiziiei simple i a unei singure valori din tampon n cazul achiziiei multiple. Funcia are ca semnal specific semnalul de ieire Date scalate (scaled data) care furnizeaz ntr-un tablou unidimensional valorile datelor scanate. Funciile prezentate trebuie nlnuite n cadrul unui TASK ID. Unele din aceste funcii apeleaz funcii din cadrul submeniului Advenced analog input, din cadrul submeniului Analog input. Prezentm spre exemplificare diagrama unui program de achiziie date analogice pe un singur canal.

98

Fig 4.9. Diagram program pentru achiziii de date

Programul prezentat permite achiziionarea unui numr de eantioane precizat de dimensiunea tamponului de memorie (buffer) n cazul cnd se dorete o achiziionare continu este necesar ca secvena de achiziie s fie introdus ntr-un instrument de repetare ca n figura. 4.10.

Fig. 4.10. Achiziie continu 4.5.3. Funciile de achiziie pentru programare de nivel nalt Acest funcii pot fi apelate prin activarea elementului cu iconica din meniul de intrri analogice (Analog Input). La activarea meniului se deschide o fereastr ca cea din figura 4.11. Funciile ce pot fi activate din aceast fereastr permit programarea cea mai flexibil, dar cer n acelai timp o mai bun cunoatere a modului de programare. Fig. 4.11. Sublista Multe din aceste funcii sunt apelate de funciile de funcii de nivel ridicat achiziie pentru programarea de nivel mediu. Funciile de programare de nivel nalt sunt: - Configurare tampoane de memorie (AI Buffer Config); funcia permite configurarea tampoanelor de memorie utilizate de LABVIEW pentru stocarea valorilor eantioanelor achiziionate nainte ca acestea s poat fi citite. Ca semnal specific de

intrare este semnalul Eantioane per buffer (scan per buffer) care permite specificarea

99

numrului de eantioane ce pot fi stocate n fiecare tampon de memorie. Valoarea acestui parametru este n mod implicit 1, ceea ce determin s se pstreze dimensiunea implicit a tampoanelor de memorie care este de 100 eantioane. - Citire tampoane de memorie (AI Buffer Read); funcia permite furnizarea valorilor semnalelor stocate n tampoanele interne de memorie

Funcia are ca semnal de intrare principale specific semnalul Numar de citit (number to read). Atunci cnd parametrul cuprins n grupul de specificaii de citire uniti citite (read units) are valoarea 1, intrarea Numr de citit semnific numrul de eantioane de citit. Cnd uniti citite are valoarea 2 intrarea Numr de citit semnific numrul de tampoane de memorie ce trebuie citite. Acest parametru are n mod implicit valoarea 1 i comunic compilatorului LABVIEW s pstreze setarea numrului de citit neschimbat. Setarea implicit este egal cu numrul total de eantioane de achiziionat specificat n funcia AI Control VI. Setarea implicit este 100 dac numrul total de eantioane achiziionate este 0. Ieirea Date scalate (scaled data) este un tablou bidimensional care conine valorile intrrilor analogice scanate. - Configurare ceas (AI Clock Config) funcia permite setarea ceasului i a vitezei de scanare a canalelor sau a eantioanelor. Funcia permite specificarea frecvenei prin intermediul semnalului de intrare Frecventa de ceas n eantioane pe secund (cu ceasul eantioanelor) sau n canale pe secund (cu ceasul canalelor) funcia de valoarea semnalului de intrare Care ceas (which clock).

Cnd acest semnal este setat la valoarea 3 ( holdoff clock1) inversa frecvenei de ceas este egal cu perioada holdoff exprimat n secunde. Valoarea 0 a frecvenei de ceas ntrterupe ceasul. Valoarea implicit este 1 care comunic compilatorului LABVIEW s utilizeze semnalul alternate clock rate specification n locul parametrului frecven de ceas. Setarea implicit este specific plcii i ceasului utilizat. n help-ul interactiv sunt specificate frecvenele pentru fiecare tip de plac. Funcia de configurare a ceasului este util mai ales n cazul plcilor care au mai mult de un canal de ceas. Pentru testare setrii actuale a ceasului poate fi utilizat ieirea actual clock rate specification care conine informaii referitoare la frecvena de ceas, perioada ceasului, sau rata de divizare a bazei de timp (atunci cnd se utilizeaz o surs intern). - Control intrri analogice (AI Control) funcie care permite controlul taskurilor de intrri analogice precum i cantitatea de date achiziionate. Aceast funcie nu poate fi utilizat pentru lansarea achiziiilor de date cu plcile PC-LPM-16, DAQCArd500 sau DAQCArd-700 pentru a scana canale multiple n mod multiplexat; n acest caz va trebui utilizat func-ia de achiziie a unui singur eantion (AI Single Scan).

100

Semnalele de intrare specifice sunt: - Cod de control (control code) care poate avea una din valorile: o 0 - Start (setare implicit) o 1 - Pauz imediat o 2 - Pauz la sfritul tamponului de memorie curent o 3 Reluare; o 4 tergere. Valoarea 0 a codului de control comunic compilatorului LABVIEW cte date trebuie achiziionate i pornete ceasul de contorizare a eantioanelor. Valoarea 1 sau 2 a codului de control oprete ceasul de achiziie. Cnd apare valoarea 3 a codului de control dup o pauz, ceasul pornete din poziia la care a fost oprit la apariia codului 2 sau 3. Dac apare valoarea 0 (Start) dup o pauz, atunci achiziia pornete de la nceputul tampoanelor de memorie, datele obinute fiind nscrise peste cele prezente. Cnd valoarea codului de control este 4 (Clear), procesul de achiziie se oprete i resursele interne (inclusiv tampoanele de memorie) sunt eliberate. Pentru repornirea achiziiei de date este necesar apelarea funciei de configurare a tampoanelor de memorie (AI Buffer Config). Trebuie menionat faptul c valoarea 4 a codului de control nu determin dealocarea tampoanelor de memorie, atunci cnd este necesar dealocarea acestora fiind necesar explicitarea dealocrii prin funcia de configurare a tampoanelor de memorie (AI Buffer Config). - Total eantioane achiziionate (total scans to acquire) care poate avea valoarea: o 1 (valoare implicit) care comunic compilatorului s nu modifice numrul total de eantioane, ce va fi considerat egal cu dimensiunea numrului de eantioane per tampon de memorie, specificat n funcia de configurare a tampoanelor de memorie (AI Buffer Config). o 0 valoare ce semnific o achiziie de dimensiune indefinit i va determina compilatorul s ignore numrul de tampoane de memorie declarat i numrul minim de eantioane cu predeclanare de achiziionat. o >0 Specific numrul de eantioane per tampon de memorie care va fi achiziionat. - Configurare grupuri de canale (AI Group Config); funcia permite crearea unor grupuri de canale ce vor fi identificate n cadrul unui Task ID. Semnalele de intrare sunt

cele standard : - Placa (device) care permite precizarea numrului plcii pe care se afl canalele din grup; Lista canale scanate (channel scan list) care permite precizarea canalelor care vor face parte din grup. Fiecare canal din list devine un membru al

101

grupului; Ordinea canalelor n list determin ordinea n care vor fi scanate canalele n timpul achiziiei. Lista de canale scanate este un tabel de iruri. - Intrare erori (error in). Semnalele de ieire sunt: - Task ID care este un identificator sub care vor fi recunoscute toate canalele din grup pentru operare n comun; - Ieire erori (error out). - Configurarea hardware (AI Hardware Config) funcia permite configurarea limitelor minime i maxime a valorilor semnalelor de intrare achiziionate sau a domeniului a domeniului de variaie, a polaritii i amplificrii. Funcia permite de asemenea configurarea modului de cuplare, a moduluide intrare i a numrului dispozitivelor de multiplexare AMUX 64. Modul de configurare poate fi aplicat tuturoe canalelor din grup )canale ce sunt specificate de Task ID) sau se poate aplica unor canale specificate n cadrul intrrii Lista de canale (channel list). Indiferent de modul de configurare la ieirea Group channel settings va fi furnizat configurarea ntregului grup de canale.

Semnalul de intrare specific: Limite intrare (input limits) este un tabel de grupuri. Fiecare element al tabelului conine limitele ateptate ale semnalului de intrare pentru canalele specificate. Dac n tabel sunt mai puine elemente referitoare la limite dect canale, atunci, este utilizat ultimul element al tabelului pentru configurarea restului de canale. - Parametri intrri analogice (AI Parameter) Funcia configureaz i recupereaz diferii parametri asociai cu operarea dispozitivelor de intrare analogice neacoperite de celelalte funcii de intrare analogice.

Semnalele de intrare specifice sunt: - Operaie (operation) care specific ce operaie se dorete a fi realizat cu aceast funcie. n concordan cu tipul operaiei aceast funcie permite setarea parametrilor, extragerea parametrilor sau transferul acestora. Operaiile posibile sunt: o 0 - Setare parametru (Setting a parameter) aceast opiune comunic sistemului de achiziie c la urmtoarea operaie de achiziie de date se va folosi setarea definit de funcie; o 1 - Extragere parametru (Getting a parameter) aceast opinune permite obinerea prin intermediul funciei a valorilor setrii curente a unui canal sau a unui grup de canale;

102

o 2 - Translatare parametru (Translating a parameter) aceast operaie permite determinarea valorilor ce pot fi alocate pentru anumii parametri. - Canale (channels) permite specificarea unor canale; atunci cnd aceast intrare nu este legat, operaia specificat se va referi la ntregul grup de canale din TASk ID. - Nume parametru (parameter name) permite selectarea unui parametru care va fi setat, extras sau translatat. Nume parametru poate lua una din valorile: o 0 semnificnd limea benzii filtrului de frecven; o 1 mod msurare; o 2 deschidere detecie termocuplu; o 3 referin la mas; o 4 prob atenuare; o 5 Control RIS actual; o 6 numr total de recipiente fizice de timp; o 7 Contor RIS maxim; o 8 Supraeantionare maxim; o 9 Rat de eantionare maxim. - O singur scanare analogic (AI Single Scan) funcia returneaz valoarea unui singur eantion de date. Dac achiziia de date este pornit cu funcia AI Control aceast funcie citete o singur dat din tamponul de date intern. Dac achiziia pornit nu este buferat, atunci se achiziioneaz i se citete un singur eantion. Dac nu este pornit anterior nici o operaie de achiziie, aceast funcie pornete achiziia, ntoarce valoarea unui singur eantion i termin achiziia. Semnalul de ieire specific este Date scalate (scaled data) care conine valoarea

eantionului n uniti fizice. - Configurare declanare (AI Trigger Config) funcia configureaz condiiile de declanare pentru pornirea achiziiei, ceasulurilor de canal i a contorului de

eantioane. Semnalule de intrare specifice sunt: - Tip declanare (trigger type) care poate lua una din valorile: o 0 : Nu se modific setarea tipului declanrii (intrare implicit) o 1 : Declanare analogic (setare implicit) o 2 : Declanare digital A; o 3 : Declanare digital B; o 4 : Declanare achiziie digital temporizat; o 5 : Declanare achiziie analogic temporizat;

103

o 6 : Declanare mod general Mod (mode) care permite activarea i dezactivarea tipului de declanare, i care poate avea una din valorile: o 0 : nu se modific setarea modului (intrare implicit); o 1 : dezactivare (setare implicit) o 2 : activare; o 3 : tergere toate declanrile. Aceast opiune dezactiveaz orice declanator i readuce setrile parametrilor declanatoarelor la valorile implicite.

4.5.4. Programarea contorilor 8253 Comanda contorilor de pe dispozitive ce folosesc cipul 8253 (plcile de achiziie SCXI-1200, DAQPad-1200, PC-LPM-16 i diagrama DAQ 7000 ) se realizeaz cu funcia ICTR Control a crei structur este:

Semnalele de intrare principale (care nu au valori implicite) sunt : Dispozitiv - este numrul dispozitivului alocat dispozitivului DAQ in timpul configurrii . Contor reprezint numrului contorului cruia i este dedicat aceast funcie (n cazul plcii PCL-LPM-16 numrul poate fi 0, 1 sau 2) Codul de comanda- determina modul de operare al ( contorului) . 0.Modulul de instalare 0 - mecanismul de distanare a plcilor de la mic la mare pe TC (n lipsa) . 1.Modulul de instalare 1 programare un pas. 2.Modulul de instalare 2 - viteza generatorului 3.Modulul de instalare 3 - viteza generatorului cu semnale dreptunghiulare 4.Modulul de instalare 4 impuls declanat software 5.Modulul de instalare 5 - impuls declanat hardware 6.Citire . 7.tergere. n modul de instalare 0, aa cum se vede in figura 4.12. ieirea devine 0 (nivel jos) dup setarea modului de operare i contorul ncepe s se decrementeze cnd semnalul de poarta este 1 (nivel nalt). Ieirea devine 1 (pe nivel nalt) cnd contorul s-a decrementat pn la 0 i rmne aa pn cnd se seteaz un mod diferit de operare pentru contor.

Figura 4.12. Diagrama modului 0

104

n modulul de instalare 1, aa cum se vede n figura 4.13, ieirea devine 0 (nivel jos) la primul impuls de ceas dup frontul cresctor al semnalului de poart i revine la nivel 1 (nivel ridicat) atunci cnd contorul ajunge cu decrementarea la 0.

Fig. 4.13. Diagrama modului 1

n modulul de instalare 2 aa cum se vede in figura 4.14., ieirea devine 0 ( nivel jos) pentru o perioada de ceas . Contorul indic o perioada dintre pulsurile de ieire.

Fig. 4.14. Diagrama modului 2

n modulul de instalare 3 ieirea devine 1(nivel nalt) pentru o jumtate din impulsurile ceasului i pentru cealalt jumtate de ceas devine 0 (nivel jos). Vezi figura 4.15 .

Fig. 4.15. Diagrama modului 3

n modulul de instalare 4, ca n figura 4.16., ieirea este iniial 1 (nivel ridicat), contorul ncepnd s numere n timp ce semnalul de poart este 1. La terminarea contorizrii, ieirea devine 0 pentru un impuls al ceasului, apoi devine iari 1.

Fig. 4.16. Diagrama modului 4

Modulul de instalare 5 este similar modulului 4 cu o singur excepie, numrarea este comandat de semnalul de poart. Vezi figura 4.17.

Fig. 4.17. Diagrama modului 5

105

Vezi contorul de intervale programabile 8253 de pe plana de laborator, manualul de folosire a acestor module si diagramele temporale asociate . Eroare intern - descrie orice condiie de eroare anticipate execuiei comenzilor VI. Aceste fascicole ne lipsesc de erori. Eroarea interna in fascicole conin urmtorii parametrii . Statutul- este adevrat daca o eroare a aprut. Daca statutul este adevrat acest VI nu face configurare. Codul este numrul codului de eroare care identifica eroarea . O valoare de zero in general nu nseamn nici o eroare , o valoare negativa nseamn o eroare fatal iar o valoare pozitiv este o avertizare. Sursa indentific unde a avut loc eroarea. Firul sursei este de obicei numele VI ului ce a produs eroarea. Eroare externa- conine informaii despre erori . Daca mulimea erorilor interne indicau eroarea, mulimea erorilor externe descriu statutul erorilor al acestui VI. Contorul citete perioada dintre pulsurile de ieire. Dac codul comenzii este 0, 1, 4, sau 5 contorul poate fi 0 n 65535 operaii binare de contor i 0 n 9999 operaii codate zecimale (BCD). Dac codul comenzii este 2 sau 3 contorul 2 poate fi ntre 65535 i zero n operaii binare i ntre 9999 i 0 n operaiile contorului BCD. NOT : 0 este echivalentul 65536 n operaiile binare ale contorului i 10000 n operaiile BCD ale contorului . Ieirea este valid cnd codul comenzii = 7 (resetare). 0 : Nivel jos 1: Nivel ridicat Binar sau BCD controleaz dac contorul opereaz ca un contor binar de 16 bii sau ca un contor BCD. 0: 4 digii ai contorului BCD 1: 16-bii ai contorului binar Citirea valorilor. Cnd se seteaz codul de comand 6 (citirea valorilor) se ntoarce valoarea de pe contor.

106