Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

rate hz

Salve a tutti!

 

Vi pongo una domanda forse banale, ma come faccio a conoscere la massima frequenza di acquisizione di una scheda? Sto lavorando con un NI PXI-6071E.

 

Cosa comporta se nell'impostazione del DAQmx con un clock esterno inserisco in Rate(Hz) una frequenza minore di quella massima?

 

Grazie! 

0 Kudos
Messaggio 1 di 12
6.770Visualizzazioni

Ciao nuvola,

 

dato che la scheda PXI 6071E prevede un campionamento massimo di 1.25 MS/s "aggregate" (se usi un canale 1.25 MS/s, con due canali 625 KS/s per canale etc...) la frequenza massima che puoi acquisire dipende dal numero di canali che stai acquisendo. Ovviamente poi devi tenere conto del teorema del campionamento che afferma che la frequenza di campionamento deve essere almeno il doppio della frequenza del segnale.

 

Quindi ricapitolando, se acquisisci un solo canale, potresti avere un segnale da 625 KHz, con due canali 312.5 KHz etc...

 

Se usi un clock esterno il concetto non cambia, l'unica differenza è che magari non sarà da 1.25 MHz come quello della scheda, ma avrà una frequenza minore. L'importante è che non superi 1.25 MHz, dato che quella è la frequenza massima di campionamento che la PXI 6071 accetta.

 

Spero che lo scenario ti sia un pò più chiaro adesso.

 

Ciao, 

Andrea N.
Principal Applications Engineer - Semiconductor EMEA
National Instruments Italy
Certified LabVIEW Architect - Certified TestStand Architect
0 Kudos
Messaggio 2 di 12
6.759Visualizzazioni

Grazie mille, anche se c'è ancora qualche cosa che mi sfugge.

 

Ho un sistema capace di generare un segnale periodico e di variare il periodo del clock esterno, come posso fare per conoscere tale periodo o la frequenza?

 

Grazie!? 

0 Kudos
Messaggio 3 di 12
6.750Visualizzazioni

Per misurare la frequenza o periodo di un segnale devi fare una misura usando uno o due counter della scheda.

Vai in Help -> Find Examples e nella sezione "Hardware Input and Output -> DAQmx -> Counter Measurement" troverai qualche esempio utile per iniziare a programmare.

Guarda anche questo link per avere una idea della misura da fare:

 

Frequency Measurements: How-To Guide 

http://zone.ni.com/devzone/cda/tut/p/id/7111 

 

Ciao, 

Andrea N.
Principal Applications Engineer - Semiconductor EMEA
National Instruments Italy
Certified LabVIEW Architect - Certified TestStand Architect
0 Kudos
Messaggio 4 di 12
6.748Visualizzazioni

I tuoi consigli sono stati preziosi!

 

Ancora una piccola domanda, ho creato un .VI che attraverso il DAQmx (analog input) legge in continuo (ciclo for) un segnale ciclico generato da un simulatore. Vorrei inserire in parallelo il DAQmx (counter input) per il calcolo del periodo del clock esterno in modo che allo stop del ciclo si fermi tutto. Come posso fare? Per ora ho creato due cicli for distinti ma capita che quando uno si blocca l'altro continua a girare.  

 

Grazie! 

0 Kudos
Messaggio 5 di 12
6.739Visualizzazioni

un'altra curiosità:

 

Sto acquisendo il mio segnale ciclico imponendo un sample to read 3600 e un rate di 100000 in questo modo ho un dt=0.0001 e acqusisco per ogni ciclo 3600 valori. Come posso fare per aumentare il numero di acquisizioni per ciclo? se modifico rate(Hz) varia solo il dt, se vario sample to read mi acquisisce più cicli ad esempio imponendo un sample to read=7200 ottengo 2 cicli, io invece vorrei 7200 punti per 1 ciclo!

 

Grazie !!! 

0 Kudos
Messaggio 6 di 12
6.735Visualizzazioni

Ciao nuvola,

 

se utilizzi due cicli in parallelo, uno per l'acquisizione e l'altro per il counter puoi ad esempio usare una variabile locale per fermarli entrambi.

Immagino che in un ciclo ci sia il tasto di stop; clicca con il tasto destro del mouse sullo stopp nel block diagram e seleziona "Create-> Local variable".

Inserisci questa variabile nel secondo ciclo e vedrai che si fermeranno contemporaneamente. L'unica cosa a cui devi stare attenta è che devi modificare il mechanical action del tasto di stop, da "Latch" a "swithch" perchè la variabile locale non supporta la modalità di tipo latch.

 

Ciao, 

Andrea N.
Principal Applications Engineer - Semiconductor EMEA
National Instruments Italy
Certified LabVIEW Architect - Certified TestStand Architect
0 Kudos
Messaggio 7 di 12
6.715Visualizzazioni

Non credo di aver capito bene l'ultima curiosità...

Se tu imponi un numero di samples to read pari a 3600 significa che ad ogni iterazione del ciclo while leggerai 3600 campioni, se invece imposti 7200 leggerai per ogni iterazione 7200 campioni.

Che cosa non ti torna????? 

Andrea N.
Principal Applications Engineer - Semiconductor EMEA
National Instruments Italy
Certified LabVIEW Architect - Certified TestStand Architect
0 Kudos
Messaggio 8 di 12
6.714Visualizzazioni

Purtroppo non è così! Ho notato che con simple to read 3600 ottengo 1 ciclo con 3600 punti, con simple to read=7200 ottengo 2 cicli ogniuno formato da 3600 punti! se pongo simple to read =5400 ho 1 ciclo +1/2 ciclo!

Invece io vorrei poter avere più o meno punti nello stesso ciclo.

 

Grazie! 

0 Kudos
Messaggio 9 di 12
6.709Visualizzazioni

Mi pare veramente strana come cosa...Non è che per caso puoi allegare il codice di cui stiamo parlando, in modo da darci una occhiata?

 

Grazie, 

Andrea N.
Principal Applications Engineer - Semiconductor EMEA
National Instruments Italy
Certified LabVIEW Architect - Certified TestStand Architect
0 Kudos
Messaggio 10 di 12
6.707Visualizzazioni