Envoie donnée RS232 [Résolu]

Malokoxis 69 Messages postés lundi 3 janvier 2011Date d'inscription 8 février 2018 Dernière intervention - 8 nov. 2015 à 20:16 - Dernière réponse : Malokoxis 69 Messages postés lundi 3 janvier 2011Date d'inscription 8 février 2018 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

3 réponses

NHenry 14176 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 20 mai 2018 Dernière intervention - Modifié par NHenry le 8/11/2015 à 20:26
0
Utile
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"
Commenter la réponse de NHenry
Malokoxis 69 Messages postés lundi 3 janvier 2011Date d'inscription 8 février 2018 Dernière intervention - 8 nov. 2015 à 20:34
0
Utile
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.
Commenter la réponse de Malokoxis
Malokoxis 69 Messages postés lundi 3 janvier 2011Date d'inscription 8 février 2018 Dernière intervention - 8 nov. 2015 à 23:19
0
Utile
Super Nhenry, j'arrive maintenant a communiquer avec le matériel en question. Et certainement avec d'autre, je testerais.

Merci beaucoup
Commenter la réponse de Malokoxis

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.