# Anbindung einer VIPA 317-SN Maschinensteuerung



## chrischmann (28 Oktober 2009)

Hallo,

 ich bin über eine Empfehlung auf dieses Forum gestoßen und habe gleich mal eine Frage:

 Wir sind eine kleine mittelständische Maschinenbaufirma und planen, eine vorhandene Anlage mit einer kleinen „Visualisierung“ zu versehen. Geplant ist, einige Werte in einer DB zu erfassen und eine grafische Auswertung der Minimal – beziehungsweise Maximalwerte sowie eine Störungsübersicht zu erhalten. Die Applikation muss im ersten Schritt nicht professionell sein, sondern dient erst einmal zur Machbarkeitsstudie und der Präsentation.

 Vorgesehen ist der Zugriff mittels TCP/IP über TCP auf eine VIPA 317 SN SPS. 

 Habe ein wenig im Internet gesucht und danach gibt es eine ganze Reihe von Bibliotheken:

 -libNoDave
 -ComDrvS7
 -ClientAce von Kepware
 und andere

 Problem dabei: im ersten Schritt soll das Ganze möglichst wenig kosten, dazu gehört die Benutzung eines vorhandenen TouchTerminals auf Linux-Basis. 
 In einem ersten Test wollte ich die Anbindung der SPS und die Speicherung beziehungsweise Aufbereitung der Werte selber vornehmen, habe aber nur Kenntnisse im .NET Framework mit VB.NET oder C# - JAVA käme auch noch in Frage. Ich prüfe derzeit, inwiefern meine Anwendung mittels Mono unter Linux lauffähig ist, sieht aber gut aus bisher.

 Nun zu meinem Problem: welche Library ist auch unter Linux lauffähig? Libnodave läuft auch unter C und soll unter Linux funktionieren, die Programmiersprache C ist mir aber entschieden zu schwierigund die Einarbeitung sprengt meinen Zeitrahmen. Auch fehlen mir bei Libnodave aussagefähige Programmbeispiele zur Benutzung.

 Anfragen an die jeweiligen Hersteller auch zu voll funktionalen Testversionen bereite ich gerade vor, vielleicht hat jemand aber schon mal eine Anbindung unter Linux an eine VIPASPS gemacht?


Mit freundlichen Grüßen,


chrischmann


----------



## pvbrowser (28 Oktober 2009)

Sieh Dir bitte mal unseren
http://pvbrowser.org
an.

Das funktioniert sowohl unter Linux als auch unter Windows.
Die Programmierung erfolgt dabei mit C/C++, wobei aber nur einfache Konstrukte notwendig sind.
Falls C/C++ zu kompliziert erscheint, kann man den pvbrowser auch mit Python programmieren.

libnodave ist in pvbrowser bereits integriert und läuft auch unter Linux.
Außer libnodave kann man zur Anbindung von Siemens kompatiblen SPS'en aber auch unseren eigenen Treiber nehmen.

Zur Diskussion über pvbrowser gibt es dieses Forum: 
http://tech.groups.yahoo.com/group/pvbrowser/


----------



## Gerhard Bäurle (28 Oktober 2009)

chrischmann schrieb:


> ...
> In einem ersten Test wollte ich die Anbindung der SPS und die Speicherung beziehungsweise Aufbereitung der Werte selber vornehmen, habe aber nur Kenntnisse im .NET Framework mit VB.NET oder C# - JAVA käme auch noch in Frage. Ich prüfe derzeit, inwiefern meine Anwendung mittels Mono unter Linux lauffähig ist, sieht aber gut aus bisher.
> 
> Nun zu meinem Problem: welche Library ist auch unter Linux lauffähig? Libnodave läuft auch unter C und soll unter Linux funktionieren, die Programmiersprache C ist mir aber entschieden zu schwierigund die Einarbeitung sprengt meinen Zeitrahmen. Auch fehlen mir bei Libnodave aussagefähige Programmbeispiele zur Benutzung.
> ...



Hallo,

eine Lösung für S7-Kommunikation unter .NET und Mono (2.4) findest 
Du mit dem "PLCCom S7" in der aktuellen *Werbung*, dort auf Details klicken.

Wenn ich mich richtig erinnere, ist Libnodave ursprünglich unter 
Linux entstanden, damit sicher lauffähig.

Weiter gibt es noch aglink, das zumindest unter *.NET und Linux* läuft,
Mono Framework weiß ich nicht.


----------



## chrischmann (30 Oktober 2009)

> eine Lösung für S7-Kommunikation unter .NET und Mono (2.4) findest
> Du mit dem "PLCCom S7" in der aktuellen *Werbung*, dort auf Details klicken.



Vielen Dank für den Tip, habe mir den Treiber PLCCom heruntergeladen und ausprobiert - läuft problemlos auch unter Linux mit Hilfe von Mono, wenn man nur den Sprachumfang des 2.5er .NET Frameworks nutzt.


----------



## Jochen Kühner (30 Oktober 2009)

*LibNoDave...*

In LibNoDave gibt es ja schon eine Wrapper für .NET, denke für linux musst du satts auf die .dll auf die .so datei wrappen und dann sollte es gehen, und das kostenlos.

Beispiele für .NET sind bei libnodave dabei, helf dir da aber auch gerne weiter! Kannst ja auch mal meinen .NET Protokoller ansehen zum verbindungsaufbau.

Infos zum wrappen von funktionen mit mono gibts hier: http://www.mono-project.com/Interop_with_Native_Libraries


----------



## chrischmann (4 November 2009)

Danke für den Tip mit dem Wrapper, werde ich mir auf jeden Fall mal ansehen, da mich das Thema Programmierung unter Linux auch privat interessiert. Ohne aber jetzt eine Diskussion über Sinn und Zweck von OpenSource vom Zaun brechen zu wollen: wir haben uns mehrere Lösungen angeschaut, die Entscheidung in unserem Haus ist auf das getestete professionelle Produkt gefallen. Sicher: hier fallen einmalige Lizenzkosten an, die aber im Komplettpaket der Investition nicht so ins Gewicht fallen. 

Im Readme des libnodave-Treibers wird explizit auf den Beta-Status hingewiesen und von einem Einsatz im produktiven Umfeld abgeraten... Egal wie oft der Treiber schon erfolgreich eingesetzt wurde, ein Restrisiko ohne Ansprechpartner für eventuelle Gewährleistung bleibt (aus unserer Sicht).

Für uns auch wichtig: wir bewegen uns mit der gewählten Lösung komplett im Bereich des "managedCode" unter .NET


----------

