Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Communication avec une balance Precia-Molen

212 views
Skip to first unread message

Albert P.

unread,
Sep 22, 2008, 11:36:39 AM9/22/08
to
Bonjour,

Je suis en train de me battre avec une balance Precia Molen (Modèle
BV-P3828).

Si j'ai bien compris la documentation, je dois écrire sur le port com la
chaine suivante :
"98PPPPPC"+crlf ou PPPPP correspond au prix au kilo (00123 = 1.23 euro du
kilo), C correspond à a somme logique (XOR) de tous les caractères
antérieurs (donc 98PPPPP) et je termine par un CRLF.

J'ai testé différentes methodes pour calculer cette fameuse somme logique
(fonction OuBinaire et OuExclusifBinaire) mais rien n'y fait.

Une piste ou mieux une solution serait la bienvenue.

Merci d'avance,

Albert.


Romain PETIT

unread,
Sep 22, 2008, 11:59:38 AM9/22/08
to
Albert P. avait prétendu :
> Bonjour,

Bonjour,

> Une piste ou mieux une solution serait la bienvenue.

Que dit la doc exactement ?
En général, un calcul de XOR doit ressembler à ça :

PROCEDURE CX_mfCalculeChecksum_XOR(LOCAL sBuffer est une chaîne)
// OU exclusif (XOR) des donnees
// (le buffer ne concerne que les data)

sChecksum est une chaîne
c est un entier
eChecksum est un entier

sCar est une chaîne
BOUCLE
c++
sCar=sBuffer[[c]]
SI sCar="" ALORS SORTIR
eChecksum = OuExclusifBinaire(eChecksum, Asc(sCar))
FIN
// pour certains protocoles, ETX doit être remplacé par DEL
// SI eChecksum=0x03 ALORS eChecksum = 0x7f

sChecksum = Caract(eChecksum)
RENVOYER sChecksum

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)


Albert P.

unread,
Sep 22, 2008, 12:16:08 PM9/22/08
to

"Romain PETIT" <Vo...@Signature.fin> a écrit dans le message de news:
mn.b4377d89f...@Signature.fin...


Bonjour,

Merci pour la procedure, je viens de tester mais sans succés :-(

La doc est assez succeinte :

Protocole
Caisse Enregistreuse Balance
Envoyer : 98PPPPPCCRLF
Recevoir : 99SWWWWWEIIIIIICCRLF
Où:
98: 0x38h y 0x39h
PPPPP: 5 digits pour le prix.
C: Checksum, somme logique (XOR) de tous les caractères antérieurs.
CR: 0x0Dh LF: 0x0Ah
99: 0x39h y 0x39h
S: État du poids. (S: 0x30h Correct. S: 0x31h Erreur.)
WWWWW: 5 digits pour le POIDS.
E: État du montant. (E: 0x30h Correct. E: 0x31h Erreur.)
IIIIII: 6 digits pour le montant.

C'est malheureusement tout ce que j'ai.

Albert.


Romain PETIT

unread,
Sep 22, 2008, 3:18:21 PM9/22/08
to
Il se trouve que Albert P. a formulé :

> Protocole
> Caisse Enregistreuse Balance
> Envoyer : 98PPPPPCCRLF
> Recevoir : 99SWWWWWEIIIIIICCRLF

> C: Checksum, somme logique (XOR) de tous les caractères antérieurs.

CC est sur 2 caractères, il faut donc probablement convertir en hexa
(remplacer l'avant-dernière ligne) :

...
sChecksum = NumeriqueVersChaine(eChecksum, "02X")

A+

Romain PETIT

unread,
Sep 22, 2008, 3:22:00 PM9/22/08
to
Romain PETIT a exprimé avec précision :

> CC est sur 2 caractères, il faut donc probablement convertir en hexa
> (remplacer l'avant-dernière ligne) :

Ah non pardon, le 2ème C est celui du CR...
Sinon, tu as peut être des exemples de trames ?

Albert P.

unread,
Sep 23, 2008, 2:36:41 AM9/23/08
to
Bonjour,

Et non, malheureusement pas de trames, par contre j'ai fait un mail au
constructeur. Si j'arrive à avoir des infos je les posterais ici.

Merci en tout cas pour ton aide.

Albert.


"Romain PETIT" <Vo...@Signature.fin> a écrit dans le message de news:

mn.b5027d897...@Signature.fin...

Albert P.

unread,
Sep 24, 2008, 3:58:56 AM9/24/08
to
Bonjour à tous,

Concernant le problème de communication, le calcul du CRC est ok tel que
romain PETIT me l'a communiqué. J'ai reçu du fabricant un utilitaire de test
"maison" qui produit le même résultat que mon code ... à savoir, la balance
s'éteind lorsque je lui envoie la trame :-) ... la feignante.

Si certains d'entre vous ont des pistes à explorer, merci d'avance.

Bon dev,

Albert.


patrice

unread,
Sep 27, 2008, 8:20:26 AM9/27/08
to
Albert P. a écrit :

ca me semble pas normal, contacte le sav du constructeur.
J'ai une fois ce genre de symptome avec une balance dont l'alim etait
défectueuse: elle activait l'écran pour écrire des infos, ca tirait trop
sur l'alim, => elle s'éteignait)

Albert P.

unread,
Sep 29, 2008, 3:29:56 AM9/29/08
to
Merci pour l'information, je viens d'avoir un tech du constructeur qui
m'envoi de quoi réinitialiser la balance et recharger les programmes,
protocoles, ... Si cela ne fonctionne pas avec ces modifs, je le
questionnerais sur l'alim.


Albert P.

"patrice" <p.labrache...@free.fr> a écrit dans le message de news:
48de250a$0$15461$426a...@news.free.fr...

Albert P.

unread,
Sep 29, 2008, 11:11:02 AM9/29/08
to
Bonjour à tous,

Le problème est résolu, le code était bon, il y'avait eu un problème lors du
téléchargement des protocoles dans la balance à l'usine. Un petit reset
grace aux programmes fournis par le support technique et hop tout
fonctionne.

Bon dev à vous.

Albert P.

"Albert P." <In...@gnito.com> a écrit dans le message de news:
48d88e7a$0$850$ba4a...@news.orange.fr...

olivier-v

unread,
Mar 28, 2010, 3:48:46 AM3/28/10
to
Bonjour Albert P
J'ai le meme probleme
J'ai recuperé une balance de meme reference d'occasion
Quand je la branche sur le port serie le pc allumé elle en s'allume pas
je l'allume et la branche alors sur le port serie du pc (j'utilise un cable
serie standard et non un null modem)
mais je n'ai aucun protocole, aucune doc
Pourriez vous svp me faire parvenir ce que vous avez (ce que vous a transmis le
service technique du fabricant) et d em'aider brievement sur la marche à
suivre.
Davance merci
Olivier oliv...@free.fr

Albert P.

unread,
Mar 29, 2010, 2:45:21 AM3/29/10
to
Bonjour,

Cela remonte � quelques mois cette histoire ... de m�moire pour la com entre
PC et Balance, il faut un cable s�rie crois� 2 vers 3, 3 vers 2 et 5 vers 5.

Ensuite il faut savoir qu'il existe plusieurs protocoles pour communiquer
avec une balance ... il faudrait savoir lequel est configur� dans votre
balance (et si c'est pour commercialiser un logiciel, pensez que les
balances de vos clients potentiels ne sont pas forc�ment toutes configur�es
avec le m�me)

Il faut savoir qu'une balance branch� sur un port s�rie n'est pas comme une
imprimante USB, il n'y a aucune reconnaissance automatique dans un sens ou
dans l'autre. Il faut �crire votre s�quence sur le port ... et lire la
r�ponse avec les fonctions sLit et sEcrit. Il faut mettre une temporisation
(multitache) entre l'envoi de votre trame "prix" et la lecture de la r�ponse
de la balance ( de 10 � 50ms suivant les balances)

Voila tout ce dont je me souviens.

Bon courage.

Albert P.


"olivier-v" <oliv...@domain-xyz.in> a �crit dans le message de news:
H8adnQt2ee1...@giganews.com...
> Albert P. a �crit le 22/09/2008 � 17h36 :
>> Bonjour,
>>
>> Je suis en train de me battre avec une balance Precia Molen (Mod�le
>> BV-P3828).
>>
>> Si j'ai bien compris la documentation, je dois �crire sur le port com la


>>
>> chaine suivante :
>> "98PPPPPC"+crlf ou PPPPP correspond au prix au kilo (00123 = 1.23
>> euro du

>> kilo), C correspond � a somme logique (XOR) de tous les
>> caract�res
>> ant�rieurs (donc 98PPPPP) et je termine par un CRLF.
>>
>> J'ai test� diff�rentes methodes pour calculer cette fameuse somme


>> logique
>> (fonction OuBinaire et OuExclusifBinaire) mais rien n'y fait.
>>
>> Une piste ou mieux une solution serait la bienvenue.
>>
>> Merci d'avance,
>>
>> Albert.
> Bonjour Albert P
> J'ai le meme probleme

> J'ai recuper� une balance de meme reference d'occasion
> Quand je la branche sur le port serie le pc allum� elle en s'allume pas


> je l'allume et la branche alors sur le port serie du pc (j'utilise un
> cable
> serie standard et non un null modem)
> mais je n'ai aucun protocole, aucune doc
> Pourriez vous svp me faire parvenir ce que vous avez (ce que vous a
> transmis le

> service technique du fabricant) et d em'aider brievement sur la marche �

0 new messages