Defaut COM modbus

Forum traitant des automates industriels de marque Siemens.
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Defaut COM modbus

Message par philou77 »

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..
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar du membre
lolodu013
Codeur fou
Codeur fou
Messages : 261
Enregistré le : 05 mars 2016, 08:31

Re: Defaut COM modbus

Message par lolodu013 »

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
DurandO
Maître du binaire
Maître du binaire
Messages : 482
Enregistré le : 21 mars 2021, 15:31

Re: Defaut COM modbus

Message par DurandO »

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 :
fc10res1.png
fc10res1.png (9.4 Kio) Vu 1973 fois
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 :
fc10_fin.png
fc10_fin.png (8.19 Kio) Vu 1973 fois
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.
Avatar du membre
lolodu013
Codeur fou
Codeur fou
Messages : 261
Enregistré le : 05 mars 2016, 08:31

Re: Defaut COM modbus

Message par lolodu013 »

Capture.JPG
Ok par contre dans mon dernier réseau note MB32 et MB36. sur le comparateur etc.. ca serais pas MW32 et MW36 plutôt?
Avatar du membre
lolodu013
Codeur fou
Codeur fou
Messages : 261
Enregistré le : 05 mars 2016, 08:31

Re: Defaut COM modbus

Message par lolodu013 »

DurandO
Maître du binaire
Maître du binaire
Messages : 482
Enregistré le : 21 mars 2021, 15:31

Re: Defaut COM modbus

Message par DurandO »

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.
Avatar du membre
lolodu013
Codeur fou
Codeur fou
Messages : 261
Enregistré le : 05 mars 2016, 08:31

Re: Defaut COM modbus

Message par lolodu013 »

Bonsoir,

Oui j'avais fait la tempo inter requête. je viens de modifier la tempos à 500ms
inter.JPG
DurandO
Maître du binaire
Maître du binaire
Messages : 482
Enregistré le : 21 mars 2021, 15:31

Re: Defaut COM modbus

Message par DurandO »

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.
FC10_ErreurEsc10.png
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!
DurandO
Maître du binaire
Maître du binaire
Messages : 482
Enregistré le : 21 mars 2021, 15:31

Re: Defaut COM modbus

Message par DurandO »

lolodu013 a écrit : 15 nov. 2021, 19:31
Pour l'analyse, il serait plus simple d'afficher une VAT comme celle-ci (tu peux y ajouter T0) :
VAT.png
Ajouter dans FC10 le test de la tempo pour ne pas changer d'esclave si REQ_CONTRAT_MODBUS est encore actif
Répondre