DAN SELIŞTEANU EMIL PETRE

COSMIN IONETE DAN POPESCU

DORIN ŞENDRESCU

APLICAŢII LABVIEW PENTRU ACHIZIŢIA Ş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 facilităţilor interfeţelor 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 către ingineri, care, în locul folosirii unui limbaj convenţional bazat pe text, preferă crearea şi vizualizarea grafică a fluxului de date. LabVIEW este un mediu de programare destinat achiziţiei, analizei, prelucrării şi afişării datelor. Utilizarea acestui limbaj s-a remarcat în special în cazul instrumentaţiei de măsurare bazată pe tehnica de calcul. Principiul fundamental pe baza căruia este scris codul LabVIEW este fluxul de date: datele sunt trecute prin noduri în interiorul cărora programul determină ordinea de execuţie a diverselor funcţii. LabVIEW este un limbaj modular, un modul de program fiind numit Instrument Virtual (Virtual Instrument – VI). Un VI este un obiect care are intrări, procesează date şi furnizează ieşiri. Ordinea în care utilizatorul doreşte să prelucreze datele prin intermediul unor funcţii se poate realiza prin înlănţuirea mai multor VI-uri care au intrări şi ieşiri comune. Din punct de vedere al versiunilor LabVIEW existente în circulaţie, în mod uzual sunt folosite versiunile 4 - 7, ultima recent lansată de firma producătoare. Prezenta lucrare se bazează pe versiunile 4 şi 6 ale limbajului, care au fost achiziţionate de către Facultatea de Automatică, Calculatoare şi Electronică a Universităţii din Craiova. 3

Bazele programării în LabVIEW au fost abordate de către autori în lucrarea [18] din referinţele bibliografice: Ghid de programare în LabVIEW. Aplicaţii pentru prelucrarea semnalelor, Tipografia Universităţii din Craiova, 2003. Noţiunile de bază privind programarea în LabVIEW pot fi însuşite şi prin studiul manualului de utilizare [22] sau prin parcurgerea lucrărilor [4], [7], [23], [24] din lista referinţelor bibliografice. Prezenta lucrare presupune că aceste cunoştinţe de bază despre LabVIEW sunt cunoscute. Lucrarea de faţă îşi propune realizarea unor aplicaţii de achiziţie şi generare a datelor prin utilizarea unor sisteme de achiziţie a datelor bazate pe LabVIEW ca software de aplicaţie şi pe hardwareul de achiziţie existent în dotarea laboratoarelor Facultăţii de Automatică, Calculatoare şi Electronică din Craiova. Prin sistem de achiziţie a datelor se înţelege în sens larg un sistem de măsurare care permite vizualizarea şi/sau înregistrarea evoluţiei temporale a mai multor mărimi, analogice şi/sau numerice, poate implementa mai multe regimuri de achiziţie şi permite diverse prelucrări numerice. Prin completarea configuraţiei unui calculator (de regulă un calculator personal – PC) cu elemente din categoria interfeţelor de proces (plăci de achiziţie) se poate obţine un sistem de achiziţie a datelor. Un sistem de achiziţie astfel obţinut mai poartă numele de sistem de achiziţie a datelor de tip instrument virtual. Placa de achiziţie 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 achiziţie este caracterizată prin subsisteme specializate (sistemul intrărilor analogice, sistemul intrărilor numerice, sistemul ieşirilor analogice, sistemul ieşirilor numerice, sistemul de numărare/temporizare). Prezenta lucrare utilizează hardware de achiziţie furnizat de firma National Instruments şi anume plăci de achiziţie AT-MIO-16H şi module de condiţionare a semnalului din seria 5B. Pentru cunoaşterea funcţionării plăcilor de achiziţie este prezentată (în anexă) traducerea manualului de utilizare editat de firma producătoare. Deoarece prezentul volum abordează aplicaţii practice de achiziţie a datelor, pentru aprofundarea unor noţiuni teoretice privind sistemele de achiziţie a datelor, precum şi parcurgerea altor exemple de implementare practică a acestora, se recomandă lucrările [1], [3], [5], [8], [12], [14], [19], [20] din lista referinţelor bibliografice. 4

circuite şi sisteme.Prezentul manual este structurat în 8 lucrări practice. aplicaţii de achiziţie şi generare a semnalului audio (prin utilizarea plăcilor de sunet ca şi plăci de achiziţie). Calculatoare şi Electronică. Procesarea numerică a semnalelor etc. declanşarea achiziţiilor cu semnale de tip trigger. constituind un suport de curs şi îndeosebi de laborator pentru o serie de discipline. Autorii 5 . cum ar fi Sisteme de achiziţie şi interfeţe de proces. Lucrarea poate fi utilă şi altor studenţi şi specialişti interesaţi de utilizarea unui software modern pentru aplicaţii complexe de achiziţie a datelor. va fi abordată analiza şi proiectarea unor aplicaţii de timp real pentru conducerea proceselor. Lucrarea se adresează studenţilor Facultăţii de Automatică. care implementează aplicaţii de achiziţie şi generare a datelor. stocarea datelor în regim data logger. Software industrial. prezentul manual va fi continuat prin aplicaţii dezvoltate pentru intrări şi ieşiri numerice. Deoarece în lucrare sunt abordate în special achiziţia şi generarea datelor analogice. Sisteme de operare şi limbaje în timp real. Semnale. precum şi pentru controlul transmisiilor seriale şi paralele. De asemenea.

Intrări analogice. 1. Aplicaţii de achiziţie/generare a semnalului audio (controlul intrărilor/ieşirilor plăcilor de sunet) Anexa 1. Operaţii cu fişiere. Controlul achiziţiilor de date cu semnale de tip trigger Lucrarea nr. Bibliografie Placa de achiziţie AT-MIO-16H Manual de utilizare. Ieşiri analogice. 7. Instrumente virtuale pentru generarea datelor. Achiziţii de date mono-punct Lucrarea nr. Instrumente virtuale pentru achiziţii de date. 6. Achiziţii de date multi-punct Lucrarea nr. Generarea bufferată a datelor Lucrarea nr. Intrări analogice. Stocarea (data logging) şi citirea datelor Lucrarea nr. 3. National Instruments Amplificatorul de precizie pentru termocuplul de tip J 7 27 45 61 71 89 Lucrarea nr. 8. Aplicaţie de măsurare şi achiziţie a temperaturii 109 119 139 195 199 6 .CUPRINS Lucrarea nr. Ieşiri analogice. 2. Generarea fără buffer a datelor Lucrarea nr. Anexa 2. 4. 5.

Achiziţii de date mono-punct 1. astfel încât achiziţia să fie cât mai rapidă.achiziţie mono-canal (single-channel data acquisition) . În timpul citirii. În cazul achiziţiei multi-canal. În timpul realizării conversiei analog-numerice curente.achiziţie multi-canal (multiple-channel data acquisition) În cazul achiziţiei mono-canal se selectează un singur canal de intrare analogică şi se setează o singură amplificare (care determină în funcţie de domeniul de intrare un domeniu efectiv de intrare – a se vedea subcapitolul de configurare a intrărilor analogice). Tipuri de achiziţii de date 1. 1 Instrumente virtuale pentru achiziţii de date. 1. Achiziţii mono-canal şi multi-canal O placă de achiziţie poate realiza achiziţii de date pe un singur canal sau pe mai multe canale: .LUCRAREA NR.2. placa aşteaptă până la terminarea unui interval de citire înainte de a relua achiziţia canalelor din secvenţă. Atunci când s-a ajuns la sfârşitul secvenţei. placa comută pe canalul analogic următor din secvenţă. placa stochează o listă sub forma unei secvenţe care precizează canalele analogice care trebuie citite. În cadrul acestei metode. La fiecare perioadă de eşantionare este realizată o singură conversie analognumerică pe canalul respectiv. fără o legătură directă cu evoluţia datelor 7 . placa de achiziţie scanează un set de canale de intrări analogice. circuitul de intrări analogice realizează câte o conversie analog-numerică pentru fiecare canal analogic (fiecare pereche canal/amplificare) din secvenţa respectivă. Conversia analognumerică este realizată o dată la fiecare perioadă de eşantionare.1. fiecare cu propria sa amplificare (domeniu efectiv de intrare). Intrări analogice. precum şi amplificările setate pentru canalele respective. Achiziţii cu trigger Achiziţiile de date pot fi startate pentru anumite aplicaţii la un anumit moment de timp. Canalele sunt citite în mod repetat la începutul fiecărui interval de citire până când numărul de eşantioane precizat de utilizator este achiziţionat.

intrarea de test respectivă poate fi utilizată şi pentru startarea achiziţiei de date. sistemul de achiziţie va mai colecta un număr specificat de eşantioane după care stopează achiziţia. În cadrul modului pretrigger datele sunt achiziţionate continuu. putem avea achiziţii mono-punct (single-point) şi achiziţii de puncte multiple 8 . Pentru alte aplicaţii. datele sunt stocate de la început prin suprascrierea datelor vechi. După aceasta. După ce bufferul care stochează datele achiziţionate (de lungime specificată de utilizator) este plin. La terminarea achiziţiei. adică după recepţionarea unui semnal trigger (de sincronizare). este necesară declanşarea achiziţiei de date analogice la momente de timp bine precizate (cu triggerare). înainte şi după primirea unui semnal trigger. bufferul conţine eşantioane dinaintea şi după apariţia semnalului trigger. în funcţie de apariţia evenimentului trigger. Achiziţii mono-punct şi multi-punct Din punct de vedere al numărului de eşantioane achiziţionat de către sistemul de achiziţie pentru o anumită aplicaţie. ceea ce determină un consum nejustificat de resurse. achiziţia este stopată. dacă testăm răspunsul unei instalaţii la o intrare tip (treaptă.respective (fără triggerare). Prin urmare. Datele sunt colectate într-un buffer precizat de utilizator până când placa recepţionează semnalul trigger. adică după ce întregul buffer este completat. 1. De exemplu. Plăcile de achiziţie pot funcţiona în două moduri principale de achiziţie. utilizând o tehnică numită triggerare (declanşare).).3. achiziţia de date poate începe în funcţie de condiţia sau starea unui semnal numeric sau analogic. Bufferul este tratat ca un buffer circular. În caz contrar este necesară începerea achiziţiei înainte de aplicarea intrării respective. impuls etc. prin care se defineşte zona de interes din evoluţiile analizate: modul posttrigger modul pretrigger Modul posttrigger realizează achiziţia unui număr specificat de eşantioane după apariţia unui eveniment trigger. Numărul de eşantioane salvate în buffer depinde de lungimea acestuia (specificată de utilizator) şi de numărul specificat de eşantioane de achiziţionat după apariţia semnalului trigger. Un trigger este un eveniment care startează achiziţia datelor. Există două tipuri de triggerare: hardware (care poate fi analogică sau numerică) şi software.

De exemplu. Un exemplu de astfel de achiziţie este monitorizarea periodică a nivelului unui lichid dintr-un rezervor. Traductorul. În funcţie de modul de utilizare al bufferelor pentru stocarea eşantioanelor achiziţionate. Software-ul de achiziţie citeşte o singură valoare (un singur eşantion) de la un canal de intrare şi furnizează imediat sistemului acea valoare. pe un singur canal (single-channel single-point) este o operaţie de achiziţie foarte simplă. metodă care este însă consumatoare de timp şi ineficientă. Acestea din urmă se bazează pe completarea unui buffer specificat de utilizator în mod continuu. se doreşte şi cunoaşterea temperaturii lichidului din rezervor) se realizează o achiziţie mono-punct dar multi-canal (multiple-channel. sau atunci când este necesară o mai mare precizie. Dacă sunt necesare informaţii mono-punct de la mai multe surse (de exemplu. în cadrul acestei tehnici se apelează la un al doilea buffer. achiziţia se realizează sub controlul ceasului de pe hardware-ul de achiziţie sau sub controlul unui ceas extern (hardware-timed). înainte ca acestea să fie suprascrise. Achiziţiile multi-punct reprezintă de fapt achiziţionarea datelor ca forme de undă (waveforms) – semnale variabile în timp. single-point). atunci când se doreşte cunoaşterea nivelului din rezervor se iniţiază o achiziţie mono-canal mono-punct. care converteşte nivelul într-o tensiune. Achiziţiile 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 achiziţii single-point. de unde şi denumirea de buffer circular. Software-ul de achiziţie va executa o citire a tuturor canalelor de intrare specificate şi va furniza câte un eşantion de pe fiecare canal utilizat. există tehnici cu buffer simplu (simple-buffer) şi tehnici cu buffer circular (circular-buffer). deci fără utilizarea unui buffer. care preia datele vechi din primul buffer. şi atunci tactul necesar controlului vitezei de achiziţie este furnizat de către ceasul sistemului de calcul (în acest caz controlul fiind afectat de posibile întreruperi). care nu utilizează buffere. Spre deosebire de tehnica cu buffer simplu. 9 . sau prin utilizarea metodelor cu bufferare.(multiple-point). este conectat (eventual printr-un circuit de condiţionare a semnalului) la unul dintre canalele de intrare analogică ale plăcii de achiziţie. o achiziţie a unui singur eşantion. Observaţie: Achiziţia de date se poate realiza sub control software (software-timed).

1 este realizată o prezentare succintă a tipurilor de achiziţii de date (analogice). 1. Fără trigger Achiziţii de date Hardware: Cu trigger Software Mod posttrigger Mod pretrigger Mono-punct (single-point) (achiziţia unui singur eşantion) -Analogic -Numeric Multi-punct (multiple-point sau waveform acquisition) Mono-canal Multi-canal (single-channel) (multiple-channel) Achiziţii ne-bufferate (non-buffered) şi fără sincronizare (non-timed) Multi-canal Mono-canal (single-channel) (multiplechannel) Achiziţii cu structuri repetitive (control loops) (ne-bufferate) -Software-timed -Hardware-timed (cu ceas intern sau extern) Achiziţii bufferate Cu buffer simplu Cu buffer circular (simple-buffer) (circular-buffer) (achiziţii hardware-timed) Fig. Tipuri de achiziţii de date 10 .În diagrama din Fig.

2): Analog Input. La realizarea unor aplicaţii cu VI-urile de achiziţie trebuie respectat un principiu de bază şi anume o aranjare secvenţială a acestor instrumente (numite şi funcţii de achiziţie) în vederea unei executări coerente a programului. Conexiunile de tip error se referă la erorile de execuţie apărute în diferite etape. Lista de comenzi DAQ (Data Acquisition) conţine instrumente virtuale grupate în următoarele biblioteci (Fig. 3. Counter. Calibration and Configuration. meniul DAQ. Fig. 3). Meniul Data Acquisition – DAQ TaskID TaskID in TaskID out TaskID in Fig. Programarea acestei aranjări se realizează printr-o înlănţuire de conexiuni numite task ID [in/out] (Fig. Signal Conditioning. Digital Input/Output. 2. Task ID este de fapt un număr generat de LabVIEW care codifică numărul plăcii de achiziţie şi numărul de grup după configurarea acestuia (prin grup înţelegând o colecţie de canale de intrare sau de ieşire sau porturi). Spre exemplu. configurarea plăcii şi calibrarea sa se realizează înaintea citirii datelor.2. Înlănţuirea logică a funcţiilor de achiziţii de date prin conexiuni task ID şi error 11 . Analog Output. Instrumente virtuale LabVIEW pentru achiziţii de date În LabVIEW controlul plăcilor de achiziţie se realizează cu ajutorul unor instrumente virtuale (VI) obţinute din lista de comenzi Functions.

Biblioteca de instrumente pentru intrări analogice Funcţiile pentru intrări analogice sunt grupate în patru clase sau sub-biblioteci: Easy Analog Input VIs.1. Biblioteca Easy Analog Input VIs conţine instrumente executabile. Aceste instrumente sunt construite pe baza instrumentelor fundamentale din Advanced Analog Input VIs. care la rândul lor sunt construite pe baza VI-urilor din biblioteca Advanced Analog Input VIs.2. asigurând în acelaşi timp majoritatea facilităţilor instrumentelor avansate. de nivel înalt. Instrumentele din Analog Input Utilities VIs sunt tot instrumente de nivel intermediar şi oferă soluţii simple pentru situaţiile uzuale de folosire a intrărilor analogice. 4. pentru aplicaţii complexe fiind necesară folosirea instrumentelor din celelalte biblioteci. Un instrument de tip Easy Analog Input VIs furnizează o interfaţă utilizator convenabilă pentru intrările analogice uzuale. Easy Analog Input VIs Intermediate Analog Input VIs Analog Input Utilities VIs Advanced Analog Input VIs Fig. capabile să realizeze operaţiuni de bază pentru intrări analogice. Instrumentele de nivel intermediar pentru intrări analogice se pot găsi în biblioteca Intermediate Analog Input VIs. Instrumentele din biblioteca Easy Analog Input VIs sunt construite pe baza VI-urilor din biblioteca Intermediate Analog Input VIs. Intermediate Analog Input VIs. şi Advanced Analog Input VIs (Fig. Instrumentele de nivel intermediar sunt flexibile în utilizare. Biblioteca Analog Input 12 . Analog Input Utilities VIs. 4).

În funcţie de tipul achiziţiei care se realizează. 4. aceşti parametri au valori ce corespund unei utilizări clasice a funcţiei. Diferenţa dintre parametrii primari şi parametrii secundari ai instrumentului este vizualizată în fereastra de ajutor (help) prin grosimea caracterelor.vi) Ştergere date (AI Clear.vi) Fig. Achiziţii de date mono-punct (single-point) Achiziţia mono-punct. Configurare placă (AI Config. 13 . constituind baza celorlalte VI-uri din meniul Analog Input. 5. 2. Valorile implicite ale parametrilor (default) apar între paranteze. secvenţiate ca în Fig.vi) Lansare achiziţie (AI Start.Instrumentele avansate pentru achiziţia intrărilor analogice sunt grupate în Advanced Analog Input VIs. de citire a datelor şi de ştergere a acestora şi este prezentată în Fig. ce aparţine de regulă bibliotecii Analog Input Utilities VIs. etapele din secvenţă corespunzătoare pot fi executate de un singur VI.vi) Citire date (AI Read. pot fi folosite diferite VIuri din biblioteca Analog Input. De regulă. achiziţiile de date pot fi de tip mono-punct sau multi-punct. Parametrii primari (cei mai importanţi) apar îngroşaţi. mono-canal sau multi-canal. aceasta conţine etape de configurare a plăcii. Aşa cum s-a precizat în primul paragraf. 5. Aceste instrumente constituie interfaţa între software-ul de aplicaţie LabVIEW şi driverele NI-DAQ. Secvenţa VI-urilor pentru achiziţia de date analogice Instrumentele de achiziţie au o serie de parametri care permit realizarea unor aplicaţii precizate. Atunci când se doreşte realizarea unei aplicaţii pentru achiziţia de date analogice instrumentele virtuale trebuie ordonate întro secvenţă logică. pe un singur canal (single-channel single-point) este o operaţie de achiziţie simplă.2. De asemenea. de lansare a achiziţiei. Această secvenţă poate fi realizată prin utilizarea unor VI-uri de nivel intermediar. a unui singur eşantion.

în cazul de faţă un singur punct .vi. din sub-biblioteca Easy Analog Input VIs.nesincronizată. disponibil în sub-biblioteca Easy Analog Input VIs.care este achiziţionat. Instrumentul AI Sample Channel. 7. eşantionul achiziţionat fiind afişat cu ajutorul unui indicator numeric (se poate folosi şi un indicator grafic). respectiv cea mai mică valoare permisă pentru semnalul . 6. iar parametrul de intrare channel este numărul canalului de intrare analogică utilizat pentru achiziţie. O aplicaţie LabVIEW realizată cu acest VI este foarte simplă şi are diagrama din Fig. Domeniul de intrare permis pentru semnalele de intrare este definit în mod identic pentru toate canalele prin high limit şi low limit. Parametrul de intrare device reprezintă numărul plăcii de achiziţii de date utilizate (atunci când există o singură placă. prin citirea tuturor canalelor de intrare specificate şi furnizarea a câte unui eşantion de pe fiecare canal. AI Sample Channels. În cazul în care sunt necesare informaţii mono-punct de la mai multe surse se realizează o achiziţie mono-punct dar multi-canal (multiple-channel single-point).vi măsoară semnalul de pe canalul specificat şi furnizează valoarea citită şi scalată. 8) măsoară câte o singură tensiune (un singur punct) de la canalele specificate.vi 14 . Unul dintre instrumentele virtuale care se poate utiliza în acest caz este AI Sample Channels. Pentru operaţiile single-point single-channel simple se poate utiliza instrumentul virtual AI Sample Channel. cu precizarea terminalelor este prezentat în Fig. High limit şi low limit sunt cea mai mare.vi.vi.vi (Fig. Parametrii acestui VI sunt asemănători cu cei ai instrumentului AI Sample Channel. Ieşirea sample conţine valoarea scalată (în volţi) citită pe intrarea analogică specificată prin device şi channel. fără stocare intermediară în memoria calculatorului. Acest instrument virtual. AI Sample Channel. care nu utilizează buffere – eşantionul achiziţionat este preluat direct de la placă. 6. Fig. cu deosebirea că parametrul channels permite precizarea unei liste cu canalele de pe care se face achiziţia şi parametrul de ieşire samples furnizează un vector care conţine valorile în volţi ale eşantioanelor citite de pe canalele specificate (câte un eşantion de pe fiecare canal). device = 1).

După cum s-a observat din cele două exemple prezentate anterior. 7.vi Fig. 8.Fig. 9. Achiziţia mono-punct mono-canal cu AI Sample Channel. Achiziţia mono-punct multi-canal cu AI Sample Channels.vi Diagrama unei aplicaţii LabVIEW pentru achiziţia monopunct pe două canale cu VI-ul AI Sample Channels.vi Fig. Instrumentul AI Sample Channels. Aplicaţia utilizează funcţii Index Array pentru selectarea datelor de pe cele două canale şi indicatoare numerice pentru afişarea celor două eşantioane.vi este prezentată în Fig. 9. folosirea unor instrumente de nivel înalt din sub-biblioteca 15 .

de exemplu: 0.vi. VI-urile intermediare oferă flexibilitate. Parametrul input limits este un vector (tablou unidimensional) de clustere. Indicatorul Voltage data conţine datele analogice citite. adică pentru citirea a câte unui eşantion de pe fiecare canal din lista specificată. 10. 10 se observă apariţia conexiunii task ID in / task ID out şi a conexiunii de eroare.vi este cuplat cu un instrument intermediar AI Config. cum ar fi: prezenţa unui singur VI în diagramă. care realizează configurarea achiziţiei o singură dată şi permit achiziţia continuă a datelor fără reconfigurare. 3. ceea ce înseamnă că programatorul nu are acces la facilităţi importante ale hardware-ului de achiziţie. nu apar conexiuni de tip taskID şi error etc. controlul care defineşte canalele de intrare este un vector de stringuri (şiruri de caractere). instrumentele din Easy Analog Input VIs realizează totdeauna o reconfigurare la iniţializare. Dacă se specifică un singur canal (prin AI Config. 16 . număr mic de terminale. care în cazul achiziţiei mono-punct mono-canal reprezintă un singur eşantion de pe canalul specificat. 10. Din Fig.vi poate fi utilizat pentru realizarea unei singure scanări. 10 vor fi prezentate în cadrul analizei instrumentelor din sub-biblioteca de instrumente intermediare. De asemenea. În aplicaţia LabVIEW din Fig. Instrumentele intermediare sunt recomandate pentru achiziţii de date multi-punct bufferate. În cazul utilizării unui singur canal. analizate în Fig. în care un instrument intermediar AI Single Scan. Atunci când se impun eficienţă şi viteză sporite. despărţite prin virgulă. Pe de altă parte. ceea ce determină micşorarea vitezei de procesare.Easy Analog Input VIs are anumite avantaje. fiecare cluster conţinând două controale numerice care definesc high limit şi low limit corespunzătoare unui anumit canal de intrare (definite separat în exemplele anterioare). Ambele VI-uri de achiziţie utilizate în aplicaţia din Fig. Instrumentul AI Single Scan. se păstrează setarea implicită. Un exemplu de utilizare a unui instrument de nivel intermediar pentru o achiziţie single-point este cel din Fig. În plus. fiecare din aceste stringuri definind o listă cu canale de intrare (prin numerele canalelor. 5). atunci se realizează o achiziţie mono-punct mono-canal. cum ar fi stabilirea modului de triggerare sau achiziţia scanată (cu interval de scanare).vi). trebuie utilizate instrumente din sub-biblioteca Intermediate Analog Input VIs. 3. controlul erorilor şi eficienţă în dezvoltarea aplicaţiei de achiziţie. aceste VI-uri nu sunt flexibile.

după care startează achiziţia de date analogice. şi anume cinci instrumente de nivel intermediar din biblioteca Intermediate Analog Input VIs şi două instrumente din biblioteca Analog Input Utilities VIs. AI Start. cu menţiunea că fiecare VI poate avea terminale de intrare şi ieşire specifice a căror semnificaţie se desprinde fie din context fie se poate afla apelând la sistemul de help.vi setează rata de scanare.vi citeşte datele în cadrul unei achiziţii bufferate. numărul de scanări care se vor efectua.vi. 10. 11 – 15 sunt prezentate instrumentele intermediare AI Config.vi. AI Start. Instrumente virtuale de achiziţie intermediare În continuare vor fi descrise VI-urile intermediare pentru achiziţia de date. În Tabelul 1 sunt descrise pe scurt terminalele comune. AI Read. condiţiile de triggerare.vi realizează configurarea unei operaţiuni de intrare analogică pentru un set de canale de intrare specificat. AI Config. prin configurarea hardware-ului şi alocarea unei memorii tampon (buffer) pentru datele analogice.vi şi AI Clear.vi. Achiziţie single-point cu instrumente de nivel intermediar 2. cu terminalele de intrare şi de ieşire corespunzătoare. AI Read. În Fig.3.vi. AI Single Scan.vi returnează rezultatul unei singure scanări corespunzătoare unui grup de canale specificat anterior. 17 . Se observă o serie de terminale comune care apar la toate instrumentele virtuale din figurile precizate.Fig. AI Clear. După cum s-a văzut în paragraful anterior. AI Single Scan.vi şterge task-ul de intrare analogică asociat cu taskID in.

Instrumentul AI Single Scan.Fig. 14.vi Fig. Instrumentul AI Clear. 13. 12. 11.vi Fig. 15.vi Fig.vi Fig. Instrumentul AI Config. Instrumentul AI Read.vi 18 . Instrumentul AI Start.

o parte din terminalele de intrare şi de ieşire comune fiind descrise în Tabelul 1. Este echivalentă cu frecvenţa (scan/sec) de eşantionare pe canalul respectiv Este un tablou (o matrice) care conţine datele voltage data analogice achiziţionate În Fig. stochează datele într19 Denumire terminal device Tabelul 1 Descriere .vi realizează măsurarea în mod continuu (dar eşantionată în timp) a unui grup de canale. Achiziţia poate fi declanşată (triggerată) prin intermediul unui trigger. Pentru o singură placă AT-MIO. În cazul în care error out clusterul error in indică o eroare. Implicit are channels (0) valoarea 0 identifică grupul şi tipul operaţiei I/O task ID in are aceeaşi valoare ca task ID in task ID out descrie erorile care apar înainte de execuţia VIerror in (no ului respectiv. AI Continuous Scan.numărul conectorului plăcii de achiziţii de date. VI-ul error) returnează valoarea erorii într-un cluster în error out. error out descrie erorile apărute la execuţia VI-ului respectiv buffer size (1000 mărimea memoriei tampon alocată pentru stocarea eşantioanelor (implicit 1000) scans) number of scans numărul de scanări care se efectuează (implicit 1000) to acquire frecvenţa de achiziţie (1000 de scanări pe secundă scan rate în lipsa precizării). AI Waveform Scan. clusterul error out va conţine aceeaşi informaţie. Dacă nu.vi şi AI Continuous Scan. 16 şi Fig.vi realizează numărul specificat de scanări cu rata de scanare specificată şi returnează toate datele achiziţionate.vi din sub-biblioteca Analog Input Utilities VIs. Implicit are valoarea "no error" conţine informaţia despre erori. instrumente de nivel intermediar des utilizate în aplicaţii. 17 sunt prezentate instrumentele AI Waveform Scan. Dacă a apărut o eroare. device = 1 descrie canalele de intrare utilizate.

Instrumentul AI Continuous Scan.vi Fig. Exemple de achiziţii de date mono-punct Rularea programelor de achiziţie şi/sau generare de date analogice se poate face doar în prezenţa unei plăci de achiziţie. Fig. 20 . Prelucrarea datelor numerice precum şi gestionarea interfeţelor de intrări/ieşiri analogice/numerice se face sub controlul pachetelor de programe LabVIEW şi al software-ului (driver) NI-DAQ pentru DOS/ Windows. Pentru utilizarea corectă a plăcii de achiziţie AT-MIO-16H este necesară parcurgerea atentă a descrierii modului de funcţionare a plăcii din Anexa 1.vi 3. În Anexa 1 este prezentată detaliat placa de achiziţie AT-MIO-16H a firmei National Instruments. 17. după care trebuie realizată configurarea acesteia în funcţie de aplicaţia dorită. Instrumentul AI Waveform Scan. care trebuie configurată corespunzător. 16. placă pe care se bazează aplicaţiile din acest paragraf.un buffer circular şi returnează un număr specificat de date măsurate la fiecare apelare a VI-ului.

3.1. Configurarea plăcii AT-MIO-16 Placa de achiziţie AT-MIO-16H are, din fabricaţie, o setare iniţială (implicită), care se poate modifica în funcţie de situaţia reală în care este folosită. Placa de achiziţie AT-MIO-16H nu dispune de tehnologia plug and play. Cu alte cuvinte, sistemul de operare Windows nu poate detecta tipul plăcii de achiziţie şi nici nu se pot face setări software ale plăcii. Orice modificare a setărilor plăcii se face mai întâi prin dispunerea corespunzătoare a jumperelor pe placă şi apoi, printr-un program de configurare special, sistemul de operare este informat de toate aceste schimbări. Placa AT-MIO-16H conţine 13 jumpere (ştrapuri) şi un comutator DIP pentru configurarea interfeţei cu magistrala AT şi setarea intrărilor şi ieşirilor 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 rămase sunt folosite pentru a schimba configuraţia circuitelor de intrări şi ieşiri analogice (a se vedea Anexa 1 – Capitolul 3). Pentru verificarea şi prezentarea modului de folosire a plăcii 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 poziţionată placa de achiziţie.

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

Din Fig. 18 rezultă că avem o singură placă de achiziţie (Device # 1) de tipul AT-MIO-16H9, care foloseşte adresa de bază 220H, canalele DMA 6 şi 7 şi nivelul de întrerupere 5. Prin apăsarea butonului de configurare/test din meniul principal se deschide o altă fereastră (Fig. 19) în care se poate realiza o verificare a setărilor şi o configurare a adresei de bază (care trebuie să corespundă cu setarea de pe placă). Prin acţionarea push-butonului Hardware (Fig. 19) se pot vizualiza/testa setările pentru intrările analogice (Fig. 20) şi ieşirile analogice (Fig. 21). Intrările analogice sunt setate pentru gama – 5V…+5V, mod diferenţial, domeniul de intrare fiind corespunzător cu modulele de condiţionare a semnalelor (izolare galvanică) disponibile în laborator (seria 5B31-02 şi 5B41-02 – National Instruments). Ieşirile analogice sunt setate în domeniul -10V...+10V (bipolar).

Fig. 19. Setările pentru adresa de bază, DMA şi întreruperi

Fig. 20. Configurarea intrărilor analogice
22

Fig. 21. Configurarea ieşirilor analogice Pentru testarea configuraţiei plăcii şi pentru aplicaţiile de achiziţii 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 ieşirea analogică 0 (pinii 20, 23 ai conectorului I/O al plăcii - a se vedea Anexa 1). Pentru testarea plăcii se va apăsa butonul Test (Fig. 19), ceea ce va avea ca rezultat apariţia ferestrei de test din Fig. 22. Pentru testarea intrării analogice de pe canalul 0 se va conecta sursa de tensiune din care se va furniza o tensiune (până în 5V). La apăsarea butonului Analog Input va fi afişată tensiunea citită de placă şi un semnal de eroare (0 în cazul funcţionării corecte) – Fig. 23.

Fig. 22. Fereastra de testare a intrărilor/ieşirilor analogice
23

Fig. 23. Teste pentru intrarea analogică 0 şi pentru ieşirea analogică 0 Pentru testarea ieşirii 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 ieşirea 0 trebuie să fie citită tensiunea de 3V, iar în fereastra de test va fi afişat un semnal de eroare (0 în cazul funcţionării corecte) – Fig. 23. Dacă se doreşte testarea altor canale de intrare sau ieşire analogică trebuie făcute modificări corespunzătoare (conexiuni şi casete). 3.2. Achiziţia unei tensiuni de la o sursă După configurarea şi verificarea plăcii AT-MIO-16H, se poate construi o aplicaţie de achiziţie mono-punct a unei tensiuni de la o sursă exterioară. Achiziţia mono-punct, a unui singur eşantion, pe un singur canal (single-channel single-point) se poate realiza utilizând instrumentul virtual AI Sample Channel.vi, descris în subparagraful 2.2. AI Sample Channel.vi măsoară semnalul de pe canalul specificat şi furnizează valoarea citită şi scalată. Aplicaţia LabVIEW are diagrama din Fig. 7, iar fereastra panou este prezentată în Fig. 24. Reamintim că parametrul de intrare device reprezintă numărul plăcii de achiziţii de date utilizate, iar parametrul de intrare channel este numărul canalului de intrare analogică utilizat pentru achiziţie. Ieşirea sample conţine valoarea scalată (în volţi) citită pe intrarea analogică specificată prin device: 1 şi channel: 0. Eşantionul achiziţionat poate fi afişat cu ajutorul unui indicator numeric şi/sau grafic (în Fig. 25 s-a realizat o rulare continuă a aplicaţiei pentru vizualizarea tensiunii cu Waveform Chart).
24

26 este prezentată fereastra panou a diagramei din Fig.3. Pentru realizarea aplicaţiei este necesară conectarea a încă unei surse de tensiune la bornele 2. În Fig.vi 3. 3 ale modulului de izolare galvanică de pe canalul de intrare 1 (modul de tip 5B31). prin citirea tuturor canalelor de intrare specificate şi furnizarea a câte unui eşantion de pe fiecare canal. 9.vi a unei tensiuni continue Fig. 25. 25 .Fig. Achiziţia mono-punct mono-canal cu AI Sample Channel. 24. Achiziţia cu AI Sample Channel. Achiziţia mono-punct multi-canal a două tensiuni În cazul în care sunt necesare informaţii mono-punct de la mai multe surse se realizează o achiziţie mono-punct dar multi-canal (multiple-channel single-point). care permite achiziţia mono-punct a două tensiuni de pe două canale de intrare analogică.

5. 4.6.1). 4. Ce înţelegeţi prin conexiuni task ID şi error? Parcurgeţi cu atenţie VI-urile din sub-biblioteca Analog Input şi instrumentele intermediare din paragraful 2. 4.4.2.5 utilizând instrumente de achiziţie de nivel intermediar. 26 . Identificaţi instrumentele virtuale pentru achiziţii de date din biblioteca Data Acquisition. Temă de laborator 4. Analizaţi semnificaţia VI-urilor şi a terminalelor acestora. Implementaţi aplicaţia de achiziţie a unei tensiuni descrisă în paragraful 3. 4. conţine o listă cu cele două canale de intrări analogice care sunt scanate prin intermediul instrumentului virtual de achiziţie. 10). Dezvoltaţi şi rulaţi aplicaţia de achiziţie a două tensiuni descrisă în paragraful 3.3. de tip string. Achiziţia mono-punct multi-canal cu AI Sample Channels.vi. 26. Se observă că indicatorul channels. Dezvoltaţi o aplicaţie care să citească o tensiune de la o baterie sau de la o sursă de tensiune continuă. 9 două indicatoare numerice circulare pentru afişarea tensiunilor de la cele două intrări. Ce înţelegeţi prin achiziţie mono-punct.2. respectiv multipunct? Dar prin achiziţie mono-canal.Fig.2. cu instrumente de nivel intermediar (Fig.vi Aplicaţia LabVIEW este construită în jurul instrumentului AI Sample Channels. Refaceţi aplicaţia mono-punct multi-canal de la punctul 4.3. după configurarea plăcii AT-MIO-16 şi realizarea conexiunilor necesare (paragraful 3. respectiv multi-canal? Ce înţelegeţi prin semnal de trigger? Ce tipuri de triggerare există? Ce înţelegeţi prin scan rate? 4. 4.3.1. Au fost utilizate suplimentar faţă de aplicaţia din Fig. pe baza exemplului din paragraful 3.

ceea ce înseamnă că practic avem un control software al vitezei de achiziţie (achiziţie software-timed). operaţia de achiziţie/generare continuând în acest mod pe tot parcursul funcţionării procesului condus. Achiziţia cu structuri repetitive este lentă. Achiziţii de date multi-punct După cum s-a precizat în lucrarea de laborator precedentă.llb a LabVIEW. putem avea achiziţii mono-punct (single-point) şi achiziţii de puncte multiple (multi-point). Diagrama asociată acestei aplicaţii este prezentată în Fig. Achiziţia de date multi-punct cu utilizarea structurilor repetitive (control loops) Pentru achiziţiile multi-punct se pot utiliza structuri repetitive (bucle) de tip For sau While în care sunt conţinute aplicaţii de achiziţie single-point. deci fără utilizarea unui buffer. metodă care este însă consumatoare de timp şi ineficientă.LUCRAREA NR. 2 Intrări analogice. 1.vi şi AI Single Scan. 27 . sau prin utilizarea metodelor cu bufferare (simple-buffer sau circular-buffer). sau se folosesc aplicaţii cu bufferare. dar se foloseşte în aplicaţii de conducere.vi din biblioteca de exemple Examples\ daq\ anlogin\ anlogin. Prin intermediul buclei While VI-ul realizează o serie de scanări single-point. Un exemplu de achiziţie repetată care utilizează instrumentele intermediare AI Config. 1. Achiziţiile 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 achiziţii single-point. din punct de vedere al numărului de eşantioane achiziţionat de către sistemul de achiziţie pentru o anumită aplicaţie. fără buffere.vi incluse într-o buclă While este prezentat în VI-ul Cont Acq&Chart (immediate). atunci când după achiziţia unei valori corespunzătoare unui semnal de intrare (cum ar fi mărimea reglată) se generează o valoare corespunzătoare unui semnal de ieşire (mărimea de comandă). Achiziţiile multi-punct reprezintă de fapt achiziţionarea datelor ca forme de undă (waveforms) – semnale variabile în timp.

vi Aşa cum s-a afirmat în prima lucrare. Pentru ca instrumentul AI Config. avantajul utilizării instrumentelor intermediare constă în faptul că nu este necesară configurarea canalelor de fiecare dată când se doreşte achiziţia datelor.vi pentru realizarea unei scanări şi transferă datele obţinute unui VI numit My Single-Scan Processing.Fig. acesta se plasează în afara buclei. pasează taskID şi clusterul de eroare buclei While. Datele sunt transferate apoi prin intermediul unei funcţii Build Array la un indicator grafic de tip Waveform chart în scopul vizualizării. Aplicaţia Cont Acq&Chart (immediate). 1. Exemplul prezentat utilizează controlul vitezei (ratei) de achiziţie printr-un mecanism software. aplicaţia converteşte această valoare în milisecunde şi trece această valoare convertită funcţiei Wait Until Next ms Multiple. Bucla va fi executată pe tactul dat de rata de scanare. AI Config. LabVIEW apelează AI Single Scan.vi (care poate lipsi din aplicaţie şi care permite realizarea unor prelucrări ale datelor achiziţionate). Întrucât viteza de achiziţie este controlată prin intermediul ceasului sistemului de calcul. Bucla se va termina la apăsarea butonului de Stop sau la apariţia unei erori.vi să fie apelat o singură dată. După ce utilizatorul introduce valoarea ratei de scanare. După aceasta. în sistem pot 28 . 1.vi configurează canalele. setează limitele de intrare şi generează un taskID. Funcţia Wait Until Next ms Multiple (metronom) controlează tactul buclei While. aşa cum se observă în Fig.

Dacă aplicaţiile sunt pretenţioase. Pentru o achiziţie bufferată. ne-bufferată. Achiziţia multi-punct mai este denumită achiziţie de forme de undă (waveforms).1. trebuie redus la minimum numărul şi dimensiunea indicatoarelor grafice utilizate (refresh-ul afişajului monitorului determină apariţia întreruperilor. În funcţie de modul de utilizare a datelor achiziţionate există două tehnici de achiziţie bufferată multi-punct: achiziţie cu buffer simplu şi achiziţie cu buffer circular. mare consumatoare de timp şi în plus nu există un control al intervalului de timp dintre eşantioane sau al intervalului de timp de transfer între canale. Pentru a îmbunătăţi precizia în cazul controlului software. în cadrul VI-ului trebuie specificat numărul de eşantioane care vor fi achiziţionate şi numărul de canale de la care se preiau aceste eşantioane. Achiziţia multi-punct cu buffer simplu Modul de transfer bufferat al datelor presupune că LabVIEW transferă datele de la hardware-ul de achiziţie în memorie la anumite intervale de timp. care conduce la creşterea preciziei achiziţiei şi permite obţinerea unor viteze de achiziţie mult mai mari. Pe baza 29 .llb a LabVIEW. se va utiliza controlul hardware al vitezei de achiziţie (hardware-timed control loops). cu structură repetitivă este prezentat în aplicaţia Cont Acq&Chart (hw timed). Achiziţia controlată hardware plasează în mod automat datele în memoria FIFO a plăcii de achiziţie la intervale de timp determinate de semnalele de tact de pe placă. 2. 2. Pentru realizarea unei achiziţii multi-punct eficientă trebuie folosite buffere de date.să apară o serie de întreruperi datorită intervenţiei utilizatorului. existenţa unor structuri de calcul (prelucrare) determină apariţia unor întârzieri care trebuie luate în consideraţie. achiziţia nu mai este întreruptă de intervenţia utilizatorului. Această tehnică este ineficientă. ceea ce afectează viteza de execuţie a buclelor). De asemenea. care pot duce la scăderea preciziei controlului soft a unei aplicaţii de achiziţie. În acest caz. Achiziţia de date multi-punct bufferată Una din posibilităţile de realizare a achiziţiilor multi-punct de la unul sau mai multe canale este de a utiliza tehnici fără buffer într-o manieră repetitivă.vi din biblioteca Examples\daq\anlogin\anlogin. aşa cum s-a văzut în paragraful anterior. Un exemplu de achiziţie controlată hardware.

de exemplu. 3.acestor două informaţii. Pentru acest VI trebuie precizate numărul plăcii. a semnalului de tact etc. cu precizarea unei liste cu canalele de intrare folosite. Pentru achiziţia bufferată a unei singure forme de undă de la un singur canal (achiziţie multi-punct mono-canal). Acest VI este asemănător cu AI Acquire Waveform. Perioada de eşantionare reală este inversa frecvenţei de eşantionare reală. 9 – Lucrarea de laborator nr. Instrumentul de nivel înalt permite o programare uşoară dar nu există facilităţi cum ar fi setarea triggerului. instrumentul AI Acquire Waveforms. 2. Instrumentul AI Acquire Waveform. Pentru afişarea formelor de undă obţinute de pe fiecare canal se pot utiliza funcţii Index Array ca în aplicaţia din Fig. Forma de undă obţinută este vizualizată cu un Waveform graph.vi (Fig. dar permite achiziţia de la mai multe canale. Fig.vi. numărul de eşantioane care se doreşte a fi achiziţionat de pe canalul respectiv şi frecvenţa de eşantionare (echivalentă cu rata de scanare pentru un singur canal). După aceasta. aşa cum se observă în Fig.vi 30 . datele din buffer pot fi analizate. iar ieşirea instrumentului (terminalul waveforms) furnizează o matrice care conţine datele achiziţionate de la canalele specificate. afişate sau prelucrate. datele din buffer nu sunt accesibile până când LabVIEW nu achiziţionează toate eşantioanele. 4). Se poate seta amplificarea utilizând high limit şi low limit. adică achiziţia multi-punct multi-canal. tot din biblioteca Easy Analog Input VIs. urmate de indicatoare grafice de tip Waveform graph. Pe măsură ce se desfăşoară achiziţia. bufferul este umplut cu date. se poate utiliza. stocate pe harddisc. cea mai simplă cale este de a utiliza instrumentul AI Acquire Waveform. Atunci când este folosit un buffer simplu. 1. în funcţie de performanţele hardware-ului. Pentru achiziţia bufferată a mai multor forme de undă. canalul.vi (Fig. care poate fi diferită de frecvenţa de eşantionare setată la intrarea VI-ului. Se poate construi o aplicaţie asemănătoare cu cea precedentă. LabVIEW alocă un buffer în memorie pentru stocarea unui număr de puncte egal cu numărul de eşantioane pe canal multiplicat cu numărul de canale. 2) din sub-biblioteca Easy Analog Input VIs.

Fig. 3. Achiziţia multi-punct mono-canal cu AI Acquire Waveform.vi

Fig. 4. Instrumentul AI Acquire Waveforms.vi Pentru asigurarea unei flexibilităţi sporite, achiziţia multipunct bufferată utilizează instrumente de nivel intermediar. Aceste instrumente, prezentate în Lucrarea de laborator nr. 1, permit controlul optim al achiziţiei, cum ar fi, de exemplu, citirea numai a unei părţi din datele achiziţionate ş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 operaţiunea de achiziţie ş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 achiziţie etc. şi se poate controla fiecare etapă a achiziţiei. În Fig. 5 este prezentată diagrama unei aplicaţii de achiziţie bufferată multi-punct multi-canal care utilizează instrumente de nivel intermediar. Cu instrumentul AI Config.vi, se configurează diferiţii parametri de achiziţie, cum ar fi canalele care sunt citite, mărimea bufferului etc. În AI Start.vi se specifică parametrii utilizaţi pentru începerea achiziţiei şi anume numărul de scanări, frecvenţa de scanare şi setările de trigger. În AI Read.vi se specifică parametrii folosiţi
31

pentru citirea datelor din bufferul cu date achiziţionate. În final, aplicaţia utilizează AI Clear.vi pentru dezafectarea bufferelor şi celorlalte resurse folosite pentru achiziţie prin invalidarea task ID. Dacă apare o eroare la execuţia acestor VI-uri, programul o pasează prin conexiunea error până la instrumentul General Error Handler.vi, care generează o descriere a erorilor apărute în procesul de achiziţie. Se observă că doar o parte din terminalele de intrare şi de ieşire ale VI-urilor sunt utilizate, restul fiind lăsate la valorile lor implicite. Datele achiziţionate sunt afişate cu ajutorul unui indicator grafic de tip Waveform Graph, cu opţiunea Transpose Array activată, fiind posibilă vizualizarea datelor primite de la mai multe canale (plotare multiplă). După cum se cunoaşte, multe din sistemele de achiziţie utilizează aşa-numita eşantionare secvenţială, cu un singur CAN şi mutliplexoare, ceea ce înseamnă că acelaşi CAN este folosit pentru mai multe canale de intrare. De aici rezultă că frecvenţa de eşantionare maximă pe canal este egală cu frecvenţa de eşantionare maximă a plăcii împărţită la numărul de canale. Pentru aceste plăci, rata de scanare introdusă la intrarea VIurilor este de fapt frecvenţa de eşantionare care se doreşte a fi obţinută pe un canal, iar aceasta poate fi cel mult frecvenţa de eşantionare maximă a plăcii împărţită la numărul de canale utilizate. O aplicaţie 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. Achiziţia bufferată multi-punct cu VI-uri de nivel intermediar
32

Fig. 6. Achiziţia simple-buffer multi-punct cu AI Waveform Scan.vi Trebuie precizat că aplicaţiile de achiziţie bufferată prezentate anterior sunt executate pe un semnal de tact furnizat de placa de achiziţie, adică hardware timed, ceea ce asigură o achiziţie rapidă şi precisă. Observaţie: Din punct de vedere al transferului datelor din exterior până la utilizator, achiziţia bufferată a datelor poate fi descrisă pe scurt, după cum urmează. Semnalul analogic care trebuie achiziţionat este preluat de către hardware-ul de achiziţie pe unul din canalele analogice prin intermediul amplificatorului de instrumentaţie ş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 achiziţie, care păstrează datele până când acestea pot fi transferate către calculator. Datele sunt transferate către calculator prin intermediul sistemului de întreruperi sau prin DMA (Direct Memory Access) şi sunt stocate într-un buffer al calculatorului (o zonă de memorie). Mărimea bufferului este dimensionată prin instrumentul AI Config.vi. Achiziţia este declanşată de către 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 afişate sau prelucrate. Dacă se doreşte scrierea datelor achiziţionate într-un fişier, se pot utiliza VI-uri din biblioteca Functions/File I/O.
33

2.2. Achiziţia multi-punct cu buffer circular Tehnicile de achiziţie cu buffer simplu se pot utiliza în multe aplicaţii, însă dacă trebuie vizualizate sau procesate porţiuni din date imediat ce acestea sunt achiziţionate, trebuie setat şi folosit un buffer circular. În cazul acestei tehnici, porţiuni din datele stocate în buffer sunt citite din acesta în timp ce este completat cu alte date. Prin utilizarea bufferului circular, hardware-ul de achiziţie poate fi setat să achiziţioneze date în mod continuu în background, în timp ce LabVIEW citeşte datele achiziţionate 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 obişnuit, dar când ajunge la sfârşitul 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ă locaţie din buffer, în timp ce datele intră în buffer începând cu altă locaţie, astfel încât să nu fie suprascrise date care nu au fost citite din buffer. Tehnica de achiziţie 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 decât acesta este scris, sau VI-ul nu poate citi datele din buffer mai rapid decât sunt suprascrise datele. În primul caz LabVIEW aşteaptă 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 plăcii vor fi suprascrise. Datele achiziţionate prin tehnica cu buffer circular pot fi puse la dispoziţia aplicaţiei imediat ce acestea sunt achiziţionate – de exemplu, pentru afişarea lor (în aşa-numitul pseudo - timp real). Singurele diferenţe majore care apar în ferestrele diagramă ale aplicaţiilor 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 achiziţie continuă), şi apelarea repetată a instrumentului AI Read.vi pentru citirea datelor. Aceste setări pot fi aplicate pe exemplul de achiziţie multi-punct cu buffer simplu din Fig. 5. Astfel, diagrama pentru o achiziţie cu buffer circular derivată din această aplicaţie este prezentată în Fig. 7. Se observă că se achiziţionează date cu o rată de 1000 de eşantioane pe secundă utilizând un buffer care poate stoca 5000 de eşantioane.
34

În interiorul buclei While. Instrumentul virtual creat prin diagrama din Fig. blocurile au dimensiunea egală cu maximul dintre 1000 de eşantioane şi dimensiunea scan backlog.vi setează canalele şi mărimea bufferului.şi prin urmare datele noi vor fi suprascrise în buffer peste 35 . AI Read. 7 citeşte şi afişează date în mod continuu (cu un indicator Waveform chart) până la apariţia unei erori sau până la apăsarea butonului stop. Aplicaţia poate funcţiona şi fără această funcţie. care nu mai este la valoarea sa implicită -1: citirea tuturor datelor din buffer.vi citeşte în mod repetat blocuri de date din buffer.vi iniţiază achiziţia de date din background şi specifică rata de scanare (cu number of scans to acquire setat la 0 pentru achiziţie în mod continuu). instrumentul AI Config. În aplicaţia din Fig. În aplicaţia dată. care înseamnă că datele nu sunt citite suficient de repede din bufferul calculatorului de către VI . care arată câte eşantioane au rămas în bufferul circular. dar aceasta este utilă pentru controlul dimensiunii scan backlog. Achiziţia în mod continuu multi-punct cu buffer circular Aplicaţia este utilă în cazul monitorizării datelor de la intrare pentru o perioadă îndelungată (în mod continuu). a căror dimensiune este dată de terminalul number of scan to read al AI Read.vi. La aplicaţiile de achiziţie cu buffer circular este posibilă apariţia unei erori de tip overwrite (cod – 10846). apoi AI Start. 7. 7. ci este setat la numărul de eşantioane care se doreşte a fi citite o dată şi puse la dispoziţia aplicaţiei.Fig. Această alegere este efectuată prin utilizarea unei funcţii Max & Min (meniul Comparison).

Cont Acq & Graph (buffered). 36 . 7.vi etc. similară cu aplicaţia din Fig. pentru a evita configurarea repetată a achiziţiei.vi (number of scan to read) sau se micşorează rata de scanare sau se măreşte dimensiunea bufferului. sau a unei erori overflow (cod –10845) care arată că datele nu pot fi preluate suficient de rapid din memoria FIFO a plăcii către buffer. Achiziţia continuă (buffer circular) cu AI Continuous Scan. Fig. ceea ce înseamnă că datele din memoria FIFO vor fi suprascrise înainte de a fi transferate.vi din Analog Input Utilities VIs este cea din Fig.vi. Pentru prevenirea erorii overflow trebuie folosit transferul DMA care este mai rapid sau se micşorează rata de scanare sau se utilizează alt hardware de achiziţie (placă cu memorie FIFO mai mare şi/sau calculator mai rapid). O aplicaţie asemănătoare care foloseşte însă instrumentul AI Continuous Scan. Achiziţia este oprită la apăsarea butonului Stop sau la apariţia unei erori.cele necitite încă.vi. Terminalul de iteraţie al buclei While este legat la terminalul de iteraţie al VI-ului de achiziţie.vi Pentru aprofundarea problemelor legate de achiziţia datelor analogice se pot analiza şi rula exemple din directorul Examples/Daq cum ar fi Getting Started Analog Input.vi. Cont Acq to File (scaled). Pentru prevenirea erorii overwrite se poate mări numărul de eşantioane citite de AI Read. Condiţia booleană de terminare a achiziţiei este de asemenea conectată la terminalul clear acquisition al VI-ului (astfel încât să fie true la ultima iteraţie). 8. Pentru achiziţii multi-punct cu buffer circular se pot analiza şi rula VI-uri cum ar fi: Cont Acq & Chart (buffered). 8.

Exemplul prezentat utilizează controlul vitezei de achiziţie prin software (software timing). pe baza instrumentelor intermediare AI Config. 3 ale modulului de intrare 5B41-02 (de bandă largă) de pe canalul de intrare analogică 0. 9 este prezentată fereastra panou a aplicaţiei în cazul achiziţiei unui semnal dreptunghiular. 1).Achiziţiile single-point şi multi-point descrise în paragrafele anterioare sunt startate la momente de timp aleatoare în raport cu datele achiziţionate.vi şi AI Single Scan. Pentru exemplificare. în Fig.vi. 37 . Amplitudinea semnalului şi offset-ul pot fi modificate din butoanele corespunzătoare ale generatorului. Atunci când este necesară declanşarea achiziţiei la un anumit moment de timp trebuie utilizate în mod corespunzător semnale de trigger hardware (analogic sau numeric) sau software. Se observă cum toate aceste operaţii afectează calitatea operaţiei de achiziţie a datelor. Achiziţia multi-punct cu structuri repetitive Aplicaţia din acest subparagraf constă în achiziţia 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. Pentru realizarea aplicaţiei se conectează ieşirea generatorului de semnal la bornele 2. Aşa cum s-a specificat în primul paragraf. Pentru achiziţia semnalului de la generator va fi folosit VI-ul Cont Acq&Chart (immediate). Acest VI foloseşte o tehnică fără buffer. Generatorul poate furniza semnale de tip dreptunghiular. Exemple de achiziţii de date multi-punct Pentru implementarea exemplelor din acest paragraf trebuie configurată şi verificată placa AT-MIO-16H conform indicaţiilor din Lucrarea de laborator nr. cu acelaşi VI. în acest caz pot exista întreruperi datorită intervenţiei utilizatorului. triunghiular sau sinusoidal între 0. cu frecvenţa de 10 Hz. 3. Frecvenţa de eşantionare (scan rate – pentru un singur canal) este de 100 de eşantioane pe secundă.llb a LabVIEW (diagrama este prezentată în Fig. 3.1.vi din biblioteca de exemple Examples\ daq\ anlogin\ anlogin. situat pe rack-ul exterior.5 Hz şi 1 MHz. În Fig. 10 este prezentată achiziţia unui semnal sinusoidal de 10 Hz. dar în condiţiile efectuării în timpul achiziţiei a unor operaţii diverse cum ar fi mişcarea mouse-lui. cu buclă While. 1 şi din Anexa 1. închiderea sau deschiderea unor aplicaţii etc.

9. Achiziţia multi-punct repetată a unui semnal dreptunghiular Fig.Fig. 10. Achiziţia unui semnal sinusoidal (software timed) 38 .

Achiziţia unui semnal sinusoidal (hardware timed) 3.2.Dacă se utilizează un VI cu control hardware al vitezei de achiziţie (hardware-timed control loops). nebufferată. utilizând însă VIul Cont Acq&Chart (hw timed). cu structură repetitivă) din aceeaşi bibliotecă.vi. 13. Achiziţia multi-point cu buffer simplu a unui semnal Pentru achiziţia bufferată a unui semnal sinusoidal de la generatorul de semnal (conectat ca în paragraful anterior). 12. iar fereastra panou în Fig. Fig. Pentru detalii privind modul de achiziţie sub controlul ceasului de pe placă (în alte aplicaţii poate fi utilizat şi un semnal de ceas extern) se poate parcurge legenda Show VI Info a instrumentului virtual. care sunt puse la dispoziţie pentru 39 . în care acelaşi semnal este achiziţionat în aceleaşi condiţii. iar frecvenţa de eşantionare (scan rate) de 1000 de eşantioane/sec. Diagrama aplicaţiei este prezentată în Fig.vi (achiziţie controlată hardware. se poate utiliza o aplicaţie bazată pe AI Acquire Waveform. 11. 11. Bufferul este de 100 de eşantioane. Semnalul sinusoidal achiziţionat are o frecvenţă de 50 Hz. achiziţia nu mai este întreruptă de intervenţia utilizatorului – a se vedea Fig.

Achiziţia simplu bufferată cu AI Acquire Waveform. 13.vi 40 . Pentru afişare este utilizat un Waveform Graph scalat pe axa timpului în funcţie de perioada de eşantionare reală. Achiziţia cu buffer simplu folosind AI Acquire Waveform.afişare sau alte prelucrări după încheierea achiziţiei. 12. Fig.vi Fig.

16. care utilizează un buffer circular (paragraful 2. Achiziţia multi-punct cu buffer circular a unui semnal Acelaşi semnal sinusoidal de 50 Hz din aplicaţia anterioară. 15 şi fereastra panou din Fig. Datele achiziţionate în mod 41 . Fig.subeşantionare 3. Achiziţia cu buffer simplu a unui semnal . Aplicaţia are diagrama din Fig. 14.3. furnizat de generatorul de semnal disponibil în laborator.Din Fig. Se observă că semnalul nu mai are alura sinusoidală (de fapt frecvenţa de eşantionare a fost aleasă la limită din punct de vedere al teoremei Nyquist. iar rata de scanare este de 500 de eşantioane/sec. va fi achiziţionat prin intermediul unei aplicaţii cu instrumente intermediare. Bufferul utilizat are dimensiunea de 5000 de eşantioane. dar insuficient de mare pentru a reda forma în domeniul timp a semnalului original). 7).2 – Fig. 14 se poate observa importanţa alegerii corecte a frecvenţei de eşantionare – acelaşi semnal sinusoidal de 50 de Hz este achiziţionat cu 100 de eşantioane pe secundă. Bufferul a fost dimensionat la 10 eşantioane (pentru a obţine o reprezentare echivalentă cu exemplul precedent pe axa timpului).

Pentru informaţii suplimentare privind funcţionarea VI-ului Spectrum Analyser se poate parcurge legenda Show VI Info a instrumentului. 17. Acest VI. care permite vizualizarea conţinutului în frecvenţă al semnalului (pe scară liniară sau logaritmică. Spectrum Analyser din Examples \ Analysis \ measure \ daqmeas. de exemplu. Pentru afişarea datelor au fost utilizate două indicatoare grafice: un Waveform Chart şi un Waveform Graph. filtre disponibile în LabVIEW în cadrul meniului Functions. pe lângă afişarea formei în domeniul timp a semnalului achiziţionat. cu utilizarea ferestrelor temporale etc. Aplicaţii pentru prelucrarea semnalelor – inclusă în referinţele bibliografice). submeniul Analysis. Fig. 15. Chestiuni teoretice şi aplicaţii LabVIEW pentru analiza semnalelor pot fi consultate în lucrarea Ghid de programare în LabVIEW. Achiziţia multi-punct cu buffer circular a unui semnal – instrumente de nivel intermediar Acelaşi semnal poate fi achiziţionat şi prelucrat cu diverse instrumente virtuale din bibliotecile LabVIEW. 42 .). Aplicaţii pentru prelucrarea semnalelor – a se vedea referinţele bibliografice. grupul Filters. realizează şi o analiză spectrală.llb – Fig.continuu sunt puse imediat la dispoziţia utilizatorului. Semnalul sinusoidal achiziţionat poate fi prelucrat în funcţie de necesităţi – de exemplu se poate filtra cu ajutorul unor filtre numerice FIR sau IIR (pentru detalii vezi lucrarea Ghid de programare în LabVIEW.

17.Fig. Achiziţia multi-punct cu buffer circular a unui semnal Fig. 16. Achiziţia şi analiza spectrală a unui semnal sinusoidal 43 .

1. 9. [16]. canalul 1: o tensiune continuă de la o sursă de semnal. 6).7. Să se realizeze achiziţia cu buffer circular şi vizualizarea în mod continuu a unor semnale sinusoidale şi dreptunghiulare pe baza aplicaţiei din Fig. Dezvoltaţi un VI care să realizeze achiziţia multi-punct cu buffer circular a datelor de la două canale – canalul 0: semnal sinusoidal de la generatorul de semnal. 4. Să se realizeze analiza spectrală şi să se urmărească influenţa frecvenţei de eşantionare asupra spectrului şi formei în domeniul timp. tipul de trigger etc. 4. 4.1. 16. precum şi o componentă de c. 4.4. Temă de laborator 4. cu diferite amplitudini şi frecvenţe.3. [11]. pe baza VI-ului AI Continuous Scan. scan rate şi explicaţi rezultatele achiziţiei. 4. Să se refacă aplicaţia de la punctul 4. Modificaţi parametrii buffer size.vi (Fig. number of scan to read. Să se vizualizeze rezultatele prelucrării sinusoidelor de diverse frecvenţe. tipuri de ferestre temporale. Dezvoltaţi o aplicaţie de achiziţie simplu bufferată a 500 de eşantioane ale unui semnal sinusoidal.5. 17 se poate observa evoluţia în domeniul timp a semnalului sinusoidal achiziţionat şi spectrul semnalului în domeniul frecvenţă. setări de display etc. precum şi setări ale frecvenţei de eşantionare. datorată offset-ului nenul. triunghiulare. 10. 5. pentru semnale sinusoidale provenite de la generatorul de semnal disponibil. 11.6. Fig.În Fig. Care este influenţa ratei de scanare asupra achiziţiei? 4. [12]. utilizând un generator de semnal şi placa AT-MIO-16H (paragraful 3. dreptunghiulare. utilizând controlul software sau hardware al vitezei de achiziţie. Ce tipuri de achiziţie multi-punct cunoaşteţi şi care sunt diferenţele dintre ele? 4. Să se ruleze VI-ul Spectrum Analyser prezentat în Fig. Fig. setat la generatorul de semnal cuplat la placa de achiziţie AT-MIO16H.2). Observaţie: Pentru clarificarea unor concepte teoretice privind eşantionarea semnalelor şi alegerea frecvenţei de eşantionare se pot consulta lucrările [6]. 17. 44 . pentru achiziţia repetată a unor semnale sinusoidale.c. 8). [17] din bibliografie.2. 15. Implementaţi aplicaţia prezentată în paragraful 3.4. În fereastra panou a instrumentului sunt disponibile o serie de setări hardware – cum ar fi limitele semnalului achiziţionat. fiind vizualizată componenta de 50 Hz. iar semnalul sinusoidal achiziţionat să fie filtrat cu ajutorul unui filtru numeric FIR sau IIR. de amplitudine mică. Refaceţi aplicaţia utilizând instrumente de nivel intermediar (Fig..

intrarea de test respectivă poate fi utilizată şi pentru startarea achiziţiei de date.). dacă se testează răspunsul unei instalaţii la o intrare tip (treaptă. sistemul de achiziţie va mai colecta un număr specificat de eşantioane după care achiziţia este stopată. impuls etc. 45 . Există două tipuri de triggerare: hardware (care poate fi analogică sau numerică) şi software. De exemplu. prin care se defineşte zona de interes din evoluţiile semnalelor achiziţionate: modul posttrigger modul pretrigger Modul posttrigger realizează achiziţia unui număr specificat de eşantioane după apariţia unui eveniment trigger. fără o legătură directă cu evoluţia datelor respective (fără triggerare). în funcţie de apariţia evenimentului trigger. 1 – pentru anumite aplicaţii achiziţiile de date pot fi declanşate la un anumit moment de timp. După aceasta. Prin urmare achiziţia de date poate fi declanşată în funcţie de condiţia sau starea unui semnal numeric sau analogic.. adică după recepţionarea unui semnal trigger (de declanşare). 3 Controlul achiziţiilor de date cu semnale de tip trigger 1. În cazul modului pretrigger datele sunt achiziţionate continuu. Un trigger este un eveniment care startează achiziţia datelor. 1. lucrarea de laborator nr. ceea ce determină un consum nejustificat de resurse. Există aplicaţii. pentru care declanşarea achiziţiei de date analogice trebuie realizată la momente de timp bine precizate (cu triggerare). În caz contrar este necesară începerea achiziţiei înainte de aplicarea intrării respective. Achiziţia este stopată în momentul în care bufferul care stochează datele achiziţionate (de lungime specificată de utilizator) este plin. Datele sunt colectate într-un buffer precizat de utilizator până când placa recepţionează semnalul trigger. Tipuri de triggerare Aşa cum s-a discutat în lucrările de laborator anterioare – a se vedea diagrama din Fig. Plăcile de achiziţie pot funcţiona în două moduri principale de achiziţie. înainte şi după primirea unui semnal trigger. utilizând o tehnică numită triggerare (declanşare).LUCRAREA NR.

De exemplu. care trebuie îndeplinită de către triggerul analogic. în Fig. Placa poate fi configurată să aştepte îndeplinirea unei condiţii pentru semnalul trigger. Triggerarea numerică Un trigger numeric este de regulă un semnal de tip TTL cu două nivele discrete: nivel înalt şi nivel jos. în Fig. placa de achiziţie începe colectarea datelor. 2 este prezentată o diagramă a modului de achiziţie posttrigger cu utilizarea unui semnal trigger numeric. un dispozitiv extern trimite un trigger hardware-ului de achiziţie. 1. Achiziţia analogică poate fi startată la apariţia unui front crescător sau descrescător al semnalului trigger. După cum se observă din definiţiile anterioare.1. datele sunt stocate de la începutul bufferului prin suprascrierea datelor vechi. adică după ce întregul buffer este completat.Bufferul este tratat ca un buffer circular. un anumit nivel al semnalului. cum ar fi. 1 achiziţia este startată pe frontul crescător al unui semnal trigger numeric. Pentru exemplificare. 3. Triggerarea analogică Semnalul analogic de tip trigger se conectează pe unul din canalele de intrări analogice ale plăcii de achiziţie. un trigger 46 . Atunci când semnalul trece din nivel înalt în nivel jos apare un front coborâtor (descrescător sau descendent). La încheierea achiziţiei. Numărul de eşantioane salvate în buffer depinde de lungimea acestuia (specificată de utilizator) şi de numărul specificat de eşantioane de achiziţionat după apariţia semnalului trigger. În acest exemplu. placa declanşează achiziţia. bufferul conţine eşantioane atât dinaintea cât şi după apariţia semnalului trigger. În Fig. de exemplu. semnalele de trigger se utilizează doar în cazul achiziţiilor de date bufferate. iar când trecerea este inversă un front crescător (ascendent). Există două tipuri de triggerare hardware: numerică şi analogică. Imediat după primirea semnalului şi după îndeplinirea condiţiilor de triggerare (de exemplu apariţia frontului crescător al semnalului). După identificarea condiţiei respective. Placa monitorizează canalul semnalului trigger şi aşteaptă îndeplinirea condiţiilor de triggerare. Triggerarea hardware Triggerarea hardware permite setarea momentului de start al achiziţiei şi colectarea datelor de la un anumit moment de timp în raport cu apariţia unui semnal trigger.

analogic este setat să starteze achiziţia de date pe panta descrescătoare (negativă) a semnalului. dar condiţia de triggerare poate fi exprimată. de exemplu. convertită într-o tensiune. şi în unităţi de temperatură). Semnal trigger de tip analogic 47 t . prin soft. atunci când semnalul atinge valoarea 18 (semnalul trigger analogic poate fi. 1. o temperatură. Diagrama achiziţiei de date cu trigger numeric Nivelul şi panta semnalului declanşează achiziţia datelor 18 0 Fig. Semnal TTL conectat la pini de tip STARTTRIG sau EXTTRIG ai conectorului I/O al plăcii de achiziţie Front crescător Iniţiere achiziţie date Fig. 2. Semnal trigger de tip numeric Dispozitiv extern Semnal trigger numeric Hardware de achiziţie Hardware-ul de achiziţie aşteaptă până la îndeplinirea condiţiilor de către semnalul trigger numeric Dispozitiv extern Date analogice Hardware de achiziţie Fig. 3.

Pointerul de poziţionare citire/căutare parcurge bufferul până când găseşte locaţia la care datele îndeplinesc condiţiile de triggerare. 5 este prezentată o diagramă a evenimentelor care apar în cazul unei triggerări software. Dispozitiv extern Semnal trigger analogic Hardware de achiziţie Hardware-ul de achiziţie aşteaptă până la îndeplinirea condiţiilor de către semnalul trigger analogic Dispozitiv extern Date analogice Hardware de achiziţie Fig. corespunzătoare triggerului numeric. 2. Offset-ul indică locaţia de la care software-ul începe citirea datelor în raport cu poziţia de citire/căutare. 48 . un offset pozitiv indică o achiziţie de tip posttrigger (achiziţie după îndeplinirea condiţiilor de triggerare).triggerul software).2. Un offset negativ indică necesitatea unei achiziţii de tip pretrigger (achiziţie înainte de îndeplinirea condiţiilor de triggerare). Această formă de declanşare a achiziţiei este folosită în situaţiile în care nu sunt disponibile semnale trigger hardware (sau placa de achiziţie nu este prevăzută cu facilitatea de triggerare hardware).În Fig. dar nu stochează datele decât atunci când acestea îndeplinesc specificaţiile cerute. similară cu diagrama din Fig. În Fig. Diagrama achiziţiei de date cu trigger analogic 1. Software-ul de achiziţie scanează datele şi realizează o comparaţie a acestora cu condiţiile de triggerare. dar nu le returnează decât atunci când datele respective îndeplinesc condiţiile de recuperare (conditional retrieval . 4 este prezentată diagrama pentru o achiziţie posttrigger cu un semnal trigger analogic. Hardware-ul de achiziţie este setat să colecteze date. Triggerarea software Triggerarea software presupune simularea unui trigger hardware prin utilizarea unei rutine software. 4.

Utilizarea LabVIEW pentru achiziţii de date triggerate Pentru realizarea unei aplicaţii LabVIEW pentru achiziţii de date triggerate.Fig. Diagrama unei achiziţii de date cu triggerare software 2. trebuie utilizate instrumente virtuale intermediare sau avansate. care au facilităţi pentru semnale trigger. 5. Aşa cum s-a precizat şi în prima lucrare de laborator. instrumentele virtuale de 49 .

setează în mod corespunzător triggerul hardware. de citire a datelor şi de ştergere a acestora. 6. Astfel. 8). Secvenţa VI-urilor pentru achiziţia de date cu triggerare Instrumentul intermediar AI Start.vi) Fig. 3 – trigger numeric (A şi B – de start şi stop). pe lângă funcţia de citire a datelor poate seta şi triggerarea software (conditional retrieval). secvenţă prezentată în Fig. 6. iar AI Read.vi anulează triggerarea. atunci AI Start. VI-ul apelează un instrument virtual avansat (AI Trigger Config. Spre deosebire de achiziţia fără triggerare.vi) care. Triggerarea hardware AI Start. în funcţie de valoarea terminalului trigger type.vi. 7. 2 – trigger numeric (A). Dacă trigger type este 0.vi) Nu Trigger? (hard) Da Citire date (AI Read. 50 . 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 achiziţia. Configurare placă (AI Config.vi) Ştergere date (AI Clear.achiziţie trebuie ordonate într-o secvenţă logică care conţine etape de configurare a plăcii.vi (Fig. în caz contrar setează tipul specificat de trigger: 1 – trigger analogic. în acest caz se aşteaptă apariţia semnalului trigger înainte de a citi datele analogice. de lansare a achiziţiei.vi realizează pe lângă lansarea achiziţiei şi setarea semnalului trigger hardware. ale cărui terminale sunt prezentate în Fig. în afara funcţiei de startare a achiziţiei permite şi configurarea semnalului trigger hardware.vi) Lansare achiziţie (AI Start.

Triggerarea software În situaţia în care hardware-ul de achiziţie nu este prevăzut cu facilitatea de trigger hardware. pentru declanşarea achiziţiei (tipul pantei este furnizat de parametrul de intrare edge or slope). Acest parametru este un cluster care conţine 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ă. dacă edge or slope este 0. setarea implicită nu este modificată.vi Parametrul edge or slope stabileşte dacă achiziţia va fi declanşată pe frontul coborâtor sau crescător al triggerului numeric sau pe panta pozitivă sau negativă a triggerului analogic (triggerul numeric sau analogic este ales prin setarea corespunzătoare a parametrului trigger type). Terminalul pretrigger scans reprezintă numărul de scanări care vor fi salvate în buffer înainte de apariţia semnalului trigger (implicit 0. triggerul se poate simula prin intermediul unui software corespunzător. Pentru detalii privind toate terminalele de intrare şi de ieşire ale instrumentului AI Start. Parametrul analog chan & level determină sursa şi nivelul semnalului trigger analogic (pentru trigger type = 1). dacă este 1 atunci este selectat frontul crescător pentru trigger numeric. mai exact se poate utiliza 51 . respectiv pantă pozitivă pentru trigger analogic. ceea ce înseamnă că LabVIEW nu salvează nimic înainte de apariţia triggerului).Fig. iar dacă edge or slope este 2 atunci este selectat front coborâtor pentru trigger numeric sau pantă negativă pentru trigger analogic. Instrumentul AI Start. 7.vi se poate consulta meniul Online help al VI-ului. Astfel.

fiecare eşantion achiziţionat este verificat pentru a se vedea dacă îndeplineşte condiţiile de triggerare. level – specifică nivelul semnalului. După ce VI-ul găseşte în buffer datele care atestă îndeplinirea condiţiei de triggerare. 8. Instrumentul AI Read. 2 – on). Terminalul conditional retrieval este un cluster care conţine mai mulţi parametri: mode – activează sau dezactivează triggerul software (0 – nu modifică setarea anterioară. offset – specifică locaţia de la care VI-ul începe citirea datelor relativ la 52 . condiţii care vor fi verificate de către VI în bufferul cu date achiziţionate. exprimat în volţi. Pentru triggerarea software este necesar ca în memorie să se implementeze un buffer circular. slope – specifică panta semnalului. care permite analiza soft a unui semnal din cadrul datelor ce sunt achiziţionate şi în funcţie de valoarea acestui semnal se startează citirea datelor. Căutarea începe de la locaţia specificată prin parametrul read/search position (pointerul de citire/căutare).vi permite realizarea setărilor necesare pentru triggerarea software. AI Read. De fapt îndeplinirea unei condiţii de triggerare presupune ca un semnal analogic achiziţionat să atingă un anumit nivel (pantă pozitivă sau negativă). hysteresis – specifică fereastra de tensiune pe care semnalul trebuie să o parcurgă la atingerea nivelului cerut de către condiţia de triggerare (acţionează ca un filtru).vi Terminalul de intrare conditional retrieval permite specificarea condiţiilor de triggerare. skip count – indică numărul de condiţii de triggerare neluate în considerare înainte de declanşarea citirii datelor. acesta va permite citirea datelor şi furnizarea lor de la locaţia respectivă plus offset-ul. căutat de către VI (implicit 0 V). Atunci când condiţiile sunt îndeplinite. LabVIEW începe citirea datelor. 1 – off. Fig. channel index – specifică acele canale pe care VI-ul caută datele care îndeplinesc condiţia de triggerare (implicit canalul 0).aşa numitul trigger software sau conditional retrieval.

53 . ceea ce rămâne de făcut este înlocuirea valorilor implicite. instrumentul AI Start. Exemple de achiziţii de date triggerate 3. care utilizează buffer simplu sau buffer circular. va fi reluat exemplul de achiziţie bufferată continuă multi-punct (cu buffer circular) bazat pe instrumente intermediare.1. Acesta are avantajul că poate fi utilizat singur într-o structură de achiziţie. iar offset pozitiv posttriggerare). Detalii privind terminalele de intrare şi de ieşire. aceste schimbări vizează instrumentul AI Start. iar setările de trigger se realizează compact prin parametrul de intrare de tip cluster trigger and clock. exemplu dezvoltat în lucrarea de laborator nr. precum şi valorile acestora.vi. În cele ce urmează. Această operaţiune conduce la apariţia controalelor implicite ce trebuie conectate la terminalele respective. Observaţie: Achiziţiile de date triggerate pot fi dezvoltate şi cu alte VI-uri de nivel intermediar sau avansat. Achiziţii de date cu trigger analogic Deoarece doar achiziţiile de date bufferate pot fi declanşate prin utilizarea de semnale trigger. edge or slope şi analog channel & level. se efectuează clic cu butonul din dreapta al mouse-ului şi din meniul care apare se selectează Create Control. Acest VI de nivel intermediar permite realizarea de achiziţii cu triggerare hardware. 3. În cazul unui semnal trigger hardware.vi va trebui conectat în mod corespunzător prin setarea terminalelor trigger type. 2 – diagrama din Fig.pointerul care indică îndeplinirea condiţiei de triggerare (offset negativ înseamnă pretriggerare. aplicaţiile care pot fi dezvoltate sunt cele multi-punct.vi. iar în cazul unui trigger software. Pentru a crea cu uşurinţă controalele necesare acestor setări se poziţionează mouse-ul (instrumentul de cablare) pe terminalele corespunzătoare din diagramă. pot fi găsite prin consultarea meniului Online help al instrumentului AI Read. 15. cu cele necesare aplicaţiei. instrumentul AI Read.vi. dacă este cazul. După cum se va vedea. Pentru a implementa un trigger hardware analogic. pentru implementarea unei achiziţii triggerate trebuie efectuate numai câteva schimbări în setarea triggerului.vi din biblioteca Analog Input/ Analog Input Utilities. Un exemplu în acest sens îl constituie instrumentul AI Waveform Scan.

9. dar poate fi utilizată triggerarea numerică sau triggerarea software. Fig. 10. Achiziţie continuă de date cu triggerare hardware analogică 54 .vi. Se observă că aplicaţia de achiziţie triggerată nu diferă de aplicaţia de achiziţie din lucrarea 2. terminalul channels al instrumentului AI Config. caracterul 0 dacă triggerul analogic este furnizat pe canalul 0) şi parametrul level – nivelul de declanşare a achiziţiei. Achiziţia de date pe canalul 1 se va declanşa în momentul în care semnalul analogic cuplat la intrarea 0 a plăcii va scădea sub 2. Pentru placa ATMIO-16. cu setările de trigger efectuate mai sus. 9. Fig. sunt prezentate în Fig.vi trebuie setat pe ambele canale de achiziţie: 0 şi 1. terminalul edge or slope va fi setat în funcţie de panta triggerului analogic – de exemplu 2 pentru pantă negativă (falling dacă s-au creat controalele după procedura de mai sus).Parametrul trigger type va fi setat la valoarea 1 (analog dacă s-au creat controalele după procedura de mai sus). de exemplu 2 V. Trebuie precizat faptul că utilizarea unui anumit tip de trigger depinde esenţial de tipul plăcii de achiziţie şi de aceea trebuie consultat în prealabil manualul de utilizare al plăcii. În plus. nu se permite triggerarea analogică. de exemplu.0 V. Ferestrele LabVIEW corespunzătoare acestei aplicaţii. decât prin setările de trigger efectuate la AI Start. Datele vor fi achiziţionate în mod continuu (buffer circular). terminalul analog channel & level este un cluster care conţine parametrul trigger channel – numărul canalului utilizat pentru triggerul analogic (un string ce conţine. 15.

utilizat în paragraful anterior.2. Achiziţia triggerată numeric se activează prin modificarea corespunzătoare a doi parametri ai instrumentului AI Start. Fereastra diagramă a acestei aplicaţii este similară cu cea prezentată în Fig.Fig. pe canalul de intrare analogică 0 al plăcii AT-MIO-16H va fi conectată ieşirea unui generator de semnal de tip Kabid KZ1404 (sau Versatester E0502). Terminalul analog channel & level. Trigger type va fi setat pe digital A (valoarea 2) iar edge or slope pe falling (valoarea 2). de achiziţie continuă bufferată cu instrumente intermediare. nu se va mai seta (va fi lăsat la valoarea implicită). 55 . 11) parametrii de triggerare se setează conform celor de mai sus. 9. 10. Pentru rularea aplicaţiei. Achiziţii de date cu trigger numeric Pentru a exemplifica acest tip de triggerare va fi folosit exemplul precedent.vi: trigger type şi edge or slope. cu precizarea că terminalul analog channel & level nu mai este conectat. În fereastra panou (Fig. Fereastra panou a aplicaţiei de achiziţie cu trigger analogic 3.

situat pe rack-ul exterior. cu comutatorul FREQ pe poziţia EXT.vi) se pot face setările de nivel. Exemplu de achiziţie continuă de date cu triggerare numerică Mai exact. 11. lăţime a pulsului etc. La pinul STARTTRIG* se conectează ieşirea OUT a generatorului. amplitudine 2 sau 3 V. 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 achiziţiei de date). de frecvenţă 10 Hz. 56 . acesta se poate conecta la intrarea analogică 0 şi prin utilizarea unui VI de achiziţie (de exemplu Cont Acq&Chart (buffered). Prin apăsarea butonului SINGLE PULSE al generatorului va fi furnizat semnalul TTL necesar. Generatorul va fi setat pe semnal sinusoidal. Rata de scanare va fi stabilită la 200 de eşantioane/secundă. Pentru vizualizarea în prealabil a semnalului de trigger. 3 ale modulului de intrare 5B41-02 (de bandă largă) de pe canalul de intrare analogică 0. ieşirea generatorului va fi conectată la bornele 2. Semnalul TTL este furnizat de un generator PULSE GENERATOR TR-0361 aflat în dotarea laboratorului.Fig.

de exemplu. acesta se poate simula. achiziţia de date va fi declanşată numai la apariţia semnalului de trigger numeric – TTL (pe frontul coborâtor). După cum se observă din Fig. Pentru aceasta se poate dezvolta un VI simplu utilizând.0 V). Pentru achiziţia pretrigger trebuie utilizat un semnal STOPTRIG – pinul 39 şi o setare corespunzătoare a terminalului pretrigger scans al instrumentului AI Start. instrumentul AI Start.vi (declanşarea achiziţiei este realizată soft sau hard cu semnalul STARTTRIG*. Ieşirea analogică 0 (pinul 20 al conectorului I/O) se conectează direct la pinul 38 al aceluiaşi conector – pinul STARTRIG*. Trebuie precizat că această achiziţie este de tip posttrigger. level (de exemplu 2. 12. Acest cluster trebuie completat cu parametrii: mode (2 – on: activare trigger software). Prin utilizarea triggerării software nu este posibilă achiziţia continuă de date după ce au fost îndeplinite condiţiile de trigger. hysteresis (de exemplu 0. instrument care să furnizeze pe ieşirea 0 a plăcii AT-MIO-16 o tensiune de 5 V (rulare continuă). Aplicaţia de achiziţie a datelor cu buffer circular utilizată în paragrafele anterioare va fi acum prelucrată pentru setarea unei triggerări software.vi.vi nu mai este conectat la terminalele specifice de trigger hardware (sunt lăsate configuraţiile implicite). Prin aceste setări a fost simulat triggerul analogic din paragraful 3. Astfel. Pentru a acoperi necesităţile aplicaţiei se poate utiliza un buffer cât mai mare. 3. în schimb este realizată setarea corespunzătoare a terminalului conditional retrieval al instrumentului AI Read.3. 12. Achiziţii de date cu trigger software Pentru plăcile de achiziţie fără facilităţi de triggerare analogică se poate utiliza triggerarea software care simulează într-un fel semnalul trigger analogic. La rularea aplicaţiei. skip count (0).Observaţie: Dacă nu se dispune de un aparat extern care să furnizeze semnalul TTL cerut pentru triggerare. channel index (canalul de căutare: 1). slope (panta semnalului – de exemplu falling). Prin coborârea tensiunii furnizate pe ieşirea 0 spre 0 V (cu ajutorul unui control corespunzător) se va simula astfel semnalul de trigger necesar.1. iar la apariţia semnalului STOPTRIG – front crescător – se mai achiziţionează numărul de eşantioane specificat). AO Update Channel.2 V).vi. terminalul number of scans to 57 . Diagrama acestei aplicaţii este prezentată în Fig. offset (0).

Generatorul va fi setat pe semnal sinusoidal de 1 Hz. 1. 1 (setare valabilă şi la triggerarea analogică). 13. după care se returnează spre aplicaţie datele care îndeplinesc condiţiile de triggerare (în limita bufferului precizat). 58 . din butonul de nivel al sursei de tensiune se coboară uşor tensiunea (se poate folosi un voltmetru pentru afişare) până când valoarea acesteia coboară sub valoarea de 1. Se va observa momentul în care achiziţia de date este declanşată. semnal utilizat pentru verificarea condiţiilor de triggerare. Fig. Achiziţie de date cu triggerare software Pentru rularea aplicaţiei vom conecta o sursă de tensiune duală de tip IEMI .vi trebuie setat corespunzător parametrul channels – cu ambele canale de achiziţie: 0. 12. Trebuie precizat faptul că la instrumentul AI Config. Sursa de tensiune va fi setată pe 4 V. unde se pot observa datele achiziţionate pe ambele canale. amplitudine 2 sau 3 V.datele de la generator şi pe canalul 1 semnalul analogic de la sursă. Fereastra panou corespunzătoare acestei aplicaţii este prezentată în Fig.I4102 M de 2 x 40 V. După ce aplicaţia va fi pornită.8 V.2 A pe canalul de intrare analogică 1 şi un generator de semnal Kabid KZ1404 pe canalul de intrare analogică 0 (prin modulele de condiţionare 5B31-02 respectiv 5B41-02).acquire al instrumentului AI Start. ceea ce înseamnă că se va executa (hardware) o achiziţie continuă de date până când sunt îndeplinite condiţiile de triggerare (sau până când este atinsă limita de timp dacă aceste condiţii nu sunt îndeplinite). după declanşarea achiziţiei: pe canalul 0 .vi este setat la 0.

vi. 4. Acquire N Scans . Informaţii despre realizarea şi setarea tuturor acestor VIuri sunt disponibile prin accesarea meniului Windows/ Show VI Info al fiecărui instrument. Exemplu de achiziţie de date cu triggerare software Dacă parametrul mode din clusterul conditional retrieval este setat pe off se pot vizualiza semnalele achiziţionate fără triggerare.multiDTrig.vi. Pentru a înţelege şi a aprofunda achiziţiile de date triggerate este utilă parcurgerea exemplelor din biblioteca Examples\ daq\ anlogin\ anlogin. Aceste VI-uri sunt realizate în jurul instrumentului virtual de achiziţie AI Waveform Scan. realizate cu instrumente de nivel intermediar.vi.Fig.llb a LabVIEW. Ce înţelegeţi prin semnal de trigger? Ce tipuri de triggerare există? Cum definiţi modurile posttrigger şi pretrigger? 4. Temă de laborator 4. 13.2.vi. Pentru achiziţii de date triggerate software se pot analiza şi rula VI-urile Acquire N Scans SW Trig.1. Acquire&Proc N Scans SW Trig.vi.DTrig.multi-ATrig. Acquire N Scans .vi.vi. Acquire N . Pentru achiziţii de date triggerate hardware se pot studia şi rula (în funcţie de placa de achiziţie disponibilă) VI-urile Acquire N .ATrig. Care tipuri de achiziţie de date pot fi triggerate? Care dintre instrumentele virtuale de achiziţie au facilităţi de triggerare? 59 .

2 (Fig. 9 şi 10 şi realizaţi setările din paragraful 3. Modificaţi parametrii offset şi skip count şi verificaţi efectul schimbărilor asupra achiziţiei. 4. 4. Implementaţi aplicaţia de achiziţie triggerată analogic din Fig.38.vi şi prin conectarea ieşirii analogice 0 (pinul 20) la pinul STARTTRIG* . Modificaţi tipul semnalului furnizat de generator şi încercaţi realizarea unei achiziţii cu pretriggerare. Dezvoltaţi programul LabVIEW de achiziţie continuă cu triggerare numerică descris în paragraful 3.5. 60 . 4.vi destinate triggerării hardware. Implementaţi aplicaţia de achiziţie de date cu triggerare software descrisă în paragraful 3. Conectaţi generatorul de semnal şi sursa de tensiune şi realizaţi achiziţia triggerată conform procedurii expuse.vi şi AI Read. 11).1.3 (Fig 12 şi 13).4. Modificaţi parametrii de triggerare (de exemplu alt nivel şi altă pantă pentru tensiune) şi repetaţi experimentul. Simulaţi semnalul de trigger numeric cu ajutorul unei aplicaţii de generare cu AO Update Channel. Conectaţi generatorul de semnal şi generatorul impulsului de trigger TTL la placa AT-MIO-16 conform procedurii prezentate şi observaţi declanşarea numerică a achiziţiei datelor. respectiv software.Analizaţi setările instrumentelor AI Start.3.

care poate fi de asemenea mono-canal sau multi-canal. Ca şi în cazul intrărilor analogice. placa de achiziţie. Dacă pentru o anumită aplicaţie este necesară furnizarea unui semnal constant (c. generarea multi-punct bufferată poate fi cu buffer simplu (simple-buffer) sau cu buffer circular (circularbuffer).) sau foarte lent variabil în timp pe una sau mai multe ieşiri analogice ale plăcii. atunci este vorba de generare multi-punct (multiple-point sau waveform generation). Ieşiri analogice. plăcile de achiziţii pot genera semnale analogice pe canalele de ieşiri analogice. Spre deosebire de generarea mono-punct. ci şi viteza de actualizare a datelor furnizate pe acea ieşire analogică. Generarea multi-punct cu buffer circular – aşa-numita generare bufferată continuă – se utilizează atunci când datele care trebuie generate sunt de dimensiune foarte mare (nu pot fi stocate într-un singur buffer. mono-punct sau multi-punct. generarea datelor poate fi mono-canal sau multicanal. Generarea datelor pe ieşirile analogice Pe lângă achiziţia datelor. şi prin urmare bufferul este completat în mod continuu cu date noi) sau forma de undă se modifică în timpul generării. 4 Instrumente virtuale pentru generarea datelor. în cazul multi-punct este important nu numai nivelul semnalului generat pe ieşire. Placa de achiziţie se comportă ca un generator de semnal. Generarea multipunct a datelor se poate realiza fie prin utilizarea unor structuri repetitive în care sunt implementate aplicaţii de generare mono-punct. prin intermediul software-ului de achiziţie sau driverului specializat va trimite la ieşire datele din acest buffer. punct cu punct (eşantion după eşantion) cu o anumită viteză sau rată de generare (de actualizare). fie prin utilizarea bufferelor.c. 61 . Generarea fără buffer a datelor 1. Dacă trebuie generat un semnal variabil în timp. atunci se realizează o generare monopunct (single-point generation). Ca şi în cazul achiziţiilor de date tratate în Lucrările de laborator 1-3. Generarea multi-punct cu buffer simplu presupune stocarea datelor ce vor fi generate pe ieşire într-un buffer.LUCRAREA NR.

Fără trigger Generarea datelor Hardware: Cu trigger Software -Analogic -Numeric Mono-punct (single-point) (generarea unui singur eşantion) Multi-punct (multiple-point sau waveform generation) Mono-canal Multi-canal (single-channel) (multiple-channel) Generare ne-bufferată (non-buffered) şi fără 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 .În diagrama din Fig. 1 sunt prezentate schematic tipurile de generare a datelor (analogice).

Triggerarea se utilizează în cazul generării bufferate a datelor. Easy Analog Output VIs Intermediate Analog Output VIs Analog Output Utilities VIs Advanced Analog Output VIs Fig. Generarea datelor poate fi declanşată ca şi în cazul achiziţiilor de date printr-un eveniment (semnal) de tip trigger. Intermediate Analog Output VIs. care în cele mai multe situaţii este un semnal numeric.Generarea datelor se poate efectua sub control software (software-timed). În cazul triggerării hardware. situaţie în care tactul necesar controlului vitezei de generare este furnizat de către ceasul sistemului de calcul (în acest caz controlul poate fi afectat de posibile întreruperi) sau. 2): Easy Analog Output VIs. generarea datelor nu este declanşată prin software (de regulă apelul unui instrument de startare) ci este declanşată de un semnal extern. generarea se realizează sub controlul ceasului de pe hardware-ul de achiziţie sau sub controlul unui ceas extern (hardware-timed). Există două tipuri de triggerare: hardware (care poate fi analogică sau numerică) şi software. atunci când este necesară o mai mare precizie. 2. 2. Biblioteca Analog Output 63 . Cele patru grupuri de instrumente virtuale sunt (Fig. Biblioteca de instrumente virtuale pentru ieşiri analogice Instrumentele utilizate pentru ieşirile analogice sunt grupate în patru sub-biblioteci ale bibliotecii Analog Output din meniul Data Acquisition/Functions. Analog Output Utilities VIs şi Advanced Analog Output VIs.

Configurare placă (AO Config. fără a mai fi necesare alte VI-uri. 3. care la rândul lor au la bază instrumente avansate din biblioteca Advanced Analog Output VIs.Instrumentele din Easy Analog Output VIs sunt VI-uri executabile capabile să realizeze independent operaţiuni de bază pentru ieşiri analogice. pentru aplicaţii complexe fiind necesare instrumentele din celelalte grupuri.vi) Scriere date analogice (AO Write. Atunci când pentru realizarea unei aplicaţii pentru furnizarea de date pe ieşirile analogice se folosesc mai multe VI-uri (de exemplu. Instrumentele de nivel intermediar din Intermediate Analog Output VIs sunt construite pe baza instrumentelor avansate şi oferă facilităţi apropiate de acestea.vi) Aşteptare sfârşit generare date (AO Wait. Ca şi în cazul achiziţiei de date. care sunt grupate în Intermediate Analog Output VIs. Instrumentele avansate din Advanced Analog Output VIs constituie interfaţa dintre LabVIEW şi driverele NI-DAQ. Aceste instrumente sunt construite din instrumente de nivel intermediar. Secvenţierea VI-urilor pentru generarea de date analogice 64 . fiind la baza celorlalte instrumente de ieşiri analogice. 3.vi) Ştergere resurse (AO Clear. cele intermediare). trebuie realizată o secvenţiere a acestora (ca şi în cazul achiziţiei de date analogice) – Fig.vi) Lansare generare date (AO Start. Instrumentele utilitare din Analog Output Utilities VIs sunt tot de nivel intermediar şi oferă soluţii pentru situaţiile obişnuite în care se furnizează date pe ieşirile analogice.vi) Fig. sunt esenţiale conexiunile de tip task ID şi error. Un instrument de tip Easy Analog Output VIs furnizează o interfaţă utilizator convenabilă pentru ieşirile analogice uzuale.

vi aşteaptă până când generarea datelor se termină apoi apelează AO Clear. care şterge task-ul de ieşire analogică asociat numărului task ID in. În Fig. 4 – 8 sunt prezentate VI-urile de nivel intermediar.vi 65 . 6. Instrumentul AO Start. 1). Semnificaţia terminalelor poate fi analizată prin apelarea meniului Online help al fiecărui VI. Instrumentul AO Write. Instrumentul AO Config. Fig. care este frecvenţa de generare (de ieşire) sau rata de actualizare a datelor analogice.vi scrie datele în memoria tampon. AO Wait.În continuare vor fi descrise câteva VI-uri pentru furnizarea datelor la ieşirile analogice. 4. 5.vi. AO Start.vi realizează configurarea canalelor de ieşire şi a limitelor ieşirii şi alocă buffer-ul necesar operaţiei de ieşire analogică. AO Write. O parte din aceste terminale au aceeaşi semnificaţie ca şi în cazul instrumentelor virtuale de achiziţie analogică (a se vedea Tabelul 1 din Lucrarea de laborator nr. AO Config. Rolul frecvenţei de achiziţie (de eşantionare) scan rate de la intrările analogice este jucat aici de update rate. şi anume instrumentele de nivel intermediar din Intermediate Analog Output VIs şi instrumentele din Analog Output Utilities VIs.vi Fig.vi setează rata de generare a datelor şi lansează operaţia de generare a datelor analogice.vi Fig.

Instrumentul AO Waveform Gen.vi Fig. Acest VI foloseşte fie un singur buffer (suficient de mare pentru toate datele) – tehnica simple-buffered. cu rata de actualizare specificată. 10. folosind un buffer circular. Instrumentul AO Clear. Fig. Instrumentul AO Wait.Fig.vi scrie o singură valoare (tensiune) la fiecare din canalele analogice de ieşire specificate.vi 66 . fie un buffer circular – tehnica circular-buffered (dimensiunea datelor este mai mare decât dimensiunea buffer-ului şi prin urmare datele se scriu în mod ciclic). AO Waveform Gen.vi generează un semnal de ieşire (o formă de undă = un set de date) la canalul de ieşire specificat. la canalul de ieşire specificat. Instrumentul AO Write One Update. 9. Instrumentul AO Continuous Gen.vi generează continuu un set de date cu frecvenţa specificată. Instrumentul AO Write One Update.vi În Fig. 9. 8. 7. 10 şi 11 sunt prezentate instrumentele din Analog Output Utilities VIs.vi Fig.

se utilizează un voltmetru conectat la pinii 20. Din această cauză. Cea mai simplă aplicaţie de generare mono-punct mono-canal presupune utilizarea instrumentului virtual AO Update Channel.Fig. 67 . channel – numărul canalului şi voltage – valoarea tensiunii care trebuie generată pe canalul specificat. Acest VI are doar trei terminale de intrare: device – numărul plăcii.vi din sub-biblioteca Easy Analog Output VIs. Pentru modificarea tensiunii la o altă valoare. Aplicaţii de generare ne-bufferată a datelor 3. mai precis în funcţie de rapiditatea cu care LabVIEW apelează VI-ul respectiv (software timing). 1). VI-ul utilizat se apelează atunci când se doreşte schimbarea valorii furnizate pe canalul (canalele) de ieşire analogică. Pentru vizualizarea acestei tensiuni la ieşirea plăcii AT-MIO-16 (configurată conform celor precizate în Lucrarea de laborator nr. În Fig. Rezultă că modificarea valorii de pe ieşire se poate realiza cu viteza impusă de software.vi. 12 sunt prezentate fereastra panou şi fereastra diagramă ale unei aplicaţii realizată cu AO Update Channel. 23 ai conectorului I/O al plăcii. 11. Instrumentul AO Continuous Gen. care permite scrierea unei tensiuni de 3 volţi pe canalul 0. această tehnică se poate folosi atunci când nu este necesară generarea rapidă a datelor sau o rată precisă de actualizare.1.vi 3. Generarea de date mono-punct Cea mai simplă operaţiune de ieşire 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). se schimbă în mod corespunzător controlul voltage şi se rulează din nou VI-ul. Pentru implementarea rapidă a unor aplicaţii de generare mono-punct se pot utiliza instrumentele virtuale din sub-biblioteca Easy Analog Output VIs.

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 obţine VI-uri pentru generare de date multi-punct.vi Pentru o aplicaţie de generare mono-punct dar multi-canal se poate utiliza instrumentul virtual AO Update Channels. Generarea mono-punct mono-canal cu AO Update Channel. de exemplu. Un exemplu de astfel de aplicaţie este prezentat în Fig. 9) aflat în biblioteca Analog Output Utilities VIs. Trebuie precizat 68 . controlul vitezei de execuţie fiind realizat prin software (software timed).Fig. a cărui structură este asemănătoare cu cea a instrumentului AO Update Channel. Astfel de structuri sunt lente şi pot fi utilizate în aplicaţii de conducere. se achiziţionează un eşantion de la un traductor.2. din biblioteca Easy. se calculează comanda în funcţie de eroare şi se generează pe ieşire spre procesul condus valoarea acestei comenzi). AO Write One Update.vi. se calculează eroarea în funcţie de referinţă.vi (trebuie specificată o listă de canale iar parametrul voltages este un vector care conţine valorile ce se doresc generate pe canalele de ieşire). 3. 13 şi Fig. 14.vi într-o structură de tip While Loop.vi (Fig. Pentru aplicaţiile în care este necesar controlul asupra setării limitelor pe fiecare canal de ieşire. trebuie utilizate VI-uri de nivel intermediar cum ar fi. 12. atunci când este necesar calculul sau procesarea datelor de ieşire punct cu punct (de exemplu. în care este utilizat VI-ul de nivel intermediar AO Write One Update.

instrumentul de nivel intermediar AO Write One Update.că nu este indicată folosirea în bucle a instrumentelor Easy. până când starea erorii sau controlul boolean de oprire a buclei sunt adevărate. 23 ai conectorului I/O al plăcii AT-MIO-16. Generarea de date multi-punct cu AO Write One Update.vi se configurează doar pentru iteraţia 0 a buclei While). VI-ul din interiorul buclei While este executat în mod repetat. iar ritmul de generare este controlat prin intermediul ratei de actualizare. Fig. Deoarece AO Write One Update. 13). 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 rulării. În cazul aplicaţiilor de conducere. Datele care sunt generate pe canalul 0 sunt furnizate dintrun vector (array). datele generate provin de la ieşirea unui regulator implementat sub forma unui VI.vi acceptă pe intrarea voltage date sub formă de vector (este prevăzut pentru generarea de date multi-canal). Pentru vizualizarea datelor generate se poate folosi un voltmetru conectat pe pinii 20. care sunt ineficiente din cauza configurării lor la fiecare execuţie (spre deosebire de acestea. în cazul generării pe un singur canal trebuie utilizat un vector având doar primul element activat (aşa cum se observă din Fig. 13.vi 69 .

Construiţi şi rulaţi o aplicaţie de generare mono-punct multi-canal (2 canale) cu instrumentul AO Update Channels. Verificaţi datele generate cu ajutorul unui voltmetru. 4. 12. 4. Implementaţi şi rulaţi aplicaţia de generare mono-punct mono-canal din Fig.4.1. pentru diverse valori ale tensiunii.vi în buclă While Pentru realizarea unei generări de date multi-punct performante în ceea ce priveşte viteza şi precizia ratei de actualizare. Ce înţelegeţi prin conexiuni task ID şi error? Parcurgeţi cu atenţie VIurile din bibliotecă şi analizaţi semnificaţia acestora şi a terminalelor. 14. Identificaţi instrumentele virtuale pentru generare de date din biblioteca Analog Output din meniul Data Acquisition/ Functions. Verificaţi datele generate cu ajutorul a două voltmetre conectate corespunzător (la pinii 20. 23. 23 ai conectorului I/O al plăcii AT-MIO-16). 14 – generare multi-punct cu buclă While. Diagrama aplicaţiei de generare cu AO Write One Update. 4. 13. trebuie folosite aplicaţii bufferate hardware-timed (sub controlul ceasului de pe placa de achiziţie sau sub controlul unui ceas extern). 4. Temă de laborator 4.3. respectiv 21. Implementaţi şi rulaţi programul din Fig. 70 . Vizualizaţi şi verificaţi cu ajutorul voltmetrului aceste valori.vi.Fig.2.

şi prin urmare bufferul este completat în mod continuu cu date noi) sau forma de undă trebuie modificată în timpul generării. Generarea multi-punct bufferată poate fi cu buffer simplu (simplebuffer) sau cu buffer circular (circular-buffer). ca de exemplu 71 . Dacă aplicaţia nu este pretenţioasă. Pentru implementarea unor aplicaţii de generare de forme de undă cu buffer simplu se pot folosi diverse VI-uri din bibliotecile Easy Analog Output VIs. în ritmul dat de rata de actualizare (frecvenţa de generare) specificată. Generarea bufferată a datelor Aşa cum s-a precizat în lucrarea de laborator precedentă (Lucrarea nr. va furniza datele din buffer la ieşire. punct cu punct (eşantion după eşantion) cu o anumită viteză sau rată de generare (de actualizare). Analog Output Utilities VIs sau Advanced Analog Output VIs. prin intermediul LabVIEW. punct cu punct. iar placa de achiziţie.LUCRAREA NR. Generarea de date multi-punct (de forme de undă) bufferată face ca placa de achiziţie să joace rolul unui generator de semnal. 4). prin intermediul software-ului de achiziţie sau driverului specializat. se poate realiza fie prin utilizarea unor structuri repetitive în care sunt implementate aplicaţii de generare mono-punct. Generarea multi-punct cu buffer circular – aşa-numita generare bufferată continuă – se utilizează atunci când datele care trebuie generate sunt de dimensiune foarte mare (nu pot fi stocate într-un singur buffer. Intermediate Analog Output VIs. Generarea de date multi-punct cu buffer simplu Generarea multi-punct cu buffer simplu presupune stocarea datelor ce vor fi generate pe ieşire într-un buffer de lungime specificată. va furniza pe canalul de ieşire specificat (sau pe canalele specificate) datele din buffer. Placa de achiziţie. 5 Ieşiri analogice. fie prin utilizarea bufferelor. 1. generarea multi-punct a datelor. aceasta se construieşte cel mai rapid cu instrumente din biblioteca Easy. Generarea multi-punct cu buffer simplu presupune stocarea datelor ce vor fi generate pe ieşire într-un buffer.

1. Generarea multi-punct multi-canal cu buffer simplu – AO Generate Waveforms. până când următoarea valoare este furnizată pe acea ieşire. de exemplu. a cărui dimensiune depinde de numărul de canale şi de lungimea datelor. Datele sunt stocate într-un tablou (matrice). 23. respectiv 21. 1.vi. 2. Semnalul poate fi însă furnizat de la diverse generatoare de semnal (virtuale) sau de alte aplicaţii (poate fi. Nivelul unui semnal furnizat pe unul din canalele de ieşire analogică rămâne nemodificat (egal cu ultima valoare generată). care permite scrierea datelor furnizate pe canalele de ieşire specificate. liniile matricei furnizează valorile care sunt actualizate la un anumit moment pe ambele canale). Evoluţia celor două semnale generate se poate observa cu două voltmetre conectate pe pinii 20. Utilizând acest VI a fost dezvoltată aplicaţia prezentată în Fig. Se observă că aplicaţia se referă la o generare multi-punct multi-canal. două semnale foarte simple (pe prima coloană a matricei waveforms semnalul generat pe ieşirea 0 şi pe cea de-a doua semnalul generat pe ieşirea 1. ilustrând modul de lucru pentru o astfel de generare de date. în ritmul dat de frecvenţa de generare (update rate). Exemplul anterior este unul foarte simplu. cu o rată de actualizare de 1 Hz. Fig.instrumentul AO Generate Waveforms. prelucrat şi apoi generat pe ieşire). 23 ai conectorului I/O al plăcii AT-MIO-16. un semnal achiziţionat în prealabil. Pe canalele de ieşire analogică 0 şi 1 se generează.vi 72 .

Fig. 2. Fereastra diagramă a aplicaţiei cu AO Generate Waveforms.vi Atunci când 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 corespunzătoare a parametrului generation count există opţiunea de a genera datele din buffer de mai multe ori. Pentru optimizarea generării de date acest VI se poate plasa într-o buclă While şi se leagă terminalul de iteraţie al buclei la terminalul de iteraţie al VI-ului, astfel încât configurarea generării de date să se realizeze o singură dată. Pentru dezvoltarea unor aplicaţii complexe este indicată utilizarea instrumentelor de nivel intermediar sau a celor avansate. Conectarea VI-urilor intermediare trebuie să se realizeze prin legăturile task ID şi error, respectând secvenţierea din Fig. 3 – lucrarea de laborator precedentă. O aplicaţie principială pentru generarea bufferată a unui set de date (multi-punct), cu buffer simplu, pe o ieşire analogică este prezentată în Fig. 3. Au fost utilizate instrumentele de nivel intermediar din biblioteca Intermediate Analog Output VIs. În fereastra diagramă a aplicaţiei se pot observa conexiunile taskID in / taskID out şi error in / error out ca şi în cazul achiziţiei analogice. Instrumentul General Error Handler.vi furnizează o descriere a erorilor apărute î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ă aplicaţie a fost schiţat 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 declanşează generarea datelor în ritmul dat de frecvenţa de actualizare (update rate), AO Wait.vi verifică dacă generarea este finalizată după care permite instrumentului AO Clear.vi să şteargă setările canalelor de ieşire. În Fig. 4 este prezentată fereastra panou a unei aplicaţii de generare simplu-bufferată cu VI-uri intermediare, dezvoltată pe baza diagramei din Fig. 3. Datele generate pe două canale analogice de ieşire 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 aplicaţie sunt vizualizate cu ajutorul unui Graph. La terminarea generării 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 plăcii AT-MIO16 se pot vizualiza şi verifica datele furnizate pe cele două canale de ieşiri analogice.
74

Fig. 4. Aplicaţie de generare simplu-bufferată cu VI-uri intermediare Prin modificarea mărimii bufferului şi a vitezei de actualizare (1 Hz în Fig. 4) pot fi generate date de dimensiuni şi cu rate de actualizare diferite. În aplicaţiile de generare de forme de undă trebuie calculată cu atenţie frecvenţa semnalului generat pe canalele de ieşiri analogice, pentru ca această frecvenţă să corespundă într-adevăr cu frecvenţa dorită pentru semnalul generat. Calculul frecvenţei semnalului depinde esenţial de rata de generare, de numărul de eşantioane din buffer şi de numărul de perioade (număr de cicluri) ale semnalului stocat în buffer. De exemplu, dacă în buffer sunt stocate 1000 de puncte (eşantioane) care reprezintă valorile unui sinus pe o perioadă ( 2π ), iar rata de generare a acestor puncte este de 10000 de eşantioane pe secundă (10 kHz), atunci semnalul generat va avea frecvenţa de 10 Hz. Formula generală de calcul este:

f semnal = (n perioade × f generare ) / nesantioane , unde f semnal este frecvenţa semnalului, n perioade - numărul de cicluri (de
75

perioade) ale semnalului stocate în buffer, f generare - frecvenţa de generare (update rate), nesantioane - numărul de puncte stocate în buffer. Dacă dorim să modificăm frecvenţa semnalului generat, trebuie fie să mărim update rate fie să mărim numărul de perioade ale semnalului din buffer. În exemplul de mai sus, dacă dorim să obţinem o frecvenţă de 20 Hz, fie mărim frecvenţa de generare la 20 kHz, fie mărim numărul de cicluri ale semnalului la 2 (păstrând numărul de puncte – 1000, ceea ce duce la scăderea acurateţei 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 frecvenţei semnalului generat

Din formula de mai sus rezultă şi limitările în ceea ce priveşte generarea de semnale, în funcţie de hardware-ul de achiziţie utilizat. La placa AT-MIO-16 de exemplu, frecvenţa de generare maximă este de 250000 de eşantioane/sec. (diferită de frecvenţa de eşantionare maximă de 100000 de eşantioane/sec.). Dacă presupunem un buffer care stochează 1000 de puncte ale unui ciclu sinusoidal, rezultă că frecvenţa maximă a semnalului generat pe o ieşire analogică este de 100 Hz. Micşorarea numărului de puncte/perioadă la 10 (ceea ce este destul de puţin din punct de vedere al acurateţei) 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 aplicaţiei 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 ieşire
76

de un ciclu.01 Hz.sau mai puţin . indispensabil dacă frecvenţa semnalului este mare. de exemplu buffer mai mic. aceştia sunt prelucraţi prin intermediul unor funcţii Build Array si Transpose 2D Array pentru a furniza o matrice de date. trebuie modificate corespunzător constantele 2π din bucle). Generatoarele care sintetizează semnalele sunt realizate cu ajutorul unor bucle For. Pentru ambele canale trebuie utilizate două voltmetre.analogică 0 şi a unui semnal de tip cosinus pe canalul 1. se deduce că frecvenţa semnalului generat este de (1 ciclu x 10 eşantioane/sec)/1000 puncte = 0. 6. dacă numărul de puncte din buffer nu corespunde cu numărul de puncte/ perioadă. care se aplică la intrarea voltage data a instrumentului AO Write. prin folosirea unui voltmetru (cu 0 la mijloc) conectat pe pinii 20. Cele două generatoare implementate cu bucla For furnizează la ieşiri vectori de date. Generarea unor semnale sinusoidale prin bufferare simplă 77 . care nu constituie însă semnalul generat pe ieşirile analogice. Semnalul sinusoidal generat pe canalul 0 poate fi vizualizat. Fig. Din setările realizate în Fig. Cele două indicatoare grafice sunt utilizate pentru reprezentarea funcţiilor sinus şi cosinus obţinute cu buclele For. de exemplu. Este indicată totuşi folosirea unui osciloscop. În aplicaţia prezentată. atunci va fi generat un semnal sinusoidal trunchiat. 23 ai conectorului I/O al plăcii AT-MIO-16. fiind posibil controlul numărului de puncte pe perioadă (dacă se doreşte generarea a mai mult . pe baza formulei de calcul anterioare.vi. 6.

Diagrama aplicaţiei de generare a unor semnale sinusoidale Fig.Fig. Achiziţia cu Cont Acq&Chart. 7.vi a semnalului generat -canal 0 78 . 8.

la care ieşirea analogică 0 se conectează la canalul de intrare analogică 0 (prevăzut la intrare cu circuitul de condiţionare 5B-41). de exemplu Cont Acq&Chart (buffered). Aceste rezultate au fost obţinute pentru o rată de generare de 100 eşantioane/sec. – a se vedea Online help). tot prin utilizarea Cont Acq&Chart. 2). Fig. Utilizarea Sine Pattern.vi. faza etc. 9.vi. cum sunt. Semnalul generat pe ieşire este redat în Fig. cele din lucrarea Ghid de programare în LabVIEW. Pentru implementarea rapidă a unor generatoare de semnal se pot utiliza funcţiile speciale din biblioteca Functions / Analysis / Signal Generation.O posibilitate de vizualizare a semnalului generat pe ieşirea 0 este de a utiliza aceeaşi placă AT-MIO-16.vi (a se vedea Lucrarea de laborator nr. Aplicaţii pentru prelucrarea semnalelor (a se vedea referinţele bibliografice). (a nu se confunda cu scan rate) ceea ce înseamnă că semnalul vizualizat are o frecvenţă de 0.vi pentru generarea semnalului 79 . Frecvenţa semnalului este acum de 0. Rezultatele sunt afişate în Fig. iar acesta generează un sinus pe două perioade (pot fi setate amplitudinea.vi din aceeaşi bibliotecă sau utilizarea (după încapsulare) a unor generatoare construite de utilizator. şi rularea unui VI pentru achiziţia de date.1 Hz. 9 este prezentată diagrama pentru cazul în care generatorul sinusoidal este Sine Pattern. de exemplu. 10. 8. Pentru o mai mare flexibilitate este indicată folosirea generatorului Sine Wave. În Fig.2 Hz.

Dintre VI-urile disponibile. instrumentul AO Continuous Gen.Fig. de exemplu.vi (a se vedea Fig. pentru generarea de date prin tehnica circular-buffered se poate utiliza. Acest VI este eficient prin faptul că realizează configurarea şi alocarea bufferului atunci când terminalul iteration este 0 şi realizează dezafectarea bufferului atunci când terminalul boolean clear generation este „true”. 11 din lucrarea de laborator precedentă) din biblioteca Analog Output Utilities VIs. O aplicaţie principială care utilizează instrumentul AO Continuous Gen.vi este prezentată în Fig. 11. 10. Achiziţia şi vizualizarea semnalului generat 2. 80 . Generarea de date multi-punct cu buffer circular Generarea multi-punct cu buffer circular se utilizează atunci când datele care trebuie generate sunt de dimensiune foarte mare şi nu pot fi stocate într-un singur buffer sau atunci când aplicaţia respectivă necesită modificarea formei de undă în timpul generării.

Continuous Generation. 12.vi plasat în biblioteca examples\daq\anlogout\ anlogout. Fig. 11. Fereastra Panel a aplicaţiei Continuous Generation. Fig. Generarea continuă de date cu AI Continuous Gen.llb a LabVIEW (Fig.vi Fig. 12.Pe baza acestui nucleu a fost dezvoltat instrumentul Continuous Generation.vi realizează o generare hardware timed circular-bufferată.vi 81 . 13).

Spre deosebire de 82 . datele noi sunt (supra)scrise într-o jumătate a bufferului. La următoarele iteraţii. Prin urmare. Pentru aplicaţiile pretenţioase. Dacă se doreşte generarea unui alt semnal pe ieşirea analogică. Datele trebuie furnizate la intrarea instrumentului AO Continuous Gen. Poate fi de asemenea utilizat un VI de achiziţie ca în exemplele de generare simplu-bufferată anterioare.vi Datele ce trebuie generate completează în întregime bufferul (de lungime precizată) la prima iteraţie a buclei While.) trebuie utilizate instrumentele de nivel intermediar conectate întro structură asemănătoare cu cea din Fig. în timp ce cealaltă jumătate continuă să transmită date spre ieşirea (ieşirile) analogică (e). acest subVI poate fi modificat. 23 ai conectorului I/O al plăcii AT-MIO-16 (pentru un singur canal de ieşire analogică – 0). monitorizarea ratei de actualizare reale etc. Informaţii suplimentare despre această aplicaţie se pot obţine din meniul Windows/ Show VI Info.vi sub forma unui tablou.Fig. În acest exemplu. în care se urmăreşte realizarea unui control riguros asupra parametrilor generării de date (cum ar fi setarea ceasului intern/extern. datele generate provin de la un generator de semnal dreptunghiular My Data Generator subVI. acest VI scrie date noi în buffer pe măsură ce generarea datelor este în curs de desfăşurare. 3. Fereastra Diagram a aplicaţiei Continuous Generation. 13. Datele generate pot fi vizualizate cu Graph-ul din VI şi prin conectarea unui voltmetru sau osciloscop pe pinii 20.

În Fig.vi în buclă este necesară doar dacă se doreşte verificarea erorilor (cu conectarea corespunzătoare la condiţia de oprire a buclei) sau dacă se doreşte scrierea de noi date (adică modificarea datelor iniţiale care sunt generate repetat) în bufferul circular. Generarea continuă de date cu instrumente intermediare 83 .vi pentru plasarea datelor ce vor fi generate în mod repetat în buffer. 14.vi din bucla While. Instrumentul AO Wait. atunci nu mai este necesară conectarea unui alt set de date la instrumentul AO Write. şi rolul său rămâne doar de verificare a erorilor. 15 este prezentată fereastra panou pentru diagrama din Fig. Instrumentul AO Write.vi poate trece la ştergerea resurselor folosite. Dacă se urmăreşte doar generarea repetată a aceloraşi date din buffer. 14.conexiunea din Fig. aşa cum se observă din Fig.vi nu se mai utilizează. ori generarea continuă a datelor nu se termină niciodată – decât la oprirea rulării buclei sau la apariţia unei erori. 14.vi se setează la 0 – generare continuă.vi este folosit de două ori: prima dată după AO Config. pentru situaţia în care se doreşte 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 iniţial cele din voltage data). 3. După oprirea buclei While instrumentul AO Clear. iar a doua oară în bucla While. Plasarea instrumentului AO Write. Fig. terminalul number of buffer iteration (care are valoarea implicită 1) al instrumentului AO Start. deoarece rolul său este de a verifica dacă generarea de date a fost încheiată (la bufferarea simplă).

15. lucru util îndeosebi la generarea continuă a semnalelor (formelor de undă). 16 şi Fig. Pentru sinteza valorilor unui ciclu sinusoidal a fost utilizat Sine Pattern. deoarece acest lucru permite modificarea “on-the-fly”. 14. 23 respectiv 21. la intrarea instrumentului AO Write. 1 Tensiunile generate pot fi urmărite prin plasarea a două voltmetre la pinii 20. iar liniile reprezintă tensiunile ce sunt scanate la fiecare interval de scanare. Matricea de date iniţiale plasată. 84 . este realizat un generator continuu de semnal sinusoidal.vi din buclă. plasat în interiorul buclei While. are rolul iniţierii generării datelor. pe baza structurii cu instrumente intermediare prezentată în Fig. 17. Generarea continuă a unor tensiuni pe canalele 0.vi din afara buclei. este indicată plasarea instrumentului (controlului) care furnizează aceste date în buclă. În Fig. Dacă datele trebuie schimbate în timpul generării lor.vi. 23 ai conectorului I/O al plăcii AT-MIO-16. În situaţia în care se doreşte generarea repetată (continuă) numai a datelor din voltage data. Reamintim că datele de pe coloanele matricelor reprezintă tensiunile ce vor fi generate pe câte un canal. atunci matricea new data trebuie deconectată de la instrumentul AO Write.Fig.

17. 16.Fig. Exemplu de generare continuă a unui semnal sinusoidal 85 . Aplicaţie de generare continuă a unui semnal sinusoidal Fig.

frecvenţa semnalului generat va fi de 10 Hz (rezultă din update rate şi din numărul de puncte/perioadă). Achiziţia şi vizualizarea semnalului generat 86 . 17 (care au fost plasate şi în bucla While . Acest semnal poate fi vizualizat în timp real cu ajutorul osciloscopului (pinii 20.16). 2) dotat cu indicator grafic corespunzător.vi (Fig. amplitudinea şi offsetul acestuia pot fi modificate din controalele corespunzătoare plasate în fereastra panou din Fig. Acest semnal poate fi achiziţionat şi vizualizat. Fig. 23) sau prin intermediul unui VI de achiziţie (a se vedea Lucrarea de laborator nr. 18). 18. În timpul generării continue a semnalului. de exemplu. semnal ce va fi generat continuu pe ieşirea analogică 0 (nu reprezintă o afişare în timp real a acestui semnal). cu Cont Acq&Graph.Fig. În exemplul din Fig.Graph-ul din buclă serveşte la vizualizarea semnalului sinusoidal calculat pe o perioadă. 17.

3. 1. care trebuie configurată corespunzător (Anexa 1).Pentru implementarea unui generator de funcţii se poate folosi metoda generării de date cu buffer circular.llb conţine generatorul Function Generator. Care este diferenţa dintre scan rate şi update rate? 3. 3. Biblioteca Examples\ daq\ anlogout\ anlogout. 87 . La generarea continuă cu buffer circular poate apare o eroare de tipul underFlowError (cod –10843). 4). dar folosind un instrument AO Waveform Gen. Vizualizaţi semnalele generate cu ajutorul unui Graph sau Chart pentru ambele canale şi verificaţi valorile respective cu două voltmetre plasate pe cele două ieşiri ale plăcii AT-MIO-16. prin intermediul softului corespunzător şi a plăcii de achiziţie. Acest generator permite schimbarea parametrilor (amplitudine. generarea poate fi declanşată la apariţia unor semnale de trigger (hardware sau software). Observaţie: Ca şi în cazul achiziţiilor de date bufferate. ceea ce înseamnă că programul nu poate scrie suficient de rapid date în bufferul circular astfel încât datele să fie generate cu viteza cerută.vi. Vizualizaţi cu indicatoare grafice datele generate şi verificaţi cu voltmetrul aceste date. Trebuie reamintit faptul că rularea programelor de achiziţie şi/sau generare de date analogice se poate face doar în prezenţa unei plăci de achiziţie. 2. dreptunghiular etc.) furnizat pe ieşirea analogică în timpul generării de date („on-the-fly”). Temă de laborator 3. offset etc.1. cu repetarea de 3 ori a generării de date.) şi tipului semnalului (sinusoidal. Dezvoltaţi aplicaţia multi-punct simplu-bufferată din Fig. Implementaţi aceeaşi aplicaţie de la punctul 3. 3. cum ar fi de exemplu placa AT-MIO-16H. Pentru rezolvarea problemei trebuie micşorată frecvenţa de generare sau trebuie mărit bufferul. Dezvoltaţi o aplicaţie multi-punct simplu bufferată cu instrumente intermediare (Fig.1. Pentru aprofundarea problemelor legate de generarea datelor pe ieşirile analogice se pot analiza şi rula alte diferite exemple din directorul Examples\Daq.3.vi care este construit în jurul unei structuri cu VI-uri intermediare de tipul celei din Fig.2. 16.

parametri şi frecvenţe de generare.5. Modificaţi frecvenţa semnalelor generate prin modificarea numărului de perioade. 14 şi a ferestrei panou din Fig. 12. Rulaţi programul Continuous Generation. Modificaţi datele generate şi frecvenţa de generare şi citiţi tensiunile furnizate cu două voltmetre conectate la ieşirile analogice 0 şi 1 ale plăcii AT-MIO-16. 3. un osciloscop sau cu un instrument virtual de achiziţie (cu aceeaşi placă sau cu o placă AT-MIO-16 plasată în alt calculator). 15 o aplicaţie de generare continuă cu buffer circular.4. Rulaţi generatorul de funcţii Function Generator.vi. 3. 3. Vizualizaţi semnalele generate cu VI-uri de achiziţie. Dezvoltaţi pe baza diagramei din Fig.9. 3.vi pentru diverse tipuri de semnale.7.vi descris în Fig. 6 – Fig. care va fi afişat cu un osciloscop sau cu un VI de achiziţie. 3. Vizualizaţi semnalul generat pe ieşirea 0 cu un voltmetru. Încercaţi utilizarea pentru generarea semnalelor sinus şi cosinus a instrumentului Sine Wave. Generaţi în mod continuu un semnal triunghiular (pentru sinteza semnalului se poate folosi generatorul din biblioteca Analysis sau se construieşte un generator propriu). Realizaţi o generare cu buffer simplu a semnalelor sinusoidale cu aplicaţia din Fig. semnal care va fi vizualizat cu un osciloscop sau cu un VI de achiziţie. Vizualizaţi semnalul generat cu un voltmetru. un osciloscop sau cu ajutorul aceleiaşi plăci şi cu un instrument virtual de achiziţie. Generaţi în mod continuu un semnal sinusoidal pe ieşirea analogică 0 a plăcii. 11 pentru generare cu buffer circular. 10. a dimensiunii bufferului sau a frecvenţei de generare update rate.6. 88 . 13 şi dezvoltaţi un VI similar pe baza diagramei din Fig.8.3.

Stocarea (data logging) şi citirea datelor 1. vizualizarea. capacitate de stocare şi cost. 6 Operaţii cu fişiere. Toate aceste aplicaţii au însă caracteristici comune în ceea ce priveşte arhitectura sistemelor de tip data logger.LUCRAREA NR.1. analiza. Achiziţia datelor presupune măsurarea datelor prin intermediul senzorilor. Definiţii şi clasificări Stocarea şi înregistrarea datelor reprezintă aplicaţii de măsurare denumite în terminologia engleză data logging and recording sau pe scurt data logging. de la energetică la industria chimică şi alimentară. conversie numerică şi stocare a datelor. Modul de grupare a acestor funcţii de bază într-un sistem data logger este prezentat în Fig. Operaţiile de data logging acoperă un spectru larg de aplicaţii. precum şi realizarea unor operaţii de analiză şi vizualizare a datelor. un sistem de achiziţie care realizează aceste operaţii se numeşte data logger. Prin data logging se înţelege măsurarea şi înregistrarea unor mărimi fizice pe un anumit interval de timp. Sistemele data logger moderne pot fi clasificate în două mari categorii: dispozitive speciale de tip stand alone – care sunt instrumente independente de măsurare. realizarea conectivităţii cu sistemul de achiziţie 89 . Tehnici de stocare şi înregistrare a datelor – data logging & recording 1. Sistemele data logger au evoluat de la înregistrările şi graficele trasate manual la înregistratoarele automate cu hârtie şi până la sistemele moderne de achiziţie şi stocare a datelor bazate pe tehnica numerică de calcul. generarea de rapoarte şi distribuirea datelor. din ce în ce mai răspândite şi mai folosite datorită multiplelor avantaje legate de facilităţile de viteză. stocarea. însoţite de generarea de rapoarte şi distribuirea datelor (data sharing). În continuare ne vom referi la aceste din urmă sisteme bazate pe calculator. respectiv sisteme data logger bazate pe calculator (PCbased data logging systems). Funcţiile de bază care trebuie realizate de un sistem data logger sunt: achiziţia datelor. 1. de la construcţii la industria automobilelor etc.

Achiziţia datelor Analiza datelor (on-line) Vizualizare Generare rapoarte Distribuire date Stocarea datelor Prelucrări off-line Fig. vom reveni cu prezentarea tehnicilor de stocare a datelor. condiţionarea semnalelor (prin operaţiile de amplificare. Pentru afişarea datelor este necesară o interfaţă grafică cu facilităţi de scalare. 1. filtrare. prin facilităţi cum ar fi cele de networking. Analiza on-line presupune scalarea datelor (exprimarea în unităţi inginereşti). După descrierea pe scurt a celorlalte funcţii. Distribuirea datelor (data sharing) constă în punerea datelor la dispoziţia persoanelor şi instituţiilor cărora le sunt destinate. multiplexare. liniarizare etc. zoom. Analiza off-line a datelor presupune realizarea unor prelucrări matematice. Generarea de rapoarte a fost integrată în sistemele data logger pentru creşterea eficienţei şi constă în emiterea de rapoarte într-un format adecvat pentru prezentarea datelor stocate şi analizate. statistice. în special a formatelor (fişierelor) utilizate pentru stocare. Funcţiile de bază ale unui sistem data logger Analiza datelor achiziţionate cuprinde operaţii care se pot realiza on-line şi operaţii de prelucrare off-line. Vizualizarea datelor se poate realiza în timpul achiziţiei sau ulterior. Alegerea software-ului şi hardware-ului pentru un sistem data logger depinde de aplicaţia concretă care trebuie implementată. Datele achiziţionate sunt stocate (după o eventuală analiză online) prin diferite metode şi pe diverse medii de stocare. izolare galvanică. prelucrarea semnalelor. elaborarea de comenzi în cazul sistemelor de conducere etc.propriu-zis. analiză în domeniul frecvenţă etc. legendă etc. Operaţia de stocare este în mod evident o funcţie esenţială a sistemelor data logger. În 90 . operaţii de semnalizare/alarmare. Aceste operaţii de analiză on-line sunt realizate prin software.) şi conversia analog-numerică.

cum ar fi. respectiv medii de dezvoltare a aplicaţiilor data logging. îndeosebi la sistemele bazate pe calculator. floppy-discuri. Formatul datelor stocate depinde de tipul aplicaţiei.2. Fişierele text sunt utilizate în aplicaţiile data logging lente. formatul datelor stocate etc. Tipuri de fişiere utilizate pentru stocarea datelor Stocarea datelor. În acest caz datele brute achiziţionate pot fi scrise direct în fişier. iar sistemele bazate pe calculator folosesc harddiscul propriu. 1. în funcţie de tipul sistemului.. utilizarea eficientă a spaţiului disponibil pe disc. ca funcţie esenţială a sistemelor data logger. În ceea ce priveşte hardware-ul. sisteme desktop. Fişierele text sunt flexibile. canalele de achiziţie folosite. software-ul folosit pentru stocarea datelor are un rol esenţial. unităţile de măsură etc. hard-discul altor calculatoare la care sunt conectate printr-o reţea sau diverse tipuri de medii de stocare. de exemplu. sistemele stand-alone utilizează memorii interne. cu o cantitate de date relativ scăzută şi care necesită o mare portabilitate. pachetul LabVIEW. fişierele binare nu pot fi 91 . de exemplu.general. fără alte prelucrări. Astfel. iar coloanele următoare reprezintă. fişiere binare şi fişiere utilizate de bazele de date. Dezavantajul lor este legat de faptul că ocupă mult spaţiu pe disc şi necesită procesări suplimentare pentru scriere şi citire. • Fişierele binare permit utilizarea eficientă a memoriei. cartele PCMCIA (Personal Computer Memory Card International Association) etc. Deoarece în anumite aplicaţii datele ce vor fi stocate sunt achiziţionate cu o viteză foarte mare. se poate realiza prin diferite metode şi medii de stocare. datele achiziţionate pe fiecare canal. sisteme industriale montate pe rack şi sisteme distribuite. Prima coloană de date reprezintă de regulă marca de timp (aşa numitul timestamp) a fiecărui eşantion achiziţionat. Software-ul determină viteza de stocare pe disc. Pe de altă parte. • Fişierele text sunt cele mai utilizate şi conţin de regulă un antet (header) şi coloane de date. În plus. portabile şi pot fi utilizate de multe pachete software. Antetul furnizează informaţii cum ar fi echipamentul utilizat. înregistratoarele clasice utilizează hârtie. fiind răspândite în general trei tipuri de format (de fişiere): fişiere de tip text (ASCII). sistemele data logger bazate pe calculator pot fi clasificate în patru categorii: sisteme portabile (tip laptop). datele binare ocupă mai puţin spaţiu decât echivalentul lor în ASCII. software-ul poate fi de două categorii: soft la cheie (ready-torun sau turnkey).

precum şi căutarea eficientă a informaţiilor necesare. aşa cum sunt achiziţionate. fie pe cele scalate. datele scalate se formatează în text ASCII şi astfel creşte portabilitatea (în detrimentul memoriei ocupate). Dacă este necesară o viteză de scriere pe disc foarte mare. Bazele de date asigură manevrarea optimă a unor mari cantităţi de date. Modul de conversie a datelor achiziţionate şi posibilităţile de stocare în diverse tipuri de fişiere sunt prezentate schematic în Fig. • Anumite pachete software permit stocarea datelor achiziţionate în baze de date. atunci datele brute sunt scrise direct în fişiere binare. reprezentate cu precizie redusă. Dacă nu este necesară o viteză foarte mare. În acest caz fişierele sunt tot binare. care vor conţine datele exprimate în dublă precizie şi în unităţi inginereşti. fiecare eşantion achiziţionat este reprezentat ca un număr binar pe 16 biţi.vizualizate de soft-urile obişnuite de procesare a documentelor cum ar fi Microsoft Excel sau Word. De asemenea sunt asigurate facilităţi de arhivare. Mediile de stocare actuale permit înmagazinarea unei mari cantităţi de date în sistemele bazate pe calculator. Acest eşantion ocupă prin urmare 16 biţi de memorie (sau 2 octeţi = 2 byte). În situaţia unor aplicaţii lente şi cu cantitate mică de date. care ocupă de regulă 8 octeţi de memorie (la un eşantion). Se observă cum dimensiunea fişierelor obţinute este diferită în funcţie de opţiunea de stocare. dar datele sunt structurate într-o anumită formă acceptată de baza de date. fie utilizând datele brute. În anumite aplicaţii sunt necesare arhivări periodice ale informaţiei şi stocarea pe discuri de rezervă. Observaţie: Aplicaţiile de stocare cu viteză mare a datelor pe hard-disc se mai numesc aplicaţii de scriere secvenţială (în flux) pe disc – disk streaming. formă care permite scrierea şi citirea eficientă a datelor. Astfel. iar accesul este foarte rapid. 2. harddiscurile au în mod curent peste 40 GB. atunci datele sunt mai întâi scalate şi apoi scrise în fişiere binare. de acces pentru utilizatori multipli. importul şi exportul datelor de la şi către alte aplicaţii. Există posibilitatea de a stoca datele binare într-o bază de date. Datele brute pot fi convertite de către software în date reprezentate în dublă precizie şi în virgulă mobilă. şi sunt furnizate informaţii de scalare pentru reprezentarea ulterioară a datelor în dublă precizie şi cu scalarea corespunzătoare. pentru un hardware de achiziţie pe 16 biţi. Există echipamente care permit aplicaţii de 92 . Datele brute achiziţionate furnizate la ieşirea hardware-ului de achiziţie reprezintă valori binare – de exemplu.

352 m3/h Stocare pe hard-disc 1024 eşantioane Fig.streaming direct de la hardware-ul de achiziţie la mediul de stocare prin intermediul magistralei PCI. ceea ce conduce la viteze de stocare de până la 132 MB/sec pentru calculatoarele actuale. Hardware de achiziţie Date achiziţionate Date brute (binare) Stocare pe hard-disc 1 eşant. inginereşti etc.0352281014*e01 Formatare ASCII Structurare date şi stocare pe fişier binar al unei baze de date Fişier text (ASCII) 24KB Date .→16 biţi = 2 octeţi 1024 eşantioane Ex.: +20.) Structurare date şi stocare pe fişier binar al unei baze de date Fişier binar – 8KB Date scalate (binare) Stocare pe hard-disc 1 eşant.: 1011011010111011 Fişier binar – 2KB Scalare date (reprez. unit. 2.→12 caractere = = 24 octeţi Ex. Modalităţi de stocare a datelor în aplicaţiile data logging 93 .→64 biţi = 8 octeţi 1024 eşantioane Ex. dublă precizie.: +2.format text (ASCII) 1 eşant.

Într-un mod asemănător cu gruparea pe niveluri a VI-urilor de achiziţie şi generare de date. 3.2. mutarea. ştergerea şi redenumirea fişierelor şi directoarelor. Aceste VIuri asigură realizarea de operaţii cum ar fi crearea. scriere sau citire. Instrumentele de nivel înalt. 3). pe lângă achiziţia propriu-zisă a datelor. deschiderea şi închiderea fişierelor. scrierea şi citirea fişierelor de date. dar nu sunt flexibile şi nu sunt destinate aplicaţiilor de mare viteză. închidere de fişiere) şi sunt destinate aplicaţiilor uzuale cu fişiere. High-level file I/O VIs (instrumente de nivel înalt) Low-level file I/O VIs (instrumente de nivel scăzut) Advanced file I/O VIs (instrumente avansate) Fig. Gruparea instrumentelor în biblioteca File I/O 94 . sunt esenţiale operaţiile de scriere/citire (intrare/ieşire – I/O) a fişierelor. instrumente de nivel scăzut şi instrumente avansate. localizate pe prima linie a paletei File I/O. VI-urile avansate sunt cel mai aproape de nivelul cod-maşină. Într-o analogie cu clasificarea limbajelor de programare de la nivelul cod-maşină până la limbajele de nivel înalt. realizează operaţii complete (deschidere. iar instrumentele high-level de limbajele de programare de nivel înalt. grupate în meniul Functions. fiind uşor şi rapid de utilizat. biblioteca File I/O (Fig. LabVIEW dispune de o serie de instrumente virtuale destinate acestor operaţii. studiată pe larg în lucrările precedente. Instrumente virtuale pentru operaţii I/O cu fişiere În aplicaţiile de stocare de date. schimbarea caracteristicilor fişierelor etc. instrumentele din biblioteca File I/O sunt grupate pe trei niveluri şi anume: instrumente de nivel înalt.

Aceste VI-uri de nivel scăzut sunt recomandate pentru aplicaţii de mare viteză (disk streaming). VI-urile avansate sunt instrumente de acelaşi nivel cu cele low-level. Dacă instrumentul virtual lucrează cu un fişier care a fost deschis deja (de către alt VI). Pe majoritatea calculatoarelor este utilizat un sistem ierarhic de specificare a locaţiei unui fişier. manipularea căilor de căutare etc. Această etapă se realizează în mod diferit în funcţie de tipul fişierului în care stocăm datele. sunt destinate realizării unei anumite operaţii cu fişiere. atunci indicatorul refnum va fi dezactivat. Aceste VI-uri low-level. dar sunt mai puţin utilizate şi sunt plasate în sub-biblioteca Advanced. există posibilitatea (doar în cazul instrumentelor de nivel înalt) să fie deschisă o fereastră de dialog prin care trebuie specificate calea de căutare şi fişierul în care se vor scrie sau din care se vor citi date. mutarea. Dacă fişierul este închis. Deschiderea sau crearea unui fişier. Dacă nu este specificată o cale (prin conectarea la un terminal de intrare). trebuie specificată locaţia fişierului care va fi deschis sau creat. binare sau de tip datalog. plasate pe a doua linie a paletei File I/O. în a doua etapă se scriu sau se citesc datele din fişier iar în a treia etapă se închide fişierul respectiv. A doua etapă a unei operaţii uzuale de lucru cu fişiere este scrierea sau citirea de date în sau din fişierul respectiv. Alte operaţii auxiliare permit crearea directoarelor. care înregistrează datele secvenţial şi au ca unitate de bază octetul. prin urmare pentru specificarea locaţiei trebuie indicată lista de directoare (plecând de la directorul rădăcină) în care este plasat fişierul respectiv. Fişierele de tip text sau binare cu care lucrează LabVIEW fac parte din clasa fişierelor byte stream. Operaţiile uzuale cu fişiere includ trei etape: în prima etapă se deschide sau se creează un fişier. copierea sau ştergerea fişierelor. de exemplu deschiderea unui fişier. 1. printr-o cale (path). atunci acest fişier deja deschis este identificat printr-un număr de referinţă numit refnum. Pentru realizarea primei etape dintr-o operaţie uzuală cu fişiere.Instrumentele de nivel înalt apelează VI-urile de nivel scăzut pentru realizarea operaţiilor cu fişiere. Un fişier byte stream poate conţine date LabVIEW omogene 95 . Fişierele cu care lucrează LabVIEW pentru stocarea datelor pot fi de tip text. Scrierea sau citirea datelor. 2. schimbarea caracteristicilor fişierelor.

date care vor fi disponibile pentru alte aplicaţii (exterioare LabVIEW). Fişierele datalog se citesc prin specificarea unui index (offset) al înregistrării de la care se face citirea şi a numărului de înregistrări ce vor fi citite. numere. numere care reprezintă eşantioane achiziţionate. Fişierele de tip datalog conţin o secvenţă de înregistrări structurate identic. factori de scală etc. este fişierul text de tip foaie de lucru . fără a avea posibilitatea de suprascriere. Un fişier byte stream poate fi scris prin adăugarea de noi caractere. Prin urmare. dar toate înregistrările din fişierul datalog trebuie să aibă aceeaşi structură. un fişier byte stream poate fi citit prin specificarea unui index (offset) al octetului (caracterului) de la care se face citirea şi a numărului de octeţi care vor fi citiţi. fie că sunt de tip text sau binare pot fi create cu instrumente de nivel înalt sau scăzut din biblioteca File I/O. un fişier byte stream poate conţine toate tipurile de date cu care lucrează LabVIEW. Fişierele de tip byte stream. care vor fi citite secvenţial sau în mod aleator.sau colecţii de date LabVIEW de diverse tipuri (caractere. Fişierele datalog pot fi create doar cu instrumente de nivel scăzut. Un fişier text uzual cu care lucrează LabVIEW. tablouri. Un exemplu de fişier byte stream simplu este fişierul text ASCII. Datele dintr-un fişier pot fi suprascrise. numere. O înregistrare poate conţine orice tip de date LabVIEW. Fişierele byte stream binare se pot folosi pentru înregistrarea şi stocarea continuă a datelor achiziţionate. care conţine caractere. Fişierele byte stream se utilizează atunci când dorim stocarea datelor în format text sau spreadsheet. şi care face parte tot din clasa byte stream. date booleene. clustere). care conţine caractere grupate în linii de numere reprezentate în cod ASCII. Antetul poate fi un cluster care conţine parametri legaţi de achiziţie (canale de achiziţie.). tablouri. iar liniile separate între ele prin enter. Un fişier datalog poate fi scris prin adăugarea a câte unei înregistrări la un moment dat. numere separate în cadrul fiecărei linii prin tab-uri. Un fişier byte stream mai complicat este unul în care tabloul de numere binare este precedat de un antet constând în text ASCII care descrie modul şi momentul achiziţiei datelor. în 96 . În ceea ce priveşte operaţia de citire. Un alt exemplu de fişier byte stream este un tablou de numere binare pe 16 biţi (întregi sau simplă precizie în virgulă mobilă).spreadsheet.

Instrumentul de nivel înalt Write To Spreadsheet File. Plasarea într-o buclă a unui VI de nivel înalt ar conduce la operaţii multiple. VI-urile de nivel înalt permit scrierea/citirea următoarelor tipuri de date: şiruri de caractere în sau de la fişiere text. închidere fişier. Un VI de nivel înalt realizează singur toate cele trei etape de bază ale unei operaţii I/O tipice: deschidere fişier. În schimb. Primul VI de nivel înalt din paleta File I/O este Write To Spreadsheet File. Trebuie să se ţină seama de faptul că fişierele datalog sunt fişiere interne LabVIEW şi nu pot fi citite de alte aplicaţii (programe). de exemplu. 2. scriere sau citire. Închiderea unui fişier se realizează după scrierea sau citirea datelor. 3. În continuare vor fi prezentate câteva exemple de VI-uri de nivel înalt şi câteva aplicaţii simple realizate cu acestea. în bucle realizează scrierea datelor. programarea este foarte rapidă. Fig. linii de la fişiere text. de deschidere/închidere a fişierelor. aceste VI-uri nu sunt recomandate în operaţii disk streaming. tablouri monodimensionale (1D) sau bidimensionale (2D) de numere în simplă precizie în sau de la fişiere text spreadsheet. Informaţii complete despre VI-urile de nivel înalt se pot obţine prin apelarea la meniurile de help disponibile în LabVIEW. Din acest motiv. Fişierele datalog se utilizează pentru înregistrarea de rezultate multiple ale unor teste sau a unor semnale care se citesc apoi câte unul şi se tratează în mod individual.vi (Fig. inutile. Operaţii 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 fără efort de programare a unor aplicaţii de scriere/citire simple. tablouri 1D sau 2D de numere întregi sau simplă precizie în sau de la fişiere binare. cu ajutorul instrumentelor de nivel înalt sau scăzut.vi 97 .cantităţi arbitrare. 4.1. 4). Operaţiile disk streaming necesită o viteză mare care presupune deschiderea unui fişier şi păstrarea acestuia deschis în timp ce instrumente (low-level) plasate.

la terminalele 2D data sau 1D data se cuplează tabloul care va fi convertit şi scris în fişier. 5. format precizează tipul de format folosit pentru reprezentarea datelor – de exemplu. Diagrama aplicaţiei de scriere a unui fişier spreadsheet Fig. Există un terminal suplimentar – delimiter – care nu apare în Fig. Terminalele VI-ului sunt prezentate în Fig. formatul implicit %. Fişierul obţinut va fi unul de tip text spreadsheet. Fereastra panou a aplicaţiei (indicarea căii şi a fişierului) 98 . append to file se utilizează doar dacă se doreşte adăugarea datelor la un fişier existent. Fig. În Fig. 4 şi care este un şir de caractere ce permite setarea tipului de delimitator între date (implicit tab). iar după încheierea operaţiei de scriere îl închide. 5. 4: file path furnizează calea (dacă nu este precizat se deschide o fereastră de dialog).Acest VI converteşte un tablou 1D sau 2D de numere (simplă precizie – SGL) într-un şir de caractere pe care îl scrie într-un fişier byte stream nou sau pe care îl adaugă la un fişier existent. 6 este prezentată o aplicaţie simplă care converteşte un vector creat cu o buclă For într-un fişier spreadsheet.3f care determină crearea unui şir de caractere suficient de lung pentru a reprezenta întregul număr cu trei digiţi în dreapta punctului zecimal etc.vi deschide fişierul ţintă înainte de scriere. care poate fi citit de multe aplicaţii (de exemplu Excel). 6. Write To Spreadsheet File.

xls .xls Instrumentul „dual” pentru Write To Spreadsheet File.vi . Fig. bazată pe instrumentul Read From Spreadsheet File.Fig. ale cărui terminale sunt prezentate în Fig.txt poate fi citit/importat de diverse aplicaţii cum ar fi Notepad (Fig. Instrumentul de nivel înalt Read From Spreadsheet File. O aplicaţie duală cu cea anterioară.txt citit cu Notepad Fig. 10. 9. Aplicaţia creează un fişier multipli_pi. începând cu caracterul specificat prin indicatorul offset şi apoi converteşte şirul de caractere într-un tablou 2D de numere în simplă precizie. converteşte vectorul 1D care conţine multiplii lui pi (10 numere) în şir de caractere (delimitatorul este tabulator). 9. Fişierul multipli_pi.Controlul pentru setarea căii de căutare este de tip path (meniul Controls/ Path&Refnum). Foaie de lucru Excel cu datele din multipli_pi. Fişierul multipli_pi.vi 99 . 7. Fig. scrie şirul de caractere în fişier şi apoi îl închide.vi este Read From Spreadsheet File.vi şi care citeşte datele din fişierul multipli_pi. 7) sau Microsoft Excel (prin import al fişierului . 8). 8.txt la locaţia precizată prin cale.txt sau direct prin precizarea extensiei . Acest VI deschide un fişier text. citeşte numărul specificat de linii din fişierul respectiv.txt este prezentată în Fig. 11. iar în final închide fişierul.

vi (terminalele indicate în Fig. realizate cu instrumentele Write To SGL File. paleta File I/O cuprinde şi alte instrumente de nivel înalt cum ar fi Write Characters To File.txt Fig.Fig.vi şi Read From SGL File. Diagrama aplicaţiei de citire a fişierului multipli_pi. Pentru exemplificarea operaţiilor cu fişiere binare vor fi prezentate două aplicaţii simple. situată tot pe prima linie a paletei File I/O. scrie date de tip tablou 1D sau 2D de numere în simplă precizie (SGL) în fişierul respectiv. de scriere respectiv de citire a unui fişier binar. Instrumentele de nivel înalt care operează cu fişiere binare sunt grupate în subbiblioteca Binary File VIs. Instrumentul Write To SGL File. respectiv citirea de şiruri de caractere în fişiere text. care permit scrierea. 11. pe care îl închide la finalul operaţiei de scriere. Instrumentul Read From SGL 100 . Fereastra panou a aplicaţiei (citirea şi vizualizarea datelor) Pe lângă VI-urile de nivel înalt descrise. 12) deschide un fişier binar. 10.vi.vi şi Read Characters From File.vi din sub-biblioteca Binary File VIs.

Se utilizează instrumentul Write To SGL File. Scrierea unui fişier binar 101 .vi Fig. Dezavantajul: fişierul nu mai poate fi citit de aplicaţii uzuale cum ar fi Excel sau Notepad.vi În Fig. Pentru citirea datelor dintr-un fişier binar. 17. de citire a datelor şi de închidere a fişierului. 14. Se parcurg etapele de deschidere a fişierului date_binare_pi.File.vi în configuraţia din Fig. Instrumentul de nivel înalt Write To SGL File. citeşte datele din fişier începând cu poziţia octetului specificat prin indicatorul start of read offset şi în final închide fişierul respectiv. 12. Fig.vi. Fig. 13.vi (terminalele în Fig. 13) deschide fişierul binar specificat. Instrumentul de nivel înalt Read From SGL File. Spre deosebire de aplicaţia cu fişier text. 14 şi 15 este prezentată o aplicaţie de scriere a unui vector de date (1D tip SGL) furnizate de o buclă For (ca şi în aplicaţia de scriere în fişier text) într-un fişier binar numit date_binare_pi. rapiditate şi precizie. aici datele binare nu mai sunt convertite în caractere ci sunt scrise direct în fişierul binar. 16. Avantajele faţă de fişierul text sunt: economie de memorie. În mod identic pot fi scrise datele achiziţionate prin intermediul VI-urilor de achiziţie. se poate folosi Read From SGL File.

Citirea datelor dintr-un fişier binar Fig. Fereastra panou a aplicaţiei de citire a fişierului binar 2. 3). deschiderea unui fişier şi 102 . 16. cum ar fi.2. 17.Fig. iar instrumentele avansate (care din punct de vedere al nivelului sunt tot low-level. 15. de exemplu. Specificarea căii şi fişierului pentru scrierea de date binare Fig. dar sunt utilizate pentru anumite operaţii speciale) sunt plasate în subbiblioteca Advanced File Functions din a treia linie a paletei. Aceste VI-uri de nivel scăzut se folosesc pentru realizarea operaţiilor individuale cu fişiere. Operaţii de scriere/citire cu instrumente low-level Instrumentele de scriere/citire de nivel scăzut sunt plasate pe linia a doua din paleta File I/O (Fig.

atunci va fi creat în locaţia specificată prin cale). şi există VI-uri care asigură operaţii auxiliare cum ar fi crearea directoarelor. Instrumentul Array To Spreadsheet String. care asigură realizarea etapelor de bază ale operaţiilor cu fişiere: deschidere. prin utilizarea instrumentelor low-level se asigură flexibilitatea şi viteza aplicaţiilor. 18. ştergerea sau copierea fişierelor.8 (dacă fişierul cu acest nume există atunci conţinutul acestuia va fi înlocuit cu datele noi. Pentru exemplificarea utilizării VI-urilor de nivel scăzut. aplicaţia de scriere a datelor numerice 1D SGL într-un fişier spreadsheet realizată cu instrumentul de nivel înalt Write To Spreadsheet File. citire. Fereastra panou a aplicaţiei este similară cu cea din Fig. exact ca în Fig. scriere. este esenţial pentru dezvoltarea de aplicaţii de stocare de mare viteză necesare în data logging. iar fişierul poate fi numit multipli_pi.vi în Fig. 103 . Toate aceste instrumente pot fi analizate prin parcurgerea paletei File I/O şi prin apelarea la meniurile de help.xls şi va putea fi folosit direct în Excel. iar după terminarea scrierii un alt instrument (din afara buclei) închide fişierul. În schimb. închidere. scriere/citire şi închidere. dacă nu. 6. manipularea căilor de căutare etc. mutarea. Write File. iar modul de conectare este foarte simplu (detalii despere terminale se pot obţine apelând meniul Online help al fiecărui VI). schimbarea caracteristicilor fişierelor. Printre instrumentele low-level există VI-uri principale.deschidere.prin urmare nu asigură (ca VI-urile de nivel înalt) realizarea cu un singur VI a tuturor etapelor necesare pentru scrierea sau citirea datelor . Close File. 6) este dezvoltată cu instrumentele lowlevel: Open/Create/Replace File. Funcţiile realizate de aceste instrumente sunt clar indicate de numele lor. Se observă că sunt necesare mai multe VI-uri faţă de aplicaţia cu instrumente de nivel înalt – deşi acest lucru pare inutil. similare cu conexiunile de eroare şi task ID de la achiziţia datelor cu instrumente intermediare de achiziţie.vi. 5.vi. În special aplicaţiile de tip disk streaming necesită deschiderea fişierului şi păstrarea acestuia deschis în timp ce alte instrumente realizează operaţii multiple de scriere a datelor (de exemplu prin plasarea instrumentelor într-o buclă While).vi din meniul Functions/ String a fost folosit pentru convertirea vectorului de numere 1D în şir de caractere. Instrumentele low-level sunt conectate prin conexiuni de eroare şi refnum (identifică un fişier după deschidere şi până la închidere).vi (Fig.

care permite realizarea de înregistrări ale panoului frontal al unui VI. iar 104 . dezvoltată în lucrarea nr. 15 a lucrării 2). Scrierea unui fişier text cu instrumente low-level Observaţie: Fişierele de tip datalog. paragraful 3. Pentru analiza şi rularea unor aplicaţii care folosesc fişiere datalog se pot parcurge VI-urile din biblioteca Examples\File\datalog. descrise detaliat în lucrările 1 şi 2. 18. O altă posibilitate de lucru cu înregistrări tip datalog este de a utiliza facilitatea Data Logging din meniul Operate al LabVIEW. precum şi a unor instrumente de operaţii cu fişiere de tip low-level. 3. Generatorul este cuplat la intrarea analogică 0 a plăcii AT-MIO-16 prin intermediul modulului de condiţionare 5B41 (a se vedea lucrarea 2). Exemplu de achiziţie şi stocare de tip disk streaming Aplicaţiile de tip disk streaming constau în stocarea cu viteză mare a datelor achiziţionate (de către hardware-ul de achiziţie) pe un mediu de stocare corespunzător (hard-disc).Fig. care conţin o secvenţă de înregistrări structurate identic. pot fi create numai cu instrumente de nivel scăzut (sau avansate).3 (diagrama din Fig. 2. În continuare va fi preluată şi reluată aplicaţia de achiziţie continuă (cu buffer circular) a unui semnal sinusoidal furnizat de un generator de semnal. Semnalul sinusoidal provenit de la generator este setat la o frecvenţă de 50 Hz. Dezvoltarea unei astfel de aplicaţii în LabVIEW necesită utilizarea unor instrumente de achiziţie.llb.

vor fi utilizate. acest VI furnizează data şi momentul de timp (oră.txt până la oprirea aplicaţiei. 105 . Astfel de informaţii pot fi obţinute de exemplu prin folosirea VI-ului Get Date/ Time String. instrumentele de deschidere şi închidere a fişierului. 19. într-o secvenţă impusă de ordinea de execuţie a instrumentelor respective.vi. 20. a preciziei şi a economiei de memorie ar trebui utilizat un fişier binar.vi formează lanţul de achiziţie. Close File. trebuie specificate aceste informaţii într-un antet (header) al fişierului. secundă) la care au fost achiziţionate datele. într-un format precizat. Dacă se doreşte înregistrarea unor informaţii privind marca de timp (timestamp) a datelor sau factori de scală etc.. minut.frecvenţa de eşantionare (scan rate) este de 500 de eşantioane/sec. Pentru a stoca date însoţite de timestamp sunt utile fişierele de tip datalog. în afara buclei. AI Start. respectiv pe cele de operare cu fişiere Instrumentele AI Config. Aşa cum se observă în Fig. 19. Pentru stocarea rapidă a datelor achiziţionate într-un fişier. iar formatul datelor (numărul de digiţi la dreapta virgulei etc. Conexiunile task ID şi refnum conectează în mod corespunzător instrumentele de achiziţie. AI Read. informaţiile de timestamp fiind astfel disponibile.vi. Aceste informaţii trebuie scrise în fişier împreună cu datele achiziţionate propriu-zise (sau într-un fişier separat) utilizând VI-urile pentru operaţii I/O prezentate (pentru a nu încărca diagrama.vi.vi. Datele achiziţionate sunt stocate continuu în fişierul semnal_sinus. fiind recomandată în plus folosirea instrumentelor de analiză şi afişare ulterior. După cum se observă din Fig. Pentru comoditatea vizualizării şi prelucrării datelor cu alte aplicaţii în acest exemplu va fi utilizat un fişier text. Pentru realizarea aplicaţiei au fost utilizate instrumente intermediare de achiziţie.vi formează lanţul de operaţii cu fişiere. Write File. după realizarea achiziţiei şi stocării datelor). informaţiile timestamp sunt doar vizualizate în aplicaţie).) sau delimitatorii folosiţi pot fi schimbaţi prin modificarea corespunzătoare a terminalelor instrumentului Array To Spreadsheet String. iar datele achiziţionate în mod continuu sunt puse imediat la dispoziţia utilizatorului. iar în interiorul buclei instrumentul de scriere. Bufferul este de 500 de eşantioane.vi.vi. (Pentru creşterea rapidităţii de stocare. AI Clear. iar Open/Create/Replace File.vi din biblioteca Functions/Time & Dialog. conexiunile de eroare trec prin toate instrumentele de achiziţie şi de prelucrare a fişierelor.

20.Fig. Achiziţia şi stocarea datelor în regim de disk streaming Fig. 19. Fereastra panou a aplicaţiei de disk streaming 106 .

vi. prin folosirea unei aplicaţii simple cu VI-ul de nivel înalt Read From Spreadsheet.vi se leagă direct la intrarea data a VI-ului Write File. Astfel. fişierul semnal_sinus. Fig. iar datele convertite într-un tablou 2D numeric în simplă precizie pot fi vizualizate cu un Waveform graph (Fig.txt cu un fişier binar. De exemplu.llb). Citirea şi vizualizarea datelor achiziţionate şi stocate După cum s-a precizat. similară cu cea din Fig. În acest sens. Pentru aprofundarea tehnicilor de operaţii cu fişiere se pot parcurge exemplele de scriere şi citire fişiere din biblioteca Examples\File a LabVIEW.vi din Examples\File\smplfile. 21. datele achiziţionate sunt scrise în fişierul binar precizat. pentru creşterea rapidităţii de stocare. analiză. 10. În majoritatea aplicaţiilor trebuie să se acorde o atenţie deosebită conversiei în unităţi inginereşti (de exemplu exprimarea informaţiilor despre temperatură într-un proces de monitorizare – a se vedea Write Temperature To File. 107 . 19 poate fi transformată uşor prin înlocuirea în calea de căutare a fişierului semnal_sinus.vi. iar în bucla While ieşirea voltage data a instrumentului AI Read. numit de exemplu semnal_sinus_bin. a preciziei şi a economiei de memorie trebuie utilizate fişiere binare. 21) sau pot fi analizate spectral etc.Datele stocate pot fi utilizate ulterior pentru vizualizare. distribuire etc. aplicaţia din Fig.txt poate fi citit.

4. Vizualizaţi datele stocate (aplicaţia din Fig. 17 şi să se verifice corectitudinea datelor. 15. Temă de laborator 4.2. 4. Comparaţi dimensiunea fişierelor create la punctele 4. Să se ruleze aplicaţia de citire a fişierului text din Fig. 21). 5.1.5. Să se implementeze şi să se ruleze aplicaţia de scriere a unui fişier spreadsheet din Fig.7. Să se dezvolte aplicaţia de scriere cu instrumente lowlevel din Fig. 16. 18.6.3. de frecvenţe şi amplitudini diverse.4. 4. Să se parcurgă biblioteca File I/O a LabVIEW.8.4. Să se deschidă Notepad şi Microsoft Excel pentru vizualizarea datelor stocate. 6.5. 14. 19. Refaceţi exemplul de la punctul 4.6. Să se implementeze şi să se ruleze aplicaţia de scriere a unui fişier binar din Fig. Să se implementeze o altă aplicaţie de stocare. 4. Implementaţi exemplul de achiziţie şi stocare a datelor de tip disk streaming din paragraful 3 (Fig. 4. respectiv de citire a fişierelor text cu instrumente de nivel înalt. 11 şi să se verifice corectitudinea datelor. dar cu stocarea datelor într-un fişier binar. respectiv de citire a fişierelor binare cu instrumente de nivel înalt. 108 . Implementaţi o aplicaţie similară cu cea de la punctul 4. Ce tipuri de VI-uri sunt folosite pentru operaţii I/O cu fişiere? Care sunt operaţiile de bază realizate cu fişiere şi care sunt tipurile de fişiere utilizate de LabVIEW pentru stocarea datelor? 4. Ce tipuri de fişiere pot fi utilizate pentru stocarea datelor şi ce avantaje/dezavantaje au acestea? 4. 20). dar cu frecvenţa de eşantionare de 50 eşantioane/sec. Utilizaţi generatorul de semnal şi placa AT-MIO-16 din laborator. Să se vizualizeze fişierul creat cu ajutorul Excel. Ce înţelegeţi prin operaţii data logging? Să se precizeze funcţiile de bază ale unui sistem data logger. Să se ruleze aplicaţia de citire a fişierului binar din Fig. conform celor precizate. 4. Să se implementeze o altă aplicaţie de stocare. Ce observaţii puteţi face? Rulaţi aplicaţia şi pentru alte tipuri de semnale obţinute prin intermediul generatorului de semnal. pentru acelaşi semnal sinusoidal.6.8 (pentru acelaşi semnal şi acelaşi interval de timp de achiziţie – de exemplu 1 minut). 10. Să se utilizeze diverşi delimitatori şi formate pentru datele stocate.

tensiune care este aplicată la intrarea unui amplificator de precizie. precum şi vizualizarea temperaturii lichidului din recipient. Tensiunea de la ieşirea amplificatorului de precizie este aplicată la intrarea modulului de condiţionare a semnalului 5B31 (National Instruments). Schema instalaţiei este prezentată în Fig. Semnalul de tensiune de la ieşirea amplificatorului de precizie este în gama 0 – 10 V c. Temperatura lichidului este măsurată folosind un termocuplu fier-constantan de tip J.c. Domeniul de variaţie a temperaturii măsurate este între 20 oC şi 70 oC. Semnalul este achiziţionat şi prelucrat prin intermediul unei aplicaţii LabVIEW de achiziţie continuă a datelor analogice (a se vedea Lucrarea nr. cu domeniul de măsurare între 0 – 761 oC. Pentru prelucrarea ulterioară a datelor se poate realiza stocarea datelor în regim data logger (Lucrarea nr. ceea ce corespunde domeniului 2 – 5 V pentru tensiunea de ieşire din amplificatorul de precizie. realizată cu instrumente intermediare de achiziţie şi cu buffer circular. 2). Semnalul condiţionat este aplicat la canalul de intrare analogică 1 al plăcii de achiziţie AT-MIO-16 (descrierea plăcii şi a modului de funcţionare a acesteia este prezentată în Anexa 1). Modulul 5B31 asigură izolarea galvanică faţă de placa de achiziţie. 7 Aplicaţie de măsurare şi achiziţie a temperaturii 1. scalarea acestora. Descrierea aplicaţiei În prezenta lucrare este dezvoltată o aplicaţie de măsurare şi achiziţie a valorilor temperaturii unui lichid dintr-un recipient. precum şi filtrarea semnalului util (are banda de frecvenţă de 4 Hz). 1. ce asigură pe de o parte amplificarea tensiunii de la intrare şi pe de altă parte compensarea influenţei temperaturii mediului ambiant. 109 . Temperatura lichidului din recipient poate fi modificată prin intermediul unei rezistenţe de încălzire.LUCRAREA NR. 6). Aplicaţia asigură achiziţia datelor. Termocuplul furnizează o tensiune (de ordinul milivolţilor) proporţională cu temperatura lichidului.

220 V

~

u [mV] AP + CJC
Semnal condiţionat

U [V] Modul 5B31 US [V]

R
o θ C

TC

Driver NI-DAQ

Placă achiziţie AT-MIO-16H-9

R – rezistenţă de încălzire AP – amplificator de precizie CJC – compensarea joncţiunii reci TC – termocuplu de tip J

Software de aplicaţie LabVIEW

Calculator

Utilizator Fig. 1. Schema instalaţiei de măsurare şi achiziţie a temperaturii 2. Măsurarea temperaturii cu termocupluri Un traductor de temperatură cu termocuplu este alcătuit 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 joncţiunii de referinţă de la locul măsurării într-o zonă unde este posibilă menţinerea constantă a temperaturii. Adaptorul permite obţinerea semnalului unificat de ieşire. 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ă joncţiunea caldă sau de măsurare, care este imersată în mediul cu temperatura θ de măsurat. Capetele libere ale termoelectrozilor formează joncţiunea rece sau de referinţă, aflată la o
110

temperatură θ0. Tensiunea termo-electromotoare care apare la capetele libere ale electrozilor ca urmare a diferenţei de temperatură dintre cele două joncţiuni se mai numeşte şi tensiune Seebeck (după numele celui care a descoperit acest efect în 1821 – Thomas Seebeck). Tensiunea termo-electromotoare depinde neliniar de temperatură, însă pentru variaţii mici ale temperaturii relaţia 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 numeşte şi sensibilitate a termocuplului. Cabluri de prelungire

JR Adaptor

JR (+) JC (-) θ

U [V]

Termocuplu JC - Joncţiunea caldă JR - Joncţiunea rece

Fig. 2. Schema constructivă a unui traductor cu termocuplu

Termoelectrozii unui termocuplu sunt realizaţi din materiale omogene, pure, care dezvoltă o anumită tensiune termoelectromotoare în funcţie 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 construiţi 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 măsurarea temperaturii necesită realizarea unor operaţii de condiţionare a semnalului, operaţii descrise pe scurt în continuare.
111

Filtrarea şi amplificarea semnalului. La ieşirea termocuplurilor semnalul de tensiune este de nivel foarte mic (milivolţi) şi din acest motiv este uşor afectat de zgomote (îndeosebi zgomotele de reţea de 50 – 60 Hz – mai mult, termocuplul acţionează ca o antenă care culege aceste zgomote). Prin urmare, modulele de condiţionare şi hardware-ul de achiziţie care preiau acest semnal trebuie să fie ecranate, iar amplificarea semnalului trebuie să se realizeze cât mai aproape de termocuplu. Pentru siguranţă, se realizează filtrarea semnalului. Pentru măsurarea temperaturii cu termocupluri este indicată utilizarea conexiunii diferenţiale pentru cuplarea la hardware-ul de achiziţie, deoarece astfel se asigură o bună rejecţie a zgomotelor. Compensarea joncţiunii reci (cold junction compensation CJC). Termenul de joncţiune rece pentru joncţiunea de referinţă provine de la practica tradiţională a fabricanţilor de termocupluri de a etalona această joncţiune în apă cu gheaţă la 0 oC. Pentru o astfel de etalonare, termocuplul furnizează o tensiune pozitivă atunci când temperatura măsurată este peste 0 oC şi o tensiune negativă atunci când temperatura este sub 0 oC. Deşi oarecum precisă, stabilirea referinţei de temperatură în apă cu gheaţă nu este practică. Abordarea practică utilizată este aceea de a măsura temperatura joncţiunii 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 joncţiunii reci (CJC). Pentru implementarea CJC se pot utiliza două tehnici: compensarea hardware sau compensarea software. Ambele tehnici necesită măsurarea temperaturii joncţiunii de referinţă cu un senzor direct, a cărui ieşire depinde numai de temperatura punctului de măsurare (astfel de senzori sunt termistorii, termorezistenţele, senzorii cu semiconductoare etc.). Compensarea hardware presupune introducerea în circuitul termoelectric a unei surse de tensiune care să anuleze tensiunea apărută ca urmare a temperaturii parazite a joncţiunii reci. Tensiunea de compensare furnizată de sursă este variabilă în funcţie de temperatura mediului ambiant. Dezavantajele acestei soluţii sunt legate de preţ şi de precizie. Compensarea software presupune ca după măsurarea temperaturii joncţiunii reci cu un senzor direct, o rutină software să
112

compenseze tensiunea măsurată prin adăugarea sau scăderea unei valori corespunzătoare pentru eliminarea efectului temperaturii joncţiunii 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 ieşirii termocuplurilor. Relaţia liniară (7.1) nu este valabilă decât pentru variaţii mici ale temperaturii, deoarece coeficientul Seebeck variază foarte mult în funcţie de temperatură. Din acest motiv, mai ales când domeniul temperaturilor măsurate este mare, trebuie să se ţină cont de neliniaritatea intrare-ieşire. Pentru aceasta, se aproximează ieşirea prin funcţii polinomiale de temperatură sau se utilizează tabele de dependenţă temperaturătensiune, în funcţie de tipul termocuplului. Pe lângă operaţiile de condiţionare a semnalului furnizat de un termocuplu descrise mai sus, există şi alte facilităţi care sunt asigurate de modulele de condiţionare, cum ar fi detectarea întreruperii circuitului termocuplului. Utilizarea unor circuite de condiţionare cum ar fi cele de tip SCXI, 5B sau SCC ale firmei National Instruments permite obţinerea unor performanţe foarte bune din punct de vedere al preciziei măsurătorilor. Aplicaţia de măsurare şi achiziţie a temperaturii din această lucrare utilizează un termocuplu de tip J – fier-constantan, cu domeniul de măsurare î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 milivolţilor de la ieşirea termocuplului este aplicată la intrarea unui amplificator de precizie, realizat cu trei circuite integrate speciale. Schema amplificatorului de precizie, precum şi descrierea funcţionării sale sunt prezentate în Anexa 2. Amplificatorul furnizează o tensiune de ieşire între 0-10 V, realizează liniarizarea intrare-ieşire şi compensarea hardware a temperaturii joncţiunii de referinţă. Pentru stabilirea relaţiei temperatură – tensiune de ieşire din amplificator s-au realizat măsurători cu ajutorul unui voltmetru şi a unui termometru de precizie. Rezultatele obţinute au fost prezentate în Anexa 2. Pentru domeniul relativ mic de temperatură corespunzător procesului studiat şi anume 20 – 70 oC a
113

Achiziţia. 3.vi şi AI Clear. care în cazul achiziţiei temperaturii este un semnal lent variabil în timp. Bufferul utilizat are dimensiunea de 500 de eşantioane. Datele achiziţionate în mod continuu sunt puse imediat la dispoziţia utilizatorului. U [V] 5 2 θ [oC] 70 20 Fig. AI Read. 3. 3. AI Start.vi. Caracteristica statică temperatură-tensiune Tensiunea de la ieşirea amplificatorului de precizie este aplicată la intrarea modulului de condiţionare a semnalului 5B31. Fereastra diagramă a acestei aplicaţii este prezentată în Fig. 2 pentru detalii referitoare la achiziţia continuă a datelor.rezultat o tensiune de ieşire din amplificator cuprinsă între 2 şi 5 V şi o dependenţă liniară temperatură – tensiune. prezentată în Fig. realizată cu instrumente intermediare de achiziţie şi cu buffer circular. 4 (a se vedea lucrarea nr. la utilizarea instrumentelor intermediare şi a bufferelor). scalarea şi vizualizarea datelor Semnalul care conţine informaţia despre temperatură provenit de la modulul de condiţionare 5B31 este conectat la canalul de intrare analogică 1 (montaj diferenţial) al plăcii AT-MIO-16. Semnalul este achiziţionat şi prelucrat prin intermediul unei aplicaţii LabVIEW de achiziţie continuă (multi-punct) a datelor analogice. iar rata de scanare este de 2 eşantioane/sec.vi. conectate prin conexiuni de tip Task ID şi Error. precum şi filtrarea semnalului util (banda de frecvenţă este de 4 Hz). A fost utilizată o succesiune de instrumente intermediare de achiziţie: AI Config. care asigură izolarea galvanică faţă de placa de achiziţie.vi. Pentru afişarea datelor achiziţionate în unităţi de temperatură (grade Celsius) se utilizează relaţia de calcul dedusă din 114 .

prin setarea corespunzătoare a parametrului Chart History Length (din meniul indicatorului grafic). Rezultatele obţinute sunt prezentate în fereastra panou din Fig. 3. 5. Pentru o eventuală afişare a datelor în grade Fahrenheit se poate utiliza relaţia de conversie: θ [° F ] = 32 + 9 ⋅ θ [°C ] 5 (7. axa x fiind gradată în unităţi de timp. scalate în funcţie de perioada de eşantionare stabilită. Indicatorul grafic de tip chart permite vizualizarea datelor despre temperatură pe intervalul de timp dorit. 4 a fost rulată în scopul achiziţiei şi vizualizării informaţiei despre temperatura lichidului din recipient. Pentru indicarea temperaturii curente este utilizat un indicator grafic de tip Thermometer.caracteristica statică din Fig. Fig. 4.2) Pentru afişarea datelor au fost utilizate două indicatoare grafice: un Waveform Chart şi un Waveform Graph. Achiziţia multi-punct cu buffer circular a temperaturii 115 . Indicatorul de tip graph este util pentru analiza dinamicii procesului măsurat. Aplicaţia dezvoltată în diagrama din Fig.

6. Vizualizarea temperaturii măsurate şi achiziţionate (fereastra panou a aplicaţiei) Lichidul din recipient a fost încălzit prin intermediul rezistenţei electrice. 116 . 5. Una dintre aplicaţiile referitoare la achiziţia şi vizualizarea temperaturii este Temperature System Demo. după care a fost lăsat să se răcească. Dinamica generală a procesului este relativ lentă. aşa cum se poate observa din analiza indicatorului de tip graph. Panoul frontal al aplicaţiei este prezentat în Fig.vi din Examples\ APPS.Fig. Acest VI simulează achiziţia unei temperaturi. Din Fig. 5 se observă faptul că încălzirea lichidului este mai rapidă decât răcirea. Temperatura a fost afişată în grade Celsius. existând posibilitatea de convertire şi afişare în grade Fahrenheit. care este vizualizată şi analizată. sunt setate temperaturile limită şi sunt semnalizate eventualele depăşiri ale acestor limite etc. Acest ciclu încălzire – răcire a fost repetat pentru a observa dinamica temperaturii. Pentru aprofundarea noţiunilor şi tehnicilor de achiziţie a temperaturii se pot analiza şi rula diverse exemple din biblioteca Examples a LabVIEW. 4. aşa cum se poate observa din diagrama prezentată în Fig.

6.vi etc. K. 1120. care la rândul lor se cuplează direct la ieşirea unor senzori de temperatură.. Astfel. Aceste VI-uri pot realiza software operaţiile de liniarizare. VI-uri care se utilizează pentru modulele SCXI 1102. vizualizarea datelor achiziţionate etc. Avantajul utilizării modulelor şi instrumentelor virtuale este legat de existenţa în biblioteca LabVIEW a datelor referitoare la termocuplurile standardizate şi rezolvarea software a problemelor de liniarizare şi compensare a joncţiunii reci pentru orice tip de termocuplu din bibliotecă. scalarea şi reprezentarea datelor în unităţi inginereşti. compensare a joncţiunii reci. Instrumentul Temperature System Demo. 117 . nu mai este necesară construirea de adaptoare hardware pentru fiecare termocuplu.llb: SCXI-1102 Thermocuple.vi LabVIEW dispune de o serie de VI-uri destinate cuplării plăcilor de achiziţie la module de condiţionare a semnalelor de tip SCC şi SCXI. Exemple de astfel de instrumente se găsesc în Examples\ DAQ\ Analogin\ scxi.Fig. iar efortul de programare este mult diminuat. T etc. Aceste module de condiţionare împreună cu instrumentele virtuale corespunzătoare permit conectarea directă şi rapidă a plăcii de achiziţie la termocupluri de diferite tipuri J. 1121. SCXI 1120/1121 Thermocuple.vi. în particular termocupluri.

Să se refacă punctul 4. Să se deducă relaţia analitică temperatură-tensiune pe baza caracteristicii statice din Fig.6.1. 3. 6). 118 .llb. [3].Observaţie: Pentru aprofundarea noţiunilor teoretice şi practice referitoare la tehnicile de măsurare. [24]. După implementarea aplicaţiei de achiziţie în LabVIEW prezentată în paragraful 3.2. [10]. iar achiziţia datelor se efectuează după ce rezistenţa de încălzire este deconectată de la reţea.2 în situaţia în care achiziţia datelor este declanşată printr-un trigger numeric sau software (a se consulta lucrarea nr. [26] din lista de referinţe bibliografice. Să se realizeze experimentul de la punctul 4. Care este structura unui traductor cu termocuplu? Ce înţelegeţi prin compensarea joncţiunii reci? Care sunt operaţiile de condiţionare a semnalelor necesare în cazul măsurării temperaturii cu termocupluri? 4. [9]. Temă de laborator 4.5. [19]. măsurarea temperaturii şi utilizarea termocuplurilor se pot consulta lucrările [2]. 1 să se conecteze elementele necesare măsurării şi achiziţiei temperaturii lichidului (apă) din recipient. 4. 4. 4. 4.4. Pe baza schemei din Fig. 4.3. Datele vor fi stocate în fişiere 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. 3). Parcurgeţi exemplele referitoare la măsurarea şi achiziţia temperaturii prezentate în Examples\ APPS şi Examples\ DAQ\ Analogin\ scxi. Să se dezvolte o aplicaţie de achiziţie a temperaturii în regim data logger. să se ruleze aplicaţia pentru 5 – 10 minute şi să se observe evoluţia temperaturii după conectarea la reţea a rezistenţei de încălzire.2 pentru cazul în care afişarea temperaturii este realizată în grade Fahrenheit.

dar generarea lor se face în fracţiuni de secundă sau. Lucrarea prezentă abordează în special partea de generare a semnalului audio. Se poate profita de existenţa generală a unei asemenea „plăci de achiziţie” 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 ieşire este generat pe ieşirea către boxe. Timpul real are cerinţe mult mai drastice. utilizând placa de sunet şi boxele audio pot fi testate generatoare de semnal periodic. triunghiular. Având în vedere acest lucru. Utilizarea unui generator de semnal din biblioteca Signal Generation/Signal Processing/Analyze a meniului Functions nu permite obţinerea directă de semnal în timp real. În general. Acest lucru conduce la posibilitatea de achiziţie şi/sau generare de semnal audio folosind placa de sunet.LUCRAREA NR. Aplicaţii pentru prelucrarea semnalelor (a se vedea bibliografia). întrun timp mai mare sau mai mic.1 există posibilitatea de a lucra cu placa de sunet cu care este prevăzut orice calculator compatibil IBM-PC. 8 Aplicaţii de achiziţie/generare a semnalului audio (controlul intrărilor/ieşirilor plăcilor de sunet) 1. dacă se doreşte sintetizarea şi generarea unui semnal în timp real audio pe o durată de 6 secunde. aceste semnale sunt sintetizate şi eventual afişate aşa cum ar arăta în timp real. în funcţie de viteza microprocesorului. în timp real. se pot implementa experimente de timp real de achiziţie. prelucrare şi generare de semnal audio. De exemplu. Noţiuni introductive În varianta LabVIEW 6. microfoane şi boxe audio. de tip dreptunghiular. Pentru a obţine generatoare de semnal în timp real trebuie respectate anumite cerinţe. atunci este necesar ca semnalul să fie emis exact pe o durată de 6 secunde – durată măsurată cu un cronometru de 119 . oricum. Aceste generatoare au fost descrise pe larg în lucrarea Ghid de programare în LabVIEW. dinte de ferestrău sau sinusoidal. Spre exemplu. orice sistem de calcul modern este prevăzut cu o placă de sunet mai mult sau mai puţin performantă.

respectiv generare de semnal audio cu plăcile de sunet şi cu LabVIEW sunt prezentate în Fig. 11025. Spre exemplu. 1 şi Fig. aceasta înseamnă că placa va trebui să primească de la generatorul de semnal software 3 * 22050 = 66150 eşantioane. Pentru înţelegerea modului în care se realizează achiziţia şi generarea datelor în timp real sunt deosebit de importante noţiunile de flux de date de timp real şi flux de date software.precizie. atunci semnalul pe o perioadă va fi generat într-un număr 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. dacă lucrăm pe frecvenţa de 22050 Hz şi generăm un semnal cu o durată de 3 secunde. Ţinând cont de acest lucru. Pentru a genera astfel de semnale este necesar să ţinem cont de faptul că placa de sunet este o placă de achiziţie generală care funcţionează sub Windows la frecvenţe prestabilite de 8000. 5). Prin flux de date de timp real se înţelege viteza de prelucrare (procesare) a datelor de către dispozitivele de timp real (plăci de 120 . Schemele principiale ale unor aplicaţii de achiziţie. 22050 sau 44100 Hz. generatorul software va trebui să genereze (2 secunde) * (frecvenţa_ eşantionare_placă) eşantioane. Aceasta înseamnă că dacă dorim să emitem un semnal sonor cu o durată de 2 secunde. se poate genera semnal periodic în timp real pe o durată de timp prestabilită. Astfel. trebuie făcută o observaţie importantă: numărul de eşantioane cu care se generează o perioadă a semnalului va rezulta în funcţie de frecvenţa de lucru a plăcii de sunet şi de frecvenţa semnalului periodic emis (a se vedea şi considerentele legate de frecvenţa semnalului generat din lucrarea nr. dacă generăm un semnal periodic cu frecvenţa de 1500 Hz pe o durată de 3 secunde. 2. Un program în timp real trebuie să funcţioneze în strânsă legătură cu timpul fizic.1) Folosind acest lucru.

ieşire) de sunet 121 .). se pot folosi buffere pentru compatibilizare. Structura unei aplicaţii de achiziţie (intrare) de sunet Fig. 2. Structura unei aplicaţii de generare (redare. plăci audio etc. Este necesar ca fluxul de date software (de intrare sau de ieşire) să fie compatibil cu cel hardware (de timp real). Dacă există mici diferenţe. Prin flux de date software se înţelege viteza cu care software-ul generează date pentru dispozitivele de timp real de ieşire sau preia date de la dispozitivele de timp real de intrare. Fig. 1.achiziţii.

3. Instrumente specializate pentru intrări/ieşiri pe placa de sunet Între VI-urile de achiziţie/generare a semnalului audio şi VIurile de achiziţie/generare de uz general prezentate în lucrările 1-5 există anumite similitudini. În continuare vor 122 . de exemplu. 3. plasate în biblioteca Graphics & Sound a meniului Functions. după cum se vede în Fig.1 dispunem de instrumente specializate pentru controlul intrărilor de sunet (de la microfon) şi al ieşirilor de sunet (către boxe). cum ar fi. conectarea acestora prin conexiuni de tip Task ID in/out şi Error in/out. Instrumente LabVIEW pentru controlul intrărilor/ieşirilor plăcilor de sunet În LabVIEW 6. Fig.2.

22050 sau 44100. n-1. 5 şi are rolul de a configura dispozitivul de ieşire pentru sunet. Cele mai importante 5 instrumente de control al ieşirii de sunet se conectează prin conexiuni de tip Task ID şi Error într-o succesiune prezentată în Fig. VI-urile utilizate pentru generarea de semnal audio. 4.. 4.vi Instrumentul SO Config. 5.fi prezentate. acesta va fi trecut în modul pauză. După folosirea acestui instrument virtual de configurare. Acestea se folosesc pentru a implementa un flux de operaţii care să conducă la funcţionarea dorită a plăcii de sunet. Semnificaţia terminalelor este următoarea: device este dispozitivul de ieşire pentru operaţii cu sunet sub Windows 95/98/NT.. Valoarea implicită este 0 şi semnifică placa de sunet în cazul în care nu există şi alte plăci de intrare-ieşire pe aceeaşi placă de bază. Conectarea instrumentelor specializate pentru generarea ieşirilor pe placa de sunet Fig. Valorile posibile sunt în gama 0 .vi (Sound Output Configuration) este prezentat în Fig. 11025. sound format este o structură de tip cluster în care se specifică setările pentru operaţia de redare a sunetului (Mono sau Stereo). unde n este numărul de dispozitive de ieşire ale calculatorului. Acest VI creează un identificator al task-ului de ieşire sunet (sound output task ID). Fig. pe scurt.sound quality se setează la valori stereo sau mono 123 . se setează rata de eşantionare (redare) la valori din setul 8000. În sub-biblioteca Sound Output există 8 instrumente pentru controlul ieşirilor plăcii de sunet. (Această valoare este ignorată de către sistemul de operare de pe Macintosh). Instrumentul SO Config. şi se interpretează eşantioanele numerice de sunet ca numere întregi pe 8 sau 16 biţi: .

vi. 22050. Dacă dispozitivul funcţionează deja.rate setează rata de eşantionare pentru operaţiile de intrare sau viteza de redare pentru operaţiile de ieşire. mono 16 bit. sunetul nu va fi redat până nu se rulează SO Start. se va relua operaţiunea de redare (generare) sunet. 11025. 6 – declanşează operaţia de generare a sunetului asociată cu taskul corespunzător legat la terminalul task ID in. Dacă dispozitivul este funcţional. La operaţiile de înregistrare de sunet.. Instrumentul SO Start. La unul dintre cele 4 terminale mono 8 bit. Dacă dispozitivul este în mod pauză. Instrumentul SO Write. 6. 7 – scrie date către ieşirea de sunet a dispozitivului asociat cu terminalul task ID in.vi. 7. folosirea configuraţiei Stereo dublează spaţiul de stocare a eşantioanelor de sunet iar folosirea a 16 biţi/eşantion de sunet dublează la rândul ei necesarul de memorie faţă de opţiunea 8 biţi/eşantion.vi Fig. task ID out este un identificator de task ce se transmite la terminalul task ID in al următorului instrument virtual al fluxului de operaţii cu sunetul.vi (Sound Output Write) – Fig. Instrumentul SO Write. stereo 8 bit.vi (Sound Output Start) – Fig.vi 124 . se redă sunetul imediat. apelarea acestui instrument nu are nici un efect. Instrumentul SO Start. Dacă dispozitivul este în mod pauză. Fig. .bits per sample setează operaţiile cu sunet la 8 sau 16 biţi/eşantion. sau 44100 eşantioane/secundă. stereo 16 bit se conectează datele care reprezintă semnalul numeric sonor în funcţie de modul în care a fost setat să funcţioneze dispozitivul prin SO Config. Putem alege între 8000.

vi Fig.vi (Sound Output Clear). Instrumentul SO Clear. prezentat în Fig. 8 – aşteaptă până când dispozitivul de ieşire termină de redat toate datele pe care le-a primit anterior prin operaţia SO Write. Dacă acest dispozitiv se află deja în pauză. Instrumentul SO Pause. SO Stop. 10.vi Fig. stopează imediat operaţia de redare a sunetului corespunzătoare dispozitivului asociat cu task ID in. prezentat în Fig. închide dispozitivul de ieşire a sunetului şi returnează sistemului toate resursele utilizate de acest dispozitiv. 11. 9.vi (Sound Output Wait) – Fig.Fig. Instrumentul SO Wait.vi (Sound Output Stop). Instrumentul SO Stop. Fig. Instrumentul SO Clear. Toate datele rămase pentru redare se vor pierde. 11.vi Instrumentul SO Wait.vi (Sound Output Pause) – Fig.vi 125 . 9. SO Pause. apelarea acestui instrument nu are nici un efect. 10 – stopează ieşirea de sunet a dispozitivului corespunzător cu task ID in. 8. Prin apelarea acestui instrument nu se pierd datele care trebuie redate sonor şi se salvează poziţia curentă (se poate relua redarea din momentul întreruperii atunci când se apelează instrumentul SO Start).vi.

Se poate modifica durata semnalului audio generat şi. 12 şi 13 reprezintă un generator complex de semnal audio. Generatorul de semnal audio are ca nucleu un generator de semnal (de formă de undă) completat cu anumite extensii. la intrarea Sound format a instrumentului virtual SO Config. Aceşti parametri se conectează. iar metodologia de grupare va fi prezentată în etapele următoare. avem posibilitatea repetării semnalului generat (Mod redare continuu).vi. dreptunghiular sau dinte de ferăstrău. Aplicaţii pentru prelucrarea semnalelor (a se vedea bibliografia). Setare parametri placă de sunet: se referă la obţinerea parametrilor după care va funcţiona placa de sunet. Din Panoul frontal al generatorului se observă o serie de controale prin care putem modifica atât parametrii plăcii de sunet cât şi parametrii semnalului generat. Semnalul analitic se poate reprezenta prin mai multe formule analitice. 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.a se vedea bibliografia). după cum s-a văzut. reluată şi explicată în Fig. Generatorul virtual implementează schema logică din Fig.1. 14. Aceşti parametri sunt grupaţi întro structură de tip cluster.3. 13. Aplicaţii pentru prelucrarea semnalelor . La rândul său semnalul de bază poate fi sinusoidal. Putem alege tipul semnalului . 14.Tip semnal (de bază sau reprezentat analitic prin formulă). triunghiular. Această schemă logică se regăseşte în structura diagramei generatorului din Fig. 15. 126 . Au fost implementate două variante constructive de generator virtual de semnal audio. de asemenea. Vor fi explicate în continuare porţiunile funcţionale ale diagramei cu caracter specific generatorului de semnal audio (pentru detalii privind sinteza semnalelor se poate consulta lucrarea Ghid de programare în LabVIEW. Generator complex de semnale audio. se poate implementa un generator virtual de semnale audio. Varianta 1 Panoul frontal şi diagrama din Fig. Schema logică utilizată pentru implementarea acestui generator este prezentată în Fig. 3.

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

Fig. 13. Generator de semnal audio complex. Diagrama 128 .

se apelează un popdown menu din care selectăm Add Item After. Varianta 1 a.START Setare parametri: . 8/16 biti/esantion) Setare parametri: . 16) b. frecventa. Aşa cum se prezintă în poziţia 3.forma de unda generată (semnal de baza/formula. rata esantionare. Schema logică pentru implementarea generatorului de sunet. amplitudine. pentru a denumi elementele componente ale controlului enumerare sound quality. Se aduce în Panoul Frontal din Controls/Ring&Enum instrumentul Enum care se etichetează sound quality (vezi poziţia 2) c. Se aduce în Panoul Frontal din Controls/Array&Cluster instrumentul Cluster care se dimensionează pentru a putea include 3 entităţi de tip enumerare (vezi poziţia 1 – Fig. durata) Generare undă cu parametrii doriţi ca semnal numeric ∆Τ Condiţionare semnal numeric audio Redare semnal audio (trimitere către placa de sunet) Mod redare continuu ? Da STOP Fig.placa de sunet (stereo/mono. Primul element din enumerarea sound quality se va numi mono. Controlul enumerare 129 . 14.

d.sound quality se poziţionează în aria Cluster ca prim element al structurii. O undă este de fapt o structură (specifică pentru variantele mai noi ale pachetului software LabVIEW) care se ataşează unei secvenţe numerice... y (t 0 + dt ). care are două elemente: mono şi stereo. y1 . y n }  t0       (8. y .. În acest mod se creează o interfaţă cu utilizatorul foarte sugestivă. cu atât forma de undă a unei perioade va fi mai distorsionată deoarece va fi reprezentată printr-un număr mai mic de puncte... . Acest lucru este deosebit de util pentru a putea vedea care este influenţa creşterii frecvenţei unui semnal periodic asupra formei de undă.Vectorul de valori numerice Putem spune că unda conţine informaţii care pot identifica o secvenţă numerică sub forma: vector : {y 0 . deci cu ajutorul unei unde nu putem reprezenta decât secvenţe numerice obţinute cu rate de eşantionare constante. 22050 şi 44100) şi bits per sample (cu 2 elemente: 8 şi 16). Cu cât frecvenţa creşte.... 11025. Afişare perioadă formă de undă: reprezintă porţiunea de diagramă folosită pentru a afişa forma unei perioade din semnalul furnizat.Momentul iniţial t0 .Perioada de eşantionare sau pasul de discretizare dt . O undă este o structură compusă din 3 elemente: .. numit sound quality. .. 130 .. şi denumim următorul element al enumerării stereo. În acest moment structura Cluster va conţine un prim element de tip enumerare.... valorile numerice ale unei unde se presupun egal repartizate în timp. Secvenţa numerică poate fi reprezentată simplu printr-un vector (linie sau coloană)... y }  n   0 1  Evident.2) dt  unda : {y (t 0 ). dar se pierde informaţia relativă la momentele de eşantionare la care au fost obţinute aceste valori numerice. Se repetă operaţia descrisă mai sus: Add Item After. y (t 0 + (n − 1)dt )} =  {y .. Repetăm operaţiile de la punctele b şi c pentru alte două enumerări pe care le includem în structură: rate (cu 4 elemente: 8000.

15. Structura diagramei generatorului complex de sunet 131 .Fig.

17).vi şi Array Subset. 16. 132 . Acest lucru se realizează cu instrumentele Get Waveform Components. unde k reprezintă numărul de eşantioane/perioadă.Fig.vi (a se vedea Fig. Setarea parametrilor plăcii de sunet Din structura reprezentată de undă se extrage doar vectorul de date din care se reţin numai primele k eşantioane.

Prin multiplicare cu 128.vi Condiţionare numerică sunet: transformă reprezentarea în virgulă mobilă (reală) a secvenţei numerice generate într-o secvenţă de numere întregi fără semn.Fig. 18. care este acceptată de placa de sunet.. Observaţie: Deseori în practică se doreşte furnizarea unui semnal pe un inteval nedefinit de timp. 133 . valorile vor fi cuprinse între y (i ) ∈ [− 128.1] . deci y (i ) ∈ [− 1..255} de către instrumentul To Unsigned Byte Integer: şi apoi sunt trimise către placa de sunet care va reda sunetul corespunzător secvenţei numerice... Fig.1. Prelucrarea undei generate Unda generată este prelucrată de instrumentul Quik Scale 1D care normalizează valorile secvenţei numerice. reprezentată pe 8 biţi. Aceste valori sunt aduse în gama y (i ) ∈ {0.vi şi Array Subset.. Din această cauză generatorul a fost prevăzut cu un buton prin care se poate alege Mod redare: timp limitat sau continuu.128] . 17.. Utilizarea instrumentelor Get Waveform Components.

Aceste întreruperi. sunt cauzate de timpul necesar sistemului pentru a genera semnalul pe încă o perioadă de timp dorită.După cum se observă din schema logică din Fig. 19. rata esantionare. Aceste întreruperi sunt chiar mai mari în cazul în care folosim un sunet generat de o formulă deoarece această funcţie nu este precompilată iar ∆T este variabilă. 14 cu ∆T . 14. notate în Fig. aşa cum se observă în schema logică din Fig. frecventa. Varianta 2 134 . Generator complex de semnale audio. amplitudine. Schema logică pentru implementarea generatorului de sunet. dacă este selectată această opţiune se reia programul de la început. Varianta 2 Pentru a micşora neajunsul mai sus menţionat. 8/16 biti/esantion) Da Setare parametri: . durata) Generare undă cu parametrii doriţi ca semnal numeric ∆Τ Condiţionare semnal numeric audio Redare semnal audio (trimitere către placa de sunet) Nu Da Mod redare continuu ? ∆Τ1 Refresh parametri ? STOP Fig. se poate modifica structura generatorului. 19. semnalul audio generat se va auzi cu intermitenţe.placa de sunet (stereo/mono. mai puţin partea de configurare a plăcii de sunet.forma de unda generată (semnal de baza/formula. START Setare parametri: .2. Panoul frontal şi diagrama sunt prezentate în Fig. fiind proporţională cu durata semnalului generat. 20 şi 21. Într-o asemenea implementare. 3.

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

Diagrama generatorului de sunet – varianta 2 136 .Fig. 21.

această întârziere nu mai este variabilă şi proporţională cu durata de generare a semnalului ci va fi o întrerupere sesizată la reluarea buclei de scriere pe placa de sunet. Care este structura unui aplicaţii de achiziţie / generare a semnalului audio? Ce înţelegeţi prin flux de date hardware şi software? Ce considerente trebuie respectate la stabilirea frecvenţei de generare a semnalului şi a numărului de eşantioane / perioadă? 4. 22. Ce înţelegeţi prin conexiuni de tip Task ID şi Error? Care este rolul instrumentelor SO Config. Să se parcurgă instrumentele virtuale din biblioteca Graphics & Sound a meniului Functions.În Fig. 22 se prezintă modificarea făcută în program. La reluarea buclei se va vedea o diferenţă între valoarea actuală a butonului şi cea precedentă. 4.vi într-o aplicaţie de generare a semnalului audio? 137 . Butonul Refresh parametri se va acţiona atunci când facem o modificare a parametrilor semnalului. Mai mult.1. după care se reia procesul de redare pe o perioadă nedeterminată (până la oprire sau o nouă modificare a parametrilor). Fig.2. Temă de laborator 4. moment în care bucla While este părăsită şi se trece la execuţia buclei While exterioare. care va prelua noile valori ale parametrilor şi va genera semnalul corespunzător.vi şi SO Write. Modificarea diagramei generatorului faţă de varianta 1 Prin modificarea efectuată întreruperile în redarea sunetului se vor diminua simţitor. în timp ce generatorul funcţionează.

Rulaţi aplicaţia în mod de redare continuă.4. Descrieţi funcţionarea generatorului virtual de semnal audio – varianta 1. Ce observaţi? 4.4. triunghiular etc.3.). Care sunt diferenţele pe care le sesizaţi faţă de varianta 1? 138 . Observaţi rolul alegerii frecvenţei de eşantionare în raport cu frecvenţa semnalului generat. de diferite frecvenţe şi pe diverse intervale de timp. Verificaţi dacă semnalul generat este în timp real (prin cronometrare). Refaceţi experimentele de la punctul 4. Rulaţi aplicaţia în mod de redare continuă. Implementaţi generatorul. rulaţi aplicaţia pe un PC prevăzut cu boxe şi generaţi semnale audio de diferite tipuri (sinusoidal.3 utilizând varianta 2 de generator de semnal audio.

1.ANEXA 1 Placa de achiziţie AT-MIO-16H National Instruments (Manual de utilizare . SUA.2.1.2. Arhitectura plăcii AT-MIO-16 2. Selectarea canalelor DMA 3. Controllerul de achiziţie a datelor şi circuitul de generare a semnalelor de tact (Timing I/O) 2. Descrierea generală a plăcii de achiziţie AT-MIO-16 2.4.1. Funcţionarea ca numărător/generator de interval de timp şi ca generator de frecvenţă 2.2. Circuitul de interfaţă cu magistrala RTSI 3. Selectarea adresei I/O de bază 3. Achiziţia de date cu placa AT-MIO-16 2.1. National Instruments. Circuite de izolare galvanică şi condiţionare semnal 3. Circuitul pentru intrări/ieşiri numerice 2. Interfaţa cu magistrala AT 3.2.5.1. Configurarea intrărilor analogice 3.2. Circuitul de interfaţă cu canalul I/O al PC-AT 2.4. Conexiuni pentru intrări analogice 139 141 146 146 148 151 155 157 159 161 163 165 165 167 168 169 170 171 174 177 178 180 180 .1. Circuitul de ieşiri analogice 2.3.2. Configurarea plăcii AT-MIO-16H 3.6.3. Circuitul de intrări analogice 2.8.2.2.1.AT-MIO-16 User Manual.7. Configurarea ieşirilor analogice 3. Selectarea ceasului prin magistrala RTSI 4. Selectarea întreruperilor 3. Conexiunile plăcii AT-MIO-16 4. 1995) . Configurarea intrărilor şi ieşirilor analogice 3.1.3.cuprins 1.

3. Tipuri de surse de semnal 4.7. Conexiuni pentru semnale de tact şi sincronizare de uz general 183 183 183 184 184 187 189 189 191 192 192 192 194 140 .4.2.7.3. Conexiuni pentru intrări/ieşiri numerice 4. Configuraţii de intrare analogică 4.2.3.6.7.1.4. Consideraţii asupra conexiunilor single-ended 4.2.2.5.1.2. Conexiuni de alimentare 4. Conexiuni pentru semnale de tact şi de sincronizare 4. Consideraţii privind rejecţia pe mod comun 4.1. Consideraţii asupra conexiunii diferenţiale 4.3. Surse de semnal raportate la masă (ground-referenced signal source) 4. Conexiuni pentru ieşiri analogice 4.3. Conexiuni pentru semnale de tact şi sincronizare destinate achiziţiei de date 4. Surse de semnal flotante (floating signal source) 4.2.

1. Fig. 1. programe inovative ce conţin software pentru dezvoltare de aplicaţii bazate pe această placă de achiziţii. controlul instrumentaţiei. Structura generală a unei plăci de achiziţie tip AT-MIO-16 În Fig. Placa de achiziţii AT-MIO-16 poate fi folosită cu LabVIEW (sub Windows) sau LabWindows (sub DOS sau sub Windows). Descrierea generală a plăcii de achiziţie AT-MIO-16 În Fig. În timp ce LabVIEW foloseşte programarea grafică. Ambele pachete conţin biblioteci extinse pentru achiziţia datelor. Prelucrarea datelor numerice precum şi gestionarea interfeţelor de intrări/ieşiri analogice/numerice se face sub controlul pachetelor de programe LabVIEW ale aceleiaşi firme şi al software-ului (driver) NI-DAQ (National Instruments – Data Acquisition) pentru DOS/ Windows/ LabWindows. analiza datelor şi reprezentarea grafică a datelor. LabWindows măreşte capacităţile programelor Microsoft C şi QuickBASIC. DI sunt dispozitive de intrare (achiziţie) care cuprind intrări numerice de la traductoare sau senzori de semnale 141 . 1. 1 este prezentată structura generală a unei plăci de achiziţie AT-MIO-16 a firmei National Instruments.

Placa de achiziţie comunică cu placa de bază a calculatorului prin intermediul Canalului I/O pentru PC/AT. 142 . În afara legăturilor directe cu procesul fizic ce trebuie condus. intrări/ieşiri numerice. o magistrală de date de 16 biţi. voltmetre numerice etc. fie sisteme de aceeaşi natură (cum ar fi cazul sistemelor de conducere distribuite în care se face legătura informaţională între calculatoarele de proces).numerice şi intrări analogice dotate cu convertor analog-numeric (CAN) de la traductoarele sau senzorii de semnale analogice. surse de curent. ieşiri analogice. bazat pe module care permit achiziţia a peste 3000 de tipuri de semnale analogice de la termocupluri. Circuitul de interfaţă constă dintr-o magistrală de adresă de 24 de biţi. temporizare (generare de interval de timp) şi numărare. Placa este prevăzută cu două tipuri de legături numerice standardizate: legături seriale RS 232C şi legături paralele IEEE 488. Interfaţa pentru magistrala RTSI are 7 linii trigger şi o linie pentru ceasul de sistem şi permite utilizarea mai multor plăci NI din seria AT în acelaşi PC. de tensiune etc. Placa de achiziţie AT-MIO-16 se conectează pe placa de bază a unui calculator personal. fie cu instrumente de măsură (osciloscoape. calculator pe care este instalat LabVIEW. este necesară existenţa unor legături numerice cu alte sisteme. o magistrală de control (arbitrare) a accesului direct la memorie (DMA). Placa AT-MIO-16 poate fi conectată la sistemul SCXI (Signal Conditioning eXtension for Instrumentation). Placa AT-MIO-16 asigură tipurile specifice de funcţii ale unei plăci de achiziţie: intrări analogice. PC reprezintă calculatorul personal în care se introduce placa de achiziţie. linii de întrerupere şi câteva semnale de comandă şi control.) sau regulatoare numerice. RTSI Bus este magistrala RTSI (Real-Time System Integration) cu care se pot interfaţa toate plăcile din seria National Instruments (NI) AT. 2 este prezentată varianta compatibilă PCAT (Advanced Technology). plăci care partajează semnalele de pe această magistrală. iar IU reprezintă interfaţa utilizator. precum şi achiziţia/generarea de semnale numerice de comunicaţie şi control. În Fig. DO sunt dispozitive de ieşire care cuprind ieşiri numerice pentru acţionări numerice sau semnalizări şi ieşiri analogice dotate cu convertoare numeric-analogice (CNA) pentru comenzile analogice. termorezistenţe.

+10V. un circuit de eşantionare şi reţinere pentru implementarea unui CAN pe 12 biţi şi o stivă FIFO (First In First Out) de 16 cuvinte pe 16 biţi care stochează rezultatele conversiei. un amplificator de instrumentaţie cu amplificare programabilă. 2. Convertorul analog-numeric este disponibil în două variante diferite în raport cu timpul maxim de conversie: 25 µ sec sau 9 µ sec.10V... -5V.000 eşantioane/secundă pentru CAN de 25 µ sec. Circuitul pentru intrări analogice constă dintr-un multiplexor de intrare. circuit de selecţie a modului de multiplexare (16 intrări asimetrice – single-ended – sau 8 diferenţiale). 143 . când avem de-a face cu aşa numita achiziţie de date scanată.5V şi unipolară între 0V. Ratele (frecvenţele) maxime de achiziţie depind de performanţele CAN şi sunt de 100. Schema bloc a plăcii de achiziţie AT-MIO-16 Intrările analogice şi circuitele de achiziţie de date conţin (adresează) până la 16 canale de intrări analogice cu amplificare programabilă software şi un CAN pe 12 biţi. Suplimentar. Achiziţia de date se poate face pe un singur canal sau pe mai multe canale... cu valori între -10V..000 eşantioane/secundă pentru CAN cu timp maxim de conversie de 9 µ sec sau de 40. AT-MIO16 conţine circuite de achiziţie a datelor pentru generarea semnalelor de timp pentru conversiile analog-numerice multiple şi alte opţiuni avansate. CAN este cu aproximări succesive şi suportă la intrare 3 game de tensiuni: bipolare.Fig..

2. HiZ). CNA generează un curent proporţional cu tensiunea de intrare de referinţă. Frecvenţa maximă de generare a datelor este de 250000 de eşantioane/sec. Plăcile 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). Circuitul pentru intrări/ieşiri numerice este prevăzut cu 8 linii de intrare/ieşire numerice divizate în două porturi de câte 4 linii fiecare. Pentru fiecare canal de ieşire analogică. 100 sau 500 de ori şi pot fi utilizate la achiziţia de semnal de nivel scăzut. MIO – abrevierea de la Multifunction Input/Output Board. Ambele registre sunt compatibile TTL şi acţionează TSR (Three State Logic. Codificarea L/H se referă la amplificările programabile pe partea de intrări analogice: cele codificate cu H (High) sunt prevăzute cu amplificare programabilă setată la 1. fiecare canal fiind prevăzut cu ieşiri unipolare sau bipolare cu selecţie internă sau externă a tensiunii de referinţă.Fiecare placă de achiziţie din seria AT-MIO-16 are un nume diferit care scoate în evidenţă principalele caracteristici constructive. Controllerul de achiziţie date gestionează operaţiile de achiziţie iar Circuitul de generare a semnalelor de tact (Timing I/O) funcţiile generale de intrare/ieşire. 16 – se referă la numărul de canale de intrare analogică: 16 canale asimetrice (single-ended) sau 8 canale diferenţiale. Ambele blocuri funcţionează pe baza unui circuit de numărare/generare de interval de timp. Astfel. Acest cod este tocmai numărul care va fi convertit în semnal analogic. 4 sau 8 iar cele codificate L (Low) sunt prevăzute cu amplificări de 1. În mod asemănător. multiplicat cu un cod numeric încărcat în prealabil într-un buffer propriu. câte 4 pentru fiecare port de ieşire. În ceea ce priveşte Circuitul ieşirilor analogice. avem un registru de intrare pe 8 biţi. Amplificatoarele operaţionale de la ieşire convertesc acest curent de ieşire al CNA într-un semnal de tensiune transmis la conectorii de ieşire. care conţine 5 numărătoare programabile pe 16 biţi. compatibile TTL. placa este prevăzută cu două canale de conversie numeric-analogică pe 12 biţi. 144 . avem 4 variante cu numele de AT-MIO-16L/H-9/25. 10. Ieşirile numerice sunt grupate într-un registru de ieşire de 8 biţi. Codificarea 9/25 se referă la timpul maxim de conversie al CAN şi anume 9 sau 25 µ sec.

adică 9 µ sec. Observaţie: Pentru programarea plăcii se poate utiliza şi programarea la nivel de regiştri.000 de eşantioane pe secundă.ISA) din calculator. fiind o placă tip ISA (Industry Standard Architecture) şi prin urmare este prevăzută cu un comutator DIP (Dual Inline Pin – permite selectarea adresei de bază a plăcii) şi un set de jumpere care trebuie setate în funcţie de arhitectura în care este folosită placa. driverul NI-DAQ. Placa de achiziţie AT-MIO-16H nu dispune de tehnologie Plug-and-play (specifică îndeosebi plăcilor PCI . care este însă dificilă. –10 ÷10V. Frecvenţa (rata) maximă de achiziţie este de 100. adică la semnale analogice de intrare de nivel mare.H – se referă la High-level analog inputs. care nu necesită amplificări programabile mari pe placă (amplificările pot fi: 1. 8). precum şi procedurile de calibrare sunt prezentate în manualul de utilizare în limba engleză furnizat de National Instruments: AT-MIO-16 User Manual. software-ul de aplicaţie LabVIEW (sau LabWindows sau LabWindows/CVI) şi un calculator. 9 – se referă la timpul minim de achiziţie pe un canal. AT-MIO-16 poate fi instalată în orice slot disponibil de 16 biţi (AT Style . 2. Pentru setarea şi utilizarea plăcii de achiziţie AT-MIO16H sunt necesare: placa de achiziţie. -10÷10V funcţie de configuraţia hardware. • 2 porturi numerice I/O pe 4 biţi fiecare. Placa de achiziţie AT-MIO-16H conţine: • 16 canale single-ended de intrări analogice în domeniile 0÷5V. fiind recomandată folosirea NI-DAQ şi a unui soft de aplicaţie. 0÷10V sau 8 canale diferenţiale în domeniile -5V ÷5V. 4. AT-MIO-16 nu poate lucra dacă este instalată într-un slot expandat pe 8 biţi (PC Style). • un generator de frecvenţă până la 1 MHz. 145 . Observaţie: Specificaţiile tehnice complete ale plăcii.Peripheral Component Interconnect). • 5 numărătoare independente pe 16 biţi. • 2 canale de ieşiri analogice în domeniile 0÷10V.

Aceste linii de adresă sunt accesate de regiştrii 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 interfaţă cu canalul I/O al PC-AT Placa AT-MIO-16 dispune de un adaptor de 16 biţi la canalul I/O al calculatorului PC-AT. un buffer de date. 2. AT-MIO-16 foloseşte 10 din aceste linii pentru a decodifica adresa de placă. Canalul I/O al PC-AT are 24 linii de adresă. 2 şi din descrierea generală din paragraful precedent. Arhitectura plăcii AT-MIO-16 Aşa cum se poate observa din Fig.circuitul pentru intrări/ieşiri numerice.circuitul de generare a semnalelor de tact (Timing I/O). . o magistrală de date de 16 biţi.circuitul de ieşiri analogice. Schema bloc cu arhitectura internă este prezentată în Fig. Circuitul de interfaţă cu canalul I/O este format din regiştri de adrese. .1.2. Circuitul de decodificare a adresei generează semnale de selectare a registrului (care specifică ce registru al AT-MIO-16 va fi accesat). Canalul I/O constă într-o magistrală de adrese de 24 de biţi. . . un circuit decodificator de adrese. Semnalele SA5…SA9 sunt folosite pentru generarea semnalului de validare a plăcii.circuitul de interfaţă cu canalul I/O al PC-AT. Circuitul de interfaţă cu canalul I/O al PC-AT generează semnalele necesare controlului şi monitorizării operaţiilor din circuitele cu funcţii multiple ale AT-MIO-16. 3. În acest caz.circuitul de interfaţă cu magistrala RTSI. linii de întrerupere şi semnale de control. un controller (arbitru) de magistrală DMA. placa AT-MIO-16 conţine următoarele blocuri principale: . Bufferul de 146 . . un circuit de control al întreruperilor şi un circuit arbitru DMA.circuitul de control al achiziţiei datelor. SA0…SA4 sunt folosite pentru selectarea regiştrilor de pe placă. domeniul adreselor de pe placă este 000H-3FFH.circuitul de intrări analogice. Magistralele interne de date şi control interconectează blocurile componente. . un bloc de control (generează semnale de control şi sincronizare a interfeţei cu canalul I/O al PC-AT).

Circuitul de control al întreruperilor rutează orice cerere de întrerupere validă prin selectarea liniei de cerere de întrerupere. IRQ4. IRQ5. Fig. Cererile de întrerupere sunt semnale de ieşire three state ce permit plăcii AT-MIO-16 să împartă linia de întrerupere cu alte dispozitive. Unsprezece linii de întrerupere sunt disponibile pentru AT-MIO-16: IRQ3. AT-MIO-16 semnalează prin canalul I/O al PC-AT momentul în care placa poate fi accesată. AT-MIO-16 poate genera cinci tipuri diferite de întreruperi: 147 . 3. Diagrama circuitului de interfaţă cu canalul I/O al PC-AT Blocul de control şi sincronizare al interfeţei cu canalul I/O al PC-AT este folosit pentru generarea semnalelor read-and-write şi pentru definirea ciclurilor de transfer.date controlează direcţia transferului de date pe liniile bidirecţionale de date în funcţie de tipul transferului (scriere sau citire). IRQ9. IRQ6. IRQ11. IRQ7. IRQ14 şi IRQ15. IRQ10. IRQ12. când este gata pentru alt transfer şi mărimea cuvântului de date din transferul I/O curent. Un ciclu de transfer poate fi orice operaţie de I/O de date pe 8 sau 16 biţi.

un amplificator sample-and-hold (circuit de eşantionare/memorare). 6 şi 7 ale canalului I/O PC-AT sunt disponibile pentru astfel de transferuri. prin legarea în cascadă a maximum 4 plăci AMUX64T. fie modul dublu-canal. jumpere de selectare a modului multiplexor.atunci când rezultatul unei conversii analog-numerice este disponibil pentru a fi citit din memoria FIFO.atunci când operaţia de achiziţie a datelor este completă.2. 148 . Intrările pot fi configurate folosind jumpere (ştrapuri) şi ca 8 canale diferenţiale de intrări analogice. un convertor analog-numeric pe 12 biţi şi o stivă FIFO cu opţiune de extindere a semnului până la bitul 16. 4. Dacă transferul DMA este validat.atunci când este recepţionat un semnal (impuls) de terminare a transferului DMA. numerotate de la 0 la 15. Circuitul DMA suportă transferuri DMA pe 16 biţi pe canalul I/O al PC-AT. Circuitul de intrări analogice constă dintr-un multiplexor de intrare. .atunci când este detectat un front crescător al unui semnal la ieşirea OUT 2 a circuitului de numărare/temporizare Am9513A. numerotate de la 0 la 7. Circuitul de intrări analogice Placa este prevăzută cu 16 canale single-ended de intrări analogice. circuitul de control DMA generează cereri DMA de fiecare dată când rezultatul măsurării analog-numerice este disponibil la bufferul FIFO al plăcii. se pot obţine 256 de canale single-ended (sau 128 canale diferenţiale). poate fi selectat fie modul de transfer mono-canal. pentru transferul DMA. . În cadrul circuitului DMA. Placa de achiziţie poate fi folosită împreună cu modulul SCXI pentru condiţionarea semnalelor de intrare. Fiecare dintre aceste întreruperi este individual validată sau invalidată. Placa AT-MIO-16 se poate folosi împreună cu placa multiplexoare de intrări analogice AMUX-64T pentru extinderea intrărilor la 64 de canale single-ended (32 diferenţiale) sau. Canalele DMA 5..atunci când apar semnalele de eroare OVERFLOW sau OVERRUN. . . 2. Schema bloc a circuitului de intrări analogice este prezentată în Fig. amplificator de instrumentaţie (AI) cu câştig programabil software (PGA – Programmable Gain Amplifier).

AI converteşte un semnal diferenţial de intrare în semnal single-ended. ieşirea MUX0 este rutată la intrarea pozitivă a AI şi ieşirea MUX1 la cea negativă.Fig. 4. Atunci când este selectat modul single-ended. Ştrapurile de selecţie a modului de multiplexare configurează canalele analogice de intrare ca 16 intrări single-ended sau ca 8 intrări diferenţiale. Intrarea negativă a AI este legată la masa AT-MIO-16 pentru intrare RSE (Referenced Single-Ended input). Circuitul de intrări analogice şi controllerul de achiziţie Multiplexorul de intrare constă din 2 multiplexoare CMOS cu intrări analogice şi are 16 canale analogice de intrare. Un al doilea rol al AI este de a amplifica semnalul 149 . via AI SENSE din conectorul I/O pentru intrarea NRSE (NonReferenced Single-Ended input). ţinând cont de masa AT-MIO-16. Multiplexorul MUX0 este conectat la canalele de intrări analogice de la 0 la 7. Această conversie permite extragerea semnalului analogic de intrare prin separarea de tensiunea de mod comun sau zgomote înainte de începerea eşantionării şi a conversiei. iar MUX1 la canalele 8…15. ieşirile celor două multiplexoare sunt legate împreună şi rutate la intrarea pozitivă a AI. Atunci când este selectat modul DIFF. sau pe calea de întoarcere a semnalelor analogice de intrare. Intrările multiplexoarelor sunt prevăzute cu protecţie la supratensiuni de intrare de ±35V dacă placa este alimentată şi ±20V dacă placa este nealimentată. Pe placa AT-MIO-16 amplificatorul de instrumentaţie AI îndeplineşte două scopuri. cu o rată de rejecţie minimă a intrării de 85 dB.

Fără SHA. CAN suportă trei domenii de intrare selectabile prin jumpere pe placa AT-MIO-16: -10 ÷ +10V. această operaţie crescând rezoluţia şi acurateţea măsurătorii. valoarea rezultată este salvată în memoria FIFO pentru a fi citită ulterior. Aceasta furnizează doi biţi de control pentru setarea amplificării AI şi patru biţi de adresă pentru multiplexor şi pentru circuitul de selecţie a modului de multiplexare. La terminarea unei conversii analog-numerice. Acest SHA furnizează CAN o tensiune stabilă atât timp cât este executată conversia analognumerică. Selecţia canalului analogic de intrare şi a câştigului este controlată de o memorie Mux-Gain. 4 şi 8. CAN-ul de pe placa AT-MIO-16 este disponibil în două variante: cu durata maximă de conversie de 9 sau 25 µ sec. CAN-ul transferă rezultatul conversiei în bufferul FIFO al plăcii. aceasta fiind o cauză a erorilor apărute în timpul conversiei. astfel că software-ul sau DMA are timp suficient pentru sincronizarea cu 150 . Atunci când conversia analog-numerică este realizată. -5 ÷ +5V şi 0 ÷ 10V. înainte ca acesta să fie eşantionat şi convertit. care are 12 biţi lăţime şi lungime de 16 cuvinte. Amplificatorul sample-and-hold (SHA) permite realizarea conversiei analog-numerice de către convertorul analog-numeric (ADC – Analog to Digital Converter). 2. SHA trece în modul hold (păstrează) care menţine la ieşire o tensiune de valoare staţionară (valoarea care a fost la începutul perioadei de hold) indiferent de schimbarea tensiunii de intrare. iar la AT-MIO-16H câştiguri de 1. semnalul analogic de intrare poate varia pe durata conversiei. în timp ce CAN converteşte vechea valoare. 10. Bufferul FIFO poate colecta 16 valori ale conversiilor analog-numerice înainte ca informaţia să fie pierdută. Rezoluţia de 12 biţi permite furnizarea la ieşirea CAN a unui cuvânt numeric pe 12 biţi care reprezintă valoarea nivelului de tensiune de la intrare. permiţând convertorului să înceapă o nouă conversie. 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. Această izolare optimizează performanţele circuitului de intrare în sensul măririi vitezei şi a realizării de conversii analog-numerice multiple. 100 şi 500. La începutul conversiei. Convertorul analog-numeric este un convertor pe 12 biţi cu aproximaţii succesive.analogic de intrare. Câştigul AI este selectat prin software: la AT-MIO-16L se pot selecta câştiguri de 1.

048 şi 2. bitul MSB al rezultatului pe 12 biţi al conversiei (bitul 11) este inversat şi extins la biţii 15…12.095. 151 . 2. semnal care poate fi utilizat pentru a genera o cerere DMA sau o întrerupere. astfel că rezultatul final al conversiei este pe 16 biţi. Dacă în memoria FIFO sunt stocate mai mult de 16 cuvinte înainte ca aceasta să fie citită. În cod binar natural. În timpul citirii. În cazul achiziţiei multi-canal.3. apare o eroare de tip A/D FIFO Overflow şi informaţia rezultată în urma conversiilor este pierdută. În cazul achiziţiei mono-canal se selectează un singur canal de intrare analogică şi se setează o singură amplificare (care determină. precum şi amplificările setate pentru canalele respective. Un circuit de extensie pentru semn plasat la ieşirea memoriei FIFO adaugă 4 biţi (MSB) şi anume biţii 15…12 la ieşirea memoriei FIFO care este pe 12 biţi (biţii de la 11 la 0). circuitul de intrări analogice realizează câte o conversie analog-numerică pentru fiecare canal analogic (fiecare pereche canal/amplificare) din secvenţa respectivă. În cod complement faţă de doi. Circuitul de extensie pentru semn este programabil software. un domeniu efectiv de intrare – a se vedea subcapitolul de configurare a intrărilor analogice). În timpul realizării conversiei analog-numerice curente. În cadrul acestei metode. Memoria FIFO generează un semnal atunci când conţine rezultatul unei conversii analog-numeric. achiziţie de date multi-canal cu scanare continuă tip round-robin şi achiziţie de date multi-canal cu intervale de scanare.047. în funcţie de domeniul de intrare. biţii 15…12 sunt 0 şi rezultă un domeniu între 0 şi 4.hardware-ul de achiziţie. Placa AT-MIO-16 permite trei tipuri de achiziţii de date: achiziţie de date mono-canal. Achiziţia de date cu placa AT-MIO-16 Placa poate realiza achiziţii de date pe un singur canal sau pe mai multe canale (single-channel data acquisition. şi poate genera numere în cod binar natural sau în cod complement faţă de doi. respectiv multiplechannel data acquisition). Secvenţa poate conţine de la una până la 16 perechi de tip canal analogic/amplificare setată. La fiecare perioadă de eşantionare este realizată o singură conversie analog-numerică pe canalul respectiv. placa stochează o listă sub forma unei secvenţe care precizează canalele analogice care trebuie citite. fiecare cu propria sa amplificare (domeniu efectiv de intrare). furnizând un domeniu între –2. placa AT-MIO-16 scanează un set de canale de intrări analogice.

Atunci când s-a ajuns la sfârşitul secvenţei. Pentru a exemplifica tehnica de achiziţie multi-canal. Un semnal de tact (intern . se poate seta intervalul de citire la 0 secunde. placa înţelegând prin aceasta că reluarea citirii secvenţei se va face imediat după ce este citit ultimul canal analogic din secvenţă. determină de câte ori pe secundă sunt achiziţionate date de la canalele de intrare.sau extern). astfel încât achiziţia să fie cât mai rapidă. care controlează intervalul de scanare. cu 25 µ sec perioada inter-canal. Rata de scanare. în 100 µ sec. ceea ce corespunde unei scanări continue. Atunci. Placa aşteaptă apoi până la terminarea intervalului de citire de 10 secunde. iar perioada sau intervalul inter-canal (intervalul de timp necesar pentru trecerea de la un canal la altul) este de 25 µ sec. placa aşteaptă până la terminarea unui interval de scanare (de citire) înainte de a relua achiziţia canalelor din secvenţă. Vom presupune că am setat intervalul de scanare la 10 secunde. Intervalul de timp între achiziţiile de la două canale consecutive este.de pe placă . să considerăm că avem o secvenţă de 4 canale analogice. secvenţa de 4 canale va fi citită la începutul intervalului de citire de 10 secunde. Inversul acestei rate este chiar intervalul de scanare sau de citire. intervalul sau perioada inter-canal (channel interval sau channel skew). scanarea canalelor de intrare cu o rată de 10 scanări pe secundă semnifică faptul că sunt luate 10 eşantioane la fiecare secundă de la toate canalele de intrare din lista specificată. numit tact sau ceas de scanare (scan clock) fixează mărimea ratei de scanare. De exemplu. după care reia automat citirea celor 4 canale. denumită şi frecvenţă sau rată de achiziţie sau de citire (scan rate). Pentru realizarea unei achiziţii cât mai rapide. de tip round-robin. Trecerea de la un canal la altul în cadrul unei scanări se face prin urmare într-un interval de timp mai mic decât 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 . şi aşa mai departe până când se achiziţionează numărul de eşantioane cerut. după cum s-a precizat în exemplul anterior. fiecare având setată o anumită amplificare.placa comută pe canalul analogic următor din secvenţă. Canalele sunt citite în mod repetat la începutul fiecărui interval de citire până când este achiziţionat numărul de eşantioane precizat de utilizator. inversa acestui interval fiind rata inter-canal.

4. 8 40 k eşantionări/sec câştig = 10. de aceea. 2. Această amplificare şi setarea multiplexorului rămân constante pe întreaga perioada a procesului de achiziţie de date. Rata de scanare în funcţie de tipul achiziţiei Tip placă/ Amplificare Rata de scanare Tip achiziţie (Câştig) (scan rate) Achiziţie de date monocanal: AT-MIO-16(H/L)-25 orice câştig setat 40 k eşantionări/sec orice câştig setat 100 k eşantionări/sec AT-MIO-16(H/L)-9 Achiziţie de date multicanal: AT-MIO-16(H/L)-25 câştig = 1. 5. Scanarea multi-canal de tip round-robin (cu channel clock) Canal Interval inter-canal Interval scanare Fig.). 6. 4. 2. Canal Interval inter-canal Fig. Achiziţia multi-canal cu intervale de scanare (cu scan clock şi channel clock) Pe timpul achiziţiei de date mono-canal. Dacă sunt utilizate ambele semnale de ceas (de scanare şi de canal) atunci achiziţia multi-canal este cu intervale de scanare (Fig. 5). 6. 100 40 k eşantionări/sec câştig = 500 20 k eşantionări/sec câştig = 1. Tabelul 1. în acest caz fiind vorba de o scanare repetitivă la intervale egale.Dacă placa realizează o achiziţie multi-canal de tip roundrobin. toate datele de conversie analog-numerică sunt citite de la un singur canal. este utilizat doar semnalul de ceas de canal (Fig. memoria mux-gain este setată să selecteze amplificarea canalului analogic de intrare înainte de iniţializarea achiziţiei de date. 8 100 k eşantionări/sec AT-MIO-16(H/L)-9 câştig = 10 100 k eşantionări/sec câştig = 100 70 k eşantionări/sec câştig = 500 20 k eşantionări/sec 153 .

Achiziţia de date poate fi iniţiată ca şi în modul posttrigger. După ce are loc comutarea intrării multiplexoarelor. Achiziţia posttrigger (posttrigger-are) se poate iniţializa prin software sau prin aplicarea unui impuls pe intrarea STARTTRIG* a conectorului I/O al plăcii AT-MIO-16 (pentru identificarea pinilor conectorului I/O a se vedea capitolul 4). La terminarea achiziţiei. adică după ce întregul buffer este completat. achiziţia este stopată. Timpul de răspuns depinde de amplificarea selectată şi de alţi factori cum ar fi: modulul de amplificare SCXI (dacă este utilizat). Numărul de eşantioane salvate în buffer depinde de lungimea acestuia (specificată de utilizator) şi de numărul specificat de eşantioane de achiziţionat după apariţia semnalului de trigger. datele sunt stocate de la început prin suprascrierea datelor celor mai vechi. AI trebuie să permită stabilizarea valorii unui nou semnal de intrare înaintea realizării conversiei. Atunci când se citesc mai multe canale (achiziţii multi-canal). Placa colectează datele într-un buffer precizat de utilizator (fără a număra eşantioanele şi fără oprire) până când recepţionează un impuls pe intrarea STOPTRIG a conectorului I/O. datorat comutării de pe un canal pe altul. 154 . impedanţa sursei care se măsoară. După aceasta. Bufferul este tratat ca un buffer circular. placa va colecta un număr specificat de eşantioane după care stopează achiziţia. în caz contrar precizia dorită nu va fi realizată. bufferul conţine eşantioane atât de dinaintea cât şi după apariţia semnalului trigger. prin software sau prin aplicarea unui impuls pe STARTTRIG*. În cadrul modului pretrigger datele sunt achiziţionate şi înainte şi după primirea unui semnal trigger. După ce bufferul care stochează datele achiziţionate (de lungime specificată de utilizator) este plin. Placa AT-MIO-16 poate achiziţiona date mono-canal sau multi-canal prin utilizarea următoarelor moduri de achiziţie: modul posttrigger modul pretrigger modul dublu bufferat (double-buffered) modul AMUX-64T modul SCXI Modul posttrigger realizează achiziţia unui număr specificat de eşantioane după recepţionarea unui semnal trigger (de sincronizare). rata de achiziţie este limitată şi de timpul de stabilizare al multiplexoarelor şi AI.Mărimea ratei de scanare depinde de perioada de conversie a CAN şi de timpul necesar operaţiei sample-and-hold. setările filtrelor.

Modul AMUX-64T presupune utilizarea uneia sau mai multor plăci AMUX-64T pentru extinderea numărului de intrări analogice disponibile. Controllerul de achiziţie a datelor generează semnale de tact şi semnale care iniţiază operaţia de achiziţie de date. aici se apelează la un al doilea buffer. numărătorul 1 este disponibil pentru realizarea unor funcţii generale de numărare. channel clock etc. Dacă se citeşte numai un canal sau se opreşte tactul. al cărui rol în cadrul circuitului de intrări analogice poate fi observat în Fig. • Numărătorul 2 se foloseşte implicit pentru generarea tactului de citire multi-canal. fie surse externe. Semnalele analogice se conectează în acest caz la placa AMUX-64T şi nu la placa AT-MIO-16. atunci când intervalul de citire (scan interval) este diferit de 0. 155 .Modul de achiziţie de tip double-buffered utilizează o tehnică asemănătoare cu modul pretrigger. 7): • Numărătorul 1 se foloseşte pentru citirea automată multicanal cu placa AMUX-64T sau cu module SCXI. În acest ultim caz semnalele provin din exterior prin conectorul I/O al AT-MIO-16 sau de la alte plăci din seriile AT conectate la magistrala RTSI. iniţiază fiecare conversie analog-numerică. Modul SCXI presupune utilizarea unor plăci (module) de condiţionare a semnalelor SCXI. Controllerul de achiziţie a datelor şi circuitul de generare a semnalelor de tact (Timing I/O) Placa AT-MIO-16 conţine un circuit de control al achiziţiei de date. numărătorul 2 este disponibil pentru diverse funcţii generale de numărare. Circuitul Am9513A pe 16 biţi conţine 5 numărătoare (schema bloc a unui numărător este prezentată în Fig. 2. Acest controller permite generarea de semnale de tact (cum ar fi scan clock. Sursele pentru aceste semnale sunt fie numărătoarele circuitului Am9513A de pe placă.4. înainte ca acestea să fie suprascrise. completând bufferul specificat de utilizator în mod continuu.) pentru controlul automat al conversiilor analog-numerice incluzând totodată şi opţiuni avansate cum ar fi triggerare externă şi generare semnale de ceas. care preia datele vechi din primul buffer. Numărătorul 2 poate fi utilizat pentru generarea de semnale de tip formă de undă (waveform). Dacă nu se utilizează nici una dintre acestea. validează operaţiile de achiziţie de date. Spre deosebire de modul pretrigger. 4.

achiziţia de date se desfăşoară în mod continuu. scriind şi rescriind date în buffer.conversion pulse – este un semnal care generează un impuls la fiecare perioadă de eşantionare.535. Acest semnal poate fi generat intern de către placă. • Numărătorul 4 este rezervat pentru numărarea eşantioanelor în cadrul achiziţiei de date. iniţializând conversia analognumerică. În caz contrar numărătorul 5 este disponibil pentru realizarea unor funcţii generale de numărare.sample counter – înregistrează numărul conversiilor analognumerice (eşantioanelor) şi stopează achiziţia de date atunci când a fost achiziţionat numărul specificat de eşantioane. prin aplicarea unui semnal de ceas la intrarea SOURCE5 a conectorului I/O.timebase clock – este un semnal de ceas care constituie baza de timp pentru controlul perioadei de eşantionare. .SOURCE Numărător GATE OUT Fig. fiind posibile frecvenţe de 1 MHz.stop trigger – este un semnal utilizat în cadrul achiziţiei pretrigger pentru a informa placa AT-MIO-16 că poate opri achiziţia de date atunci când a fost colectat numărul specificat de eşantioane.start trigger – este un semnal care iniţializează secvenţa de achiziţie de date. 156 . Până la aplicarea semnalului stop trigger la intrarea STOPTRIG a conectorului I/O. 100 KHz. Achiziţia de date presupune utilizarea următoarelor tipuri de semnale: . . 10 KHz. Acest semnal poate fi furnizat din exterior prin intrarea STARTRIG* a conectorului I/O sau prin software. • Numărătorul 5 este folosit dacă numărul de eşantioane este mai mare de 65. . . 1 KHz sau 100 Hz. sau din exterior. Semnalul poate fi generat de către 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 plăcii. Schema bloc a unui numărător din circuitul Am9513A • Numărătorul 3 generează tactul pentru controlul perioadei de eşantionare şi este totdeauna rezervat pentru operaţiile de achiziţie. 7.

Schema bloc a circuitului de generare a semnalelor de tact de uz general este prezentată în Fig. Fig. precum şi ca generator de frecvenţă. 8. 2 pentru înţelegerea rolului circuitelor de achiziţii de date şi timing I/O în cadrul arhitecturii generale a plăcii). Funcţionarea ca numărător/generator de interval de timp şi ca generator de frecvenţă Funcţionarea ca numărător/generator de intervale de timp După cum s-a văzut în paragraful precedent. 2. placa AT-MIO16 conţine circuitul integrat de numărare / sincronizare Am9513A care are 5 numărătoare/temporizatoare individuale pe 16 biţi şi generator de frecvenţă. programabil. programabil pe 4 biţi. 8.5.Circuitul de numărare/sincronizare Am9513A este utilizat şi de către circuitul de generare a semnalelor de tact pentru generarea unor semnale de tact şi numărare de uz general (a se vedea Fig. Pentru operaţiile de numărare. numărătoarele pot utiliza diverse baze de timp. Schema circuitului de generare a semnalelor de tact Circuitul de generare a semnalelor de tact permite funcţionarea plăcii ca numărător/generator de interval de timp. folosind fie semnalele furnizate la intrările 157 .

pe intrarea GATE sau provine de la un numărător de rang imediat inferior).ceas de 100 Hz (rezoluţie 10 ms). .declanşare pe nivel 1 logic al numărătorului n+1 numărătorul este activ atunci când intrarea GATE a numărătorului de rang imediat superior din listă este în 1 logic.SOURCE sau GATE. . fie bazele de timp interne furnizate de circuitul Am9513A.ceas de 10 KHz (rezoluţie 100 µs). fiind posibilă astfel concatenarea numărătoarelor (de exemplu.ceas de 100 KHz (rezoluţie 10 µs).ceas de 1 KHz (rezoluţie 1 ms). Sunt disponibile următoarele baze de timp interne: . 158 .declanşare pe nivel înalt (high-level gating) .numărătorul este activ când intrarea GATE este în 1 logic.declanşare pe front coborâtor . altfel numărarea este suspendată. . numărătorul este oprit când intrarea este în 1 logic. . . .numărătorul este activat pe frontul descrescător al semnalului de la intrarea pe poartă. .fără declanşare . .numărătorul se poate porni/opri prin soft.declanşare pe impulsul numărătorului inferior . un semnal pe intrarea SOURCE. . ceea ce conduce la crearea unui numărător pe 32 de biţi). Un numărător poate fi programat să utilizeze ca bază de timp ieşirea unui numărător de rang imediat inferior.numărătorul este activ când intrarea pe poartă (GATE) este în 0 logic. numărătorul este oprit când intrarea este în 0 logic.declanşare pe front crescător . .declanşare pe nivel scăzut (low-level gating) .ceas de 1 MHz (rezoluţie 1 µs).numărătorul este activat pe frontul crescător al semnalului de la intrarea GATE. numărătorul 2 poate fi programat să numere ieşirea numărătorului 3. Circuitul Am9513A are disponibile 8 moduri de declanşare: .numărătorul este activ când numărătorul de rang imediat inferior din listă termină numărarea şi generează un impuls terminal count. Intrarea GATE poate fi folosită pentru declanşarea sau oprirea unei operaţiuni de numărare. Un numărător poate fi configurat pentru numărare pe front coborâtor sau crescător al semnalului bază de timp (indiferent dacă acest semnal este o bază de timp internă.

Poate fi utilizată şi o referinţă externă. 159 . Fiecare canal de ieşire se poate configura prin folosirea de jumpere. unde Vref este tensiunea de referinţă externă (Vref este maximum 10 V). În modul terminal count toggle.6. de nivelul tensiunii de referinţă Vref şi de setarea polarităţii ieşirilor analogice.declanşare pe nivel 1 logic al numărătorului n-1 numărătorul este activ atunci când intrarea GATE a numărătorului de rang imediat inferior din listă este în 1 logic. Funcţionarea ca generator de frecvenţă programabil Placa AT-MIO-16H poate genera un semnal de ieşire cu frecvenţa programabilă. 0 logic sau 1 logic. În modul terminal count pulse. Tensiunile care se obţin la ieşirea convertoarelor numeric-analogice depind de valorile datelor din buffer. Circuitul de ieşiri analogice Placa AT-MIO-16 conţine 2 canale de ieşiri analogice. ieşirea numărătorului îşi schimbă starea (din 0 în 1 sau invers) atunci când ajunge la sfârşitul numărării şi reîncepe numărătoarea.. Fiecare canal de ieşire conţine un convertor numeric-analogic (CNA) pe 12 biţi. Acest semnal de ieşire are frecvenţa egală cu un divizor al frecvenţei semnalului bază de timp utilizat. Pentru generarea semnalului de frecvenţă programabilă (disponibil pe ieşirea FOUT a conectorului I/O) se poate utiliza oricare din bazele de timp interne (de la 1 MHz la 100 Hz) sau intrările SOURCE sau GATE ale numărătoarelor de pe placă. Pentru canalele de ieşire este disponibilă o tensiune de referinţă de pe placă. sau 0÷Vref pentru configuraţia unipolară. de 10 V. ieşirea acestuia se poate seta în una din cele 3 stări: impedanţă înaltă. numerotate 0 şi 1. numărătorul generează un impuls la ieşire atunci când ajunge la sfârşitul numărării (adică la 65535 – 16 biţi – pentru numărare crescătoare sau la 0 pentru numărare descrescătoare) şi reîncepe numărătoarea. pe 4 biţi. Dacă numărătorul nu lucrează. altfel numărarea este suspendată. 2. Un numărător generează două tipuri de semnale la ieşire: un semnal numit terminal count pulse sau un semnal terminal count toggle. pentru intervalele -10÷10 V (bipolar) sau 0÷10 V (unipolar). caz în care limitele de ieşire sunt între Vref şi Vref pentru configuraţia bipolară.

Diagrama bloc a circuitului de ieşiri analogice este prezentată în Fig. Amplificatoarele de instrumentaţie de ieşire convertesc curentul de ieşire al CNA în tensiune de ieşire furnizată la pinii DAC0 OUT şi DAC1 OUT ai conectorului I/O. 9. jumpere de selectare a referinţei şi jumpere de selectare a ieşirii unipolare/bipolare. Fiecare CNA poate fi încărcat cu un cod numeric pe 12 biţi. sunt prevăzute cu amplificatoare operaţionale de instrumentaţie (AO). Fig. 9. Schema bloc a circuitului de ieşiri analogice 160 .LabVIEW sau funcţii specializate din driverele NI-DAQ) pot scrie continuu valori pe unul sau pe ambele canale de ieşire.Observaţie: Funcţiile de generare de forme de undă – waveform – (de tip Instrument Virtual VI . pentru aceasta se foloseşte 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. pe lângă CNA-uri. Circuitul de ieşiri analogice conţine cele două canale de ieşire. care. CNA-ul de pe fiecare canal de ieşire analogică generează un curent proporţional cu tensiunea de intrare de referinţă (Vref) multiplicată prin codul numeric încărcat în CNA.

c.048.9976V în paşi de 2. ceea ce înseamnă că semnalul este inversat pentru codurile numerice 0÷2.048. Circuitul pentru intrări/ieşiri numerice Placa AT-MIO-16 dispune de opt linii numerice de intrare/ieşire. În cod binar natural. şi semnalul de c. Tensiunea de referinţă internă este o versiune bufferată a referinţei de 10V furnizate la CAN. forma codului numeric de intrare este selectabilă prin jumpere.048 atenuează semnalul de intrare la 0V.88mV pentru ieşire bipolară. În modul complement faţă de doi.047 şi nu este inversat pentru codurile 2.7. Dacă este selectată forma în complement faţă de 2. 2.048)/2. Această atenuare este echivalentă cu multiplicarea semnalului cu (cuvânt numeric cu cod -2. Cei 4 biţi ai unui port se numesc ADIO şi BDIO (Digital Input/Output A. Pentru ieşire bipolară 1LSB = Vref /2.a. Ieşirea bipolară furnizează un domeniu de tensiune de la -Vref la +Vref -1LSB V. Folosind referinţa internă se obţine un domeniu de tensiuni de ieşire între 0V şi 9. 0V corespund cuvântului numeric cu codul zero. acesta se poate citi 161 . cuvântul numeric cu codul 2.. Pentru ieşirea bipolară.a. divizate în două porturi I/O de 4 biţi fiecare notate portul 0 şi portul 1. Pentru ieşire unipolară 1LSB = Vref /4. cuvântul numeric cu codul zero atenuează semnalul de intrare la 0V. 0V la ieşire corespund unui cuvânt numeric cu codul 2. Pentru ieşirea unipolară avem un domeniu de tensiune de ieşire de la 0 la +Vref -1LSB V.096. Oricare port configurat ca port de ieşire are posibilităţi read-back (deşi este port de ieşire. primită pe intrarea EXTREF. Ieşirea bipolară cu referinţă de c. Porturile 0 şi 1 pot fi configurate ca porturi de intrare sau de ieşire. 0V la ieşire corespund la un cuvânt numeric cu codul zero.Ieşirea circuitelor CNA+AO poate fi configurată prin jumpere să furnizeze un domeniu de ieşire unipolară sau bipolară. respectiv B). În cod binar natural. sau c. Dacă este aplicată o referinţă de c. Pentru ieşirea unipolară.9951V în paşi de 4.095.048. apare la ieşire atenuat cu codul numeric divizat la 4. canalul de ieşire analogică acţionează ca un atenuator de semnal.a. Referinţa externă poate fi orice semnal de c. Sursa de tensiune de referinţă pentru fiecare CNA este selectabilă prin jumpere şi poate să fie internă sau externă.44mV pentru ieşire unipolară şi un domeniu de tensiuni de ieşire între -10V şi 9.096 pentru ieşirea unipolară. furnizează o multiplicare în 4 cadrane.a.048 ÷ 4.

de câte 4 linii fiecare. transferul datelor numerice se poate realiza în două moduri: modul no-handshaking (non-latched) sau modul handshaking (latched). Astfel. fără a exista un semnal de tip handshaking („strângere de mână”). Circuitul de intrări/ieşiri numerice 162 . sunt localizate la pinii ADIO 3…0 şi BDIO 3…0 ai conectorului I/O al plăcii. 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 ieşire sau dacă a trimis date la un port de intrare. În modul handshaking. În primul caz se realizează un transfer simplu al datelor către un port de ieşire (scriere) sau dinspre un port de intrare (citire). în timp ce aplicaţiile de comunicaţii de date (cum ar fi transferul de date între calculatoare) utilizează modul handshaking. 10. În Fig. Fig. un port numeric I/O preia datele de la intrare atunci când recepţionează un semnal handshake sau generează un semnal handshake atunci când sunt scrise date la ieşire. Aplicaţiile de conducere sau de monitorizare a proceselor utilizează de regulă modul no-handshaking. Cele două porturi ale plăcii. Observaţie: În general. Porturile numerice ale plăcii operează numai în mod non-latched (no-handshaking). 10 este prezentată schema bloc a circuitului pentru intrări/ieşiri numerice.şi se pot obţine valorile numerice).

Comutatorul RTSI (RTSI Switch) din Fig. Atunci când un port (A sau B) este activat. În Fig. Liniile numerice ADIO 3…0 furnizează biţii 3…0 ai DIR. plăci care partajează semnalele de pe această magistrală.8. obţinându-se o schemă de interconectare flexibilă pentru plăcile de tip AT-MIO care gestionează magistrala RTSI. 11 este prezentat circuitul de interfaţă cu magistrala RTSI. Comutatorul RTSI permite controlul liniilor de trigger prin semnalele conectate la pinii A6…0 sau viceversa. Comutatorul RTSI poate fi programat prin intermediul intrării de selecţie /SEL şi intrării de date DATA. biţii 7…4 din DOR sunt transmişi către liniile numerice BDIO 3…0. 2. VI-urile numerice accesează portul ADIO ca port 0 şi portul BDIO ca port 1. biţii 3…0 din DOR sunt trimişi către liniile numerice ADIO 3…0.Circuitul de intrări/ieşiri numerice conţine un Registru de Ieşiri Numerice DOR care controlează ieşirile numerice şi un Registru de Intrări Numerice DIR care monitorizează intrările numerice. Circuitul de interfaţă cu magistrala RTSI are 7 linii trigger şi o linie pentru ceasul de sistem şi permite utilizarea mai multor plăci NI din seria AT în acelaşi PC. Atunci când portul 1 este activat. Atunci când portul 0 este activat. Circuitul de interfaţă cu magistrala RTSI RTSI Bus este magistrala RTSI (Real-Time System Integration) cu care se pot interfaţa toate plăcile din seria National Instruments AT. 163 . iar liniile numerice BDIO 3…0 furnizează biţii 7…4 ai DIR. DIR returnează starea liniilor numerice I/O furnizată de un dispozitiv extern. Registrul DOR (Digital Output Register) este un registru pe 8 biţi care conţine valorile numerice de ieşire atât pentru portul 0 cât şi pentru portul 1. Prin citirea registrului DIR (Digital Input Register) se citeşte de fapt starea liniilor numerice I/O. Observaţie: Pentru controlul porturilor de pe placă se pot folosi VI-uri pentru I/O numerice (a se vedea biblioteca LabVIEW Data Acquisition DAQ). returnând valoarea numerică a portului respectiv. Atunci când un port nu este activat. 11 este un circuit integrat NI care are pinii B6…0 conectaţi la 7 linii de trigger ale magistralei RTSI şi pinii A6…0 la şapte semnale ale plăcii AT-MIO16. DIR serveşte ca un registru read-back.

Circuitul de interfaţă cu magistrala RTSI 164 . 11.Fig.

după metodologia descrisă în continuare. 3. Dacă setările implicite pentru adresa I/O de bază. Jumperele W12 şi W13 selectează canalul DMA. 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 W2. W7. 12. W10 şi W11 configurează circuitul de ieşiri analogice. Configurarea plăcii AT-MIO-16H Placa AT-MIO-16H conţine 13 jumpere (ştrapuri) şi un comutator DIP pentru configurarea interfeţei cu magistrala AT şi setarea intrărilor şi ieşirilor analogice (Analog I/O settings). respectiv. şi nivelul de întrerupere 10. Această setare implicită este prezentată în Tabelul 2. Cele 11 jumpere rămase sunt folosite pentru a schimba configuraţia circuitelor de intrări şi ieşiri analogice. Interfaţa cu magistrala AT AT-MIO-16H este configurată implicit cu o adresă I/O de bază egală cu 220H. Comutatorul DIP este folosit pentru setarea adresei I/O de bază. nivelul de întrerupere. să folosească canalele DMA 6 şi 7.3. Două jumpere sunt folosite pentru selectarea canalului de întrerupere şi pentru accesul direct la memorie (DMA – Direct Memory Access). Dispunerea jumperelor pe placă este prezentată în Fig. W8. W6 şi W9 configurează circuitul de intrări analogice. Setările implicite ale interfeţei cu magistrala AT Adresa I/O de bază 220 H Se selectează prin Domeniu: 220 H – 23F H poziţionarea microcomutatoarelor din DIP U61 W12: R6: A-B A6: A-B W12: R7: B-C A7: B-C W13: Rândul 10 Canal DMA DMA1 = Canal DMA 6 DMA2 = Canal DMA 7 Nivel de întrerupere Nivel de întrerupere selectat – 10 165 . atunci aceste setări trebuie modificate fie pentru dispozitivul deja instalat în calculator fie pentru placa ATMIO-16. canalul DMA sau nivelul de întrerupere determină intrarea în conflict cu un alt dispozitiv (placă) al sistemului. Jumperele W1.1. W4. Tabelul 2. W3.

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

A0) sunt decodificaţi de AT-MIO-16 pentru a selecta registrul AT-MIO-16 corespunzător. Trebuie verificat dacă acest spaţiu nu este deja folosit de alt dispozitiv instalat în calculator. Dacă alt echipament din calculator foloseşte acest spaţiu de adresă I/O de bază. Cei mai puţini semnificativi 5 biţi (LSB) ai adresei (A4. 13. Setarea comutatoarelor pentru o adresă I/O de bază egală cu 220 H (setare implicită) Fig. spaţiul de adresă I/O de bază folosit de AT-MIO-16 este cuprins între 220 H şi 23F H. Porţiunea înnegrită indică partea micro-comutatorului care este apăsată. 13 prezintă două posibile stări ale micro-comutatoarelor. A3. Fig. Dacă se apasă partea marcată OFF se selectează valoarea binară 1 pentru bitul de adresă corespunzător. 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 către pachetul software National Instruments ataşat plăcii AT-MIO-16. A2. Fiecare micro-comutator din U61 corespunde uneia din liniile de adresă de la A9 la A5.3. A1. Cu setarea iniţială realizată de firma constructoare. Dacă se schimbă adresa I/O de bază a AT-MIO-16.1. iar dacă se apasă partea marcată ON se selectează valoarea binară 0 pentru bitul de adresă corespunzător. Exemple de stabilire a adresei I/O de bază 167 . 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.1. trebuie schimbată adresa I/O de bază a plăcii AT-MIO-16 sau a celuilalt dispozitiv. trebuie făcută o modificare corespunzătoare în pachetul NI-DAQ ce va fi folosit cu AT-MIO-16. Selectarea adresei I/O de bază Adresa I/O de bază pentru AT-MIO-16 este determinată de poziţia micro-comutatoarelor din soclul comutatorului DIP U61.

Trebuie verificat dacă aceste canale DMA nu sunt deja folosite de echipamente instalate pe calculator. atunci se pot face setările din Fig. 14. Canalele DMA recunoscute de hardware-ul AT-MIO-16 sunt 5.1. a) Selectarea canalului DMA 6. Configurarea DMA implicită a) b) Fig. câte unul pentru DMA Acknowledge(A) şi DMA Request (R). sau nu se doreşte utilizarea DMA. Dacă se doreşte folosirea numai a canalului DMA 6. 15. Când se folosesc două moduri DMA notate DMA1 şi DMA2. cele două coloane din stânga ale W12 sunt folosite de DMA1. iar cele două din dreapta de DMA2. Acestea sunt canalele DMA implicite folosite de utilizatorul AT-MIO-16. Din fabrică AT-MIO-16 este setată să folosească canalele DMA 6 şi 7 pentru modul DMA-dual.3.2. În Fig. Pentru a selecta un canal DMA trebuie instalate două jumpere. 6 şi 7. Dacă un alt dispozitiv foloseşte canalele DMA 6 şi/sau 7. W 12 1 DMA 2 Fig. 15. fie de celalalt dispozitiv. Trebuie remarcat faptul că placa nu poate folosi decât canale DMA de 16 biţi. b) Neutilizare DMA 168 . 14 este prezentată setarea implicită. trebuie schimbat canalul DMA folosit fie de AT-MIO-16. Selectarea canalelor DMA Canalul DMA folosit de AT-MIO-16 este selectat prin ştrapurile de pe W12.

IRQ12. 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. IRQ11. AT-MIO-16 poate împărţi liniile de întrerupere cu alte dispozitive. Selectarea întreruperilor Placa AT-MIO-16H poate fi conectată la oricare din cele 11 linii de întrerupere ale canalului I/O al PC-AT. prin folosirea unui driver three-state (TS) pentru a comanda selectarea liniilor de întrerupere. 17. 16. Linia de întrerupere implicită este IRQ10 şi ea este selectată prin plasarea unui ştrap pe pinii din şirul 10 (Fig. IRQ7. IRQ9. IRQ14 şi IRQ15.3. nu se folosesc întreruperile 6 şi 14. 16). IRQ6. În general. IRQ5. 169 .3. Jumperul pentru setarea întreruperilor este în soclul W13. Fig. Pentru a folosi posibilităţile de întrerupere ale AT-MIO-16 trebuie selectată linia de întrerupere şi poziţionat un jumper în poziţia corespunzătoare ce validează această linie de întrerupere.1. 17. Liniile de întrerupere suportate de hardware-ul AT-MIO-16 sunt IRQ3. Fig. IRQ10. care sunt de regulă folosite de către controllerul de floppy disk şi de către controllerul de hard disk. IRQ4.

generator de semnal de ceas AT-MIO-16 setat la 10MHz. Setarea jumperelor pentru configurarea I/O analogice Configuraţie Setări 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 intrării Diferenţială (DIFF) W6: A-C. C-D Semnal de ceas RTSI = 10 MHz Referinţa Internă (setare fabrică) W3: B-C CNA0 Externă W3: A-B Referinţa Internă (setare fabrică) W2: B-C CNA1 Externă W2: A-B Polaritate ieşire 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 ieşire 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 . E-F = Semnalul de ceas RTSI Semnal de ceas AT-MIO-16 & W5: A-B. C-E. Configurarea intrărilor şi ieşirilor analogice AT-MIO-16 este setată din fabrică în configuraţia: intrare analogică diferenţială (8 canale). cu referinţă internă. două CNA. C-D. E-F Am9513A & = 10 MHz (setare fabrică) RTSI Bus Semnal de ceas AT-MIO-16 = W5: A-B.3. B-D. ieşire analogică bipolară. În Tabelul 3 este prezentată configurarea intrărilor şi ieşirilor analogice ale plăcii prin intermediul jumperelor. G-H Referenced single-ended (RSE) W9: B-C Selectare ceas Semnal de ceas AT-MIO-16 = W5: C-D. domeniu de ieşire ±10V. E-F analogice (setare fabrică) W9: A-B Asimetrică fără referinţă W6: A-B. Tabelul 3. G-H Nonreferenced single-ended W9: B-C (NRSE) Asimetrică W6: A-B. cod binar bipolar complement faţă de doi. domeniu de intrare ±10V.2.

fiecare semnal de intrare în parte are propria sa referinţă şi este măsurată diferenţa dintre fiecare semnal în parte şi propria sa referinţă. Tipurile intrărilor analogice Placa AT-MIO-16 permite trei tipuri diferite de intrări analogice: intrare asimetrică (single-ended) fără referinţă (NRSE – NonReferenced Single-Ended input). setare implicită).2. Semnalul şi referinţa sa sunt asignate unui canal de intrare. Atunci când tipul intrării este DIFF. 171 . Pentru intrările tip single-ended sunt disponibile 16 canale iar pentru intrările diferenţiale 8 canale. Cu această configuraţie de intrare. intrare asimetrică cu referinţă (RSE – Referenced Single-Ended input). şi intrare diferenţială (DIFF – Differential input).conţine 16 intrări tip single-ended cu intrarea negativă a amplificatorului de instrumentaţie legată la AI SENSE şi neconectată la referinţă (masa analogică) DIFF RSE NRSE 1. 18. Tipurile intrărilor analogice pentru AT-MIO-16 Tip intrare Descriere Configuraţie diferenţială: conţine 8 intrări diferenţiale cu intrarea negativă (-) a amplificatorului de instrumentaţie legată la ieşirea multiplexorului corespunzătoare canalelor 8÷15 Configuraţie cu referinţă tip single-ended . Prin poziţionarea corespunzătoare a jumperelor se pot modifica tipul intrărilor. iar modul de poziţionare a jumperelor în Fig.3.conţine 16 intrări tip single-ended cu intrarea negativă (-) a amplificatorului de instrumentaţie legată la referinţa de masă analogică (referinţă) Configuraţie fără referinţă single-ended . Tabelul 4.1. Intrare diferenţială (DIFF) (opt canale. Configurarea intrărilor analogice Placa AT-MIO-16 dispune de 16 canale de intrări analogice cu amplificare programabilă şi conversie analog-numerică pe 12 biţi. polaritatea şi domeniul de intrare. Descrierea tipurilor de intrare este prezentată în Tabelul 4. AT-MIO-16 poate monitoriza opt semnale analogice diferite de intrare.

Intrarea bipolară presupune că acest domeniu este între . AT-MIO-16 poate monitoriza 16 surse de semnal analogic.Vref şi + Vref. unul de 10 V şi altul de 20 V. Intrare NRSE (16 canale). 172 . Intrările negative ale amplificatorului diferenţial de intrare sunt legate la masa analogică (circuitul analogic). unde Vref este o tensiune de referinţă pozitivă. Polaritatea şi domeniul de intrare AT-MIO-16 oferă două posibilităţi pentru polaritatea intrărilor analogice: intrare unipolară şi intrare bipolară. 3. Dacă tipul intrării este RSE atunci toate semnalele de intrare sunt raportate la un punct de masă comun şi acesta este de asemenea legat la masa intrării analogice pe placa ATMIO-16. diferite. Intrarea unipolară presupune un domeniu de intrare între 0 şi Vref. Această configuraţie este uzuală atunci când măsurăm surse de semnal raportate la masă.Fig. 18. Această configuraţie este utilă atunci când sunt măsurate sursele flotante de semnal. Intrare RSE (16 canale). dar această tensiune de mod comun este lăsată flotantă faţă de masa analogică a plăcii AT-MIO-16. AT-MIO-16 poate măsura 16 semnale analogice de intrare. Cu această configuraţie de intrare. Cu această configuraţie de intrare. Placa AT-MIO-16 are două domenii de intrare. În cazul intrării tip NRSE toate semnalele de intrare sunt raportate la aceeaşi tensiune de mod comun. Setarea tipului intrărilor analogice 2.

Selectarea polarităţii sau gamei domeniului semnalului de intrare se face în funcţie de domeniul şi polaritatea semnalului efectiv care se conectează la intrările analogice ale plăcii. 19. bitul MSB al rezultatului conversiei analog-numerice (adică bitul 11) este inversat şi extins la biţii 15 – 12.048 şi 2.096. Setări posibile pentru polaritatea şi domeniul de intrare Un circuit de extensie pentru semn permite adăugarea a 4 biţi MSB la ieşirea pe 12 biţi a bufferului FIFO al circuitului de conversie analog-numerică. ADC Range . respectiv a bufferului FIFO). B . Circuitul de extensie pentru semn este programabil software şi poate genera cod binar natural sau cod complement faţă de doi. dacă semnalul de intrare este garantat că nu va fi negativ (va fi deci peste 0 V). după cum se prezintă în Fig. rezultând măsurări imprecise. În modul cod binar natural. atunci pentru măsurarea acestuia este mai potrivită o intrare unipolară.Selectarea polarităţii şi a domeniului de intrare se poate realiza în trei moduri posibile. 19. De exemplu. 173 . Dacă semnalul poate fi şi negativ. În modul cod complement faţă de doi. furnizând un domeniu între –2. biţii 15 până la 12 sunt totdeauna zero (biţii 11 până la 0 reprezintă ieşirea CAN.Analog to Digital Converter Range = Domeniul CAN U – Unipolar.Bipolar Fig. ceea ce permite obţinerea unui domeniu între 0 şi 4. Un domeniu de intrare mai larg poate face posibilă conectarea la semnale cu variaţie mai mare dar se sacrifică rezoluţia (precizia). Folosind un domeniu de intrare mai îngust se creşte precizia conversiei analog-numerice în schimb semnalul de intrare poate ieşi din domeniu.047.

25 V -5.5 V -2.+10 V 3. Placa de achiziţii ATMIO-16H are amplificări de 1... precizia atinsă şi amplificarea obţinută pentru placa AT-MIO-16H...+2. Pentru a putea creşte flexibilitatea utilizării plăcii de achiziţii se pot folosi amplificări programabile software.5 V -1..1. 2.2. 10. 100 şi 500 şi este proiectată să măsoare semnale de nivel scăzut. care trebuie să fie cuprins între -10V.+0.5 V 0.1.625.25 V Precizia 2..5.25...22 mV 610 µ V 305 µ V 2. 174 .1.. 8 şi se pretează la semnale de nivel înalt.625 V -10..44 mV 1.+2......2.+10 V -5.+5 V 1 2 4 8 1 2 4 8 Domeniul efectiv de intrare 0...+10V. Placa AT-MIO-16L are amplificări de 1.25 V -0..22 mV 610 µ V -10.. întreaga rezoluţie a CAN poate fi folosită pentru măsurarea cât mai precisă a semnalului de intrare. Selectarea semnalului de referinţă pentru CNA Fiecare dintre cele două CNA (pe 12 biţi) poate fi conectat de către AT-MIO-16H la referinţa internă de 10V sau la un semnal de referinţă extern.25.. se pot selecta diverse configuraţii pentru ieşirile analogice.5.88 mV 2. 4..atunci citirea va fi eronată şi în acest caz este recomandată intrarea bipolară..5 V -1.... Tabelul 5..+5 V -2.10 V 1 2 4 8 -5.2..5 V 0..44 mV 1.. Cu amplificarea setată în mod adecvat. Configurarea ieşirilor analogice În mod asemănător cu intrările analogice. Tabelul 5 prezintă domeniile generale de intrare.44 mV 1.. Domeniul efectiv de intrare şi precizia de măsurare în funcţie de domeniul de intrare şi de amplificare Domeniul de Amplificarea intrare 0.22 mV 610 µ V 305 µ V 4..10 V 0..

conectarea referinţei de pe placă la intrarea de referinţă a CNA0. O configuraţie unipolară are gamă de variaţie între 0 şi Vref . .canal analogic de ieşire 0: W3 A-B . Amândouă canalele trebuie să fie configurate în acelaşi mod (fie referinţă internă. 20.conectarea referinţei de pe placă la intrarea de referinţă a CNA1. Cele două tipuri de configuraţii posibile pentru referinţa CNA sunt prezentate în Fig. fie referinţă externă). Nu este nevoie ca ambele canale să fie configurate 175 . O configuraţie bipolară are o gamă de variaţie între – Vref şi +Vref. .Conectarea la referinţa externă se realizează prin legarea acestui semnal de referinţă la pinul EXTREF de pe conectorul I/O. Selectarea semnalului de referinţă externă pentru fiecare canal analogic de ieşire se realizează cu ajutorul jumperelor: .semnalul de referinţă extern conectat la referinţa CNA1.canal analogic de ieşire 1: W2 B-C . 20. Fig. fie o referinţă furnizată extern. Semnalul aplicat pe EXTREF trebuie să fie cuprins între -10V şi +10V.canal analogic de ieşire 0: W3 B-C .canal analogic de ieşire 1: W2 A-B .semnalul de referinţă extern conectat la referinţa CNA0. Vref este tensiunea de referinţă folosită de CNA şi poate fi fie tensiunea internă de referinţă de +10V a plăcii. Setarea referinţei de 10 V de pe placă (setare implicită) pentru fiecare canal analogic de ieşire se face prin setarea următoarelor jumpere: . Setarea jumperelor pentru configurarea referinţei CNA Selectarea polarităţii ieşirii analogice Fiecare canal de ieşire analogică poate fi configurat fie ca unipolar fie ca bipolar.

ambele canale sunt configurate pentru ieşiri bipolare.cod complement faţă de 2 pentru canalul 0: W10: A-B . În cazul utilizării codului complement faţă de doi.canal analogic de ieşire 0: W8 A-B . Setarea ieşirilor – configuraţie unipolară.canal analogic de ieşire 1: W7 B-C Selectarea codificării datelor Pentru codificarea datelor se poate utiliza fie codul binar natural (normal). implicit.cod binar natural pentru canalul 1: W11 B-C . valoarea datelor scrise la canalul analogic de ieşire este în domeniul 0 până la 4. Selectarea ieşirii bipolare (setare implicită).cod binar natural pentru canalul 0: W10 B-C .047 zecimal (F800 H .cod complement faţă de 2 pentru canalul 1: W11: A-B Fig.095 zecimal (0 . cod binar natural 176 . Pentru codul binar natural. Selectarea configuraţiei bipolare de ieşire pentru fiecare canal analogic de ieşire se face prin setarea următoarelor ştrapuri: . Selecţia configuraţiei unipolare de ieşire pentru fiecare canal analogic de ieşire se face prin realizarea următoarelor ştrapuri: . valoarea datelor scrise la canalul analogic de ieşire este în domeniul -2.07FF H). 21.048 până la 2.0FFF H).canal analogic de ieşire 0: W8 B-C . Selectarea codului utilizat se realizează prin intermediul jumperelor W10 (pentru CNA0) şi W11 (pentru CNA1): .canal analogic de ieşire 1: W7 A-B Selectarea ieşirii unipolare. fie codul complement faţă de doi.identic din punct de vedere al polarităţii.

Circuite de izolare galvanică şi condiţionare semnal De regulă. cu cost redus şi de înaltă performanţă. semnalele de ieşire analogică care provin de la placa de achiziţie sunt furnizate către proces prin intermediul unor circuite exterioare care asigură izolarea galvanică precum şi conversii de tip tensiune-curent. 21 este prezentată configurarea ieşirilor analogice unipolare. Astfel de circuite pot fi de tip SCXI sau circuite modulare din seria 5B. iar codul complement faţă de doi pentru ieşiri bipolare. De asemenea. 3. 22.2.3. Schema de conectare între sistemul de achiziţie şi proces prin placa cu module de izolare galvanică şi terminale de cuplare 177 . în Fig. Pentru exemplificare. cod binar natural. Fig. semnalele de intrare analogice se aplică pe intrările plăcii AT-MIO-16 prin intermediul unor circuite exterioare care au rolul de izolare galvanică pentru protecţia plăcii şi a calculatorului dar realizează şi anumite funcţiuni de condiţionare de semnal.Codul binar natural este folosit de regulă pentru ieşiri unipolare.

care permite setarea în regim de ceas local.+5V.+5V în curenţi pentru procesul comandat între 4. este posibil să se dorească ca toate plăcile să folosească acelaşi ceas de 10MHz.Circuitele de condiţionare de semnal modulare din seria 5B. Modulele din gama 5B31 acceptă la intrare semnale de tensiune de ordinul volţilor şi oferă la ieşire tensiune unipolară sau bipolară... Modulele din gama 5B41 acceptă la intrare semnale de tensiune de bandă largă de ordinul volţilor şi oferă la ieşire tensiune unipolară sau bipolară..+5V..20 mA sau 0.. 22 este prezentată schema de conectare între sistemul de achiziţie (PC – AT-MIO-16) şi proces prin intermediul unei plăci externe care conţine module de izolare galvanică şi terminale de cuplare la proces.. Pentru 5B31-02 domeniile de intrare şi de ieşire sunt identice. Fiecare placă de achiziţie AT cu interfaţă RTSI are implicit un oscilator de 10MHz. proiectate pentru aplicaţii industriale. ceas slave sau ceas master (Tabelul 6).+5V.+5V sau între -5. 3. Pentru configurarea semnalului de ceas se utilizează jumperul W5.. utilizaţi pentru comanda procesului condus. o placă poate conduce prin intermediul semnalului de ceas din magistrala proprie RTSI.. Modulele de ieşire convertesc tensiuni unipolare între 0.2. şi 5B41-02.4..... Modulele de intrare izolate furnizează ieşiri (către placa de achiziţie AT-MIO-16 din calculator) între 0. încorporează izolatoare galvanice şi au dimensiuni şi dispuneri ale terminalelor identice. Acest aranjament este folositor pentru aplicaţii care cer sincronizarea plăcilor. În Fig... în funcţie de tipul constructiv. În acest fel. adică -5V. Semnalul de ceas.20 mA. iar celelalte plăci pot recepţiona acest semnal sau se pot deconecta şi utilizează propriul ceas. 178 ... Laboratorul dispune de două module de intrări cu izolare galvanică din seria 5B31-02. adică -5V. Pentru 5B4102 domeniile de intrare şi de ieşire sunt identice. furnizat local sau de magistrala RTSI este divizat cu 10 şi este utilizat de către circuitul de numărare Am9513A.+5V sau bipolare între -5V. Selectarea ceasului prin magistrala RTSI Atunci când mai multe plăci de achiziţie AT sunt conectate via magistrala RTSI.

Tabelul 6. Selectarea semnalului de ceas Tip semnal de ceas Ceas local Descriere Se foloseşte oscilatorul local de pe placă ca şi generator de semnal de ceas (setare implicită) Se primeşte semnalul de ceas de pe magistrala RTSI Furnizează semnalul de ceas pentru magistrala RTSI şi semnalul de ceas al plăcii 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 .

0 sunt următoarele: .domeniul diferenţial de intrare ±10 V. iar semnalele conectate la ACH 15. 23. Domeniile de intrare şi valorile maxime care pot fi aplicate la intrările ACH 15. Conectorul I/O este amplasat pe placă (a se vedea Fig. . semnalele conectate la ACH 15. În modul diferenţial DIFF. surse de alimentare pe partea numerică (digital power connections) şi semnale de sincronizare (timing signals). Semnalele de intrare analogică conectate la pinii AIGND sunt legate la masa analogică a plăcii AT-MIO-16.1. semnalele conectate la ACH 7…0 sunt direcţionate spre intrarea pozitivă a amplificatorului de instrumentaţie.0 şi sunt legaţi la cele 16 canale de intrări analogice ale plăcii AT-MIO-16. Pinii de la 3 la 18 sunt notaţi ACH 15. Pinul 19 este numit AISENSE.. 180 ..domeniul de intrare ±12 V în raport cu AIGND.. .. Conexiunile plăcii AT-MIO-16 Asignarea pinilor pentru conectorul I/O (intrare/ieşire) al plăcii AT-MIO-16 este prezentată în Fig..4. 4.0 sunt direcţionate spre intrarea pozitivă a amplificatorului de instrumentaţie al AT-MIO-16. În modul singleended. Conexiuni pentru intrări analogice Pinii 1 până la 19 de pe conectorul I/O sunt pinii de intrări analogice. 12) şi este accesibil la partea din spate a calculatorului după instalarea corectă a plăcii în acesta..valori maxime ale tensiunii de intrare: . . semnale numerice I/O. iar în modul DIFF este conectat la masa de referinţă a amplificatorului de instrumentaţie..8 spre intrarea negativă a amplificatorului de instrumentaţie. Pinii 1 şi 2 sunt pini pentru masă notaţi AIGND (masa semnalului analogic de intrare – analog input ground).±35 V atunci când placa este alimentată. .±20 V atunci când placa AT-MIO-16 nu este alimentată.. Semnalele care se conectează la placă prin intermediul conectorului I/O pot fi clasificate în semnale de intrare analogice. semnale de ieşire analogice. care în modul single-ended este conectat intern (pe placă) la intrarea negativă a amplificatorului de instrumentaţie al AT-MIO-16.domeniul de intrare în mod comun ±7V în raport cu AIGND.

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.Depăşirea domeniilor de intrare pentru modul diferenţial sau modul comun are ca rezultat distorsionarea semnalelor de intrare. Depăşirea valorilor tensiunii maxime de intrare poate conduce la defectarea plăcii AT-MIO-16 şi a calculatorului în care este instalată. Asignarea pinilor la conectorul I/O al plăcii AT-MIO-16 181 .

avem o sursă flotantă de semnal. Dacă. Aşa cum se observă şi din Fig. Schema bloc a amplificatorului de instrumentaţie Modul de conectare a semnalelor de intrare analogice la placa AT-MIO-16 depinde de configuraţia circuitului de intrări analogice al plăcii şi de tipul sursei semnalului de intrare. iar dacă avem o sursă raportată la masă. Pentru a realiza o conectare corectă a plăcii la sursa care furnizează semnalul analogic de intrare. amplificatorul de instrumentaţie converteşte cele două semnale de + − intrare Vin . Amplificatorul de instrumentaţie de pe placa AT-MIO-16 permite obţinerea unei amplificări mari. Vin în diferenţa dintre ele multiplicată cu amplificarea (care este programabilă).Fig. Convertorul analogic-numeric de pe placă foloseşte această tensiune atunci când realizează conversiile analognumerice. este caracterizat de o rejecţie pe mod comun foarte bună şi are o impedanţă de intrare foarte mare. Schema bloc a amplificatorului de instrumentaţie este prezentată în Fig. este recomandată utilizarea configuraţiei NRSE (non-referenced single-ended). amplificatorul de instrumentaţie este utilizat în mai multe moduri. trebuie utilizată o configuraţie de intrare de tip RSE (referenced single-ended). de exemplu. 182 . Semnalele de intrare analogică sunt cuplate la intrările pozitivă şi negativă ale amplificatorului AI prin intermediul circuitelor de multiplexare ale plăcii. o mare importanţă o constituie identificarea tipului acestei surse de semnal şi apoi alegerea corespunzătoare a configuraţiei de intrare analogică a plăcii. 24 (gain = amplificare). 24. În funcţie de configuraţia circuitului de intrări analogice. Ieşirea amplificatorului Vm este măsurată faţă de masa plăcii. 24.

piezoelectrice etc.4. care. presupunând că sistemul de calcul este alimentat de la acelaşi sistem de alimentare.2. Exemple de surse cu izolare tipice sunt transformatoarele de tensiune. Sursele flotante sunt fie surse de tip autonom. nealimentate din reţea). În caz contrar. fie surse cu izolare care sunt caracterizate de existenţa unei izolări galvanice între punctele de măsurare şi reţea (deci izolate faţă de împământarea sau masa reţelei). Sursele de semnal raportate la masă pot fi clasificate la rândul lor în surse diferenţiale şi surse asimetrice. Exemple reprezentative de surse autonome sunt traductoarele generatoare (care nu sunt împământate): termocupluri.2.2. Tipuri de surse de semnal 4. Sursele diferenţiale furnizează un semnal de tip tensiune prin diferenţa tensiunilor de ieşire ale unor surse echivalente. traductoare electrochimice. Surse asimetrice sunt de exemplu consumatorii industriali pentru care se măsoară tensiunea 183 . Sursele asimetrice (single-ended) au unul din punctele de măsurare conectat la masă sau la împământare. Exemple tipice sunt punţile tensometrice şi schemele de măsurare a curentului unor consumatori alimentaţi în c. controlează potenţialele punctelor de măsurare. raportate la masă sau împământare.c. care nu sunt raportate la masă sau pământ.1. semnalul de intrare măsurat apare ca flotant (variază). generatoarele de semnal cu alimentare de la reţea prin transformator şi sursă de alimentare etc. 4. Masa de referinţă a unui semnal flotant trebuie să fie legată la intrarea analogică de masă a plăcii (AIGND) pentru a stabili o referinţă pe placă pentru semnal.2. şi sursele cu alimentare autonomă (de tip baterie. Surse de semnal raportate la masă (ground-referenced signal source) O sursă de semnal raportată la masă (cu referinţa la masă) este o sursă conectată într-un fel la sistemul de masă sau împământare al clădirii şi este prin urmare conectată deja la un punct comun de masă în raport cu placa AT-MIO-16. Surse de semnal flotante (floating signal source) O sursă de semnal flotantă este o sursă care nu este conectată la sistemul de împământare sau de masă al clădirii (sursa flotantă poate avea însă un punct de masă izolat).

în categoria semnalelor provenite de la sursele raportate la masă intră ieşirile neizolate ale instrumentelor şi dispozitivelor care sunt alimentate de la reţeaua clădirii. Configuraţii de intrare recomandate Tipul semnalului Configuraţie de intrare (sursei de semnal) recomandată Raportat la masă (ieşiri neizolate.1. această diferenţă între punctele de masă apare ca o eroare de măsurare. Consideraţii asupra conexiunii diferenţiale Conexiunea diferenţială 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. DIFF cu punte de rezistoare ieşiri izolate) RSE 4. Configuraţii de intrare analogică Placa AT-MIO-16 poate fi configurată pentru unul din cele trei tipuri de intrare: NRSE. prin respectarea instrucţiunilor de conectare descrise în paragrafele următoare 4. RSE sau DIFF. Tabelul 7. Tabelul 7 cuprinde recomandările pentru alegerea configuraţiilor de intrare în funcţie de tipul sursei de semnal. Diferenţa de potenţial între punctele de masă a două instrumente conectate la aceeaşi reţea este tipic între 1mV şi 100mV.3. 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 măsurat incorect. Pentru a evita apariţia erorilor.la borne şi termocuplurile cu împământare (prin obiectul a cărui temperatură se măsoară).3. Această conexiune este disponibilă atunci când placa AT-MIO-16 este configurată în modul 184 . aceeaşi cu cea care alimentează sistemul calculator-placă. trebuie eliminate diferenţele de potenţial de masă. Prin urmare. DIFF instrumente puse în aceeaşi priză) NRSE Flotant (baterii. În paragrafele următoare este discutat modul de realizare a măsurătorilor de tip single-ended şi diferenţial şi sunt făcute consideraţii asupra măsurării surselor de semnal flotante şi raportate la masă. termocupluri.

Conexiunea diferenţială pentru surse flotante În Fig. rejecţia zgomotului şi permit variaţia semnalelor de intrare între limitele de mod comun ale intrării amplificatorului de instrumentaţie. Modul de configurare (setare prin jumpere) a plăcii pentru tipul DIFF este descris în paragraful 3. 185 .2. • cablurile prin care se transmite semnalul traversează medii cu zgomote. Conexiunile diferenţiale de semnal permit creşterea rejecţiei semnalului pe mod comun. În cazul utilizării acestei conexiuni. • oricare din semnalele de intrare necesită puncte de referinţă de masă separate.DIFF. iar referinţa (returul) fiecărui semnal de intrare este legată la intrarea negativă a amplificatorului de instrumentaţie. Fiecare semnal de intrare este legat la intrarea pozitivă a amplificatorului de instrumentaţie de pe placă. 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. numai opt canale analogice de intrare vor fi disponibile atunci când utilizăm configuraţia DIFF.una pentru semnal şi alta pentru referinţa semnalului. Prin urmare. Semnalele de intrare sunt legate la amplificatorul de instrumentaţie prin intermediul multiplexorului de pe placă. • cablurile de conectare la AT-MIO-16 sunt mai mari de 5 m. Se recomandă utilizarea configuraţiei de intrare DIFF atunci când: • semnalele de intrare au nivel scăzut (mai mic de 1V). Rezistoarele de 100 kΩ creează o cale de întoarcere spre masă pentru curenţii de bias ai amplificatorului de instrumentaţie. 26 este prezentat modul de conectare al unei surse flotante la placa AT-MIO-16 configurată pentru intrare DIFF. amplificatorul de instrumentaţie rejectează atât zgomotul de mod comun cât şi diferenţa de potenţial între punctul de masă al sursei de semnal şi punctul de masă al plăcii AT-MIO-16 (diferenţă notată Vcm în Fig. Fiecare semnal de intrare foloseşte două din intrările multiplexorului . 25). Conexiunea diferenţială pentru surse raportate la masă În Fig.

Conexiunea diferenţială pentru surse raportate la masă Fig. 25. 26. Conexiunea diferenţială pentru surse flotante 186 .Fig.

Semnalul de intrare este aplicat la bornele AI. Placa AT-MIO-16 poate fi configurată cu ajutorul jumperelor (paragraful 3. Orice diferenţă 187 . Dacă oricare din precedentele criterii nu poate fi îndeplinit. Pentru aceasta. semnalul extern are propriul punct de masă de referinţă.3. 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. pinul AIGND fiind legat la AISENSE prin configurarea RSE (prin setarea corespunzătoare a jumperelor).4.2. Conexiunea single-ended pentru surse de semnal flotante (configuraţie RSE) În Fig. Se recomandă utilizarea conexiunilor single-ended atunci când: • semnalele de intrare au nivel mare (mai mare de 1V). Configuraţia RSE este folosită pentru surse de semnal flotante.2) pentru 2 tipuri diferite de conexiuni single-ended: configuraţie RSE şi configuraţie NRSE. 27 este reprezentat modul de conectare al unei surse flotante la placa AT-MIO-16 configurată RSE. Semnalele de intrare sunt legate la intrarea pozitivă a AI. în acest caz AT-MIO-16 furnizează un punct de masă de referinţă pentru semnalul extern. iar punctele lor de masă comune sunt legate la intrarea negativă a AI. Atunci când AT-MIO-16 este configurată pentru intrare single-ended (NRSE sau RSE) sunt disponibile 16 canale analogice. Conexiunea single-ended pentru surse raportate la masă (configuraţie NRSE) Dacă se măsoară un semnal provenit de la o sursă raportată la masă cu o configuraţie de tip single-ended. Configuraţia NRSE este folosită pentru surse de semnal raportate la masă (grounded-referenced signal sources). în acest caz. Consideraţii asupra conexiunilor single-ended Conexiunile single-ended sunt acelea în care toate semnalele analogice de intrare pe placă sunt referite la o masă comună. este recomandată folosirea configuraţiei DIFF. atunci trebuie setată placa pentru tipul de intrare NRSE. • cablurile de conectare la AT-MIO-16 sunt mai mici de 5 m. • toate semnalele de intrare au acelaşi semnal de referinţă.

Dacă. Fig. Conexiunea single-ended (NRSE) pentru surse de semnal raportate la masă 188 . În Fig. care va rejecta această diferenţă. 28. se conectează o sursă de semnal raportată la masă la placa configurată RSE. Conexiunea single-ended (RSE) pentru surse flotante Fig.de potenţial dintre masa plăcii şi masa semnalului apare ca un semnal de mod comun la ambele borne ale AI. 28 este prezentat modul de conectare al unei surse raportate la masă la placa AT-MIO-16 configurată NRSE. în mod greşit. atunci diferenţa de potenţial între punctele de masă va apare ca o eroare de măsurare. 27.

3. Consideraţii privind rejecţia pe mod comun În Fig. 25 şi 27 sunt prezentate conexiunile plăcii AT-MIO-16 la surse de semnal care sunt deja raportate la un punct de masă. La pinul DAC0OUT se conectează tensiunea de ieşire a semnalului pentru canalul de ieşire analogică 0.3. iar Vin este semnalul de la intrarea negativă a AI. pinii 20 şi 21 sunt pinii de semnal DAC0OUT şi DAC1OUT. Valoarea curentă a tensiunii de mod comun se poate măsura în raport cu masa plăcii şi poate fi calculată cu formula: Vcm = + − Vin − Vin 2 + − unde Vin este semnalul de la intrarea pozitivă a AI. În aceste situaţii. 22 şi 23 ai conectorului I/O (Fig. conform formulei: Vdiff ⋅ Gain   . Suplimentar.4. Domeniul de intrare pe mod comun al amplificatorului de instrumentaţie de pe placă este definit ca fiind amplitudinea celui mai mare semnal pe mod comun care poate fi rejectat. Conexiuni pentru ieşiri analogice Pinii 20. 23) sunt pini rezervaţi pentru ieşirile analogice. iar la pinul DAC1OUT tensiunea de ieşire corespunzătoare canalului de ieşire analogică 1. amplificatorul de instrumentaţie poate rejecta orice tensiune care apare datorită diferenţelor de potenţial între punctul de masă al plăcii şi punctul de masă al sursei de semnal. La pinul 22. în cazul conexiunilor diferenţiale. amplificatorul de instrumentaţie poate rejecta şi zgomotul de mod comun datorat colectării prin cablurile de legătură dintre sursa de semnal şi placă. Dintre aceştia. 4. Vcm max = ±12V −   2   + − unde Vdiff = Vin − Vin şi Gain este amplificarea. numit EXTREF.4. se poate conecta intrarea de referinţă externă pentru ambele 189 . 21. Domeniul de intrare pe mod comun depinde de dimensiunea tensiunii diferenţiale de intrare şi de amplificarea setată pentru AI.

Fig.domeniul valorilor de intrare este de ±10 V în raport cu AOGND. Fiecare canal de ieşire analogică trebuie configurat individual pentru selectarea referinţei externe. Semnalul de referinţă externă poate fi de c. este punctul de referinţă de masă pentru ambele canale de ieşiri analogice şi pentru semnalul de referinţă externă. la pinul EXTREF nu se realizează nici-o conexiune. Fig. Domeniile şi valorile maxime care se pot aplica la intrarea EXTREF sunt următoarele: .canale de ieşiri analogice. Instrucţiunile de configurare a ieşirilor analogice (prin setarea jumperelor) au fost prezentate în paragraful 3. Dacă nici unul din canalele de ieşire nu este configurat pentru utilizarea semnalului de referinţă externă. caz în care semnalul aplicat la intrarea de referinţă externă EXTREF va fi folosit de acest canal. Conexiunile pentru ieşiri analogice 190 .c. 29 prezintă modul de conectare a ieşirilor analogice şi a referinţei externe la placa AT-MIO-16. AOGND. Pinul 23. 29.a. Acest semnal de referinţă este utilizat de CNA pentru generarea tensiunii de ieşire. sau de c.valorile maxime absolute permise sunt de ±25 V în raport cu AO GND.2. .

Conexiuni I/O numerice 191 . reprezintă pini de masă pentru ambele porturi numerice I/O.Tensiunea de intrare pentru 1 logic: 2 V minim . Fig. 30 şi 32 la liniile numerice BDIO 3…0 ale portului B. • Specificaţiile intrărilor numerice (referite la DIGGND): . Pinii 24 şi 33.Tensiunea de ieşire pentru 0 logic: 0. Pinii 25. numiţi DIGGND. 28.Tensiunea de intrare pentru 0 logic: 0. 30. Porturile A şi B pot fi programate individual ca intrări sau ieşiri numerice.5 V maxim Fiecare linie numerică de ieşire poate suporta până la 11 sarcini TTL standard.5.8 V maxim • Specificaţiile ieşirilor numerice: . iar pinii 26. 29 şi 31 sunt conectaţi la liniile numerice ADIO 3…0 ale portului numeric A.4. În Fig. 23) sunt rezervaţi pentru intrări/ieşiri numerice. 27. 30 sunt prezentate conexiunile numerice I/O pentru trei aplicaţii tipice. Conexiuni pentru intrări/ieşiri numerice Pinii de la 24 până la 33 ai conectorului I/O (Fig.Tensiunea de ieşire pentru 1 logic: 2. Câteva din specificaţiile care trebuie respectate de porturile I/O sunt următoarele: • Tensiunea de intrare maximă: 6 V în raport cu DIGGND.4 V minim .

192 . Semnalul SCANCLK este aşa-numitul semnal de tact de scanare (scan clock). după începerea conversiei analog-numerice. STOPTRIG.7. Pinii de la 36 la 40 sunt semnale de tact sau de sincronizare destinate achiziţiei de date. Printre aplicaţiile de ieşiri numerice se pot enumera trimiterea de semnale TTL sau comanda unor dispozitive externe (ex. 4. 30. semnalul SCANCLK este pe nivel înalt şi trece pe nivel jos pentru aproximativ 1 µ sec. SCANCLK este un semnal TTL de ieşire care generează un front coborâtor la începerea unei conversii analognumerice. Pinii de la 41 la 50 sunt semnale de tact sau de sincronizare cu scop general destinate numărătoarelor de pe placa de achiziţie. Conexiuni de alimentare Pinii 34 şi 35 ai conectorului I/O sunt conectaţi la sursa de alimentare de +5 V (0. 4. Conexiuni pentru semnale de tact şi de sincronizare Pinii 36 până la 50 ai conectorului I/O al plăcii sunt folosiţi pentru semnale de tact sau de sincronizare.7. Observaţie importantă: Pinii de alimentare de +5 V nu trebuie conectaţi direct la masa analogică sau digitală sau la oricare alta sursă de alimentare a plăcii AT-MIO-16 sau a oricărui alt dispozitiv (pentru a evita defectarea plăcii şi/sau a calculatorului). În mod normal. EXTCONV (pinii 3640). EXTSTROBE*. LED-ul din Fig. Frontul crescător al semnalului indică faptul că semnalul de intrare a fost achiziţionat. Conexiuni pentru semnale de tact şi sincronizare destinate achiziţiei de date Semnalele destinate achiziţiei de date sunt SCANCLK. portul A este configurat ca port de ieşire. Aplicaţii tipice de intrări numerice sunt: recepţionarea de semnale TTL sau detectarea stării unor dispozitive externe cum ar fi starea contactelor unui releu. STARTTRIG*.În schema de conectare din Fig. Aceşti pini sunt raportaţi la masa DIGGND şi pot fi utilizaţi pentru alimentarea unor circuite numerice externe. 4. iar B ca port de intrare.6.1. 30).5 A la +5V ±10%) a calculatorului PC-AT.

Semnalul STARTTRIG* 193 . iar semnalul trebuie să stea pe nivel înalt minim 50 nsec înainte de frontul coborâtor. tw tw – minimum 50 nsec UH UL tw Prima conversie analog-numerică începe în maximum un interval de scanare din acest punct Fig. Aplicarea unui impuls pe intrarea EXTCONV* (Fig. STARTTRIG* nu influenţează tactul achiziţiei). 31. Prima conversie analog-numerică din secvenţă începe pe frontul coborâtor al impulsului. Semnalul EXTCONV* Un semnal de trigger extern (TTL) aplicat pe pinul STARTTRIG* poate iniţia o secvenţă de achiziţii analog-numerice (dacă semnalul EXTCONV* generează conversia. 31) iniţiază o conversie analog-numerică (frontul crescător al impulsului aplicat iniţiază conversia). tw tw – minimum 50 nsec UH UL tw Conversia analog-numerică începe în maximum 250 nsec din acest punct Fig. în maximum un interval de scanare (perioadă de eşantionare). Operaţiile de achiziţie sunt iniţiate prin aplicarea unui front coborâtor. La accesarea registrului External Strobe Register este generat un impuls de lăţime 100 până la 500 nsec. 32.Semnalul de ieşire EXTSROBE* este tot un semnal TTL. Semnalul EXTCONV* este un semnal de intrare TTL conectat la pinul cu acelaşi nume al conectorului I/O şi este utilizat pentru triggerarea externă a conversiilor analog-numerice. Lăţimea minimă admisă a impulsului este de 50 nsec. Lăţimea minimă a impulsului trebuie să fie de 50 nsec.

cum ar fi generarea de semnale dreptunghiulare. Achiziţia de date este completă atunci când numărătorul de eşantioane este decrementat până la zero. Conexiuni pentru semnale de tact şi sincronizare de uz general Semnalele de tact şi sincronizare de uz general (pinii 41-50) sunt GATE.2. 5 ale circuitului Am9513A pot fi folosite în aplicaţii cu scop general. numărarea evenimentelor. impulsuri modulate în durată şi măsurarea frecvenţei. 194 . Numărătoarele 1. 8 (paragraful 2. 33).Pinul STOPTRIG este utilizat pentru operaţiile de achiziţie de tip pretrigger ale plăcii AT-MIO-16. datele sunt achiziţionate. Schema bloc a circuitului pentru generarea semnalelor de tact de uz general a fost prezentată în Fig. Circuitul integrat de numărare/ sincronizare Am9513A are 5 numărătoare/temporizatoare individuale pe 16 biţi şi generator de frecvenţă programabilă pe 4 biţi.7. Semnalul STOPTRIG 4. Semnalul aplicat pe STOPTRIG este un semnal de trigger hardware de tip TTL (Fig. Pentru aceste aplicaţii semnalele SOURCE şi GATE sunt aplicate direct numărătoarelor prin conectorul I/O al plăcii şi astfel numărătoarele pot fi programate pentru diferite operaţii. dar numărarea eşantioanelor achiziţionate începe doar la aplicarea unui front crescător pe STOPTRIG. 2. SOURCE şi OUT pentru numărătoarele 1. Se observă că în acest mod de achiziţie se achiziţionează date atât înainte cât şi după primirea semnalului de trigger hardware. În modul pretrigger.4). Numărarea primului eşantion începe în maximum un interval de scanare din acest punct UH UL tw tw tw – minimum 50 nsec Fig. 2 şi 5 ale circuitului Am9513A şi semnalul FOUT generat de circuitul Am9513A. 33.

Amplificatorul are şi rolul de circuit de condiţionare a semnalului.ANEXA 2 Amplificatorul de precizie pentru termocuplul de tip J Amplificatorul de precizie este destinat amplificării semnalului de nivel mic (milivolţi) provenit de la termocuplul fierconstantan de tip J (0 – 761 oC). Această abatere este compensată 195 . diferenţă care scade datorită creşterii temperaturii joncţiunii reci şi prin urmare scade şi tensiunea electromotoare furnizată de termocuplu.βM 108 – amplificator operaţional de precizie care împreună cu primul circuit formează un amplificator neinversor cu factor de amplificare de circa 106.c. Amplificatorul este realizat cu trei circuite integrate speciale: . mărindu-se astfel tensiunea de ieşire. Astfel.c. Schema electronică a amplificatorului este prezentată în Fig. .un al doilea circuit βM 108 montat în configuraţie de amplificator neinversor care asigură transformarea finală în semnal unificat 0 – 10 V c. La creşterea temperaturii mediului ambiant. . Amplificatorul de precizie are un factor de amplificare de aproximativ 107. 1. Ieşirea amplificatorului este un semnal unificat de tensiune în gama 0 – 10 V c. deci scade tensiunea de pe intrarea inversoare.βMTX 121 – preamplificator de precizie la intrarea căruia se conectează termocuplul. compensarea influenţei temperaturii mediului ambiant (a temperaturii joncţiunii reci) asupra preciziei de măsurare se face prin intermediul tensiunii stabilizate furnizate de o diodă Zener care variază în funcţie de temperatură. Datorită acestui fenomen. Această tensiune se aplică la intrarea inversoare a primului circuit amplificator. În situaţia considerată tensiunea furnizată de către termocuplu este mai mică deoarece tensiunea termoelectromotoare este direct proporţională cu diferenţa de temperatură dintre cele două joncţiuni. tensiunea la bornele diodei Zener scade. tensiunea de la ieşirea amplificatorului de precizie ar fi mai mică nu datorită modificării temperaturii punctului de măsurare ci datorită creşterii temperaturii joncţiunii reci.

1.prin urmare prin aplicarea pe intrarea inversoare a primului circuit amplificator a tensiunii de la bornele diodei Zener. Schema electronică a amplificatorului de precizie 196 . Fig.

78 9.65 5.62 10. Pe baza acestor date a fost obţinută reprezentarea grafică din Fig. Temperatură [oC] 20 25 30 35 40 45 50 55 60 65 70 75 80 Tensiune [V] 2.48 8. Domeniul de temperatură luat în considerare pentru efectuarea măsurătorilor a fost 20 – 140 oC.63 3.15 8.10 7.01 5. 2.14 2.35 7. fiind obţinute datele din tabelul 1.32 4.97 3.00 2. din care se observă caracterul aproape liniar al ansamblului termocuplu – amplificator de precizie pe domeniul de funcţionare considerat.Caracteristica statică temperatură – tensiune a ansamblului termocuplu de tip J – amplificator de precizie a fost ridicată cu ajutorul unui voltmetru şi a unui termometru. Tabelul 1.70 Temperatură [oC] 85 90 95 100 105 110 115 120 125 130 135 140 Tensiune [V] 6.25 9.95 4.00 197 .75 7.05 6.61 2.75 8.31 3.35 6.28 2.33 5.

Caracteristica statică temperatură – tensiune a ansamblului termocuplu – amplificator de precizie 198 .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.

Popescu.. ACGM. 1998. [3] Bentley. Lodart. [6] Iancu. Inc. I. Principles of Measurements Systems. Universitaria.. C... E. Petre. C. [13] McGhee. C.. ACGM. M. Ciobanu. Ed.. MATRIX ROM. D. Measurement Data Handling.A. 1999. [2] Asch. 1999. 1990.. F. Lodz. [7] Ionete. Sitech. [8] Jurca. Technical University of Lodz. 199 . Lodz. D.. D.A. Longman Scientific & Technical.. Selişteanu. G. Bucureşti. New York.. Fundamentals and Applications.P. Henderson.... C. Sitech. Ionete. Probleme moderne de măsurare în electroenergetică. United Kingdom. E. Acquisition de données du capteur à l’ordinateur..J. W.J. Measurement Data Handling. Dunod. Paris. (coordonatori).. 1988. Ed. John Wiley & Sons. Dunod. Craiova. Bazele Programării în LabVIEW. Kulesza. J. Reprografia Universităţii din Craiova. Popescu. [5] Golovanov. D. Petre. [10] Marin. Ed. E. [9] Marin. de Vest. Craiova. Kulesza. Instrumentation and Control. Ionete. 1998. W. Selişteanu. Albu. E... 2001.. G. Selişteanu. Lodart.. Structuri şi circuite. D. Ed. D. 2001. [11] Marin. [12] McGhee. Korczynski. 2001. O. Henderson. 1997. Lucrări Practice II. I.. Petre. (ed. Bucureşti. Theoretical Technique.. J. Korczynski. 2001. Stoiciu. Tehnică... [14] Nachtingal. Popescu. M. Polonia. C. Reduta. D. Chester L.). Polonia. Ionete. Instrumentaţie de măsurare.. M. Sisteme de Reglare Automată... C. Technical University of Lodz. 1996.. [4] Cottet.. Timişoara. D... Paris. Lucrări Practice I.. C. 1998. Selişteanu. T. 2000. C. Sisteme de Reglare Automată. Teoria Sistemelor... J. Ed. Craiova. Transmisia Datelor. Echipamente de Automatizare şi Protecţie. Ed. Les capteurs en instrumentation industrielle.. Craiova. Hardware Technique.BIBLIOGRAFIE [1] Asch..

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

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.