Acquisition , valeur dans le buffer

amineham1

XLDnaute Nouveau
bonjour
voila je suis entrain de faire un programme qui fait l'acquisition d'un appareille de mesure , quand je fait l'éxécution pas a pas cela fonctionne correctement avec F8 , mais quand je le fait avec F5 le buffer est vide
valeur du buffer avec F8 = 01A+00000
dois je me servire d'une temporisation ?
si c'est le cas ,comment ?
merci de bien vouloir m'aider
Private Sub CommandButton1_Click()
' Utilise COM1
MSComm1.CommPort = 1
MsgBox "le port est active"
' 9600 bauds, pas de parité, 8 bits de données et 1 bit d'arrêt.
MSComm1.Settings = "9600,N,8,1"


MsgBox "la configuration est faite "
' Indique au contrôle qu'il doit lire la totalité
' du tampon si la propriété Input est utilisée.
MSComm1.RThreshold = 1




MsgBox "l'évenement est apeler"
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeText
' Ouvre le port.


MSComm1.PortOpen = True
' Envoie la commande Attention a l'apareille.
MSComm1.Output = Chr$(49) & Chr$(13)
buffer$ = buffer$ & MSComm1.Input 'jarrive a lire le contenu du buffer pas a pas
Debug.Print "la valeur d'entree = " & buffer$
buffer$ = Right(buffer$, 6)

Range("A1").Value = buffer$
MsgBox "valeur mesurer=" & buffer$
MSComm1.PortOpen = False
End Sub
 

Dranreb

XLDnaute Barbatruc
Re : Acquisition , valeur dans le buffer

Bonjour.

Essayez à tout hasard de mettre un DoEvents derrière les instructions qui pourraient nécessiter que le système ait la main pour pouvoir exécuter des tâche en attente d'exécution, externes à votre programmation. Derrière des commandes passées, donc.
 

amineham1

XLDnaute Nouveau
Re : Acquisition , valeur dans le buffer

merci , je l'ai fait
Code:
Do
 DoEvents
 Buffer$ = Buffer$ & MSComm1.Input
 Loop Until InStr(Buffer$, chr&(43))

sa marche toujours pas il sort pas de la boucle en sachant que le mscomm.input recois 01A+00000,00 DONC le buffer ne recois rien sauf si je l'éxécute pa a pas, :confused: aprés a force de l’exécuter a plusieurs reprise le buffer ne reçois plus de valeur même pas a pas
bien cordialement
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Acquisition , valeur dans le buffer

Bonjour,

effectivement il faut boucler sur la lecture du buffer avec doevents !
si tu veux t'inspirer du code de ce classeur que j'avais fait pour un gars du forum
qui m'avait confirmé que ça fonctionné !
 

Pièces jointes

  • RS232 Balance EssaiAuto.xls
    40 KB · Affichages: 32
Dernière édition:

amineham1

XLDnaute Nouveau
Re : Acquisition , valeur dans le buffer

Mercii Roland c'est gentille mais j'arrive pas a l’ouvrir sur EXCEL 2010, je sais pas si c'est possible de m'envoyer le code ,
et je pense aussi que je devrais mettre une boucle sur mscomm.output
bien cordialement
 

Roland_M

XLDnaute Barbatruc
Re : Acquisition , valeur dans le buffer

RE

je connais bien ça car j'ai travaillé en contrôle dans une verrerie (aujourd'hui en retraite)
et j'avais créé pour mon service, à l'époque, un programme statistique, sous QuickBasic 4.5,
saisie multiplexeur balance, pied à coulisse, pied de profondeur ...
mais je ne l'ai jamais traduit en VBA sur excel et je ne peux pas l'essayer sur mon pc, j'aurai bien aimé !
 

amineham1

XLDnaute Nouveau
Re : Acquisition , valeur dans le buffer

RE

je connais bien ça car j'ai travaillé en contrôle dans une verrerie (aujourd'hui en retraite)
et j'avais créé pour mon service, à l'époque, un programme statistique, sous QuickBasic 4.5,
saisie multiplexeur balance, pied à coulisse, pied de profondeur ...
mais je ne l'ai jamais traduit en VBA sur excel et je ne peux pas l'essayer sur mon pc, j'aurai bien aimé !

en tout cas je vous remercie de m'avoir aider j'utiliserais votre programme sur une balance que je vais avoir la fin de semaine , je pence que c'est une question de synchronisation je vous tiendrais au au courant si je trouve la solution
bien cordialement
 

Statistiques des forums

Discussions
312 237
Messages
2 086 486
Membres
103 232
dernier inscrit
logan035