TABLE OF CONTENTS


TCP/IP basé

MQTT



Modbus TCP


Le principal écueil que nous rencontrons actuellement est l'implémentation incorrecte du protocole Modbus par certains fabricants.

Modbus TCP décrit le modèle suivant :
Cela signifie que ibaPDA envoie une demande de données au serveur Modbus, et que le serveur Modbus répond avec les données. Exemple Wireshark : Paquet de requête de l'ibaPDA au serveur :

Exemple de Wireshark : Réponse du serveur avec les données renvoyées au système ibaPDA.
Dans la partie supérieure de l'outil Wireshark, vous pouvez voir que seuls ces paquets sont transférés d'avant en arrière.

TIl suit les lignes directrices de conception/mise en œuvre de l'organisation Modbus. (voir annexe, chapitre 4.3 UTILISATION DE LA STACK TCP/IP, page 14 et suivantes)
https://www.modbus.org/specs.php
https://www.modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf

Cependant, certaines entreprises/intégrateurs attendent un 'ACK' en retour de l'ibaPDA vers le serveur Modbus pour confirmer la bonne réception des données (ACK sur le paquet de réponse).Si le serveur Modbus ne reçoit pas le "ACK" sur la réponse, cela peut être la cause :
  • normal operation
  • re-transmissions
  • timeouts
  • communication errors
  • ...
Cela dépend de la mise en œuvre du créateur.


Lorsque le 'ACK' est nécessaire du côté du serveur Modbus, vous pouvez activer l'option suivante dans ibaPDA (Cela nécessite ibaPDA v6.39.0 ou plus tard) :





Vérification du port de communication des données


Lorsqu'un client peut envoyer un ping à l'automate mais ne peut pas établir de connexion, par exemple en recevant l'erreur 0xFFF5004 S7-XPlorer, il est possible qu'il y ait une connexion réseau mais que le port requis ne soit pas ouvert.


Pour tester si le port TCP 9170 (client PDA) est ouvert pour l'adresse IP 192.168.140.163 (exemple) :


-Ouvrez Microsoft Powershell (de préférence avec des droits d'administrateur).

- Tapez "Test-NetConnection 192.168.140.163 -Port 9170

- Hit Enter

-Le test peut prendre +- 20 secondes, il est plus lent qu'un ping par défaut.


Exemple de test réussi :



L'exemple de test a échoué :