Envoie donnée RS232

Résolu
Malokoxis Messages postés 83 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 22 février 2021 - 8 nov. 2015 à 20:16
Malokoxis Messages postés 83 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 22 février 2021 - 8 nov. 2015 à 23:19
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

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
Modifié par NHenry le 8/11/2015 à 20:26
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"
0
Malokoxis Messages postés 83 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 22 février 2021 2
8 nov. 2015 à 20:34
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.
0
Malokoxis Messages postés 83 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 22 février 2021 2
8 nov. 2015 à 23:19
Super Nhenry, j'arrive maintenant a communiquer avec le matériel en question. Et certainement avec d'autre, je testerais.

Merci beaucoup
0
Rejoignez-nous