Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

configurazione lettura dati DAQmx 6281

Ciao Andrea,

ti scrivo in italiano che facciamo prima.

tu hai ragione, io ho provato a fare un'acquisizione alla volta, ma poi in tempo di campionamento nn è più lo stesso. In sostanza io devo acquisire la frequenza di un encoder situato su di un banco prova auto, dal quale ricavarmi la coppia e la potenza. dalla frequenza ricavo la velocità e da essa l'accelerazione con il rapporto incrementale( corretto cn la retta di regressione), perciò il Tempo di campionamento deve essere precisissimo, altrimenti la derivata mi viene un casino.

hai qualche idea su come posso fare la misurazione, la quale deve fermarsi dopo una cert vrequenza, poichè sennò la macchina si fonderebbe.

 

grazie mille per la messaggistica quasi istantanea

0 Kudos
Messaggio 1 di 12
7.127Visualizzazioni

Ciao,

 

non c'è nessun problema, non ti devi scusare. E' solo che è bene tenere separati i forum in inglese da quelli in altre lingue :).

Tornando a noi...

 

Come dicevo pocanzi, se devi interrompere l'applicazione quando si supera un certo livello di frequenza puoi effettuare una lettura a singolo campione. Puoi usare l'esempio che trovi in "Help->Find Examples" e selezionando "hardware Input and Output-> DAQmx-> Counter measurements -> Period or pulse width->Meas Pulse Width-Buffered-Sample Clock-Cont.vi.

 

Sistema l'esempio mettedo il numero di campioni da leggere pari a 1 e modificando il tipo di task,ovvero scegliendo "Counter Input->Frequency" nella DAQmx Create Channel.

 

Se il tuo clock non è velocissimo non dovresti avere problemi di riempimento del buffer della scheda.

 

Ciao, 

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

Ciao Andrea,

se metto 1 campione nn va più bene il timing, poichè ne richiede uno IMPLICIT, poi anche se ndava bene, questo sistama può garantirmi lo stesso Tempo trascorso tra un campione e l'altro??? nn è un sistema real time o deterministico. ho provato anche cn il time loop, ma neanche lui mi garantisce un tempo di campionamento costante. allora sono riuscito a mettere un clock esterno in cambio di una misura di conteggio(da cui mi ricavo la frequenza), ma devo assolutamente avere un tempo di campio definito e sicuro.

hai qualche idea?? io nn so più cosa fare 

0 Kudos
Messaggio 3 di 12
7.124Visualizzazioni

Ciao maurino,

 

effettivamente la tua scheda non permette di settare un clock esterno.

L'unico modo che hai per usarla è in modalità implicit...

 

Mi viene in mente un altra soluzione: usare un timed loop cloccato esternamente e all'interno del loop fai una singola acquisizione di un campione.

 

Ciao, 

Message Edited by Ryan_82 on 07-17-2009 05:15 AM
Message Edited by Ryan_82 on 07-17-2009 05:16 AM
Andrea N.
Principal Applications Engineer - Semiconductor EMEA
National Instruments Italy
Certified LabVIEW Architect - Certified TestStand Architect
0 Kudos
Messaggio 4 di 12
7.114Visualizzazioni

ciao,

se lo clocco esternamente, il timed loop mi garantisce di avere un tempo tra una acqusizione e l'altra semre costante, che dipenda solo dal clock esterno e nn dall'istantanea priorità che ha il sistema operativo Windows????

grazie 

0 Kudos
Messaggio 5 di 12
7.106Visualizzazioni
Diciamo che il timed loop ti da una serie di informazioni sulla tempistica del ciclo, se l'iterazione è andata a buon fine nel tempo corretto etc...E' anche vero che se per esempio partono gli aggiornamenti di Windows non puoi avere la garanzia che il ciclo venga eseguito nelle tempistiche corrette, ma almeno hai tutte le informaizioni a riguardo e puoi gestirle nel tuo programma come meglio credi.
Andrea N.
Principal Applications Engineer - Semiconductor EMEA
National Instruments Italy
Certified LabVIEW Architect - Certified TestStand Architect
0 Kudos
Messaggio 6 di 12
7.103Visualizzazioni
Scusami, ma cosa intendi per "tutte le informazioni del timed loop"? quelle che si impostano sulla quadratura in alto a sinistra??
0 Kudos
Messaggio 7 di 12
7.100Visualizzazioni

Nel timed loop hai la possibilità di avere informazioni sulle iterazioni correnti, precedenti, etc...

Queste informazioni le trovi all'interno del loop cliccando con il tasto sinistro del mouse sul terminale che di default è "error".

Ti allego un immagine che chiarisce questo concetto.

 

Ciao, 

Andrea N.
Principal Applications Engineer - Semiconductor EMEA
National Instruments Italy
Certified LabVIEW Architect - Certified TestStand Architect
0 Kudos
Messaggio 8 di 12
7.095Visualizzazioni
scusa se ti disturbo sempre, ma nn riesco a programmare il timed loop cn un clock esterno?? sai come si fa ?? o puoi consigliarmi qualche link??grazie mille per l'aiuto
0 Kudos
Messaggio 9 di 12
7.086Visualizzazioni

Ciao,

 

puoi usare l'esempio di questo forum come punto di partenza:

 

http://forums.ni.com/ni/board/message?board.id=40&message.id=5146&requireLogin=False 

 

Ciao, 

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