Communication balance en RS232 vers M221

Forum traitant des automates industriels de marque Schneider - Telemecanique
amozanam
Apprend le binaire
Apprend le binaire
Messages : 8
Enregistré le : 15 mai 2017, 19:46

Re: Communication balance en RS232 vers M221

Message par amozanam »

Bonjour et merci,

J'ai bien compris que l'on recevait 8 caractères sur quatre mots.

Chaque mot reçoit deux caractères Ascii. En hexadécimal cela donne quatre caractères, ces quatre caractères mis en binaire forment un mots de 16 octets, en affectant à chaque octets de valeur 1 sa valeur décimale (2 puissance 0) pour le premier octet, (2 puissance 1) pour le deuxième octet, (2 puissance 3) pour le troisième octet et ainsi de suite puis on fait la somme pour obtenir la donnée affectée au mot.
Après vérification, le chiffre 11 en Ascii donne 3131 en hexadécimal et 00110001-00110001 en binaire. La donnée sera 1+16=32=256=4096=8192 = 12593. C'est OK.
Il reste à travailler sur les mots pour reformer le chiffre de la mesure complète.

Merci à itasoft pour ton aide.
am.
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Communication balance en RS232 vers M221

Message par itasoft »

slts,
rien compris, si tu reçois des caractères ASCII il faut juste faire le ASCII_TO_INT ???
Automaticien privé (de tout)
itasoft@free.fr
amozanam
Apprend le binaire
Apprend le binaire
Messages : 8
Enregistré le : 15 mai 2017, 19:46

Re: Communication balance en RS232 vers M221

Message par amozanam »

Bonjour,

Je ne reçoit pas des caractères ASCII, je reçois des mots en binaires.

J'envoie des caractères ASCII de la balance mais je réceptionne des mots en binaires sur l'automate.
Exemple : mot %MW104 = 12848

Il est peut être possible de recevoir des mots en ASCII mais je ne sais pas comment faire.

Cordialement.
am
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Communication balance en RS232 vers M221

Message par itasoft »

slts,
12848 c'est de l'ascii = "02"
Automaticien privé (de tout)
itasoft@free.fr
AugusteV
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 22 mai 2017, 14:15

Re: Communication balance en RS232 vers M221

Message par AugusteV »

Bonjour,

J'ai réalisé la fonction ASCII_TO_INT cela fonctionne, merci. Le seul problème, c'est que le résultat dans chaque mot est inversé.
Je m'explique, premier exemple : la balance affiche 3 456g nous recevons dans le mot %MW101 : 65 (normalement 56) et dans le mot %MW102 : 43 (normalement 34).
Si on compile c'est deux mots notre résultat et 4 365.
Second exemple : la balance affiche 54 783 nous recevons dans le mot %MW101 : 38 (normalement 83) et dans le mot %MW102 : 74 (normalement 47) et dans le mot %MW103 : 5.
Si on compile c'est trois mots notre résultat et 57 438.

Avez-vous une solution pour inverser les chiffres réels dans le %MW101 et %MW102 et %MW103 pour avoir un résultat en cohérence avec la balance.

Merci d'avance pour votre réponse.
AugusteV
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Communication balance en RS232 vers M221

Message par itasoft »

slts,
chercher "Décalage circulaire" ROL dans l'aide en ligne
Automaticien privé (de tout)
itasoft@free.fr
amozanam
Apprend le binaire
Apprend le binaire
Messages : 8
Enregistré le : 15 mai 2017, 19:46

Re: Communication balance en RS232 vers M221

Message par amozanam »

Bonjour,
Voilà nous avons terminé.

A partir de la valeur récupéré sur l'automate, nous avons fait des masques en hexadécimal avec la fonction AND et des translations (rotations) de 8 bits avec des fonctions SHR afin de récupérer dans des mots différents les unitès, les dizaines, les centaines, les milliers, les dix mille.
%MW120 := %MW104 AND 16#000F mot unité
%MW121 := %MW104 AND 16#0F00
%MW122 := SHR (%MW121,8) mot centaine
et ainsi de suite avec les autres mots.

Dans un second temps, nous avons reconstitué la mesure en faisant des additions.
poids = mot unité x1 + mot dizaine x10 + mot centaine X 100 + mot millier x 1000 + mot dix mille x 10000.

Merci pour vos conseils.
AM.
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Communication balance en RS232 vers M221

Message par itasoft »

slts,
c'est la méthode empirique,
peux tu me donner tous les mots de la table de réception avec leur valeurs en Hexa
Automaticien privé (de tout)
itasoft@free.fr
ammid
Apprend le binaire
Apprend le binaire
Messages : 5
Enregistré le : 04 mai 2021, 15:09
Localisation : 43

Re: Communication balance en RS232 vers M221

Message par ammid »

Bonjour j'ai le même problème, voici les mots
FORUM.jpg
FORUM-2.jpg
je suis preneur d'une solution
Merci
ammid
Apprend le binaire
Apprend le binaire
Messages : 5
Enregistré le : 04 mai 2021, 15:09
Localisation : 43

Re: Communication balance en RS232 vers M221

Message par ammid »

Capture d’écran 2023-03-14 192433.png
Répondre