Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2541 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  programmation d'une carte d'acquisition sous vba

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

programmation d'une carte d'acquisition sous vba

n°1573377
ISF
Posté le 11-06-2007 à 17:37:45  profilanswer
 

Bonjour
 
J'ai acheté une carte d'acquisition chez national instruments. J'ai donc installé les drivers qui m'était livrés avec la carte. Ne connaissant pas grand chose en programmation j'ai donc appelé NI pour avoir des renseignements. ils m'ont alors dis que je devais créer des taches avec un logiciel appelé measurement and automation explorer ce que j'ai et qu'ensuite je devais appeler mes taches avec des fonctions du style DAQmxLoadTask... Le problème c'est qu'en faisant cela vba me met un message d'erreur en disant qu'il ne connait pas la librairie de cette fonction. Je vous demande alors de l'aide car cela devient assez urgent. en effet je dois avoir fini cela d'ici vendredi.  
 
Merci d'avance pour vos réponses.

mood
Publicité
Posté le 11-06-2007 à 17:37:45  profilanswer
 

n°1573394
jpcheck
Pioupiou
Posté le 11-06-2007 à 18:02:05  profilanswer
 

il te faut (trouver et) ajouter la référence NI-DAQmx 8.0 dans les librairies de ton projet.

n°1573539
ISF
Posté le 12-06-2007 à 08:12:30  profilanswer
 

En fait nous avons déjà inclut une librairie appelé NI DAQmx C API mas cela ne change rien pour ce qui est de la librairie NI-DAQmx 8.0 je ne la trouve pas dans les références. Peux tu me dire où puis-je le trouver?
 

n°1573663
tegu
Posté le 12-06-2007 à 11:33:44  profilanswer
 

Si elle n'apparaît pas dans les références il faut peut-être utiliser le bouton parcourir pour sélectionner le composant système correspondant à cette bibliothèque.
Encore faut-il connaître le nom de ce composant (.dll, .ocx, .olb, ...) et ça ne relève pas de compétences VB mais de la doc de ta carte ou des infos sur le web (pas cherché).


Message édité par tegu le 12-06-2007 à 11:33:55
n°1574161
ISF
Posté le 13-06-2007 à 08:48:54  profilanswer
 

Pour ce qui est de la librairie j'ai fini par la trouver ainsi qu'un exemple de code qui à l'air de marcher mais une fois que j'ai fais marcher le fois une petite dixaine de fois VBA me met un message d'erreur qui me di dépassement de capacité. Je voulais savoir si quelqu'un savais ce que cela voulais dire et comment puis-je y remédier.

n°1574163
jpcheck
Pioupiou
Posté le 13-06-2007 à 08:50:21  profilanswer
 

les valeurs que tu veux mettre dans tes variables doivent dépasser la capacité définie, pour quelle ligne de code ca plante stp ?

n°1574174
ISF
Posté le 13-06-2007 à 09:21:17  profilanswer
 

Je ne sais pas quel ligne plante car c'est dès le démarrage du programme qu'il me met le message d'erreur mais je te met mon code. Si tu apperçois des anomali fais le moi savoir merci beaucoup de ton aide car j'en ai bien besoin.
 
Dim sampsPerChanWritten As Long
Dim test As Long
Dim taskhandle As Long
Dim delay As Double
Dim Status As Integer
 
Private Sub Configure_Port_Click()
 
    Status = DAQmxCreateTask("", taskhandle)
    Status = DAQmxCreateDOChan(taskhandle, "dev1/port0/line0:7", "", DAQmx_Val_ChanForAllLines)
    Status = DAQmxStartTask(taskhandle)
End Sub
 
Private Sub Stop_Task_Click()
Status = DAQmxStopTask(taskhandle)
Status = DAQmxClearTask(taskhandle)
End Sub
 
Private Sub Write_Logic_0_Click()
   ' Write zeros or ones to the digital lines
    Dim i As Integer
    Dim writeArray(0 To 7) As Byte
    For i = 0 To 7
    ' Reverse Logic
        writeArray(i) = 1
    Next
     
    Status = DAQmxWriteDigitalLines(taskhandle, 1, True, 10#, DAQmx_Val_GroupByChannel, writeArray(0), sampsPerChanWritten, ByVal 0& )
     
     
End Sub
 
Private Sub Write_Logic_1_Click()
    ' Write zeros or ones to the digital lines
    Dim i As Integer
    Dim writeArray(0 To 7) As Byte
    For i = 0 To 7
    ' Reverse Logic
        writeArray(i) = 0
    Next
       
    Status = DAQmxWriteDigitalLines(taskhandle, 1, True, 10#, DAQmx_Val_GroupByChannel, writeArray(0), sampsPerChanWritten, ByVal 0& )
End Sub

n°1574182
ISF
Posté le 13-06-2007 à 09:45:48  profilanswer
 

Il vient de se passer quelque chose de bizarre car je n'ai plus de message d'erreur de dépassement de capacité sans rien avoir changé. Maisj'ai une erreur qui me dis type d'argument ByRef incompatible sur la ligne status = DAQmxCreateTask("",Taskhandle).  désolé de vous demander tant de choses mais je débute sous visual basic et il ne me reste plus beaucoup de temps pour finir mon programme.
 
merci de vos réponses.

n°1574190
jpcheck
Pioupiou
Posté le 13-06-2007 à 09:51:50  profilanswer
 

a aucun moment tu ne définis ton taskhandle, la valeur a passer en paramètre étant à mon avis primordial, il faut que tu lui attribues une valeur. Est-ce fait ?

n°1574254
ISF
Posté le 13-06-2007 à 11:29:02  profilanswer
 

Je viens de le faire et cela marche très bien car VBA ne se met plus en erreur je te dis un grand merci car si tu ne m'avais pas aidé je serais toujours bloqué.  
 
MERCI beaucoup de ton aide  

mood
Publicité
Posté le 13-06-2007 à 11:29:02  profilanswer
 

n°1575662
ISF
Posté le 15-06-2007 à 17:12:22  profilanswer
 

Désolé de vous demander encore quelque chose mais après le code pour la programmation. j'airéaliser le programme que je voulais réaliser et tout s'est bien passé. Je l'ai lancé et là il a tourner deux ou trois fois et mes cartes d'acquisition se sont mis à bugger. En effet l'une d'elle me délivre tout le temps 5V et l'autre ne délivre jamais 5V. Je voulais savoir si quequ'un avait une idée de ce qui se passe car moi je suis perdu
Merci de vos réponses

n°1575668
jpcheck
Pioupiou
Posté le 15-06-2007 à 17:18:08  profilanswer
 

amha, tu devrais aller demander ca dans un autre forum que celui de vb/a/s...
aucune idée de mon côté


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  programmation d'une carte d'acquisition sous vba

 

Sujets relatifs
Programmation génériqueProgrammation JAVA pour un P990i
Questions de "base" ambigues sur la programmation objetProgrammation VBS par un débutant
besoin d aide en matlab pr la data acquisition toolboxQue me conseillez-vous pour une carte dynamique ?
[C++] Programmation d'un serveur de jeuFenetre DOC et programmation C
Programmation php/htlm/mysql avec caractères asiatiques.Programmation pour Débutant
Plus de sujets relatifs à : programmation d'une carte d'acquisition sous vba


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR