Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

Salvare dati solo sul fronte di salita/discesa di un segnale di clock esterno

Salve a tutti,
vado subito al nocciolo del problema: devo fare un'acquisizione single-point per salvare singoli-punti di due segnali utili ogni volta che si ha un fronte di salita/discesa di un segnale di campionamento esterno (una sorgente di sample clock esterna).
Premetto che il sistema di acquisizioni è composto da: Controller Rackmount 8350, Chassis PXI-1042 e scheda multifunzioni NI-6284; LabVIEW 8.0 e Sistema Operativo Windows XP Professional.
 
Sul sito viene affrontato il problema solo in parte: "NI-DAQmx Hardware-Timed Single Point Lateness Checking" alla pagina http://zone.ni.com/devzone/cda/tut/p/id/3215
 
Non riesco a capire alcune cose: come si costruisce il blocco "Process Data" e a cosa serve??? e come posso esattamente salvare solo singoli punti dei miei due segnali utili?
 
Quale VI mi consigliate per risolvere il mio problema?
 
Grazie per la pazienza e per i consigli.
         Francesco 🙂
0 Kudos
Messaggio 1 di 4
5.241Visualizzazioni

Ciao Francesco,

vorrei capire un po' meglio il tuo problema. Hai bisogno di effettuare l'acquisizione da due linee di Analog input, un singolo campione per acquisizione, all'occorrenza di uno specifico segnale esterno? Il documento che hai reperito è specifico per applicazioni Real Time e spiega come eseguire tasks hardware o software-timed che, dato un segnale in ingresso, elaborano il dato e producono un output.

Se non ho capito male la tua necessità è di effettuare un'acquisizione single sample triggherata da un segnale esterno. Se così fosse (e comunque come riferimento utile per ogni richiesta) ti consiglio di usare l'esempio "Acq&Graph Voltage-Int Clk-HW Trig Restarts.vi" che trovi nell'Example Finder di LV al percorso: Hardware Input and Output»DAQmx»Analog Measurements»Voltage. Potrai adattare l'esempio alle tue finalità cambiando l'istanza del DAQmxRead.VI in Multichannels»SingleSample e indicando nel terminale "Phisical Channel" i due canali da cui effettui l'acquisizione

 

Spero le informazioni fornite ti possano aiutare a risolvere il tuo problema. BUON LAVORO!

0 Kudos
Messaggio 2 di 4
5.235Visualizzazioni
Ciao Hudson,
  sei stato davvero gentile...il tuo suggerimento è davvero prezioso per me. Provo subito l'esempio che mi hai suggerito e ti farò sapere.
 
Grazie davvero.
A presto 🙂
0 Kudos
Messaggio 3 di 4
5.231Visualizzazioni

Ciao Hudson,

ho cercato di seguire il tuo consiglio, ma non sono riuscito a risolvere il mio problema, che adesso provo a spiegarti meglio: devo acquisire da due segnali di ingresso analogici solo 1 valore per ogni segnale ogni volta che arriva un fronte di discesa o di salita di un segnale di clock (non di trigger) generato esternamente alla scheda.

Per fare questo, sto usando la VI che ho postato, ma questa mi permette di salvare i dati di un solo canale. Volevo sapere se c'è un modo per estendere l'acquisizione a due canali. Come puoi vedere per salvare sul fronte di discesa (quindi alla fine di ogni periodo di clock), poiché conosco la frequenza con cui sto mandando il mio segnale di clock esterno, ho dato la possibilità all'utente di inserire il valore della frequenza del clock in modo da ricavare il periodo e nel while loop che verifica la condizione di uguaglianza genero una condizione booleana true che mi consente di salvare i dati solo alla fine del periodo (penso che fare una cosa del genere sia corretta). Se pensi che sia sbagliata correggimi pure.

Rimane cmq il fatto che devo acquisire due segnali contemporaneamente aventi lo stesso clock.

Grazie per la pazienza.

Francesco 🙂

0 Kudos
Messaggio 4 di 4
5.223Visualizzazioni