Sunteți pe pagina 1din 200

DAN SELITEANU EMIL PETRE

COSMIN IONETE DAN POPESCU

DORIN ENDRESCU

APLICAII LABVIEW PENTRU ACHIZIIA I GENERAREA DATELOR

Editura SITECH Craiova 2004

PREFA

LabVIEW este un limbaj de programare grafic produs de National Instruments, SUA, prima variant a limbajului fiind lansat pe pia n anul 1983. Denumirea limbajului LabVIEW provine din prescurtarea din limba englez: Laboratory Virtual Instrument Engineering Workbench. Limbajul de programare este conceput pentru valorificarea facilitilor interfeelor grafice cu utilizatorul dezvoltate de sistemele de operare moderne. LabVIEW este un limbaj grafic prin modul n care este construit i salvat codul surs: nu exist un cod bazat pe text ca n limbajele clasice, ci o diagram a fluxului de date. Din acest motiv, LabVIEW este un limbaj des utilizat de ctre ingineri, care, n locul folosirii unui limbaj convenional bazat pe text, prefer crearea i vizualizarea grafic a fluxului de date. LabVIEW este un mediu de programare destinat achiziiei, analizei, prelucrrii i afirii datelor. Utilizarea acestui limbaj s-a remarcat n special n cazul instrumentaiei de msurare bazat pe tehnica de calcul. Principiul fundamental pe baza cruia este scris codul LabVIEW este fluxul de date: datele sunt trecute prin noduri n interiorul crora programul determin ordinea de execuie a diverselor funcii. LabVIEW este un limbaj modular, un modul de program fiind numit Instrument Virtual (Virtual Instrument VI). Un VI este un obiect care are intrri, proceseaz date i furnizeaz ieiri. Ordinea n care utilizatorul dorete s prelucreze datele prin intermediul unor funcii se poate realiza prin nlnuirea mai multor VI-uri care au intrri i ieiri comune. Din punct de vedere al versiunilor LabVIEW existente n circulaie, n mod uzual sunt folosite versiunile 4 - 7, ultima recent lansat de firma productoare. Prezenta lucrare se bazeaz pe versiunile 4 i 6 ale limbajului, care au fost achiziionate de ctre Facultatea de Automatic, Calculatoare i Electronic a Universitii din Craiova. 3

Bazele programrii n LabVIEW au fost abordate de ctre autori n lucrarea [18] din referinele bibliografice: Ghid de programare n LabVIEW. Aplicaii pentru prelucrarea semnalelor, Tipografia Universitii din Craiova, 2003. Noiunile de baz privind programarea n LabVIEW pot fi nsuite i prin studiul manualului de utilizare [22] sau prin parcurgerea lucrrilor [4], [7], [23], [24] din lista referinelor bibliografice. Prezenta lucrare presupune c aceste cunotine de baz despre LabVIEW sunt cunoscute. Lucrarea de fa i propune realizarea unor aplicaii de achiziie i generare a datelor prin utilizarea unor sisteme de achiziie a datelor bazate pe LabVIEW ca software de aplicaie i pe hardwareul de achiziie existent n dotarea laboratoarelor Facultii de Automatic, Calculatoare i Electronic din Craiova. Prin sistem de achiziie a datelor se nelege n sens larg un sistem de msurare care permite vizualizarea i/sau nregistrarea evoluiei temporale a mai multor mrimi, analogice i/sau numerice, poate implementa mai multe regimuri de achiziie i permite diverse prelucrri numerice. Prin completarea configuraiei unui calculator (de regul un calculator personal PC) cu elemente din categoria interfeelor de proces (plci de achiziie) se poate obine un sistem de achiziie a datelor. Un sistem de achiziie astfel obinut mai poart numele de sistem de achiziie a datelor de tip instrument virtual. Placa de achiziie este o plac de extensie care poate fi conectat intern prin instalarea direct ntr-un slot de extensie al calculatorului sau poate fi extern, caz n care este conectat la calculator printr-un cablu extern. Placa de achiziie este caracterizat prin subsisteme specializate (sistemul intrrilor analogice, sistemul intrrilor numerice, sistemul ieirilor analogice, sistemul ieirilor numerice, sistemul de numrare/temporizare). Prezenta lucrare utilizeaz hardware de achiziie furnizat de firma National Instruments i anume plci de achiziie AT-MIO-16H i module de condiionare a semnalului din seria 5B. Pentru cunoaterea funcionrii plcilor de achiziie este prezentat (n anex) traducerea manualului de utilizare editat de firma productoare. Deoarece prezentul volum abordeaz aplicaii practice de achiziie a datelor, pentru aprofundarea unor noiuni teoretice privind sistemele de achiziie a datelor, precum i parcurgerea altor exemple de implementare practic a acestora, se recomand lucrrile [1], [3], [5], [8], [12], [14], [19], [20] din lista referinelor bibliografice. 4

Prezentul manual este structurat n 8 lucrri practice, care implementeaz aplicaii de achiziie i generare a datelor, declanarea achiziiilor cu semnale de tip trigger, stocarea datelor n regim data logger, aplicaii de achiziie i generare a semnalului audio (prin utilizarea plcilor de sunet ca i plci de achiziie). Lucrarea se adreseaz studenilor Facultii de Automatic, Calculatoare i Electronic, constituind un suport de curs i ndeosebi de laborator pentru o serie de discipline, cum ar fi Sisteme de achiziie i interfee de proces; Semnale, circuite i sisteme; Software industrial; Sisteme de operare i limbaje n timp real; Procesarea numeric a semnalelor etc. Lucrarea poate fi util i altor studeni i specialiti interesai de utilizarea unui software modern pentru aplicaii complexe de achiziie a datelor. Deoarece n lucrare sunt abordate n special achiziia i generarea datelor analogice, prezentul manual va fi continuat prin aplicaii dezvoltate pentru intrri i ieiri numerice, precum i pentru controlul transmisiilor seriale i paralele. De asemenea, va fi abordat analiza i proiectarea unor aplicaii de timp real pentru conducerea proceselor. Autorii

CUPRINS
Lucrarea nr. 1. Instrumente virtuale pentru achiziii de date. Intrri analogice. Achiziii de date mono-punct Lucrarea nr. 2. Intrri analogice. Achiziii de date multi-punct Lucrarea nr. 3. Controlul achiziiilor de date cu semnale de tip trigger Lucrarea nr. 4. Instrumente virtuale pentru generarea datelor. Ieiri analogice. Generarea fr buffer a datelor Lucrarea nr. 5. Ieiri analogice. Generarea bufferat a datelor Lucrarea nr. 6. Operaii cu fiiere. Stocarea (data logging) i citirea datelor Lucrarea nr. 8. Aplicaii de achiziie/generare a semnalului audio (controlul intrrilor/ieirilor plcilor de sunet) Anexa 1. Anexa 2. Bibliografie Placa de achiziie AT-MIO-16H Manual de utilizare, National Instruments Amplificatorul de precizie pentru termocuplul de tip J

7 27 45 61 71 89

Lucrarea nr. 7. Aplicaie de msurare i achiziie a temperaturii 109

119 139 195 199

LUCRAREA NR. 1 Instrumente virtuale pentru achiziii de date. Intrri analogice. Achiziii de date mono-punct
1. Tipuri de achiziii de date 1.1. Achiziii mono-canal i multi-canal O plac de achiziie poate realiza achiziii de date pe un singur canal sau pe mai multe canale: - achiziie mono-canal (single-channel data acquisition) - achiziie multi-canal (multiple-channel data acquisition) n cazul achiziiei mono-canal se selecteaz un singur canal de intrare analogic i se seteaz o singur amplificare (care determin n funcie de domeniul de intrare un domeniu efectiv de intrare a se vedea subcapitolul de configurare a intrrilor analogice). La fiecare perioad de eantionare este realizat o singur conversie analognumeric pe canalul respectiv. n cazul achiziiei multi-canal, placa de achiziie scaneaz un set de canale de intrri analogice, fiecare cu propria sa amplificare (domeniu efectiv de intrare). n cadrul acestei metode, placa stocheaz o list sub forma unei secvene care precizeaz canalele analogice care trebuie citite, precum i amplificrile setate pentru canalele respective. n timpul citirii, circuitul de intrri analogice realizeaz cte o conversie analog-numeric pentru fiecare canal analogic (fiecare pereche canal/amplificare) din secvena respectiv. Conversia analognumeric este realizat o dat la fiecare perioad de eantionare. n timpul realizrii conversiei analog-numerice curente, placa comut pe canalul analogic urmtor din secven, astfel nct achiziia s fie ct mai rapid. Atunci cnd s-a ajuns la sfritul secvenei, placa ateapt pn la terminarea unui interval de citire nainte de a relua achiziia canalelor din secven. Canalele sunt citite n mod repetat la nceputul fiecrui interval de citire pn cnd numrul de eantioane precizat de utilizator este achiziionat. 1.2. Achiziii cu trigger Achiziiile de date pot fi startate pentru anumite aplicaii la un anumit moment de timp, fr o legtur direct cu evoluia datelor
7

respective (fr triggerare). Pentru alte aplicaii, este necesar declanarea achiziiei de date analogice la momente de timp bine precizate (cu triggerare). De exemplu, dac testm rspunsul unei instalaii la o intrare tip (treapt, impuls etc.), intrarea de test respectiv poate fi utilizat i pentru startarea achiziiei de date. n caz contrar este necesar nceperea achiziiei nainte de aplicarea intrrii respective, ceea ce determin un consum nejustificat de resurse. Prin urmare, achiziia de date poate ncepe n funcie de condiia sau starea unui semnal numeric sau analogic, utiliznd o tehnic numit triggerare (declanare). Un trigger este un eveniment care starteaz achiziia datelor. Exist dou tipuri de triggerare: hardware (care poate fi analogic sau numeric) i software. Plcile de achiziie pot funciona n dou moduri principale de achiziie, n funcie de apariia evenimentului trigger, prin care se definete zona de interes din evoluiile analizate: modul posttrigger modul pretrigger Modul posttrigger realizeaz achiziia unui numr specificat de eantioane dup apariia unui eveniment trigger, adic dup recepionarea unui semnal trigger (de sincronizare). Dup ce bufferul care stocheaz datele achiziionate (de lungime specificat de utilizator) este plin, achiziia este stopat. n cadrul modului pretrigger datele sunt achiziionate continuu, nainte i dup primirea unui semnal trigger. Datele sunt colectate ntr-un buffer precizat de utilizator pn cnd placa recepioneaz semnalul trigger. Dup aceasta, sistemul de achiziie va mai colecta un numr specificat de eantioane dup care stopeaz achiziia. Bufferul este tratat ca un buffer circular, adic dup ce ntregul buffer este completat, datele sunt stocate de la nceput prin suprascrierea datelor vechi. La terminarea achiziiei, bufferul conine eantioane dinaintea i dup apariia semnalului trigger. Numrul de eantioane salvate n buffer depinde de lungimea acestuia (specificat de utilizator) i de numrul specificat de eantioane de achiziionat dup apariia semnalului trigger. 1.3. Achiziii mono-punct i multi-punct Din punct de vedere al numrului de eantioane achiziionat de ctre sistemul de achiziie pentru o anumit aplicaie, putem avea achiziii mono-punct (single-point) i achiziii de puncte multiple
8

(multiple-point). De exemplu, o achiziie a unui singur eantion, pe un singur canal (single-channel single-point) este o operaie de achiziie foarte simpl, care nu utilizeaz buffere. Software-ul de achiziie citete o singur valoare (un singur eantion) de la un canal de intrare i furnizeaz imediat sistemului acea valoare. Un exemplu de astfel de achiziie este monitorizarea periodic a nivelului unui lichid dintr-un rezervor. Traductorul, care convertete nivelul ntr-o tensiune, este conectat (eventual printr-un circuit de condiionare a semnalului) la unul dintre canalele de intrare analogic ale plcii de achiziie; atunci cnd se dorete cunoaterea nivelului din rezervor se iniiaz o achiziie mono-canal mono-punct. Dac sunt necesare informaii mono-punct de la mai multe surse (de exemplu, se dorete i cunoaterea temperaturii lichidului din rezervor) se realizeaz o achiziie mono-punct dar multi-canal (multiple-channel, single-point). Software-ul de achiziie va executa o citire a tuturor canalelor de intrare specificate i va furniza cte un eantion de pe fiecare canal utilizat. Observaie: Achiziia de date se poate realiza sub control software (software-timed), i atunci tactul necesar controlului vitezei de achiziie este furnizat de ctre ceasul sistemului de calcul (n acest caz controlul fiind afectat de posibile ntreruperi), sau atunci cnd este necesar o mai mare precizie, achiziia se realizeaz sub controlul ceasului de pe hardware-ul de achiziie sau sub controlul unui ceas extern (hardware-timed). Achiziiile multiple de date (multi-point) pe un singur canal sau multi-canal se pot realiza fie prin utilizarea unei structuri software repetitive (de tip bucl) a unei achiziii single-point, deci fr utilizarea unui buffer, metod care este ns consumatoare de timp i ineficient, sau prin utilizarea metodelor cu bufferare. n funcie de modul de utilizare al bufferelor pentru stocarea eantioanelor achiziionate, exist tehnici cu buffer simplu (simple-buffer) i tehnici cu buffer circular (circular-buffer). Acestea din urm se bazeaz pe completarea unui buffer specificat de utilizator n mod continuu, de unde i denumirea de buffer circular. Spre deosebire de tehnica cu buffer simplu, n cadrul acestei tehnici se apeleaz la un al doilea buffer, care preia datele vechi din primul buffer, nainte ca acestea s fie suprascrise. Achiziiile multi-punct reprezint de fapt achiziionarea datelor ca forme de und (waveforms) semnale variabile n timp.
9

n diagrama din Fig. 1 este realizat o prezentare succint a tipurilor de achiziii de date (analogice). Fr trigger Achiziii de date Hardware: Cu trigger Software Mod posttrigger Mod pretrigger Mono-punct (single-point)
(achiziia unui singur eantion)

-Analogic -Numeric

Multi-punct (multiple-point sau waveform acquisition)

Mono-canal Multi-canal (single-channel) (multiple-channel) Achiziii ne-bufferate (non-buffered) i fr sincronizare (non-timed)

Multi-canal Mono-canal (single-channel) (multiplechannel)

Achiziii cu structuri repetitive (control loops) (ne-bufferate)

-Software-timed -Hardware-timed (cu ceas intern sau extern)

Achiziii bufferate

Cu buffer simplu Cu buffer circular (simple-buffer) (circular-buffer) (achiziii hardware-timed) Fig. 1. Tipuri de achiziii de date
10

2. Instrumente virtuale LabVIEW pentru achiziii de date n LabVIEW controlul plcilor de achiziie se realizeaz cu ajutorul unor instrumente virtuale (VI) obinute din lista de comenzi Functions, meniul DAQ. Lista de comenzi DAQ (Data Acquisition) conine instrumente virtuale grupate n urmtoarele biblioteci (Fig. 2): Analog Input, Analog Output, Digital Input/Output, Counter, Calibration and Configuration, Signal Conditioning. La realizarea unor aplicaii cu VI-urile de achiziie trebuie respectat un principiu de baz i anume o aranjare secvenial a acestor instrumente (numite i funcii de achiziie) n vederea unei executri coerente a programului. Spre exemplu, configurarea plcii i calibrarea sa se realizeaz naintea citirii datelor. Programarea acestei aranjri se realizeaz printr-o nlnuire de conexiuni numite task ID [in/out] (Fig. 3). Task ID este de fapt un numr generat de LabVIEW care codific numrul plcii de achiziie i numrul de grup dup configurarea acestuia (prin grup nelegnd o colecie de canale de intrare sau de ieire sau porturi). Conexiunile de tip error se refer la erorile de execuie aprute n diferite etape.

Fig. 2. Meniul Data Acquisition DAQ


TaskID TaskID in TaskID out TaskID in

Fig. 3. nlnuirea logic a funciilor de achiziii de date prin conexiuni task ID i error
11

2.1. Biblioteca de instrumente pentru intrri analogice Funciile pentru intrri analogice sunt grupate n patru clase sau sub-biblioteci: Easy Analog Input VIs, Intermediate Analog Input VIs, Analog Input Utilities VIs, i Advanced Analog Input VIs (Fig. 4). Biblioteca Easy Analog Input VIs conine instrumente executabile, de nivel nalt, capabile s realizeze operaiuni de baz pentru intrri analogice. Instrumentele din biblioteca Easy Analog Input VIs sunt construite pe baza VI-urilor din biblioteca Intermediate Analog Input VIs, care la rndul lor sunt construite pe baza VI-urilor din biblioteca Advanced Analog Input VIs. Un instrument de tip Easy Analog Input VIs furnizeaz o interfa utilizator convenabil pentru intrrile analogice uzuale, pentru aplicaii complexe fiind necesar folosirea instrumentelor din celelalte biblioteci. Instrumentele de nivel intermediar pentru intrri analogice se pot gsi n biblioteca Intermediate Analog Input VIs. Aceste instrumente sunt construite pe baza instrumentelor fundamentale din Advanced Analog Input VIs. Instrumentele de nivel intermediar sunt flexibile n utilizare, asigurnd n acelai timp majoritatea facilitilor instrumentelor avansate. Instrumentele din Analog Input Utilities VIs sunt tot instrumente de nivel intermediar i ofer soluii simple pentru situaiile uzuale de folosire a intrrilor analogice.

Easy Analog Input VIs Intermediate Analog Input VIs

Analog Input Utilities VIs

Advanced Analog Input VIs

Fig. 4. Biblioteca Analog Input


12

Instrumentele avansate pentru achiziia intrrilor analogice sunt grupate n Advanced Analog Input VIs. Aceste instrumente constituie interfaa ntre software-ul de aplicaie LabVIEW i driverele NI-DAQ, constituind baza celorlalte VI-uri din meniul Analog Input. Atunci cnd se dorete realizarea unei aplicaii pentru achiziia de date analogice instrumentele virtuale trebuie ordonate ntro secven logic; aceasta conine etape de configurare a plcii, de lansare a achiziiei, de citire a datelor i de tergere a acestora i este prezentat n Fig. 4. Aceast secven poate fi realizat prin utilizarea unor VI-uri de nivel intermediar, secveniate ca n Fig. 5. De asemenea, etapele din secven corespunztoare pot fi executate de un singur VI, ce aparine de regul bibliotecii Analog Input Utilities VIs.
Configurare plac (AI Config.vi) Lansare achiziie (AI Start.vi) Citire date (AI Read.vi) tergere date (AI Clear.vi)

Fig. 5. Secvena VI-urilor pentru achiziia de date analogice Instrumentele de achiziie au o serie de parametri care permit realizarea unor aplicaii precizate. De regul, aceti parametri au valori ce corespund unei utilizri clasice a funciei. Diferena dintre parametrii primari i parametrii secundari ai instrumentului este vizualizat n fereastra de ajutor (help) prin grosimea caracterelor. Parametrii primari (cei mai importani) apar ngroai. Valorile implicite ale parametrilor (default) apar ntre paranteze. Aa cum s-a precizat n primul paragraf, achiziiile de date pot fi de tip mono-punct sau multi-punct, mono-canal sau multi-canal. n funcie de tipul achiziiei care se realizeaz, pot fi folosite diferite VIuri din biblioteca Analog Input. 2.2. Achiziii de date mono-punct (single-point) Achiziia mono-punct, a unui singur eantion, pe un singur canal (single-channel single-point) este o operaie de achiziie simpl,
13

nesincronizat, care nu utilizeaz buffere eantionul achiziionat este preluat direct de la plac, fr stocare intermediar n memoria calculatorului. Pentru operaiile single-point single-channel simple se poate utiliza instrumentul virtual AI Sample Channel.vi, disponibil n sub-biblioteca Easy Analog Input VIs. AI Sample Channel.vi msoar semnalul de pe canalul specificat i furnizeaz valoarea citit i scalat. Acest instrument virtual, cu precizarea terminalelor este prezentat n Fig. 6. Parametrul de intrare device reprezint numrul plcii de achiziii de date utilizate (atunci cnd exist o singur plac, device = 1), iar parametrul de intrare channel este numrul canalului de intrare analogic utilizat pentru achiziie. High limit i low limit sunt cea mai mare, respectiv cea mai mic valoare permis pentru semnalul - n cazul de fa un singur punct - care este achiziionat. Ieirea sample conine valoarea scalat (n voli) citit pe intrarea analogic specificat prin device i channel. O aplicaie LabVIEW realizat cu acest VI este foarte simpl i are diagrama din Fig. 7, eantionul achiziionat fiind afiat cu ajutorul unui indicator numeric (se poate folosi i un indicator grafic). n cazul n care sunt necesare informaii mono-punct de la mai multe surse se realizeaz o achiziie mono-punct dar multi-canal (multiple-channel single-point), prin citirea tuturor canalelor de intrare specificate i furnizarea a cte unui eantion de pe fiecare canal. Unul dintre instrumentele virtuale care se poate utiliza n acest caz este AI Sample Channels.vi, din sub-biblioteca Easy Analog Input VIs. AI Sample Channels.vi (Fig. 8) msoar cte o singur tensiune (un singur punct) de la canalele specificate. Parametrii acestui VI sunt asemntori cu cei ai instrumentului AI Sample Channel.vi, cu deosebirea c parametrul channels permite precizarea unei liste cu canalele de pe care se face achiziia i parametrul de ieire samples furnizeaz un vector care conine valorile n voli ale eantioanelor citite de pe canalele specificate (cte un eantion de pe fiecare canal). Domeniul de intrare permis pentru semnalele de intrare este definit n mod identic pentru toate canalele prin high limit i low limit.

Fig. 6. Instrumentul AI Sample Channel.vi


14

Fig. 7. Achiziia mono-punct mono-canal cu AI Sample Channel.vi

Fig. 8. Instrumentul AI Sample Channels.vi

Fig. 9. Achiziia mono-punct multi-canal cu AI Sample Channels.vi Diagrama unei aplicaii LabVIEW pentru achiziia monopunct pe dou canale cu VI-ul AI Sample Channels.vi este prezentat n Fig. 9. Aplicaia utilizeaz funcii Index Array pentru selectarea datelor de pe cele dou canale i indicatoare numerice pentru afiarea celor dou eantioane. Dup cum s-a observat din cele dou exemple prezentate anterior, folosirea unor instrumente de nivel nalt din sub-biblioteca
15

Easy Analog Input VIs are anumite avantaje, cum ar fi: prezena unui singur VI n diagram, numr mic de terminale, nu apar conexiuni de tip taskID i error etc. Pe de alt parte, aceste VI-uri nu sunt flexibile, ceea ce nseamn c programatorul nu are acces la faciliti importante ale hardware-ului de achiziie, cum ar fi stabilirea modului de triggerare sau achiziia scanat (cu interval de scanare). n plus, instrumentele din Easy Analog Input VIs realizeaz totdeauna o reconfigurare la iniializare, ceea ce determin micorarea vitezei de procesare. Atunci cnd se impun eficien i vitez sporite, trebuie utilizate instrumente din sub-biblioteca Intermediate Analog Input VIs, care realizeaz configurarea achiziiei o singur dat i permit achiziia continu a datelor fr reconfigurare. De asemenea, VI-urile intermediare ofer flexibilitate, controlul erorilor i eficien n dezvoltarea aplicaiei de achiziie. Instrumentele intermediare sunt recomandate pentru achiziii de date multi-punct bufferate. Un exemplu de utilizare a unui instrument de nivel intermediar pentru o achiziie single-point este cel din Fig. 10, n care un instrument intermediar AI Single Scan.vi este cuplat cu un instrument intermediar AI Config.vi. Instrumentul AI Single Scan.vi poate fi utilizat pentru realizarea unei singure scanri, adic pentru citirea a cte unui eantion de pe fiecare canal din lista specificat. Dac se specific un singur canal (prin AI Config.vi), atunci se realizeaz o achiziie mono-punct mono-canal. Ambele VI-uri de achiziie utilizate n aplicaia din Fig. 10 vor fi prezentate n cadrul analizei instrumentelor din sub-biblioteca de instrumente intermediare. n aplicaia LabVIEW din Fig. 10, controlul care definete canalele de intrare este un vector de stringuri (iruri de caractere), fiecare din aceste stringuri definind o list cu canale de intrare (prin numerele canalelor, desprite prin virgul, de exemplu: 0, 3, 5). n cazul utilizrii unui singur canal, se pstreaz setarea implicit. Parametrul input limits este un vector (tablou unidimensional) de clustere, fiecare cluster coninnd dou controale numerice care definesc high limit i low limit corespunztoare unui anumit canal de intrare (definite separat n exemplele anterioare). Din Fig. 10 se observ apariia conexiunii task ID in / task ID out i a conexiunii de eroare, analizate n Fig. 3. Indicatorul Voltage data conine datele analogice citite, care n cazul achiziiei mono-punct mono-canal reprezint un singur eantion de pe canalul specificat.
16

Fig. 10. Achiziie single-point cu instrumente de nivel intermediar 2.3. Instrumente virtuale de achiziie intermediare n continuare vor fi descrise VI-urile intermediare pentru achiziia de date, i anume cinci instrumente de nivel intermediar din biblioteca Intermediate Analog Input VIs i dou instrumente din biblioteca Analog Input Utilities VIs. n Fig. 11 15 sunt prezentate instrumentele intermediare AI Config.vi, AI Start.vi, AI Read.vi, AI Single Scan.vi i AI Clear.vi, cu terminalele de intrare i de ieire corespunztoare. Se observ o serie de terminale comune care apar la toate instrumentele virtuale din figurile precizate. n Tabelul 1 sunt descrise pe scurt terminalele comune, cu meniunea c fiecare VI poate avea terminale de intrare i ieire specifice a cror semnificaie se desprinde fie din context fie se poate afla apelnd la sistemul de help. AI Config.vi realizeaz configurarea unei operaiuni de intrare analogic pentru un set de canale de intrare specificat, prin configurarea hardware-ului i alocarea unei memorii tampon (buffer) pentru datele analogice. AI Start.vi seteaz rata de scanare, numrul de scanri care se vor efectua, condiiile de triggerare, dup care starteaz achiziia de date analogice. AI Read.vi citete datele n cadrul unei achiziii bufferate. Dup cum s-a vzut n paragraful anterior, AI Single Scan.vi returneaz rezultatul unei singure scanri corespunztoare unui grup de canale specificat anterior. AI Clear.vi terge task-ul de intrare analogic asociat cu taskID in.
17

Fig. 11. Instrumentul AI Config.vi

Fig. 12. Instrumentul AI Start.vi

Fig. 13. Instrumentul AI Read.vi

Fig. 14. Instrumentul AI Single Scan.vi

Fig. 15. Instrumentul AI Clear.vi


18

numrul conectorului plcii de achiziii de date. Pentru o singur plac AT-MIO, device = 1 descrie canalele de intrare utilizate. Implicit are channels (0) valoarea 0 identific grupul i tipul operaiei I/O task ID in are aceeai valoare ca task ID in task ID out descrie erorile care apar nainte de execuia VIerror in (no ului respectiv. Dac a aprut o eroare, VI-ul error) returneaz valoarea erorii ntr-un cluster n error out. Implicit are valoarea "no error" conine informaia despre erori. n cazul n care error out clusterul error in indic o eroare, clusterul error out va conine aceeai informaie. Dac nu, error out descrie erorile aprute la execuia VI-ului respectiv buffer size (1000 mrimea memoriei tampon alocat pentru stocarea eantioanelor (implicit 1000) scans) number of scans numrul de scanri care se efectueaz (implicit 1000) to acquire frecvena de achiziie (1000 de scanri pe secund scan rate n lipsa precizrii). Este echivalent cu frecvena (scan/sec) de eantionare pe canalul respectiv Este un tablou (o matrice) care conine datele voltage data analogice achiziionate n Fig. 16 i Fig. 17 sunt prezentate instrumentele AI Waveform Scan.vi i AI Continuous Scan.vi din sub-biblioteca Analog Input Utilities VIs, instrumente de nivel intermediar des utilizate n aplicaii, o parte din terminalele de intrare i de ieire comune fiind descrise n Tabelul 1. AI Waveform Scan.vi realizeaz numrul specificat de scanri cu rata de scanare specificat i returneaz toate datele achiziionate. Achiziia poate fi declanat (triggerat) prin intermediul unui trigger. AI Continuous Scan.vi realizeaz msurarea n mod continuu (dar eantionat n timp) a unui grup de canale, stocheaz datele ntr19

Denumire terminal device

Tabelul 1 Descriere

un buffer circular i returneaz un numr specificat de date msurate la fiecare apelare a VI-ului.

Fig. 16. Instrumentul AI Waveform Scan.vi

Fig. 17. Instrumentul AI Continuous Scan.vi 3. Exemple de achiziii de date mono-punct Rularea programelor de achiziie i/sau generare de date analogice se poate face doar n prezena unei plci de achiziie, care trebuie configurat corespunztor. n Anexa 1 este prezentat detaliat placa de achiziie AT-MIO-16H a firmei National Instruments, plac pe care se bazeaz aplicaiile din acest paragraf. Prelucrarea datelor numerice precum i gestionarea interfeelor de intrri/ieiri analogice/numerice se face sub controlul pachetelor de programe LabVIEW i al software-ului (driver) NI-DAQ pentru DOS/ Windows. Pentru utilizarea corect a plcii de achiziie AT-MIO-16H este necesar parcurgerea atent a descrierii modului de funcionare a plcii din Anexa 1, dup care trebuie realizat configurarea acesteia n funcie de aplicaia dorit.
20

3.1. Configurarea plcii AT-MIO-16 Placa de achiziie AT-MIO-16H are, din fabricaie, o setare iniial (implicit), care se poate modifica n funcie de situaia real n care este folosit. Placa de achiziie AT-MIO-16H nu dispune de tehnologia plug and play. Cu alte cuvinte, sistemul de operare Windows nu poate detecta tipul plcii de achiziie i nici nu se pot face setri software ale plcii. Orice modificare a setrilor plcii se face mai nti prin dispunerea corespunztoare a jumperelor pe plac i apoi, printr-un program de configurare special, sistemul de operare este informat de toate aceste schimbri. Placa AT-MIO-16H conine 13 jumpere (trapuri) i un comutator DIP pentru configurarea interfeei cu magistrala AT i setarea intrrilor i ieirilor analogice (Analog I/O settings). Comutatorul DIP este folosit pentru setarea adresei I/O de baz. Dou jumpere sunt folosite pentru selectarea canalului de ntrerupere i pentru accesul direct la memorie (DMA Direct Memory Access). Celelalte 11 jumpere rmase sunt folosite pentru a schimba configuraia circuitelor de intrri i ieiri analogice (a se vedea Anexa 1 Capitolul 3). Pentru verificarea i prezentarea modului de folosire a plcii se poate lansa utilitarul NI-DAQ Configuration Utility (Fig. 18) din pachetul de programe al driverului NI-DAQ, instalat n prealabil pe calculatorul n care este poziionat placa de achiziie.

Fig. 18. Meniul principal al utilitarului de configurare NI-DAQ


21

Din Fig. 18 rezult c avem o singur plac de achiziie (Device # 1) de tipul AT-MIO-16H9, care folosete adresa de baz 220H, canalele DMA 6 i 7 i nivelul de ntrerupere 5. Prin apsarea butonului de configurare/test din meniul principal se deschide o alt fereastr (Fig. 19) n care se poate realiza o verificare a setrilor i o configurare a adresei de baz (care trebuie s corespund cu setarea de pe plac). Prin acionarea push-butonului Hardware (Fig. 19) se pot vizualiza/testa setrile pentru intrrile analogice (Fig. 20) i ieirile analogice (Fig. 21). Intrrile analogice sunt setate pentru gama 5V+5V, mod diferenial, domeniul de intrare fiind corespunztor cu modulele de condiionare a semnalelor (izolare galvanic) disponibile n laborator (seria 5B31-02 i 5B41-02 National Instruments). Ieirile analogice sunt setate n domeniul -10V...+10V (bipolar).

Fig. 19. Setrile pentru adresa de baz, DMA i ntreruperi

Fig. 20. Configurarea intrrilor analogice


22

Fig. 21. Configurarea ieirilor analogice Pentru testarea configuraiei plcii i pentru aplicaiile de achiziii de date se va folosi o surs de tensiune dual de tip IEMI I4102 M de 2 x 40 V, 1.2 A i un voltmetru de c.c. Sursa de c.c. va fi conectat la bornele 2, 3 ale modulului de intrare 5B41-02 (de band larg) de pe canalul de intrare analogic 0, situat pe rack-ul exterior. Voltmetrul va fi cuplat la ieirea analogic 0 (pinii 20, 23 ai conectorului I/O al plcii - a se vedea Anexa 1). Pentru testarea plcii se va apsa butonul Test (Fig. 19), ceea ce va avea ca rezultat apariia ferestrei de test din Fig. 22. Pentru testarea intrrii analogice de pe canalul 0 se va conecta sursa de tensiune din care se va furniza o tensiune (pn n 5V). La apsarea butonului Analog Input va fi afiat tensiunea citit de plac i un semnal de eroare (0 n cazul funcionrii corecte) Fig. 23.

Fig. 22. Fereastra de testare a intrrilor/ieirilor analogice


23

Fig. 23. Teste pentru intrarea analogic 0 i pentru ieirea analogic 0 Pentru testarea ieirii analogice de pe canalul 0, se va introduce n caseta Voltage o tensiune continu (de exemplu 3V) i se apas butonul Analog Output. Pe voltmetrul de c.c. conectat la ieirea 0 trebuie s fie citit tensiunea de 3V, iar n fereastra de test va fi afiat un semnal de eroare (0 n cazul funcionrii corecte) Fig. 23. Dac se dorete testarea altor canale de intrare sau ieire analogic trebuie fcute modificri corespunztoare (conexiuni i casete). 3.2. Achiziia unei tensiuni de la o surs Dup configurarea i verificarea plcii AT-MIO-16H, se poate construi o aplicaie de achiziie mono-punct a unei tensiuni de la o surs exterioar. Achiziia mono-punct, a unui singur eantion, pe un singur canal (single-channel single-point) se poate realiza utiliznd instrumentul virtual AI Sample Channel.vi, descris n subparagraful 2.2. AI Sample Channel.vi msoar semnalul de pe canalul specificat i furnizeaz valoarea citit i scalat. Aplicaia LabVIEW are diagrama din Fig. 7, iar fereastra panou este prezentat n Fig. 24. Reamintim c parametrul de intrare device reprezint numrul plcii de achiziii de date utilizate, iar parametrul de intrare channel este numrul canalului de intrare analogic utilizat pentru achiziie. Ieirea sample conine valoarea scalat (n voli) citit pe intrarea analogic specificat prin device: 1 i channel: 0. Eantionul achiziionat poate fi afiat cu ajutorul unui indicator numeric i/sau grafic (n Fig. 25 s-a realizat o rulare continu a aplicaiei pentru vizualizarea tensiunii cu Waveform Chart).
24

Fig. 24. Achiziia cu AI Sample Channel.vi a unei tensiuni continue

Fig. 25. Achiziia mono-punct mono-canal cu AI Sample Channel.vi 3.3. Achiziia mono-punct multi-canal a dou tensiuni n cazul n care sunt necesare informaii mono-punct de la mai multe surse se realizeaz o achiziie mono-punct dar multi-canal (multiple-channel single-point), prin citirea tuturor canalelor de intrare specificate i furnizarea a cte unui eantion de pe fiecare canal. n Fig. 26 este prezentat fereastra panou a diagramei din Fig. 9, care permite achiziia mono-punct a dou tensiuni de pe dou canale de intrare analogic. Pentru realizarea aplicaiei este necesar conectarea a nc unei surse de tensiune la bornele 2, 3 ale modulului de izolare galvanic de pe canalul de intrare 1 (modul de tip 5B31).
25

Fig. 26. Achiziia mono-punct multi-canal cu AI Sample Channels.vi Aplicaia LabVIEW este construit n jurul instrumentului AI Sample Channels.vi. Au fost utilizate suplimentar fa de aplicaia din Fig. 9 dou indicatoare numerice circulare pentru afiarea tensiunilor de la cele dou intrri. Se observ c indicatorul channels, de tip string, conine o list cu cele dou canale de intrri analogice care sunt scanate prin intermediul instrumentului virtual de achiziie. 4. Tem de laborator 4.1. Ce nelegei prin achiziie mono-punct, respectiv multipunct? Dar prin achiziie mono-canal, respectiv multi-canal? Ce nelegei prin semnal de trigger? Ce tipuri de triggerare exist? Ce nelegei prin scan rate? 4.2. Identificai instrumentele virtuale pentru achiziii de date din biblioteca Data Acquisition. Ce nelegei prin conexiuni task ID i error? Parcurgei cu atenie VI-urile din sub-biblioteca Analog Input i instrumentele intermediare din paragraful 2.3. Analizai semnificaia VI-urilor i a terminalelor acestora. 4.3. Implementai aplicaia de achiziie a unei tensiuni descris n paragraful 3.2, dup configurarea plcii AT-MIO-16 i realizarea conexiunilor necesare (paragraful 3.1). 4.4. Dezvoltai o aplicaie care s citeasc o tensiune de la o baterie sau de la o surs de tensiune continu, cu instrumente de nivel intermediar (Fig. 10), pe baza exemplului din paragraful 3.2. 4.5. Dezvoltai i rulai aplicaia de achiziie a dou tensiuni descris n paragraful 3.3. 4.6. Refacei aplicaia mono-punct multi-canal de la punctul 4.5 utiliznd instrumente de achiziie de nivel intermediar.
26

LUCRAREA NR. 2 Intrri analogice. Achiziii de date multi-punct


Dup cum s-a precizat n lucrarea de laborator precedent, din punct de vedere al numrului de eantioane achiziionat de ctre sistemul de achiziie pentru o anumit aplicaie, putem avea achiziii mono-punct (single-point) i achiziii de puncte multiple (multi-point). Achiziiile multiple de date (multi-point) pe un singur canal sau multi-canal se pot realiza fie prin utilizarea unei structuri software repetitive (de tip bucl) a unei achiziii single-point, deci fr utilizarea unui buffer, metod care este ns consumatoare de timp i ineficient, sau prin utilizarea metodelor cu bufferare (simple-buffer sau circular-buffer). Achiziiile multi-punct reprezint de fapt achiziionarea datelor ca forme de und (waveforms) semnale variabile n timp. 1. Achiziia de date multi-punct cu utilizarea structurilor repetitive (control loops) Pentru achiziiile multi-punct se pot utiliza structuri repetitive (bucle) de tip For sau While n care sunt coninute aplicaii de achiziie single-point, fr buffere, sau se folosesc aplicaii cu bufferare. Achiziia cu structuri repetitive este lent, dar se folosete n aplicaii de conducere, atunci cnd dup achiziia unei valori corespunztoare unui semnal de intrare (cum ar fi mrimea reglat) se genereaz o valoare corespunztoare unui semnal de ieire (mrimea de comand), operaia de achiziie/generare continund n acest mod pe tot parcursul funcionrii procesului condus. Un exemplu de achiziie repetat care utilizeaz instrumentele intermediare AI Config.vi i AI Single Scan.vi incluse ntr-o bucl While este prezentat n VI-ul Cont Acq&Chart (immediate).vi din biblioteca de exemple Examples\ daq\ anlogin\ anlogin.llb a LabVIEW. Prin intermediul buclei While VI-ul realizeaz o serie de scanri single-point, ceea ce nseamn c practic avem un control software al vitezei de achiziie (achiziie software-timed). Diagrama asociat acestei aplicaii este prezentat n Fig. 1.
27

Fig. 1. Aplicaia Cont Acq&Chart (immediate).vi Aa cum s-a afirmat n prima lucrare, avantajul utilizrii instrumentelor intermediare const n faptul c nu este necesar configurarea canalelor de fiecare dat cnd se dorete achiziia datelor. Pentru ca instrumentul AI Config.vi s fie apelat o singur dat, acesta se plaseaz n afara buclei, aa cum se observ n Fig. 1. AI Config.vi configureaz canalele, seteaz limitele de intrare i genereaz un taskID. Dup aceasta, paseaz taskID i clusterul de eroare buclei While. LabVIEW apeleaz AI Single Scan.vi pentru realizarea unei scanri i transfer datele obinute unui VI numit My Single-Scan Processing.vi (care poate lipsi din aplicaie i care permite realizarea unor prelucrri ale datelor achiziionate). Datele sunt transferate apoi prin intermediul unei funcii Build Array la un indicator grafic de tip Waveform chart n scopul vizualizrii. Funcia Wait Until Next ms Multiple (metronom) controleaz tactul buclei While. Dup ce utilizatorul introduce valoarea ratei de scanare, aplicaia convertete aceast valoare n milisecunde i trece aceast valoare convertit funciei Wait Until Next ms Multiple. Bucla va fi executat pe tactul dat de rata de scanare. Bucla se va termina la apsarea butonului de Stop sau la apariia unei erori. Exemplul prezentat utilizeaz controlul vitezei (ratei) de achiziie printr-un mecanism software. ntruct viteza de achiziie este controlat prin intermediul ceasului sistemului de calcul, n sistem pot
28

s apar o serie de ntreruperi datorit interveniei utilizatorului, care pot duce la scderea preciziei controlului soft a unei aplicaii de achiziie. De asemenea, existena unor structuri de calcul (prelucrare) determin apariia unor ntrzieri care trebuie luate n consideraie. Pentru a mbunti precizia n cazul controlului software, trebuie redus la minimum numrul i dimensiunea indicatoarelor grafice utilizate (refresh-ul afiajului monitorului determin apariia ntreruperilor, ceea ce afecteaz viteza de execuie a buclelor). Dac aplicaiile sunt pretenioase, se va utiliza controlul hardware al vitezei de achiziie (hardware-timed control loops), care conduce la creterea preciziei achiziiei i permite obinerea unor viteze de achiziie mult mai mari. n acest caz, achiziia nu mai este ntrerupt de intervenia utilizatorului. Achiziia controlat hardware plaseaz n mod automat datele n memoria FIFO a plcii de achiziie la intervale de timp determinate de semnalele de tact de pe plac. Un exemplu de achiziie controlat hardware, ne-bufferat, cu structur repetitiv este prezentat n aplicaia Cont Acq&Chart (hw timed).vi din biblioteca Examples\daq\anlogin\anlogin.llb a LabVIEW. 2. Achiziia de date multi-punct bufferat Una din posibilitile de realizare a achiziiilor multi-punct de la unul sau mai multe canale este de a utiliza tehnici fr buffer ntr-o manier repetitiv, aa cum s-a vzut n paragraful anterior. Aceast tehnic este ineficient, mare consumatoare de timp i n plus nu exist un control al intervalului de timp dintre eantioane sau al intervalului de timp de transfer ntre canale. Pentru realizarea unei achiziii multi-punct eficient trebuie folosite buffere de date. Achiziia multi-punct mai este denumit achiziie de forme de und (waveforms). n funcie de modul de utilizare a datelor achiziionate exist dou tehnici de achiziie bufferat multi-punct: achiziie cu buffer simplu i achiziie cu buffer circular. 2.1. Achiziia multi-punct cu buffer simplu Modul de transfer bufferat al datelor presupune c LabVIEW transfer datele de la hardware-ul de achiziie n memorie la anumite intervale de timp. Pentru o achiziie bufferat, n cadrul VI-ului trebuie specificat numrul de eantioane care vor fi achiziionate i numrul de canale de la care se preiau aceste eantioane. Pe baza
29

acestor dou informaii, LabVIEW aloc un buffer n memorie pentru stocarea unui numr de puncte egal cu numrul de eantioane pe canal multiplicat cu numrul de canale. Pe msur ce se desfoar achiziia, bufferul este umplut cu date. Atunci cnd este folosit un buffer simplu, datele din buffer nu sunt accesibile pn cnd LabVIEW nu achiziioneaz toate eantioanele. Dup aceasta, datele din buffer pot fi analizate, stocate pe harddisc, afiate sau prelucrate. Pentru achiziia bufferat a unei singure forme de und de la un singur canal (achiziie multi-punct mono-canal), cea mai simpl cale este de a utiliza instrumentul AI Acquire Waveform.vi (Fig. 2) din sub-biblioteca Easy Analog Input VIs, aa cum se observ n Fig. 3. Pentru acest VI trebuie precizate numrul plcii, canalul, numrul de eantioane care se dorete a fi achiziionat de pe canalul respectiv i frecvena de eantionare (echivalent cu rata de scanare pentru un singur canal). Se poate seta amplificarea utiliznd high limit i low limit. Forma de und obinut este vizualizat cu un Waveform graph. Perioada de eantionare real este inversa frecvenei de eantionare real, care poate fi diferit de frecvena de eantionare setat la intrarea VI-ului, n funcie de performanele hardware-ului. Instrumentul de nivel nalt permite o programare uoar dar nu exist faciliti cum ar fi setarea triggerului, a semnalului de tact etc. Pentru achiziia bufferat a mai multor forme de und, adic achiziia multi-punct multi-canal, se poate utiliza, de exemplu, instrumentul AI Acquire Waveforms.vi (Fig. 4), tot din biblioteca Easy Analog Input VIs. Acest VI este asemntor cu AI Acquire Waveform.vi, dar permite achiziia de la mai multe canale. Se poate construi o aplicaie asemntoare cu cea precedent, cu precizarea unei liste cu canalele de intrare folosite, iar ieirea instrumentului (terminalul waveforms) furnizeaz o matrice care conine datele achiziionate de la canalele specificate. Pentru afiarea formelor de und obinute de pe fiecare canal se pot utiliza funcii Index Array ca n aplicaia din Fig. 9 Lucrarea de laborator nr. 1, urmate de indicatoare grafice de tip Waveform graph.

Fig. 2. Instrumentul AI Acquire Waveform.vi


30

Fig. 3. Achiziia multi-punct mono-canal cu AI Acquire Waveform.vi

Fig. 4. Instrumentul AI Acquire Waveforms.vi Pentru asigurarea unei flexibiliti sporite, achiziia multipunct bufferat utilizeaz instrumente de nivel intermediar. Aceste instrumente, prezentate n Lucrarea de laborator nr. 1, permit controlul optim al achiziiei, cum ar fi, de exemplu, citirea numai a unei pri din datele achiziionate i plasate n buffer. Instrumentele intermediare trebuie conectate ntr-o anumit ordine (a se vedea Fig. 5 Lucrarea de laborator nr. 1) iar pentru a identifica operaiunea de achiziie i pentru a executa VI-urile n ordinea corect trebuie realizate conexiunile taskID i error. Prin folosirea VI-urilor intermediare, se pot configura: triggerul, semnalul de tact pentru achiziie etc. i se poate controla fiecare etap a achiziiei. n Fig. 5 este prezentat diagrama unei aplicaii de achiziie bufferat multi-punct multi-canal care utilizeaz instrumente de nivel intermediar. Cu instrumentul AI Config.vi, se configureaz diferiii parametri de achiziie, cum ar fi canalele care sunt citite, mrimea bufferului etc. n AI Start.vi se specific parametrii utilizai pentru nceperea achiziiei i anume numrul de scanri, frecvena de scanare i setrile de trigger. n AI Read.vi se specific parametrii folosii
31

pentru citirea datelor din bufferul cu date achiziionate. n final, aplicaia utilizeaz AI Clear.vi pentru dezafectarea bufferelor i celorlalte resurse folosite pentru achiziie prin invalidarea task ID. Dac apare o eroare la execuia acestor VI-uri, programul o paseaz prin conexiunea error pn la instrumentul General Error Handler.vi, care genereaz o descriere a erorilor aprute n procesul de achiziie. Se observ c doar o parte din terminalele de intrare i de ieire ale VI-urilor sunt utilizate, restul fiind lsate la valorile lor implicite. Datele achiziionate sunt afiate cu ajutorul unui indicator grafic de tip Waveform Graph, cu opiunea Transpose Array activat, fiind posibil vizualizarea datelor primite de la mai multe canale (plotare multipl). Dup cum se cunoate, multe din sistemele de achiziie utilizeaz aa-numita eantionare secvenial, cu un singur CAN i mutliplexoare, ceea ce nseamn c acelai CAN este folosit pentru mai multe canale de intrare. De aici rezult c frecvena de eantionare maxim pe canal este egal cu frecvena de eantionare maxim a plcii mprit la numrul de canale. Pentru aceste plci, rata de scanare introdus la intrarea VIurilor este de fapt frecvena de eantionare care se dorete a fi obinut pe un canal, iar aceasta poate fi cel mult frecvena de eantionare maxim a plcii mprit la numrul de canale utilizate. O aplicaie similar cu cea din Fig. 5, dar n care se utilizeaz un singur instrument virtual AI Waveform Scan.vi, instrument de nivel intermediar (a se vedea Fig. 16 Lucrarea de laborator nr. 1) din biblioteca Analog Input Utilities VIs, este prezentat n Fig. 6.

Fig. 5. Achiziia bufferat multi-punct cu VI-uri de nivel intermediar


32

Fig. 6. Achiziia simple-buffer multi-punct cu AI Waveform Scan.vi Trebuie precizat c aplicaiile de achiziie bufferat prezentate anterior sunt executate pe un semnal de tact furnizat de placa de achiziie, adic hardware timed, ceea ce asigur o achiziie rapid i precis. Observaie: Din punct de vedere al transferului datelor din exterior pn la utilizator, achiziia bufferat a datelor poate fi descris pe scurt, dup cum urmeaz. Semnalul analogic care trebuie achiziionat este preluat de ctre hardware-ul de achiziie pe unul din canalele analogice prin intermediul amplificatorului de instrumentaie i al convertorului analog-numeric. Dup ce este convertit n form numeric, semnalul este plasat n memoria FIFO (first-in first-out) a hardware-ului de achiziie, care pstreaz datele pn cnd acestea pot fi transferate ctre calculator. Datele sunt transferate ctre calculator prin intermediul sistemului de ntreruperi sau prin DMA (Direct Memory Access) i sunt stocate ntr-un buffer al calculatorului (o zon de memorie). Mrimea bufferului este dimensionat prin instrumentul AI Config.vi. Achiziia este declanat de ctre AI Start.vi, iar bufferul este citit prin intermediul AI Read.vi, care transfer datele din bufferul calculatorului, dup ce acesta este completat, ntr-un buffer al LabVIEW, de unde acestea pot fi afiate sau prelucrate. Dac se dorete scrierea datelor achiziionate ntr-un fiier, se pot utiliza VI-uri din biblioteca Functions/File I/O.
33

2.2. Achiziia multi-punct cu buffer circular Tehnicile de achiziie cu buffer simplu se pot utiliza n multe aplicaii, ns dac trebuie vizualizate sau procesate poriuni din date imediat ce acestea sunt achiziionate, trebuie setat i folosit un buffer circular. n cazul acestei tehnici, poriuni din datele stocate n buffer sunt citite din acesta n timp ce este completat cu alte date. Prin utilizarea bufferului circular, hardware-ul de achiziie poate fi setat s achiziioneze date n mod continuu n background, n timp ce LabVIEW citete datele achiziionate din buffer. Bufferul circular difer de un buffer simplu doar prin modul n care LabVIEW plaseaz i recupereaz datele din buffer. Bufferul circular este umplut cu date, ca un buffer obinuit, dar cnd ajunge la sfritul bufferului, LabVIEW se ntoarce la nceputul acestuia i reia completarea cu date, suprascriind datele existente. Prin urmare, datele sunt citite n mod continuu. Instrumentul virtual folosit va citi datele sub form de blocuri, de la o anumit locaie din buffer, n timp ce datele intr n buffer ncepnd cu alt locaie, astfel nct s nu fie suprascrise date care nu au fost citite din buffer. Tehnica de achiziie cu buffer circular poate fi aplicat doar cu instrumente intermediare sau avansate. La folosirea bufferului circular exist dou probleme posibile: VI-ul poate citi date din buffer mai repede dect acesta este scris, sau VI-ul nu poate citi datele din buffer mai rapid dect sunt suprascrise datele. n primul caz LabVIEW ateapt sosirea datelor ce trebuie citite, n timp ce n al doilea caz VI-ul trimite un mesaj de eroare care avertizeaz c anumite date au fost suprascrise i pierdute (overflow error) datele din memoria FIFO a plcii vor fi suprascrise. Datele achiziionate prin tehnica cu buffer circular pot fi puse la dispoziia aplicaiei imediat ce acestea sunt achiziionate de exemplu, pentru afiarea lor (n aa-numitul pseudo - timp real). Singurele diferene majore care apar n ferestrele diagram ale aplicaiilor LabVIEW cu buffer circular fa de cele cu buffer simplu sunt: modul de setare a terminalului de intrare number of scans to acquire al instrumentului AI Start.vi (0 pentru achiziie continu), i apelarea repetat a instrumentului AI Read.vi pentru citirea datelor. Aceste setri pot fi aplicate pe exemplul de achiziie multi-punct cu buffer simplu din Fig. 5. Astfel, diagrama pentru o achiziie cu buffer circular derivat din aceast aplicaie este prezentat n Fig. 7. Se observ c se achiziioneaz date cu o rat de 1000 de eantioane pe secund utiliznd un buffer care poate stoca 5000 de eantioane.
34

Fig. 7. Achiziia n mod continuu multi-punct cu buffer circular Aplicaia este util n cazul monitorizrii datelor de la intrare pentru o perioad ndelungat (n mod continuu). n aplicaia din Fig. 7, instrumentul AI Config.vi seteaz canalele i mrimea bufferului, apoi AI Start.vi iniiaz achiziia de date din background i specific rata de scanare (cu number of scans to acquire setat la 0 pentru achiziie n mod continuu). n interiorul buclei While, AI Read.vi citete n mod repetat blocuri de date din buffer, a cror dimensiune este dat de terminalul number of scan to read al AI Read.vi, care nu mai este la valoarea sa implicit -1: citirea tuturor datelor din buffer, ci este setat la numrul de eantioane care se dorete a fi citite o dat i puse la dispoziia aplicaiei. n aplicaia dat, blocurile au dimensiunea egal cu maximul dintre 1000 de eantioane i dimensiunea scan backlog. Aceast alegere este efectuat prin utilizarea unei funcii Max & Min (meniul Comparison). Aplicaia poate funciona i fr aceast funcie, dar aceasta este util pentru controlul dimensiunii scan backlog, care arat cte eantioane au rmas n bufferul circular. Instrumentul virtual creat prin diagrama din Fig. 7 citete i afieaz date n mod continuu (cu un indicator Waveform chart) pn la apariia unei erori sau pn la apsarea butonului stop. La aplicaiile de achiziie cu buffer circular este posibil apariia unei erori de tip overwrite (cod 10846), care nseamn c datele nu sunt citite suficient de repede din bufferul calculatorului de ctre VI - i prin urmare datele noi vor fi suprascrise n buffer peste
35

cele necitite nc, sau a unei erori overflow (cod 10845) care arat c datele nu pot fi preluate suficient de rapid din memoria FIFO a plcii ctre buffer, ceea ce nseamn c datele din memoria FIFO vor fi suprascrise nainte de a fi transferate. Pentru prevenirea erorii overwrite se poate mri numrul de eantioane citite de AI Read.vi (number of scan to read) sau se micoreaz rata de scanare sau se mrete dimensiunea bufferului. Pentru prevenirea erorii overflow trebuie folosit transferul DMA care este mai rapid sau se micoreaz rata de scanare sau se utilizeaz alt hardware de achiziie (plac cu memorie FIFO mai mare i/sau calculator mai rapid). O aplicaie asemntoare care folosete ns instrumentul AI Continuous Scan.vi din Analog Input Utilities VIs este cea din Fig. 8. Terminalul de iteraie al buclei While este legat la terminalul de iteraie al VI-ului de achiziie, pentru a evita configurarea repetat a achiziiei. Achiziia este oprit la apsarea butonului Stop sau la apariia unei erori. Condiia boolean de terminare a achiziiei este de asemenea conectat la terminalul clear acquisition al VI-ului (astfel nct s fie true la ultima iteraie).

Fig. 8. Achiziia continu (buffer circular) cu AI Continuous Scan.vi Pentru aprofundarea problemelor legate de achiziia datelor analogice se pot analiza i rula exemple din directorul Examples/Daq cum ar fi Getting Started Analog Input.vi. Pentru achiziii multi-punct cu buffer circular se pot analiza i rula VI-uri cum ar fi: Cont Acq & Chart (buffered).vi, similar cu aplicaia din Fig. 7, Cont Acq & Graph (buffered).vi, Cont Acq to File (scaled).vi etc.
36

Achiziiile single-point i multi-point descrise n paragrafele anterioare sunt startate la momente de timp aleatoare n raport cu datele achiziionate. Atunci cnd este necesar declanarea achiziiei la un anumit moment de timp trebuie utilizate n mod corespunztor semnale de trigger hardware (analogic sau numeric) sau software. 3. Exemple de achiziii de date multi-punct Pentru implementarea exemplelor din acest paragraf trebuie configurat i verificat placa AT-MIO-16H conform indicaiilor din Lucrarea de laborator nr. 1 i din Anexa 1. 3.1. Achiziia multi-punct cu structuri repetitive Aplicaia din acest subparagraf const n achiziia multi-punct bazat pe o bucl While a semnalelor provenite de la un generator de semnal tip Kabid KZ1404 (sau Versatester E0502) aflat n dotarea laboratorului. Generatorul poate furniza semnale de tip dreptunghiular, triunghiular sau sinusoidal ntre 0.5 Hz i 1 MHz. Pentru realizarea aplicaiei se conecteaz ieirea generatorului de semnal la bornele 2, 3 ale modulului de intrare 5B41-02 (de band larg) de pe canalul de intrare analogic 0, situat pe rack-ul exterior. Pentru achiziia semnalului de la generator va fi folosit VI-ul Cont Acq&Chart (immediate).vi din biblioteca de exemple Examples\ daq\ anlogin\ anlogin.llb a LabVIEW (diagrama este prezentat n Fig. 1). Acest VI folosete o tehnic fr buffer, cu bucl While, pe baza instrumentelor intermediare AI Config.vi i AI Single Scan.vi. n Fig. 9 este prezentat fereastra panou a aplicaiei n cazul achiziiei unui semnal dreptunghiular, cu frecvena de 10 Hz. Frecvena de eantionare (scan rate pentru un singur canal) este de 100 de eantioane pe secund. Amplitudinea semnalului i offset-ul pot fi modificate din butoanele corespunztoare ale generatorului. Exemplul prezentat utilizeaz controlul vitezei de achiziie prin software (software timing). Aa cum s-a specificat n primul paragraf, n acest caz pot exista ntreruperi datorit interveniei utilizatorului. Pentru exemplificare, n Fig. 10 este prezentat achiziia unui semnal sinusoidal de 10 Hz, cu acelai VI, dar n condiiile efecturii n timpul achiziiei a unor operaii diverse cum ar fi micarea mouse-lui, nchiderea sau deschiderea unor aplicaii etc. Se observ cum toate aceste operaii afecteaz calitatea operaiei de achiziie a datelor.
37

Fig. 9. Achiziia multi-punct repetat a unui semnal dreptunghiular

Fig. 10. Achiziia unui semnal sinusoidal (software timed)


38

Dac se utilizeaz un VI cu control hardware al vitezei de achiziie (hardware-timed control loops), achiziia nu mai este ntrerupt de intervenia utilizatorului a se vedea Fig. 11, n care acelai semnal este achiziionat n aceleai condiii, utiliznd ns VIul Cont Acq&Chart (hw timed).vi (achiziie controlat hardware, nebufferat, cu structur repetitiv) din aceeai bibliotec. Pentru detalii privind modul de achiziie sub controlul ceasului de pe plac (n alte aplicaii poate fi utilizat i un semnal de ceas extern) se poate parcurge legenda Show VI Info a instrumentului virtual.

Fig. 11. Achiziia unui semnal sinusoidal (hardware timed) 3.2. Achiziia multi-point cu buffer simplu a unui semnal Pentru achiziia bufferat a unui semnal sinusoidal de la generatorul de semnal (conectat ca n paragraful anterior), se poate utiliza o aplicaie bazat pe AI Acquire Waveform.vi. Diagrama aplicaiei este prezentat n Fig. 12, iar fereastra panou n Fig. 13. Semnalul sinusoidal achiziionat are o frecven de 50 Hz, iar frecvena de eantionare (scan rate) de 1000 de eantioane/sec. Bufferul este de 100 de eantioane, care sunt puse la dispoziie pentru
39

afiare sau alte prelucrri dup ncheierea achiziiei. Pentru afiare este utilizat un Waveform Graph scalat pe axa timpului n funcie de perioada de eantionare real.

Fig. 12. Achiziia cu buffer simplu folosind AI Acquire Waveform.vi

Fig. 13. Achiziia simplu bufferat cu AI Acquire Waveform.vi


40

Din Fig. 14 se poate observa importana alegerii corecte a frecvenei de eantionare acelai semnal sinusoidal de 50 de Hz este achiziionat cu 100 de eantioane pe secund. Bufferul a fost dimensionat la 10 eantioane (pentru a obine o reprezentare echivalent cu exemplul precedent pe axa timpului). Se observ c semnalul nu mai are alura sinusoidal (de fapt frecvena de eantionare a fost aleas la limit din punct de vedere al teoremei Nyquist, dar insuficient de mare pentru a reda forma n domeniul timp a semnalului original).

Fig. 14. Achiziia cu buffer simplu a unui semnal - subeantionare 3.3. Achiziia multi-punct cu buffer circular a unui semnal Acelai semnal sinusoidal de 50 Hz din aplicaia anterioar, furnizat de generatorul de semnal disponibil n laborator, va fi achiziionat prin intermediul unei aplicaii cu instrumente intermediare, care utilizeaz un buffer circular (paragraful 2.2 Fig. 7). Aplicaia are diagrama din Fig. 15 i fereastra panou din Fig. 16. Bufferul utilizat are dimensiunea de 5000 de eantioane, iar rata de scanare este de 500 de eantioane/sec. Datele achiziionate n mod
41

continuu sunt puse imediat la dispoziia utilizatorului. Pentru afiarea datelor au fost utilizate dou indicatoare grafice: un Waveform Chart i un Waveform Graph. Semnalul sinusoidal achiziionat poate fi prelucrat n funcie de necesiti de exemplu se poate filtra cu ajutorul unor filtre numerice FIR sau IIR (pentru detalii vezi lucrarea Ghid de programare n LabVIEW. Aplicaii pentru prelucrarea semnalelor inclus n referinele bibliografice), filtre disponibile n LabVIEW n cadrul meniului Functions, submeniul Analysis, grupul Filters.

Fig. 15. Achiziia multi-punct cu buffer circular a unui semnal instrumente de nivel intermediar Acelai semnal poate fi achiziionat i prelucrat cu diverse instrumente virtuale din bibliotecile LabVIEW, de exemplu, Spectrum Analyser din Examples \ Analysis \ measure \ daqmeas.llb Fig. 17. Acest VI, pe lng afiarea formei n domeniul timp a semnalului achiziionat, realizeaz i o analiz spectral, care permite vizualizarea coninutului n frecven al semnalului (pe scar liniar sau logaritmic, cu utilizarea ferestrelor temporale etc.). Chestiuni teoretice i aplicaii LabVIEW pentru analiza semnalelor pot fi consultate n lucrarea Ghid de programare n LabVIEW. Aplicaii pentru prelucrarea semnalelor a se vedea referinele bibliografice. Pentru informaii suplimentare privind funcionarea VI-ului Spectrum Analyser se poate parcurge legenda Show VI Info a instrumentului.
42

Fig. 16. Achiziia multi-punct cu buffer circular a unui semnal

Fig. 17. Achiziia i analiza spectral a unui semnal sinusoidal


43

n Fig. 17 se poate observa evoluia n domeniul timp a semnalului sinusoidal achiziionat i spectrul semnalului n domeniul frecven, fiind vizualizat componenta de 50 Hz, precum i o component de c.c. de amplitudine mic, datorat offset-ului nenul, setat la generatorul de semnal cuplat la placa de achiziie AT-MIO16H. n fereastra panou a instrumentului sunt disponibile o serie de setri hardware cum ar fi limitele semnalului achiziionat, tipul de trigger etc., precum i setri ale frecvenei de eantionare, tipuri de ferestre temporale, setri de display etc. Observaie: Pentru clarificarea unor concepte teoretice privind eantionarea semnalelor i alegerea frecvenei de eantionare se pot consulta lucrrile [6], [11], [12], [16], [17] din bibliografie. 4. Tem de laborator 4.1. Ce tipuri de achiziie multi-punct cunoatei i care sunt diferenele dintre ele? 4.2. Implementai aplicaia prezentat n paragraful 3.1, Fig. 9, 10, 11, pentru achiziia repetat a unor semnale sinusoidale, dreptunghiulare, triunghiulare, cu diferite amplitudini i frecvene, utiliznd controlul software sau hardware al vitezei de achiziie. 4.3. Dezvoltai o aplicaie de achiziie simplu bufferat a 500 de eantioane ale unui semnal sinusoidal, utiliznd un generator de semnal i placa AT-MIO-16H (paragraful 3.2). Refacei aplicaia utiliznd instrumente de nivel intermediar (Fig. 5, Fig. 6). Care este influena ratei de scanare asupra achiziiei? 4.4. S se realizeze achiziia cu buffer circular i vizualizarea n mod continuu a unor semnale sinusoidale i dreptunghiulare pe baza aplicaiei din Fig. 15, 16. Modificai parametrii buffer size, number of scan to read, scan rate i explicai rezultatele achiziiei. 4.5. Dezvoltai un VI care s realizeze achiziia multi-punct cu buffer circular a datelor de la dou canale canalul 0: semnal sinusoidal de la generatorul de semnal, canalul 1: o tensiune continu de la o surs de semnal. 4.6. S se refac aplicaia de la punctul 4.4. pe baza VI-ului AI Continuous Scan.vi (Fig. 8), iar semnalul sinusoidal achiziionat s fie filtrat cu ajutorul unui filtru numeric FIR sau IIR. S se vizualizeze rezultatele prelucrrii sinusoidelor de diverse frecvene. 4.7. S se ruleze VI-ul Spectrum Analyser prezentat n Fig. 17, pentru semnale sinusoidale provenite de la generatorul de semnal disponibil. S se realizeze analiza spectral i s se urmreasc influena frecvenei de eantionare asupra spectrului i formei n domeniul timp.
44

LUCRAREA NR. 3 Controlul achiziiilor de date cu semnale de tip trigger


1. Tipuri de triggerare Aa cum s-a discutat n lucrrile de laborator anterioare a se vedea diagrama din Fig. 1, lucrarea de laborator nr. 1 pentru anumite aplicaii achiziiile de date pot fi declanate la un anumit moment de timp, fr o legtur direct cu evoluia datelor respective (fr triggerare). Exist aplicaii, pentru care declanarea achiziiei de date analogice trebuie realizat la momente de timp bine precizate (cu triggerare). De exemplu, dac se testeaz rspunsul unei instalaii la o intrare tip (treapt, impuls etc.), intrarea de test respectiv poate fi utilizat i pentru startarea achiziiei de date. n caz contrar este necesar nceperea achiziiei nainte de aplicarea intrrii respective, ceea ce determin un consum nejustificat de resurse. Prin urmare achiziia de date poate fi declanat n funcie de condiia sau starea unui semnal numeric sau analogic, utiliznd o tehnic numit triggerare (declanare). Un trigger este un eveniment care starteaz achiziia datelor. Exist dou tipuri de triggerare: hardware (care poate fi analogic sau numeric) i software. Plcile de achiziie pot funciona n dou moduri principale de achiziie, n funcie de apariia evenimentului trigger, prin care se definete zona de interes din evoluiile semnalelor achiziionate: modul posttrigger modul pretrigger Modul posttrigger realizeaz achiziia unui numr specificat de eantioane dup apariia unui eveniment trigger, adic dup recepionarea unui semnal trigger (de declanare). Achiziia este stopat n momentul n care bufferul care stocheaz datele achiziionate (de lungime specificat de utilizator) este plin,. n cazul modului pretrigger datele sunt achiziionate continuu, nainte i dup primirea unui semnal trigger. Datele sunt colectate ntr-un buffer precizat de utilizator pn cnd placa recepioneaz semnalul trigger. Dup aceasta, sistemul de achiziie va mai colecta un numr specificat de eantioane dup care achiziia este stopat.
45

Bufferul este tratat ca un buffer circular, adic dup ce ntregul buffer este completat, datele sunt stocate de la nceputul bufferului prin suprascrierea datelor vechi. La ncheierea achiziiei, bufferul conine eantioane att dinaintea ct i dup apariia semnalului trigger. Numrul de eantioane salvate n buffer depinde de lungimea acestuia (specificat de utilizator) i de numrul specificat de eantioane de achiziionat dup apariia semnalului trigger. Dup cum se observ din definiiile anterioare, semnalele de trigger se utilizeaz doar n cazul achiziiilor de date bufferate. 1.1. Triggerarea hardware Triggerarea hardware permite setarea momentului de start al achiziiei i colectarea datelor de la un anumit moment de timp n raport cu apariia unui semnal trigger. Exist dou tipuri de triggerare hardware: numeric i analogic. Triggerarea numeric Un trigger numeric este de regul un semnal de tip TTL cu dou nivele discrete: nivel nalt i nivel jos. Atunci cnd semnalul trece din nivel nalt n nivel jos apare un front cobortor (descresctor sau descendent), iar cnd trecerea este invers un front cresctor (ascendent). Achiziia analogic poate fi startat la apariia unui front cresctor sau descresctor al semnalului trigger. De exemplu, n Fig. 1 achiziia este startat pe frontul cresctor al unui semnal trigger numeric. n Fig. 2 este prezentat o diagram a modului de achiziie posttrigger cu utilizarea unui semnal trigger numeric. n acest exemplu, un dispozitiv extern trimite un trigger hardware-ului de achiziie. Imediat dup primirea semnalului i dup ndeplinirea condiiilor de triggerare (de exemplu apariia frontului cresctor al semnalului), placa de achiziie ncepe colectarea datelor. Triggerarea analogic Semnalul analogic de tip trigger se conecteaz pe unul din canalele de intrri analogice ale plcii de achiziie. Placa monitorizeaz canalul semnalului trigger i ateapt ndeplinirea condiiilor de triggerare. Placa poate fi configurat s atepte ndeplinirea unei condiii pentru semnalul trigger, cum ar fi, de exemplu, un anumit nivel al semnalului. Dup identificarea condiiei respective, care trebuie ndeplinit de ctre triggerul analogic, placa declaneaz achiziia. Pentru exemplificare, n Fig. 3, un trigger
46

analogic este setat s starteze achiziia de date pe panta descresctoare (negativ) a semnalului, atunci cnd semnalul atinge valoarea 18 (semnalul trigger analogic poate fi, de exemplu, o temperatur, convertit ntr-o tensiune, dar condiia de triggerare poate fi exprimat, prin soft, i n uniti de temperatur).
Semnal TTL conectat la pini de tip STARTTRIG sau EXTTRIG ai conectorului I/O al plcii de achiziie

Front cresctor Iniiere achiziie date

Fig. 1. Semnal trigger de tip numeric


Dispozitiv extern Semnal trigger numeric Hardware de achiziie

Hardware-ul de achiziie ateapt pn la ndeplinirea condiiilor de ctre semnalul trigger numeric

Dispozitiv extern

Date analogice

Hardware de achiziie

Fig. 2. Diagrama achiziiei de date cu trigger numeric


Nivelul i panta semnalului declaneaz achiziia datelor

18

Fig. 3. Semnal trigger de tip analogic


47

n Fig. 4 este prezentat diagrama pentru o achiziie posttrigger cu un semnal trigger analogic, similar cu diagrama din Fig. 2, corespunztoare triggerului numeric.
Dispozitiv extern Semnal trigger analogic Hardware de achiziie

Hardware-ul de achiziie ateapt pn la ndeplinirea condiiilor de ctre semnalul trigger analogic

Dispozitiv extern

Date analogice

Hardware de achiziie

Fig. 4. Diagrama achiziiei de date cu trigger analogic 1.2. Triggerarea software Triggerarea software presupune simularea unui trigger hardware prin utilizarea unei rutine software. Aceast form de declanare a achiziiei este folosit n situaiile n care nu sunt disponibile semnale trigger hardware (sau placa de achiziie nu este prevzut cu facilitatea de triggerare hardware). Hardware-ul de achiziie este setat s colecteze date, dar nu le returneaz dect atunci cnd datele respective ndeplinesc condiiile de recuperare (conditional retrieval - triggerul software). Software-ul de achiziie scaneaz datele i realizeaz o comparaie a acestora cu condiiile de triggerare, dar nu stocheaz datele dect atunci cnd acestea ndeplinesc specificaiile cerute. n Fig. 5 este prezentat o diagram a evenimentelor care apar n cazul unei triggerri software. Pointerul de poziionare citire/cutare parcurge bufferul pn cnd gsete locaia la care datele ndeplinesc condiiile de triggerare. Offset-ul indic locaia de la care software-ul ncepe citirea datelor n raport cu poziia de citire/cutare. Un offset negativ indic necesitatea unei achiziii de tip pretrigger (achiziie nainte de ndeplinirea condiiilor de triggerare); un offset pozitiv indic o achiziie de tip posttrigger (achiziie dup ndeplinirea condiiilor de triggerare).
48

Fig. 5. Diagrama unei achiziii de date cu triggerare software 2. Utilizarea LabVIEW pentru achiziii de date triggerate Pentru realizarea unei aplicaii LabVIEW pentru achiziii de date triggerate, trebuie utilizate instrumente virtuale intermediare sau avansate, care au faciliti pentru semnale trigger. Aa cum s-a precizat i n prima lucrare de laborator, instrumentele virtuale de
49

achiziie trebuie ordonate ntr-o secven logic care conine etape de configurare a plcii, de lansare a achiziiei, de citire a datelor i de tergere a acestora, secven prezentat n Fig. 6. Spre deosebire de achiziia fr triggerare, n acest caz se ateapt apariia semnalului trigger nainte de a citi datele analogice.
Configurare plac (AI Config.vi) Lansare achiziie (AI Start.vi) Nu Trigger? (hard) Da Citire date (AI Read.vi) tergere date (AI Clear.vi)

Fig. 6. Secvena VI-urilor pentru achiziia de date cu triggerare Instrumentul intermediar AI Start.vi, ale crui terminale sunt prezentate n Fig. 7, n afara funciei de startare a achiziiei permite i configurarea semnalului trigger hardware, iar AI Read.vi (Fig. 8), pe lng funcia de citire a datelor poate seta i triggerarea software (conditional retrieval). Triggerarea hardware AI Start.vi realizeaz pe lng lansarea achiziiei i setarea semnalului trigger hardware. Astfel, VI-ul apeleaz un instrument virtual avansat (AI Trigger Config.vi) care, n funcie de valoarea terminalului trigger type, seteaz n mod corespunztor triggerul hardware. Dac trigger type este 0, atunci AI Start.vi anuleaz triggerarea; n caz contrar seteaz tipul specificat de trigger: 1 trigger analogic, 2 trigger numeric (A), 3 trigger numeric (A i B de start i stop), 4 scan clock gating permite ca un semnal de la o surs extern s opreasc sau s porneasc ceasul care furnizeaz tactul de scanare i astfel s stopeze sau s continue achiziia.
50

Fig. 7. Instrumentul AI Start.vi Parametrul edge or slope stabilete dac achiziia va fi declanat pe frontul cobortor sau cresctor al triggerului numeric sau pe panta pozitiv sau negativ a triggerului analogic (triggerul numeric sau analogic este ales prin setarea corespunztoare a parametrului trigger type). Astfel, dac edge or slope este 0, setarea implicit nu este modificat, dac este 1 atunci este selectat frontul cresctor pentru trigger numeric, respectiv pant pozitiv pentru trigger analogic, iar dac edge or slope este 2 atunci este selectat front cobortor pentru trigger numeric sau pant negativ pentru trigger analogic. Terminalul pretrigger scans reprezint numrul de scanri care vor fi salvate n buffer nainte de apariia semnalului trigger (implicit 0, ceea ce nseamn c LabVIEW nu salveaz nimic nainte de apariia triggerului). Parametrul analog chan & level determin sursa i nivelul semnalului trigger analogic (pentru trigger type = 1). Acest parametru este un cluster care conine doi parametri: trigger channel canalul analogic de intrare care este sursa triggerului analogic i level valoarea tensiunii (implicit 0 V) pe care trebuie s o ating semnalul provenit de la sursa analogic, pentru declanarea achiziiei (tipul pantei este furnizat de parametrul de intrare edge or slope). Pentru detalii privind toate terminalele de intrare i de ieire ale instrumentului AI Start.vi se poate consulta meniul Online help al VI-ului. Triggerarea software n situaia n care hardware-ul de achiziie nu este prevzut cu facilitatea de trigger hardware, triggerul se poate simula prin intermediul unui software corespunztor; mai exact se poate utiliza
51

aa numitul trigger software sau conditional retrieval, care permite analiza soft a unui semnal din cadrul datelor ce sunt achiziionate i n funcie de valoarea acestui semnal se starteaz citirea datelor. Pentru triggerarea software este necesar ca n memorie s se implementeze un buffer circular; fiecare eantion achiziionat este verificat pentru a se vedea dac ndeplinete condiiile de triggerare. Atunci cnd condiiile sunt ndeplinite, LabVIEW ncepe citirea datelor. AI Read.vi permite realizarea setrilor necesare pentru triggerarea software.

Fig. 8. Instrumentul AI Read.vi Terminalul de intrare conditional retrieval permite specificarea condiiilor de triggerare, condiii care vor fi verificate de ctre VI n bufferul cu date achiziionate. De fapt ndeplinirea unei condiii de triggerare presupune ca un semnal analogic achiziionat s ating un anumit nivel (pant pozitiv sau negativ). Cutarea ncepe de la locaia specificat prin parametrul read/search position (pointerul de citire/cutare). Dup ce VI-ul gsete n buffer datele care atest ndeplinirea condiiei de triggerare, acesta va permite citirea datelor i furnizarea lor de la locaia respectiv plus offset-ul. Terminalul conditional retrieval este un cluster care conine mai muli parametri: mode activeaz sau dezactiveaz triggerul software (0 nu modific setarea anterioar, 1 off, 2 on); channel index specific acele canale pe care VI-ul caut datele care ndeplinesc condiia de triggerare (implicit canalul 0); slope specific panta semnalului; level specific nivelul semnalului, exprimat n voli, cutat de ctre VI (implicit 0 V); hysteresis specific fereastra de tensiune pe care semnalul trebuie s o parcurg la atingerea nivelului cerut de ctre condiia de triggerare (acioneaz ca un filtru); skip count indic numrul de condiii de triggerare neluate n considerare nainte de declanarea citirii datelor; offset specific locaia de la care VI-ul ncepe citirea datelor relativ la
52

pointerul care indic ndeplinirea condiiei de triggerare (offset negativ nseamn pretriggerare, iar offset pozitiv posttriggerare). Detalii privind terminalele de intrare i de ieire, precum i valorile acestora, pot fi gsite prin consultarea meniului Online help al instrumentului AI Read.vi. Observaie: Achiziiile de date triggerate pot fi dezvoltate i cu alte VI-uri de nivel intermediar sau avansat. Un exemplu n acest sens l constituie instrumentul AI Waveform Scan.vi din biblioteca Analog Input/ Analog Input Utilities. Acesta are avantajul c poate fi utilizat singur ntr-o structur de achiziie. Acest VI de nivel intermediar permite realizarea de achiziii cu triggerare hardware, iar setrile de trigger se realizeaz compact prin parametrul de intrare de tip cluster trigger and clock. 3. Exemple de achiziii de date triggerate 3.1. Achiziii de date cu trigger analogic Deoarece doar achiziiile de date bufferate pot fi declanate prin utilizarea de semnale trigger, aplicaiile care pot fi dezvoltate sunt cele multi-punct, care utilizeaz buffer simplu sau buffer circular. n cele ce urmeaz, va fi reluat exemplul de achiziie bufferat continu multi-punct (cu buffer circular) bazat pe instrumente intermediare, exemplu dezvoltat n lucrarea de laborator nr. 2 diagrama din Fig. 15. Dup cum se va vedea, pentru implementarea unei achiziii triggerate trebuie efectuate numai cteva schimbri n setarea triggerului. n cazul unui semnal trigger hardware, aceste schimbri vizeaz instrumentul AI Start.vi, iar n cazul unui trigger software, instrumentul AI Read.vi. Pentru a implementa un trigger hardware analogic, instrumentul AI Start.vi va trebui conectat n mod corespunztor prin setarea terminalelor trigger type, edge or slope i analog channel & level. Pentru a crea cu uurin controalele necesare acestor setri se poziioneaz mouse-ul (instrumentul de cablare) pe terminalele corespunztoare din diagram, se efectueaz clic cu butonul din dreapta al mouse-ului i din meniul care apare se selecteaz Create Control. Aceast operaiune conduce la apariia controalelor implicite ce trebuie conectate la terminalele respective; ceea ce rmne de fcut este nlocuirea valorilor implicite, dac este cazul, cu cele necesare aplicaiei.
53

Parametrul trigger type va fi setat la valoarea 1 (analog dac s-au creat controalele dup procedura de mai sus); terminalul edge or slope va fi setat n funcie de panta triggerului analogic de exemplu 2 pentru pant negativ (falling dac s-au creat controalele dup procedura de mai sus); terminalul analog channel & level este un cluster care conine parametrul trigger channel numrul canalului utilizat pentru triggerul analogic (un string ce conine, de exemplu, caracterul 0 dac triggerul analogic este furnizat pe canalul 0) i parametrul level nivelul de declanare a achiziiei, de exemplu 2 V. Ferestrele LabVIEW corespunztoare acestei aplicaii, cu setrile de trigger efectuate mai sus, sunt prezentate n Fig. 9, 10. Achiziia de date pe canalul 1 se va declana n momentul n care semnalul analogic cuplat la intrarea 0 a plcii va scdea sub 2.0 V. Datele vor fi achiziionate n mod continuu (buffer circular). Se observ c aplicaia de achiziie triggerat nu difer de aplicaia de achiziie din lucrarea 2, Fig. 15, dect prin setrile de trigger efectuate la AI Start.vi. n plus, terminalul channels al instrumentului AI Config.vi trebuie setat pe ambele canale de achiziie: 0 i 1. Trebuie precizat faptul c utilizarea unui anumit tip de trigger depinde esenial de tipul plcii de achiziie i de aceea trebuie consultat n prealabil manualul de utilizare al plcii. Pentru placa ATMIO-16, nu se permite triggerarea analogic, dar poate fi utilizat triggerarea numeric sau triggerarea software.

Fig. 9. Achiziie continu de date cu triggerare hardware analogic


54

Fig. 10. Fereastra panou a aplicaiei de achiziie cu trigger analogic 3.2. Achiziii de date cu trigger numeric Pentru a exemplifica acest tip de triggerare va fi folosit exemplul precedent, de achiziie continu bufferat cu instrumente intermediare. Achiziia triggerat numeric se activeaz prin modificarea corespunztoare a doi parametri ai instrumentului AI Start.vi: trigger type i edge or slope. Trigger type va fi setat pe digital A (valoarea 2) iar edge or slope pe falling (valoarea 2). Terminalul analog channel & level, utilizat n paragraful anterior, nu se va mai seta (va fi lsat la valoarea implicit). Fereastra diagram a acestei aplicaii este similar cu cea prezentat n Fig. 9, cu precizarea c terminalul analog channel & level nu mai este conectat. n fereastra panou (Fig. 11) parametrii de triggerare se seteaz conform celor de mai sus. Pentru rularea aplicaiei, pe canalul de intrare analogic 0 al plcii AT-MIO-16H va fi conectat ieirea unui generator de semnal de tip Kabid KZ1404 (sau Versatester E0502).
55

Fig. 11. Exemplu de achiziie continu de date cu triggerare numeric Mai exact, ieirea generatorului va fi conectat la bornele 2, 3 ale modulului de intrare 5B41-02 (de band larg) de pe canalul de intrare analogic 0, situat pe rack-ul exterior. Generatorul va fi setat pe semnal sinusoidal, de frecven 10 Hz, amplitudine 2 sau 3 V. Rata de scanare va fi stabilit la 200 de eantioane/secund. Semnalul de trigger numeric un semnal de tip TTL va fi furnizat pe pinul STARTTRIG* al conectorului I/O (pinul 38 a se vedea Anexa 1 paragraful de Conexiuni pentru semnale de tact i sincronizare destinate achiziiei de date). Semnalul TTL este furnizat de un generator PULSE GENERATOR TR-0361 aflat n dotarea laboratorului. La pinul STARTTRIG* se conecteaz ieirea OUT a generatorului, cu comutatorul FREQ pe poziia EXT. Prin apsarea butonului SINGLE PULSE al generatorului va fi furnizat semnalul TTL necesar. Pentru vizualizarea n prealabil a semnalului de trigger, acesta se poate conecta la intrarea analogic 0 i prin utilizarea unui VI de achiziie (de exemplu Cont Acq&Chart (buffered).vi) se pot face setrile de nivel, lime a pulsului etc.
56

Observaie: Dac nu se dispune de un aparat extern care s furnizeze semnalul TTL cerut pentru triggerare, acesta se poate simula. Pentru aceasta se poate dezvolta un VI simplu utiliznd, de exemplu, AO Update Channel.vi, instrument care s furnizeze pe ieirea 0 a plcii AT-MIO-16 o tensiune de 5 V (rulare continu). Ieirea analogic 0 (pinul 20 al conectorului I/O) se conecteaz direct la pinul 38 al aceluiai conector pinul STARTRIG*. Prin coborrea tensiunii furnizate pe ieirea 0 spre 0 V (cu ajutorul unui control corespunztor) se va simula astfel semnalul de trigger necesar. La rularea aplicaiei, achiziia de date va fi declanat numai la apariia semnalului de trigger numeric TTL (pe frontul cobortor). Trebuie precizat c aceast achiziie este de tip posttrigger. Pentru achiziia pretrigger trebuie utilizat un semnal STOPTRIG pinul 39 i o setare corespunztoare a terminalului pretrigger scans al instrumentului AI Start.vi (declanarea achiziiei este realizat soft sau hard cu semnalul STARTTRIG*, iar la apariia semnalului STOPTRIG front cresctor se mai achiziioneaz numrul de eantioane specificat). 3.3. Achiziii de date cu trigger software Pentru plcile de achiziie fr faciliti de triggerare analogic se poate utiliza triggerarea software care simuleaz ntr-un fel semnalul trigger analogic. Aplicaia de achiziie a datelor cu buffer circular utilizat n paragrafele anterioare va fi acum prelucrat pentru setarea unei triggerri software. Astfel, instrumentul AI Start.vi nu mai este conectat la terminalele specifice de trigger hardware (sunt lsate configuraiile implicite), n schimb este realizat setarea corespunztoare a terminalului conditional retrieval al instrumentului AI Read.vi. Acest cluster trebuie completat cu parametrii: mode (2 on: activare trigger software); channel index (canalul de cutare: 1); slope (panta semnalului de exemplu falling); level (de exemplu 2.0 V); hysteresis (de exemplu 0.2 V); skip count (0); offset (0). Prin aceste setri a fost simulat triggerul analogic din paragraful 3.1. Diagrama acestei aplicaii este prezentat n Fig. 12. Prin utilizarea triggerrii software nu este posibil achiziia continu de date dup ce au fost ndeplinite condiiile de trigger. Pentru a acoperi necesitile aplicaiei se poate utiliza un buffer ct mai mare. Dup cum se observ din Fig. 12, terminalul number of scans to
57

acquire al instrumentului AI Start.vi este setat la 0, ceea ce nseamn c se va executa (hardware) o achiziie continu de date pn cnd sunt ndeplinite condiiile de triggerare (sau pn cnd este atins limita de timp dac aceste condiii nu sunt ndeplinite), dup care se returneaz spre aplicaie datele care ndeplinesc condiiile de triggerare (n limita bufferului precizat).

Fig. 12. Achiziie de date cu triggerare software Pentru rularea aplicaiei vom conecta o surs de tensiune dual de tip IEMI - I4102 M de 2 x 40 V, 1.2 A pe canalul de intrare analogic 1 i un generator de semnal Kabid KZ1404 pe canalul de intrare analogic 0 (prin modulele de condiionare 5B31-02 respectiv 5B41-02). Generatorul va fi setat pe semnal sinusoidal de 1 Hz, amplitudine 2 sau 3 V. Sursa de tensiune va fi setat pe 4 V. Dup ce aplicaia va fi pornit, din butonul de nivel al sursei de tensiune se coboar uor tensiunea (se poate folosi un voltmetru pentru afiare) pn cnd valoarea acesteia coboar sub valoarea de 1.8 V. Se va observa momentul n care achiziia de date este declanat. Fereastra panou corespunztoare acestei aplicaii este prezentat n Fig. 13, unde se pot observa datele achiziionate pe ambele canale, dup declanarea achiziiei: pe canalul 0 - datele de la generator i pe canalul 1 semnalul analogic de la surs, semnal utilizat pentru verificarea condiiilor de triggerare. Trebuie precizat faptul c la instrumentul AI Config.vi trebuie setat corespunztor parametrul channels cu ambele canale de achiziie: 0, 1 (setare valabil i la triggerarea analogic).
58

Fig. 13. Exemplu de achiziie de date cu triggerare software Dac parametrul mode din clusterul conditional retrieval este setat pe off se pot vizualiza semnalele achiziionate fr triggerare. Pentru a nelege i a aprofunda achiziiile de date triggerate este util parcurgerea exemplelor din biblioteca Examples\ daq\ anlogin\ anlogin.llb a LabVIEW. Pentru achiziii de date triggerate hardware se pot studia i rula (n funcie de placa de achiziie disponibil) VI-urile Acquire N - multi-ATrig.vi, Acquire N - multiDTrig.vi, Acquire N Scans - ATrig.vi, Acquire N Scans - DTrig.vi. Aceste VI-uri sunt realizate n jurul instrumentului virtual de achiziie AI Waveform Scan.vi. Pentru achiziii de date triggerate software se pot analiza i rula VI-urile Acquire N Scans SW Trig.vi, Acquire&Proc N Scans SW Trig.vi, realizate cu instrumente de nivel intermediar. Informaii despre realizarea i setarea tuturor acestor VIuri sunt disponibile prin accesarea meniului Windows/ Show VI Info al fiecrui instrument. 4. Tem de laborator 4.1. Ce nelegei prin semnal de trigger? Ce tipuri de triggerare exist? Cum definii modurile posttrigger i pretrigger? 4.2. Care tipuri de achiziie de date pot fi triggerate? Care dintre instrumentele virtuale de achiziie au faciliti de triggerare?
59

Analizai setrile instrumentelor AI Start.vi i AI Read.vi destinate triggerrii hardware, respectiv software. 4.3. Implementai aplicaia de achiziie triggerat analogic din Fig. 9 i 10 i realizai setrile din paragraful 3.1. 4.4. Dezvoltai programul LabVIEW de achiziie continu cu triggerare numeric descris n paragraful 3.2 (Fig. 11). Conectai generatorul de semnal i generatorul impulsului de trigger TTL la placa AT-MIO-16 conform procedurii prezentate i observai declanarea numeric a achiziiei datelor. Modificai tipul semnalului furnizat de generator i ncercai realizarea unei achiziii cu pretriggerare. Simulai semnalul de trigger numeric cu ajutorul unei aplicaii de generare cu AO Update Channel.vi i prin conectarea ieirii analogice 0 (pinul 20) la pinul STARTTRIG* - 38. 4.5. Implementai aplicaia de achiziie de date cu triggerare software descris n paragraful 3.3 (Fig 12 i 13). Conectai generatorul de semnal i sursa de tensiune i realizai achiziia triggerat conform procedurii expuse. Modificai parametrii de triggerare (de exemplu alt nivel i alt pant pentru tensiune) i repetai experimentul. Modificai parametrii offset i skip count i verificai efectul schimbrilor asupra achiziiei.

60

LUCRAREA NR. 4 Instrumente virtuale pentru generarea datelor. Ieiri analogice. Generarea fr buffer a datelor
1. Generarea datelor pe ieirile analogice Pe lng achiziia datelor, plcile de achiziii pot genera semnale analogice pe canalele de ieiri analogice. Ca i n cazul intrrilor analogice, generarea datelor poate fi mono-canal sau multicanal, mono-punct sau multi-punct. Dac pentru o anumit aplicaie este necesar furnizarea unui semnal constant (c.c.) sau foarte lent variabil n timp pe una sau mai multe ieiri analogice ale plcii, atunci se realizeaz o generare monopunct (single-point generation). Dac trebuie generat un semnal variabil n timp, atunci este vorba de generare multi-punct (multiple-point sau waveform generation), care poate fi de asemenea mono-canal sau multi-canal. Spre deosebire de generarea mono-punct, n cazul multi-punct este important nu numai nivelul semnalului generat pe ieire, ci i viteza de actualizare a datelor furnizate pe acea ieire analogic. Placa de achiziie se comport ca un generator de semnal. Generarea multipunct a datelor se poate realiza fie prin utilizarea unor structuri repetitive n care sunt implementate aplicaii de generare mono-punct, fie prin utilizarea bufferelor. Ca i n cazul achiziiilor de date tratate n Lucrrile de laborator 1-3, generarea multi-punct bufferat poate fi cu buffer simplu (simple-buffer) sau cu buffer circular (circularbuffer). Generarea multi-punct cu buffer simplu presupune stocarea datelor ce vor fi generate pe ieire ntr-un buffer; placa de achiziie, prin intermediul software-ului de achiziie sau driverului specializat va trimite la ieire datele din acest buffer, punct cu punct (eantion dup eantion) cu o anumit vitez sau rat de generare (de actualizare). Generarea multi-punct cu buffer circular aa-numita generare bufferat continu se utilizeaz atunci cnd datele care trebuie generate sunt de dimensiune foarte mare (nu pot fi stocate ntr-un singur buffer, i prin urmare bufferul este completat n mod continuu cu date noi) sau forma de und se modific n timpul generrii.
61

n diagrama din Fig. 1 sunt prezentate schematic tipurile de generare a datelor (analogice). Fr trigger Generarea datelor Hardware: Cu trigger Software -Analogic -Numeric

Mono-punct (single-point)
(generarea unui singur eantion)

Multi-punct (multiple-point sau waveform generation)

Mono-canal Multi-canal (single-channel) (multiple-channel) Generare ne-bufferat (non-buffered) i fr sincronizare (non-timed)

Multi-canal Mono-canal (single-channel) (multiplechannel)

Generarea cu structuri repetitive (control loops) (generare ne-bufferat)

-Software-timed -Hardware-timed (cu ceas intern sau extern)

Generare bufferat

Cu buffer simplu Cu buffer circular (simple-buffer) (circular-buffer) (generare continu) Generare hardware-timed Fig. 1. Tipuri de generare a datelor
62

Generarea datelor se poate efectua sub control software (software-timed), situaie n care tactul necesar controlului vitezei de generare este furnizat de ctre ceasul sistemului de calcul (n acest caz controlul poate fi afectat de posibile ntreruperi) sau, atunci cnd este necesar o mai mare precizie, generarea se realizeaz sub controlul ceasului de pe hardware-ul de achiziie sau sub controlul unui ceas extern (hardware-timed). Generarea datelor poate fi declanat ca i n cazul achiziiilor de date printr-un eveniment (semnal) de tip trigger. Exist dou tipuri de triggerare: hardware (care poate fi analogic sau numeric) i software. n cazul triggerrii hardware, generarea datelor nu este declanat prin software (de regul apelul unui instrument de startare) ci este declanat de un semnal extern, care n cele mai multe situaii este un semnal numeric. Triggerarea se utilizeaz n cazul generrii bufferate a datelor. 2. Biblioteca de instrumente virtuale pentru ieiri analogice Instrumentele utilizate pentru ieirile analogice sunt grupate n patru sub-biblioteci ale bibliotecii Analog Output din meniul Data Acquisition/Functions. Cele patru grupuri de instrumente virtuale sunt (Fig. 2): Easy Analog Output VIs, Intermediate Analog Output VIs, Analog Output Utilities VIs i Advanced Analog Output VIs.

Easy Analog Output VIs Intermediate Analog Output VIs

Analog Output Utilities VIs

Advanced Analog Output VIs

Fig. 2. Biblioteca Analog Output


63

Instrumentele din Easy Analog Output VIs sunt VI-uri executabile capabile s realizeze independent operaiuni de baz pentru ieiri analogice, fr a mai fi necesare alte VI-uri. Aceste instrumente sunt construite din instrumente de nivel intermediar, care sunt grupate n Intermediate Analog Output VIs, care la rndul lor au la baz instrumente avansate din biblioteca Advanced Analog Output VIs. Un instrument de tip Easy Analog Output VIs furnizeaz o interfa utilizator convenabil pentru ieirile analogice uzuale, pentru aplicaii complexe fiind necesare instrumentele din celelalte grupuri. Instrumentele de nivel intermediar din Intermediate Analog Output VIs sunt construite pe baza instrumentelor avansate i ofer faciliti apropiate de acestea. Instrumentele utilitare din Analog Output Utilities VIs sunt tot de nivel intermediar i ofer soluii pentru situaiile obinuite n care se furnizeaz date pe ieirile analogice. Instrumentele avansate din Advanced Analog Output VIs constituie interfaa dintre LabVIEW i driverele NI-DAQ, fiind la baza celorlalte instrumente de ieiri analogice. Atunci cnd pentru realizarea unei aplicaii pentru furnizarea de date pe ieirile analogice se folosesc mai multe VI-uri (de exemplu, cele intermediare), trebuie realizat o secveniere a acestora (ca i n cazul achiziiei de date analogice) Fig. 3. Ca i n cazul achiziiei de date, sunt eseniale conexiunile de tip task ID i error.
Configurare plac (AO Config.vi) Scriere date analogice (AO Write.vi) Lansare generare date (AO Start.vi) Ateptare sfrit generare date (AO Wait.vi) tergere resurse (AO Clear.vi)

Fig. 3. Secvenierea VI-urilor pentru generarea de date analogice


64

n continuare vor fi descrise cteva VI-uri pentru furnizarea datelor la ieirile analogice, i anume instrumentele de nivel intermediar din Intermediate Analog Output VIs i instrumentele din Analog Output Utilities VIs. n Fig. 4 8 sunt prezentate VI-urile de nivel intermediar. Semnificaia terminalelor poate fi analizat prin apelarea meniului Online help al fiecrui VI. O parte din aceste terminale au aceeai semnificaie ca i n cazul instrumentelor virtuale de achiziie analogic (a se vedea Tabelul 1 din Lucrarea de laborator nr. 1). Rolul frecvenei de achiziie (de eantionare) scan rate de la intrrile analogice este jucat aici de update rate, care este frecvena de generare (de ieire) sau rata de actualizare a datelor analogice. AO Config.vi realizeaz configurarea canalelor de ieire i a limitelor ieirii i aloc buffer-ul necesar operaiei de ieire analogic. AO Write.vi scrie datele n memoria tampon. AO Start.vi seteaz rata de generare a datelor i lanseaz operaia de generare a datelor analogice. AO Wait.vi ateapt pn cnd generarea datelor se termin apoi apeleaz AO Clear.vi, care terge task-ul de ieire analogic asociat numrului task ID in.

Fig. 4. Instrumentul AO Config.vi

Fig. 5. Instrumentul AO Write.vi

Fig. 6. Instrumentul AO Start.vi


65

Fig. 7. Instrumentul AO Wait.vi

Fig. 8. Instrumentul AO Clear.vi n Fig. 9, 10 i 11 sunt prezentate instrumentele din Analog Output Utilities VIs. Instrumentul AO Write One Update.vi scrie o singur valoare (tensiune) la fiecare din canalele analogice de ieire specificate. AO Waveform Gen.vi genereaz un semnal de ieire (o form de und = un set de date) la canalul de ieire specificat, cu rata de actualizare specificat. Acest VI folosete fie un singur buffer (suficient de mare pentru toate datele) tehnica simple-buffered, fie un buffer circular tehnica circular-buffered (dimensiunea datelor este mai mare dect dimensiunea buffer-ului i prin urmare datele se scriu n mod ciclic). Instrumentul AO Continuous Gen.vi genereaz continuu un set de date cu frecvena specificat, la canalul de ieire specificat, folosind un buffer circular.

Fig. 9. Instrumentul AO Write One Update.vi

Fig. 10. Instrumentul AO Waveform Gen.vi


66

Fig. 11. Instrumentul AO Continuous Gen.vi 3. Aplicaii de generare ne-bufferat a datelor 3.1. Generarea de date mono-punct Cea mai simpl operaiune de ieire analogic este generarea unui singur punct (semnal de nivel constant) pe un singur canal (single-point single-channel) sau pe mai multe canale (single-point multiple-channel). Pentru implementarea rapid a unor aplicaii de generare mono-punct se pot utiliza instrumentele virtuale din sub-biblioteca Easy Analog Output VIs. VI-ul utilizat se apeleaz atunci cnd se dorete schimbarea valorii furnizate pe canalul (canalele) de ieire analogic. Rezult c modificarea valorii de pe ieire se poate realiza cu viteza impus de software, mai precis n funcie de rapiditatea cu care LabVIEW apeleaz VI-ul respectiv (software timing). Din aceast cauz, aceast tehnic se poate folosi atunci cnd nu este necesar generarea rapid a datelor sau o rat precis de actualizare. Cea mai simpl aplicaie de generare mono-punct mono-canal presupune utilizarea instrumentului virtual AO Update Channel.vi din sub-biblioteca Easy Analog Output VIs. Acest VI are doar trei terminale de intrare: device numrul plcii, channel numrul canalului i voltage valoarea tensiunii care trebuie generat pe canalul specificat. n Fig. 12 sunt prezentate fereastra panou i fereastra diagram ale unei aplicaii realizat cu AO Update Channel.vi, care permite scrierea unei tensiuni de 3 voli pe canalul 0. Pentru vizualizarea acestei tensiuni la ieirea plcii AT-MIO-16 (configurat conform celor precizate n Lucrarea de laborator nr. 1), se utilizeaz un voltmetru conectat la pinii 20, 23 ai conectorului I/O al plcii. Pentru modificarea tensiunii la o alt valoare, se schimb n mod corespunztor controlul voltage i se ruleaz din nou VI-ul.
67

Fig. 12. Generarea mono-punct mono-canal cu AO Update Channel.vi Pentru o aplicaie de generare mono-punct dar multi-canal se poate utiliza instrumentul virtual AO Update Channels.vi, din biblioteca Easy, a crui structur este asemntoare cu cea a instrumentului AO Update Channel.vi (trebuie specificat o list de canale iar parametrul voltages este un vector care conine valorile ce se doresc generate pe canalele de ieire). Pentru aplicaiile n care este necesar controlul asupra setrii limitelor pe fiecare canal de ieire, trebuie utilizate VI-uri de nivel intermediar cum ar fi, de exemplu, AO Write One Update.vi (Fig. 9) aflat n biblioteca Analog Output Utilities VIs. 3.2. Generarea de date multi-punct cu structuri repetitive Prin utilizarea unor instrumente virtuale de generare monopunct n interiorul unor structuri repetitive (control loops) de tip While se pot obine VI-uri pentru generare de date multi-punct. Astfel de structuri sunt lente i pot fi utilizate n aplicaii de conducere, atunci cnd este necesar calculul sau procesarea datelor de ieire punct cu punct (de exemplu, se achiziioneaz un eantion de la un traductor, se calculeaz eroarea n funcie de referin, se calculeaz comanda n funcie de eroare i se genereaz pe ieire spre procesul condus valoarea acestei comenzi). Un exemplu de astfel de aplicaie este prezentat n Fig. 13 i Fig. 14, n care este utilizat VI-ul de nivel intermediar AO Write One Update.vi ntr-o structur de tip While Loop, controlul vitezei de execuie fiind realizat prin software (software timed). Trebuie precizat
68

c nu este indicat folosirea n bucle a instrumentelor Easy, care sunt ineficiente din cauza configurrii lor la fiecare execuie (spre deosebire de acestea, instrumentul de nivel intermediar AO Write One Update.vi se configureaz doar pentru iteraia 0 a buclei While). VI-ul din interiorul buclei While este executat n mod repetat, pn cnd starea erorii sau controlul boolean de oprire a buclei sunt adevrate. Datele care sunt generate pe canalul 0 sunt furnizate dintrun vector (array), iar ritmul de generare este controlat prin intermediul ratei de actualizare. Controlul pentru rata de generare i controlul pentru voltage sunt plasate n interiorul buclei While pentru a avea posibilitatea de modificare a acestora n timpul rulrii. Deoarece AO Write One Update.vi accept pe intrarea voltage date sub form de vector (este prevzut pentru generarea de date multi-canal), n cazul generrii pe un singur canal trebuie utilizat un vector avnd doar primul element activat (aa cum se observ din Fig. 13). Pentru vizualizarea datelor generate se poate folosi un voltmetru conectat pe pinii 20, 23 ai conectorului I/O al plcii AT-MIO-16. n cazul aplicaiilor de conducere, datele generate provin de la ieirea unui regulator implementat sub forma unui VI.

Fig. 13. Generarea de date multi-punct cu AO Write One Update.vi


69

Fig. 14. Diagrama aplicaiei de generare cu AO Write One Update.vi n bucl While Pentru realizarea unei generri de date multi-punct performante n ceea ce privete viteza i precizia ratei de actualizare, trebuie folosite aplicaii bufferate hardware-timed (sub controlul ceasului de pe placa de achiziie sau sub controlul unui ceas extern). 4. Tem de laborator 4.1. Identificai instrumentele virtuale pentru generare de date din biblioteca Analog Output din meniul Data Acquisition/ Functions. Ce nelegei prin conexiuni task ID i error? Parcurgei cu atenie VIurile din bibliotec i analizai semnificaia acestora i a terminalelor. 4.2. Implementai i rulai aplicaia de generare mono-punct mono-canal din Fig. 12, pentru diverse valori ale tensiunii. Vizualizai i verificai cu ajutorul voltmetrului aceste valori. 4.3. Construii i rulai o aplicaie de generare mono-punct multi-canal (2 canale) cu instrumentul AO Update Channels.vi. Verificai datele generate cu ajutorul a dou voltmetre conectate corespunztor (la pinii 20, 23, respectiv 21, 23 ai conectorului I/O al plcii AT-MIO-16). 4.4. Implementai i rulai programul din Fig. 13, 14 generare multi-punct cu bucl While. Verificai datele generate cu ajutorul unui voltmetru.
70

LUCRAREA NR. 5 Ieiri analogice. Generarea bufferat a datelor


Aa cum s-a precizat n lucrarea de laborator precedent (Lucrarea nr. 4), generarea multi-punct a datelor, se poate realiza fie prin utilizarea unor structuri repetitive n care sunt implementate aplicaii de generare mono-punct, fie prin utilizarea bufferelor. Generarea multi-punct bufferat poate fi cu buffer simplu (simplebuffer) sau cu buffer circular (circular-buffer). Generarea multi-punct cu buffer simplu presupune stocarea datelor ce vor fi generate pe ieire ntr-un buffer, iar placa de achiziie, prin intermediul software-ului de achiziie sau driverului specializat, va furniza datele din buffer la ieire, punct cu punct (eantion dup eantion) cu o anumit vitez sau rat de generare (de actualizare). Generarea multi-punct cu buffer circular aa-numita generare bufferat continu se utilizeaz atunci cnd datele care trebuie generate sunt de dimensiune foarte mare (nu pot fi stocate ntr-un singur buffer, i prin urmare bufferul este completat n mod continuu cu date noi) sau forma de und trebuie modificat n timpul generrii. Generarea de date multi-punct (de forme de und) bufferat face ca placa de achiziie s joace rolul unui generator de semnal. 1. Generarea de date multi-punct cu buffer simplu Generarea multi-punct cu buffer simplu presupune stocarea datelor ce vor fi generate pe ieire ntr-un buffer de lungime specificat. Placa de achiziie, prin intermediul LabVIEW, va furniza pe canalul de ieire specificat (sau pe canalele specificate) datele din buffer, punct cu punct, n ritmul dat de rata de actualizare (frecvena de generare) specificat. Pentru implementarea unor aplicaii de generare de forme de und cu buffer simplu se pot folosi diverse VI-uri din bibliotecile Easy Analog Output VIs, Intermediate Analog Output VIs, Analog Output Utilities VIs sau Advanced Analog Output VIs. Dac aplicaia nu este pretenioas, aceasta se construiete cel mai rapid cu instrumente din biblioteca Easy, ca de exemplu
71

instrumentul AO Generate Waveforms.vi, care permite scrierea datelor furnizate pe canalele de ieire specificate, n ritmul dat de frecvena de generare (update rate). Datele sunt stocate ntr-un tablou (matrice), a crui dimensiune depinde de numrul de canale i de lungimea datelor. Nivelul unui semnal furnizat pe unul din canalele de ieire analogic rmne nemodificat (egal cu ultima valoare generat), pn cnd urmtoarea valoare este furnizat pe acea ieire. Utiliznd acest VI a fost dezvoltat aplicaia prezentat n Fig. 1, 2. Se observ c aplicaia se refer la o generare multi-punct multi-canal. Pe canalele de ieire analogic 0 i 1 se genereaz, cu o rat de actualizare de 1 Hz, dou semnale foarte simple (pe prima coloan a matricei waveforms semnalul generat pe ieirea 0 i pe cea de-a doua semnalul generat pe ieirea 1; liniile matricei furnizeaz valorile care sunt actualizate la un anumit moment pe ambele canale). Evoluia celor dou semnale generate se poate observa cu dou voltmetre conectate pe pinii 20, 23, respectiv 21, 23 ai conectorului I/O al plcii AT-MIO-16. Exemplul anterior este unul foarte simplu, ilustrnd modul de lucru pentru o astfel de generare de date. Semnalul poate fi ns furnizat de la diverse generatoare de semnal (virtuale) sau de alte aplicaii (poate fi, de exemplu, un semnal achiziionat n prealabil, prelucrat i apoi generat pe ieire).

Fig. 1. Generarea multi-punct multi-canal cu buffer simplu AO Generate Waveforms.vi


72

Fig. 2. Fereastra diagram a aplicaiei cu AO Generate Waveforms.vi Atunci cnd este necesar controlul asupra mai multor parametri, se pot folosi instrumente din Analog Output Utilities VIs, cum ar fi de exemplu AO Waveform Gen.vi, care dispune de terminale suplimentare fa de instrumentul AO Generate Waveforms.vi (a se vedea Fig. 10 din lucrarea de laborator nr. 4). De exemplu, prin setarea corespunztoare a parametrului generation count exist opiunea de a genera datele din buffer de mai multe ori. Pentru optimizarea generrii de date acest VI se poate plasa ntr-o bucl While i se leag terminalul de iteraie al buclei la terminalul de iteraie al VI-ului, astfel nct configurarea generrii de date s se realizeze o singur dat. Pentru dezvoltarea unor aplicaii complexe este indicat utilizarea instrumentelor de nivel intermediar sau a celor avansate. Conectarea VI-urilor intermediare trebuie s se realizeze prin legturile task ID i error, respectnd secvenierea din Fig. 3 lucrarea de laborator precedent. O aplicaie principial pentru generarea bufferat a unui set de date (multi-punct), cu buffer simplu, pe o ieire analogic este prezentat n Fig. 3. Au fost utilizate instrumentele de nivel intermediar din biblioteca Intermediate Analog Output VIs. n fereastra diagram a aplicaiei se pot observa conexiunile taskID in / taskID out i error in / error out ca i n cazul achiziiei analogice. Instrumentul General Error Handler.vi furnizeaz o descriere a erorilor aprute n procesul de generare a datelor.
73

Fig. 3. Generarea bufferat cu VI-uri de nivel intermediar Prin utilizarea VI-urilor de nivel intermediar, se pot seta o serie de parametri suplimentari, cum ar fi alegerea ceasului (de pe plac sau extern), returnarea ratei de generare reale etc. Rolul VIurilor n aceast aplicaie a fost schiat deja n Fig. 3 lucrarea de laborator precedent: AO Config.vi seteaz placa i canalele specificate de utilizator pentru generare, AO Write.vi plaseaz datele n bufferul de lungime specificat, AO Start.vi declaneaz generarea datelor n ritmul dat de frecvena de actualizare (update rate), AO Wait.vi verific dac generarea este finalizat dup care permite instrumentului AO Clear.vi s tearg setrile canalelor de ieire. n Fig. 4 este prezentat fereastra panou a unei aplicaii de generare simplu-bufferat cu VI-uri intermediare, dezvoltat pe baza diagramei din Fig. 3. Datele generate pe dou canale analogice de ieire sunt stocate ntr-o matrice (prima coloan semnalul ce va fi generat pe primul canal, iar a doua coloan semnalul generat pe cel de-al doilea canal). Datele ce vor fi generate de aplicaie sunt vizualizate cu ajutorul unui Graph. La terminarea generrii datelor, AO Clear.vi va terge task-ul curent i va trece ambele canale analogice pe 0 V. Prin conectarea a dou voltmetre (sau osciloscoape) pe pinii 20, 23 respectiv 21, 23 ai conectorului I/O al plcii AT-MIO16 se pot vizualiza i verifica datele furnizate pe cele dou canale de ieiri analogice.
74

Fig. 4. Aplicaie de generare simplu-bufferat cu VI-uri intermediare Prin modificarea mrimii bufferului i a vitezei de actualizare (1 Hz n Fig. 4) pot fi generate date de dimensiuni i cu rate de actualizare diferite. n aplicaiile de generare de forme de und trebuie calculat cu atenie frecvena semnalului generat pe canalele de ieiri analogice, pentru ca aceast frecven s corespund ntr-adevr cu frecvena dorit pentru semnalul generat. Calculul frecvenei semnalului depinde esenial de rata de generare, de numrul de eantioane din buffer i de numrul de perioade (numr de cicluri) ale semnalului stocat n buffer. De exemplu, dac n buffer sunt stocate 1000 de puncte (eantioane) care reprezint valorile unui sinus pe o perioad ( 2 ), iar rata de generare a acestor puncte este de 10000 de eantioane pe secund (10 kHz), atunci semnalul generat va avea frecvena de 10 Hz. Formula general de calcul este:

f semnal = (n perioade f generare ) / nesantioane , unde f semnal este frecvena semnalului, n perioade - numrul de cicluri (de
75

perioade) ale semnalului stocate n buffer, f generare - frecvena de generare (update rate), nesantioane - numrul de puncte stocate n buffer. Dac dorim s modificm frecvena semnalului generat, trebuie fie s mrim update rate fie s mrim numrul de perioade ale semnalului din buffer. n exemplul de mai sus, dac dorim s obinem o frecven de 20 Hz, fie mrim frecvena de generare la 20 kHz, fie mrim numrul de cicluri ale semnalului la 2 (pstrnd numrul de puncte 1000, ceea ce duce la scderea acurateei semnalului sinusoidal furnizat) a se vedea Fig. 5.

Modificare update rate: 20 kHz Frecven semnal: 20 Hz (nr. de puncte/ciclu = 1000) Buffer: 1000 pct. Nr. perioade: 1 Update rate: 10 kHz Frecven semnal: 10 Hz (nr. puncte/ciclu = 1000)

Modificare nr. perioade: 2 Frecven semnal: 20 Hz (nr. de puncte/ciclu = 500)

Fig. 5. Determinarea frecvenei semnalului generat

Din formula de mai sus rezult i limitrile n ceea ce privete generarea de semnale, n funcie de hardware-ul de achiziie utilizat. La placa AT-MIO-16 de exemplu, frecvena de generare maxim este de 250000 de eantioane/sec. (diferit de frecvena de eantionare maxim de 100000 de eantioane/sec.). Dac presupunem un buffer care stocheaz 1000 de puncte ale unui ciclu sinusoidal, rezult c frecvena maxim a semnalului generat pe o ieire analogic este de 100 Hz. Micorarea numrului de puncte/perioad la 10 (ceea ce este destul de puin din punct de vedere al acurateei) conduce la o frecven de generare maxim de 10kHz. n continuare, pe baza diagramei din Fig. 3 va fi construit un program de generare a unor semnale sinusoidale cu tehnica simplebuffer. Fereastra panou a aplicaiei este prezentat n Fig. 6, iar diagrama n Fig. 7. Sunt utilizate instrumente de nivel intermediar pentru generarea unui semnal de tip sinus pe canalul de ieire
76

analogic 0 i a unui semnal de tip cosinus pe canalul 1. Generatoarele care sintetizeaz semnalele sunt realizate cu ajutorul unor bucle For, fiind posibil controlul numrului de puncte pe perioad (dac se dorete generarea a mai mult - sau mai puin - de un ciclu, trebuie modificate corespunztor constantele 2 din bucle). n aplicaia prezentat, dac numrul de puncte din buffer nu corespunde cu numrul de puncte/ perioad, de exemplu buffer mai mic, atunci va fi generat un semnal sinusoidal trunchiat. Din setrile realizate n Fig. 6, pe baza formulei de calcul anterioare, se deduce c frecvena semnalului generat este de (1 ciclu x 10 eantioane/sec)/1000 puncte = 0.01 Hz. Cele dou generatoare implementate cu bucla For furnizeaz la ieiri vectori de date; acetia sunt prelucrai prin intermediul unor funcii Build Array si Transpose 2D Array pentru a furniza o matrice de date, care se aplic la intrarea voltage data a instrumentului AO Write.vi. Cele dou indicatoare grafice sunt utilizate pentru reprezentarea funciilor sinus i cosinus obinute cu buclele For, care nu constituie ns semnalul generat pe ieirile analogice. Semnalul sinusoidal generat pe canalul 0 poate fi vizualizat, de exemplu, prin folosirea unui voltmetru (cu 0 la mijloc) conectat pe pinii 20, 23 ai conectorului I/O al plcii AT-MIO-16. Pentru ambele canale trebuie utilizate dou voltmetre. Este indicat totui folosirea unui osciloscop, indispensabil dac frecvena semnalului este mare.

Fig. 6. Generarea unor semnale sinusoidale prin bufferare simpl


77

Fig. 7. Diagrama aplicaiei de generare a unor semnale sinusoidale

Fig. 8. Achiziia cu Cont Acq&Chart.vi a semnalului generat -canal 0


78

O posibilitate de vizualizare a semnalului generat pe ieirea 0 este de a utiliza aceeai plac AT-MIO-16, la care ieirea analogic 0 se conecteaz la canalul de intrare analogic 0 (prevzut la intrare cu circuitul de condiionare 5B-41), i rularea unui VI pentru achiziia de date, de exemplu Cont Acq&Chart (buffered).vi (a se vedea Lucrarea de laborator nr. 2). Rezultatele sunt afiate n Fig. 8. Aceste rezultate au fost obinute pentru o rat de generare de 100 eantioane/sec. (a nu se confunda cu scan rate) ceea ce nseamn c semnalul vizualizat are o frecven de 0.1 Hz. Pentru implementarea rapid a unor generatoare de semnal se pot utiliza funciile speciale din biblioteca Functions / Analysis / Signal Generation. n Fig. 9 este prezentat diagrama pentru cazul n care generatorul sinusoidal este Sine Pattern.vi, iar acesta genereaz un sinus pe dou perioade (pot fi setate amplitudinea, faza etc. a se vedea Online help). Semnalul generat pe ieire este redat n Fig. 10, tot prin utilizarea Cont Acq&Chart.vi. Frecvena semnalului este acum de 0.2 Hz. Pentru o mai mare flexibilitate este indicat folosirea generatorului Sine Wave.vi din aceeai bibliotec sau utilizarea (dup ncapsulare) a unor generatoare construite de utilizator, cum sunt, de exemplu, cele din lucrarea Ghid de programare n LabVIEW. Aplicaii pentru prelucrarea semnalelor (a se vedea referinele bibliografice).

Fig. 9. Utilizarea Sine Pattern.vi pentru generarea semnalului


79

Fig. 10. Achiziia i vizualizarea semnalului generat 2. Generarea de date multi-punct cu buffer circular

Generarea multi-punct cu buffer circular se utilizeaz atunci cnd datele care trebuie generate sunt de dimensiune foarte mare i nu pot fi stocate ntr-un singur buffer sau atunci cnd aplicaia respectiv necesit modificarea formei de und n timpul generrii. Dintre VI-urile disponibile, pentru generarea de date prin tehnica circular-buffered se poate utiliza, de exemplu, instrumentul AO Continuous Gen.vi (a se vedea Fig. 11 din lucrarea de laborator precedent) din biblioteca Analog Output Utilities VIs. Acest VI este eficient prin faptul c realizeaz configurarea i alocarea bufferului atunci cnd terminalul iteration este 0 i realizeaz dezafectarea bufferului atunci cnd terminalul boolean clear generation este true. O aplicaie principial care utilizeaz instrumentul AO Continuous Gen.vi este prezentat n Fig. 11.
80

Pe baza acestui nucleu a fost dezvoltat instrumentul Continuous Generation.vi plasat n biblioteca examples\daq\anlogout\ anlogout.llb a LabVIEW (Fig. 12, Fig. 13). Continuous Generation.vi realizeaz o generare hardware timed circular-bufferat.

Fig. 11. Generarea continu de date cu AI Continuous Gen.vi

Fig. 12. Fereastra Panel a aplicaiei Continuous Generation.vi


81

Fig. 13. Fereastra Diagram a aplicaiei Continuous Generation.vi

Datele ce trebuie generate completeaz n ntregime bufferul (de lungime precizat) la prima iteraie a buclei While. La urmtoarele iteraii, datele noi sunt (supra)scrise ntr-o jumtate a bufferului, n timp ce cealalt jumtate continu s transmit date spre ieirea (ieirile) analogic (e). Prin urmare, acest VI scrie date noi n buffer pe msur ce generarea datelor este n curs de desfurare. n acest exemplu, datele generate provin de la un generator de semnal dreptunghiular My Data Generator subVI. Dac se dorete generarea unui alt semnal pe ieirea analogic, acest subVI poate fi modificat. Datele trebuie furnizate la intrarea instrumentului AO Continuous Gen.vi sub forma unui tablou. Informaii suplimentare despre aceast aplicaie se pot obine din meniul Windows/ Show VI Info. Datele generate pot fi vizualizate cu Graph-ul din VI i prin conectarea unui voltmetru sau osciloscop pe pinii 20, 23 ai conectorului I/O al plcii AT-MIO-16 (pentru un singur canal de ieire analogic 0). Poate fi de asemenea utilizat un VI de achiziie ca n exemplele de generare simplu-bufferat anterioare. Pentru aplicaiile pretenioase, n care se urmrete realizarea unui control riguros asupra parametrilor generrii de date (cum ar fi setarea ceasului intern/extern, monitorizarea ratei de actualizare reale etc.) trebuie utilizate instrumentele de nivel intermediar conectate ntro structur asemntoare cu cea din Fig. 3. Spre deosebire de
82

conexiunea din Fig. 3, aa cum se observ din Fig. 14, terminalul number of buffer iteration (care are valoarea implicit 1) al instrumentului AO Start.vi se seteaz la 0 generare continu. Instrumentul AO Write.vi este folosit de dou ori: prima dat dup AO Config.vi pentru plasarea datelor ce vor fi generate n mod repetat n buffer, iar a doua oar n bucla While. Plasarea instrumentului AO Write.vi n bucl este necesar doar dac se dorete verificarea erorilor (cu conectarea corespunztoare la condiia de oprire a buclei) sau dac se dorete scrierea de noi date (adic modificarea datelor iniiale care sunt generate repetat) n bufferul circular. Instrumentul AO Wait.vi nu se mai utilizeaz, deoarece rolul su este de a verifica dac generarea de date a fost ncheiat (la bufferarea simpl), ori generarea continu a datelor nu se termin niciodat dect la oprirea rulrii buclei sau la apariia unei erori. Dac se urmrete doar generarea repetat a acelorai date din buffer, atunci nu mai este necesar conectarea unui alt set de date la instrumentul AO Write.vi din bucla While, i rolul su rmne doar de verificare a erorilor. Dup oprirea buclei While instrumentul AO Clear.vi poate trece la tergerea resurselor folosite. n Fig. 15 este prezentat fereastra panou pentru diagrama din Fig. 14, pentru situaia n care se dorete generarea pe canalele 0 i 1 a tensiunilor din matricele voltage data (primele date generate) i new data (datele generate n mod repetat dup ce au fost generate iniial cele din voltage data).

Fig. 14. Generarea continu de date cu instrumente intermediare


83

Fig. 15. Generarea continu a unor tensiuni pe canalele 0, 1

Tensiunile generate pot fi urmrite prin plasarea a dou voltmetre la pinii 20, 23 respectiv 21, 23 ai conectorului I/O al plcii AT-MIO-16. Reamintim c datele de pe coloanele matricelor reprezint tensiunile ce vor fi generate pe cte un canal, iar liniile reprezint tensiunile ce sunt scanate la fiecare interval de scanare. n situaia n care se dorete generarea repetat (continu) numai a datelor din voltage data, atunci matricea new data trebuie deconectat de la instrumentul AO Write.vi din bucl. Dac datele trebuie schimbate n timpul generrii lor, este indicat plasarea instrumentului (controlului) care furnizeaz aceste date n bucl, deoarece acest lucru permite modificarea on-the-fly, lucru util ndeosebi la generarea continu a semnalelor (formelor de und). n Fig. 16 i Fig. 17, pe baza structurii cu instrumente intermediare prezentat n Fig. 14, este realizat un generator continuu de semnal sinusoidal. Pentru sinteza valorilor unui ciclu sinusoidal a fost utilizat Sine Pattern.vi, plasat n interiorul buclei While. Matricea de date iniiale plasat, la intrarea instrumentului AO Write.vi din afara buclei, are rolul iniierii generrii datelor.
84

Fig. 16. Aplicaie de generare continu a unui semnal sinusoidal

Fig. 17. Exemplu de generare continu a unui semnal sinusoidal


85

Graph-ul din bucl servete la vizualizarea semnalului sinusoidal calculat pe o perioad, semnal ce va fi generat continuu pe ieirea analogic 0 (nu reprezint o afiare n timp real a acestui semnal). Acest semnal poate fi vizualizat n timp real cu ajutorul osciloscopului (pinii 20, 23) sau prin intermediul unui VI de achiziie (a se vedea Lucrarea de laborator nr. 2) dotat cu indicator grafic corespunztor. n exemplul din Fig. 17, frecvena semnalului generat va fi de 10 Hz (rezult din update rate i din numrul de puncte/perioad). Acest semnal poate fi achiziionat i vizualizat, de exemplu, cu Cont Acq&Graph.vi (Fig. 18). n timpul generrii continue a semnalului, amplitudinea i offsetul acestuia pot fi modificate din controalele corespunztoare plasate n fereastra panou din Fig. 17 (care au fost plasate i n bucla While - Fig.16).

Fig. 18. Achiziia i vizualizarea semnalului generat


86

Pentru implementarea unui generator de funcii se poate folosi metoda generrii de date cu buffer circular, prin intermediul softului corespunztor i a plcii de achiziie. Biblioteca Examples\ daq\ anlogout\ anlogout.llb conine generatorul Function Generator.vi care este construit n jurul unei structuri cu VI-uri intermediare de tipul celei din Fig. 16. Acest generator permite schimbarea parametrilor (amplitudine, offset etc.) i tipului semnalului (sinusoidal, dreptunghiular etc.) furnizat pe ieirea analogic n timpul generrii de date (on-the-fly). Pentru aprofundarea problemelor legate de generarea datelor pe ieirile analogice se pot analiza i rula alte diferite exemple din directorul Examples\Daq. La generarea continu cu buffer circular poate apare o eroare de tipul underFlowError (cod 10843), ceea ce nseamn c programul nu poate scrie suficient de rapid date n bufferul circular astfel nct datele s fie generate cu viteza cerut. Pentru rezolvarea problemei trebuie micorat frecvena de generare sau trebuie mrit bufferul. Observaie: Ca i n cazul achiziiilor de date bufferate, generarea poate fi declanat la apariia unor semnale de trigger (hardware sau software). Trebuie reamintit faptul c rularea programelor de achiziie i/sau generare de date analogice se poate face doar n prezena unei plci de achiziie, cum ar fi de exemplu placa AT-MIO-16H, care trebuie configurat corespunztor (Anexa 1).
3. Tem de laborator

3.1. Dezvoltai aplicaia multi-punct simplu-bufferat din Fig. 1, 2. Vizualizai semnalele generate cu ajutorul unui Graph sau Chart pentru ambele canale i verificai valorile respective cu dou voltmetre plasate pe cele dou ieiri ale plcii AT-MIO-16. Care este diferena dintre scan rate i update rate? 3.2. Implementai aceeai aplicaie de la punctul 3.1, dar folosind un instrument AO Waveform Gen.vi, cu repetarea de 3 ori a generrii de date. 3.3. Dezvoltai o aplicaie multi-punct simplu bufferat cu instrumente intermediare (Fig. 3, 4). Vizualizai cu indicatoare grafice datele generate i verificai cu voltmetrul aceste date.
87

3.4. Realizai o generare cu buffer simplu a semnalelor sinusoidale cu aplicaia din Fig. 6 Fig. 10. Modificai frecvena semnalelor generate prin modificarea numrului de perioade, a dimensiunii bufferului sau a frecvenei de generare update rate. Vizualizai semnalul generat pe ieirea 0 cu un voltmetru, un osciloscop sau cu ajutorul aceleiai plci i cu un instrument virtual de achiziie. ncercai utilizarea pentru generarea semnalelor sinus i cosinus a instrumentului Sine Wave.vi. 3.5. Rulai programul Continuous Generation.vi descris n Fig. 12, 13 i dezvoltai un VI similar pe baza diagramei din Fig. 11 pentru generare cu buffer circular. Vizualizai semnalul generat cu un voltmetru, un osciloscop sau cu un instrument virtual de achiziie (cu aceeai plac sau cu o plac AT-MIO-16 plasat n alt calculator). 3.6. Dezvoltai pe baza diagramei din Fig. 14 i a ferestrei panou din Fig. 15 o aplicaie de generare continu cu buffer circular. Modificai datele generate i frecvena de generare i citii tensiunile furnizate cu dou voltmetre conectate la ieirile analogice 0 i 1 ale plcii AT-MIO-16. 3.7. Generai n mod continuu un semnal sinusoidal pe ieirea analogic 0 a plcii, semnal care va fi vizualizat cu un osciloscop sau cu un VI de achiziie. 3.8. Generai n mod continuu un semnal triunghiular (pentru sinteza semnalului se poate folosi generatorul din biblioteca Analysis sau se construiete un generator propriu), care va fi afiat cu un osciloscop sau cu un VI de achiziie. 3.9. Rulai generatorul de funcii Function Generator.vi pentru diverse tipuri de semnale, parametri i frecvene de generare. Vizualizai semnalele generate cu VI-uri de achiziie.

88

LUCRAREA NR. 6 Operaii cu fiiere. Stocarea (data logging) i citirea datelor


1. Tehnici de stocare i nregistrare a datelor data logging & recording 1.1. Definiii i clasificri Stocarea i nregistrarea datelor reprezint aplicaii de msurare denumite n terminologia englez data logging and recording sau pe scurt data logging; un sistem de achiziie care realizeaz aceste operaii se numete data logger. Prin data logging se nelege msurarea i nregistrarea unor mrimi fizice pe un anumit interval de timp, precum i realizarea unor operaii de analiz i vizualizare a datelor, nsoite de generarea de rapoarte i distribuirea datelor (data sharing). Operaiile de data logging acoper un spectru larg de aplicaii, de la energetic la industria chimic i alimentar, de la construcii la industria automobilelor etc. Toate aceste aplicaii au ns caracteristici comune n ceea ce privete arhitectura sistemelor de tip data logger. Sistemele data logger au evoluat de la nregistrrile i graficele trasate manual la nregistratoarele automate cu hrtie i pn la sistemele moderne de achiziie i stocare a datelor bazate pe tehnica numeric de calcul. Sistemele data logger moderne pot fi clasificate n dou mari categorii: dispozitive speciale de tip stand alone care sunt instrumente independente de msurare, conversie numeric i stocare a datelor, respectiv sisteme data logger bazate pe calculator (PCbased data logging systems), din ce n ce mai rspndite i mai folosite datorit multiplelor avantaje legate de facilitile de vitez, capacitate de stocare i cost. n continuare ne vom referi la aceste din urm sisteme bazate pe calculator. Funciile de baz care trebuie realizate de un sistem data logger sunt: achiziia datelor, stocarea, analiza, vizualizarea, generarea de rapoarte i distribuirea datelor. Modul de grupare a acestor funcii de baz ntr-un sistem data logger este prezentat n Fig. 1. Achiziia datelor presupune msurarea datelor prin intermediul senzorilor, realizarea conectivitii cu sistemul de achiziie
89

propriu-zis, condiionarea semnalelor (prin operaiile de amplificare, izolare galvanic, multiplexare, filtrare, liniarizare etc.) i conversia analog-numeric.
Achiziia datelor Analiza datelor (on-line) Vizualizare Generare rapoarte Distribuire date

Stocarea datelor

Prelucrri off-line

Fig. 1. Funciile de baz ale unui sistem data logger Analiza datelor achiziionate cuprinde operaii care se pot realiza on-line i operaii de prelucrare off-line. Analiza on-line presupune scalarea datelor (exprimarea n uniti inginereti), operaii de semnalizare/alarmare, prelucrarea semnalelor, elaborarea de comenzi n cazul sistemelor de conducere etc. Aceste operaii de analiz on-line sunt realizate prin software. Datele achiziionate sunt stocate (dup o eventual analiz online) prin diferite metode i pe diverse medii de stocare. Operaia de stocare este n mod evident o funcie esenial a sistemelor data logger. Dup descrierea pe scurt a celorlalte funcii, vom reveni cu prezentarea tehnicilor de stocare a datelor, n special a formatelor (fiierelor) utilizate pentru stocare. Analiza off-line a datelor presupune realizarea unor prelucrri matematice, statistice, analiz n domeniul frecven etc. Vizualizarea datelor se poate realiza n timpul achiziiei sau ulterior. Pentru afiarea datelor este necesar o interfa grafic cu faciliti de scalare, zoom, legend etc. Generarea de rapoarte a fost integrat n sistemele data logger pentru creterea eficienei i const n emiterea de rapoarte ntr-un format adecvat pentru prezentarea datelor stocate i analizate. Distribuirea datelor (data sharing) const n punerea datelor la dispoziia persoanelor i instituiilor crora le sunt destinate, prin faciliti cum ar fi cele de networking. Alegerea software-ului i hardware-ului pentru un sistem data logger depinde de aplicaia concret care trebuie implementat. n
90

general, software-ul poate fi de dou categorii: soft la cheie (ready-torun sau turnkey), cum ar fi, de exemplu, pachetul LabVIEW, respectiv medii de dezvoltare a aplicaiilor data logging. n ceea ce privete hardware-ul, sistemele data logger bazate pe calculator pot fi clasificate n patru categorii: sisteme portabile (tip laptop), sisteme desktop, sisteme industriale montate pe rack i sisteme distribuite. 1.2. Tipuri de fiiere utilizate pentru stocarea datelor Stocarea datelor, ca funcie esenial a sistemelor data logger, se poate realiza prin diferite metode i medii de stocare, n funcie de tipul sistemului. Astfel, nregistratoarele clasice utilizeaz hrtie, sistemele stand-alone utilizeaz memorii interne, floppy-discuri, cartele PCMCIA (Personal Computer Memory Card International Association) etc., iar sistemele bazate pe calculator folosesc harddiscul propriu, hard-discul altor calculatoare la care sunt conectate printr-o reea sau diverse tipuri de medii de stocare. Deoarece n anumite aplicaii datele ce vor fi stocate sunt achiziionate cu o vitez foarte mare, software-ul folosit pentru stocarea datelor are un rol esenial, ndeosebi la sistemele bazate pe calculator. Software-ul determin viteza de stocare pe disc, utilizarea eficient a spaiului disponibil pe disc, formatul datelor stocate etc. Formatul datelor stocate depinde de tipul aplicaiei, fiind rspndite n general trei tipuri de format (de fiiere): fiiere de tip text (ASCII), fiiere binare i fiiere utilizate de bazele de date. Fiierele text sunt cele mai utilizate i conin de regul un antet (header) i coloane de date. Antetul furnizeaz informaii cum ar fi echipamentul utilizat, canalele de achiziie folosite, unitile de msur etc. Prima coloan de date reprezint de regul marca de timp (aa numitul timestamp) a fiecrui eantion achiziionat, iar coloanele urmtoare reprezint, de exemplu, datele achiziionate pe fiecare canal. Fiierele text sunt flexibile, portabile i pot fi utilizate de multe pachete software. Dezavantajul lor este legat de faptul c ocup mult spaiu pe disc i necesit procesri suplimentare pentru scriere i citire. Fiierele text sunt utilizate n aplicaiile data logging lente, cu o cantitate de date relativ sczut i care necesit o mare portabilitate. Fiierele binare permit utilizarea eficient a memoriei. n acest caz datele brute achiziionate pot fi scrise direct n fiier, fr alte prelucrri. n plus, datele binare ocup mai puin spaiu dect echivalentul lor n ASCII. Pe de alt parte, fiierele binare nu pot fi
91

vizualizate de soft-urile obinuite de procesare a documentelor cum ar fi Microsoft Excel sau Word. Datele brute achiziionate furnizate la ieirea hardware-ului de achiziie reprezint valori binare de exemplu, pentru un hardware de achiziie pe 16 bii, fiecare eantion achiziionat este reprezentat ca un numr binar pe 16 bii. Acest eantion ocup prin urmare 16 bii de memorie (sau 2 octei = 2 byte). Datele brute pot fi convertite de ctre software n date reprezentate n dubl precizie i n virgul mobil, care ocup de regul 8 octei de memorie (la un eantion). Dac este necesar o vitez de scriere pe disc foarte mare, atunci datele brute sunt scrise direct n fiiere binare, aa cum sunt achiziionate, i sunt furnizate informaii de scalare pentru reprezentarea ulterioar a datelor n dubl precizie i cu scalarea corespunztoare. Dac nu este necesar o vitez foarte mare, atunci datele sunt mai nti scalate i apoi scrise n fiiere binare, care vor conine datele exprimate n dubl precizie i n uniti inginereti. n situaia unor aplicaii lente i cu cantitate mic de date, reprezentate cu precizie redus, datele scalate se formateaz n text ASCII i astfel crete portabilitatea (n detrimentul memoriei ocupate). Anumite pachete software permit stocarea datelor achiziionate n baze de date. n acest caz fiierele sunt tot binare, dar datele sunt structurate ntr-o anumit form acceptat de baza de date, form care permite scrierea i citirea eficient a datelor. Bazele de date asigur manevrarea optim a unor mari cantiti de date, precum i cutarea eficient a informaiilor necesare. De asemenea sunt asigurate faciliti de arhivare, de acces pentru utilizatori multipli, importul i exportul datelor de la i ctre alte aplicaii. Modul de conversie a datelor achiziionate i posibilitile de stocare n diverse tipuri de fiiere sunt prezentate schematic n Fig. 2. Se observ cum dimensiunea fiierelor obinute este diferit n funcie de opiunea de stocare. Exist posibilitatea de a stoca datele binare ntr-o baz de date, fie utiliznd datele brute, fie pe cele scalate. Mediile de stocare actuale permit nmagazinarea unei mari cantiti de date n sistemele bazate pe calculator. Astfel, harddiscurile au n mod curent peste 40 GB, iar accesul este foarte rapid. n anumite aplicaii sunt necesare arhivri periodice ale informaiei i stocarea pe discuri de rezerv. Observaie: Aplicaiile de stocare cu vitez mare a datelor pe hard-disc se mai numesc aplicaii de scriere secvenial (n flux) pe disc disk streaming. Exist echipamente care permit aplicaii de
92

streaming direct de la hardware-ul de achiziie la mediul de stocare prin intermediul magistralei PCI, ceea ce conduce la viteze de stocare de pn la 132 MB/sec pentru calculatoarele actuale.
Hardware de achiziie Date achiziionate Date brute (binare) Stocare pe hard-disc 1 eant.16 bii = 2 octei 1024 eantioane Ex.: 1011011010111011

Fiier binar 2KB

Scalare date (reprez. dubl precizie, unit. inginereti etc.)

Structurare date i stocare pe fiier binar al unei baze de date

Fiier binar 8KB Date scalate (binare) Stocare pe hard-disc 1 eant.64 bii = 8 octei 1024 eantioane Ex.: +2.0352281014*e01

Formatare ASCII

Structurare date i stocare pe fiier binar al unei baze de date

Fiier text (ASCII) 24KB Date - format text (ASCII) 1 eant.12 caractere = = 24 octei Ex.: +20.352 m3/h Stocare pe hard-disc 1024 eantioane

Fig. 2. Modaliti de stocare a datelor n aplicaiile data logging


93

2. Instrumente virtuale pentru operaii I/O cu fiiere n aplicaiile de stocare de date, pe lng achiziia propriu-zis a datelor, studiat pe larg n lucrrile precedente, sunt eseniale operaiile de scriere/citire (intrare/ieire I/O) a fiierelor. LabVIEW dispune de o serie de instrumente virtuale destinate acestor operaii, grupate n meniul Functions, biblioteca File I/O (Fig. 3). Aceste VIuri asigur realizarea de operaii cum ar fi crearea, deschiderea i nchiderea fiierelor, scrierea i citirea fiierelor de date, mutarea, tergerea i redenumirea fiierelor i directoarelor, schimbarea caracteristicilor fiierelor etc. ntr-un mod asemntor cu gruparea pe niveluri a VI-urilor de achiziie i generare de date, instrumentele din biblioteca File I/O sunt grupate pe trei niveluri i anume: instrumente de nivel nalt, instrumente de nivel sczut i instrumente avansate. Instrumentele de nivel nalt, localizate pe prima linie a paletei File I/O, realizeaz operaii complete (deschidere, scriere sau citire, nchidere de fiiere) i sunt destinate aplicaiilor uzuale cu fiiere, fiind uor i rapid de utilizat, dar nu sunt flexibile i nu sunt destinate aplicaiilor de mare vitez. ntr-o analogie cu clasificarea limbajelor de programare de la nivelul cod-main pn la limbajele de nivel nalt, VI-urile avansate sunt cel mai aproape de nivelul cod-main, iar instrumentele high-level de limbajele de programare de nivel nalt.

High-level file I/O VIs (instrumente de nivel nalt) Low-level file I/O VIs (instrumente de nivel sczut) Advanced file I/O VIs (instrumente avansate)

Fig. 3. Gruparea instrumentelor n biblioteca File I/O


94

Instrumentele de nivel nalt apeleaz VI-urile de nivel sczut pentru realizarea operaiilor cu fiiere. Aceste VI-uri low-level, plasate pe a doua linie a paletei File I/O, sunt destinate realizrii unei anumite operaii cu fiiere, de exemplu deschiderea unui fiier. Aceste VI-uri de nivel sczut sunt recomandate pentru aplicaii de mare vitez (disk streaming). VI-urile avansate sunt instrumente de acelai nivel cu cele low-level, dar sunt mai puin utilizate i sunt plasate n sub-biblioteca Advanced. Operaiile uzuale cu fiiere includ trei etape: n prima etap se deschide sau se creeaz un fiier, n a doua etap se scriu sau se citesc datele din fiier iar n a treia etap se nchide fiierul respectiv. Alte operaii auxiliare permit crearea directoarelor, mutarea, copierea sau tergerea fiierelor, schimbarea caracteristicilor fiierelor, manipularea cilor de cutare etc. 1. Deschiderea sau crearea unui fiier. Pentru realizarea primei etape dintr-o operaie uzual cu fiiere, trebuie specificat locaia fiierului care va fi deschis sau creat. Pe majoritatea calculatoarelor este utilizat un sistem ierarhic de specificare a locaiei unui fiier, prin urmare pentru specificarea locaiei trebuie indicat lista de directoare (plecnd de la directorul rdcin) n care este plasat fiierul respectiv, printr-o cale (path). Dac instrumentul virtual lucreaz cu un fiier care a fost deschis deja (de ctre alt VI), atunci acest fiier deja deschis este identificat printr-un numr de referin numit refnum. Dac fiierul este nchis, atunci indicatorul refnum va fi dezactivat. Dac nu este specificat o cale (prin conectarea la un terminal de intrare), exist posibilitatea (doar n cazul instrumentelor de nivel nalt) s fie deschis o fereastr de dialog prin care trebuie specificate calea de cutare i fiierul n care se vor scrie sau din care se vor citi date. 2. Scrierea sau citirea datelor. A doua etap a unei operaii uzuale de lucru cu fiiere este scrierea sau citirea de date n sau din fiierul respectiv. Aceast etap se realizeaz n mod diferit n funcie de tipul fiierului n care stocm datele. Fiierele cu care lucreaz LabVIEW pentru stocarea datelor pot fi de tip text, binare sau de tip datalog. Fiierele de tip text sau binare cu care lucreaz LabVIEW fac parte din clasa fiierelor byte stream, care nregistreaz datele secvenial i au ca unitate de baz octetul. Un fiier byte stream poate conine date LabVIEW omogene
95

sau colecii de date LabVIEW de diverse tipuri (caractere, numere, date booleene, tablouri, clustere). Un exemplu de fiier byte stream simplu este fiierul text ASCII, care conine caractere. Un fiier text uzual cu care lucreaz LabVIEW, i care face parte tot din clasa byte stream, este fiierul text de tip foaie de lucru - spreadsheet, care conine caractere grupate n linii de numere reprezentate n cod ASCII, numere separate n cadrul fiecrei linii prin tab-uri, iar liniile separate ntre ele prin enter. Un alt exemplu de fiier byte stream este un tablou de numere binare pe 16 bii (ntregi sau simpl precizie n virgul mobil), numere care reprezint eantioane achiziionate. Un fiier byte stream mai complicat este unul n care tabloul de numere binare este precedat de un antet constnd n text ASCII care descrie modul i momentul achiziiei datelor. Antetul poate fi un cluster care conine parametri legai de achiziie (canale de achiziie, factori de scal etc.). Prin urmare, un fiier byte stream poate conine toate tipurile de date cu care lucreaz LabVIEW. Fiierele de tip byte stream, fie c sunt de tip text sau binare pot fi create cu instrumente de nivel nalt sau sczut din biblioteca File I/O. Fiierele de tip datalog conin o secven de nregistrri structurate identic. O nregistrare poate conine orice tip de date LabVIEW, dar toate nregistrrile din fiierul datalog trebuie s aib aceeai structur. Fiierele datalog pot fi create doar cu instrumente de nivel sczut. Un fiier byte stream poate fi scris prin adugarea de noi caractere, numere, tablouri. Datele dintr-un fiier pot fi suprascrise. Un fiier datalog poate fi scris prin adugarea a cte unei nregistrri la un moment dat, fr a avea posibilitatea de suprascriere. n ceea ce privete operaia de citire, un fiier byte stream poate fi citit prin specificarea unui index (offset) al octetului (caracterului) de la care se face citirea i a numrului de octei care vor fi citii. Fiierele datalog se citesc prin specificarea unui index (offset) al nregistrrii de la care se face citirea i a numrului de nregistrri ce vor fi citite. Fiierele byte stream se utilizeaz atunci cnd dorim stocarea datelor n format text sau spreadsheet, date care vor fi disponibile pentru alte aplicaii (exterioare LabVIEW). Fiierele byte stream binare se pot folosi pentru nregistrarea i stocarea continu a datelor achiziionate, care vor fi citite secvenial sau n mod aleator, n
96

cantiti arbitrare. Fiierele datalog se utilizeaz pentru nregistrarea de rezultate multiple ale unor teste sau a unor semnale care se citesc apoi cte unul i se trateaz n mod individual. Trebuie s se in seama de faptul c fiierele datalog sunt fiiere interne LabVIEW i nu pot fi citite de alte aplicaii (programe). 3. nchiderea unui fiier se realizeaz dup scrierea sau citirea datelor, cu ajutorul instrumentelor de nivel nalt sau sczut. 2.1. Operaii de scriere/citire cu instrumente de nivel nalt Instrumentele de nivel nalt plasate pe prima linie a paletei File I/O permit realizarea rapid i fr efort de programare a unor aplicaii de scriere/citire simple. Un VI de nivel nalt realizeaz singur toate cele trei etape de baz ale unei operaii I/O tipice: deschidere fiier, scriere sau citire, nchidere fiier. Din acest motiv, programarea este foarte rapid. n schimb, aceste VI-uri nu sunt recomandate n operaii disk streaming. Operaiile disk streaming necesit o vitez mare care presupune deschiderea unui fiier i pstrarea acestuia deschis n timp ce instrumente (low-level) plasate, de exemplu, n bucle realizeaz scrierea datelor. Plasarea ntr-o bucl a unui VI de nivel nalt ar conduce la operaii multiple, inutile, de deschidere/nchidere a fiierelor. VI-urile de nivel nalt permit scrierea/citirea urmtoarelor tipuri de date: iruri de caractere n sau de la fiiere text, linii de la fiiere text, tablouri monodimensionale (1D) sau bidimensionale (2D) de numere n simpl precizie n sau de la fiiere text spreadsheet, tablouri 1D sau 2D de numere ntregi sau simpl precizie n sau de la fiiere binare. Informaii complete despre VI-urile de nivel nalt se pot obine prin apelarea la meniurile de help disponibile n LabVIEW. n continuare vor fi prezentate cteva exemple de VI-uri de nivel nalt i cteva aplicaii simple realizate cu acestea. Primul VI de nivel nalt din paleta File I/O este Write To Spreadsheet File.vi (Fig. 4).

Fig. 4. Instrumentul de nivel nalt Write To Spreadsheet File.vi


97

Acest VI convertete un tablou 1D sau 2D de numere (simpl precizie SGL) ntr-un ir de caractere pe care l scrie ntr-un fiier byte stream nou sau pe care l adaug la un fiier existent. Write To Spreadsheet File.vi deschide fiierul int nainte de scriere, iar dup ncheierea operaiei de scriere l nchide. Fiierul obinut va fi unul de tip text spreadsheet, care poate fi citit de multe aplicaii (de exemplu Excel). Terminalele VI-ului sunt prezentate n Fig. 4: file path furnizeaz calea (dac nu este precizat se deschide o fereastr de dialog); la terminalele 2D data sau 1D data se cupleaz tabloul care va fi convertit i scris n fiier; append to file se utilizeaz doar dac se dorete adugarea datelor la un fiier existent; format precizeaz tipul de format folosit pentru reprezentarea datelor de exemplu, formatul implicit %.3f care determin crearea unui ir de caractere suficient de lung pentru a reprezenta ntregul numr cu trei digii n dreapta punctului zecimal etc. Exist un terminal suplimentar delimiter care nu apare n Fig. 4 i care este un ir de caractere ce permite setarea tipului de delimitator ntre date (implicit tab). n Fig. 5, 6 este prezentat o aplicaie simpl care convertete un vector creat cu o bucl For ntr-un fiier spreadsheet.

Fig. 5. Diagrama aplicaiei de scriere a unui fiier spreadsheet

Fig. 6. Fereastra panou a aplicaiei (indicarea cii i a fiierului)


98

Controlul pentru setarea cii de cutare este de tip path (meniul Controls/ Path&Refnum). Aplicaia creeaz un fiier multipli_pi.txt la locaia precizat prin cale, convertete vectorul 1D care conine multiplii lui pi (10 numere) n ir de caractere (delimitatorul este tabulator), scrie irul de caractere n fiier i apoi l nchide. Fiierul multipli_pi.txt poate fi citit/importat de diverse aplicaii cum ar fi Notepad (Fig. 7) sau Microsoft Excel (prin import al fiierului .txt sau direct prin precizarea extensiei .xls - Fig. 8).

Fig. 7. Fiierul multipli_pi.txt citit cu Notepad

Fig. 8. Foaie de lucru Excel cu datele din multipli_pi.xls Instrumentul dual pentru Write To Spreadsheet File.vi este Read From Spreadsheet File.vi , ale crui terminale sunt prezentate n Fig. 9. Acest VI deschide un fiier text, citete numrul specificat de linii din fiierul respectiv, ncepnd cu caracterul specificat prin indicatorul offset i apoi convertete irul de caractere ntr-un tablou 2D de numere n simpl precizie, iar n final nchide fiierul. O aplicaie dual cu cea anterioar, bazat pe instrumentul Read From Spreadsheet File.vi i care citete datele din fiierul multipli_pi.txt este prezentat n Fig. 10, 11.

Fig. 9. Instrumentul de nivel nalt Read From Spreadsheet File.vi


99

Fig. 10. Diagrama aplicaiei de citire a fiierului multipli_pi.txt

Fig. 11. Fereastra panou a aplicaiei (citirea i vizualizarea datelor) Pe lng VI-urile de nivel nalt descrise, paleta File I/O cuprinde i alte instrumente de nivel nalt cum ar fi Write Characters To File.vi i Read Characters From File.vi, care permit scrierea, respectiv citirea de iruri de caractere n fiiere text. Instrumentele de nivel nalt care opereaz cu fiiere binare sunt grupate n subbiblioteca Binary File VIs, situat tot pe prima linie a paletei File I/O. Pentru exemplificarea operaiilor cu fiiere binare vor fi prezentate dou aplicaii simple, de scriere respectiv de citire a unui fiier binar, realizate cu instrumentele Write To SGL File.vi i Read From SGL File.vi din sub-biblioteca Binary File VIs. Instrumentul Write To SGL File.vi (terminalele indicate n Fig. 12) deschide un fiier binar, scrie date de tip tablou 1D sau 2D de numere n simpl precizie (SGL) n fiierul respectiv, pe care l nchide la finalul operaiei de scriere. Instrumentul Read From SGL
100

File.vi (terminalele n Fig. 13) deschide fiierul binar specificat, citete datele din fiier ncepnd cu poziia octetului specificat prin indicatorul start of read offset i n final nchide fiierul respectiv.

Fig. 12. Instrumentul de nivel nalt Write To SGL File.vi

Fig. 13. Instrumentul de nivel nalt Read From SGL File.vi n Fig. 14 i 15 este prezentat o aplicaie de scriere a unui vector de date (1D tip SGL) furnizate de o bucl For (ca i n aplicaia de scriere n fiier text) ntr-un fiier binar numit date_binare_pi. Se utilizeaz instrumentul Write To SGL File.vi. Spre deosebire de aplicaia cu fiier text, aici datele binare nu mai sunt convertite n caractere ci sunt scrise direct n fiierul binar. n mod identic pot fi scrise datele achiziionate prin intermediul VI-urilor de achiziie. Avantajele fa de fiierul text sunt: economie de memorie, rapiditate i precizie. Dezavantajul: fiierul nu mai poate fi citit de aplicaii uzuale cum ar fi Excel sau Notepad. Pentru citirea datelor dintr-un fiier binar, se poate folosi Read From SGL File.vi n configuraia din Fig. 16, 17. Se parcurg etapele de deschidere a fiierului date_binare_pi, de citire a datelor i de nchidere a fiierului.

Fig. 14. Scrierea unui fiier binar


101

Fig. 15. Specificarea cii i fiierului pentru scrierea de date binare

Fig. 16. Citirea datelor dintr-un fiier binar

Fig. 17. Fereastra panou a aplicaiei de citire a fiierului binar 2.2. Operaii de scriere/citire cu instrumente low-level Instrumentele de scriere/citire de nivel sczut sunt plasate pe linia a doua din paleta File I/O (Fig. 3), iar instrumentele avansate (care din punct de vedere al nivelului sunt tot low-level, dar sunt utilizate pentru anumite operaii speciale) sunt plasate n subbiblioteca Advanced File Functions din a treia linie a paletei. Aceste VI-uri de nivel sczut se folosesc pentru realizarea operaiilor individuale cu fiiere, cum ar fi, de exemplu, deschiderea unui fiier i
102

prin urmare nu asigur (ca VI-urile de nivel nalt) realizarea cu un singur VI a tuturor etapelor necesare pentru scrierea sau citirea datelor - deschidere, scriere/citire i nchidere. n schimb, prin utilizarea instrumentelor low-level se asigur flexibilitatea i viteza aplicaiilor. Printre instrumentele low-level exist VI-uri principale, care asigur realizarea etapelor de baz ale operaiilor cu fiiere: deschidere, scriere, citire, nchidere, i exist VI-uri care asigur operaii auxiliare cum ar fi crearea directoarelor, mutarea, tergerea sau copierea fiierelor, schimbarea caracteristicilor fiierelor, manipularea cilor de cutare etc. Toate aceste instrumente pot fi analizate prin parcurgerea paletei File I/O i prin apelarea la meniurile de help. Pentru exemplificarea utilizrii VI-urilor de nivel sczut, aplicaia de scriere a datelor numerice 1D SGL ntr-un fiier spreadsheet realizat cu instrumentul de nivel nalt Write To Spreadsheet File.vi (Fig. 5, 6) este dezvoltat cu instrumentele lowlevel: Open/Create/Replace File.vi, Write File.vi, Close File.vi n Fig. 18. Funciile realizate de aceste instrumente sunt clar indicate de numele lor, iar modul de conectare este foarte simplu (detalii despere terminale se pot obine apelnd meniul Online help al fiecrui VI). Instrumentul Array To Spreadsheet String.vi din meniul Functions/ String a fost folosit pentru convertirea vectorului de numere 1D n ir de caractere. Fereastra panou a aplicaiei este similar cu cea din Fig. 6, iar fiierul poate fi numit multipli_pi.xls i va putea fi folosit direct n Excel, exact ca n Fig.8 (dac fiierul cu acest nume exist atunci coninutul acestuia va fi nlocuit cu datele noi, dac nu, atunci va fi creat n locaia specificat prin cale). Instrumentele low-level sunt conectate prin conexiuni de eroare i refnum (identific un fiier dup deschidere i pn la nchidere), similare cu conexiunile de eroare i task ID de la achiziia datelor cu instrumente intermediare de achiziie. Se observ c sunt necesare mai multe VI-uri fa de aplicaia cu instrumente de nivel nalt dei acest lucru pare inutil, este esenial pentru dezvoltarea de aplicaii de stocare de mare vitez necesare n data logging. n special aplicaiile de tip disk streaming necesit deschiderea fiierului i pstrarea acestuia deschis n timp ce alte instrumente realizeaz operaii multiple de scriere a datelor (de exemplu prin plasarea instrumentelor ntr-o bucl While), iar dup terminarea scrierii un alt instrument (din afara buclei) nchide fiierul.
103

Fig. 18. Scrierea unui fiier text cu instrumente low-level Observaie: Fiierele de tip datalog, care conin o secven de nregistrri structurate identic, pot fi create numai cu instrumente de nivel sczut (sau avansate). Pentru analiza i rularea unor aplicaii care folosesc fiiere datalog se pot parcurge VI-urile din biblioteca Examples\File\datalog.llb. O alt posibilitate de lucru cu nregistrri tip datalog este de a utiliza facilitatea Data Logging din meniul Operate al LabVIEW, care permite realizarea de nregistrri ale panoului frontal al unui VI. 3. Exemplu de achiziie i stocare de tip disk streaming Aplicaiile de tip disk streaming constau n stocarea cu vitez mare a datelor achiziionate (de ctre hardware-ul de achiziie) pe un mediu de stocare corespunztor (hard-disc). Dezvoltarea unei astfel de aplicaii n LabVIEW necesit utilizarea unor instrumente de achiziie, descrise detaliat n lucrrile 1 i 2, precum i a unor instrumente de operaii cu fiiere de tip low-level. n continuare va fi preluat i reluat aplicaia de achiziie continu (cu buffer circular) a unui semnal sinusoidal furnizat de un generator de semnal, dezvoltat n lucrarea nr. 2, paragraful 3.3 (diagrama din Fig. 15 a lucrrii 2). Generatorul este cuplat la intrarea analogic 0 a plcii AT-MIO-16 prin intermediul modulului de condiionare 5B41 (a se vedea lucrarea 2). Semnalul sinusoidal provenit de la generator este setat la o frecven de 50 Hz, iar
104

frecvena de eantionare (scan rate) este de 500 de eantioane/sec. Bufferul este de 500 de eantioane, iar datele achiziionate n mod continuu sunt puse imediat la dispoziia utilizatorului. Pentru realizarea aplicaiei au fost utilizate instrumente intermediare de achiziie. Pentru stocarea rapid a datelor achiziionate ntr-un fiier, vor fi utilizate, n afara buclei, instrumentele de deschidere i nchidere a fiierului, iar n interiorul buclei instrumentul de scriere. Pentru comoditatea vizualizrii i prelucrrii datelor cu alte aplicaii n acest exemplu va fi utilizat un fiier text. (Pentru creterea rapiditii de stocare, a preciziei i a economiei de memorie ar trebui utilizat un fiier binar, fiind recomandat n plus folosirea instrumentelor de analiz i afiare ulterior, dup realizarea achiziiei i stocrii datelor). Aa cum se observ n Fig. 19, conexiunile de eroare trec prin toate instrumentele de achiziie i de prelucrare a fiierelor, ntr-o secven impus de ordinea de execuie a instrumentelor respective. Conexiunile task ID i refnum conecteaz n mod corespunztor instrumentele de achiziie, respectiv pe cele de operare cu fiiere Instrumentele AI Config.vi, AI Start.vi, AI Read.vi, AI Clear.vi formeaz lanul de achiziie, iar Open/Create/Replace File.vi, Write File.vi, Close File.vi formeaz lanul de operaii cu fiiere. Datele achiziionate sunt stocate continuu n fiierul semnal_sinus.txt pn la oprirea aplicaiei, iar formatul datelor (numrul de digii la dreapta virgulei etc.) sau delimitatorii folosii pot fi schimbai prin modificarea corespunztoare a terminalelor instrumentului Array To Spreadsheet String.vi. Dac se dorete nregistrarea unor informaii privind marca de timp (timestamp) a datelor sau factori de scal etc., trebuie specificate aceste informaii ntr-un antet (header) al fiierului. Astfel de informaii pot fi obinute de exemplu prin folosirea VI-ului Get Date/ Time String.vi din biblioteca Functions/Time & Dialog. Dup cum se observ din Fig. 19, 20, acest VI furnizeaz data i momentul de timp (or, minut, secund) la care au fost achiziionate datele, ntr-un format precizat, informaiile de timestamp fiind astfel disponibile. Aceste informaii trebuie scrise n fiier mpreun cu datele achiziionate propriu-zise (sau ntr-un fiier separat) utiliznd VI-urile pentru operaii I/O prezentate (pentru a nu ncrca diagrama, informaiile timestamp sunt doar vizualizate n aplicaie). Pentru a stoca date nsoite de timestamp sunt utile fiierele de tip datalog.
105

Fig. 19. Achiziia i stocarea datelor n regim de disk streaming

Fig. 20. Fereastra panou a aplicaiei de disk streaming


106

Datele stocate pot fi utilizate ulterior pentru vizualizare, analiz, distribuire etc. De exemplu, prin folosirea unei aplicaii simple cu VI-ul de nivel nalt Read From Spreadsheet.vi, similar cu cea din Fig. 10, fiierul semnal_sinus.txt poate fi citit, iar datele convertite ntr-un tablou 2D numeric n simpl precizie pot fi vizualizate cu un Waveform graph (Fig. 21) sau pot fi analizate spectral etc.

Fig. 21. Citirea i vizualizarea datelor achiziionate i stocate Dup cum s-a precizat, pentru creterea rapiditii de stocare, a preciziei i a economiei de memorie trebuie utilizate fiiere binare. n acest sens, aplicaia din Fig. 19 poate fi transformat uor prin nlocuirea n calea de cutare a fiierului semnal_sinus.txt cu un fiier binar, numit de exemplu semnal_sinus_bin, iar n bucla While ieirea voltage data a instrumentului AI Read.vi se leag direct la intrarea data a VI-ului Write File.vi. Astfel, datele achiziionate sunt scrise n fiierul binar precizat. Pentru aprofundarea tehnicilor de operaii cu fiiere se pot parcurge exemplele de scriere i citire fiiere din biblioteca Examples\File a LabVIEW. n majoritatea aplicaiilor trebuie s se acorde o atenie deosebit conversiei n uniti inginereti (de exemplu exprimarea informaiilor despre temperatur ntr-un proces de monitorizare a se vedea Write Temperature To File.vi din Examples\File\smplfile.llb).
107

4. Tem de laborator 4.1. Ce nelegei prin operaii data logging? S se precizeze funciile de baz ale unui sistem data logger. Ce tipuri de fiiere pot fi utilizate pentru stocarea datelor i ce avantaje/dezavantaje au acestea? 4.2. S se parcurg biblioteca File I/O a LabVIEW. Ce tipuri de VI-uri sunt folosite pentru operaii I/O cu fiiere? Care sunt operaiile de baz realizate cu fiiere i care sunt tipurile de fiiere utilizate de LabVIEW pentru stocarea datelor? 4.3. S se implementeze i s se ruleze aplicaia de scriere a unui fiier spreadsheet din Fig. 5, 6. S se deschid Notepad i Microsoft Excel pentru vizualizarea datelor stocate. S se ruleze aplicaia de citire a fiierului text din Fig. 10, 11 i s se verifice corectitudinea datelor. S se implementeze o alt aplicaie de stocare, respectiv de citire a fiierelor text cu instrumente de nivel nalt. S se utilizeze diveri delimitatori i formate pentru datele stocate. 4.4. S se implementeze i s se ruleze aplicaia de scriere a unui fiier binar din Fig. 14, 15. S se ruleze aplicaia de citire a fiierului binar din Fig. 16, 17 i s se verifice corectitudinea datelor. S se implementeze o alt aplicaie de stocare, respectiv de citire a fiierelor binare cu instrumente de nivel nalt. 4.5. S se dezvolte aplicaia de scriere cu instrumente lowlevel din Fig. 18. S se vizualizeze fiierul creat cu ajutorul Excel. 4.6. Implementai exemplul de achiziie i stocare a datelor de tip disk streaming din paragraful 3 (Fig. 19, 20). Utilizai generatorul de semnal i placa AT-MIO-16 din laborator, conform celor precizate. Vizualizai datele stocate (aplicaia din Fig. 21). 4.7. Refacei exemplul de la punctul 4.6, pentru acelai semnal sinusoidal, dar cu frecvena de eantionare de 50 eantioane/sec. Ce observaii putei face? Rulai aplicaia i pentru alte tipuri de semnale obinute prin intermediul generatorului de semnal, de frecvene i amplitudini diverse. 4.8. Implementai o aplicaie similar cu cea de la punctul 4.5, dar cu stocarea datelor ntr-un fiier binar. Comparai dimensiunea fiierelor create la punctele 4.6, 4.8 (pentru acelai semnal i acelai interval de timp de achiziie de exemplu 1 minut).

108

LUCRAREA NR. 7 Aplicaie de msurare i achiziie a temperaturii


1. Descrierea aplicaiei n prezenta lucrare este dezvoltat o aplicaie de msurare i achiziie a valorilor temperaturii unui lichid dintr-un recipient. Temperatura lichidului din recipient poate fi modificat prin intermediul unei rezistene de nclzire. Temperatura lichidului este msurat folosind un termocuplu fier-constantan de tip J, cu domeniul de msurare ntre 0 761 oC. Termocuplul furnizeaz o tensiune (de ordinul milivolilor) proporional cu temperatura lichidului, tensiune care este aplicat la intrarea unui amplificator de precizie, ce asigur pe de o parte amplificarea tensiunii de la intrare i pe de alt parte compensarea influenei temperaturii mediului ambiant. Semnalul de tensiune de la ieirea amplificatorului de precizie este n gama 0 10 V c.c. Domeniul de variaie a temperaturii msurate este ntre 20 oC i 70 oC, ceea ce corespunde domeniului 2 5 V pentru tensiunea de ieire din amplificatorul de precizie. Tensiunea de la ieirea amplificatorului de precizie este aplicat la intrarea modulului de condiionare a semnalului 5B31 (National Instruments). Modulul 5B31 asigur izolarea galvanic fa de placa de achiziie, precum i filtrarea semnalului util (are banda de frecven de 4 Hz). Semnalul condiionat este aplicat la canalul de intrare analogic 1 al plcii de achiziie AT-MIO-16 (descrierea plcii i a modului de funcionare a acesteia este prezentat n Anexa 1). Schema instalaiei este prezentat n Fig. 1. Semnalul este achiziionat i prelucrat prin intermediul unei aplicaii LabVIEW de achiziie continu a datelor analogice (a se vedea Lucrarea nr. 2), realizat cu instrumente intermediare de achiziie i cu buffer circular. Aplicaia asigur achiziia datelor, scalarea acestora, precum i vizualizarea temperaturii lichidului din recipient. Pentru prelucrarea ulterioar a datelor se poate realiza stocarea datelor n regim data logger (Lucrarea nr. 6).
109

220 V

u [mV] AP + CJC
Semnal condiionat

U [V] Modul 5B31 US [V]

R
o C

TC

Driver NI-DAQ

Plac achiziie AT-MIO-16H-9

R rezisten de nclzire AP amplificator de precizie CJC compensarea jonciunii reci TC termocuplu de tip J

Software de aplicaie LabVIEW

Calculator

Utilizator Fig. 1. Schema instalaiei de msurare i achiziie a temperaturii 2. Msurarea temperaturii cu termocupluri Un traductor de temperatur cu termocuplu este alctuit din termocuplu (care constituie elementul sensibil sau senzorul), cabluri de prelungire i adaptor. Cablurile de prelungire au rolul de conectare a termocuplului la adaptor i permit deplasarea jonciunii de referin de la locul msurrii ntr-o zon unde este posibil meninerea constant a temperaturii. Adaptorul permite obinerea semnalului unificat de ieire. Termocuplul este un senzor care face conversia din temperatur ntr-o tensiune termo-electromotoare. Termocuplul este format din dou conductoare, de natur diferit, numite termoelectrozi, sudate la unul din capete. Sudura celor doi termoelectrozi formeaz jonciunea cald sau de msurare, care este imersat n mediul cu temperatura de msurat. Capetele libere ale termoelectrozilor formeaz jonciunea rece sau de referin, aflat la o
110

temperatur 0. Tensiunea termo-electromotoare care apare la capetele libere ale electrozilor ca urmare a diferenei de temperatur dintre cele dou jonciuni se mai numete i tensiune Seebeck (dup numele celui care a descoperit acest efect n 1821 Thomas Seebeck). Tensiunea termo-electromotoare depinde neliniar de temperatur, ns pentru variaii mici ale temperaturii relaia poate fi considerat liniar:

ETC = K S ( 0 )

(7.1)

unde ETC este tensiunea termo-electromotoare, iar K S [mV / o C ] este coeficientul Seebeck, care se mai numete i sensibilitate a termocuplului. Cabluri de prelungire

JR Adaptor

JR (+) JC (-)

U [V]

Termocuplu JC - Jonciunea cald JR - Jonciunea rece

Fig. 2. Schema constructiv a unui traductor cu termocuplu

Termoelectrozii unui termocuplu sunt realizai din materiale omogene, pure, care dezvolt o anumit tensiune termoelectromotoare n funcie de temperatur. Dintre materialele utilizate se pot enumera: cupru, fier, constantan (aliaj dintre cupru i nichel), cromel, nichel, platin etc. Termocuplurile sunt codificate cu litere majuscule, care indic materialele din care sunt construii electrozii. De exemplu, termocuplul de tip J are electrozii din fier i constantan, iar termocuplul de tip T din cupru i constantan etc. Utilizarea termocuplurilor pentru msurarea temperaturii necesit realizarea unor operaii de condiionare a semnalului, operaii descrise pe scurt n continuare.
111

Filtrarea i amplificarea semnalului. La ieirea termocuplurilor semnalul de tensiune este de nivel foarte mic (milivoli) i din acest motiv este uor afectat de zgomote (ndeosebi zgomotele de reea de 50 60 Hz mai mult, termocuplul acioneaz ca o anten care culege aceste zgomote). Prin urmare, modulele de condiionare i hardware-ul de achiziie care preiau acest semnal trebuie s fie ecranate, iar amplificarea semnalului trebuie s se realizeze ct mai aproape de termocuplu. Pentru siguran, se realizeaz filtrarea semnalului. Pentru msurarea temperaturii cu termocupluri este indicat utilizarea conexiunii difereniale pentru cuplarea la hardware-ul de achiziie, deoarece astfel se asigur o bun rejecie a zgomotelor. Compensarea jonciunii reci (cold junction compensation CJC). Termenul de jonciune rece pentru jonciunea de referin provine de la practica tradiional a fabricanilor de termocupluri de a etalona aceast jonciune n ap cu ghea la 0 oC. Pentru o astfel de etalonare, termocuplul furnizeaz o tensiune pozitiv atunci cnd temperatura msurat este peste 0 oC i o tensiune negativ atunci cnd temperatura este sub 0 oC. Dei oarecum precis, stabilirea referinei de temperatur n ap cu ghea nu este practic. Abordarea practic utilizat este aceea de a msura temperatura jonciunii de referin (care este temperatura mediului ambiant n care se afl aceasta) cu un senzor de temperatur direct i de a compensa aceast temperatur nenul prin diverse metode. Aceast procedur poart numele de compensare a jonciunii reci (CJC). Pentru implementarea CJC se pot utiliza dou tehnici: compensarea hardware sau compensarea software. Ambele tehnici necesit msurarea temperaturii jonciunii de referin cu un senzor direct, a crui ieire depinde numai de temperatura punctului de msurare (astfel de senzori sunt termistorii, termorezistenele, senzorii cu semiconductoare etc.). Compensarea hardware presupune introducerea n circuitul termoelectric a unei surse de tensiune care s anuleze tensiunea aprut ca urmare a temperaturii parazite a jonciunii reci. Tensiunea de compensare furnizat de surs este variabil n funcie de temperatura mediului ambiant. Dezavantajele acestei soluii sunt legate de pre i de precizie. Compensarea software presupune ca dup msurarea temperaturii jonciunii reci cu un senzor direct, o rutin software s
112

compenseze tensiunea msurat prin adugarea sau scderea unei valori corespunztoare pentru eliminarea efectului temperaturii jonciunii reci. Aceast compensare se efectueaz conform unor formule care depind de tipul termocuplului i care sunt stocate n bibliotecile pachetului software utilizat (de exemplu, LabVIEW). Liniarizarea ieirii termocuplurilor. Relaia liniar (7.1) nu este valabil dect pentru variaii mici ale temperaturii, deoarece coeficientul Seebeck variaz foarte mult n funcie de temperatur. Din acest motiv, mai ales cnd domeniul temperaturilor msurate este mare, trebuie s se in cont de neliniaritatea intrare-ieire. Pentru aceasta, se aproximeaz ieirea prin funcii polinomiale de temperatur sau se utilizeaz tabele de dependen temperaturtensiune, n funcie de tipul termocuplului. Pe lng operaiile de condiionare a semnalului furnizat de un termocuplu descrise mai sus, exist i alte faciliti care sunt asigurate de modulele de condiionare, cum ar fi detectarea ntreruperii circuitului termocuplului. Utilizarea unor circuite de condiionare cum ar fi cele de tip SCXI, 5B sau SCC ale firmei National Instruments permite obinerea unor performane foarte bune din punct de vedere al preciziei msurtorilor. Aplicaia de msurare i achiziie a temperaturii din aceast lucrare utilizeaz un termocuplu de tip J fier-constantan, cu domeniul de msurare ntre 0 761 oC. Deoarece valoarea tensiunii termo-electromotoare furnizate de termocuplu este foarte mic este necesar amplificarea acesteia cu un amplificator cu impedan de intrare i amplificare mari, tensiune de offset i deriv termic mici. Tensiunea de ordinul milivolilor de la ieirea termocuplului este aplicat la intrarea unui amplificator de precizie, realizat cu trei circuite integrate speciale. Schema amplificatorului de precizie, precum i descrierea funcionrii sale sunt prezentate n Anexa 2. Amplificatorul furnizeaz o tensiune de ieire ntre 0-10 V, realizeaz liniarizarea intrare-ieire i compensarea hardware a temperaturii jonciunii de referin. Pentru stabilirea relaiei temperatur tensiune de ieire din amplificator s-au realizat msurtori cu ajutorul unui voltmetru i a unui termometru de precizie. Rezultatele obinute au fost prezentate n Anexa 2. Pentru domeniul relativ mic de temperatur corespunztor procesului studiat i anume 20 70 oC a
113

rezultat o tensiune de ieire din amplificator cuprins ntre 2 i 5 V i o dependen liniar temperatur tensiune, prezentat n Fig. 3. U [V] 5

[oC]

70 20 Fig. 3. Caracteristica static temperatur-tensiune Tensiunea de la ieirea amplificatorului de precizie este aplicat la intrarea modulului de condiionare a semnalului 5B31, care asigur izolarea galvanic fa de placa de achiziie, precum i filtrarea semnalului util (banda de frecven este de 4 Hz), care n cazul achiziiei temperaturii este un semnal lent variabil n timp.
3. Achiziia, scalarea i vizualizarea datelor

Semnalul care conine informaia despre temperatur provenit de la modulul de condiionare 5B31 este conectat la canalul de intrare analogic 1 (montaj diferenial) al plcii AT-MIO-16. Semnalul este achiziionat i prelucrat prin intermediul unei aplicaii LabVIEW de achiziie continu (multi-punct) a datelor analogice, realizat cu instrumente intermediare de achiziie i cu buffer circular. Fereastra diagram a acestei aplicaii este prezentat n Fig. 4 (a se vedea lucrarea nr. 2 pentru detalii referitoare la achiziia continu a datelor, la utilizarea instrumentelor intermediare i a bufferelor). A fost utilizat o succesiune de instrumente intermediare de achiziie: AI Config.vi, AI Start.vi, AI Read.vi i AI Clear.vi, conectate prin conexiuni de tip Task ID i Error. Bufferul utilizat are dimensiunea de 500 de eantioane, iar rata de scanare este de 2 eantioane/sec. Datele achiziionate n mod continuu sunt puse imediat la dispoziia utilizatorului. Pentru afiarea datelor achiziionate n uniti de temperatur (grade Celsius) se utilizeaz relaia de calcul dedus din
114

caracteristica static din Fig. 3. Pentru o eventual afiare a datelor n grade Fahrenheit se poate utiliza relaia de conversie:

[ F ] = 32 +

9 [C ] 5

(7.2)

Pentru afiarea datelor au fost utilizate dou indicatoare grafice: un Waveform Chart i un Waveform Graph. Indicatorul grafic de tip chart permite vizualizarea datelor despre temperatur pe intervalul de timp dorit, prin setarea corespunztoare a parametrului Chart History Length (din meniul indicatorului grafic). Indicatorul de tip graph este util pentru analiza dinamicii procesului msurat, axa x fiind gradat n uniti de timp, scalate n funcie de perioada de eantionare stabilit. Pentru indicarea temperaturii curente este utilizat un indicator grafic de tip Thermometer. Aplicaia dezvoltat n diagrama din Fig. 4 a fost rulat n scopul achiziiei i vizualizrii informaiei despre temperatura lichidului din recipient. Rezultatele obinute sunt prezentate n fereastra panou din Fig. 5.

Fig. 4. Achiziia multi-punct cu buffer circular a temperaturii


115

Fig. 5. Vizualizarea temperaturii msurate i achiziionate (fereastra panou a aplicaiei)

Lichidul din recipient a fost nclzit prin intermediul rezistenei electrice, dup care a fost lsat s se rceasc. Acest ciclu nclzire rcire a fost repetat pentru a observa dinamica temperaturii. Din Fig. 5 se observ faptul c nclzirea lichidului este mai rapid dect rcirea. Dinamica general a procesului este relativ lent, aa cum se poate observa din analiza indicatorului de tip graph. Temperatura a fost afiat n grade Celsius, existnd posibilitatea de convertire i afiare n grade Fahrenheit, aa cum se poate observa din diagrama prezentat n Fig. 4. Pentru aprofundarea noiunilor i tehnicilor de achiziie a temperaturii se pot analiza i rula diverse exemple din biblioteca Examples a LabVIEW. Una dintre aplicaiile referitoare la achiziia i vizualizarea temperaturii este Temperature System Demo.vi din Examples\ APPS. Panoul frontal al aplicaiei este prezentat n Fig. 6. Acest VI simuleaz achiziia unei temperaturi, care este vizualizat i analizat; sunt setate temperaturile limit i sunt semnalizate eventualele depiri ale acestor limite etc.
116

Fig. 6. Instrumentul Temperature System Demo.vi

LabVIEW dispune de o serie de VI-uri destinate cuplrii plcilor de achiziie la module de condiionare a semnalelor de tip SCC i SCXI, care la rndul lor se cupleaz direct la ieirea unor senzori de temperatur, n particular termocupluri. Aceste VI-uri pot realiza software operaiile de liniarizare, compensare a jonciunii reci, scalarea i reprezentarea datelor n uniti inginereti, vizualizarea datelor achiziionate etc. Exemple de astfel de instrumente se gsesc n Examples\ DAQ\ Analogin\ scxi.llb: SCXI-1102 Thermocuple.vi, SCXI 1120/1121 Thermocuple.vi etc., VI-uri care se utilizeaz pentru modulele SCXI 1102, 1120, 1121. Aceste module de condiionare mpreun cu instrumentele virtuale corespunztoare permit conectarea direct i rapid a plcii de achiziie la termocupluri de diferite tipuri J, K, T etc. Avantajul utilizrii modulelor i instrumentelor virtuale este legat de existena n biblioteca LabVIEW a datelor referitoare la termocuplurile standardizate i rezolvarea software a problemelor de liniarizare i compensare a jonciunii reci pentru orice tip de termocuplu din bibliotec. Astfel, nu mai este necesar construirea de adaptoare hardware pentru fiecare termocuplu, iar efortul de programare este mult diminuat.
117

Observaie: Pentru aprofundarea noiunilor teoretice i practice referitoare la tehnicile de msurare, msurarea temperaturii i utilizarea termocuplurilor se pot consulta lucrrile [2], [3], [9], [10], [19], [24], [26] din lista de referine bibliografice.
4. Tem de laborator

4.1. Care este structura unui traductor cu termocuplu? Ce nelegei prin compensarea jonciunii reci? Care sunt operaiile de condiionare a semnalelor necesare n cazul msurrii temperaturii cu termocupluri? 4.2. Pe baza schemei din Fig. 1 s se conecteze elementele necesare msurrii i achiziiei temperaturii lichidului (ap) din recipient. S se deduc relaia analitic temperatur-tensiune pe baza caracteristicii statice din Fig. 3. Dup implementarea aplicaiei de achiziie n LabVIEW prezentat n paragraful 3, s se ruleze aplicaia pentru 5 10 minute i s se observe evoluia temperaturii dup conectarea la reea a rezistenei de nclzire. 4.3. S se refac punctul 4.2 pentru cazul n care afiarea temperaturii este realizat n grade Fahrenheit, iar achiziia datelor se efectueaz dup ce rezistena de nclzire este deconectat de la reea. 4.4. S se realizeze experimentul de la punctul 4.2 n situaia n care achiziia datelor este declanat printr-un trigger numeric sau software (a se consulta lucrarea nr. 3). 4.5. S se dezvolte o aplicaie de achiziie a temperaturii n regim data logger. Datele vor fi stocate n fiiere binare sau de tip text prin utilizarea instrumentelor de nivel nalt i apoi n regim disk streaming cu instrumente low-level (a se consulta lucrarea nr. 6). 4.6. Parcurgei exemplele referitoare la msurarea i achiziia temperaturii prezentate n Examples\ APPS i Examples\ DAQ\ Analogin\ scxi.llb.

118

LUCRAREA NR. 8 Aplicaii de achiziie/generare a semnalului audio (controlul intrrilor/ieirilor plcilor de sunet)
1. Noiuni introductive n varianta LabVIEW 6.1 exist posibilitatea de a lucra cu placa de sunet cu care este prevzut orice calculator compatibil IBM-PC. Acest lucru conduce la posibilitatea de achiziie i/sau generare de semnal audio folosind placa de sunet, microfoane i boxe audio. De exemplu, utiliznd placa de sunet i boxele audio pot fi testate generatoare de semnal periodic, n timp real, de tip dreptunghiular, triunghiular, dinte de ferestru sau sinusoidal. Aceste generatoare au fost descrise pe larg n lucrarea Ghid de programare n LabVIEW. Aplicaii pentru prelucrarea semnalelor (a se vedea bibliografia). n general, orice sistem de calcul modern este prevzut cu o plac de sunet mai mult sau mai puin performant. Se poate profita de existena general a unei asemenea plci de achiziie pe orice calculator i se pot implementa diferite experimente de timp real. Semnalul de intrare analogic provine de la intrarea de microfon iar semnalul analogic de ieire este generat pe ieirea ctre boxe. Avnd n vedere acest lucru, se pot implementa experimente de timp real de achiziie, prelucrare i generare de semnal audio. Lucrarea prezent abordeaz n special partea de generare a semnalului audio. Pentru a obine generatoare de semnal n timp real trebuie respectate anumite cerine. Utilizarea unui generator de semnal din biblioteca Signal Generation/Signal Processing/Analyze a meniului Functions nu permite obinerea direct de semnal n timp real; aceste semnale sunt sintetizate i eventual afiate aa cum ar arta n timp real, dar generarea lor se face n fraciuni de secund sau, oricum, ntrun timp mai mare sau mai mic, n funcie de viteza microprocesorului. Timpul real are cerine mult mai drastice. Spre exemplu, dac se dorete sintetizarea i generarea unui semnal n timp real audio pe o durat de 6 secunde, atunci este necesar ca semnalul s fie emis exact pe o durat de 6 secunde durat msurat cu un cronometru de
119

precizie. Un program n timp real trebuie s funcioneze n strns legtur cu timpul fizic. Pentru a genera astfel de semnale este necesar s inem cont de faptul c placa de sunet este o plac de achiziie general care funcioneaz sub Windows la frecvene prestabilite de 8000, 11025, 22050 sau 44100 Hz. Aceasta nseamn c dac dorim s emitem un semnal sonor cu o durat de 2 secunde, generatorul software va trebui s genereze (2 secunde) * (frecvena_ eantionare_plac) eantioane. Spre exemplu, dac lucrm pe frecvena de 22050 Hz i generm un semnal cu o durat de 3 secunde, aceasta nseamn c placa va trebui s primeasc de la generatorul de semnal software 3 * 22050 = 66150 eantioane. innd cont de acest lucru, trebuie fcut o observaie important: numrul de eantioane cu care se genereaz o perioad a semnalului va rezulta n funcie de frecvena de lucru a plcii de sunet i de frecvena semnalului periodic emis (a se vedea i considerentele legate de frecvena semnalului generat din lucrarea nr. 5). Astfel, dac generm un semnal periodic cu frecvena de 1500 Hz pe o durat de 3 secunde, atunci semnalul pe o perioad va fi generat ntr-un numr de puncte dat de:

nr_esantioane/ perioada =

secunda = perioade (3 secunde) 1500 secunda 22050 esantioane esantioane = 14 1500 perioada perioada

(3 secunde) 22050 esantioane

(8.1)

Folosind acest lucru, se poate genera semnal periodic n timp real pe o durat de timp prestabilit. Schemele principiale ale unor aplicaii de achiziie, respectiv generare de semnal audio cu plcile de sunet i cu LabVIEW sunt prezentate n Fig. 1 i Fig. 2. Pentru nelegerea modului n care se realizeaz achiziia i generarea datelor n timp real sunt deosebit de importante noiunile de flux de date de timp real i flux de date software. Prin flux de date de timp real se nelege viteza de prelucrare (procesare) a datelor de ctre dispozitivele de timp real (plci de
120

achiziii, plci audio etc.). Prin flux de date software se nelege viteza cu care software-ul genereaz date pentru dispozitivele de timp real de ieire sau preia date de la dispozitivele de timp real de intrare. Este necesar ca fluxul de date software (de intrare sau de ieire) s fie compatibil cu cel hardware (de timp real). Dac exist mici diferene, se pot folosi buffere pentru compatibilizare.

Fig. 1. Structura unei aplicaii de achiziie (intrare) de sunet

Fig. 2. Structura unei aplicaii de generare (redare, ieire) de sunet

121

2. Instrumente LabVIEW pentru controlul intrrilor/ieirilor plcilor de sunet

n LabVIEW 6.1 dispunem de instrumente specializate pentru controlul intrrilor de sunet (de la microfon) i al ieirilor de sunet (ctre boxe), plasate n biblioteca Graphics & Sound a meniului Functions, dup cum se vede n Fig. 3.

Fig. 3. Instrumente specializate pentru intrri/ieiri pe placa de sunet

ntre VI-urile de achiziie/generare a semnalului audio i VIurile de achiziie/generare de uz general prezentate n lucrrile 1-5 exist anumite similitudini, cum ar fi, de exemplu, conectarea acestora prin conexiuni de tip Task ID in/out i Error in/out. n continuare vor
122

fi prezentate, pe scurt, VI-urile utilizate pentru generarea de semnal audio. n sub-biblioteca Sound Output exist 8 instrumente pentru controlul ieirilor plcii de sunet. Acestea se folosesc pentru a implementa un flux de operaii care s conduc la funcionarea dorit a plcii de sunet. Cele mai importante 5 instrumente de control al ieirii de sunet se conecteaz prin conexiuni de tip Task ID i Error ntr-o succesiune prezentat n Fig. 4.

Fig. 4. Conectarea instrumentelor specializate pentru generarea ieirilor pe placa de sunet

Fig. 5. Instrumentul SO Config.vi

Instrumentul SO Config.vi (Sound Output Configuration) este prezentat n Fig. 5 i are rolul de a configura dispozitivul de ieire pentru sunet. Acest VI creeaz un identificator al task-ului de ieire sunet (sound output task ID). Dup folosirea acestui instrument virtual de configurare, acesta va fi trecut n modul pauz. Semnificaia terminalelor este urmtoarea: device este dispozitivul de ieire pentru operaii cu sunet sub Windows 95/98/NT. (Aceast valoare este ignorat de ctre sistemul de operare de pe Macintosh). Valoarea implicit este 0 i semnific placa de sunet n cazul n care nu exist i alte plci de intrare-ieire pe aceeai plac de baz. Valorile posibile sunt n gama 0 ... n-1, unde n este numrul de dispozitive de ieire ale calculatorului. sound format este o structur de tip cluster n care se specific setrile pentru operaia de redare a sunetului (Mono sau Stereo), se seteaz rata de eantionare (redare) la valori din setul 8000, 11025, 22050 sau 44100, i se interpreteaz eantioanele numerice de sunet ca numere ntregi pe 8 sau 16 bii: - sound quality se seteaz la valori stereo sau mono
123

- rate seteaz rata de eantionare pentru operaiile de intrare sau viteza de redare pentru operaiile de ieire. Putem alege ntre 8000, 11025, 22050, sau 44100 eantioane/secund. - bits per sample seteaz operaiile cu sunet la 8 sau 16 bii/eantion. La operaiile de nregistrare de sunet, folosirea configuraiei Stereo dubleaz spaiul de stocare a eantioanelor de sunet iar folosirea a 16 bii/eantion de sunet dubleaz la rndul ei necesarul de memorie fa de opiunea 8 bii/eantion. task ID out este un identificator de task ce se transmite la terminalul task ID in al urmtorului instrument virtual al fluxului de operaii cu sunetul. Instrumentul SO Start.vi (Sound Output Start) Fig. 6 declaneaz operaia de generare a sunetului asociat cu taskul corespunztor legat la terminalul task ID in. Dac dispozitivul funcioneaz deja, apelarea acestui instrument nu are nici un efect. Dac dispozitivul este n mod pauz, se va relua operaiunea de redare (generare) sunet. Instrumentul SO Write.vi (Sound Output Write) Fig. 7 scrie date ctre ieirea de sunet a dispozitivului asociat cu terminalul task ID in. Dac dispozitivul este funcional, se red sunetul imediat. Dac dispozitivul este n mod pauz, sunetul nu va fi redat pn nu se ruleaz SO Start.vi. La unul dintre cele 4 terminale mono 8 bit, mono 16 bit, stereo 8 bit, stereo 16 bit se conecteaz datele care reprezint semnalul numeric sonor n funcie de modul n care a fost setat s funcioneze dispozitivul prin SO Config.vi.

Fig. 6. Instrumentul SO Start.vi

Fig. 7. Instrumentul SO Write.vi


124

Fig. 8. Instrumentul SO Wait.vi

Instrumentul SO Wait.vi (Sound Output Wait) Fig. 8 ateapt pn cnd dispozitivul de ieire termin de redat toate datele pe care le-a primit anterior prin operaia SO Write.vi. Instrumentul SO Clear.vi (Sound Output Clear), prezentat n Fig. 9, nchide dispozitivul de ieire a sunetului i returneaz sistemului toate resursele utilizate de acest dispozitiv. SO Pause.vi (Sound Output Pause) Fig. 10 stopeaz ieirea de sunet a dispozitivului corespunztor cu task ID in. Dac acest dispozitiv se afl deja n pauz, apelarea acestui instrument nu are nici un efect. Prin apelarea acestui instrument nu se pierd datele care trebuie redate sonor i se salveaz poziia curent (se poate relua redarea din momentul ntreruperii atunci cnd se apeleaz instrumentul SO Start). SO Stop.vi (Sound Output Stop), prezentat n Fig. 11, stopeaz imediat operaia de redare a sunetului corespunztoare dispozitivului asociat cu task ID in. Toate datele rmase pentru redare se vor pierde.

Fig. 9. Instrumentul SO Clear.vi

Fig. 10. Instrumentul SO Pause.vi

Fig. 11. Instrumentul SO Stop.vi


125

3. Generator virtual de semnal audio

Prin utilizarea unor generatoare de semnal (de form de und) de tipul celor prezentate n lucrarea Ghid de programare n LabVIEW. Aplicaii pentru prelucrarea semnalelor (a se vedea bibliografia), se poate implementa un generator virtual de semnale audio. Generatorul de semnal audio are ca nucleu un generator de semnal (de form de und) completat cu anumite extensii. Au fost implementate dou variante constructive de generator virtual de semnal audio.
3.1. Generator complex de semnale audio. Varianta 1 Panoul frontal i diagrama din Fig. 12 i 13 reprezint un generator complex de semnal audio. Schema logic utilizat pentru implementarea acestui generator este prezentat n Fig. 14. Din Panoul frontal al generatorului se observ o serie de controale prin care putem modifica att parametrii plcii de sunet ct i parametrii semnalului generat. Putem alege tipul semnalului - Tip semnal (de baz sau reprezentat analitic prin formul). La rndul su semnalul de baz poate fi sinusoidal, triunghiular, dreptunghiular sau dinte de ferstru. Semnalul analitic se poate reprezenta prin mai multe formule analitice. Se poate modifica durata semnalului audio generat i, de asemenea, avem posibilitatea repetrii semnalului generat (Mod redare continuu). Generatorul virtual implementeaz schema logic din Fig. 14. Aceast schem logic se regsete n structura diagramei generatorului din Fig. 13, reluat i explicat n Fig. 15. Vor fi explicate n continuare poriunile funcionale ale diagramei cu caracter specific generatorului de semnal audio (pentru detalii privind sinteza semnalelor se poate consulta lucrarea Ghid de programare n LabVIEW. Aplicaii pentru prelucrarea semnalelor - a se vedea bibliografia). Setare parametri plac de sunet: se refer la obinerea parametrilor dup care va funciona placa de sunet. Aceti parametri se conecteaz, dup cum s-a vzut, la intrarea Sound format a instrumentului virtual SO Config.vi. Aceti parametri sunt grupai ntro structur de tip cluster, iar metodologia de grupare va fi prezentat n etapele urmtoare.
126

Fig. 12. Generator de semnal audio complex. Panoul frontal


127

Fig. 13. Generator de semnal audio complex. Diagrama


128

START

Setare parametri: - placa de sunet (stereo/mono, rata esantionare, 8/16 biti/esantion)

Setare parametri: - forma de unda generat (semnal de baza/formula, amplitudine, frecventa, durata)

Generare und cu parametrii dorii ca semnal numeric

Condiionare semnal numeric audio

Redare semnal audio (trimitere ctre placa de sunet)

Mod redare continuu ?

Da

STOP

Fig. 14. Schema logic pentru implementarea generatorului de sunet. Varianta 1

a. Se aduce n Panoul Frontal din Controls/Array&Cluster instrumentul Cluster care se dimensioneaz pentru a putea include 3 entiti de tip enumerare (vezi poziia 1 Fig. 16) b. Se aduce n Panoul Frontal din Controls/Ring&Enum instrumentul Enum care se eticheteaz sound quality (vezi poziia 2) c. Aa cum se prezint n poziia 3, se apeleaz un popdown menu din care selectm Add Item After, pentru a denumi elementele componente ale controlului enumerare sound quality. Primul element din enumerarea sound quality se va numi mono. Controlul enumerare
129

sound quality se poziioneaz n aria Cluster ca prim element al structurii. Se repet operaia descris mai sus: Add Item After, i denumim urmtorul element al enumerrii stereo. n acest moment structura Cluster va conine un prim element de tip enumerare, numit sound quality, care are dou elemente: mono i stereo. d. Repetm operaiile de la punctele b i c pentru alte dou enumerri pe care le includem n structur: rate (cu 4 elemente: 8000, 11025, 22050 i 44100) i bits per sample (cu 2 elemente: 8 i 16). n acest mod se creeaz o interfa cu utilizatorul foarte sugestiv. Afiare perioad form de und: reprezint poriunea de diagram folosit pentru a afia forma unei perioade din semnalul furnizat. Acest lucru este deosebit de util pentru a putea vedea care este influena creterii frecvenei unui semnal periodic asupra formei de und. Cu ct frecvena crete, cu att forma de und a unei perioade va fi mai distorsionat deoarece va fi reprezentat printr-un numr mai mic de puncte. O und este de fapt o structur (specific pentru variantele mai noi ale pachetului software LabVIEW) care se ataeaz unei secvene numerice. Secvena numeric poate fi reprezentat simplu printr-un vector (linie sau coloan), dar se pierde informaia relativ la momentele de eantionare la care au fost obinute aceste valori numerice. O und este o structur compus din 3 elemente: - Momentul iniial t0 . - Perioada de eantionare sau pasul de discretizare dt . - Vectorul de valori numerice Putem spune c unda conine informaii care pot identifica o secven numeric sub forma:
vector : {y 0 , y1 ,....., y n } t0 (8.2) dt unda : {y (t 0 ), y (t 0 + dt ),...., y (t 0 + (n 1)dt )} = {y , y ,....., y } n 0 1

Evident, valorile numerice ale unei unde se presupun egal repartizate n timp, deci cu ajutorul unei unde nu putem reprezenta dect secvene numerice obinute cu rate de eantionare constante.
130

Fig. 15. Structura diagramei generatorului complex de sunet


131

Fig. 16. Setarea parametrilor plcii de sunet

Din structura reprezentat de und se extrage doar vectorul de date din care se rein numai primele k eantioane, unde k reprezint numrul de eantioane/perioad. Acest lucru se realizeaz cu instrumentele Get Waveform Components.vi i Array Subset.vi (a se vedea Fig. 17).

132

Fig. 17. Utilizarea instrumentelor Get Waveform Components.vi i Array Subset.vi

Condiionare numeric sunet: transform reprezentarea n virgul mobil (real) a secvenei numerice generate ntr-o secven de numere ntregi fr semn, reprezentat pe 8 bii, care este acceptat de placa de sunet.

Fig. 18. Prelucrarea undei generate

Unda generat este prelucrat de instrumentul Quik Scale 1D care normalizeaz valorile secvenei numerice, deci y (i ) [ 1,1] . Prin multiplicare cu 128, valorile vor fi cuprinse ntre y (i ) [ 128,128] . Aceste valori sunt aduse n gama y (i ) {0,1,.....,255} de ctre

instrumentul To Unsigned Byte Integer: i apoi sunt trimise ctre placa de sunet care va reda sunetul corespunztor secvenei numerice. Observaie: Deseori n practic se dorete furnizarea unui semnal pe un inteval nedefinit de timp. Din aceast cauz generatorul a fost prevzut cu un buton prin care se poate alege Mod redare: timp limitat sau continuu.
133

Dup cum se observ din schema logic din Fig. 14, dac este selectat aceast opiune se reia programul de la nceput, mai puin partea de configurare a plcii de sunet. ntr-o asemenea implementare, semnalul audio generat se va auzi cu intermitene. Aceste ntreruperi, notate n Fig. 14 cu T , sunt cauzate de timpul necesar sistemului pentru a genera semnalul pe nc o perioad de timp dorit. Aceste ntreruperi sunt chiar mai mari n cazul n care folosim un sunet generat de o formul deoarece aceast funcie nu este precompilat iar T este variabil, fiind proporional cu durata semnalului generat.
3.2. Generator complex de semnale audio. Varianta 2 Pentru a micora neajunsul mai sus menionat, se poate modifica structura generatorului, aa cum se observ n schema logic din Fig. 19. Panoul frontal i diagrama sunt prezentate n Fig. 20 i 21.
START

Setare parametri: - placa de sunet (stereo/mono, rata esantionare, 8/16 biti/esantion)

Da

Setare parametri: - forma de unda generat (semnal de baza/formula, amplitudine, frecventa, durata)

Generare und cu parametrii dorii ca semnal numeric

Condiionare semnal numeric audio

Redare semnal audio (trimitere ctre placa de sunet) Nu Da Mod redare continuu ?

Refresh parametri ?

STOP

Fig. 19. Schema logic pentru implementarea generatorului de sunet. Varianta 2


134

Fig. 20. Panoul frontal al generatorului de sunet varianta 2


135

Fig. 21. Diagrama generatorului de sunet varianta 2


136

n Fig. 22 se prezint modificarea fcut n program. Butonul Refresh parametri se va aciona atunci cnd facem o modificare a parametrilor semnalului, n timp ce generatorul funcioneaz. La reluarea buclei se va vedea o diferen ntre valoarea actual a butonului i cea precedent, moment n care bucla While este prsit i se trece la execuia buclei While exterioare, care va prelua noile valori ale parametrilor i va genera semnalul corespunztor, dup care se reia procesul de redare pe o perioad nedeterminat (pn la oprire sau o nou modificare a parametrilor).

Fig. 22. Modificarea diagramei generatorului fa de varianta 1

Prin modificarea efectuat ntreruperile n redarea sunetului se vor diminua simitor. Mai mult, aceast ntrziere nu mai este variabil i proporional cu durata de generare a semnalului ci va fi o ntrerupere sesizat la reluarea buclei de scriere pe placa de sunet.
4. Tem de laborator

4.1. Care este structura unui aplicaii de achiziie / generare a semnalului audio? Ce nelegei prin flux de date hardware i software? Ce considerente trebuie respectate la stabilirea frecvenei de generare a semnalului i a numrului de eantioane / perioad? 4.2. S se parcurg instrumentele virtuale din biblioteca Graphics & Sound a meniului Functions. Ce nelegei prin conexiuni de tip Task ID i Error? Care este rolul instrumentelor SO Config.vi i SO Write.vi ntr-o aplicaie de generare a semnalului audio?
137

4.3. Descriei funcionarea generatorului virtual de semnal audio varianta 1. Implementai generatorul, rulai aplicaia pe un PC prevzut cu boxe i generai semnale audio de diferite tipuri (sinusoidal, triunghiular etc.), de diferite frecvene i pe diverse intervale de timp. Observai rolul alegerii frecvenei de eantionare n raport cu frecvena semnalului generat. Verificai dac semnalul generat este n timp real (prin cronometrare). Rulai aplicaia n mod de redare continu. Ce observai? 4.4. Refacei experimentele de la punctul 4.3 utiliznd varianta 2 de generator de semnal audio. Rulai aplicaia n mod de redare continu. Care sunt diferenele pe care le sesizai fa de varianta 1?

138

ANEXA 1 Placa de achiziie AT-MIO-16H National Instruments


(Manual de utilizare - AT-MIO-16 User Manual, National Instruments, SUA, 1995) - cuprins 1. Descrierea general a plcii de achiziie AT-MIO-16 2. Arhitectura plcii AT-MIO-16 2.1. Circuitul de interfa cu canalul I/O al PC-AT 2.2. Circuitul de intrri analogice 2.3. Achiziia de date cu placa AT-MIO-16 2.4. Controllerul de achiziie a datelor i circuitul de generare a semnalelor de tact (Timing I/O) 2.5. Funcionarea ca numrtor/generator de interval de timp i ca generator de frecven 2.6. Circuitul de ieiri analogice 2.7. Circuitul pentru intrri/ieiri numerice 2.8. Circuitul de interfa cu magistrala RTSI 3. Configurarea plcii AT-MIO-16H 3.1. Interfaa cu magistrala AT 3.1.1. Selectarea adresei I/O de baz 3.1.2. Selectarea canalelor DMA 3.1.3. Selectarea ntreruperilor 3.2. Configurarea intrrilor i ieirilor analogice 3.2.1. Configurarea intrrilor analogice 3.2.2. Configurarea ieirilor analogice 3.2.3. Circuite de izolare galvanic i condiionare semnal 3.2.4. Selectarea ceasului prin magistrala RTSI 4. Conexiunile plcii AT-MIO-16 4.1. Conexiuni pentru intrri analogice
139

141 146 146 148 151 155 157 159 161 163 165 165 167 168 169 170 171 174 177 178 180 180

4.2. Tipuri de surse de semnal 4.2.1. Surse de semnal flotante (floating signal source) 4.2.2. Surse de semnal raportate la mas (ground-referenced signal source) 4.3. Configuraii de intrare analogic 4.3.1. Consideraii asupra conexiunii difereniale 4.3.2. Consideraii asupra conexiunilor single-ended 4.3.3. Consideraii privind rejecia pe mod comun 4.4. Conexiuni pentru ieiri analogice 4.5. Conexiuni pentru intrri/ieiri numerice 4.6. Conexiuni de alimentare 4.7. Conexiuni pentru semnale de tact i de sincronizare 4.7.1. Conexiuni pentru semnale de tact i sincronizare destinate achiziiei de date 4.7.2. Conexiuni pentru semnale de tact i sincronizare de uz general

183 183 183 184 184 187 189 189 191 192 192 192 194

140

1. Descrierea general a plcii de achiziie AT-MIO-16 n Fig. 1 este prezentat structura general a unei plci de achiziie AT-MIO-16 a firmei National Instruments. Prelucrarea datelor numerice precum i gestionarea interfeelor de intrri/ieiri analogice/numerice se face sub controlul pachetelor de programe LabVIEW ale aceleiai firme i al software-ului (driver) NI-DAQ (National Instruments Data Acquisition) pentru DOS/ Windows/ LabWindows. Placa de achiziii AT-MIO-16 poate fi folosit cu LabVIEW (sub Windows) sau LabWindows (sub DOS sau sub Windows), programe inovative ce conin software pentru dezvoltare de aplicaii bazate pe aceast plac de achiziii. n timp ce LabVIEW folosete programarea grafic, LabWindows mrete capacitile programelor Microsoft C i QuickBASIC. Ambele pachete conin biblioteci extinse pentru achiziia datelor, controlul instrumentaiei, analiza datelor i reprezentarea grafic a datelor.

Fig. 1. Structura general a unei plci de achiziie tip AT-MIO-16 n Fig. 1, DI sunt dispozitive de intrare (achiziie) care cuprind intrri numerice de la traductoare sau senzori de semnale
141

numerice i intrri analogice dotate cu convertor analog-numeric (CAN) de la traductoarele sau senzorii de semnale analogice. DO sunt dispozitive de ieire care cuprind ieiri numerice pentru acionri numerice sau semnalizri i ieiri analogice dotate cu convertoare numeric-analogice (CNA) pentru comenzile analogice. PC reprezint calculatorul personal n care se introduce placa de achiziie, calculator pe care este instalat LabVIEW, iar IU reprezint interfaa utilizator. n afara legturilor directe cu procesul fizic ce trebuie condus, este necesar existena unor legturi numerice cu alte sisteme, fie sisteme de aceeai natur (cum ar fi cazul sistemelor de conducere distribuite n care se face legtura informaional ntre calculatoarele de proces), fie cu instrumente de msur (osciloscoape, voltmetre numerice etc.) sau regulatoare numerice. Placa este prevzut cu dou tipuri de legturi numerice standardizate: legturi seriale RS 232C i legturi paralele IEEE 488. Placa AT-MIO-16 poate fi conectat la sistemul SCXI (Signal Conditioning eXtension for Instrumentation), bazat pe module care permit achiziia a peste 3000 de tipuri de semnale analogice de la termocupluri, termorezistene, surse de curent, de tensiune etc. precum i achiziia/generarea de semnale numerice de comunicaie i control. Placa AT-MIO-16 asigur tipurile specifice de funcii ale unei plci de achiziie: intrri analogice, ieiri analogice, intrri/ieiri numerice, temporizare (generare de interval de timp) i numrare. Placa de achiziie AT-MIO-16 se conecteaz pe placa de baz a unui calculator personal. n Fig. 2 este prezentat varianta compatibil PCAT (Advanced Technology). Placa de achiziie comunic cu placa de baz a calculatorului prin intermediul Canalului I/O pentru PC/AT. Circuitul de interfa const dintr-o magistral de adres de 24 de bii, o magistral de date de 16 bii, o magistral de control (arbitrare) a accesului direct la memorie (DMA), linii de ntrerupere i cteva semnale de comand i control. RTSI Bus este magistrala RTSI (Real-Time System Integration) cu care se pot interfaa toate plcile din seria National Instruments (NI) AT. Interfaa pentru magistrala RTSI are 7 linii trigger i o linie pentru ceasul de sistem i permite utilizarea mai multor plci NI din seria AT n acelai PC, plci care partajeaz semnalele de pe aceast magistral.
142

Fig. 2. Schema bloc a plcii de achiziie AT-MIO-16 Intrrile analogice i circuitele de achiziie de date conin (adreseaz) pn la 16 canale de intrri analogice cu amplificare programabil software i un CAN pe 12 bii. Suplimentar, AT-MIO16 conine circuite de achiziie a datelor pentru generarea semnalelor de timp pentru conversiile analog-numerice multiple i alte opiuni avansate. Circuitul pentru intrri analogice const dintr-un multiplexor de intrare, circuit de selecie a modului de multiplexare (16 intrri asimetrice single-ended sau 8 difereniale), un amplificator de instrumentaie cu amplificare programabil, un circuit de eantionare i reinere pentru implementarea unui CAN pe 12 bii i o stiv FIFO (First In First Out) de 16 cuvinte pe 16 bii care stocheaz rezultatele conversiei. CAN este cu aproximri succesive i suport la intrare 3 game de tensiuni: bipolare, cu valori ntre -10V...10V, -5V...5V i unipolar ntre 0V...+10V. Convertorul analog-numeric este disponibil n dou variante diferite n raport cu timpul maxim de conversie: 25 sec sau 9 sec. Achiziia de date se poate face pe un singur canal sau pe mai multe canale, cnd avem de-a face cu aa numita achiziie de date scanat. Ratele (frecvenele) maxime de achiziie depind de performanele CAN i sunt de 100.000 eantioane/secund pentru CAN cu timp maxim de conversie de 9 sec sau de 40.000 eantioane/secund pentru CAN de 25 sec.
143

Fiecare plac de achiziie din seria AT-MIO-16 are un nume diferit care scoate n eviden principalele caracteristici constructive. Astfel, avem 4 variante cu numele de AT-MIO-16L/H-9/25. Codificarea L/H se refer la amplificrile programabile pe partea de intrri analogice: cele codificate cu H (High) sunt prevzute cu amplificare programabil setat la 1, 2, 4 sau 8 iar cele codificate L (Low) sunt prevzute cu amplificri de 1, 10, 100 sau 500 de ori i pot fi utilizate la achiziia de semnal de nivel sczut. Codificarea 9/25 se refer la timpul maxim de conversie al CAN i anume 9 sau 25 sec. n ceea ce privete Circuitul ieirilor analogice, placa este prevzut cu dou canale de conversie numeric-analogic pe 12 bii, fiecare canal fiind prevzut cu ieiri unipolare sau bipolare cu selecie intern sau extern a tensiunii de referin. Pentru fiecare canal de ieire analogic, CNA genereaz un curent proporional cu tensiunea de intrare de referin, multiplicat cu un cod numeric ncrcat n prealabil ntr-un buffer propriu. Acest cod este tocmai numrul care va fi convertit n semnal analogic. Amplificatoarele operaionale de la ieire convertesc acest curent de ieire al CNA ntr-un semnal de tensiune transmis la conectorii de ieire. Frecvena maxim de generare a datelor este de 250000 de eantioane/sec. Circuitul pentru intrri/ieiri numerice este prevzut cu 8 linii de intrare/ieire numerice divizate n dou porturi de cte 4 linii fiecare. Ieirile numerice sunt grupate ntr-un registru de ieire de 8 bii, cte 4 pentru fiecare port de ieire. n mod asemntor, avem un registru de intrare pe 8 bii. Ambele registre sunt compatibile TTL i acioneaz TSR (Three State Logic, HiZ). Controllerul de achiziie date gestioneaz operaiile de achiziie iar Circuitul de generare a semnalelor de tact (Timing I/O) funciile generale de intrare/ieire. Ambele blocuri funcioneaz pe baza unui circuit de numrare/generare de interval de timp, care conine 5 numrtoare programabile pe 16 bii, compatibile TTL. Plcile disponibile n laborator sunt de tip AT-MIO-16H-9: AT se refer la compatibilitatea cu placa de baz a calculatoarelor IBM-PC n tehnologie AT (Advanced Technology). MIO abrevierea de la Multifunction Input/Output Board. 16 se refer la numrul de canale de intrare analogic: 16 canale asimetrice (single-ended) sau 8 canale difereniale.
144

H se refer la High-level analog inputs, adic la semnale analogice de intrare de nivel mare, care nu necesit amplificri programabile mari pe plac (amplificrile pot fi: 1, 2, 4, 8). 9 se refer la timpul minim de achiziie pe un canal, adic 9 sec. Frecvena (rata) maxim de achiziie este de 100.000 de eantioane pe secund. Placa de achiziie AT-MIO-16H nu dispune de tehnologie Plug-and-play (specific ndeosebi plcilor PCI - Peripheral Component Interconnect), fiind o plac tip ISA (Industry Standard Architecture) i prin urmare este prevzut cu un comutator DIP (Dual Inline Pin permite selectarea adresei de baz a plcii) i un set de jumpere care trebuie setate n funcie de arhitectura n care este folosit placa. Pentru setarea i utilizarea plcii de achiziie AT-MIO16H sunt necesare: placa de achiziie, driverul NI-DAQ, software-ul de aplicaie LabVIEW (sau LabWindows sau LabWindows/CVI) i un calculator. Observaie: Pentru programarea plcii se poate utiliza i programarea la nivel de regitri, care este ns dificil, fiind recomandat folosirea NI-DAQ i a unui soft de aplicaie. Placa de achiziie AT-MIO-16H conine: 16 canale single-ended de intrri analogice n domeniile 05V, 010V sau 8 canale difereniale n domeniile -5V 5V, -1010V funcie de configuraia hardware; 2 canale de ieiri analogice n domeniile 010V, 10 10V; 2 porturi numerice I/O pe 4 bii fiecare; 5 numrtoare independente pe 16 bii; un generator de frecven pn la 1 MHz; AT-MIO-16 poate fi instalat n orice slot disponibil de 16 bii (AT Style - ISA) din calculator. AT-MIO-16 nu poate lucra dac este instalat ntr-un slot expandat pe 8 bii (PC Style). Observaie: Specificaiile tehnice complete ale plcii, precum i procedurile de calibrare sunt prezentate n manualul de utilizare n limba englez furnizat de National Instruments: AT-MIO-16 User Manual.

145

2. Arhitectura plcii AT-MIO-16 Aa cum se poate observa din Fig. 2 i din descrierea general din paragraful precedent, placa AT-MIO-16 conine urmtoarele blocuri principale: - circuitul de interfa cu canalul I/O al PC-AT; - circuitul de intrri analogice; - circuitul de control al achiziiei datelor; - circuitul de generare a semnalelor de tact (Timing I/O); - circuitul de ieiri analogice; - circuitul pentru intrri/ieiri numerice; - circuitul de interfa cu magistrala RTSI. Magistralele interne de date i control interconecteaz blocurile componente. 2.1. Circuitul de interfa cu canalul I/O al PC-AT Placa AT-MIO-16 dispune de un adaptor de 16 bii la canalul I/O al calculatorului PC-AT. Canalul I/O const ntr-o magistral de adrese de 24 de bii, o magistral de date de 16 bii, un controller (arbitru) de magistral DMA, linii de ntrerupere i semnale de control. Schema bloc cu arhitectura intern este prezentat n Fig. 3. Circuitul de interfa cu canalul I/O este format din regitri de adrese, un circuit decodificator de adrese, un buffer de date, un bloc de control (genereaz semnale de control i sincronizare a interfeei cu canalul I/O al PC-AT), un circuit de control al ntreruperilor i un circuit arbitru DMA. Circuitul de interfa cu canalul I/O al PC-AT genereaz semnalele necesare controlului i monitorizrii operaiilor din circuitele cu funcii multiple ale AT-MIO-16. Canalul I/O al PC-AT are 24 linii de adres; AT-MIO-16 folosete 10 din aceste linii pentru a decodifica adresa de plac. n acest caz, domeniul adreselor de pe plac este 000H-3FFH. Semnalele SA5SA9 sunt folosite pentru generarea semnalului de validare a plcii. SA0SA4 sunt folosite pentru selectarea regitrilor de pe plac. Aceste linii de adres sunt accesate de regitrii de adres la nceputul transferului I/O. Liniile de adres accesate trimit aceste adrese i spre circuitul de decodificare a adresei pe timpul ntregului ciclu de transfer I/O. Circuitul de decodificare a adresei genereaz semnale de selectare a registrului (care specific ce registru al AT-MIO-16 va fi accesat). Bufferul de
146

date controleaz direcia transferului de date pe liniile bidirecionale de date n funcie de tipul transferului (scriere sau citire).

Fig. 3. Diagrama circuitului de interfa cu canalul I/O al PC-AT Blocul de control i sincronizare al interfeei cu canalul I/O al PC-AT este folosit pentru generarea semnalelor read-and-write i pentru definirea ciclurilor de transfer. Un ciclu de transfer poate fi orice operaie de I/O de date pe 8 sau 16 bii. AT-MIO-16 semnaleaz prin canalul I/O al PC-AT momentul n care placa poate fi accesat, cnd este gata pentru alt transfer i mrimea cuvntului de date din transferul I/O curent. Circuitul de control al ntreruperilor ruteaz orice cerere de ntrerupere valid prin selectarea liniei de cerere de ntrerupere. Cererile de ntrerupere sunt semnale de ieire three state ce permit plcii AT-MIO-16 s mpart linia de ntrerupere cu alte dispozitive. Unsprezece linii de ntrerupere sunt disponibile pentru AT-MIO-16: IRQ3, IRQ4, IRQ5, IRQ6, IRQ7, IRQ9, IRQ10, IRQ11, IRQ12, IRQ14 i IRQ15. AT-MIO-16 poate genera cinci tipuri diferite de ntreruperi:
147

- atunci cnd rezultatul unei conversii analog-numerice este disponibil pentru a fi citit din memoria FIFO; - atunci cnd operaia de achiziie a datelor este complet; - atunci cnd este recepionat un semnal (impuls) de terminare a transferului DMA; - atunci cnd este detectat un front cresctor al unui semnal la ieirea OUT 2 a circuitului de numrare/temporizare Am9513A; - atunci cnd apar semnalele de eroare OVERFLOW sau OVERRUN. Fiecare dintre aceste ntreruperi este individual validat sau invalidat. Dac transferul DMA este validat, circuitul de control DMA genereaz cereri DMA de fiecare dat cnd rezultatul msurrii analog-numerice este disponibil la bufferul FIFO al plcii. Circuitul DMA suport transferuri DMA pe 16 bii pe canalul I/O al PC-AT. Canalele DMA 5, 6 i 7 ale canalului I/O PC-AT sunt disponibile pentru astfel de transferuri. n cadrul circuitului DMA, pentru transferul DMA, poate fi selectat fie modul de transfer mono-canal, fie modul dublu-canal. 2.2. Circuitul de intrri analogice Placa este prevzut cu 16 canale single-ended de intrri analogice, numerotate de la 0 la 15. Intrrile pot fi configurate folosind jumpere (trapuri) i ca 8 canale difereniale de intrri analogice, numerotate de la 0 la 7. Placa AT-MIO-16 se poate folosi mpreun cu placa multiplexoare de intrri analogice AMUX-64T pentru extinderea intrrilor la 64 de canale single-ended (32 difereniale) sau, prin legarea n cascad a maximum 4 plci AMUX64T, se pot obine 256 de canale single-ended (sau 128 canale difereniale). Placa de achiziie poate fi folosit mpreun cu modulul SCXI pentru condiionarea semnalelor de intrare. Circuitul de intrri analogice const dintr-un multiplexor de intrare, jumpere de selectare a modului multiplexor, amplificator de instrumentaie (AI) cu ctig programabil software (PGA Programmable Gain Amplifier), un amplificator sample-and-hold (circuit de eantionare/memorare), un convertor analog-numeric pe 12 bii i o stiv FIFO cu opiune de extindere a semnului pn la bitul 16. Schema bloc a circuitului de intrri analogice este prezentat n Fig. 4.
148

Fig. 4. Circuitul de intrri analogice i controllerul de achiziie Multiplexorul de intrare const din 2 multiplexoare CMOS cu intrri analogice i are 16 canale analogice de intrare. Multiplexorul MUX0 este conectat la canalele de intrri analogice de la 0 la 7, iar MUX1 la canalele 815. Intrrile multiplexoarelor sunt prevzute cu protecie la supratensiuni de intrare de 35V dac placa este alimentat i 20V dac placa este nealimentat. trapurile de selecie a modului de multiplexare configureaz canalele analogice de intrare ca 16 intrri single-ended sau ca 8 intrri difereniale. Atunci cnd este selectat modul single-ended, ieirile celor dou multiplexoare sunt legate mpreun i rutate la intrarea pozitiv a AI. Intrarea negativ a AI este legat la masa AT-MIO-16 pentru intrare RSE (Referenced Single-Ended input), sau pe calea de ntoarcere a semnalelor analogice de intrare, via AI SENSE din conectorul I/O pentru intrarea NRSE (NonReferenced Single-Ended input). Atunci cnd este selectat modul DIFF, ieirea MUX0 este rutat la intrarea pozitiv a AI i ieirea MUX1 la cea negativ. Pe placa AT-MIO-16 amplificatorul de instrumentaie AI ndeplinete dou scopuri. AI convertete un semnal diferenial de intrare n semnal single-ended, innd cont de masa AT-MIO-16, cu o rat de rejecie minim a intrrii de 85 dB. Aceast conversie permite extragerea semnalului analogic de intrare prin separarea de tensiunea de mod comun sau zgomote nainte de nceperea eantionrii i a conversiei. Un al doilea rol al AI este de a amplifica semnalul
149

analogic de intrare, nainte ca acesta s fie eantionat i convertit, aceast operaie crescnd rezoluia i acurateea msurtorii. Ctigul AI este selectat prin software: la AT-MIO-16L se pot selecta ctiguri de 1, 10, 100 i 500, iar la AT-MIO-16H ctiguri de 1, 2, 4 i 8. Selecia canalului analogic de intrare i a ctigului este controlat de o memorie Mux-Gain. Aceasta furnizeaz doi bii de control pentru setarea amplificrii AI i patru bii de adres pentru multiplexor i pentru circuitul de selecie a modului de multiplexare. Amplificatorul sample-and-hold (SHA) permite realizarea conversiei analog-numerice de ctre convertorul analog-numeric (ADC Analog to Digital Converter). La nceputul conversiei, SHA trece n modul hold (pstreaz) care menine la ieire o tensiune de valoare staionar (valoarea care a fost la nceputul perioadei de hold) indiferent de schimbarea tensiunii de intrare. Acest SHA furnizeaz CAN o tensiune stabil att timp ct este executat conversia analognumeric. Fr SHA, semnalul analogic de intrare poate varia pe durata conversiei, aceasta fiind o cauz a erorilor aprute n timpul conversiei. Prin izolarea CAN de semnalul analogic de intrare pe durata conversiei se poate comuta intrarea multiplexorului i se permite AI s se stabilizeze la o nou valoare, n timp ce CAN convertete vechea valoare. Aceast izolare optimizeaz performanele circuitului de intrare n sensul mririi vitezei i a realizrii de conversii analog-numerice multiple. Convertorul analog-numeric este un convertor pe 12 bii cu aproximaii succesive. Rezoluia de 12 bii permite furnizarea la ieirea CAN a unui cuvnt numeric pe 12 bii care reprezint valoarea nivelului de tensiune de la intrare. CAN suport trei domenii de intrare selectabile prin jumpere pe placa AT-MIO-16: -10 +10V, -5 +5V i 0 10V. CAN-ul de pe placa AT-MIO-16 este disponibil n dou variante: cu durata maxim de conversie de 9 sau 25 sec. Atunci cnd conversia analog-numeric este realizat, CAN-ul transfer rezultatul conversiei n bufferul FIFO al plcii, care are 12 bii lime i lungime de 16 cuvinte. La terminarea unei conversii analog-numerice, valoarea rezultat este salvat n memoria FIFO pentru a fi citit ulterior, permind convertorului s nceap o nou conversie. Bufferul FIFO poate colecta 16 valori ale conversiilor analog-numerice nainte ca informaia s fie pierdut, astfel c software-ul sau DMA are timp suficient pentru sincronizarea cu
150

hardware-ul de achiziie. Dac n memoria FIFO sunt stocate mai mult de 16 cuvinte nainte ca aceasta s fie citit, apare o eroare de tip A/D FIFO Overflow i informaia rezultat n urma conversiilor este pierdut. Memoria FIFO genereaz un semnal atunci cnd conine rezultatul unei conversii analog-numeric, semnal care poate fi utilizat pentru a genera o cerere DMA sau o ntrerupere. Un circuit de extensie pentru semn plasat la ieirea memoriei FIFO adaug 4 bii (MSB) i anume biii 1512 la ieirea memoriei FIFO care este pe 12 bii (biii de la 11 la 0), astfel c rezultatul final al conversiei este pe 16 bii. Circuitul de extensie pentru semn este programabil software, i poate genera numere n cod binar natural sau n cod complement fa de doi. n cod binar natural, biii 1512 sunt 0 i rezult un domeniu ntre 0 i 4.095. n cod complement fa de doi, bitul MSB al rezultatului pe 12 bii al conversiei (bitul 11) este inversat i extins la biii 1512, furniznd un domeniu ntre 2.048 i 2.047. 2.3. Achiziia de date cu placa AT-MIO-16 Placa poate realiza achiziii de date pe un singur canal sau pe mai multe canale (single-channel data acquisition, respectiv multiplechannel data acquisition). n cazul achiziiei mono-canal se selecteaz un singur canal de intrare analogic i se seteaz o singur amplificare (care determin, n funcie de domeniul de intrare, un domeniu efectiv de intrare a se vedea subcapitolul de configurare a intrrilor analogice). La fiecare perioad de eantionare este realizat o singur conversie analog-numeric pe canalul respectiv. Placa AT-MIO-16 permite trei tipuri de achiziii de date: achiziie de date mono-canal, achiziie de date multi-canal cu scanare continu tip round-robin i achiziie de date multi-canal cu intervale de scanare. n cazul achiziiei multi-canal, placa AT-MIO-16 scaneaz un set de canale de intrri analogice, fiecare cu propria sa amplificare (domeniu efectiv de intrare). n cadrul acestei metode, placa stocheaz o list sub forma unei secvene care precizeaz canalele analogice care trebuie citite, precum i amplificrile setate pentru canalele respective. Secvena poate conine de la una pn la 16 perechi de tip canal analogic/amplificare setat. n timpul citirii, circuitul de intrri analogice realizeaz cte o conversie analog-numeric pentru fiecare canal analogic (fiecare pereche canal/amplificare) din secvena respectiv. n timpul realizrii conversiei analog-numerice curente,
151

placa comut pe canalul analogic urmtor din secven, astfel nct achiziia s fie ct mai rapid. Atunci cnd s-a ajuns la sfritul secvenei, placa ateapt pn la terminarea unui interval de scanare (de citire) nainte de a relua achiziia canalelor din secven. Canalele sunt citite n mod repetat la nceputul fiecrui interval de citire pn cnd este achiziionat numrul de eantioane precizat de utilizator. Pentru a exemplifica tehnica de achiziie multi-canal, s considerm c avem o secven de 4 canale analogice, fiecare avnd setat o anumit amplificare. Vom presupune c am setat intervalul de scanare la 10 secunde, iar perioada sau intervalul inter-canal (intervalul de timp necesar pentru trecerea de la un canal la altul) este de 25 sec. Atunci, secvena de 4 canale va fi citit la nceputul intervalului de citire de 10 secunde, n 100 sec, cu 25 sec perioada inter-canal. Placa ateapt apoi pn la terminarea intervalului de citire de 10 secunde, dup care reia automat citirea celor 4 canale, i aa mai departe pn cnd se achiziioneaz numrul de eantioane cerut. Pentru realizarea unei achiziii ct mai rapide, se poate seta intervalul de citire la 0 secunde, placa nelegnd prin aceasta c reluarea citirii secvenei se va face imediat dup ce este citit ultimul canal analogic din secven, ceea ce corespunde unei scanri continue, de tip round-robin. Rata de scanare, denumit i frecven sau rat de achiziie sau de citire (scan rate), determin de cte ori pe secund sunt achiziionate date de la canalele de intrare. De exemplu, scanarea canalelor de intrare cu o rat de 10 scanri pe secund semnific faptul c sunt luate 10 eantioane la fiecare secund de la toate canalele de intrare din lista specificat. Inversul acestei rate este chiar intervalul de scanare sau de citire. Un semnal de tact (intern - de pe plac - sau extern), numit tact sau ceas de scanare (scan clock) fixeaz mrimea ratei de scanare, care controleaz intervalul de scanare. Intervalul de timp ntre achiziiile de la dou canale consecutive este, dup cum s-a precizat n exemplul anterior, intervalul sau perioada inter-canal (channel interval sau channel skew), inversa acestui interval fiind rata inter-canal. Trecerea de la un canal la altul n cadrul unei scanri se face prin urmare ntr-un interval de timp mai mic dect intervalul de scanare, iar semnalul de ceas care decide trecerea de la un canal la altul poart numele de tact de canal (channel clock).
152

Dac placa realizeaz o achiziie multi-canal de tip roundrobin, este utilizat doar semnalul de ceas de canal (Fig. 5), n acest caz fiind vorba de o scanare repetitiv la intervale egale. Dac sunt utilizate ambele semnale de ceas (de scanare i de canal) atunci achiziia multi-canal este cu intervale de scanare (Fig. 6.).
Canal Interval inter-canal

Fig. 5. Scanarea multi-canal de tip round-robin (cu channel clock)


Canal Interval inter-canal Interval scanare

Fig. 6. Achiziia multi-canal cu intervale de scanare (cu scan clock i channel clock) Pe timpul achiziiei de date mono-canal, memoria mux-gain este setat s selecteze amplificarea canalului analogic de intrare nainte de iniializarea achiziiei de date. Aceast amplificare i setarea multiplexorului rmn constante pe ntreaga perioada a procesului de achiziie de date; de aceea, toate datele de conversie analog-numeric sunt citite de la un singur canal. Tabelul 1. Rata de scanare n funcie de tipul achiziiei Tip plac/ Amplificare Rata de scanare Tip achiziie (Ctig) (scan rate) Achiziie de date monocanal: AT-MIO-16(H/L)-25 orice ctig setat 40 k eantionri/sec orice ctig setat 100 k eantionri/sec AT-MIO-16(H/L)-9 Achiziie de date multicanal: AT-MIO-16(H/L)-25 ctig = 1, 2, 4, 8 40 k eantionri/sec ctig = 10, 100 40 k eantionri/sec ctig = 500 20 k eantionri/sec ctig = 1, 2, 4, 8 100 k eantionri/sec AT-MIO-16(H/L)-9 ctig = 10 100 k eantionri/sec ctig = 100 70 k eantionri/sec ctig = 500 20 k eantionri/sec
153

Mrimea ratei de scanare depinde de perioada de conversie a CAN i de timpul necesar operaiei sample-and-hold. Atunci cnd se citesc mai multe canale (achiziii multi-canal), rata de achiziie este limitat i de timpul de stabilizare al multiplexoarelor i AI, datorat comutrii de pe un canal pe altul. Dup ce are loc comutarea intrrii multiplexoarelor, AI trebuie s permit stabilizarea valorii unui nou semnal de intrare naintea realizrii conversiei, n caz contrar precizia dorit nu va fi realizat. Timpul de rspuns depinde de amplificarea selectat i de ali factori cum ar fi: modulul de amplificare SCXI (dac este utilizat), setrile filtrelor, impedana sursei care se msoar. Placa AT-MIO-16 poate achiziiona date mono-canal sau multi-canal prin utilizarea urmtoarelor moduri de achiziie: modul posttrigger modul pretrigger modul dublu bufferat (double-buffered) modul AMUX-64T modul SCXI Modul posttrigger realizeaz achiziia unui numr specificat de eantioane dup recepionarea unui semnal trigger (de sincronizare). Achiziia posttrigger (posttrigger-are) se poate iniializa prin software sau prin aplicarea unui impuls pe intrarea STARTTRIG* a conectorului I/O al plcii AT-MIO-16 (pentru identificarea pinilor conectorului I/O a se vedea capitolul 4). Dup ce bufferul care stocheaz datele achiziionate (de lungime specificat de utilizator) este plin, achiziia este stopat. n cadrul modului pretrigger datele sunt achiziionate i nainte i dup primirea unui semnal trigger. Achiziia de date poate fi iniiat ca i n modul posttrigger, prin software sau prin aplicarea unui impuls pe STARTTRIG*. Placa colecteaz datele ntr-un buffer precizat de utilizator (fr a numra eantioanele i fr oprire) pn cnd recepioneaz un impuls pe intrarea STOPTRIG a conectorului I/O. Dup aceasta, placa va colecta un numr specificat de eantioane dup care stopeaz achiziia. Bufferul este tratat ca un buffer circular, adic dup ce ntregul buffer este completat, datele sunt stocate de la nceput prin suprascrierea datelor celor mai vechi. La terminarea achiziiei, bufferul conine eantioane att de dinaintea ct i dup apariia semnalului trigger. Numrul de eantioane salvate n buffer depinde de lungimea acestuia (specificat de utilizator) i de numrul specificat de eantioane de achiziionat dup apariia semnalului de trigger.
154

Modul de achiziie de tip double-buffered utilizeaz o tehnic asemntoare cu modul pretrigger, completnd bufferul specificat de utilizator n mod continuu. Spre deosebire de modul pretrigger, aici se apeleaz la un al doilea buffer, care preia datele vechi din primul buffer, nainte ca acestea s fie suprascrise. Modul AMUX-64T presupune utilizarea uneia sau mai multor plci AMUX-64T pentru extinderea numrului de intrri analogice disponibile. Semnalele analogice se conecteaz n acest caz la placa AMUX-64T i nu la placa AT-MIO-16. Modul SCXI presupune utilizarea unor plci (module) de condiionare a semnalelor SCXI. 2.4. Controllerul de achiziie a datelor i circuitul de generare a semnalelor de tact (Timing I/O) Placa AT-MIO-16 conine un circuit de control al achiziiei de date, al crui rol n cadrul circuitului de intrri analogice poate fi observat n Fig. 4. Acest controller permite generarea de semnale de tact (cum ar fi scan clock, channel clock etc.) pentru controlul automat al conversiilor analog-numerice incluznd totodat i opiuni avansate cum ar fi triggerare extern i generare semnale de ceas. Controllerul de achiziie a datelor genereaz semnale de tact i semnale care iniiaz operaia de achiziie de date, iniiaz fiecare conversie analog-numeric, valideaz operaiile de achiziie de date. Sursele pentru aceste semnale sunt fie numrtoarele circuitului Am9513A de pe plac, fie surse externe. n acest ultim caz semnalele provin din exterior prin conectorul I/O al AT-MIO-16 sau de la alte plci din seriile AT conectate la magistrala RTSI. Circuitul Am9513A pe 16 bii conine 5 numrtoare (schema bloc a unui numrtor este prezentat n Fig. 7): Numrtorul 1 se folosete pentru citirea automat multicanal cu placa AMUX-64T sau cu module SCXI. Dac nu se utilizeaz nici una dintre acestea, numrtorul 1 este disponibil pentru realizarea unor funcii generale de numrare. Numrtorul 2 se folosete implicit pentru generarea tactului de citire multi-canal, atunci cnd intervalul de citire (scan interval) este diferit de 0. Numrtorul 2 poate fi utilizat pentru generarea de semnale de tip form de und (waveform). Dac se citete numai un canal sau se oprete tactul, numrtorul 2 este disponibil pentru diverse funcii generale de numrare.
155

SOURCE

Numrtor
GATE

OUT

Fig. 7. Schema bloc a unui numrtor din circuitul Am9513A Numrtorul 3 genereaz tactul pentru controlul perioadei de eantionare i este totdeauna rezervat pentru operaiile de achiziie. Numrtorul 4 este rezervat pentru numrarea eantioanelor n cadrul achiziiei de date. Numrtorul 5 este folosit dac numrul de eantioane este mai mare de 65.535. n caz contrar numrtorul 5 este disponibil pentru realizarea unor funcii generale de numrare. Achiziia de date presupune utilizarea urmtoarelor tipuri de semnale: - start trigger este un semnal care iniializeaz secvena de achiziie de date. Acest semnal poate fi furnizat din exterior prin intrarea STARTRIG* a conectorului I/O sau prin software. - sample counter nregistreaz numrul conversiilor analognumerice (eantioanelor) i stopeaz achiziia de date atunci cnd a fost achiziionat numrul specificat de eantioane. - conversion pulse este un semnal care genereaz un impuls la fiecare perioad de eantionare, iniializnd conversia analognumeric. Semnalul poate fi generat de ctre circuitul Am9315 de pe plac (printr-un tact de ceas programabil) sau poate fi furnizat din exterior prin intrarea EXTCONV* a conectorului I/O al plcii. - stop trigger este un semnal utilizat n cadrul achiziiei pretrigger pentru a informa placa AT-MIO-16 c poate opri achiziia de date atunci cnd a fost colectat numrul specificat de eantioane. Pn la aplicarea semnalului stop trigger la intrarea STOPTRIG a conectorului I/O, achiziia de date se desfoar n mod continuu, scriind i rescriind date n buffer. - timebase clock este un semnal de ceas care constituie baza de timp pentru controlul perioadei de eantionare. Acest semnal poate fi generat intern de ctre plac, fiind posibile frecvene de 1 MHz, 100 KHz, 10 KHz, 1 KHz sau 100 Hz, sau din exterior, prin aplicarea unui semnal de ceas la intrarea SOURCE5 a conectorului I/O.
156

Circuitul de numrare/sincronizare Am9513A este utilizat i de ctre circuitul de generare a semnalelor de tact pentru generarea unor semnale de tact i numrare de uz general (a se vedea Fig. 2 pentru nelegerea rolului circuitelor de achiziii de date i timing I/O n cadrul arhitecturii generale a plcii). Schema bloc a circuitului de generare a semnalelor de tact de uz general este prezentat n Fig. 8.

Fig. 8. Schema circuitului de generare a semnalelor de tact Circuitul de generare a semnalelor de tact permite funcionarea plcii ca numrtor/generator de interval de timp, precum i ca generator de frecven, programabil. 2.5. Funcionarea ca numrtor/generator de interval de timp i ca generator de frecven Funcionarea ca numrtor/generator de intervale de timp Dup cum s-a vzut n paragraful precedent, placa AT-MIO16 conine circuitul integrat de numrare / sincronizare Am9513A care are 5 numrtoare/temporizatoare individuale pe 16 bii i generator de frecven, programabil pe 4 bii. Pentru operaiile de numrare, numrtoarele pot utiliza diverse baze de timp, folosind fie semnalele furnizate la intrrile
157

SOURCE sau GATE, fie bazele de timp interne furnizate de circuitul Am9513A. Sunt disponibile urmtoarele baze de timp interne: - ceas de 1 MHz (rezoluie 1 s); - ceas de 100 KHz (rezoluie 10 s); - ceas de 10 KHz (rezoluie 100 s); - ceas de 1 KHz (rezoluie 1 ms); - ceas de 100 Hz (rezoluie 10 ms). Un numrtor poate fi programat s utilizeze ca baz de timp ieirea unui numrtor de rang imediat inferior, fiind posibil astfel concatenarea numrtoarelor (de exemplu, numrtorul 2 poate fi programat s numere ieirea numrtorului 3, ceea ce conduce la crearea unui numrtor pe 32 de bii). Un numrtor poate fi configurat pentru numrare pe front cobortor sau cresctor al semnalului baz de timp (indiferent dac acest semnal este o baz de timp intern, un semnal pe intrarea SOURCE, pe intrarea GATE sau provine de la un numrtor de rang imediat inferior). Intrarea GATE poate fi folosit pentru declanarea sau oprirea unei operaiuni de numrare. Circuitul Am9513A are disponibile 8 moduri de declanare: - fr declanare - numrtorul se poate porni/opri prin soft; - declanare pe nivel nalt (high-level gating) - numrtorul este activ cnd intrarea GATE este n 1 logic; numrtorul este oprit cnd intrarea este n 0 logic; - declanare pe nivel sczut (low-level gating) - numrtorul este activ cnd intrarea pe poart (GATE) este n 0 logic; numrtorul este oprit cnd intrarea este n 1 logic; - declanare pe front cresctor - numrtorul este activat pe frontul cresctor al semnalului de la intrarea GATE; - declanare pe front cobortor - numrtorul este activat pe frontul descresctor al semnalului de la intrarea pe poart; - declanare pe impulsul numrtorului inferior - numrtorul este activ cnd numrtorul de rang imediat inferior din list termin numrarea i genereaz un impuls terminal count; - declanare pe nivel 1 logic al numrtorului n+1 numrtorul este activ atunci cnd intrarea GATE a numrtorului de rang imediat superior din list este n 1 logic, altfel numrarea este suspendat;
158

- declanare pe nivel 1 logic al numrtorului n-1 numrtorul este activ atunci cnd intrarea GATE a numrtorului de rang imediat inferior din list este n 1 logic, altfel numrarea este suspendat. Un numrtor genereaz dou tipuri de semnale la ieire: un semnal numit terminal count pulse sau un semnal terminal count toggle. n modul terminal count pulse, numrtorul genereaz un impuls la ieire atunci cnd ajunge la sfritul numrrii (adic la 65535 16 bii pentru numrare cresctoare sau la 0 pentru numrare descresctoare) i rencepe numrtoarea. n modul terminal count toggle, ieirea numrtorului i schimb starea (din 0 n 1 sau invers) atunci cnd ajunge la sfritul numrrii i rencepe numrtoarea. Dac numrtorul nu lucreaz, ieirea acestuia se poate seta n una din cele 3 stri: impedan nalt, 0 logic sau 1 logic. Funcionarea ca generator de frecven programabil Placa AT-MIO-16H poate genera un semnal de ieire cu frecvena programabil, pe 4 bii. Acest semnal de ieire are frecvena egal cu un divizor al frecvenei semnalului baz de timp utilizat. Pentru generarea semnalului de frecven programabil (disponibil pe ieirea FOUT a conectorului I/O) se poate utiliza oricare din bazele de timp interne (de la 1 MHz la 100 Hz) sau intrrile SOURCE sau GATE ale numrtoarelor de pe plac. 2.6. Circuitul de ieiri analogice Placa AT-MIO-16 conine 2 canale de ieiri analogice, numerotate 0 i 1. Fiecare canal de ieire conine un convertor numeric-analogic (CNA) pe 12 bii. Fiecare canal de ieire se poate configura prin folosirea de jumpere, pentru intervalele -1010 V (bipolar) sau 010 V (unipolar). Pentru canalele de ieire este disponibil o tensiune de referin de pe plac, de 10 V. Poate fi utilizat i o referin extern, caz n care limitele de ieire sunt ntre Vref i Vref pentru configuraia bipolar, sau 0Vref pentru configuraia unipolar, unde Vref este tensiunea de referin extern (Vref este maximum 10 V). Tensiunile care se obin la ieirea convertoarelor numeric-analogice depind de valorile datelor din buffer, de nivelul tensiunii de referin Vref i de setarea polaritii ieirilor analogice.
159

Observaie: Funciile de generare de forme de und waveform (de tip Instrument Virtual VI - LabVIEW sau funcii specializate din driverele NI-DAQ) pot scrie continuu valori pe unul sau pe ambele canale de ieire; pentru aceasta se folosete un semnal de tact de pe plac sau un semnal de tact extern pentru a citi date dintrun buffer i a le trimite la intervale regulate de timp convertoarelor numeric-analogice. Circuitul de ieiri analogice conine cele dou canale de ieire, care, pe lng CNA-uri, sunt prevzute cu amplificatoare operaionale de instrumentaie (AO), jumpere de selectare a referinei i jumpere de selectare a ieirii unipolare/bipolare. CNA-ul de pe fiecare canal de ieire analogic genereaz un curent proporional cu tensiunea de intrare de referin (Vref) multiplicat prin codul numeric ncrcat n CNA. Fiecare CNA poate fi ncrcat cu un cod numeric pe 12 bii. Amplificatoarele de instrumentaie de ieire convertesc curentul de ieire al CNA n tensiune de ieire furnizat la pinii DAC0 OUT i DAC1 OUT ai conectorului I/O. Diagrama bloc a circuitului de ieiri analogice este prezentat n Fig. 9.

Fig. 9. Schema bloc a circuitului de ieiri analogice


160

Ieirea circuitelor CNA+AO poate fi configurat prin jumpere s furnizeze un domeniu de ieire unipolar sau bipolar. Pentru ieirea unipolar avem un domeniu de tensiune de ieire de la 0 la +Vref -1LSB V. Ieirea bipolar furnizeaz un domeniu de tensiune de la -Vref la +Vref -1LSB V. Pentru ieirea unipolar, 0V la ieire corespund la un cuvnt numeric cu codul zero. Pentru ieirea bipolar, forma codului numeric de intrare este selectabil prin jumpere. n cod binar natural, 0V la ieire corespund unui cuvnt numeric cu codul 2.048. Dac este selectat forma n complement fa de 2, 0V corespund cuvntului numeric cu codul zero. Pentru ieire unipolar 1LSB = Vref /4.096. Pentru ieire bipolar 1LSB = Vref /2.048. Sursa de tensiune de referin pentru fiecare CNA este selectabil prin jumpere i poate s fie intern sau extern, primit pe intrarea EXTREF. Referina extern poate fi orice semnal de c.c. sau c.a. Dac este aplicat o referin de c.a., canalul de ieire analogic acioneaz ca un atenuator de semnal, i semnalul de c.a. apare la ieire atenuat cu codul numeric divizat la 4.096 pentru ieirea unipolar. Ieirea bipolar cu referin de c.a. furnizeaz o multiplicare n 4 cadrane, ceea ce nseamn c semnalul este inversat pentru codurile numerice 02.047 i nu este inversat pentru codurile 2.048 4.095. n cod binar natural, cuvntul numeric cu codul 2.048 atenueaz semnalul de intrare la 0V. Aceast atenuare este echivalent cu multiplicarea semnalului cu (cuvnt numeric cu cod -2.048)/2.048. n modul complement fa de doi, cuvntul numeric cu codul zero atenueaz semnalul de intrare la 0V. Tensiunea de referin intern este o versiune bufferat a referinei de 10V furnizate la CAN. Folosind referina intern se obine un domeniu de tensiuni de ieire ntre 0V i 9,9976V n pai de 2,44mV pentru ieire unipolar i un domeniu de tensiuni de ieire ntre -10V i 9,9951V n pai de 4,88mV pentru ieire bipolar. 2.7. Circuitul pentru intrri/ieiri numerice Placa AT-MIO-16 dispune de opt linii numerice de intrare/ieire, divizate n dou porturi I/O de 4 bii fiecare notate portul 0 i portul 1. Cei 4 bii ai unui port se numesc ADIO i BDIO (Digital Input/Output A, respectiv B). Porturile 0 i 1 pot fi configurate ca porturi de intrare sau de ieire. Oricare port configurat ca port de ieire are posibiliti read-back (dei este port de ieire, acesta se poate citi
161

i se pot obine valorile numerice). Porturile numerice ale plcii opereaz numai n mod non-latched (no-handshaking). Observaie: n general, transferul datelor numerice se poate realiza n dou moduri: modul no-handshaking (non-latched) sau modul handshaking (latched). n primul caz se realizeaz un transfer simplu al datelor ctre un port de ieire (scriere) sau dinspre un port de intrare (citire), fr a exista un semnal de tip handshaking (strngere de mn). n modul handshaking, un port numeric I/O preia datele de la intrare atunci cnd recepioneaz un semnal handshake sau genereaz un semnal handshake atunci cnd sunt scrise date la ieire. Astfel, se poate citi starea unui port sau unui grup de porturi pentru a determina dac un dispozitiv extern a acceptat datele scrise la un port de ieire sau dac a trimis date la un port de intrare. Aplicaiile de conducere sau de monitorizare a proceselor utilizeaz de regul modul no-handshaking, n timp ce aplicaiile de comunicaii de date (cum ar fi transferul de date ntre calculatoare) utilizeaz modul handshaking. Cele dou porturi ale plcii, de cte 4 linii fiecare, sunt localizate la pinii ADIO 30 i BDIO 30 ai conectorului I/O al plcii. n Fig. 10 este prezentat schema bloc a circuitului pentru intrri/ieiri numerice.

Fig. 10. Circuitul de intrri/ieiri numerice


162

Circuitul de intrri/ieiri numerice conine un Registru de Ieiri Numerice DOR care controleaz ieirile numerice i un Registru de Intrri Numerice DIR care monitorizeaz intrrile numerice. Registrul DOR (Digital Output Register) este un registru pe 8 bii care conine valorile numerice de ieire att pentru portul 0 ct i pentru portul 1. Atunci cnd portul 0 este activat, biii 30 din DOR sunt trimii ctre liniile numerice ADIO 30. Atunci cnd portul 1 este activat, biii 74 din DOR sunt transmii ctre liniile numerice BDIO 30. Prin citirea registrului DIR (Digital Input Register) se citete de fapt starea liniilor numerice I/O. Liniile numerice ADIO 30 furnizeaz biii 30 ai DIR, iar liniile numerice BDIO 30 furnizeaz biii 74 ai DIR. Atunci cnd un port (A sau B) este activat, DIR servete ca un registru read-back, returnnd valoarea numeric a portului respectiv. Atunci cnd un port nu este activat, DIR returneaz starea liniilor numerice I/O furnizat de un dispozitiv extern. Observaie: Pentru controlul porturilor de pe plac se pot folosi VI-uri pentru I/O numerice (a se vedea biblioteca LabVIEW Data Acquisition DAQ). VI-urile numerice acceseaz portul ADIO ca port 0 i portul BDIO ca port 1. 2.8. Circuitul de interfa cu magistrala RTSI RTSI Bus este magistrala RTSI (Real-Time System Integration) cu care se pot interfaa toate plcile din seria National Instruments AT. Circuitul de interfa cu magistrala RTSI are 7 linii trigger i o linie pentru ceasul de sistem i permite utilizarea mai multor plci NI din seria AT n acelai PC, plci care partajeaz semnalele de pe aceast magistral. n Fig. 11 este prezentat circuitul de interfa cu magistrala RTSI. Comutatorul RTSI (RTSI Switch) din Fig. 11 este un circuit integrat NI care are pinii B60 conectai la 7 linii de trigger ale magistralei RTSI i pinii A60 la apte semnale ale plcii AT-MIO16. Comutatorul RTSI permite controlul liniilor de trigger prin semnalele conectate la pinii A60 sau viceversa, obinndu-se o schem de interconectare flexibil pentru plcile de tip AT-MIO care gestioneaz magistrala RTSI. Comutatorul RTSI poate fi programat prin intermediul intrrii de selecie /SEL i intrrii de date DATA.
163

Fig. 11. Circuitul de interfa cu magistrala RTSI

164

3. Configurarea plcii AT-MIO-16H Placa AT-MIO-16H conine 13 jumpere (trapuri) i un comutator DIP pentru configurarea interfeei cu magistrala AT i setarea intrrilor i ieirilor analogice (Analog I/O settings). Comutatorul DIP este folosit pentru setarea adresei I/O de baz. Dou jumpere sunt folosite pentru selectarea canalului de ntrerupere i pentru accesul direct la memorie (DMA Direct Memory Access). Cele 11 jumpere rmase sunt folosite pentru a schimba configuraia circuitelor de intrri i ieiri analogice. Jumperele W1, W4, W6 i W9 configureaz circuitul de intrri analogice. Jumperele W2, W3, W7, W8, W10 i W11 configureaz circuitul de ieiri analogice. Jumperul W5 selecteaz semnalul de ceas utilizat de Am9513 Counter/Timer i cel de ceas pe/de pe magistrala RTSI (Real Time System Interface). Jumperele W12 i W13 selecteaz canalul DMA, respectiv, nivelul de ntrerupere. Dispunerea jumperelor pe plac este prezentat n Fig. 12. 3.1. Interfaa cu magistrala AT AT-MIO-16H este configurat implicit cu o adres I/O de baz egal cu 220H, s foloseasc canalele DMA 6 i 7, i nivelul de ntrerupere 10. Aceast setare implicit este prezentat n Tabelul 2. Dac setrile implicite pentru adresa I/O de baz, canalul DMA sau nivelul de ntrerupere determin intrarea n conflict cu un alt dispozitiv (plac) al sistemului, atunci aceste setri trebuie modificate fie pentru dispozitivul deja instalat n calculator fie pentru placa ATMIO-16, dup metodologia descris n continuare. Tabelul 2. Setrile implicite ale interfeei cu magistrala AT Adresa I/O de baz 220 H Se selecteaz prin Domeniu: 220 H 23F H poziionarea microcomutatoarelor din DIP U61 W12: R6: A-B A6: A-B W12: R7: B-C A7: B-C W13: Rndul 10

Canal DMA DMA1 = Canal DMA 6 DMA2 = Canal DMA 7 Nivel de ntrerupere Nivel de ntrerupere selectat 10
165

Fig. 12. Dispunerea jumperelor de configurare pe placa AT-MIO-16


166

3.1.1. Selectarea adresei I/O de baz Adresa I/O de baz pentru AT-MIO-16 este determinat de poziia micro-comutatoarelor din soclul comutatorului DIP U61. Din fabric comutatoarele sunt setate pentru o adres I/O de baz 220 H. Aceast setare este folosit ca adres I/O de baz implicit de ctre pachetul software National Instruments ataat plcii AT-MIO-16. Cu setarea iniial realizat de firma constructoare, spaiul de adres I/O de baz folosit de AT-MIO-16 este cuprins ntre 220 H i 23F H. Trebuie verificat dac acest spaiu nu este deja folosit de alt dispozitiv instalat n calculator. Dac alt echipament din calculator folosete acest spaiu de adres I/O de baz, trebuie schimbat adresa I/O de baz a plcii AT-MIO-16 sau a celuilalt dispozitiv. Dac se schimb adresa I/O de baz a AT-MIO-16, trebuie fcut o modificare corespunztoare n pachetul NI-DAQ ce va fi folosit cu AT-MIO-16. Fiecare micro-comutator din U61 corespunde uneia din liniile de adres de la A9 la A5. Dac se apas partea marcat OFF se selecteaz valoarea binar 1 pentru bitul de adres corespunztor, iar dac se apas partea marcat ON se selecteaz valoarea binar 0 pentru bitul de adres corespunztor. Fig. 13 prezint dou posibile stri ale micro-comutatoarelor. Poriunea nnegrit indic partea micro-comutatorului care este apsat. Cei mai puini semnificativi 5 bii (LSB) ai adresei (A4, A3, A2, A1, A0) sunt decodificai de AT-MIO-16 pentru a selecta registrul AT-MIO-16 corespunztor.
A9 A8 A7 A6 A5
1 2 3 4 5 O N O F F

Aceast parte se apas pentru 0 Aceast parte se apas pentru 1

U61

A. Setarea comutatoarelor pentru o adres I/O de baz egal cu 000 H

A9 A8 A7 A6 A5
1 2 3 4 5

Aceast parte se apas pentru 0 Aceast parte se apas pentru 1

O N O F F

U61

B. Setarea comutatoarelor pentru o adres I/O de baz egal cu 220 H (setare implicit)

Fig. 13. Exemple de stabilire a adresei I/O de baz


167

3.1.2. Selectarea canalelor DMA Canalul DMA folosit de AT-MIO-16 este selectat prin trapurile de pe W12. Din fabric AT-MIO-16 este setat s foloseasc canalele DMA 6 i 7 pentru modul DMA-dual. Acestea sunt canalele DMA implicite folosite de utilizatorul AT-MIO-16. Trebuie verificat dac aceste canale DMA nu sunt deja folosite de echipamente instalate pe calculator. Dac un alt dispozitiv folosete canalele DMA 6 i/sau 7, trebuie schimbat canalul DMA folosit fie de AT-MIO-16, fie de celalalt dispozitiv. Canalele DMA recunoscute de hardware-ul AT-MIO-16 sunt 5, 6 i 7. Trebuie remarcat faptul c placa nu poate folosi dect canale DMA de 16 bii. Pentru a selecta un canal DMA trebuie instalate dou jumpere, cte unul pentru DMA Acknowledge(A) i DMA Request (R). Cnd se folosesc dou moduri DMA notate DMA1 i DMA2, cele dou coloane din stnga ale W12 sunt folosite de DMA1, iar cele dou din dreapta de DMA2. n Fig. 14 este prezentat setarea implicit. Dac se dorete folosirea numai a canalului DMA 6, sau nu se dorete utilizarea DMA, atunci se pot face setrile din Fig. 15.
W 12

1 DMA 2

Fig. 14. Configurarea DMA implicit

a) b) Fig. 15. a) Selectarea canalului DMA 6; b) Neutilizare DMA


168

3.1.3. Selectarea ntreruperilor Placa AT-MIO-16H poate fi conectat la oricare din cele 11 linii de ntrerupere ale canalului I/O al PC-AT. Pentru a folosi posibilitile de ntrerupere ale AT-MIO-16 trebuie selectat linia de ntrerupere i poziionat un jumper n poziia corespunztoare ce valideaz aceast linie de ntrerupere. AT-MIO-16 poate mpri liniile de ntrerupere cu alte dispozitive, prin folosirea unui driver three-state (TS) pentru a comanda selectarea liniilor de ntrerupere. Liniile de ntrerupere suportate de hardware-ul AT-MIO-16 sunt IRQ3, IRQ4, IRQ5, IRQ6, IRQ7, IRQ9, IRQ10, IRQ11, IRQ12, IRQ14 i IRQ15. n general, nu se folosesc ntreruperile 6 i 14, care sunt de regul folosite de ctre controllerul de floppy disk i de ctre controllerul de hard disk. Jumperul pentru setarea ntreruperilor este n soclul W13. Linia de ntrerupere implicit este IRQ10 i ea este selectat prin plasarea unui trap pe pinii din irul 10 (Fig. 16).

Fig. 16. Setarea de fabric (IRQ10) i setarea unei alte ntreruperi n caz de conflict (IRQ5) n cazul n care nu sunt folosite ntreruperile se utilizeaz setarea din Fig. 17.

Fig. 17.
169

3.2. Configurarea intrrilor i ieirilor analogice AT-MIO-16 este setat din fabric n configuraia: intrare analogic diferenial (8 canale); ieire analogic bipolar; domeniu de intrare 10V; domeniu de ieire 10V, cu referin intern; dou CNA, cod binar bipolar complement fa de doi; generator de semnal de ceas AT-MIO-16 setat la 10MHz. n Tabelul 3 este prezentat configurarea intrrilor i ieirilor analogice ale plcii prin intermediul jumperelor. Tabelul 3. Setarea jumperelor pentru configurarea I/O analogice Configuraie Setri jumpere Domeniul de Unipolar 0 +10 V W1: B-C W4: A-B intrare n CAN Bipolar 5 +5 V W1: B-C W4: B-C Bipolar 10 +10 V W1: A-B W4: B-C (setare fabric) Tipul intrrii Diferenial (DIFF) W6: A-C, B-D, E-F analogice (setare fabric) W9: A-B Asimetric fr referin W6: A-B, C-E, G-H Nonreferenced single-ended W9: B-C (NRSE) Asimetric W6: A-B, C-D, G-H Referenced single-ended (RSE) W9: B-C Selectare ceas Semnal de ceas AT-MIO-16 = W5: C-D, E-F Am9513A & = 10 MHz (setare fabric) RTSI Bus Semnal de ceas AT-MIO-16 = W5: A-B, E-F = Semnalul de ceas RTSI Semnal de ceas AT-MIO-16 & W5: A-B, C-D Semnal de ceas RTSI = 10 MHz Referina Intern (setare fabric) W3: B-C CNA0 Extern W3: A-B Referina Intern (setare fabric) W2: B-C CNA1 Extern W2: A-B Polaritate ieire Unipolar cod binar natural W8: B-C W10: B-C CNA0 Bipolar cod complement fa W8: A-B W10: B-C de 2 (setare fabric) Polaritate ieire Unipolar cod binar natural W7: B-C W11: B-C CNA1 Bipolar cod complement fa W7: A-B W11: B-C de 2 (setare fabric)
170

3.2.1. Configurarea intrrilor analogice Placa AT-MIO-16 dispune de 16 canale de intrri analogice cu amplificare programabil i conversie analog-numeric pe 12 bii. Prin poziionarea corespunztoare a jumperelor se pot modifica tipul intrrilor, polaritatea i domeniul de intrare. Tipurile intrrilor analogice Placa AT-MIO-16 permite trei tipuri diferite de intrri analogice: intrare asimetric (single-ended) fr referin (NRSE NonReferenced Single-Ended input), intrare asimetric cu referin (RSE Referenced Single-Ended input), i intrare diferenial (DIFF Differential input). Pentru intrrile tip single-ended sunt disponibile 16 canale iar pentru intrrile difereniale 8 canale. Descrierea tipurilor de intrare este prezentat n Tabelul 4, iar modul de poziionare a jumperelor n Fig. 18. Tabelul 4. Tipurile intrrilor analogice pentru AT-MIO-16 Tip intrare Descriere Configuraie diferenial: conine 8 intrri difereniale cu intrarea negativ (-) a amplificatorului de instrumentaie legat la ieirea multiplexorului corespunztoare canalelor 815 Configuraie cu referin tip single-ended - conine 16 intrri tip single-ended cu intrarea negativ (-) a amplificatorului de instrumentaie legat la referina de mas analogic (referin) Configuraie fr referin single-ended - conine 16 intrri tip single-ended cu intrarea negativ a amplificatorului de instrumentaie legat la AI SENSE i neconectat la referin (masa analogic)

DIFF

RSE

NRSE

1. Intrare diferenial (DIFF) (opt canale, setare implicit). Atunci cnd tipul intrrii este DIFF, fiecare semnal de intrare n parte are propria sa referin i este msurat diferena dintre fiecare semnal n parte i propria sa referin. Semnalul i referina sa sunt asignate unui canal de intrare. Cu aceast configuraie de intrare, AT-MIO-16 poate monitoriza opt semnale analogice diferite de intrare.
171

Fig. 18. Setarea tipului intrrilor analogice 2. Intrare RSE (16 canale). Dac tipul intrrii este RSE atunci toate semnalele de intrare sunt raportate la un punct de mas comun i acesta este de asemenea legat la masa intrrii analogice pe placa ATMIO-16. Intrrile negative ale amplificatorului diferenial de intrare sunt legate la masa analogic (circuitul analogic). Aceast configuraie este util atunci cnd sunt msurate sursele flotante de semnal. Cu aceast configuraie de intrare, AT-MIO-16 poate monitoriza 16 surse de semnal analogic. 3. Intrare NRSE (16 canale). n cazul intrrii tip NRSE toate semnalele de intrare sunt raportate la aceeai tensiune de mod comun, dar aceast tensiune de mod comun este lsat flotant fa de masa analogic a plcii AT-MIO-16. Aceast configuraie este uzual atunci cnd msurm surse de semnal raportate la mas. Cu aceast configuraie de intrare, AT-MIO-16 poate msura 16 semnale analogice de intrare, diferite. Polaritatea i domeniul de intrare AT-MIO-16 ofer dou posibiliti pentru polaritatea intrrilor analogice: intrare unipolar i intrare bipolar. Intrarea unipolar presupune un domeniu de intrare ntre 0 i Vref, unde Vref este o tensiune de referin pozitiv. Intrarea bipolar presupune c acest domeniu este ntre - Vref i + Vref. Placa AT-MIO-16 are dou domenii de intrare, unul de 10 V i altul de 20 V.
172

Selectarea polaritii i a domeniului de intrare se poate realiza n trei moduri posibile, dup cum se prezint n Fig. 19.

ADC Range - Analog to Digital Converter Range = Domeniul CAN U Unipolar; B - Bipolar Fig. 19. Setri posibile pentru polaritatea i domeniul de intrare Un circuit de extensie pentru semn permite adugarea a 4 bii MSB la ieirea pe 12 bii a bufferului FIFO al circuitului de conversie analog-numeric. Circuitul de extensie pentru semn este programabil software i poate genera cod binar natural sau cod complement fa de doi. n modul cod binar natural, biii 15 pn la 12 sunt totdeauna zero (biii 11 pn la 0 reprezint ieirea CAN, respectiv a bufferului FIFO), ceea ce permite obinerea unui domeniu ntre 0 i 4.096. n modul cod complement fa de doi, bitul MSB al rezultatului conversiei analog-numerice (adic bitul 11) este inversat i extins la biii 15 12, furniznd un domeniu ntre 2.048 i 2.047. Selectarea polaritii sau gamei domeniului semnalului de intrare se face n funcie de domeniul i polaritatea semnalului efectiv care se conecteaz la intrrile analogice ale plcii. Un domeniu de intrare mai larg poate face posibil conectarea la semnale cu variaie mai mare dar se sacrific rezoluia (precizia). Folosind un domeniu de intrare mai ngust se crete precizia conversiei analog-numerice n schimb semnalul de intrare poate iei din domeniu, rezultnd msurri imprecise. De exemplu, dac semnalul de intrare este garantat c nu va fi negativ (va fi deci peste 0 V), atunci pentru msurarea acestuia este mai potrivit o intrare unipolar. Dac semnalul poate fi i negativ,
173

atunci citirea va fi eronat i n acest caz este recomandat intrarea bipolar. Pentru a putea crete flexibilitatea utilizrii plcii de achiziii se pot folosi amplificri programabile software. Placa de achiziii ATMIO-16H are amplificri de 1, 2, 4, 8 i se preteaz la semnale de nivel nalt. Placa AT-MIO-16L are amplificri de 1, 10, 100 i 500 i este proiectat s msoare semnale de nivel sczut. Cu amplificarea setat n mod adecvat, ntreaga rezoluie a CAN poate fi folosit pentru msurarea ct mai precis a semnalului de intrare. Tabelul 5 prezint domeniile generale de intrare, precizia atins i amplificarea obinut pentru placa AT-MIO-16H. Tabelul 5. Domeniul efectiv de intrare i precizia de msurare n funcie de domeniul de intrare i de amplificare Domeniul de Amplificarea intrare 0...10 V 1 2 4 8 -5...+5 V 1 2 4 8 1 2 4 8 Domeniul efectiv de intrare 0...10 V 0...5 V 0...2,5 V 0...1,25 V -5...5 V -2,5...+2,5 V -1,25...1,25 V -0,625...+0,625 V -10...+10 V -5...+5 V -2,5...+2,5 V -1,25...1,25 V Precizia 2,44 mV 1,22 mV 610 V 305 V 2,44 mV 1,22 mV 610 V 305 V 4,88 mV 2,44 mV 1,22 mV 610 V

-10...+10 V

3.2.2. Configurarea ieirilor analogice n mod asemntor cu intrrile analogice, se pot selecta diverse configuraii pentru ieirile analogice. Selectarea semnalului de referin pentru CNA Fiecare dintre cele dou CNA (pe 12 bii) poate fi conectat de ctre AT-MIO-16H la referina intern de 10V sau la un semnal de referin extern, care trebuie s fie cuprins ntre -10V...+10V.
174

Conectarea la referina extern se realizeaz prin legarea acestui semnal de referin la pinul EXTREF de pe conectorul I/O. Semnalul aplicat pe EXTREF trebuie s fie cuprins ntre -10V i +10V. Amndou canalele trebuie s fie configurate n acelai mod (fie referin intern, fie referin extern). Selectarea semnalului de referin extern pentru fiecare canal analogic de ieire se realizeaz cu ajutorul jumperelor: - canal analogic de ieire 0: W3 A-B - semnalul de referin extern conectat la referina CNA0; - canal analogic de ieire 1: W2 A-B - semnalul de referin extern conectat la referina CNA1. Setarea referinei de 10 V de pe plac (setare implicit) pentru fiecare canal analogic de ieire se face prin setarea urmtoarelor jumpere: - canal analogic de ieire 0: W3 B-C - conectarea referinei de pe plac la intrarea de referin a CNA0; - canal analogic de ieire 1: W2 B-C - conectarea referinei de pe plac la intrarea de referin a CNA1. Cele dou tipuri de configuraii posibile pentru referina CNA sunt prezentate n Fig. 20.

Fig. 20. Setarea jumperelor pentru configurarea referinei CNA Selectarea polaritii ieirii analogice Fiecare canal de ieire analogic poate fi configurat fie ca unipolar fie ca bipolar. O configuraie unipolar are gam de variaie ntre 0 i Vref . O configuraie bipolar are o gam de variaie ntre Vref i +Vref. Vref este tensiunea de referin folosit de CNA i poate fi fie tensiunea intern de referin de +10V a plcii, fie o referin furnizat extern. Nu este nevoie ca ambele canale s fie configurate
175

identic din punct de vedere al polaritii; implicit, ambele canale sunt configurate pentru ieiri bipolare. Selectarea ieirii bipolare (setare implicit). Selectarea configuraiei bipolare de ieire pentru fiecare canal analogic de ieire se face prin setarea urmtoarelor trapuri: - canal analogic de ieire 0: W8 A-B - canal analogic de ieire 1: W7 A-B Selectarea ieirii unipolare. Selecia configuraiei unipolare de ieire pentru fiecare canal analogic de ieire se face prin realizarea urmtoarelor trapuri: - canal analogic de ieire 0: W8 B-C - canal analogic de ieire 1: W7 B-C Selectarea codificrii datelor Pentru codificarea datelor se poate utiliza fie codul binar natural (normal), fie codul complement fa de doi. Pentru codul binar natural, valoarea datelor scrise la canalul analogic de ieire este n domeniul 0 pn la 4.095 zecimal (0 - 0FFF H). n cazul utilizrii codului complement fa de doi, valoarea datelor scrise la canalul analogic de ieire este n domeniul -2.048 pn la 2.047 zecimal (F800 H - 07FF H). Selectarea codului utilizat se realizeaz prin intermediul jumperelor W10 (pentru CNA0) i W11 (pentru CNA1): - cod binar natural pentru canalul 0: W10 B-C - cod binar natural pentru canalul 1: W11 B-C - cod complement fa de 2 pentru canalul 0: W10: A-B - cod complement fa de 2 pentru canalul 1: W11: A-B

Fig. 21. Setarea ieirilor configuraie unipolar, cod binar natural


176

Codul binar natural este folosit de regul pentru ieiri unipolare, iar codul complement fa de doi pentru ieiri bipolare. Pentru exemplificare, n Fig. 21 este prezentat configurarea ieirilor analogice unipolare, cod binar natural. 3.2.3. Circuite de izolare galvanic i condiionare semnal De regul, semnalele de intrare analogice se aplic pe intrrile plcii AT-MIO-16 prin intermediul unor circuite exterioare care au rolul de izolare galvanic pentru protecia plcii i a calculatorului dar realizeaz i anumite funciuni de condiionare de semnal. De asemenea, semnalele de ieire analogic care provin de la placa de achiziie sunt furnizate ctre proces prin intermediul unor circuite exterioare care asigur izolarea galvanic precum i conversii de tip tensiune-curent. Astfel de circuite pot fi de tip SCXI sau circuite modulare din seria 5B, cu cost redus i de nalt performan.

Fig. 22. Schema de conectare ntre sistemul de achiziie i proces prin placa cu module de izolare galvanic i terminale de cuplare

177

Circuitele de condiionare de semnal modulare din seria 5B, proiectate pentru aplicaii industriale, ncorporeaz izolatoare galvanice i au dimensiuni i dispuneri ale terminalelor identice. Modulele de intrare izolate furnizeaz ieiri (ctre placa de achiziie AT-MIO-16 din calculator) ntre 0...+5V sau ntre -5...+5V, n funcie de tipul constructiv. Modulele de ieire convertesc tensiuni unipolare ntre 0...+5V sau bipolare ntre -5V...+5V n cureni pentru procesul comandat ntre 4...20 mA sau 0...20 mA, utilizai pentru comanda procesului condus. Laboratorul dispune de dou module de intrri cu izolare galvanic din seria 5B31-02, i 5B41-02. Modulele din gama 5B31 accept la intrare semnale de tensiune de ordinul volilor i ofer la ieire tensiune unipolar sau bipolar. Pentru 5B31-02 domeniile de intrare i de ieire sunt identice, adic -5V...+5V. Modulele din gama 5B41 accept la intrare semnale de tensiune de band larg de ordinul volilor i ofer la ieire tensiune unipolar sau bipolar. Pentru 5B4102 domeniile de intrare i de ieire sunt identice, adic -5V...+5V. n Fig. 22 este prezentat schema de conectare ntre sistemul de achiziie (PC AT-MIO-16) i proces prin intermediul unei plci externe care conine module de izolare galvanic i terminale de cuplare la proces. 3.2.4. Selectarea ceasului prin magistrala RTSI Atunci cnd mai multe plci de achiziie AT sunt conectate via magistrala RTSI, este posibil s se doreasc ca toate plcile s foloseasc acelai ceas de 10MHz. Acest aranjament este folositor pentru aplicaii care cer sincronizarea plcilor. Fiecare plac de achiziie AT cu interfa RTSI are implicit un oscilator de 10MHz. n acest fel, o plac poate conduce prin intermediul semnalului de ceas din magistrala proprie RTSI, iar celelalte plci pot recepiona acest semnal sau se pot deconecta i utilizeaz propriul ceas. Pentru configurarea semnalului de ceas se utilizeaz jumperul W5, care permite setarea n regim de ceas local, ceas slave sau ceas master (Tabelul 6). Semnalul de ceas, furnizat local sau de magistrala RTSI este divizat cu 10 i este utilizat de ctre circuitul de numrare Am9513A.

178

Tabelul 6. Selectarea semnalului de ceas Tip semnal de ceas Ceas local Descriere Se folosete oscilatorul local de pe plac ca i generator de semnal de ceas (setare implicit) Se primete semnalul de ceas de pe magistrala RTSI Furnizeaz semnalul de ceas pentru magistrala RTSI i semnalul de ceas al plcii prin folosirea oscilatorului local de pe plac Setare jumper
W5 RTSI 10 MHz NC W5 RTSI 10 MHz NC W5 RTSI 10 MHz NC BRD BRD NC BRD BRD NC BRD BRD NC

Ceas slave

Ceas master

179

4. Conexiunile plcii AT-MIO-16 Asignarea pinilor pentru conectorul I/O (intrare/ieire) al plcii AT-MIO-16 este prezentat n Fig. 23. Conectorul I/O este amplasat pe plac (a se vedea Fig. 12) i este accesibil la partea din spate a calculatorului dup instalarea corect a plcii n acesta. Semnalele care se conecteaz la plac prin intermediul conectorului I/O pot fi clasificate n semnale de intrare analogice, semnale de ieire analogice, semnale numerice I/O, surse de alimentare pe partea numeric (digital power connections) i semnale de sincronizare (timing signals). 4.1. Conexiuni pentru intrri analogice Pinii 1 pn la 19 de pe conectorul I/O sunt pinii de intrri analogice. Pinii 1 i 2 sunt pini pentru mas notai AIGND (masa semnalului analogic de intrare analog input ground). Semnalele de intrare analogic conectate la pinii AIGND sunt legate la masa analogic a plcii AT-MIO-16. Pinul 19 este numit AISENSE, care n modul single-ended este conectat intern (pe plac) la intrarea negativ a amplificatorului de instrumentaie al AT-MIO-16, iar n modul DIFF este conectat la masa de referin a amplificatorului de instrumentaie. Pinii de la 3 la 18 sunt notai ACH 15...0 i sunt legai la cele 16 canale de intrri analogice ale plcii AT-MIO-16. n modul singleended, semnalele conectate la ACH 15...0 sunt direcionate spre intrarea pozitiv a amplificatorului de instrumentaie al AT-MIO-16. n modul diferenial DIFF, semnalele conectate la ACH 70 sunt direcionate spre intrarea pozitiv a amplificatorului de instrumentaie, iar semnalele conectate la ACH 15...8 spre intrarea negativ a amplificatorului de instrumentaie. Domeniile de intrare i valorile maxime care pot fi aplicate la intrrile ACH 15...0 sunt urmtoarele: - domeniul diferenial de intrare 10 V; - domeniul de intrare n mod comun 7V n raport cu AIGND; - domeniul de intrare 12 V n raport cu AIGND; - valori maxime ale tensiunii de intrare: - 20 V atunci cnd placa AT-MIO-16 nu este alimentat; - 35 V atunci cnd placa este alimentat.
180

Depirea domeniilor de intrare pentru modul diferenial sau modul comun are ca rezultat distorsionarea semnalelor de intrare. Depirea valorilor tensiunii maxime de intrare poate conduce la defectarea plcii AT-MIO-16 i a calculatorului n care este instalat.
A IG N D ACH0 ACH1 ACH2 ACH3 ACH4 ACH5 ACH6 ACH7 A IS E N S E D A C 1O U T AOGND A D IO 0 A D IO 1 A D IO 2 A D IO 3 D IG G N D +5V EX TSTROBE* S T O P T R IG SOURCE1 OUT1 GATE2 SOURCE5 OUT5 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 A IG N D ACH8 ACH9 A CH 10 A CH 11 A CH 12 A CH 13 A CH 14 A CH 15 D A C0O U T EXTREF D IG G N D B D IO 0 B D IO 1 B D IO 2 B D IO 3 +5V SCANCLK S T A R T T R IG * EXTCONV* GATE1 SOURCE2 OUT2 GATE5 FOUT

Fig. 23. Asignarea pinilor la conectorul I/O al plcii AT-MIO-16


181

Fig. 24. Schema bloc a amplificatorului de instrumentaie Modul de conectare a semnalelor de intrare analogice la placa AT-MIO-16 depinde de configuraia circuitului de intrri analogice al plcii i de tipul sursei semnalului de intrare. n funcie de configuraia circuitului de intrri analogice, amplificatorul de instrumentaie este utilizat n mai multe moduri. Schema bloc a amplificatorului de instrumentaie este prezentat n Fig. 24 (gain = amplificare). Amplificatorul de instrumentaie de pe placa AT-MIO-16 permite obinerea unei amplificri mari, este caracterizat de o rejecie pe mod comun foarte bun i are o impedan de intrare foarte mare. Semnalele de intrare analogic sunt cuplate la intrrile pozitiv i negativ ale amplificatorului AI prin intermediul circuitelor de multiplexare ale plcii. Aa cum se observ i din Fig. 24, amplificatorul de instrumentaie convertete cele dou semnale de + , Vin n diferena dintre ele multiplicat cu amplificarea intrare Vin (care este programabil). Ieirea amplificatorului Vm este msurat fa de masa plcii. Convertorul analogic-numeric de pe plac folosete aceast tensiune atunci cnd realizeaz conversiile analognumerice. Pentru a realiza o conectare corect a plcii la sursa care furnizeaz semnalul analogic de intrare, o mare importan o constituie identificarea tipului acestei surse de semnal i apoi alegerea corespunztoare a configuraiei de intrare analogic a plcii. Dac, de exemplu, avem o surs flotant de semnal, trebuie utilizat o configuraie de intrare de tip RSE (referenced single-ended), iar dac avem o surs raportat la mas, este recomandat utilizarea configuraiei NRSE (non-referenced single-ended).
182

4.2. Tipuri de surse de semnal 4.2.1. Surse de semnal flotante (floating signal source) O surs de semnal flotant este o surs care nu este conectat la sistemul de mpmntare sau de mas al cldirii (sursa flotant poate avea ns un punct de mas izolat). Sursele flotante sunt fie surse de tip autonom, care nu sunt raportate la mas sau pmnt, fie surse cu izolare care sunt caracterizate de existena unei izolri galvanice ntre punctele de msurare i reea (deci izolate fa de mpmntarea sau masa reelei). Exemple reprezentative de surse autonome sunt traductoarele generatoare (care nu sunt mpmntate): termocupluri, traductoare electrochimice, piezoelectrice etc. i sursele cu alimentare autonom (de tip baterie, nealimentate din reea). Exemple de surse cu izolare tipice sunt transformatoarele de tensiune, generatoarele de semnal cu alimentare de la reea prin transformator i surs de alimentare etc. Masa de referin a unui semnal flotant trebuie s fie legat la intrarea analogic de mas a plcii (AIGND) pentru a stabili o referin pe plac pentru semnal. n caz contrar, semnalul de intrare msurat apare ca flotant (variaz). 4.2.2. Surse de semnal raportate la mas (ground-referenced signal source) O surs de semnal raportat la mas (cu referina la mas) este o surs conectat ntr-un fel la sistemul de mas sau mpmntare al cldirii i este prin urmare conectat deja la un punct comun de mas n raport cu placa AT-MIO-16, presupunnd c sistemul de calcul este alimentat de la acelai sistem de alimentare. Sursele de semnal raportate la mas pot fi clasificate la rndul lor n surse difereniale i surse asimetrice. Sursele difereniale furnizeaz un semnal de tip tensiune prin diferena tensiunilor de ieire ale unor surse echivalente, care, raportate la mas sau mpmntare, controleaz potenialele punctelor de msurare. Exemple tipice sunt punile tensometrice i schemele de msurare a curentului unor consumatori alimentai n c.c. Sursele asimetrice (single-ended) au unul din punctele de msurare conectat la mas sau la mpmntare. Surse asimetrice sunt de exemplu consumatorii industriali pentru care se msoar tensiunea
183

la borne i termocuplurile cu mpmntare (prin obiectul a crui temperatur se msoar). Prin urmare, n categoria semnalelor provenite de la sursele raportate la mas intr ieirile neizolate ale instrumentelor i dispozitivelor care sunt alimentate de la reeaua cldirii, aceeai cu cea care alimenteaz sistemul calculator-plac. Diferena de potenial ntre punctele de mas a dou instrumente conectate la aceeai reea este tipic ntre 1mV i 100mV, dar poate fi mult mai mare dac circuitele de distribuire a puterii nu sunt realizate corect. Dac semnalul provenit de la sursa raportat la mas este msurat incorect, aceast diferen ntre punctele de mas apare ca o eroare de msurare. Pentru a evita apariia erorilor, trebuie eliminate diferenele de potenial de mas, prin respectarea instruciunilor de conectare descrise n paragrafele urmtoare
4.3. Configuraii de intrare analogic

Placa AT-MIO-16 poate fi configurat pentru unul din cele trei tipuri de intrare: NRSE, RSE sau DIFF. n paragrafele urmtoare este discutat modul de realizare a msurtorilor de tip single-ended i diferenial i sunt fcute consideraii asupra msurrii surselor de semnal flotante i raportate la mas. Tabelul 7 cuprinde recomandrile pentru alegerea configuraiilor de intrare n funcie de tipul sursei de semnal.
Tabelul 7. Configuraii de intrare recomandate Tipul semnalului Configuraie de intrare (sursei de semnal) recomandat Raportat la mas (ieiri neizolate, DIFF instrumente puse n aceeai priz) NRSE Flotant (baterii, termocupluri, DIFF cu punte de rezistoare ieiri izolate) RSE 4.3.1. Consideraii asupra conexiunii difereniale

Conexiunea diferenial este aceea n care fiecare semnal analogic de intrare n AT-MIO-16 are propriul semnal de referin sau propria cale de ntoarcere a semnalului. Aceast conexiune este disponibil atunci cnd placa AT-MIO-16 este configurat n modul
184

DIFF. Fiecare semnal de intrare este legat la intrarea pozitiv a amplificatorului de instrumentaie de pe plac, iar referina (returul) fiecrui semnal de intrare este legat la intrarea negativ a amplificatorului de instrumentaie. Semnalele de intrare sunt legate la amplificatorul de instrumentaie prin intermediul multiplexorului de pe plac. Fiecare semnal de intrare folosete dou din intrrile multiplexorului - una pentru semnal i alta pentru referina semnalului. Prin urmare, numai opt canale analogice de intrare vor fi disponibile atunci cnd utilizm configuraia DIFF. Se recomand utilizarea configuraiei de intrare DIFF atunci cnd: semnalele de intrare au nivel sczut (mai mic de 1V); cablurile de conectare la AT-MIO-16 sunt mai mari de 5 m; oricare din semnalele de intrare necesit puncte de referin de mas separate; cablurile prin care se transmite semnalul traverseaz medii cu zgomote. Conexiunile difereniale de semnal permit creterea rejeciei semnalului pe mod comun, rejecia zgomotului i permit variaia semnalelor de intrare ntre limitele de mod comun ale intrrii amplificatorului de instrumentaie.
Conexiunea diferenial pentru surse raportate la mas n Fig. 25 este prezentat modul de conectare al unei surse de semnal raportate la mas la placa AT-MIO-16 configurat pentru tip de intrare DIFF. n cazul utilizrii acestei conexiuni, amplificatorul de instrumentaie rejecteaz att zgomotul de mod comun ct i diferena de potenial ntre punctul de mas al sursei de semnal i punctul de mas al plcii AT-MIO-16 (diferen notat Vcm n Fig. 25). Conexiunea diferenial pentru surse flotante n Fig. 26 este prezentat modul de conectare al unei surse flotante la placa AT-MIO-16 configurat pentru intrare DIFF. Rezistoarele de 100 k creeaz o cale de ntoarcere spre mas pentru curenii de bias ai amplificatorului de instrumentaie. Modul de configurare (setare prin jumpere) a plcii pentru tipul DIFF este descris n paragraful 3.2.
185

Fig. 25. Conexiunea diferenial pentru surse raportate la mas

Fig. 26. Conexiunea diferenial pentru surse flotante


186

4.3.2. Consideraii asupra conexiunilor single-ended

Conexiunile single-ended sunt acelea n care toate semnalele analogice de intrare pe plac sunt referite la o mas comun. Semnalele de intrare sunt legate la intrarea pozitiv a AI, iar punctele lor de mas comune sunt legate la intrarea negativ a AI. Atunci cnd AT-MIO-16 este configurat pentru intrare single-ended (NRSE sau RSE) sunt disponibile 16 canale analogice. Se recomand utilizarea conexiunilor single-ended atunci cnd: semnalele de intrare au nivel mare (mai mare de 1V); cablurile de conectare la AT-MIO-16 sunt mai mici de 5 m; toate semnalele de intrare au acelai semnal de referin. Dac oricare din precedentele criterii nu poate fi ndeplinit, este recomandat folosirea configuraiei DIFF. Placa AT-MIO-16 poate fi configurat cu ajutorul jumperelor (paragraful 3.2) pentru 2 tipuri diferite de conexiuni single-ended: configuraie RSE i configuraie NRSE. Configuraia RSE este folosit pentru surse de semnal flotante; n acest caz AT-MIO-16 furnizeaz un punct de mas de referin pentru semnalul extern. Configuraia NRSE este folosit pentru surse de semnal raportate la mas (grounded-referenced signal sources); n acest caz, semnalul extern are propriul punct de mas de referin.
Conexiunea single-ended pentru surse de semnal flotante (configuraie RSE) n Fig. 27 este reprezentat modul de conectare al unei surse flotante la placa AT-MIO-16 configurat RSE. Semnalul de intrare este aplicat la bornele AI, pinul AIGND fiind legat la AISENSE prin configurarea RSE (prin setarea corespunztoare a jumperelor). Conexiunea single-ended pentru surse raportate la mas (configuraie NRSE) Dac se msoar un semnal provenit de la o surs raportat la mas cu o configuraie de tip single-ended, atunci trebuie setat placa pentru tipul de intrare NRSE. Pentru aceasta, se conecteaz semnalul la intrarea pozitiv a AI i masa local a sursei de semnal la intrarea negativ a AI prin pinul AISENSE al conectorului I/O. Orice diferen
187

de potenial dintre masa plcii i masa semnalului apare ca un semnal de mod comun la ambele borne ale AI, care va rejecta aceast diferen. Dac, n mod greit, se conecteaz o surs de semnal raportat la mas la placa configurat RSE, atunci diferena de potenial ntre punctele de mas va apare ca o eroare de msurare. n Fig. 28 este prezentat modul de conectare al unei surse raportate la mas la placa AT-MIO-16 configurat NRSE.

Fig. 27. Conexiunea single-ended (RSE) pentru surse flotante

Fig. 28. Conexiunea single-ended (NRSE) pentru surse de semnal raportate la mas
188

4.3.3. Consideraii privind rejecia pe mod comun

n Fig. 25 i 27 sunt prezentate conexiunile plcii AT-MIO-16 la surse de semnal care sunt deja raportate la un punct de mas. n aceste situaii, amplificatorul de instrumentaie poate rejecta orice tensiune care apare datorit diferenelor de potenial ntre punctul de mas al plcii i punctul de mas al sursei de semnal. Suplimentar, n cazul conexiunilor difereniale, amplificatorul de instrumentaie poate rejecta i zgomotul de mod comun datorat colectrii prin cablurile de legtur dintre sursa de semnal i plac. Domeniul de intrare pe mod comun al amplificatorului de instrumentaie de pe plac este definit ca fiind amplitudinea celui mai mare semnal pe mod comun care poate fi rejectat. Domeniul de intrare pe mod comun depinde de dimensiunea tensiunii difereniale de intrare i de amplificarea setat pentru AI, conform formulei:
Vdiff Gain , Vcm max = V 12 2
+ unde Vdiff = Vin Vin i Gain este amplificarea.

Valoarea curent a tensiunii de mod comun se poate msura n raport cu masa plcii i poate fi calculat cu formula:
Vcm =
+ Vin Vin 2

+ este semnalul de la intrarea pozitiv a AI, iar Vin este unde Vin semnalul de la intrarea negativ a AI.

4.4. Conexiuni pentru ieiri analogice

Pinii 20, 21, 22 i 23 ai conectorului I/O (Fig. 23) sunt pini rezervai pentru ieirile analogice. Dintre acetia, pinii 20 i 21 sunt pinii de semnal DAC0OUT i DAC1OUT. La pinul DAC0OUT se conecteaz tensiunea de ieire a semnalului pentru canalul de ieire analogic 0, iar la pinul DAC1OUT tensiunea de ieire corespunztoare canalului de ieire analogic 1. La pinul 22, numit EXTREF, se poate conecta intrarea de referin extern pentru ambele
189

canale de ieiri analogice. Fiecare canal de ieire analogic trebuie configurat individual pentru selectarea referinei externe, caz n care semnalul aplicat la intrarea de referin extern EXTREF va fi folosit de acest canal. Instruciunile de configurare a ieirilor analogice (prin setarea jumperelor) au fost prezentate n paragraful 3.2. Domeniile i valorile maxime care se pot aplica la intrarea EXTREF sunt urmtoarele: - domeniul valorilor de intrare este de 10 V n raport cu AOGND; - valorile maxime absolute permise sunt de 25 V n raport cu AO GND. Pinul 23, AOGND, este punctul de referin de mas pentru ambele canale de ieiri analogice i pentru semnalul de referin extern. Fig. 29 prezint modul de conectare a ieirilor analogice i a referinei externe la placa AT-MIO-16. Dac nici unul din canalele de ieire nu este configurat pentru utilizarea semnalului de referin extern, la pinul EXTREF nu se realizeaz nici-o conexiune. Semnalul de referin extern poate fi de c.c. sau de c.a. Acest semnal de referin este utilizat de CNA pentru generarea tensiunii de ieire.

Fig. 29. Conexiunile pentru ieiri analogice


190

4.5. Conexiuni pentru intrri/ieiri numerice

Pinii de la 24 pn la 33 ai conectorului I/O (Fig. 23) sunt rezervai pentru intrri/ieiri numerice. Pinii 25, 27, 29 i 31 sunt conectai la liniile numerice ADIO 30 ale portului numeric A, iar pinii 26, 28, 30 i 32 la liniile numerice BDIO 30 ale portului B. Pinii 24 i 33, numii DIGGND, reprezint pini de mas pentru ambele porturi numerice I/O. Porturile A i B pot fi programate individual ca intrri sau ieiri numerice. Cteva din specificaiile care trebuie respectate de porturile I/O sunt urmtoarele: Tensiunea de intrare maxim: 6 V n raport cu DIGGND; Specificaiile intrrilor numerice (referite la DIGGND): - Tensiunea de intrare pentru 1 logic: 2 V minim - Tensiunea de intrare pentru 0 logic: 0.8 V maxim Specificaiile ieirilor numerice: - Tensiunea de ieire pentru 1 logic: 2.4 V minim - Tensiunea de ieire pentru 0 logic: 0.5 V maxim Fiecare linie numeric de ieire poate suporta pn la 11 sarcini TTL standard. n Fig. 30 sunt prezentate conexiunile numerice I/O pentru trei aplicaii tipice.

Fig. 30. Conexiuni I/O numerice


191

n schema de conectare din Fig. 30, portul A este configurat ca port de ieire, iar B ca port de intrare. Aplicaii tipice de intrri numerice sunt: recepionarea de semnale TTL sau detectarea strii unor dispozitive externe cum ar fi starea contactelor unui releu. Printre aplicaiile de ieiri numerice se pot enumera trimiterea de semnale TTL sau comanda unor dispozitive externe (ex. LED-ul din Fig. 30).
4.6. Conexiuni de alimentare

Pinii 34 i 35 ai conectorului I/O sunt conectai la sursa de alimentare de +5 V (0.5 A la +5V 10%) a calculatorului PC-AT. Aceti pini sunt raportai la masa DIGGND i pot fi utilizai pentru alimentarea unor circuite numerice externe. Observaie important: Pinii de alimentare de +5 V nu trebuie conectai direct la masa analogic sau digital sau la oricare alta surs de alimentare a plcii AT-MIO-16 sau a oricrui alt dispozitiv (pentru a evita defectarea plcii i/sau a calculatorului).
4.7. Conexiuni pentru semnale de tact i de sincronizare

Pinii 36 pn la 50 ai conectorului I/O al plcii sunt folosii pentru semnale de tact sau de sincronizare. Pinii de la 36 la 40 sunt semnale de tact sau de sincronizare destinate achiziiei de date. Pinii de la 41 la 50 sunt semnale de tact sau de sincronizare cu scop general destinate numrtoarelor de pe placa de achiziie.
4.7.1. Conexiuni pentru semnale de tact i sincronizare destinate achiziiei de date

Semnalele destinate achiziiei de date sunt SCANCLK, EXTSTROBE*, STARTTRIG*, STOPTRIG, EXTCONV (pinii 3640). Semnalul SCANCLK este aa-numitul semnal de tact de scanare (scan clock). SCANCLK este un semnal TTL de ieire care genereaz un front cobortor la nceperea unei conversii analognumerice. n mod normal, semnalul SCANCLK este pe nivel nalt i trece pe nivel jos pentru aproximativ 1 sec, dup nceperea conversiei analog-numerice. Frontul cresctor al semnalului indic faptul c semnalul de intrare a fost achiziionat.
192

Semnalul de ieire EXTSROBE* este tot un semnal TTL. La accesarea registrului External Strobe Register este generat un impuls de lime 100 pn la 500 nsec. Semnalul EXTCONV* este un semnal de intrare TTL conectat la pinul cu acelai nume al conectorului I/O i este utilizat pentru triggerarea extern a conversiilor analog-numerice. Aplicarea unui impuls pe intrarea EXTCONV* (Fig. 31) iniiaz o conversie analog-numeric (frontul cresctor al impulsului aplicat iniiaz conversia). Limea minim admis a impulsului este de 50 nsec, iar semnalul trebuie s stea pe nivel nalt minim 50 nsec nainte de frontul cobortor. tw tw minimum 50 nsec UH UL tw Conversia analog-numeric ncepe n maximum 250 nsec din acest punct
Fig. 31. Semnalul EXTCONV*

Un semnal de trigger extern (TTL) aplicat pe pinul STARTTRIG* poate iniia o secven de achiziii analog-numerice (dac semnalul EXTCONV* genereaz conversia, STARTTRIG* nu influeneaz tactul achiziiei). Operaiile de achiziie sunt iniiate prin aplicarea unui front cobortor. Limea minim a impulsului trebuie s fie de 50 nsec. Prima conversie analog-numeric din secven ncepe pe frontul cobortor al impulsului, n maximum un interval de scanare (perioad de eantionare). tw tw minimum 50 nsec UH UL tw Prima conversie analog-numeric ncepe n maximum un interval de scanare din acest punct
Fig. 32. Semnalul STARTTRIG*
193

Pinul STOPTRIG este utilizat pentru operaiile de achiziie de tip pretrigger ale plcii AT-MIO-16. Semnalul aplicat pe STOPTRIG este un semnal de trigger hardware de tip TTL (Fig. 33). n modul pretrigger, datele sunt achiziionate, dar numrarea eantioanelor achiziionate ncepe doar la aplicarea unui front cresctor pe STOPTRIG. Achiziia de date este complet atunci cnd numrtorul de eantioane este decrementat pn la zero. Se observ c n acest mod de achiziie se achiziioneaz date att nainte ct i dup primirea semnalului de trigger hardware. Numrarea primului eantion ncepe n maximum un interval de scanare din acest punct UH UL tw tw tw minimum 50 nsec

Fig. 33. Semnalul STOPTRIG 4.7.2. Conexiuni pentru semnale de tact i sincronizare de uz general

Semnalele de tact i sincronizare de uz general (pinii 41-50) sunt GATE, SOURCE i OUT pentru numrtoarele 1, 2 i 5 ale circuitului Am9513A i semnalul FOUT generat de circuitul Am9513A. Numrtoarele 1, 2, 5 ale circuitului Am9513A pot fi folosite n aplicaii cu scop general, cum ar fi generarea de semnale dreptunghiulare, numrarea evenimentelor, impulsuri modulate n durat i msurarea frecvenei. Pentru aceste aplicaii semnalele SOURCE i GATE sunt aplicate direct numrtoarelor prin conectorul I/O al plcii i astfel numrtoarele pot fi programate pentru diferite operaii. Circuitul integrat de numrare/ sincronizare Am9513A are 5 numrtoare/temporizatoare individuale pe 16 bii i generator de frecven programabil pe 4 bii. Schema bloc a circuitului pentru generarea semnalelor de tact de uz general a fost prezentat n Fig. 8 (paragraful 2.4).
194

ANEXA 2 Amplificatorul de precizie pentru termocuplul de tip J


Amplificatorul de precizie este destinat amplificrii semnalului de nivel mic (milivoli) provenit de la termocuplul fierconstantan de tip J (0 761 oC). Ieirea amplificatorului este un semnal unificat de tensiune n gama 0 10 V c.c. Amplificatorul este realizat cu trei circuite integrate speciale: - MTX 121 preamplificator de precizie la intrarea cruia se conecteaz termocuplul; - M 108 amplificator operaional de precizie care mpreun cu primul circuit formeaz un amplificator neinversor cu factor de amplificare de circa 106; - un al doilea circuit M 108 montat n configuraie de amplificator neinversor care asigur transformarea final n semnal unificat 0 10 V c.c. Amplificatorul de precizie are un factor de amplificare de aproximativ 107. Schema electronic a amplificatorului este prezentat n Fig. 1. Amplificatorul are i rolul de circuit de condiionare a semnalului. Astfel, compensarea influenei temperaturii mediului ambiant (a temperaturii jonciunii reci) asupra preciziei de msurare se face prin intermediul tensiunii stabilizate furnizate de o diod Zener care variaz n funcie de temperatur. Aceast tensiune se aplic la intrarea inversoare a primului circuit amplificator. La creterea temperaturii mediului ambiant, tensiunea la bornele diodei Zener scade, deci scade tensiunea de pe intrarea inversoare, mrindu-se astfel tensiunea de ieire. n situaia considerat tensiunea furnizat de ctre termocuplu este mai mic deoarece tensiunea termoelectromotoare este direct proporional cu diferena de temperatur dintre cele dou jonciuni, diferen care scade datorit creterii temperaturii jonciunii reci i prin urmare scade i tensiunea electromotoare furnizat de termocuplu. Datorit acestui fenomen, tensiunea de la ieirea amplificatorului de precizie ar fi mai mic nu datorit modificrii temperaturii punctului de msurare ci datorit creterii temperaturii jonciunii reci. Aceast abatere este compensat
195

prin urmare prin aplicarea pe intrarea inversoare a primului circuit amplificator a tensiunii de la bornele diodei Zener.

Fig. 1. Schema electronic a amplificatorului de precizie


196

Caracteristica static temperatur tensiune a ansamblului termocuplu de tip J amplificator de precizie a fost ridicat cu ajutorul unui voltmetru i a unui termometru, fiind obinute datele din tabelul 1. Domeniul de temperatur luat n considerare pentru efectuarea msurtorilor a fost 20 140 oC. Pe baza acestor date a fost obinut reprezentarea grafic din Fig. 2, din care se observ caracterul aproape liniar al ansamblului termocuplu amplificator de precizie pe domeniul de funcionare considerat. Tabelul 1. Temperatur [oC] 20 25 30 35 40 45 50 55 60 65 70 75 80 Tensiune [V] 2.00 2.14 2.28 2.61 2.97 3.31 3.63 3.95 4.32 4.65 5.01 5.33 5.70 Temperatur [oC] 85 90 95 100 105 110 115 120 125 130 135 140 Tensiune [V] 6.05 6.35 6.75 7.10 7.35 7.75 8.15 8.48 8.78 9.25 9.62 10.00

197

11 10 9 8 7 6 5 4 3 2 1 0 0 20 40 60 80 100 120 140 160

Tensiune [V]

Temperatur [grade Celsius]


Fig. 2. Caracteristica static temperatur tensiune a ansamblului termocuplu amplificator de precizie

198

BIBLIOGRAFIE
[1] Asch, G., Acquisition de donnes du capteur lordinateur, Dunod, Paris, 1999. [2] Asch, G., Les capteurs en instrumentation industrielle, Dunod, Paris, 1999. [3] Bentley, J.P., Principles of Measurements Systems, Longman Scientific & Technical, United Kingdom, 1988. [4] Cottet, F., Ciobanu, O., Bazele Programrii n LabVIEW, MATRIX ROM, Bucureti, 1998. [5] Golovanov, C., Albu, M. (coordonatori), Probleme moderne de msurare n electroenergetic, Ed. Tehnic, Bucureti, 2001. [6] Iancu, E., Transmisia Datelor, Ed. Reduta, Craiova, 1998. [7] Ionete, C., Seliteanu, D., Echipamente de Automatizare i Protecie, Reprografia Universitii din Craiova, 2000. [8] Jurca, T., Stoiciu, D., Instrumentaie de msurare. Structuri i circuite, Ed. de Vest, Timioara, 1996. [9] Marin, C., Popescu, D., Petre, E., Seliteanu, D., Ionete, C., Sisteme de Reglare Automat. Lucrri Practice I, Ed. Sitech, Craiova, 1997. [10] Marin, C., Petre, E., Popescu, D., Ionete, C., Seliteanu, D., Sisteme de Reglare Automat. Lucrri Practice II, Ed. Sitech, Craiova, 1998. [11] Marin, C., Popescu, D., Petre, E., Ionete, C., Seliteanu, D., Teoria Sistemelor, Ed. Universitaria, Craiova, 2001. [12] McGhee, J., Kulesza, W., Henderson, I.A., Korczynski, M.J., Measurement Data Handling. Theoretical Technique, Technical University of Lodz, ACGM. Lodart, Lodz, Polonia, 2001. [13] McGhee, J., Kulesza, W., Henderson, I.A., Korczynski, M.J., Measurement Data Handling. Hardware Technique, Technical University of Lodz, ACGM. Lodart, Lodz, Polonia, 2001. [14] Nachtingal, Chester L. (ed.), Instrumentation and Control. Fundamentals and Applications, John Wiley & Sons, Inc., New York, 1990.
199

[15] Nussbaumer, H., Informatique industrielle II, Presses Polytechniques Romandes, Lausanne, 1986. [16] Oppenheim, A.V., Schafer, R.W., Discrete-Time Signal Processing, Second Edition, Prentice Hall International, 1999. [17] Porat, B., A Course in Digital Signal Processings, John Wiley & Sons, Inc., New York, 1997. [18] Seliteanu, D., Ionete, C., Petre, E., Popescu, D., endrescu, D., Ghid de programare n LabVIEW. Aplicaii pentru prelucrarea semnalelor, Tipografia Universitii din Craiova, 2003. [19] Tompkins, W.J., Webster, J.G.W. (editori), Interfacing Sensors to the IBM PC, Prentice Hall, SUA, 1988. [20] ulescu, M., Instrumentaie i tehnici electrice de msurare, Reprografia Universitii din Craiova, 1997. [21] ***, AT-MIO-16 User Manual, National Instruments, SUA, 1995. [22] ***, LabVIEW User Guide, National Instruments, SUA, 1996. [23] ***, LabVIEW Data Acquisition Course Manual, National Instruments, SUA, 2001. [24] ***, LabVIEW Measurements Manual, National Instruments, SUA, 2000. [25] ***, NI-DAQ User Manual, National Instruments, SUA, 2001. [26] ***, Product Data: Sensors Thermocouples, Connectors and Platinum Resistance Thermometers, Eurotherm Controls Limited, Marea Britanie, 1994.

200

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