Page 1 sur 2

Pas de communication fonction READ_VAR

Posté : 10 juil. 2025, 10:59
par semagey
Bonjour à tous,

Je cherche à récupérer l'état du %MW300 d'un M340 depuis un M580 sur le même réseau :
READ_VAR dans le m580
READ_VAR dans le m580
m580.PNG (11.33 Kio) Vu 1921 fois
READ_VAR dans le m580
READ_VAR dans le m580
m580_2.PNG (9.33 Kio) Vu 1921 fois
%MW300 dans le M340
%MW300 dans le M340
m340.PNG (3.35 Kio) Vu 1921 fois
J'utilise pour cela la fonction READ_VAR sur le M580. La communication fonctionnait, mais depuis quelques jours, elle est interrompue et je ne comprends pas l'origine de l'erreur.
Auriez-vous des recommandations, s'il vous plaît ?

Merci d'avance.

Re: Pas de communication fonction READ_VAR

Posté : 10 juil. 2025, 12:30
par itasoft
tout semble correct; mais c'est pas ADDMX sur le M580 ???

Re: Pas de communication fonction READ_VAR

Posté : 10 juil. 2025, 12:48
par semagey
Ceci ?
tableau.PNG

Re: Pas de communication fonction READ_VAR

Posté : 10 juil. 2025, 13:16
par semagey
Je viens d'essayer avec ADDMX, toujours pas de com.

J'ai un défaut I/O sur ma CPU, je vais essayer de le corriger pour voir

Re: Pas de communication fonction READ_VAR

Posté : 10 juil. 2025, 13:41
par itasoft
le protocole c'est bien ModBus tcp/ip ?

Re: Pas de communication fonction READ_VAR

Posté : 10 juil. 2025, 14:02
par Bruce33
Bonjour,

Il est indispensable de définir un timeout (dans Gst_ech_rv_MBUS[2] avec une base de temps de 100 ms) ; en plus votre programme exécute une nouvelle requête toutes les secondes même si la requête précédente n'est pas terminée.
Le risque c'est de saturer le tampon de communication : c'est probablement votre cas.
Vous réussirez peut-être à relancer la communication (sans redémarrer le programme) en utilisant l'instruction CANCEL.

Re: Pas de communication fonction READ_VAR

Posté : 10 juil. 2025, 14:03
par Bilou
Bonjour,

Ce ne serai pas l'activation du bloc sur un front le problème ?

Re: Pas de communication fonction READ_VAR

Posté : 10 juil. 2025, 14:12
par Bruce33
Bilou a écrit : 10 juil. 2025, 14:03 Ce ne serai pas l'activation du bloc sur un front le problème ?
Non !
La requête est envoyée à chaque exécution du bloc READ_VAR.
Donc il faut l'exécuter sur un seul cycle et attendre que son traitement soit terminé en surveillant le bit d'activité (dans cet exemple c'est Gst_ech_rv_MBUS[0].0)

Re: Pas de communication fonction READ_VAR

Posté : 10 juil. 2025, 14:56
par Bilou
Bruce33 a écrit : 10 juil. 2025, 14:12
Bilou a écrit : 10 juil. 2025, 14:03 Ce ne serai pas l'activation du bloc sur un front le problème ?
Non !
La requête est envoyée à chaque exécution du bloc READ_VAR.
Donc il faut l'exécuter sur un seul cycle et attendre que son traitement soit terminé en surveillant le bit d'activité (dans cet exemple c'est Gst_ech_rv_MBUS[0].0)
D'accord, pour ma part j'ai toujours laissé actif le bloc jusqu'à la désactivation du bit d'activité.

Re: Pas de communication fonction READ_VAR

Posté : 10 juil. 2025, 15:01
par semagey
Merci pour ces réponses, j'ai supprimer le bit clignotant et je vais essayer de redémarrer l'automate hors production car je n'arrive pas a utiliser la fonction CANCEL.