begin process at 2012 02 14 14:06:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Windows

 > 

ActiveX / COM

 > 

rs232


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

rs232

mercredi 5 juillet 2006 à 12:25:32 | rs232

Xman_fr

je suis entrain de developer un programme pour capturer un signale a partir d'un port série .
j'ai utiliser MSCOMM mano je suis entrain de savoir la trame d'envoie
qui peux m'expliquer cette partie svp :
 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
les caractères de communication indique (entre<>) représentent les codes ASCII correspodants. dans certains cas , le code est écrit en format hexadécimal (format 0x...). les messages courts de demande et de réponse sont representés sous format ASCII et hexadécimale.

pour les caractères spéciaux, la liste est la suivante :
représentation valeur héxadicimale
<NULL>0x00
<SOH>0x01
<CR>0x0D
<LF>0x0A
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
qui peux m'éxplique cette partie svp
mercredi 5 juillet 2006 à 20:20:56 | Re : rs232

jack

Administrateur CodeS-SourceS
Salut
Le format des données n'est qu'une histoire de représentation.
Que tu envoies/reçoives un <NULL> = Chr$(0) = Code ascii 0 = &h0  ou  un "A" = Chr$(65) = Code ascii 65 = &h41, de toute façon, c'est un caratcère.
Hexa = Hex(Byte)
Byte = Val("&h" & Hexa)
Caractère = Chr(Byte)
Byte = Asc(Caractère)
Tout ceci représente la même chose.

Quelquefois, ce Byte (0 à 255) représente une série de 16 Bit (0 ou 1) et chaque Bit a une signification dans le dialogue.
Utilise les masques numériques (And Or) pour retrouver l'état d'un Bit ou les fonctions mathématiques (2^n où n est le n° du Bit de 0 à 15) pour fabriquer un Byte.
Regarde parmi les sources de conversion de "base" (genre calculette) pour appronfondir.

Ce qu'il faut que tu trouves, c'est la structure de la trame que tu lis. Elle dépend du protocole utilisé.
Il n'y a que toi qui puisse le savoir. Voir documentation de l'appareil avec lequel tu dialogues.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
jeudi 6 juillet 2006 à 13:42:00 | Re : rs232

Xman_fr

 Merci
j'ai ça dans la documentation :
Message envoyé par l'ordinateur:
<SOH><00h><00h><CR><LF>
Message envouyé par léquipement
<SOH><BRUTE><TARE><NET><STAT><CKSM><CR><LF>

mais l'orseque je j'ai tapper dans le programme :
mscomm1.Output =<SOH><00h><00h><CR><LF>
j'ai obtenu aucun evénement dans MScomm1


vendredi 7 juillet 2006 à 13:27:56 | Re : rs232

jack

Administrateur CodeS-SourceS
Re
mscomm1.Output =<SOH><00h><00h><CR><LF>
n'est pas correct, VB6 n'a pas pu l'accepter en temps quye syntaxe.
Soit il manque des guillemets, soit tu as envoyé des Bytes
Ca devrait ressembler à ça :
mscomm1.Output = Chr$(1) & Chr$(0) & Chr$(0) & Chr$(13) & Chr$(10)

En ce qui concerne la réponse, tu recevras une chaine dont chaque caractère correspond aux items que tu listes :
<SOH>       1
<BRUTE>   Byte représentant la masse brute, de 0 à 255
<TARE>     Byte représentant la Tare, de 0 à 255
<NET>       Byte représentant la masse Net, de 0 à 255
<STAT>     Aucune idée, peut-être "Status" | l'état de ta balance
<CKSM>   Byte représentant le CheckSum des données qui viennent d'être envoyée
<CR>         13
<LF>          10

Pour dissossier chaque Byte, il suffit de faire une boucle For-Next et lire chaque Byte|Caratère

En général, un Checksum est un XOR de tous les bytes précédents
C'est une info qu'envoie la balance.
Il faudrait que tu fasses aussi un calcul de Checksum à la réception.
Si celui que tu as calculé et celui que tu as reçu sont identiques, c'est que la qualité des signaux est correcte
Sinon, il a pu y avoir un parasite qui a faussé les valeurs transmises.
Tu peux donc ne pas en tenir compte, mais dans ce cas, tu risques de récupérer des valeurs farfelues

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
vendredi 7 juillet 2006 à 13:29:32 | Re : rs232

jack

Administrateur CodeS-SourceS
Par exemple, pour la donnée <BRUTE>, si tu reçois la lettre A majuscule, la valeur est l'ASCII de "A" = 65
vendredi 7 juillet 2006 à 17:06:05 | Re : rs232

Xman_fr

mais comment je peux savoir que
 <SOH> = chr$(1)
 <00h> = chr$(0)
 <CR> = chr$(0)
 <LF> = chr$(0)
si il y a un cours pour ça  d'une par et d'autre par je veux savoir la valeur de <01h> svp et Merci beaucoup

mardi 11 juillet 2006 à 11:25:16 | Re : rs232

Xman_fr

et j'ai trouver que dans le Cyber (apparaeil  avec laquelle faire laconnecion) il y a plusieur protocole de communication .
il y a un protocole simple et prot.P1 et prot.t1 et Eplo3 et Eplo etendu .
quell'est le protocole que je vais l'utiliser ?
car pour chaque protocole il y a un trame speciale pour la communicationavec l'ordinteur.


Cette discussion est classée dans : format, rs232, caractères, partie, entrain


Répondre à ce message

Sujets en rapport avec ce message

Lecture de caractères via RS232 [ par gounit ] Bonjour,Je cherche un moyen de pouvoir lire et de stocker dans une variable un caractère lu. En ce moment je travaille avec un activeX de National Ins Format d'écriture: a quoi servent les caractères & et $ pour une variable ? [ par fransoze ] Traintement d'une chaîne de caractères [ par gezy ] Hello,Alors c'est pas compliqué.Déjà je suis sous VB 2005 Express.J'ai un petit programme qui me permet de lister les fichiers d'un répértoire dans un copier une partie d'un texte [ par stuntman_91 ] salut!Alors voilà je vous explique mon problème:j'ai une chaine de caractères dont je veux copier uniquement la partie comprise entre 2 mots définis.D [Catégorie modifiée VBA -> VBA] Effecer une partie des caractères d'une plage de données [ par alod ] Bonjour, Je voudrai effacer les 50 premiers caractères des toutes les cellules de A3 à A703 et pour le moment je n'arrive à rien du tout, pas même à l [Catégorie modifiée VB6 -> VBA] splitter une colonne contenant caractères chiffres et lettres [ par Pedro77 ] Bonjour Mesdames, et Messieurs, j'aurai besoin de votre aide, j'ai cherché sur votre forum, mais en tant que gros débutant, j'y comprends rien.. J'a Convertir une chaine de caractères en code vb [ par TsukushiMakino ] Bonjour tout le monde, J'aimerai vous demander s'il y a une possibilité de convertir une chaine de caractères en un code vb.net et l'exécuter sur Vis suppression d'une chaine de caractères dans un fichier [ par maya77 ] bonjour je voudrais supprimer une chaîne de caractères en début de fichier jusqu'à une certaine chaîne de caractère. exemple ....... ....... .. fichier log [ par chaima01 ] je vient de trouver ce code de fichier log [code=vb]Option Explicit Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lp modification de chaîne de caractères [ par maya77 ] Bonjour tous le monde Après de multiple tentatives je n'arrive toujours pas à régler mon problème[^^sad1], je vous explique j'ai une chaîne de caract


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,967 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales