Les ports

Signaler
Messages postés
87
Date d'inscription
vendredi 22 décembre 2006
Statut
Membre
Dernière intervention
19 mai 2012
-
Messages postés
38
Date d'inscription
mardi 15 juillet 2008
Statut
Membre
Dernière intervention
31 mai 2011
-
<sup>slt les amis,
j'ai un probleme. je suis un jeune informaticien dans une societé de cimenterie.Cette societe dispose d'un pont bascule pour la prise de poids des camions.pour automatiser et conserver l'historique des poids receuillis sur chaque camion par jour et aussi effectuer une bonne gestion, la société a decider de me confier ce travail. le dispositif du pont bascule dispose d'un cable pouvant être relié au port série ou parallèle d'un ordinateur.Alors mon probleme est comment reconnaitre le port sur lequel est connecté ce dispositif  et comment pouvoir reccuperer les informations qui transitent ce port et pouvoir ensuite reconnaitre le "poids".moi je suis un jeune programmeur et je n'ai pas la moindre information dans ce domaine.
vraiment si je pouvais avoir une suite  à mon probleme alors je vous serai très reconnaissant  car vous aurai sauvé mon boulot.
merci d'avance...</sup>

7 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Vérifie bien tes données. En général, les pesées ne renvoient pas de données par port parallèle, mais série (une question de distance et de standard).
Pour ce qui est de la récupération des données, il va falloir regarder dans les documentations de la pesée et récupérer :

- Le cablage
En général, une liaison série RS232 ne permet pas de dépasser 15 ou 20 mètres entre l'appareil et le PC.
Comme je le suppose ce pont est éloigné, il doit surement dialoguer en boucle de courant (distance > 200m).
Un port séie standard de PC ne sait pas gérer ce mode, il te faudra une carte additionnelle dans le PC ou un boitier d'interface RS232 vers RS485 ou Boucle de courant - tout dépend de ce que la pesée envoie.
Ce ne sont que des suppositions : Voir la doc technique de l'électronique du pont.
Tu trouveras des infos techniques sur http://www.blackbox.fr 

- Le protocole
C'est la méthode utilisée par le pont pour expédier les infos.
En général, ça utilise du ModBus en mode RTU.
Là encore, les protocoles (couche logicielle) ne sont pas natifs dans les langages de programmation. Il te faudra le coder.
Es-tu familier des protocoles ?

Je ne voudrais pas te décourager, mais si tu n'as jamais touché à l'informatique, c'est un projet "costaud".
Prends les renseignements chez le constructeur de l'électronique de pesée puis recherche les données techniques (connectique et protocole).
Tu pourras alors faire des recherches parmi les sources avec les mots clés

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
"...une liaison série RS232 ne permet pas de dépasser 15 ou 20 mètres ..."
Tout dépend de la vitesse, de la qualité des composants et du cablage. En milieu industriel, il n'est pas rare d'avoir des distances suppérieures (j'en connais une de 92 mètres qui tourne à 200 bauds avec un taux d'erreur inférieur à 1%).

Pour ce qui est d'un pont bascule, la vitesse doit certainement etre de l'ordre de 9600 bauds, voire 19200. Il est rarement necessaire d'aller plus vite.
Pour ce qui est des données, il faut vérifier le protocole de ton pont bascule, mais tu dois certainement recevoir à intervale régulier, une trame d'une dizaine à une quinzaine de caractère indiquant le poids. Les protocoles sont généralement très simples dans ces cas là.

Un dernier petit conseil, tu dis "...le dispositif du pont bascule dispose d'un cable pouvant être relié au port série ou parallèle d'un ordinateur...". Si tu as le choix, ne bataille pas, prend le port série.
Le port parallèle n'accepte pas des distances de plus de 2-3 mètres, et puis tu vas te prendre la tête pour le mettre en oeuvre dans ton code.
Le port série est plus fiable sur ce genre de communication, est prévu pour, et surtout tu as tous les outils qu'il faut dans VB pour l'utiliser.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
87
Date d'inscription
vendredi 22 décembre 2006
Statut
Membre
Dernière intervention
19 mai 2012

je vous remercie tous pour l'effort fourni.Car vos solutions m'ont beaucoup situé.


jusque là je ne connais pas le port utilsé.comme vous venez de le stipuler, je dois essayer de me documenter sur les possibilités qu'offre ce pont.En me statuant à la solution Mr Casy, connaissant le protocol à utiliser comment dois-je recueillir ainsi le poids?
si vous pouvez m'ecrire un exemplaire de code ça me ferais bcp plaisir.
merci
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Re
Regarde parmi les codes du site ceux qui parlent de port série et apprends à t'en servir + L'aide de VB6 sur le composant MSComm32
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
pour ce qui est d'une communication sur port série, tu trouverais des exemples dans la partie source du site.

pour le reste, cela va dépendre du protocole utiliser par ton pont bascule. Ce qui est sur, c'est que tu vas à moment donné récupéré une chaine de caractère par le port série. Il te faudra décortiquer cette chaine pour trouver le début de l'information de poids que tu cherche.

Imaginons que ton pont bascule utilise un protocole du style :
- 1 caractère de début de trame, le # par exemple
- un caractère de signe (si on imagine pouvoir avoir un poids négatif)
- le poid codé de la sorte : 7 caractères numériques dont les 5 premiers représente le poids en kg, le 2 restant étant les décimales
- La trame étant émise automatiquement au rithme d'une trame/seconde.

Imaginons que de la lecture du port série tu récupère la chaine suivante : 452#0058452#00

Il te faut donc identifier le début de la trame (recherche du premier #) puis lire les 7 caractères suivants (ici 0054852)
Il ne te reste plus qu'à convertir en nombre, diviser par 100 pour obtenir 584.52Kg

Il ne s'agit bien évidement ici que d'un exemple te montrant le principe. Ton protocole sera très probablement différent, et donc les opérations à faire aussi.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Et en plus l'exemple que je donne est faux, j'ai oublier le caractère de signe dans ma trame

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
38
Date d'inscription
mardi 15 juillet 2008
Statut
Membre
Dernière intervention
31 mai 2011

C'est terrible, tu donnes des réponses erronés à un débutant et tu trouve ça marrant.