Defaut COM modbus
-
philou77
- Mi homme - Mi automate

- Messages : 2142
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Defaut COM modbus
Salut !
En regardant ta vidéo, je me pose la question de savoir si tu n'aurais pas inversé l'adresse de départ de lecture et le nombre de mots à lire ?
parce que 9C40 ça fait beaucoup de mots à lire à partir de l'adresse 15 dans ce cas.
j'édite :
en regardant mieux, on voit l'adresse changer pour les autres esclaves.. donc c'est pas ça..
En regardant ta vidéo, je me pose la question de savoir si tu n'aurais pas inversé l'adresse de départ de lecture et le nombre de mots à lire ?
parce que 9C40 ça fait beaucoup de mots à lire à partir de l'adresse 15 dans ce cas.
j'édite :
en regardant mieux, on voit l'adresse changer pour les autres esclaves.. donc c'est pas ça..
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! 
Re: Defaut COM modbus
bonjour,
Non c'est pas ca.
L'api interroge les registres des appareils. selon les appareils les registres sont différents:
L adresse de l'appareil X
L fonction lecture de l'appareil 3
L nombre de mots de lecture (depuis 9C40 = 40000)
Donc X mots de lecture partir du registre 9C40 19 mots
Non c'est pas ca.
L'api interroge les registres des appareils. selon les appareils les registres sont différents:
L adresse de l'appareil X
L fonction lecture de l'appareil 3
L nombre de mots de lecture (depuis 9C40 = 40000)
Donc X mots de lecture partir du registre 9C40 19 mots
Re: Defaut COM modbus
Bonjour,
pour insérer un temps d'attente entre chaque requête, je te propose d’insérer le réseau suivant en début du FC10 : Test dans les conditions initialement voulues, le nombre de mots lus (19) y compris pour esclaves déconnant.
Cette tempo va retarder l'activation de "REQ CONTRAT MODBUS" dans les réseaux qui suivent.
Elle est traité puis remis à 0 par le FB10 de com.
A toi de choisir une tempo non-utilisée bien sur.
Ensuite pour l'analyse ce réseau-ci en fin de FC10 : Tu peux insérer une comparaison MB1000=0 (suivant mon exemple) pour capturer le premier défaut uniquement et tu raz ensuite MB1000.
Tiens nous informé du résultat.
pour insérer un temps d'attente entre chaque requête, je te propose d’insérer le réseau suivant en début du FC10 : Test dans les conditions initialement voulues, le nombre de mots lus (19) y compris pour esclaves déconnant.
Cette tempo va retarder l'activation de "REQ CONTRAT MODBUS" dans les réseaux qui suivent.
Elle est traité puis remis à 0 par le FB10 de com.
A toi de choisir une tempo non-utilisée bien sur.
Ensuite pour l'analyse ce réseau-ci en fin de FC10 : Tu peux insérer une comparaison MB1000=0 (suivant mon exemple) pour capturer le premier défaut uniquement et tu raz ensuite MB1000.
Tiens nous informé du résultat.
Re: Defaut COM modbus
Ok par contre dans mon dernier réseau note MB32 et MB36. sur le comparateur etc.. ca serais pas MW32 et MW36 plutôt?
Re: Defaut COM modbus
Bonjour,
Suivant ta vidéo et ton FB10 :
Esclave 9 PAFE =16#33 --> pas de réponse de l'esclave
puis esclave 2 PAFE = 16#31 --> Erreur CRC16 sur trame reçue
A-tu mis en place la tempo inter-requête ?
Si non : fait le (ce n'est pas faute d'insister).
Si oui, essaies d'augmenter T20 (dans mon exemple) à 500ms, histoire de s'assurer quelle fonctionne et voir si les défauts persistent.
Suivant ta vidéo et ton FB10 :
Esclave 9 PAFE =16#33 --> pas de réponse de l'esclave
puis esclave 2 PAFE = 16#31 --> Erreur CRC16 sur trame reçue
A-tu mis en place la tempo inter-requête ?
Si non : fait le (ce n'est pas faute d'insister).
Si oui, essaies d'augmenter T20 (dans mon exemple) à 500ms, histoire de s'assurer quelle fonctionne et voir si les défauts persistent.
Re: Defaut COM modbus
Bonsoir,
Oui j'avais fait la tempo inter requête. je viens de modifier la tempos à 500ms
Oui j'avais fait la tempo inter requête. je viens de modifier la tempos à 500ms
Re: Defaut COM modbus
Bonjour,
Dans l'esclave 10, pourquoi est-ce que tu lis 21 mots au lieu de 19 ?
Il y a forcément une erreur. Cela ne convient pas à la zone réservée dans le DB21 soit 19 mots (38 octets).
Corrige déjà cela. Après , il faut reconnaître que c'est un programme de merde:
MW40 Nombre de mots alors que c'est l'adresse début de zone lue
MW42 DEBUT ZONE DE MOT alors que c'est le nombre de mots lus
Des mnémoniques à rallonge contenant des espaces.
L'auteur mériterait bien quelque baffes!
Dans l'esclave 10, pourquoi est-ce que tu lis 21 mots au lieu de 19 ?
Il y a forcément une erreur. Cela ne convient pas à la zone réservée dans le DB21 soit 19 mots (38 octets).
Corrige déjà cela. Après , il faut reconnaître que c'est un programme de merde:
MW40 Nombre de mots alors que c'est l'adresse début de zone lue
MW42 DEBUT ZONE DE MOT alors que c'est le nombre de mots lus
Des mnémoniques à rallonge contenant des espaces.
L'auteur mériterait bien quelque baffes!

