Somachine : fonction SEND_RECV_MSG

Forum traitant des automates industriels de marque Schneider - Telemecanique
FlickFlack
Apprend le binaire
Apprend le binaire
Messages : 3
Inscription : 04 juin 2018, 17:14

Somachine : fonction SEND_RECV_MSG

Message par FlickFlack »

Bonjour à tous et toutes,

Premier post pour moi sur ce forum !

J'essaie d'envoyer des chaines de mots ASCII en TCP/IP à partir d'un contrôleur Schneider TM251MESE.
Le but est de pouvoir piloter un bain chauffant en envoyant des consigne "text" par TCP/IP sur l'adresse IP du bain.
ex : J'envoie "RT" pour "Read Temperature", Le bain répond : "25°C".
J'ai fait un essai de communication sans l'automate en utilisant un hyperterminal (Tera Term), le bain répond bien aux commandes !

J'essaye d'utiliser la fonction "SEND_RECV_MSG" de somachine mais sans succès...
Je ne parviens donc pas à envoyer ce type de commande depuis l'automate.
Fonction SEND_RECV_MSG.png
Nota : dans la ligne '3.{192.168.249.1}' le chiffre 3 signifie que j'utilise un adressage par IP direct ('1' si com Série)

Je suis preneur de toutes remarques et tout conseils, merci

FlickFlack
GG10
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 147
Inscription : 15 sept. 2016, 14:35

Re: Somachine : fonction SEND_RECV_MSG

Message par GG10 »

bonjour

je connais pas bien so machine mais comme ca je dirai que je mettrai la bonne longueur du message,
et ensuite je ferai un front sur le execute !!!
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2076
Inscription : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Somachine : fonction SEND_RECV_MSG

Message par philou77 »

Salut !
Mettre /busy en série pour initier le execute du send !

Un caractère. c'est 1 octet, préférer un nombre d'octet pair..

Pour le 3 en début d'adresse IP, euh, pas sûr.. t'as testé en mettant simplement ton adresse IP ?
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar de l’utilisateur
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1901
Inscription : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Somachine : fonction SEND_RECV_MSG

Message par JC87 »

Bonjour,

Niveau blocs ça à l'air bon, que ce soit pour la syntaxe de l'adresse et sachant que la fonction ADDM ne s’exécute que sur un front montant sur l'entrée en question. Par contre d'après la doc tu ne peut envoyer que 252 octets hors tu essaye d'en envoyer 255. peut être que le pb vient de là.

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
FlickFlack
Apprend le binaire
Apprend le binaire
Messages : 3
Inscription : 04 juin 2018, 17:14

Re: Somachine : fonction SEND_RECV_MSG

Message par FlickFlack »

Bonjour à tous et merci pour vos réponses !!!

J'ai changé le message en "Hello!" soit une longueur de 6 octet.

J'ai essayé de mettre busy en série ... Mais je ne suis pas sur que ce soit comme cela que Philou77 l'entendait !

Pour le '3.{adresseIP}' : j'ai essayé sans le '3.' , le bloc ADDM ne prend pas la commande et ne s’exécute pas.

Le bloc SEND_RECV_MSG passe en mode busy, jusqu'à ce que le timeout le désactive (code erreur : 1) puis recommence.

Donc ça doit venir d'autre chose...

Question bête :
J'ai deux adresses IP sur l'automate (qui ne peuvent pas être sur le même réseau) :
Ethernet 1 (Ethernet network) 192.168.248.229
Ethernet 2 (Device Network) 192.168.249.2
Est-ce que le bloc ADDM "comprend" qu'il doit utiliser le réseau 1 ?
Pièces jointes
Fonction SEND_RECV_MSG 2.png
Avatar de l’utilisateur
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1901
Inscription : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Somachine : fonction SEND_RECV_MSG

Message par JC87 »

De toute façon le bloc ADDM n'est exécuté que sur front montant de la patte "Execute" donc pour moi on n'a pas forcément besoin de conditionner par le busy ou le done mais ça ne peut pas nuire. Par contre il serait intéressant de compter les error en sortie du SEND et mémoriser le compte rendu pour voir éventuellement ce qui cloche. Par contre je ne comprend pas ton histoire de deux réseaux. En mettant "3" en tête d'adresse IP tu lui dit que tu veut utiliser le port Ethernet intégré du M241. Qu'elle est l'adresse IP configurée pour ce port ? si elle n'est pas dans la même plage que ton appareil ça ne marchera évidemment pas. Cela dit, utiliser une com ASCII de nos jours n'est pas forcement une super idée. Ça a toujours été la plaie de mettre en œuvre ce genre de com et a partir du moment ou Ethernet est apparu on s'est empressé d'oublier l'ASCII. Il n'y a pas d'autre protocole plus moderne et standardisé sur ton machin chauffant ?

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
FlickFlack
Apprend le binaire
Apprend le binaire
Messages : 3
Inscription : 04 juin 2018, 17:14

Re: Somachine : fonction SEND_RECV_MSG

Message par FlickFlack »

Bonjour à tous,

Grande nouvelle : ça marche !

.. Presque...

Grace à vos remarque j'ai pu faire quelques corrections et refaire le tour de la question.. JC87 a mit le doigt dessus ! L'adresse IP était la bonne mais pas le port COM qui est par défaut 502 dans le M251 (TM251 MESE).
Pour l'histoire des deux réseaux tu verras dans la PJ (à droite) la facade du TM251 MESE, il y a deux port ethenet (vert) : ethernet 1, un port
Ethernet 2 et un port rj45 "Sérial" . Il s'agit de deux réseaux différents. J'ai fait les essais, la fonction comprend sur quel réseaux envoyer le message simplement avec l'adresse IP.

Concernant le nombre de caractères :
Étonnamment j'ai de très bon résultat en envoyer une chaîne de 8 caractères en indiquant 7 à QuantityToSend. Sinon je reçois ça
"h Hello!i Hello!j Hello!k Hello!l Hello!m Hello!n Hello!"

Donc pour l'envoie de caractère c'est tout bon, par contre je ne parviens pas à faire de la réception de chaine de caractère...
Fonction SEND_RECV_MSG 3.png
Avatar de l’utilisateur
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1901
Inscription : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Somachine : fonction SEND_RECV_MSG

Message par JC87 »

Je croyais que tu avait un M241, c'est pour ça que je ne comprenais pas cette histoire de double réseau.
FlickFlack a écrit : 07 juin 2018, 14:02 JC87 a mit le doigt dessus ! L'adresse IP était la bonne mais pas le port COM qui est par défaut 502 dans le M251 (TM251 MESE).
N’hésite pas à dire que je suis un génie, mon immense modestie naturelle n'en souffrira pas :D
Donc pour l'envoie de caractère c'est tout bon, par contre je ne parviens pas à faire de la réception de chaine de caractère...
Tu ne doit pas être très loin de la vérité, si ça marche en émission il doit manquer peu de chose pour que ça marche en réception.

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
SuperMax
Apprend le binaire
Apprend le binaire
Messages : 9
Inscription : 11 juil. 2018, 07:51

Re: Somachine : fonction SEND_RECV_MSG

Message par SuperMax »

Pour info, il y a plein de tutos sur Youtube, suffit de taper sur google : youtube schneider tuto somachine
https://www.google.fr/search?q=youtube+ ... e&ie=UTF-8
Par contre, je n'ai rien trouvé sur les SMS...
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7035
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Somachine : fonction SEND_RECV_MSG

Message par itasoft »

slts,
N’hésite pas à dire que je suis un génie, mon immense modestie naturelle n'en souffrira pas :D

oui car JC est modeste et fier de l'être, MDR
Automaticien privé (de tout)
itasoft@free.fr
Répondre