Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

carte NIDAQ 6025E sur PC

 

#include <stdio.h>
#include <NIDAQmx.h>

#define DAQmxErrChk(functionCall) if( DAQmxFailed(error=(functionCall)) ) goto Error; else

int main(void)
{
	int32       error=0;
	TaskHandle  taskHandle=0;
	uInt8       data[8]={0,1,0,1,1,1,1,1};
	char        errBuff[2048]={'\0'};

	/*********************************************/
	// DAQmx Configure Code
	/*********************************************/
	DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
	DAQmxErrChk (DAQmxCreateDOChan(taskHandle,"Dev1/port0/line0:7","",DAQmx_Val_ChanForAllLines));

	/*********************************************/
	// DAQmx Start Code
	/*********************************************/
	DAQmxErrChk (DAQmxStartTask(taskHandle));

	/*********************************************/
	// DAQmx Write Code
	/*********************************************/
	DAQmxErrChk (DAQmxWriteDigitalLines(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,data,NULL,NULL));

Error:
	if( DAQmxFailed(error) )
		DAQmxGetExtendedErrorInfo(errBuff,2048);
	if( taskHandle!=0 ) {
		/*********************************************/
		// DAQmx Stop Code
		/*********************************************/
		DAQmxStopTask(taskHandle);
		DAQmxClearTask(taskHandle);
	}
	if( DAQmxFailed(error) )
		printf("DAQmx Error: %s\n",errBuff);
	printf("End of program, press Enter key to quit\n");
	getchar();
	return 0;
}

 

Une simple écriture sur un port numérique avec la gestion d'erreur associée...Je ne trouve pas ça complexe...

 

On a 6 fonctions qui suivent un ordre logique :

 

DAQmxCreateTask
DAQmxCreateDOChan
DAQmxStartTask
DAQmxWriteDigitalLines
DAQmxStopTask
DAQmxClearTask

Cordialement,

Da Helmut
Voir le profil de Maxime M. sur LinkedIn - View Maxime M.'s profile on LinkedIn
0 Compliments
Message 11 sur 13
827 Visites

Re Bonjour,

Y aurait-il un interlocuteur ayant développé sur NIDAQ trad ?

Serait-il possible d'avoir un exemple des instructions nécessaires pour:

- initialiser la carte 6025E pour faire une sortie sur A0 ?  Ily a beaucoup d'instructions, mais lesquelles et dans quel ordre ?

Calibrate_E_Series(1, ND_SELF_CALIBRATE, ND_USER_EEPROM_AREA,0.0); //plantage sans retour d'erreur
status = AO_Configure (1, 1, 1,0, 0, 1)  ;
status = AO_Write(1, 1, 5) ;

 

- comment mettre le port2 en bidirectionnel ? si je mets 2 comme indiqué dans la doc, ça ne marche pas

     status =DIG_Prt_Config(1, 2, 0,2)  ;
        
    

0 Compliments
Message 12 sur 13
815 Visites

 

Re Bonjour,

Y aurait-il un interlocuteur ayant développé sur NIDAQ trad ?

Serait-il possible d'avoir un exemple des instructions nécessaires pour:

- initialiser la carte 6025E pour faire une sortie sur A0 ?  Ily a beaucoup d'instructions, mais lesquelles et dans quel ordre ?

Calibrate_E_Series(1, ND_SELF_CALIBRATE, ND_USER_EEPROM_AREA,0.0); //plantage sans retour d'erreur
status = AO_Configure (1, 1, 1,0, 0, 1)  ;
status = AO_Write(1, 1, 5) ;

 

- comment mettre le port2 en bidirectionnel ? si je mets 2 comme indiqué dans la doc, ça ne marche pas

     status =DIG_Prt_Config(1, 2, 0,2)  ;

 


 

Il faut savoir que DAQ Trad n'est plus supporté officiellement par NI. Ce qui explique la difficulté de trouver des documents / exemples liés à ce driver.

 

D'où l'intérêt d'utiliser DAQmx. En général les utilisateurs passent de DAQ Trad à DAQmx avec le temps...

 

DAQmx est le driver qui est utilisé par la plus grande part des utilisateurs de produits NI. En utilisant ce driver vous aurez plus de chance d'avoir une réponse de la part de NI mais aussi des utilisateurs de ce forum.

 

Rien que la fonction de Calibration ou il faut choisir la ROM sur laquelle écrire montre les défauts de DAQ Trad.

 

Si quelqu'un de NI ayant envie de se mettre aux fonctions DAQ Trad passe par là, il pourra peut être vous aider...

 

 

Da Helmut
Voir le profil de Maxime M. sur LinkedIn - View Maxime M.'s profile on LinkedIn
0 Compliments
Message 13 sur 13
812 Visites