Page 1 sur 2
Modbusdoctor
Posté : 18 sept. 2024, 09:47
par tardieub
Bonjour à tous, J'ai deja eu ce probleme et je l'ai contourné a chaque fois mais là j'aimerai bien comprendre, je vous explique:
Sur certains automates en modbus, je peux lire individuellemnt 2 adresses l'une apres l'autre:
Seulement quand je veux en lire ne serait ce que 2 en même temps, ça coince:
D'où cela peut il venir d'après vous svp?
Bruno
Re: Modbusdoctor
Posté : 18 sept. 2024, 10:16
par Laurent
Salut,
tu sais de quel modèle d'automate il s'agit, précisément ?
Re: Modbusdoctor
Posté : 18 sept. 2024, 10:31
par tardieub
Bonjour Laurent, c'est une chaudiere ATLANTIC, equipee d'une interface NAVIPASS Modbus la ref est 059833.
merci
Re: Modbusdoctor
Posté : 18 sept. 2024, 12:53
par MiGaNuTs
Bonjour,
Les divers équipements modbus ne supportent pas forcement toutes les fonctions du protocole, et n'ont pas tous les mêmes limitations de taille de trame.
Les automates couvrent tous les cas de figure définis par la norme, par contre les esclaves c'est pas toujours le cas.
C'est parfois détaillé dans leur documentation, mais parfois pas.
Re: Modbusdoctor
Posté : 18 sept. 2024, 13:37
par tardieub
Bonjour, ce qui est étonnant c'est que cet automate (enfin chaudière) est relié a un serveur OPC (Kepserverex) sur la supervision actuelle (IWS), et que je n'ai pas eu ce soucis a l'époque, alors que j'avais le même phenomene avec Modbusdoctor.
Là je suis sur Panorama et il n'y a pas de serveur OPC, je pense que de drivers MODBUS de PANO est moins performant qu un serveur OPC.
Je vais les lires une par une du coup, ou contacter Codra.
Merci
Re: Modbusdoctor
Posté : 18 sept. 2024, 22:49
par Bruce33
Bonjour,
Je pense qu'il faut approfondir l'enquête avec Modbus Doctor.
Pouvez-vous refaire les trois copies d'écran en activant le bouton "MODE ESPION" ?
Le message d'erreur est assez étrange... il y a peut-être une inversion d'octets.
Essayez en cochant la case "Inversion Octets".
Comment communiquez-vous en Ethernet ?
Il me semble que la référence NAVIPASS Modbus est une passerelle Modbus RTU RS485 mais je ne vois pas d'Ethernet dessus.
Il doit y avoir une autre passerelle.
Re: Modbusdoctor
Posté : 19 sept. 2024, 09:38
par tardieub
Bonjour et merci pour ton aide, donc voici les copies d'ecran:
l'inversion d'octet j'avais deja essaye en fait
Je passe pas une passerelle Schneider egx150 TCP/IP MODBUS vers RTU MODBUS, l'adresse esclave est "1"
Re: Modbusdoctor
Posté : 19 sept. 2024, 11:47
par Bruce33
Donc la chaudière répond par un code d'erreur 2 = adresse de données incorrecte.
Et je viens de voir cet avertissement dans la documentation du NAVIPASS Modbus :
Une demande de lecture ou d'écriture ne peut pas comporter plus d'une adresse à la fois.
On ne peut donc interroger qu'un seul registre par requête.
Il n'y a aucun problème avec Modbus Doctor.
Re: Modbusdoctor
Posté : 19 sept. 2024, 13:17
par tardieub
Où est ce que tu vois le code erreur 2 dans la fenêtre espion stp, je ne sais pas exploiter ces infos.
Oui en effet je n'y avait pas prêté attention, mais alors pourquoi un serveur OPC (kepserverex) peut lire plusieurs adresses a la fois.
Enfin la je mes retrouve aujourd hui sans serveur OPC sur une nouvelle supervision en Panorama avec un drivers Modbus qui lui se comporte comme Modbus doctor, ce n'est pas un drame, je vais m'en sortir, merci pour ton aide.
Bruno
Re: Modbusdoctor
Posté : 19 sept. 2024, 14:22
par MiGaNuTs
tardieub a écrit : ↑19 sept. 2024, 13:17
Où est ce que tu vois le code erreur 2 dans la fenêtre espion stp, je ne sais pas exploiter ces infos.
Oui en effet je n'y avait pas prêté attention, mais alors pourquoi un serveur OPC (kepserverex) peut lire plusieurs adresses a la fois.
Enfin la je mes retrouve aujourd hui sans serveur OPC sur une nouvelle supervision en Panorama avec un drivers Modbus qui lui se comporte comme Modbus doctor, ce n'est pas un drame, je vais m'en sortir, merci pour ton aide.
Bruno
Y'a forcement un moyen d'obliger ton driver modbus a faire 1 requête par donnée, de l’empêcher de grouper plusieurs données dans une trame, de le forcer a utiliser la commande 'read single register' au lieu de 'read multiple registers' ou quelque chose du genre.
Ton ancien serveur OPC ne faisait forcement que des "read single register" a un moment ou un autre, même si c’était transparent pour toi. Puisque de toutes façons ton client ne sait manifestement pas répondre aux autres commandes.