Besoin d'aide vba excel et port série

cs_plastik Messages postés 16 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 4 juin 2012 - 26 août 2010 à 14:01
cs_plastik Messages postés 16 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 4 juin 2012 - 27 août 2010 à 09:14
Bonjour à tous,
je suis venu solliciter votre aide car après de nombreuse recherche je n'ai pas trouvé la solution.
Je vous explique. Je suis entrain d'écrire un petit programme qui va aller lire ce que lui envoi une machine que j'ai au travail.
J'ai déjà un programme conçu par le fabricant mais celui-ci n'est pas pratique du tout.
Pour savoir quel requête envoyer j'ai utilisé un sniffer.
Donc pour pouvoir lire le programme lance un requête. Il envoi " 01 1F 00 00 1E "
Mon soucis c'est que dans mon programme je n'arrive pas à lui envoyer les " 00 00 ". Pour le reste c'est bon mais à la place des 00 00 il envoi 30 30.
VOici mon code:
Private Sub CommandButton1_Click()
MSComm1.InBufferCount = 0
MSComm1.PortOpen = True
MSComm1.output = "" & Hex(0) & Hex(0) & ""
TextBox1 = MSComm1.Input
MSComm1.PortOpen = False
End Sub


Merci pour votre aide!!

4 réponses

Chouchensb Messages postés 64 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 2 septembre 2010
26 août 2010 à 21:20
Bonjour,

Avec ton "sniffer", est ce que tu lis des caractères, ou bien des valeurs numériques ? Parce que 30, c'est le codage ASCII pour le caractères "0":
http://fr.wikipedia.org/wiki/ASCII

Si tu essayes ça...

MSComm1.output = Chr(&H01) & Chr(&H1F) & Chr(&H00) & Chr(&H00) & Chr(&H1E)

...est ce que ça ne marche pas mieux ?
0
cs_plastik Messages postés 16 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 4 juin 2012
27 août 2010 à 00:21
Merci pour ta réponse!
En fait oui ça fonctionne comme ça j'ai réussi à le faire. Mais maintenant j'ai un autre petit problème.
Quand j'envoie la requête à l'appareil, il ne me répond pas. Alors j'ai à nouveau tout comparer avec le sniffer entre mon code et le programme d'origine et j'ai trouvé un truc. Quand le programme est en capture il affiche la configuration utilisé. ET la seule différence que j'ai c'est que chez moi le " RI " est désactivé et dans le programme d'origine il est activé!!
Mais le soucis c'est qu'avec MSCOMM j'arrive pas à le configurer. Y a t il un moyen de le faire??
0
Chouchensb Messages postés 64 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 2 septembre 2010
27 août 2010 à 08:30
La, je ne sais pas. Je n'ai jamais travaillé avec les ports COM. Apparemment, RI, c'est la sonnerie et c'est une entrée pour le PC (http://support.dell.com/support/edocs/systems/snewt/fr/ug/01YENab0.pdf). Du coup, je ne suis pas sur que tu puisses le mettre à 1 avec ton code, ça doit plutot être ton appareil qui fait ça....

Il y a un petit tutoriel ici, peut etre que ça pourra aider:
http://grafikm.developpez.com/portcomm/

Sinon, c'est quoi l'appareil que tu essayes de piloter ? Tu n'as pas trouvé de doc dessus sur internet ? Peut-être que tu aurais des informations sur la com série dessus ?
0
cs_plastik Messages postés 16 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 4 juin 2012
27 août 2010 à 09:14
En fait le RI est activé par le programme d'origine que j'ai. Donc je suis obligé de l'activé moi aussi.
Et comme c'est une entrée pour le PC je pense que c'est pour ça que je ne reçois pas de réponse lorsque j'envoie ma requête.
Mon appareil c'est un boitier qui reçois des information par onde radio d'un émetteur.
Impossible de trouver de la doc.
Merci pour le lien je vais y jeter un coup d'œil.
Si au cas où tu sais comment ouvrir ce RI ou quelqu'un d'autre je suis preneur.
Merci.
0
Rejoignez-nous