Page 1 sur 1

Communication Modbus TCP entre ordi et automatique pour changer objets mémoire

Posté : 05 oct. 2021, 15:29
par FredoJFO
Bonjour tout le monde !

Je suis issu du monde informatique/télécoms et je découvre la télémécanique :)

Je progresse étape par étape et j'en suis au stade ou j'aimerais faire dialoguer un ordinateur avec mon Modicom 221 (TM221CE16T).

J'ai réussi à configurer la partie eth de l'automate et j'arrive à le pinger. J'arrive aussi à me connecter dessus en Modbus avec un outils spécifique (Simply Modbus TCP Client)

Maintenant quand je vois la doc du Modicom, sur la partie serveur modbus je lis ceci :
Serveur Modbus activé
Permet d'activer ou de désactiver le serveur Modbus TCP.
Permet donc d'activer ou de désactiver l'accès aux objets mémoire %M et %MW avec des requêtes Modbus standard.


Du coup je bloque un peu. Je n'arrive pas à trouver d'info sur comment envoyer des requêtes depuis un ordinateur vers l'automate en Modbus afin de lire ou modifier les objets mémoire %M et %MW.

Si vous avez des pistes je suis preneur :)

Merci à vous

Re: Communication Modbus TCP entre ordi et automatique pour changer objets mémoire

Posté : 05 oct. 2021, 15:50
par pach30
Bonjour

Cote PC, une bonne librairie (http://easymodbustcp.net/en/ par ex ) et un peu de dev et et le tour est joué.

Après le site modbus.org regorge d'information et surtout le standard y est disponible .
Courage

Re: Communication Modbus TCP entre ordi et automatique pour changer objets mémoire

Posté : 05 oct. 2021, 16:00
par FredoJFO
Bonjour,

Superbe librairie je regarde cela de suite :)

Et coté automate, au niveau de sa config. L'accès aux variables %M et %MW est par défaut ou il faut regarder quelque part ? J'ai vu par exemple les registres d'entrée (Modbus TCP) mais je ne sais pas si c'est utile pour mon cas ?

Merci encore :)

Re: Communication Modbus TCP entre ordi et automatique pour changer objets mémoire

Posté : 05 oct. 2021, 16:19
par pach30
Je n'ai pas l'habitude d'utiliser les TM221 mais plutôt les TM241 . Si c'est pareil , rien à faire coté automate à part la config IP et s'assurer que la fonctionnalité serveur modbus est activé (en général une case à cocher) .
Ensuite , c'est "open bar" côté API , donc faire attention lors du dev PC aux registres utilisés !

Re: Communication Modbus TCP entre ordi et automatique pour changer objets mémoire

Posté : 05 oct. 2021, 18:31
par Jambe
Exactement côté automate rien à faire de plus que de lui coller une adresse IP. Tu accèdes à tout en modbus.

C’est tellement facile que même sur un automate en stop et sans programmes tu arrives à activer et désactiver les sorties par modbus

Re: Communication Modbus TCP entre ordi et automatique pour changer objets mémoire

Posté : 06 oct. 2021, 04:23
par FredoJFO
Bonjour,

Super merci pour vos retours :)

Il y a un truc que j’appréhende mal c'est la notion d'Objets Mémoire et d'Objets de Communication dans l'onglet "Outils" de la programmation.

Dans ma configuration (avec serveur modbus activé et utilisant une librairie modbus sur mon PC), lors que je vais faire des requêtes cela peut atteindre directement les Bits de Mémoire ou cela doit passer par une étape intermédiaire ? Via des Objets de Communications de type Read/Write Var par exemple ?

Encore merci pour votre aide :)

Re: Communication Modbus TCP entre ordi et automatique pour changer objets mémoire

Posté : 06 oct. 2021, 09:22
par DurandO
Bonjour,
Jambe a écrit : 05 oct. 2021, 18:31 Dans ma configuration (avec serveur modbus activé et utilisant une librairie modbus sur mon PC), lors que je vais faire des requêtes cela peut atteindre directement les Bits de Mémoire ou cela doit passer par une étape intermédiaire ? Via des Objets de Communications de type Read/Write Var par exemple ?
Dans mon cas, j'ai utilisé un serveur mod-bus de chez Arsoft. j'y défini des requête lecture Mots, écriture Mots et c'est tout.
Il vaut mieux passer par des requêtes lecture mots et écriture mots et éviter les requêtes multiples.
Ainsi, par exemple, tu crées juste 2 requêtes :
une requête lecture 50 mots à l'adresse 0 (dans l'api)
une requête écriture 50 mots à l'adresse 50 (dans l'api)
Ensuite, si tu dois activer des bits par le pc, réserve un ou plusieurs mots de ta table écriture (%MW50 à 99 dans mon exemple) et cela n'aura aucune incidence sur la communication.
Tu n'as pas de com à gérer coté API, juste le paramétrage IP.

Durand.O