Page 1 sur 1

Modbus RTU with TPW04

Posté : 11 juin 2020, 14:42
par momo1501
Bonjour à tous,

J'ai développé un code source pour un master Modbus RTU. J'arrive à dialoguer avec plusieurs marques de PLC modbus via la liaison série mais j'ai du mal à dialoguer avec un PLC de marque TPW 04. La réponse du PLC modbus est de la forme 200000 voire 2000000. Je n'arrive pas à expliquer les raisons d'un tel échec. Pourriez vous s'il vous plait m'aider à ce niveau.

Merci d'avance

Re: Modbus RTU with TPW04

Posté : 11 juin 2020, 19:52
par Bruce33
Bonjour,
momo1501 a écrit : 11 juin 2020, 14:42 La réponse du PLC modbus est de la forme 200000 voire 2000000.
Je ne comprends pas ce que ce que vous voulez dire.
Pouvez-vous montrer les données d'une trame complète ? (Requête et réponse tant qu'à faire.)

Re: Modbus RTU with TPW04

Posté : 12 juin 2020, 00:54
par momo1501
Merci d'avoir répondu
Voici quelques messages envoyés et les réponses associées

Coils: on envoie 2110012525 , on reçoit 200000.
Discrete inputs: on envoie 220001185249, on reçoit 200000.
Holding register: on envoie 2367560116112, on reçoit 204000000.
Holding Register: on envoie 2367560116112, on reçoit 2000000.
Connection tests: on envoie 28000133248, on reçoit 20000000.

Les requêtes sont envoyés au format décimal mais sont reçues en hexadécimal du coté du PLC

Merci

Re: Modbus RTU with TPW04

Posté : 12 juin 2020, 12:41
par Bruce33
momo1501 a écrit : 12 juin 2020, 00:54 Les requêtes sont envoyés au format décimal mais sont reçues en hexadécimal du coté du PLC
Décimal ou hexadécimal, ce n'est qu'une représentation de la valeur.

Et dans votre représentation de la trame d'envoi, je ne m'y retrouve pas ! :(
Vous semblez mélanger les représentations décimale et ASCII.
En Modbus RTU, il vaut mieux représenter les valeurs en hexadécimal, pour bien distinguer les octets.

Prenons votre trame de lecture des bobines : 2110012525
Pouvez-vous la décomposer pour savoir ce que vous souhaitez faire avec ?
Je suppose qu'on a :
- 2 = adresse modbus du TPW04
- 1 = fonction de lecture des bobines
- après je ne sais plus, c'est l'adresse 1, ou 10 ou 100...?
- puis quelle quantité de bobines ?
- et enfin le CRC ?
momo1501 a écrit : 11 juin 2020, 14:42 un PLC de marque TPW 04
A priori TPW04 c'est un modèle d'automate, de marque WEG. Mais je ne connais pas... Vous travaillez avec un appareil commercialisé au Brésil ? :o

Re: Modbus RTU with TPW04

Posté : 12 juin 2020, 17:56
par MiGaNuTs

Re: Modbus RTU with TPW04

Posté : 16 juin 2020, 13:27
par Bruce33
Je trouve que c'est maladroit et pas très fair-play de poster les mêmes messages simultanément sur plusieurs forums : https://control.com/forums/threads/modb ... plc.48720/

D'après la documentation du TPW04, la fonction 2 n'est pas gérée.
Tous les bits (aussi bien les entrées que les sorties) sont accessibles dans les données 0x.
C'est donc la fonction 1 qu'il faut utiliser pour lire les entrées.

Si vous êtes sûr du câblage et du paramétrage de la liaison série alors le problème de communication provient de votre logiciel.
Les réponses que vous recevez sont très étranges : il y a bien l'adresse de l'esclave modbus puis que des zéros... et pas de CRC ?

Re: Modbus RTU with TPW04

Posté : 16 juin 2020, 14:20
par Brebiou
Ce qui est marrant, c'est qu'ici comme la-bas, il a les mêmes réponses :)

Re: Modbus RTU with TPW04

Posté : 17 juin 2020, 01:44
par momo1501
Bonjour,

Personnellement je ne vois pas où est le mal. Le forum ici est francophone alors que l'autre est anglophone.

Je vous remercie pour vos retours quand même