# OPC-Server mit Libnodave funktioniert nicht



## Red-Sh4nks (13 Januar 2010)

Hallo erfahrene SPS- und OPC-Server-Benutzer! 

Ich habe schon dutzende Posts in diesem Forum
durchstöbbert und war angenehm überrascht, dass
es so viele Profis auf diesem Fachgebiet gibt, die
anscheinend sämtliche Probleme lösen können.

Standpunkt:

1. Ich möchte einen OPC-Server auf einem Computer
einrichten
2. Als Toolbox möchte ich Libnodave verwenden, sofern
es keine andere kostenfreie bessere Software dafür gibt
3. Und der Rest sollte in C# erledigt werden

Ziel:
In der Lage zu sein, auf der SPS Merker setzen und lesen.

Hardware:
-Ein etwas veralteter Rechner mit Win XP  SP 3
-Profibus DB
-CPU 315
-S7-300

Aktueller Standpunkt:
Die Anwendungen in Libnodave/win lassen sich anscheinend
nicht ausführen und werden sofort nach dem Öffnen wieder
geschlossen. 

Ich hoffe meine gesamten Angaben sind vollständig um einige
konstruktive Vorschläge von eurer Seite zu erlangen ;-)

lg Marco*


----------



## Rainer Hönle (13 Januar 2010)

Und warum nicht libnodave direkt sondern der Umweg über OPC? 
Was kommt denn für ein Kommunikationsadapter zum Einsatz?


----------



## Red-Sh4nks (13 Januar 2010)

So wie es hier dargestellt ist, soll es funktionieren:

http://img5.imagebanana.com/view/bu1vuaq7/opc.jpg

Erklärung:
Der OPC soll über die Toolbox(libnodave) auf die SPS zugreifen können.
Der OPC sollte selbst (im c#) programmiert werden.

Als Kommunikationsadapter setzen wir die serielle Schnittschnelle
ein. An ihr habe ich einen Profibus DB angeschlossen, welcher an
die SPS angeschlossen ist.

PS: ich benötige diesen OPC-Server für die Schule, daher bin ich kein
Fachmann auf diesem Gebiet...

lg Marco


----------



## TCP/IP (13 Januar 2010)

@Red
Und welchen OPC-Server willst Du einsetzen?


----------



## Indi.An-er (13 Januar 2010)

Hallo,
die Frage und der Einwand von Rainer Hönle sind sehr berechtigt.
Wenn dass das Ziel ist,



Red-Sh4nks schrieb:


> Ziel:
> In der Lage zu sein, auf der SPS Merker setzen und lesen.



Warum dann den Umweg über das OPC-Protokoll? OPC ist eine zusätzliche Übertragungsschicht, um die Merker in deine C#-Software zu bekommen, brauchst du da nicht unbedingt OPC. Mit Libnodave (ohne OPC) lagst du für Deine Aufgabe eigentlich schon goldrichtig.
Gerne kannst Du für diese Aufgabe auf unseren "PLCCom S7"- Treiber zugreifen. Genau für deine Belange (nichtkommerzieller Bereich) gibt es da die kostenlose Personal-Edition. Damit kannst Du direkt in C# die Merker lesen oder schreiben. Beispiele sind Onboard.

Wenn es aber dann doch unbedingt OPC sein muss:
Selbst eine OPC-Server oder Client-Schnittstelle zu entwerfen oder umzusetzen, halte ich aus Erfahrung für sehr zeitaufwendig und mangels Testtools und Sourccode (die gibt es für Mitglieder bei der OPCFoundation) für sehr sehr umständlich. Bleibt eigentlich nur die Möglichkeit auf bestehende OPC-Client-und Server-Toolkits zurückzugreifen.
Allerdings ist mir im Moment ein kostenloses OPC-Clienttoolkit für C# nicht bekannt, ein kostenloser OPC-Server für S7 eigentlich auch nicht, ich denke da wird es schwer, eventuell die Hersteller ansprechen ob es eine  kostenlose Schulversion gibt.


----------



## Red-Sh4nks (14 Januar 2010)

@TCP/IP
Tut mir leid, ich verstehe deine Frage nicht?
Gibt es verschiedene? oder meinst du von welcher
Firma?

@Indi.An-er
Dein Einwand ist gut!  Ich verstehe es ehrlich
gesagt auch nicht, wieso ich das OPC-Protokoll
verwenden soll, wenn es auch nur mit Libnodave
gehen würde. Ich werde mal rücksprache mit meinem
Professor halten und melde mich morgen mit
einer gezielten Antwort auf deine Frage!

lg Marco*


----------



## Red-Sh4nks (15 Januar 2010)

Also... Obwohl es umständlich ist, muss ich doch
unbedingt OPC verwenden. Mit einem Testclient von
WF98 müsste das doch in 2 Monaten zum Hinbekommen
sein, oder?

lg Marco*


----------



## Rainer Hönle (15 Januar 2010)

Was ist WF98?


----------



## marlob (15 Januar 2010)

Rainer Hönle schrieb:


> Was ist WF98?


Ich vermute mal WinFact


----------



## Gerhard Bäurle (15 Januar 2010)

Hallo,

grundsätzlich hat man zum Austausch von Prozessdaten zwei unter-
schiedliche Möglichkeiten:

1. proprietärer Gerätetreiber oder 2. standardisierte OPC-Schnittstelle

Zu 1.: das wäre z. B. libnodave

Zu 2.: Die Alternative ist der Einsatz der eines  OPC-Server. OPC-Server 
dienen als einheitliche Schnittstelle zum Prozess und sind für 
verschiedenste  Hardware lieferbar. Selbst entwickeln muss man nur 
den OPC-Client entsprechend seinen Anforderungen, hat dann aber
eine Lösung für _jeden_ OPC-Server.

Die OPC-Server werden normalerweise von den Geräteherstellern 
angeboten. Für weit verbreitete Geräte wie die S5 und S7 von 
Siemens gibt es Alternativen von Inat, Softing, Matrikon usw.




Red-Sh4nks schrieb:


> So wie es hier dargestellt ist, soll es funktionieren:
> 
> http://img5.imagebanana.com/view/bu1vuaq7/opc.jpg
> 
> ...



Was ist der Sinn davon, selbst einen OPC-Server zu erstellen? 
Für eine einzelne Appilkation? Für ein Schulprojekt?

Machbar ist es, klar. Aber das ist ungefähr so, als ob Du an
Dein Auto einen Anhänger hinhängen möchtest ... und nun
kauftst Du eine CAD-Software, um eine Anhängkupplung zu
konstruieren statt dass Du Dir einfach so ein Ding kaufst.

Ich schätze: Hier redet "man" aneinander vorbei.


----------



## Red-Sh4nks (15 Januar 2010)

> Was ist der Sinn davon, selbst einen OPC-Server zu erstellen?
> Für eine einzelne Appilkation? Für ein Schulprojekt?



Ja, es ist für ein Schulprojekt. Anscheinend hat auch unser
Professor wenig Ahnung von solchen Dingen, weil er auch
nur wenige unserer Fragen beantworten kann.



> Machbar ist es, klar. Aber das ist ungefähr so, als ob Du an
> Dein Auto einen Anhänger hinhängen möchtest ... und nun
> kauftst Du eine CAD-Software, um eine Anhängkupplung zu
> konstruieren statt dass Du Dir einfach so ein Ding kaufst.



Ja, dein Vergleich trifft den Nagel auf den Kopf. Es ist leider
so gefordert. 

Wenn ich das Ganze jetzt richtig verstanden habe, muss ich so
eine standardisierte OPC-Schnittstelle selbst programmieren. Also
quasi ein OPC-Protokoll im C#. Gibt es hierzu passende Quellen
mit Beispiel-Codes oder Anleitungen?

Gibt es so eine "CAD-Software", also eine Anleitung für einen
OPC-Server?

lg Marco*


----------

