10-17-2012 07:05 AM - modifié 10-17-2012 07:26 AM
Bonjour,
Je possède une PCIe 6323 sur un banc de test multiproduit. Ce banc devant accueillir plusieurs interfaces, chacune d'elle est détrompée électriquement grâce à 4 bits (tension 0V-5v).
Au départ l'acquisition de ce codage était faite sur 4 entrées PFI (plus 2 pour d'autre capteur tout ou rien) de la 6323 mais ayant besoin de les récupérer je souhaite faire cette acquisition sur des entrées analogique. J'ai donc créé une tache dans laquelle j'utilise la fonction suivante pour configurer mes entrées:
DAQmxCreateAIVoltageChan (gmxPosageTask, "Dev1/ai10:15", "Codage Posage", DAQmx_Val_Cfg_Default, 0.0, 5.0, DAQmx_Val_Volts,"")
Je cherche maintenant à récupérer les valeurs de ces entrées de façon à avoir un 1 pour un niveau supérieur à 2,5V (par exemple) ou un 0 pour une valeur inférieure à 2,5V. J'ai tenté avec un
DAQmxReadBinaryU32 (gmxPosageTask, 1, 1.0, DAQmx_Val_GroupByChannel, puiVal, 6, &written, 0)
Mais j'ai une eurreur sur puiVaL qui serait trop petit!!!! Pourtant il est déclaré comme unsigned int *puiVal.
Quelqu'un pourrait il m'aider sur ce pb ou me dire si j'utilise la bonne fonction ou pas SVP.
Merci d'avance.
Résolu ! Accéder à la solution.
le 10-17-2012 07:35 AM
Bonjour,
As tu essayé avec un double plutot qu'un U32?
le 10-17-2012 07:42 AM
Test effectué mais il me dit qu'il attend un pointeur vers un uInt32 et qu'il trouve un pointeur vers double a la place...
10-18-2012 05:10 AM - modifié 10-18-2012 05:12 AM
N'ayant pas de réponse, j'ai finalement trouvée une solution a mon pb. Si cela peut aider quelqu'un, voici ce que j'ai fait:
J'ai réalisé une acqisition des entrées grâce à un
DAQmxReadAnalogF64(gmxPosageTask, 1, 1.0, DAQmx_Val_GroupByChannel, puiVal2, 6, &written, 0)
Puis j'ai créé un mot de 6 bits en comparant mes valeurs à 2,5V
for ( i=0; i<6; i++)
{
if ( puiVal2[i]<2,5 )
{
(*puiVal) = ((*puiVal) |(0<<i));
}
else
{
(*puiVal) = ((*puiVal) |(1<<i));
}
Voila, je ne sais pas si c'était le plus simple à faire (bien que n'étant pas compliqué) mais si ça peut aider...