6. NI-DAQmx Express VI

Tutorial NI-DAQmx Express VI

NI Noțiuni introductive despre seria NI-DAQmx are scopul de a vă ajuta să învățați elementele fundamentale de programare NI-DAQmx. Prin tutoriale video și text, această serie vă va duce de la verificarea funcționării dispozitivului dvs. în NI Measurement & Automation Explorer (MAX) până la programarea aplicațiilor de achiziție de date folosind LabVIEW. Este destinat atât începătorului care dorește să învețe cum să utilizeze DAQ Assistant, cât și utilizatorului experimentat care dorește să profite de funcționalitatea avansată NI-DAQmx.

Localizarea DAQmx Express VI și lansarea DAQ Assistant

DAQmx Express VI, care folosește DAQ Assistant pentru a configura sarcina, este situat în două locuri diferite, în funcție de paleta Functions pe care o utilizați. În paleta Express Functions, DAQ Assistant Express VI este situat în sub-paleta Input (a se vedea Figura 1).

Figura 1

În paleta Advanced Functions, DAQ Assistant Express VI se află în sub-paleta NI Measurements >> DAQmx (vezi Figura 2).

Figura 2

După ce ați localizat DAQ Assistant Express VI în locația corespunzătoare, selectați-l din paletă și puneți-l pe diagrama bloc a VI-ului dvs. Implicit, pagina de proprietăți ar trebui să apară, permițându-vă să vă configurați sarcina. Primul pas este să selectați tipul de măsurare (vezi Figura 3).

Figura 3

Configurarea DAQmx Express VI folosind DAQ Assistant (Intrare analogică)

Există mai multe opțiuni pentru o achiziție de intrare analogică. Pentru acest document vom trece printr-o simplă Analog Input >> Voltage measurement (vezi Figura 4).

Figura 4

După ce ați selectat Voltage ca tip de achiziție Analog Input, veți avea opțiunea de a selecta din care canale doriți să achiziționați. Primul ecran pe care îl veți vedea vă va permite să selectați canalele fizice din care doriți să achiziționați, prin crearea de canale locale (a se vedea Figura 5).

Figura 5

Însă, dacă ați creat deja DAQmx Global Virtual Channels în MAX, le puteți utiliza selectând opțiunea Copy Global Channels și selectând canalele dvs. din listă (vezi Figura 6).

Figura 6

După ce ați selectat canalul (canalele), faceți clic pe butonul Finish. Aceasta va afișa pagina de configurare a sarcinii de intrare analogică (a se vedea Figura 7).

Figura 7

Aici vă puteți configura sarcina pentru a obține date exact așa cum doriți. Puteți seta gama de intrare a semnalului Signal Input Range la un interval adecvat semnalului (semnalelor) pe care îl achiziționați. Puteți configura Terminal Configuration la modul vostru de achiziție (Differential, Reference Single Ended, Non-Reference Single Ended). Opțiunea Custom Scaling vă permite să creați o scală nouă sau să aplicați scale deja existente. În sincronizarea sarcinilor filă, puteți seta modul în care vă veți dobândi datele. Puteți Acquire 1 Sample la un moment dat (software programat), Acquire N Samples, care achiziționează un set finit de eșantioane (sincronizat hardware) sau Acquire Continuously (sincronizat hardware). Dacă selectați Acquire N Samples pentru o scanare finită sau Acquire Continuously pentru achiziție continuă, veți avea opțiunea de a specifica câte eșantioane de citit (Samples To Read) și rata (Rate) achiziției. În secțiunea Advanced Clock Settings, puteți specifica dacă veți utiliza un ceas intern sau extern. Dacă selectați extern pentru ceasul dvs., veți avea opțiunea de a selecta frontul activ și la ce pin va fi conectat ceasul extern. În tab-ul Task Triggering, puteți specifica un Start și/sau un Reference Trigger.

După ce ați terminat configurarea sarcinii, faceți clic pe butonul OK. Acest lucru vă salvează setările și vă întoarce la diagrama bloc, unde veți vedea DAQ Assistant Express VI configurat. Datele dvs. vor fi disponibile la ieșirea data. Puteți conecta această ieșire la un VI de analiză, un VI I/O fișier, direct la un indicator etc. (vezi Figura 8).

** Notă: Dacă DAQmx Express VI trebuie utilizat în interiorul unei bucle, consultați secțiunea Express VI in a Loop de mai jos.

Figura 8

Configurarea DAQmx Express VI folosind DAQ Assistant (ieșire analogică)

Când selectați Analog Output pentru tipul de măsurare, veți avea câteva opțiuni cu privire la ce tip de ieșire doriți să faceți. Acest document se va concentra pe o ieșire de tensiune simplă (a se vedea Figura 9).

Figura 9

După ce ați selectat Voltage ca tip de măsurare Analog Output, veți putea selecta canalele de ieșire pe care doriți să le utilizați. La fel ca în cazul Analog Input, veți putea selecta canale fizice, prin crearea de canale locale sau deja create DAQmx Global Channels. Veți vedea o fereastră similară cu Figura 5 sau 6 de mai sus, cu excepția canalelor disponibile care vor fi canale de ieșire analogică.

După ce ați selectat canalul (canalele) dvs., veți ajunge la pagina de configurare a sarcinii de ieșire analogică. Similar cu o sarcină de intrare analogică, puteți specifica Output Range, Custom Scaling, Task Timing și Task Triggering. Însă, există o opțiune care nu este prezentă într-o sarcină de intrare analogică, și aceea este opțiunea Use timing from waveform data în tab-ul Task Timing ( a se vedea figura 10).

Figura 10

Implicit, această opțiune este selectată și Samples to Write și Rate sunt estompate. Acest lucru se datorează faptului că informațiile de sincronizare sunt extrase automat din intrarea formei de undă în DAQ Assistant Express VI configurat, eliminând necesitatea de a specifica manual informațiile de sincronizare. Însă, dacă deselectați opțiunea Use timing from waveform data, atunci veți avea posibilitatea de a seta Samples to Write, Rate și Advanced Clock Settings. După ce v-ați configurat sarcina, faceți clic pe OK pentru a salva setările și a reveni la diagrama bloc. Acum, pur și simplu conectați datele la intrarea data și rulați VI-ul pentru a vă transmite tensiunile (a se vedea Figura 11).

** Notă : Dacă DAQmx Express VI trebuie utilizat în interiorul unei bucle, consultați secțiunea Express VI in a Loop de mai jos.

Figura 11

Configurarea DAQmx Express VI folosind DAQ Assistant (Counter Input)

Când selectați Counter Input ca tip de măsurare, veți avea mai multe opțiuni. Acest document se va concentra asupra măsurării numărării fronturilor Edge Count (vezi Figura 12).

Figura 12

După ce selectați tipul de intrare contor, veți avea opțiunea de a selecta contorul pe care doriți să îl utilizați. La fel ca în cazul exemplelor anterioare, puteți selecta să creați noi canale locale sau să copiați deja canalele DAQmx globale existente. Veți vedea o fereastră similară cu Figura 5 sau 6 de mai sus, cu excepția canalelor disponibile care vor fi canalele dvs. de contor.

După ce ați selectat canalul de contor, veți ajunge la pagina de configurare a sarcinilor (a se vedea Figura 13).

Figura 13

Aici puteți configura Active Edge pentru a fi în creștere sau în scădere. Puteți seta Initial Count al registrului de numărare. De asemenea, puteți selecta Count Direction pentru a fi Count Up, Count Down, sau Externally Controlled. Dacă selectați Externally Controlled, contorul va număra fie în sus, fie în jos, în funcție de semnalul conectat la pinul Up/Down al contorului. Acest lucru este de obicei utilizat pentru encoderele în cuadratură (consultați Tutorialul Quadrature Encoder pentru mai multe informații). Observați sub opțiunea Count Direction, există o declarație care vă instruiește să conectați semnalul la pinul PFI corespunzător de pe placa de achiziție de date. Implicit, opțiunea Count Edges este selectată în secțiunea Task Timing. Observați că atunci când este selectată opțiunea Count Edges, Samples To Read, Rate, și Clock Settings sunt estompate. Acest lucru se datorează faptului că operația Count Edges este sincronizată de software și nu necesită un ceas extern. Totuși, dacă alegeți fie Count N Samples (Finite) sau Count N Samples (Continuous), ambele fiind operații tamponate, veți putea specifica numărul de Samples To Read, Rate, și Clock Settings. Adică, Count N Samples (Finite) și Count N Samples (Continuous) sunt achiziții sincronizate de hardware și va trebui să furnizați un semnal de ceas extern, la pinul specificat în Clock Source, pentru a efectua operația tamponată.

** Notă : Dacă DAQmx Express VI trebuie utilizat în interiorul unei bucle, consultați secțiunea Express VI in a Loop de mai jos

Configurarea DAQmx Express VI folosind DAQ Assistant (Counter Output)

Puteți utiliza DAQmx Express VI pentru a genera ieșire pe contoare sub formă de impulsuri digitale. Dacă selectați Counter Output din fereastra originală DAQ Assistant (Figura 3), veți avea o opțiune în următorul ecran, și anume Pulse Output (a se vedea Figura 14).

Figura 14

După ce selectați Pulse Output, veți putea selecta contorul (conturile) pe care doriți să îl utilizați în această operație de generare a impulsurilor. Veți vedea o fereastră similară cu Figura 5 sau 6 de mai sus, cu excepția canalelor disponibile care vor fi canalele dvs. de contor.

După ce ați selectat contorul (contoarele) dvs., veți putea configura sarcina de ieșire a contorului (a se vedea Figura 15).

Figura 15

Aici puteți seta Pulse Settings, unde specificați cât timp impulsul este high și low, cu High Time și respectiv Low Time. De asemenea, puteți specifica starea de Idle State și Initial Delay. Idle State determină dacă pulsul este activ high sau activ low. De obicei, starea de repaus este generată mai întâi, urmată de starea activă. Initial Delay vă permite să specificați un timp pentru întârziere înainte de a genera primul impuls. În secțiunea Task Timing, puteți specifica dacă doriți să generați un Single Pulse, un Finite Pulse Train, sau un Continuous Pulse Train. Dacă este selectat Finite Pulse Train, atunci este disponibilă opțiunea de a seta numărul de impulsuri. Faceți clic pe OK pentru a salva sarcina și a reveni la diagrama bloc.

Configurarea DAQmx Express VI folosind DAQ Assistant (Digital I/O)

Dacă doriți să utilizați DAQmx Express VI pentru I/O digitale, aveți mai multe opțiuni (a se vedea Figura 16).

Figura 16

Puteți selecta Line Input, Port Input, Line Output, sau Port Output. În acest document, vom discuta despre activitatea Line Input, dar celelalte trei operații sunt configurate în mod similar. Odată ce ați ales Line Input, veți avea opțiunea de a crea un canal local și de a selecta linii individuale sau de a copia canalele virtuale globale DAQmx existente. Veți vedea o fereastră similară cu Figura 5 sau 6 de mai sus, cu excepția canalelor disponibile care vor fi canalele dvs. digitale.

Odată ce canalele au fost definite sau selectate, faceți clic pe Next pentru a accesa pagina de configurare a sarcinii (a se vedea Figura 17).

Figura 17

Aici puteți alege să inversați 1 sau mai multe dintre liniile digitale pe care le-ați specificat. Faceți clic pe OK pentru a salva sarcina și a reveni la diagrama bloc.

Editarea proprietăților DAQmx Express VI folosind DAQ Assistant

Odată ce DAQmx Express VI este configurat în diagrama bloc, puteți modifica configurația lansând Asistentul DAQmx din diagrama bloc. Pentru a lansa Asistentul DAQmx pentru a schimba unele setări, faceți clic dreapta pe DAQmx Express VI configurat și selectați Properties (a se vedea Figura 18) sau faceți dublu clic pe DAQmx Express VI configurat.

Figura 18

Acest lucru vă va aduce înapoi la pagina de configurare a sarcinii, unde puteți modifica unii dintre parametri, în funcție de tipul de sarcină pe care l-ați configurat (a se vedea figurile 7,10,13,15,18).

DAQmx Express VI într-o buclă

Majoritatea configurațiilor unui DAQmx Express VI vor avea ca rezultat disponibilitatea unei intrări de oprire (a se vedea Figura 19).

Figura 19

Trei sarcini de intrare analogică diferite sunt configurate pentru a ilustra intrarea stop, intrarea stop va fi disponibilă și pentru ieșiri analogice, intrare contor, ieșire contor și sarcini I/O digitale. Valoarea conectată la intrarea stop va determina dacă Express VI va trebui sau nu să reconfigureze sarcina la următoarea iterație. Dacă un True este conectat la intrarea stop, sarcina se va reconfigura în următoarea iterație. Dacă un False este conectat la intrarea stop, sarcina nu va trebui să se reconfigureze în următoarea iterație, deoarece sarcina este lăsată deschisă. De obicei, ori de câte ori un DAQmx Express VI trebuie utilizat într-o buclă while, este o bună practică conectarea condiției de oprire la intrarea stop a Express VI (a se vedea Figura 20). În acest fel, un False va fi conectat la intrarea stop pe toate, cu excepția ultimei iterații. Acest lucru va îmbunătăți performanța, în special pentru sarcini cu un singur eșantion.

Figura 20

Convertiți DAQmx Express VI într-o constantă de sarcină

Un DAQmx Express VI configurat poate fi convertit într-o Global Task pe care o puteți utiliza apoi cu cele mai avansate VI-uri DAQmx. Această conversie va face, de asemenea, această sarcină disponibilă în NI MAX. Pentru a continua cu această conversie, pur și simplu configurați un DAQmx Express VI așa cum s-a discutat anterior în acest document. Odată ce VI-ul este configurat, faceți clic dreapta pe Express VI în diagrama bloc și selectați Convert to NI-DAQmx Task. Aceasta va afișa pagina de configurare a activității, care vă va permite să efectuați orice modificări. Odată ce orice modificări sunt finalizate, faceți clic pe OK și acest lucru va converti VI-ul într-o constantă de sarcină pe care o puteți conecta apoi la VI-urile DAQmx avansate (a se vedea Figura 21).

Figura 21

** Notă : De asemenea, puteți converti dintr-o activitate existentă într-un DAQmx Express VI făcând clic dreapta pe constanta sarcinii de pe diagrama bloc și selectând Convert to Express VI.

Legături: