Vous êtes sur la page 1sur 8

6/11/2014

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%

MODBUS/TCP Siemens/S7 Schneider/TSX57


But
Le but de ce document est de dcrire la mise en place dune liaison MODBUS/TCP entre un automate
TSX57 et un S7-300 en utilisant uniquement des blocs logiciels gratuits Open Source.
Le TSX57 est un automate programmable industriel de chez Schneider .
Le S7-300 est un automate programmable industriel de chez Siemens .
Ces 2 types d'automates sont trs couramment utiliss dans l'industrie, mais peu de solutions existent pour
les faire communiquer entre eux.

Le coupleur CP 343-1 Siemens permet dorigine de communiquer via diffrents protocoles (TCP, ISO on
TCP, UDP, ).
La fonction serveur Modbus/TCP est disponible chez Siemens en achetant des blocs fonction additionnels,
mais la solution qui est dcrite ici ne ncessite aucun achat supplmentaire. Elle utilise les FB de
communication standards (AG_SEND, AG_RECV)

Fonctionnement et mise en place


Paramtrage Schneider TSX ETY 510
Le coupleur Ethernet Schneider TSX ETY 510 dispose dorigine dune fonction IoScanning permettant daller
scruter des entres / sorties dportes via la fonction 23 du protocole MODBUS/TCP.
LIoScanning se dfinit dans la configuration du coupleur et nest pas modifiable en Run .
https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F&sh

1/8

6/11/2014

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%

Il est notamment ncessaire de dfinir les informations suivantes :


- adresse IP du coupleur TSX ETY 510 (client)
- adresse IP du serveur Modbus/TCP (coupleur S7-CP343-1)
- adresse de dbut de lecture dans le serveur (coupleur S7-CP343-1)
- adresse de dbut dcriture dans le serveur (coupleur S7-CP343-1)
- nombre de mots lus (1 125)
- nombre de mots crits (1 125)
- adresse %MW TSX ou crire les mots lus du serveur (0 1023)
- adresse %MW TSX ou sont lus les mots qui seront crits dans le serveur (0 1023)

Paramtrage sous PL7-Pro:

Paramtrage Siemens Step7 sous NetPro


Le paramtrage du coupleur CP343-1 doit dfinir :
- ladresse IP du coupleur
- le type de liaison : TCP
- le n de port : 502
Raccorder le coupleur au(x) reseau(x) Ethernet

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F&sh

2/8

6/11/2014

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%

Dfinir ladresse IP de linterface et le masque de sous rseau

Dfinir une nouvelle liaison :

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F&sh

3/8

6/11/2014

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%

Noter
- le no ID (n de liaison)
- LADDR (adresse du module)
Et ne pas cocher "Etablissement de liaison actif" car le S7 est serveur TCP

Dfinir le n de port TCP local (502)


Et laisser les paramtres du partenaire vide

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F&sh

4/8

6/11/2014

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%

Sauver, compiler, transfrer dans le module

Programmation du S7-300
Contrairement au Schneider TSX 57 qui ne ncessite pas de programmation, un certain nombre de blocs du
S7-300 doivent tre programms pour grer les appels aux fonctions de lecture (AG_RECV) et d'criture
(AG_SEND).
Il est d'autre part ncessaire de dcoder les trames MODBUS/TCP reues, et d'encoder les trames
rponses.
Ces blocs sont proposs dans la zone de tlchargement et pourront tre adapts votre configuration.

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F&sh

5/8

6/11/2014

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%

Le DB44 correspond la table des mots devant tre lus par le client (TSX)
Le DB45 correspond la table des mots devant tre crits par le client

FC44
Le FC44 effectue
- le dcodage de la trame reue
- lcriture des mots dans le DB45
- la lecture des mots contenus dans le DB44
- la construction de la trame rponse

FC41 et FC40
Les parametres
ID
LADDR
de l'appel FC6 (AG_RECV) et FC5 (AG_SEND) correspondent au n de liaison et l'adresse fond de
pannier du coupleur.
Voir dans Netpro les paramtres de votre installation.
Attention, en rception TCP via AG_RECV, il est ncessaire de dfinir priori le nombre doctets recevoir.
Les requtes manant du client TCP doivent donc tre toujours identiques.
En consquence, bien que le FC44 soit prvu pour dcoder les requtes 3, 4, 16 et 23, le client ne doit
envoyer que des requtes Lecture/Ecriture (23) ayant un nombre fixe d'octets:
33 bytes correspondent a 8 MW crits par le client TCP,
217 bytes correspondraient 100 MW crits par le client

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F&sh

6/8

6/11/2014

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%

Remarque :
En cas de modification du nb de MW et donc du nombre doctets attendus, il faut:
- Recharger le FC41
- teindre l'UC et le CP343 puis les rallumer

Debug et mise en route


Si la configuration de l'automate TSX57 ne comporte pas de grosses difficults,celle de l'automate S7 est
plus dlicate.
La configuration du coupleur Ethernet CP 343-1 Siemens est dlicate. Il convient donc d'tre
particulirement vigilant.
Je vous conseille de tester sparment:
- le client sur le TSX57 en le faisant communiquer avec l'application Serveur tournant sur PC (voir
tlchargement)
- le serveur sur le S7 en le faisant communiquer avec l'application client tournant sur PC (voir
tlchargement)
Pister en mme temps les trames changes avec WireShark.

Pister les trames avec WireShark

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F&sh

7/8

6/11/2014

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%

Tlchargements
le fichier Modbus_TCP_server_23_lib.zip contient les blocs S7
le fichier ModbusTCP_Simul.zip contient un serveur Modbus/TCP pour les tests
le fichier ClientModbusTCP4.zip contient un client Modbus/TCP pour les tests

https://sites.google.com/site/logicielsdelphietcbuilder/modbus-tcp-siemens-s7-schneider-tsx57?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F&sh

8/8

Vous aimerez peut-être aussi