in data 07-07-2009 05:00 AM
Salve a tutti.
Sto scrivendo una funzione in ambiente Borland C++ builder 5 per leggere la tensione dal multimetro digitale PCI 4060.
Ho installato i drivers NIDMM 2.9
Premetto che ho incluso nel progetto gli header files è le librerie necessarie.
Inizializzo la scheda nel seguente modo:
ViStatus eStatus = VI_SUCCESS;
// inizializzazione multimetro
eStatus = vi_error_handler(niDMM_InitWithOptions("DAQ::4::INSTR" , VI_TRUE , VI_TRUE , "Simulate=0,RangeCheck=1,QueryInstrStatus=0,Cache=1", &(dmm.handle)));
Quando eseguo la funzione ricevo il codice d'errore 46 il quale non è associato ad alcuna descrizione (appare un popup vuoto).
Ho effettuato diverse ricerche per capire a cosa corrisponde questo codice d'errore ma non ho avuto alcun risultato.
Ho anche cercato il codice, sempre senza alcun risultato, all'interno dei file nidmm.h, nidmmObsolete.h, iviDmm.h e iviDmmObsolete.h nella directory "C:\Programmi\IVI Foundation\IVI\Include"
Ho provato, tra le altre cose, a eseguire il test della scheda dal Measurement & Automation explorer e in quel caso non ricevo alcun errore.
Qualcuno può cortesemente darmi un mano a capire a cosa corrisponde questo codice d'errore?
Grazie in anticipo.
Saluti.
in data 07-08-2009 09:20 AM
Ciao,
innanzitutto, l'ambiente Borland C++ non è ufficialmente supportato, nel senso che non è inserito nella lista degli ambienti di sviluppo dai quali è possibile richiamare direttamente le API fornite per il driver NI-DMM. La lista citata comprende:
1) LabVIEW;
2) CVI;
3) Visual C;
4) Visual Basic
Per questi ambienti sono anche forniti degli esempi per la programmazione basilare dei DMM.
Comunque, posso confermarti che tale errore non è assolutamente documentato. Si ripropone anche utilizzando altre funzioni o parametri per l'inizializzazione?
Confermi che i file C:\Program Files\IVI Foundation\IVI\Lib\bc\nidmm.lib (file che consente la compatibilità CVI - Borland) e C:\Program Files\IVI Foundation\IVI\Include\iviDmm.h sono stati correttamente inclusi?
Ciao,
Licia
in data 07-08-2009 10:25 AM
Ciao.
Prima di realizzare questo programma avevo utilizzato un programma basilare di esempio per la lettura della tensione e funziona senza problema.
L'errore si ripropone anche richiamando la funzione niDMM_Read.
Sono sicuro della corretta inclusione della corretta inclusione delle librerie e degli header.
Ciao,
Simone