cs_lim
Messages postés329Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention10 mai 2014
-
29 mai 2009 à 16:52
cs_lim
Messages postés329Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention10 mai 2014
-
29 mai 2009 à 17:44
Bonjour,
Je dois envoyer une trame MODBUS à un appreil via une RS232. Dans cette trame il y a le charactère 00 en hexa, qui correspond au charactère NULL (Saut de ligne).
Quand je construit ma trame, je convertis mes valeurs hexa en décimal or quand j'arrive à chr(00) VB ne continue pas à ajouter les charactères qui viennent à la suite il arrête la constuction de la trame.
Exemple : Trame: 01 03 28 23 00 02 4F 87, je me retrouve avec 01 03 28 23 mais pas la suite.
Comment faire pour que je puisses intégrer le charactère NULL à ma trame (et la fin de ma trame) et l'envoyer ?
Merci pour toute l'aide que vous pourrez m'apporter.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 29 mai 2009 à 17:33
Bonjour,
Es-tu sur que la trame est incomplete ?
Si tu regarde via l'IDE de vb, en placent des points d'arret ou encore dans un TextBox ou un label, tu t'appercevera que le Chr(0), tronque les chaînes de texte au niveau de ceci, cela vient d'un problème d'affichage (ceux-ci ne gèrent pas ce type de caractère, ou ils doivent provoquer un retour à la ligne..?).
Par contre si tu utilise pour vérifier ta trame la fonction "Len", tu t'appercevera que ta chaine est au complet !
Dim Count As Integer
Count = Len(Trame) 'Met un point d'arret et vérifi si la taille de la trame correspond