# C# (.NET) OPC-Client



## Johannes_meyer (25 Mai 2010)

Hallo,

ich darf im Rahmen einer Bachelorarbeit eine Visualisierung in C# (Visual Studio 2008 ) entwickeln (zumindest, soweit ich komme). Ich dachte, ich fang bei der Prozessschnittstelle, also bei OPC an, um zu sehen, was mir so ein OPC-Server alles an Arbeit abnimmt. Mittlerweile hab ich eher das Gefühl, dass er mir Arbeit macht ;-)

Ich bin auf der Suche nach einer Art .Net-Toolbox für die Entwicklung von C#-OPC-Clients. Das Angebot erschlägt mich aber gerade:
http://www.opcconnect.com/dotnet.php

Die Toolbox von Softing sagt mir nach zwei, drei Tagen Recherche am ehesten zu, kostet aber 5000€!
Advosol scheint auch ganz vernünftig zu sein.
Was habt ihr für Erfahrungen mit solchen Frameworks.

Beim IBH-OPC-Server für S7-Steuerungen ist Beispielcode für C# dabei, der auf einer .dll basiert. Hat jemand Erfahrung damit? Warum bekomm ich bei IBH einfach die nötigen .dlls mit dem Server, der dazu noch einer der günstigsten ist, dazu, wenn ich bei anderen Anbietern tausende Euros zahlen muss???

Gibt es schon OPC UA Server für S7-Steuerungen?


Vielen Dank schonmal für alle Unterstützung.

Johannes


----------



## Gerhard Bäurle (25 Mai 2010)

Johannes_meyer schrieb:


> Ich bin auf der Suche nach einer Art .Net-Toolbox für die Entwicklung von C#-OPC-Clients. Das Angebot erschlägt mich aber gerade:
> http://www.opcconnect.com/dotnet.php



Hallo,

wird immer wieder positiv erwähnt:

http://www.dopc.kassl.de/dotnet.shtml


----------



## Gerhard Bäurle (25 Mai 2010)

Johannes_meyer schrieb:


> Gibt es schon OPC UA Server für S7-Steuerungen?



Im Moment ist mir der vom Indianer bekannt:

http://indi-an.de/index.php?option=com_content&view=article&id=82&Itemid=90

Nachtrag: der von Siemens selbst kann doch auch UA, oder nicht?

Nachtrag 2: ja, falls schon lieferbar: http://www.sps-magazin.de/?inc=artikel/article_show&nr=50124


----------



## Johannes_meyer (25 Mai 2010)

> Hallo,
> 
> wird immer wieder positiv erwähnt:





> http://www.dopc.kassl.de/dotnet.shtml


Der wird leider nicht mehr weiterentwickelt und scheidet somit aus.

Was Siemens betrifft, warte ich noch auf die Antwort von Siemens. Mit der Homepage bin ich nicht zurechtgekommen. Das Angebot ist zu unübersichtlich für jemanden, der noch nicht genau weiß, welche Siemens-Artikelnummer er will .

Den "Indianer" werd ich mir nochmal anschauen.

Gruß
Johannes


----------



## Dr. OPC (25 Mai 2010)

OPC UA ist bei Siemens auf der SimaticNET CD2008 und auf der neuen CD2010 enthalten. Da ist ein UA-Server für das S7-Protokoll enthalten und (auf der neuen CD) auch einer für PNIO.

Ebenfalls enthalten (auf der CD2010) ist eine ClientBibliothek für .NET, damit können sogar (ganz einfache) Clients geschrieben werden ohne etwas zu "programmieren". Eine .NET API ist in der Doku ganz gut beschrieben. Einzige Einschränkung: funktioniert nur mit OPC-Server von Siemens (kostet dafür aber auch nichts).

Weiter gibt es den UA Server vom Indianer, einen von Kepware und für die Client-seite einige Toolkits u.a. von Softing.

kleiner Hinweis: das Zeug von Siemens funktioniert auch ohne Lizenz (für deine Batchelor-Arbeit sicher ausreichend). Langfristig sollte man natürlich immer eine Lizenz besitzen, das ist klar.


----------



## Gerhard Bäurle (25 Mai 2010)

Hallo,

dann noch zwei Links zu Siemens:

 [FONT=&quot][/FONT]Industrielle Kommunikation mit PG/PC Band 2 - Schnittstellen Programmierhandbuch:

http://support.automation.siemens.com/WW/view/de/42783660

Programmierung eines OPC UA .NET Clients mit C# für den SIMATIC NET OPC  UA Server:

http://support.automation.siemens.com/WW/view/de/42014088


----------



## Dr. OPC (25 Mai 2010)

Danke. Vor allem der zweite Link mit Source Code und Doku ist für jeden, der OPC UA Clients (in C#) schreiben will eine tolle Sache. Die beitragsID muss man sich merken : 42014088


----------



## Johannes_meyer (26 Mai 2010)

Hallo,

die zwei Links sind wirklich sehr gut, auch für das algemeine Verständnis von OPC. Super Dokumentierte Beispiele!

Aber wenn ich richtig verstehe können alle Clients, die auf den Siemens Bibliotheken beruhen, egal ob OPC Classic oder OPC UA nur mit OPC Servern von Siemens zusammenarbeiten.
Da ist dann wohl ein zentraler Sinn von OPC verfehlt! In meiner Firma werden zwar 90% Siemens CPUs eingesetzt, aber für die restlichen 10% will ich doch nicht von vorn anfangen einen Client zu schreiben.

Hat jemand schonmal den IBH-OPC-Server und Clientcode eingesetzt und kann dazu etwas sagen?

Gruß
Johannes


----------



## Dr. OPC (26 Mai 2010)

> Da ist dann wohl ein zentraler Sinn von OPC verfehlt! In meiner Firma werden zwar 90% Siemens CPUs eingesetzt, aber für die restlichen 10% will ich doch nicht von vorn anfangen einen Client zu schreiben.


jep, da hast wohl du recht. Dafür das es "kostenlos" ist, muss man wohl die "Einschränkung" in Kauf nehmen das dieses - nennen wir es mal "Siemens-Client-Toolkit" - auf die ProgID bzw. URL von Siemens OPC Servern "beschränkt" ist. Aber für die Doku vom mir ganz klar ein "Hut ab!", wirklich nicht schlecht !!! 

Für eine "Vollversion" wirst du dann schon etwas ausgeben müssen. Schau dir mal "ClientACE" von Kepware an, das ist sehr ähnlich, kostet so um die 1000$. Das ist auch "eine" API, die alle OPC Server "Varianten" (XML, DA, UA) bedienen kann. Ob das allerdings so schick dokumentiert ist, weiß ich nicht (vermutlich in Englisch, aber das stört ja nicht weiter)


----------



## Gerhard Bäurle (26 Mai 2010)

Johannes_meyer schrieb:


> Aber wenn ich richtig verstehe können alle Clients, die auf den Siemens Bibliotheken beruhen, egal ob OPC Classic oder OPC UA nur mit OPC Servern von Siemens zusammenarbeiten.
> Da ist dann wohl ein zentraler Sinn von OPC verfehlt! ...



Hallo,

Du hast im Prinzip recht. Aber es gibt mehrere OPC-Server-Hersteller,
deren kostenfreie Client-Toolkits nur mit dem jeweils eigenen OPC-Server
laufen - so als Kundenbindungsmaßnahme .


----------



## bsteinebach (22 Februar 2012)

Hallo ! 

   Danke für den Link von Siemens für das OPC-UA .Net Client Beispiel !!! (http://support.automation.siemens.com/WW/view/de/42014088)
Habe das gerade ausprobiert und da der Client auf den Assemblies von der OPC-Foundation basiert, funktioniert dieser auch mit OPC-Servern anderer Hersteller !   

Getestet habe ich das mit dem Kepware OPC-Server. Die Verbindung ließ sich ohne Probleme herstellen und das browsen durch die OPC-Tags funktioniert auch. Deshalb gehe ich mal davon aus, dass es auch mit anderen OPC-UA Servern gehen sollte  

Ich habe keine weiteren Assemblies oder irgendetwas von Siemens bei mir auch dem Rechner installiert, in dem Beispiel ist alles dabei was man braucht um einen OPC-UA .Net Client zu schreiben (auch die opc.ua.core.dll und opc.ua.client.dll von der OPC-Foundation, was das Wichtigste ist).


----------



## wiesson (13 August 2013)

Ich hab neulich noch das hier gefunden: http://fistfulofbytes.com/opc-sample-code 

ObjOPCServer.Connect(OPCServerName, ""; muss wohl -> ObjOPCServer.Connect(OPCServerName, ""); heißen, getestet hab ich es aber noch nicht.


----------

