Bonjour,
Je suis en train de créer une application qui devra envoyer et lire des données sur un automate. Je commence en C#, quelqu'un aurait-il des sources ?
Merci de votre aide
Version imprimable
Bonjour,
Je suis en train de créer une application qui devra envoyer et lire des données sur un automate. Je commence en C#, quelqu'un aurait-il des sources ?
Merci de votre aide
Salut,
le problème de la programmation pour communiquer avec un réseau OPC, c'est que les codes sources sont propriétaires. D'ailleurs, si tu connais la OPC Foundation, tu remarqueras le prix exorbitant de l'abonnement... C'est reservé aux professionnels su secteur, et, bien souvent, les entreprises qui développent des solutions OPC côté logiciel pour l'utilisateur final le font sous-traiter, si bien que nous, pauvres programmeurs, on se retrouve sans sources libres... A moins que notre patron soit spécialisé là-dedans.
Est-ce que tu utilises des composants sous licence, du genre Software Toolbox ? Si tel est le cas, tout est expliqué sur leur site. Si tu fais sans, ta boîte est forçément membre de la OPC Foundation, et je crois que leur site heberge des exemples.
L'utilisation des composants est assezz simple, mais tut dépend ce que tu dois faire : lecture / écriture, régulation, supervision avec des contrôles visuels en temps réel? Ou simple acquisition ?
J'avais déja fais un fichier excel qui permetait de communiquer avec un automate mais je ne sais pas si c'est possible en C sharp. Si j'ai bien compris ce que tu me dis, je dois payer très chèr pour pouvoir réaliser mon projet ?
Non, pas forcément. Les composants de développement que tu peux trouver sur internet (comme Software Toolbox) incluent les DLL protégées qui permettent de communiquer avec en OPC (opc core), sous licence.
A ma connaissance il n'existe pas de composants totalement gratuits pour faire ça.
maintenant tout dépend de ton projet : si tu le fais à titre personnel (études, etc), Software Toolbox (je ne te cite qu'eux car c'est les seuls que j'ai utilisés, mais il y en a plein d'autres) proposent des versions démos gratuites. La limitation de la démo, c'est que la communication avec le serveur OPC sera coupée au bout de 30 minutes, ensuite il faut redémarrer ton appli.
Si c'est un projet que tu vends, il faut voir si c'est le seul que tu fais avec de l'OPC, auquel cas ils vendent des licences 'uniques' (tu as toujours la licence de développement + la licence à installer sur le poste du client) : une seule licence runtime. Sinon il y a des formules avec licences runtime illimitées. Ca va chercher entre les 100 et 1500 euro selon les formules.
Tu as besoin de faire quoi exactement ?
Je fais un programme pour un tour, il faut créer les pièces avec l'application developpée en c# et ensuite il y aurait un bouton "exporter vers l'automate" qui enverrai tout les points de la pièce à l'automate, afin de pouvoir créer la pièce automatiquement.
Si c'est obligatoirement de l'OPC, je crains que tu ne sois obligé de passer à la caisse...
Ceci dit, il y a peut-être quelqu'un dans ton projet (le client, un sous-traitant...) qui possède une licence, ou des composants ? Y-a-t-il un existant ? Si tu t'interfaces avec un système existant qui communique déjà en OPC, peut-être existe-til un moyen de contourner ?
Tu prends les variables directement dans le serveur OPC avec leur adresse, ou par exemple dans une supervision genre PC Vue ?
Il on déja le programme Codesys. Je ne sais pas si on peux utiliser ce programme pour communiquer. Je prend les variables directement avec leur adresse
Je ne connais pas ce programme, il faudrait voir.
Sinon pour l'OPC, il va te falloir des composants... Tu es en freelance ? Sinon essaie de télécharger des démos gratuites, puis parles-en à ton boss. Comme je t'ai dit je ne connais bien que Software Toolbox, c'est hyper-simple à utiliser. genre une ligne de code pour écrire une valeur, idem pour lire.
En faite c'est un projet pour l'école. Je te mets le programme que j'avais fais en excel pour que tu vois comment j'avais fais.
OK. je ne pensais pas que c'était piloté directement depuis Excel.
Du coup je ne sais pas trop comment ça se passe dans ce cas-là, il doit exister des composants interop pour gérer ça en C#, mais je ne les connais pas... En fait ton appli est serveur OPC, si je comprends bien, le client c'est l'automate...
J'ai trouvé ça sur le net : http://www.procdev.com/excelopcsvr.asp
c'est, bien évidemment, encore payant (demo gratuite qui se déconnecte au bout d'une heure).
Après, peut-être qu'il existe des librairies gratuites pour faire ça, mais je e veux pas te dire de bêtise, je ne connais que la programmation côté client, sans Excel.
Merci pour ton aide je vais jeter un petit coup d'oeil
Bonjour,
si tu veux lire et écrire des données sur un automate, utilises l'archi suivante:
<CLIENT OPC> <-> <SERVEUR OPC> <-> <API>
Je te conseille donc de développer un client OPC en C#.
Pour cela va sur le site opcfoundation.org et télécharge les librairies pour .NET.
Utilises les pour développer ton client OPC.
Le serveur OPC dialogue avec l'automate. Seul lui sait communiquer avec l'automate. Tu devras donc configurer sur le serveur OPC la liaison avec l'automate.
Le serveur OPC est payant. Tu peux utiliser celui fourni par le fournisseur de l'automate. De mémoire, pour un automate Siemens, il faut compter au mini 300€, pour les autres je ne sais plus.
Tu as aussi celui de Kepware qui se nomme Kepserver. Je te conseille pour tes essais ce serveur OPC qui a l'avantage au contraire des serveurs des fournisseurs de pouvoir communiquer avec une quantité importante d'automate et selon des protocoles différents.
La plupart des serveurs OPC sont utilisables sans licence pour des tests. La licence devient impérative pour une utilisation en production. Par exemple, sans licence, kepserver s'arrête au bout de 2 heures.
Par contre, si tu souhaites développer ton serveur OPC, je rejoins à peu de choses près ce que Ferdydurke disait et j'ajouterai une chose: bon courage.
Si tu as besoin d'aide pour ton client OPC, n'hésite pas.
Bye
Bonjour,
ce POST est ancien mais je tente ma chance quand même.
Vous dites de télécharger les Dlls sur le site de L'opcfoundation, mais comment faire si notre entreprise n'en est pas membre?
Y a t-il d'autres solutions même payantes mais avec un moindre côut?
merci d'avance.
bonjour je vais commencer un projet pour mes etudes enfait je veux creer un opc client pour communiquer avec une automate (s7 1500) en utilisant c#.qui peut m envoyer des liens utiles?