IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Automation Discussion :

C++ et automate siemens (industrial ethernet)


Sujet :

Automation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Baxter67
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Par défaut C++ et automate siemens (industrial ethernet)
    Bonjours,

    Suite au succée de ma supervision d'un automate Télémecanique en MODBUS TCP/IP,
    on ma demander de faire une supervision d'un automate siemens.

    J'ai fais enormément de recherche un peu partous pour trouver les trames etc pour récupéré et ecrire des info dans l'aumate mais je ne trouve rien
    Voila la carte de communication serais une 443-1 avec une CPU S7 400.
    Je ne trouve rien sur le "industrial ethernet" qu'utilise siemens ...

    En gros j'aimerais faire une supervision avec Borland C++ builder d'un automate siemens en utilisant "industrial ethernet" mais sans devoir acheter de serveut OPC, en programmant ma com comme je l'ai fais pour le modbus..
    Si quelqu'un pouvais m'aider sa serais génial

    cordialement Baxter

  2. #2
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    salut,

    il y a plusieurs possibilités en ethernet :

    * le S7 FETCH / WRITE, où les trames sont détaillées dans cette doc (à la fin) : http://rapidshare.com/files/98972233...ie_77.pdf.html

    * en TCP directement, un exemple VB + tuto, ici : http://www.plcs.net/downloads/index....ctory=Siemens&

    après il y a d'autres protocoles mais ils sont propriétaires, donc pour avoir les specs ...

    @+

  3. #3
    Expert confirmé

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Par défaut
    +1 pour Fetch Write, avec la doc donnée en lien par stephdim et si tu maitrise les socket ce sera aussi facile que Modbus sur TCP

    Attention par contre qu'il faut configurer des liaisons dans la carte automate pour chaque client qui se connectera et de plus pour chaque client, une liaison en écritre (write) et une en lecture (fetch) tous avec des numéros de port différents...
    C'est le seul inconvénient de ce protocol. Le plus simple si tu as plusieurs postes est qu'un seul lise/écrive l'automate en Fetch/write et que les autres se servent dans données dans ce PC.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  4. #4
    Membre éclairé Avatar de Baxter67
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Par défaut
    Je vais regarder sa

    Merci

    Cordialement Baxter

  5. #5
    Membre éclairé Avatar de Baxter67
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Par défaut
    Citation Envoyé par Nono40 Voir le message
    +1 pour Fetch Write, avec la doc donnée en lien par stephdim et si tu maitrise les socket ce sera aussi facile que Modbus sur TCP

    Attention par contre qu'il faut configurer des liaisons dans la carte automate pour chaque client qui se connectera et de plus pour chaque client, une liaison en écritre (write) et une en lecture (fetch) tous avec des numéros de port différents...
    C'est le seul inconvénient de ce protocol. Le plus simple si tu as plusieurs postes est qu'un seul lise/écrive l'automate en Fetch/write et que les autres se servent dans données dans ce PC.


    moi j'ai sa :



    Mais nul part je voie ou paramétré un numéro de port
    En tous en socket il me laise pas me connecter

    Cordialement Baxter

  6. #6
    Expert confirmé

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Par défaut
    Tu es passé par ou ?

    Voici la procédure à faire
    Dans NetPro il faut configurer la carte Ethernet en donnant son adresse IP fixe. Ainsi que définir la carte comme connectée à un réseau Ethernet. Cette configuration est standard.

    Il faut définir deux liaison dans la liste des liaisons CPU. Une liaison en mode Fetch passive et une liaison en mode Write passive.

    Pour définir une liaison, procéder comme suit :
    -Ajouter une liaison de type « Liaison TCP » et dont le partenaire est « (non spécifié ) »
    Valider et définir le type de liaison « fetch passive » ou « write passive »

    - Dans l’onglet adresse, définir le port local utilisé pour la connexion. L’adresse et le port partenaires doivent être laissés vides.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  7. #7
    Membre éclairé Avatar de Baxter67
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Par défaut
    sa y est, j'arrive a me connecter

    maintenant, comprendre les trames des requetes qu'il faut que je cré. Ce n'est pas une mince affaire, l'explication des trames n'est pas tres clair

    Merci encore

    Cordialement
    Baxter

  8. #8
    Membre éclairé Avatar de Baxter67
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Par défaut
    bon j'arrive meme pas a etablir la connection socket
    J'ai fais les config en ajoutant les deux liaison ISO ON TCP

    mais jarrive pas a me connecter

    Jai meme eseyer en appelant le FC8 pour les deux connections

    Y a quelque chose de particulier a faire ?

  9. #9
    Membre éclairé Avatar de Baxter67
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Par défaut
    Bon voila, j'ai réussi a lire é a ecrire des DBW d'un DB
    C'est vrai que ce n'étais pas plus compliquer que le ModBus

    Merci encore pour tous

    Je met le suget en résolu, si jamais j'ai d'autre question je le réouvrirais

    Cordialement Baxter

  10. #10
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 5
    Par défaut Affectation du local côté pc
    Bonjour,

    Je dois faire le même travail que toi Baxter67, c'est à dire dialoguer avec automate Siemens S7-300 en Ethernet via coupleur CP343-1.

    J'ai d'abord utilisé la dll libnodave.dll qui utilise le protocole ISO-ON-TCP et qui permet d'aller lire/écrire directement dans les zones automates. Cela marche bien sauf que c'est très lent (lecture de 120 octets en 192ms) et j'ai besoin de vitesse car mon appli se situe sur ligne de production et ne doit pas ralentir la cadence.

    Côté automate, j'ai créé une liaison tcp en mode SEND/RECEIVE, et je dois paramétrer l'adresse et le port du client, est-ce vraiment utile de préciser le port local du client?

    Côté pc, j'utilise C++ Builder 6, et je n'arrive pas à préciser le port local en utilisant des composants tels que TCPClient, TClientSocket, TCustomWinSocket, ... par contre j'ai vu un exemple en vb qui lui accède à la propriété LocalPort, je suis dégoûté!

    Auriez-vous des idées?

    Merci

  11. #11
    Membre éclairé Avatar de Baxter67
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Par défaut
    Citation Envoyé par EaglePanda Voir le message
    Bonjour,

    Je dois faire le même travail que toi Baxter67, c'est à dire dialoguer avec automate Siemens S7-300 en Ethernet via coupleur CP343-1.

    J'ai d'abord utilisé la dll libnodave.dll qui utilise le protocole ISO-ON-TCP et qui permet d'aller lire/écrire directement dans les zones automates. Cela marche bien sauf que c'est très lent (lecture de 120 octets en 192ms) et j'ai besoin de vitesse car mon appli se situe sur ligne de production et ne doit pas ralentir la cadence.

    Côté automate, j'ai créé une liaison tcp en mode SEND/RECEIVE, et je dois paramétrer l'adresse et le port du client, est-ce vraiment utile de préciser le port local du client?

    Côté pc, j'utilise C++ Builder 6, et je n'arrive pas à préciser le port local en utilisant des composants tels que TCPClient, TClientSocket, TCustomWinSocket, ... par contre j'ai vu un exemple en vb qui lui accède à la propriété LocalPort, je suis dégoûté!

    Auriez-vous des idées?

    Merci
    bonjours, désolé de repondre si tard, mais entre les congée et les nouveaux proget que j'ai eu a faire sa m'est sortie de la tete.
    Je suis désolé

    Avez vous réussi a résoudre votre probléme ?

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 202
    Par défaut et en windev...
    Bonjour Baxter67,

    J'ai découvert votre message concernant une supervision industrial ethernet Siemens sur le forum.
    Grace à votre message, je sais que ca peut marcher, merci.

    J'ai comme vous développé une supervision modbus tcp/ip pour un automate télémécanique.
    La seul différence est que je développe en Windev.

    J'aimerai développer comme vous une supervision pour commmuniquer avec des automates Siemens type S7-300 et j'aimerai quelques précisions si vous avez le temps:

    - le protocole utilisé est-il bien le ISO–on–TCP ?
    - pouvez vous me donner des exemples de trames d'écriture et de lecture ?
    - l'automate siemens doit etre obligatoirement équipé d'un coupleur type CP 343 ?
    - comment doit-on configurer et paramétrer le coupleur ?
    - y a t-il des pièges à éviter ?

    Voila, merci par avance du temps que vous consacrerez à répondre à ce message.
    Si vous avez des pièces jointes pour m'aider, vous pouvez les envoyer à mon adresse lmanager@wanadoo.fr

    Bonne journée,
    Cordialement,
    David.

  13. #13
    Expert confirmé

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Par défaut
    La plupart des réponses sont déjà données plus haut

    Citation Envoyé par davcaz Voir le message
    - le protocole utilisé est-il bien le ISO–on–TCP ?
    Pas forcément, comme expliqué plus haut le protocol FETCH/WRITE est souvent utilisé.

    Citation Envoyé par davcaz Voir le message
    - pouvez vous me donner des exemples de trames d'écriture et de lecture ?
    stephdim a donné un lien intéressant, de toute façon les trames FETCH/WRITE sont données dans les docs de Siemens.

    Citation Envoyé par davcaz Voir le message
    - l'automate siemens doit etre obligatoirement équipé d'un coupleur type CP 343 ?
    Si tu utilises FETCH/WRITE, oui il faut une carte. La liaison intégrée des CPU ne le fait jamais
    Si tu utilises ISO-ON-TCP, cela dépend de la CPU. Peu de CPU et de carte Ethernet supportent le ISO-ON-TCP serveur.

    Citation Envoyé par davcaz Voir le message
    - comment doit-on configurer et paramétrer le
    coupleur ?
    Dans le cas de fetch/write j'ai donné la réponse un peu plus haut.

    Citation Envoyé par davcaz Voir le message
    - y a t-il des pièges à éviter ?
    C'est en tombant dedans que l'on aprend le plus
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 202
    Par défaut configuration
    Merci beaucoup Nono40


    Pour résumer, je vais donc me lancer avec la configuration suivante:


    -------------------------------------------------
    |PC |
    |avec: |
    |- Supervision envoi de socket en FETCH/WRITE |
    |- Carte ethernet basique |
    -------------------------------------------------
    |
    |
    |
    |<----- cable ethernet croisé
    | support de
    | protocole FETCH/WRITE
    |
    |
    -----------------------------------------------
    |Automate | | |
    |Siemens | Coupleur | |
    |S7 300 | CP 343 | |
    -----------------------------------------------


    Voila, merci de me dire si je fais fausse route au cas où.

    Bonne journée,
    David.

  15. #15
    Membre éclairé Avatar de Baxter67
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Par défaut
    je peut poster demain quelque trames que jai fait en C++, si sa peut aider.

    Mais oui jai utiliser un coupleur ethernet.

    Au final avec une CPU s7-400, mais bon c'est que la taille qui change, le protocole est le meme!

    Cordialement Baxter

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 202
    Par défaut
    Merci Baxter67, si tu peux envoyer quelques trames, ca serait super sympa, je reçois mon matériel dans quelques jours...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Connexion a un automate SIEMENS via ethernet ip
    Par tristan02 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/06/2014, 08h26
  2. Dialogue automate siemens avec profibus et un automate M340.
    Par nicolasbesson dans le forum Automation
    Réponses: 3
    Dernier message: 07/04/2009, 22h16
  3. [Schneider] Connexion automate Schneider en Ethernet
    Par davcaz dans le forum Automation
    Réponses: 4
    Dernier message: 03/04/2009, 19h50
  4. BCB et industrial ethernet
    Par Baxter67 dans le forum C++Builder
    Réponses: 0
    Dernier message: 02/04/2008, 15h32
  5. Recherche de documentation sur les automates Siemens avec Delphi
    Par ****** dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 22/10/2005, 22h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo