Envoie donnée RS232 [Résolu]

Signaler
Messages postés
82
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
28 janvier 2020
-
Malokoxis
Messages postés
82
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
28 janvier 2020
-
Bonsoir,

Je souhaite communiquer avec un appareil en rs232.
Pour cela j'utilise le code suivant :

    MSComm1.PortOpen = True 'ouverture du port com
    MSComm1.Output = "0D 0D 0D 4D 44 4C 0D" 'envoie


Mais je n'ai pas l'impression que l'envoie fonctionne.

Comment être sur que les données sont parties ?
J'ai essaye de mettre ce code dans Mscomm1_OnComm :

If MSComm1.CommEvent = comEvSend Then
        Text1.Text = Text1.Text & vbrclf & MSComm1.Output
    End If


Mais rien n'apparait.

Pour info, le matériel (un scanner radio) que j'essaye de piloter, je peux déjà le piloter avec un autre logiciel et j'ai donc espionné les trames qui transitent par le port rs232 lorsque le logiciel communique avec le matériel.

Voilà ce que j'ai eu (extrait) :

Requête:08/11/2015 18:26:21.16264 (+45.4219 seconds)

 0D 0D 0D 4D 44 4C 0D                              ...MDL.         

Réponse:08/11/2015 18:26:22.63164 (+0.0156 seconds)

 4D 44 4C 2C 55 53 43 32 33 30 0D                  MDL,USC230.     

Requête:08/11/2015 18:26:23.61564 (+0.9844 seconds)

 50 52 47 0D                                       PRG.            

Réponse:08/11/2015 18:26:23.64664 (+0.0313 seconds)

 50 52 47 2C 4F 4B 0D                              PRG,OK.         

Requête:08/11/2015 18:26:23.95964 (+0.3125 seconds)

 56 45 52 0D                                       VER.            

Réponse:08/11/2015 18:26:23.97464 (+0.0156 seconds)

 56 45 52 2C 56 52 31 2E 31 30 0D                  VER,VR1.10.

3 réponses

Messages postés
14648
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
17 février 2020
139
Il faut faire confiance au driver pour les données envoyées.

Pour les données que tu dois transmettre, tu te trompes sûrement :
Ce n'est pas
MSComm1.Output = "0D 0D 0D 4D 44 4C 0D"
mais :
MSComm1.Output = chr$(13) & chr$(13) & chr$(13) & "MDL" & chr$(13)


J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
Messages postés
82
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
28 janvier 2020
1
c'est bien ce que je craignait. merci NHenry
Effectivement, l'appareil répond après cet envoie.

Je vais esasyer de recevoir et analyser la réponse.
Messages postés
82
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
28 janvier 2020
1
Super Nhenry, j'arrive maintenant a communiquer avec le matériel en question. Et certainement avec d'autre, je testerais.

Merci beaucoup