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 :

Liaison à serveur OPC


Sujet :

Automation

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Liaison à serveur OPC
    Bonjour,

    Je suis actuellement en stage et je dois réaliser, sous window, une interface de supervision pour communiquer avec les éléments de l'installation.
    Pas de soucis pour communiquer avec l'automate S7-300, j'utiliserai le serveur OPC inclus dans PCVue que je compte utiliser.

    Par contre, je vais aussi devoir communiquer avec une cabine de poudrage qui est déja connectée à l'ordi via un cable ethernet et qui a son propre programme de supervision.

    Il n'y a rien de prévu par le constructeur pour transmettre les données directement vers PCVue, ou vers n'importe quel autre programme que celui qu'ils proposent et qui ne nous satisfait plus.

    En sniffant les paquets échangées, je suis capable de réecrire le protocole de communication utilisé par la cabine.
    Je pense ensuite utiliser WinPcap pour récupérer les données des trames ethernets dans un programme (jusque là je vois à peu près comment faire, même si j'ai pas tant de connaissance en programmation que ça je vais apprendre...) et j'aimerai ensuite faire en sorte que le serveur OPC de PCVue puisse se connecter à mon programme comme il le ferait à n'importe quel serveur OPC pour récupérer les données (et c'est là que je suis perdu).

    Bref, en résumé, j'aimerai créer un serveur OPC rudimentaire capable de mettre à disposition de tout serveur OPC plus développé les informations contenues dans une trame ethernet pour une IP donnée.

    Ca a fait quand même un petit pavé à lire, désolé ^^'
    J'espère ne pas demander un truc insurmontable

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Pour écrire un serveur OPC, il te faut un sdk compliant OPC foundation. N'as-tu pas moyen d'écrire des plugins à intégrer au serveur OPC ? Ou de passer via un protocole plus simple comme modbus ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Je ne peux pas modifier le protocole utilisé par la cabine de poudrage.
    Donc je suis bloqué avec mes paquets dont je dois déchiffrer la signification, enfin, c'est du TCP, donc je vais pourvoir récupèrer "facilement" les données utiles des trames, données utiles qui se présentent sous forme de code de 2 à une centaine d'octets, qui correspondent aux changements de parametres de la cabine.

    Par contre, s'il y a moyen d'écrire un plugin pour le serveur OPC pour qu'il puisse lire ce qui m'intéresse (ou juste récupérer les données utiles de la trame que je traiterai ensuite au niveau du client), ça me conviendrait tout à fait, mais je ne sais pas du tout comment faire.

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    je ne parle pas de changer le protocole à la source, mais introduire un "automate" tiers logiciel.
    ta cabine cause avec son propre protocole, l'automate logiciel récupère les trames, les analyse et les publie en Modbus, et avec ton superviseur tu viens lire le modbus.

    Pour ça, il faut que ta cabine envoie des données booléennes et numériques uniquement !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Je ne sais pas si ta méthode aurait marché Arnard, les logiciels de simulations d'automate que j'ai trouvé ne m'ont pas été d'un grand secours mais il est vrai que je n'en ai pas cherché énormément vu que je me suis attaqué à mon idée précédente ( vu le format des données échangées, je doute qu'un logiciel tel quel aurait réussi à s'adapter facilement, à moins qu'il y ait les codes sources avec).

    Donc, pour le moment, en sniffant le réseau j'ai pu avoir des chaines de données représentant les commandes échangées.

    J'ai écrit un serveur TCP en C# qui me sert à simuler ma cabine, ainsi en connectant le programme du fournisseur à mon serveur TCP j'ai été capable en réenvoyant les données sniffés de récupérer les informations et j'ai commencé à réécrire le protocole d'échange (ça promet d'être un travail de longue haleine mais ça avance bien).

    J'ai aussi écrit un client TCP en C# capable de se connecter sur la cabine à la place du programme constructeur et de récupérer les info échangées (même si pour le moment, je n'ai pas la totalité des correspondances pour les voir en totalité en langage compréhensible).

    Là je cherche à connecter mon client TCP sur une base de donnée (j'ai encore des petits soucis à ce niveau là mais y a suffisament de doc sur internet pour que je m'en sorte) en espérant pouvoir ensuite récupérer les informations directement de la base de données vers soit le serveur OPC, soit directement vers le programme de supervision (j'ai pas encore eu le temps de me plonger dans PCVue pour savoir les possibilités à ce niveau là).

    Il me suffira de finir la décortication du protocol d'échange et mon probleme devrait être résolu.

    J'ai pas du tout l'impression de me compliquer la vie...

    Merci en tout cas Arnard d'avoir pris le temps de me répondre.

  6. #6
    Expert éminent sénior

    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 : 56
    Localisation : France, Loir et Cher (Centre)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Tu n'as pas d'exemple de serveur OPC en C# sur le net ?

    Je l'ai déjà fait en Delphi si tu as une bibliothèque correcte c'est facile à faire. Dans mon cas les composants OPC n'étaient pas gratuits mais par cher (100livres UK)
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    J'ai trouvé pas mal d'exemple de client OPC en C# mais pas de serveur.

    Le seul moyen que j'ai trouvé pour obtenir des codes de serveur serait de s'inscrire à OPCFundation ce qui couterait tout de même $1,500 ce qui n'est certe pas énorme dans le budget d'une entreprise mais est disproportionné par rapport à mes besoins.

    Cependant, si tu as une autre source de serveur OPC à 100 livres UK cela pourrait valoir le cout, si jamais je ne m'en sors pas avec la méthode que je développe (ce que je saurais d'ici une ou deux semaines le temps que je finalise tout ça).

  8. #8
    Expert éminent sénior

    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 : 56
    Localisation : France, Loir et Cher (Centre)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Celui que j'utilise c'est http://www.production.robots.btinternet.co.uk/propc.htm
    Je ne vois pas le prix et c'est pour Delphi.

    Tu devrais fouiller ici http://www.opcconnect.com/ beaucoup de kit y sont référencés, y compris des kits gratuits.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  9. #9
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Citation Envoyé par Site OPCConnect
    Client Toolkit 1250 USD
    Server Toolkit
    ('rapid' development model, incomplete source) 1250 USD
    Server Toolkit
    (fully featured, with source) 4500 USD
    Un sdk opc free, j'en ai jamais entendu parler, mais si ça existe, je suis intéressé pour sûr !

  10. #10
    Expert éminent sénior

    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 : 56
    Localisation : France, Loir et Cher (Centre)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Je suis sûr que l'on a payé 100£ il y a quelques années.

    Mais de toute façon j'ai abandonné OPC depuis belle lurette, trop limitatif. On a développé notre propre couche client.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  11. #11
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Ca garantit au moins de maitriser la chaine

    OPC Xi avec la couche WCF s'annonce une bonne chose, mais OPC n'est pas designé pour tout en effet.

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

Discussions similaires

  1. Qt et serveur OPC
    Par Polux95 dans le forum Qt
    Réponses: 2
    Dernier message: 12/06/2007, 11h07
  2. Liaison serveur -> client
    Par hyipicai dans le forum VB.NET
    Réponses: 22
    Dernier message: 01/06/2007, 12h09
  3. Mise en place d'un serveur OPC
    Par Rémiz dans le forum Ordinateurs
    Réponses: 11
    Dernier message: 04/05/2007, 10h44
  4. [OPC] Créer un serveur OPC
    Par Invité dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 29/04/2007, 17h18
  5. [communiquer avec un serveur OPC]
    Par David38 dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 03/03/2006, 18h20

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