Pas de communication fonction READ_VAR
Pas de communication fonction READ_VAR
Bonjour à tous,
Je cherche à récupérer l'état du %MW300 d'un M340 depuis un M580 sur le même réseau :
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.
Je cherche à récupérer l'état du %MW300 d'un M340 depuis un M580 sur le même réseau :
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.
- itasoft
- Mi homme - Mi automate

- Messages : 7803
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Pas de communication fonction READ_VAR
tout semble correct; mais c'est pas ADDMX sur le M580 ???
Modifié en dernier par itasoft le 10 juil. 2025, 12:51, modifié 2 fois.
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Pas de communication fonction READ_VAR
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
J'ai un défaut I/O sur ma CPU, je vais essayer de le corriger pour voir
- itasoft
- Mi homme - Mi automate

- Messages : 7803
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Pas de communication fonction READ_VAR
le protocole c'est bien ModBus tcp/ip ?
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
- Bruce33
- Dieu du process

- Messages : 930
- Enregistré le : 28 oct. 2015, 06:54
- Localisation : Pas-de-Calais
Re: Pas de communication fonction READ_VAR
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.
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
Bonjour,
Ce ne serai pas l'activation du bloc sur un front le problème ?
Ce ne serai pas l'activation du bloc sur un front le problème ?
- Bruce33
- Dieu du process

- Messages : 930
- Enregistré le : 28 oct. 2015, 06:54
- Localisation : Pas-de-Calais
Re: Pas de communication fonction READ_VAR
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
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
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.

