Précédent   Forum des professionnels en informatique > Systèmes > Hardware > Dépannage et Assistance > Périphériques
Périphériques Lecteur (CD,DVD), DD, DD externe, clavier, souris, imprimante, scanner, clé USB...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/04/2007, 11h02   #1
Membre du Club
 
Inscription : mai 2006
Messages : 147
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2006
Messages : 147
Points : 56
Points : 56
Par défaut Récupération du poids depuis une balance

Bonjour,

Je cherche à récupérer des infos depuis une balance. Je rencontre un problème pour faire la demande de réponse j envoie une trame avec les différents paramètres. Mais le paramètre check-sum et le numéro d'instruments me pose problème.

Le check-sum: ou exclusif de tous les caractères précédents sur 2 octets. Donc je dois additionner les différents paramètres d'avant (codés en hexa)?!?!

et le numéro d'instruments est propre à chaque instrument??


merci de votre aide
vallgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 17h48   #2
Membre Expert
 
Avatar de Juju_41
 
Homme
Développeur en systèmes embarqués
Inscription : février 2003
Messages : 973
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur en systèmes embarqués

Informations forums :
Inscription : février 2003
Messages : 973
Points : 1 162
Points : 1 162
Bonjour,

Merci de préciser votre question, notamment :
- le type/modèle de la balance
- l'interface de communication utilisée (RS232 ?)

Le ou exclusif n'est pas une addition Si j'ai bien compris vous avez juste à faire des ou exclusifs sur chaque groupe de 2 octets précédent.
__________________
Avant de poster, merci de consulter les règles du forum
Juju_41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 01h03   #3
Blue_Strike
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Citation:
Envoyé par Juju_41
Le ou exclusif n'est pas une addition Si j'ai bien compris vous avez juste à faire des ou exclusifs sur chaque groupe de 2 octets précédent.
Non, le check-sum est un outils de contrôle de la trame. Il contient le résultat d'un Ou-Exclusive entre les différents octets de la trame (y compris les octets de contrôle telque l'adresse et le numéro de la trame..). La méthode check-sum est très ancienne, généralement on fait appel à FCS (CRC)..

la trame est de cette forme :
| 7E | @ | Num_Bloc | 255-Num_Bloc | INFORMATIONS | Check-sum | 7E |

c'est le protocole HDLC, donc je suppose que c'est assuré avec une laison série (RS232), j'ai jamais vu ce protocole sous autre support que série RS..

++
  Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 08h19   #4
Membre du Club
 
Inscription : mai 2006
Messages : 147
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2006
Messages : 147
Points : 56
Points : 56
Alors déjà merci d'avoir répondu aussi vite!

Alors c'est une balance de type precia molen avec l 'appareil M10/M31 qui utilise la liason rs232.

Alors l'ordinateur doit faire une demande à l'appareil: SOH HTxx CS CR LF
SOH : start of heading
HTxx : horizontal tabulation
CS : check-sum
CR : carriage return
LF : Line feed

Donc je dois coder ces blocs avec des chiffres en hexa mn???

ex: 01 09xx CS (dépendra des autres) 0D 0A

Et la balance me répondra sous la même forme?


merci d'avance
vallgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 10h31   #5
Membre Expert
 
Avatar de Juju_41
 
Homme
Développeur en systèmes embarqués
Inscription : février 2003
Messages : 973
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur en systèmes embarqués

Informations forums :
Inscription : février 2003
Messages : 973
Points : 1 162
Points : 1 162
Citation:
Envoyé par Blue_Strike
Non, le check-sum est un outils de contrôle de la trame. Il contient le résultat d'un Ou-Exclusive entre les différents octets de la trame (y compris les octets de contrôle telque l'adresse et le numéro de la trame..).
Je ne pense pas que le numéro de trame entre en jeu, le checksum recherché n'a pas l'air d'être un checksum de "couche basse".

Citation:
Envoyé par Blue_Strike
la trame est de cette forme :
| 7E | @ | Num_Bloc | 255-Num_Bloc | INFORMATIONS | Check-sum | 7E |

c'est le protocole HDLC, donc je suppose que c'est assuré avec une laison série (RS232), j'ai jamais vu ce protocole sous autre support que série RS..
++
La il faudrait m'expliquer comment à partir du 1er post vous pouvez affirmer que le protocole utilisé est HDLC ...
__________________
Avant de poster, merci de consulter les règles du forum
Juju_41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 10h45   #6
Membre du Club
 
Inscription : mai 2006
Messages : 147
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2006
Messages : 147
Points : 56
Points : 56
Après recherche le protocole que j'utilise est le protocles escalve a+
si cela peut vous aidez..


merci
vallgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 11h41   #7
Membre Expert
 
Avatar de Juju_41
 
Homme
Développeur en systèmes embarqués
Inscription : février 2003
Messages : 973
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur en systèmes embarqués

Informations forums :
Inscription : février 2003
Messages : 973
Points : 1 162
Points : 1 162
Avez-vous un lien, les spécifications du protocole ou encore une documentation détaillée de votre balance ?

Quand vous écrivez :
Citation:
Alors l'ordinateur doit faire une demande à l'appareil: SOH HTxx CS CR LF
SOH : start of heading
HTxx : horizontal tabulation
CS : check-sum
CR : carriage return
LF : Line feed
A quoi correspond xx ?
__________________
Avant de poster, merci de consulter les règles du forum
Juju_41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 13h01   #8
Membre du Club
 
Inscription : mai 2006
Messages : 147
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2006
Messages : 147
Points : 56
Points : 56
oui alors:

demande ordinateur

[SOH] [HTxx(numéro de l'instrument)] [bloc de demande] [CS] [CR] [LF]

- bloc de demande
1 caractère de début de bloc 05 (hexa) = ENQ
2 caractères codés ASCII numériques (30 à 39 (hexa)) numéro de blocs
caractère de sélection du type d'information 4c (hexa) L Données courantes
49 (hexa) I Données imprimées


check sum: ou exlusif de tous les caractères précédents sur 2 octets codés ASCII

Alors pour faire une demande je devrais envoyer:

0109 0005 3031 4c.. (CS) 0D0A = SOH HT XX ENQ BLOC L CS CR LF

Est-ce que cela doit être envoyer comme ca?? et comment calculer le check sum??je ss un peu perdu!


merci
vallgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 13h16   #9
Membre Expert
 
Avatar de Juju_41
 
Homme
Développeur en systèmes embarqués
Inscription : février 2003
Messages : 973
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur en systèmes embarqués

Informations forums :
Inscription : février 2003
Messages : 973
Points : 1 162
Points : 1 162
Ne connaissant pas le matériel, je ne vais pas pouvoir vous aider beaucoup sur les commandes spécifiques. En revanche, je peux vous expliquer le calcul du checksum :

Supposons que la suite d'octets envoyée et la suivante (c'est arbitraire, j'ai pris un nombre pair d'octets) :
Code :
01 09 00 05 30 31 32 4C
Rappel sur le ou exclusif :
- 0 XOR 0 = 0
- 0 XOR 1 = 1
- 1 XOR 0 = 1
- 1 XOR 1 = 0

Le checksum sera calculé de la manière suivante :
Code :
1
2
3
4
5
6
7
    0109
XOR 0005
XOR 3031
XOR 324C
    ----
    0371 : notre checksum
Pour le détail du calcul, en binaire :
Code :
1
2
3
4
5
6
7
    0000 0001 0000 1001
XOR 0000 0000 0000 0101
XOR 0011 0000 0011 0001
XOR 0011 0010 0100 1100
    -------------------
    0000 0011 0111 0001 : notre checksum (0371)
__________________
Avant de poster, merci de consulter les règles du forum
Juju_41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 15h40   #10
Membre du Club
 
Inscription : mai 2006
Messages : 147
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2006
Messages : 147
Points : 56
Points : 56
Merci beaucoup c'est doirt la réponse que j attendais

Mais j'ai encore un petit soucis avec des termes qu'il a dans la doc.Pour faire une demande à la balance il a de solutions.

-demande de lecture de la trame configurée
-demande de lecture de n blocs d'informations


et je ne comprend pas bien la différence qu'il a entre ces 2 demandes.


merci
vallgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 23h08   #11
Blue_Strike
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Citation:
Envoyé par Juju_41
Je ne pense pas que le numéro de trame entre en jeu, le checksum recherché n'a pas l'air d'être un checksum de "couche basse".
La somme arithmétique des valeurs des octets est faite octet après octet, d'un octet de départ à un octet d'arrivé, y compris le numéro de la trame. Que le bit de START et de STOP ne sont pas compris dans cette somme.

Citation:
Envoyé par Juju_41
La il faudrait m'expliquer comment à partir du 1er post vous pouvez affirmer que le protocole utilisé est HDLC ...
Citation:
Envoyé par vallgui
[...] Mais le paramètre check-sum et le numéro d'instruments me pose problème.
Le check-sum est une manière de contrôle un peu "dépassée", elle a apparait avec les trame HDLC.. d'où j'ai supposé le protocole

Citation:
Envoyé par vallgui
-demande de lecture de la trame configurée
-demande de lecture de n blocs d'informations
et je ne comprend pas bien la différence qu'il a entre ces 2 demandes.
la demande pour la lecture de n blocs est la trame d'information, elle contient les données que tu veux recevoir de la balance..
la demande de lecture de la trame configurée peut être l'un de deux sorte de trame : Supervision ou Unumbred.. elles assurent plusieurs fonctionalités telque l'acquisé de réception, vérification de la connexion, demande d'arrêt ou d'envoi (interruptions), ...

++
  Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 07h33   #12
Membre Expert
 
Avatar de Juju_41
 
Homme
Développeur en systèmes embarqués
Inscription : février 2003
Messages : 973
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur en systèmes embarqués

Informations forums :
Inscription : février 2003
Messages : 973
Points : 1 162
Points : 1 162
Citation:
Envoyé par Blue_Strike
Le check-sum est une manière de contrôle un peu "dépassée"
Une multitude de protocoles actuels utilisent pourtant les sommes de contrôle (Ethernet, IP etc ...).

Citation:
Envoyé par Blue_Strike
la demande pour la lecture de n blocs est la trame d'information, elle contient les données que tu veux recevoir de la balance..
la demande de lecture de la trame configurée peut être l'un de deux sorte de trame : Supervision ou Unumbred.. elles assurent plusieurs fonctionalités telque l'acquisé de réception, vérification de la connexion, demande d'arrêt ou d'envoi (interruptions), ...
A supposer que HDLC soit utilisé dans notre cas, ce n'est pas à l'utilisateur de former et envoyer des trames de supervision ou d'acquittement !

En ce qui me concerne, vallgui, je ne connais pas le protocole utilisé par votre balance, donc à moins d'avoir la documentation complète sur celle-ci, je ne pourrai pas vous aider plus que ça sur les termes utilisés

Bon courage
__________________
Avant de poster, merci de consulter les règles du forum
Juju_41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 23h32   #13
Blue_Strike
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Citation:
Envoyé par Juju_41
Une multitude de protocoles actuels utilisent pourtant les sommes de contrôle (Ethernet, IP etc ...).
oui c'est vrai, mais j'ai designé par "depassée" la façon du contrôle, pas le protocoles, même si Ethernet ou IP l'utilise encore..

Citation:
Envoyé par Juju_41
A supposer que HDLC soit utilisé dans notre cas, ce n'est pas à l'utilisateur de former et envoyer des trames de supervision ou d'acquittement !
j'ai dis que l'utilisateur doit former et envoyer ces trames de supervision et d'acquittement ??! ces trames sont absolument automatisées à l'envoi et à la réception par l'algorithme de communication (propre au protocole concerné). Et l'utilisateur ne peut gérer que les trames d'information (I).

@vallgui : pareil, ce protocole me parait bizarre et comme l'a dit Juju_41, que la documentation (si elle existe ) peut te sauver..

Enfait, il faut le dire, je trouve mal à comprendre ce que tu veux faire !!! une balance est fournit généralement avec un soft du contructeur qui gère ce type de communication.. Sinon, si tu veux faire ta propre application, tu peux toujours écouter sur la ligne de cette balance (en communiquant avec le soft du constructeur), et à l'aide d'une application comme MSCOMM ou RSLook, tu peux récupérer les données..et même la forme de la trame !

Bonne journée,
++

Dernière modification par Blue_Strike ; 21/04/2007 à 22h49.
  Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 08h18   #14
Membre du Club
 
Inscription : mai 2006
Messages : 147
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2006
Messages : 147
Points : 56
Points : 56
Merci les gars pour ces informations!

Je n'ai pas de soft pour la balance et j'ai une documentation pas très précise faut dire.

Ce que je veux faire est récupérer la trame pour pouvoir récupérer le poids qui si trouvera. Donc apparement comme tu viens de l'expliquer avec ces programmes je pourrai récupérer ces infos? Car c'est ce que je désire faire pour ensuite traiter ces informations.
vallgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 11h42   #15
Membre Expert
 
Avatar de Juju_41
 
Homme
Développeur en systèmes embarqués
Inscription : février 2003
Messages : 973
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur en systèmes embarqués

Informations forums :
Inscription : février 2003
Messages : 973
Points : 1 162
Points : 1 162
A votre place, j'enverrai un mail à Precia Molen afin de leur demander une documentation plus précise.

Ca ne coute rien d'essayer
__________________
Avant de poster, merci de consulter les règles du forum
Juju_41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 12h48   #16
Membre du Club
 
Inscription : mai 2006
Messages : 147
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2006
Messages : 147
Points : 56
Points : 56
Oui c est ce que j ai fait mais elle est très brève. Ci-joint la doc si jamais.

Mais merci pour toutes ces infos!!!!!!!!!!
Fichiers attachés
Type de fichier : zip 4004947-0.zip (144,9 Ko, 81 affichages)
vallgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 18h25   #17
Membre Expert
 
Avatar de Juju_41
 
Homme
Développeur en systèmes embarqués
Inscription : février 2003
Messages : 973
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur en systèmes embarqués

Informations forums :
Inscription : février 2003
Messages : 973
Points : 1 162
Points : 1 162
C'est déja beaucoup plus clair

Les passages intéressants :
Citation:
Le choix du protocole s'effectue par configuration au niveau de l'instrument. La procédure est décrite dans le Guide d'installation M10/M31.
[...]
Le numéro d'instrument et le check-sum sont des éléments optionnels définis par configuration
Donc en configurant la balance, on peut se "débarasser" de ces 2 champs, ce qui nous simplifiera la vie dans un premier temps.

Les blocs d'information correspondent à des informations comme le poids affiché sur la balance par exemple.
Les commandes correspondent elles à des commandes que l'ordinateur envoie à la balance, comme effectuer un tarage par exemple.
Tous ces blocs information et ces commandes sont décrites en détail dans la section 2.5 du manuel.

Si vous avez du mal à former vos trames, expliquez-nous ce que vous chercher à faire avec votre balance, quelles informations vous voulez récupérer et nous pourrons vous aider.
__________________
Avant de poster, merci de consulter les règles du forum
Juju_41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 21h27   #18
Blue_Strike
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
salut !

waww vous communiquez pleinement pendant la journée..

Plus sérieusement, je trouve que la documentation est vraiment très intéressante et même suffisante dans ce cas si tu veux juste récupérer le poids. Et je penses que tu dois, dans un premier temps, maîtriser comment configurer cette balance avec le minimum de options possibles, pour plus de simplicité
Citation:
Envoyé par vallgui
Je n'ai pas de soft pour la balance et j'ai une documentation pas très précise faut dire.
Je vois mal qu'un constructeur d'une telle balance ne fournit pas son logiciel avec ! tu n'as pas essayé de le contacter ?
Sinon, oui. Avec le MSCOMM par exemple (100% gratuit) tu peux récupérer toute donnée de la trame, et ceci devient même plus facile en connaissant la forme de la trame depuis ta documentation.
En effectuant quelques tests : Tu peux mettres des poids connus d'avance (10, 20 et 30Kg par exemple) et tu essayes chaque fois de lire la valeur depuis la trame en utilisant ce programme.

bon courage,
++

Dernière modification par Blue_Strike ; 20/04/2007 à 21h45.
  Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h02   #19
Membre du Club
 
Inscription : mai 2006
Messages : 147
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2006
Messages : 147
Points : 56
Points : 56
Ok merci encore!!

Alors si j ai tt compris (je ss y me faut long!), je dois envoyer une trame pour ma balance me renvoie le poids! ex: SOH HT00 ENQ 30 31 4c pour qui me renvoit le poids brut (page 7 et 9)... j espere en tt cas!!
vallgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h57   #20
Membre du Club
 
Inscription : mai 2006
Messages : 147
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2006
Messages : 147
Points : 56
Points : 56
Qui donnerait un truc du genre... non????
Fichiers attachés
Type de fichier : txt trame pour balance.txt (653 octets, 43 affichages)
vallgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h13.


 
 
 
 
Partenaires

Hébergement Web