VB.Net et balance Mettler Toledo

Signaler
Messages postés
11
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
19 novembre 2018
-
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
-
Bonjour,

J'ai à charge de développer une appli qui communiquerait avec une balance Mettler Toledo Atoll.
Mon premier problème est de savoir comment récupérer des données exploitables contenues dans la balace pour pouvoir les traiter par la suite en VB.
J'ai entendu parler de dll, et il me semble qu'il n'y a que des prises RJ-45 (je n'ai pas la balance sous les yeux ce week end)

Si quelqu'un peut m'aider, me donner une piste, une solution ou une idée, je suis preneur !

Merci d'avance !

11 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Ce qu'il faut savoir, c'est le type de connexion qu'utilise cette balance.

La prise RJ45 ne veut rien dire.
Si, habituellement c'est la prise typique pour la connexion à un réseau Ethernet, il arrive fréquemment que sur ce genre d'appareil elle soit utiliser comme connecteur plus compact pour une connection RS232.
Il peut d'ailleurs ne pas s'agir d'une prise RJ45 mais d'une RJ46 (si ma mémoire est bonne), même format mais 10 voies au lieu de 8 pour une RJ45.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Ou d'une RJ11 (avec ergot déporté) = prise pour modem ~ liaison série

Dans la doc de balance, il faudra regarder si les données forunies sont au format décimal (Binaire Codé Décimal : BCD) ou, comme c'est souvent le cas pour les lisisons cablées directes, en code Gray.
Dans ce dernier cas, il suffira de retravailler le chiffre reçu pour le convertir en décimal (affûte tes cours de logique binaire et des XOR).
Messages postés
11
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
19 novembre 2018

Bonjour, et merci pour vos réponses (on ne le dit jamais assez souvent ^^)

Je me suis renseigné sur la balance en question, et il s'agit bien d'une interface RS232.

Maintenant, reste à savoir comment faire passer les données de la balance à l'ordi, sachant qu'on m'avait parler d'utiliser IPSec... (je n'ai encore jamais récupérer les données d'un outils externe, d'habitude, je possède un fichier tout fait)

Je vais tout d'abord contacter le constructeur pour savoir s'il existe une bibliotheque ou autre, mais en attendant, pouvez-vous me proposer d'autres pistes?

merci
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
S'il s'agit de liaison RS232, il s'agit d'une liaison série classique. Tous les outils sont déjà intégré dans .Net.
Il te faudra utiliser le composant System.IO.SerialPort. Et connaitre le protocole de communication, etc ...

Sauf si, effectivement, le constructeur a prévu une bibliothèque de gestion de sa balance, qu'il sera préférable d'utiliser à ce moment là.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
11
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
19 novembre 2018

Bonjour,

J'ai enfin eu la balance sur laquelle je dois travailler.

Elle est bien pourvue d'une prise RJ46 comme le disait casy, et l'autre bout du cable est donc relier à mon port série.
En voulant ouvrir une connexion à ce port dans visual studio (serialport1.Open()), j'ai une erreur : accès refusé.

Dans DOS, la commande MODE COM1:9600,N,8,1 me donne "Le périphérique COM1 n'est pas disponible actuellement".

Cela veut donc dire que quelque chose écoute ce port, mais je ne vois pas quoi... Je n'ai apparemment aucun modem connecté ou actif, aucun soft susceptible (à mes yeux) d'utiliser ce port.
Bref, je me trouve un peu dans une impasse, et je voudrais savoir si vous connaissez un logiciel capable de donner le nom du processus qui écoute un port série, ou tout autre moyen de le libérer.

Merci d'avance !
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Cela signifie que ton port est déjà utilisé par une autre application.

Vérifie que tu n'as pas un soft accédant naturellement à ce port, que tu crois avoir fermé mais dont il reste encore un processus en mémoire.

Vérifie aussi, si tu as installé des drivers ou logiciels concernant ta balance, que ceux-ci ne sont pas actifs ou qu'ils ne laissent pas de processus en mémoire verrouillant le port.

Et non, je ne sais pas comment connaitre le processus qui verrouille le port

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1
salut, tu as vérifier dans ta config que c'est bien le post 1 ? c'est tout con mais parfois il y'en à deux sur les vieilles CM.
Aprés dans VB.NET tu le configure et tu l'ouvre voir ICI :
http://www.vbfrance.com/forum/sujet-SERIAL-COM-RS232-PROBLEME-TEMPS-REPONSE_1373180.aspx
++
Tiens les balises ne sont pas reconnues ^_____^, zut alors.....
Messages postés
11
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
19 novembre 2018

Bon, le problème est résolu. (Je devais formater, j'en ai donc profiter pour tout refaire.)

Maintenant, avec la commande "mode com1:9600,N,8,1" j'obtiens le résultat suivant :

État du périphérique COM1:
--------------------------
Baud : 9600
Parité : None
Bits de données : 8
Bits d'arrêt : 1
Temporisation : ON
XON/XOFF : OFF
Protocole CTS : OFF
Protocole DSR : OFF
Sensibilité DSR : OFF
Circuit DTR : ON
Circuit RTS : ON

Pour la suite, j'avoue que c'est le floue complet : Comment puis-je recevoir les données provenant de la balance?
On a une fonction SerialPort1_DataReceived mais je bloque juste avant, pour envoyer les données de la balance ou les demander à partir de VS ....
Je ne trouve pas beaucoup d'info pour l'instant sur le net là-dessus.
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1
Salut, tout est expliqué dans le post dont le lien figure dans mon précédent message.
la config, le datareceive, la fin de trame, l'écriture etc....
@++
Tiens les balises ne sont pas reconnues ^_____^, zut alors.....
Messages postés
11
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
19 novembre 2018

Bonjour !

En fait, mon problème se situe encore avant l'étape de réception d'un flux de données, puisque je n'arrive pas du tout à envoyer quoi que ce soit à l'ordi. Je pense que le tout se fait via la balance qui envoie ses données, mais je ne sais pas du tout comment faire et je ne trouve nulle part une bonne explication là-dessus...

avez-vous une idée ou autre pour m'éclaircir un peu la-dessus?

Merci
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1
salut,
Bine il te faut commencer par connaitre son protocole de comm, ainsi que ses paramétres de config du port.
Pour la config j'ai cru voir que tu le connaissais, il te reste donc à connaitre son languauge.
Ex en GPIB (protocole satandard pour appareil de mesure) l'envoi de *?IDN+CDLF retourne le numéro de série de l'appareil (de mémoire)
Voila ce qu'il te faut, je connais que de nom Mettler, moi j'utilise du Scaime, mais cela doit être pareil, il y a surement un mode "imprimante" ou la balance envoie à interval régulier la valeur du pesage selon un format bien défini dans le protocole.
Si vraiment tu es bloqué, mon entreprise peut réaliser la com et l'interface graphique pour ton projet.
Cordialement @DN.
Tiens les balises ne sont pas reconnues ^_____^, zut alors.....