Page 1 sur 3
Communication entre TSXP574634 et S7 300
Posté : 02 août 2017, 15:49
par geronimo
Bonjour,
J'ai de la communication à faire avec un automate Siemens appartenant à un entreprise extérieure chez un client avec mon automate Schneider TSXP574634.
Je me demandais si je pouvais directement faire un read var en %MW100 sur 9 mots car en schneider cette structure là fait 9 mots.
Ou bien il faut que je décompose chaque mot en face de chaque Byte?
Et sinon j'ai entendu dire qu'il y avait un décalage de bit poids faible - poids fort sur les bits de mots
Est ce que quelqu'un peux m'expliquer car je capte pas tout?
L'entreprise m'a fourni leur table de communication suivante :
Merci
Re: Communication entre TSXP574634 et S7 300
Posté : 02 août 2017, 16:53
par djé
Salut,
Sur quel support/protocole vas tu communiquer?
Effectivement le codage d'un mot de 16 bit chez Siemens diffère de celui de chez Tele. En fait ce sont les octets qui sont inversés.
EN siemens MW0 : octet PF MB0 octet pf MB1
Re: Communication entre TSXP574634 et S7 300
Posté : 02 août 2017, 16:54
par Mantysse
Bonjour,
Avec Siemens (je sais pas comment il se sont démerdé d'ailleurs) il faut toujours (ou presque) inverser l'octet de poids et de poids faible
Si tu fais du read var, c'est quoi du Modbus? Si c'est le cas tu dois pouvoir récupérer le mots entier et le redécomposer dans ton programme
Si c'est du modbus attention, siemens ne supporte en aucun cas de taper hors plage défini
A+
Re: Communication entre TSXP574634 et S7 300
Posté : 02 août 2017, 16:54
par Mantysse
djé a écrit : ↑02 août 2017, 16:53
Salut,
Sur quel support/protocole vas tu communiquer?
Effectivement le codage d'un mot de 16 bit chez Siemens diffère de celui de chez Tele. En fait ce sont les octets qui sont inversés.
EN siemens MW0 : octet PF MB0 octet pf MB1
Salut Djé
Nos posts se sont croisé

Re: Communication entre TSXP574634 et S7 300
Posté : 02 août 2017, 16:58
par djé
Honnêtement pour ce genre de truc j'utiliserai une passerelle genre HMS Anybus.
Re: Communication entre TSXP574634 et S7 300
Posté : 02 août 2017, 18:10
par Mantysse
djé a écrit : ↑02 août 2017, 16:58
Honnêtement pour ce genre de truc j'utiliserai une passerelle genre HMS Anybus.
Ouep pas con, au moins si le mec de l'automate siemens n'arrive pas a communiquer avec la passerelle HMS ce n'est plus ton problème... alors que si vous communiquez directement ensemble, bein tant que lui n'a pas fini toi non plus

Re: Communication entre TSXP574634 et S7 300
Posté : 02 août 2017, 19:43
par demoniakdu59
Pour avoir mis en place à plusieurs reprises de la communication Modbus TCP sur des automates Siemens S7-300. La bibliothèque fournie par siemens fonctionne plutôt pas mal (après avoir passé quand même pas mal de temps à lire la documentation).
Je sais que pour le coup cela ne te concerne pas plus que ça mais au besoin je peux t"envoyer des exemples...
Re: Communication entre TSXP574634 et S7 300
Posté : 03 août 2017, 11:35
par geronimo
Merci pour vos réponses.
Donc le protocole utilisé sera le Modbus TCP avec liaison Ethernet
L'entreprise qui fournit le siemens me dit que le programme à été testé avec les fonctions GET (SFB14) et PUT (SFB15).
Il n'est pas prévu d'utiliser de passerelle entre nos deux automates.
Au pire si j'ai besoin de décomposer les bits je le ferais dans mon automate (schneider).
Ce qui m'inquiète c'est si il va y avoir des décalages d'adresses entre le siemens et le schneider vu qu'il me faut 2 bytes pour faire 1 mot en schneider
Par contre si vous avez quelques documentation ou aide sur les inversion de bit de poids faible et poids fort, je suis intéréssé
Merci
Re: Communication entre TSXP574634 et S7 300
Posté : 03 août 2017, 15:37
par djé
geronimo a écrit : ↑03 août 2017, 11:35
Ce qui m'inquiète c'est si il va y avoir des décalages d'adresses entre le siemens et le schneider vu qu'il me faut 2 bytes pour faire 1 mot en schneider
Informatiquement parlant il faut toujours 2 bytes pour faire un mot (de 16 bits!). Suivant le codage de la plateforme (OS) Il sont rangés différement.
cf
Little/Big Endian
En Siemens on est sur du Big Endian:
Ex MD500 =DW#16#A0B70708 (MW 500 + MW501 ou MB500+501+502+503)
Je pense que dans les bibliothèque Schneider tu dois pouvoir trouver ce qu'il faut pour remettre çà dans l'odre
Re: Communication entre TSXP574634 et S7 300
Posté : 03 août 2017, 16:23
par geronimo
c'est vraiment pas fait pour moi le siemens, comprend rien !!!!!!!!!!