Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

errore con programma scaricato

Salve a tutti....Ho scaricato un esempio di codice dal sito della NI.
Nel momento in cui lo lancio mi appare nella lista degli errori il seguente :
 
Undefined symbol '_NIDAQmx_NewPhysChanCICtrl@12' referenced in "DigFreq-buff-cont-hithFreq2Ctr.c"
 
L'esempio di codice che ho scaricato è al seguente link:
 
 
Io uso la versione 8.0 di labwindows e una scheda daq pci 6024 e.
Sembrerebbe che non riconosce la funzione NewPhysChanCtrl(tra l'altro cercandola nell'help sembra non esista proprio) .
La cosa strana è che mi da sempre l'errore sopra citato, ma durante una prova...senza modificare nulla è partito.come ho chiuso il programma e l'ho riaperto non ne ha avuto piu voglia.
 
Qualcuno sa dirmi di cosa si tratta?
Dove sta il problema?
Inoltre nella parte in cui spiega cosa fare c'è scrito di creare una task.Ma l'esempio ha gia una task !
Ringrazio anticipatamente a tutti coloro che mi risponderanno....
ciao a tutti
0 Kudos
Messaggio 1 di 4
3.995Visualizzazioni
Ragazzi, nessuno sa dirmi che significa un errore del genere?
Cmq commentando la linea di codice che da errore,il programma parte bene!Il Viene calcolata la frequenza!
Ora però, provando sperimentalmente mi rendo conto che sebbene il programma utilizzi 2 counter(ciò dovrebbe significare una maggiore precisione rispetto al conteggio fatto da un solo counter), la precisione è scarsa!come se funzionasse un solo contatore.
Saluti a tutti e spero che si faccia vivo qualcuno!
0 Kudos
Messaggio 2 di 4
3.987Visualizzazioni

Ciao djansa,

scusami per la tardiva risposta. Ho provato a modificare il codice e sono finalmente riuscito a farlo funzionare. Ecco i passi da effettuare:

  1. Cancellare il controllo DAQmx IO "CI Physical" e rimpiazzarlo con uno nuovo;
  2. In parallelo cancellare la linea di comando  NIDAQmx_NewPhysChanCICtrl (panelHandle, PANEL_CHANNEL, 0);
  3. Cliccare con il tasto destro sul nuovo controllo creato (al quale è necessario dare la stessa constant name CHANNEL), e selezionare Generete custom control code;
  4. Una volta generata nuovamente la riga di codice NIDAQmx_NewPhysChanCICtrl (panelHandle, PANEL_CHANNEL, 0), modificare l'ultimo parametro da 1 a 0;

Questo dovrebbe permettere al codice di funzionare. Per quanto riguarda la tua seconda domanda, qual'è il range di frequenza che devi misurare? In CVI esiste anche un esempio di libreria analogo, che è il seguente:

Browse-> Hardware Input and Output -> Daqmx -> Counter Measurements -> Digital Frequency -> DigFreq-Buff-Cont-largeRange2Ctr.prj

Spero che questo ti possa aiutare,

cordiali saluti,

Fabio

Fabio M.
NI
Principal Engineer
0 Kudos
Messaggio 3 di 4
3.939Visualizzazioni

Ciao Fabio.

Non preoccuparti per la risposta tardiva...anzi ti ringrazio.

Io inizialmente ho fatto funzionare il programma eliminando la linea di codice :NIDAQmx_NewPhysChanCICtrl (panelHandle, PANEL_CHANNEL, 0);

Tu dici di cancellare il controllo DAQmx IO "CI Physical" e rimpiazzarlo con uno nuovo.Ma io non riesco a trovare questo controllo.Come già detto, ho solo eliminato la linea di codice sopra indicata.Inoltre,modificare l'ultimo parametro (1 o 0) come dici, serve solo a decidere su quale counter mandare in ingresso il segnale.Sbaglio?

Il programma legge la frequenza...ma non è molto preciso.Io ho bisogno di leggere valori di frequenza intorno ai 4Mhz,ma che il programma sia molto sensibile anche ad una variazione dell'ordine degli hz.impostando un segnale a 4Mhz,la lettura è corretta.Ma già mettendo 4.1Mhz, la lettura viene sfalsata di 2 nell'ordine dell'hz(anzicchè leggere 4.100000, legge 4.100002).Se metto 4.2Mhz la lettura è 4.100004(cioè aumenta sempre di due).A cosa potrebbe essere dovuto?

Inoltre, io uso il metodo HighFreq2Ctr.Fin quando imposto il tempo di misura a 4, tutto è corretto!impostando il tempo di misura a 5 la misura è sfalsata!questo potrebbe essere dovuto al roll over del contatore che si ha quando si misura per lungo tempo.

Grazie di tutto

 

 

 

0 Kudos
Messaggio 4 di 4
3.874Visualizzazioni