# [Bachelorarbeit] Softwärelösung für das Auslesen von Daten in eine Datenbank



## dereisa (15 März 2017)

Guten Tag liebe Community,
dies ist mein erster Post Daher kann ich leider nicht sagen, ob dies die richtige Section dafür ist.
Ich studiere z.Z. Elektrotechnik und melde nun meine Bachelorarbeit an. Ich soll die Daten mehrerer Anlagen abgreifen und diese dann in eine Microsoft-SQL-Datenbank schreiben. 

Die Daten habe ich mir schon notiert und bekomme sie von der Firma der jeweiligen Anlage bereitgestellt, da ich selbst an diesen Anlagen keine Änderungen innerhalb der Steuerung vornehmen darf. Nun habe ich folgende Steuerungen, von denen ich Daten abgreifen muss: Siemens S7-315, 2x Siemens 1510SP F-1 PN und Schneider Electric Pacdrive 3 LMC 600C. Bisher habe ich nur mit dem Simatic-Manager bzw. dem TIA-Portal an 315er bzw. 1500er Siemens-CPUs gearbeitet und keinen externen Eingriff durchgeführt. Lediglich einige Programme selbst in SCL, FUP, KOP geschrieben, da dies die Anforderungen an das Praktikum zum Automatisierungsmodul waren.

Nun recherchiere ich z.Z., wie ich diese Daten am besten von den Steuerungen abgreifen kann und stelle mir folgende Fragen: Welche Softwarelösung deckt dieses Spektrum an Steuerungen ab? Welche Softwarelösung bietet mir den vollen Umfang und ist die Kostengünstigste?
Ich habe mich eingelesen und mit LibnoDave, Sharp7 bzw. Snap7 beschäftigt, da dies Freeware ist. Außerdem habe ich mich mit der OPC-UA-Technologie beschäftigt und mir kostenpflichtige Softwarelösungen von Softing, SQL4Automation usw. angeschaut. Problem ist eben, das mehrere verschiedene Steuerungen genutzt werden und nicht nur Siemens-Steuerungen, was mir die Nutzung von LibnoDave etc. erlaubt hätte.

Da dies für mich eine ziemliche Datenflut an Informationen ist und ich mich vorher noch nicht mit diesem Thema beschäftigt habe, wollte ich innerhalb der Community fragen, ob jemand schon Erfahrungen mit diesem Vorhaben hat und mir evtl. persönliche Eindrücke preisgeben bzw. mir nicht bekannte Lösungen nennen könnte. Ich muss innerhalb der Bachelorarbeit belegen können, warum ich diese Softwärelösung gewählt habe und wäre auch über Literaturquellen dankbar!

Ich danke schon im Voraus für Antworten 

Gruß dereisa

*EDIT: Aktueller Post über die neue Situation ist weiter unten zu finden! (Entscheidung für OPC)*


----------



## Gerhard Bäurle (15 März 2017)

Zur Präzisierung:

Ist das Sammeln der Daten Deine Aufgabe oder ist das nur Beiwerk, weil Deine eigentliche Aufgabe die Verarbeitung der Daten ist?

Was heißt "Daten bereitgestellt"? Wenn Du auf eine S7-315 Zugriff hast, kannst Du dort auch ändern/schreiben ...

Stehen die Anlagen in der Halle oder hängt auch eine Fernverbindung dazwischen?

Auf den ersten Blick sieht das nach OPC aus. Wobei die OPC-Server von den Komponenten-Herstellern kommen können oder Du findest einen Anbieter (vielleicht Matrikon), der alle Geräte kann.

Denkbar ist auch Modbus-TCP als universelles Protokoll, so von weitem betrachtet.

Vielleicht unterstützen Dich die Hersteller, wenn sie sich später in Deiner Bachelorarbeit sonnen dürfen.


----------



## dereisa (15 März 2017)

Gerhard Bäurle schrieb:


> Zur Präzisierung:
> 
> Ist das Sammeln der Daten Deine Aufgabe oder ist das nur Beiwerk, weil Deine eigentliche Aufgabe die Verarbeitung der Daten ist?
> 
> ...



Beide Aufgaben sind Teil dieser Bachelorarbeit: Die Anlagen stehen in den Hallen und per Fernzugriff stellen mir die Anlagenbetreiber dann einen Baustein zur Verfügung (so läuft es mindestens mit dem Anlagenbauer, welcher die LMC 600C Steuerungen von Schneider verwendet). Die Daten werden über den per Ethernet angeschlossenen Industrie-PC in eine Datenbank, welche auf einem Microsoft-SQL-Server liegt, geschrieben. Die Verarbeitung der Daten ist schon noch die 2. Hauptaufgabe aber erstmal im Hintergrund bis ich die Daten von den Steuerungen in die Datenbanken bekommen habe. Bis zu diesem Zeitpunkt muss ich erstmal der Softwarelösung widmen.
Vielen Dank für diese schnelle Antwort!

Gruß dereisa


----------



## PN/DP (15 März 2017)

Muß es denn unbedingt eine Softwarelösung für alle möglichen Steuerungen sein? Ich würde sagen, die Kommunikation mit der SPS ist wie ein Treiber eine Zwischenschicht zwischen Deiner Datensammel-Software und den Daten in den jeweiligen SPSen. Die spezifischen Treiber kann man ja so programmieren, daß sie eine gleiche API zu Deiner Datensammel-Software haben.

Harald


----------



## dereisa (15 März 2017)

PN/DP schrieb:


> Muß es denn unbedingt eine Softwarelösung für alle möglichen Steuerungen sein? Ich würde sagen, die Kommunikation mit der SPS ist wie ein Treiber eine Zwischenschicht zwischen Deiner Datensammel-Software und den Daten in den jeweiligen SPSen. Die spezifischen Treiber kann man ja so programmieren, daß sie eine gleiche API zu Deiner Datensammel-Software haben.



Dem kann ich gerade nicht ganz folgen... Sprich nicht eine Softwarelösung für jede Steuerung, sondern Treiber für jede spezifische Steuerung programmieren und die gleiche Schnittstelle nutzen?

Gruß dereisa


----------



## Gerhard Bäurle (17 März 2017)

dereisa schrieb:


> Dem kann ich gerade nicht ganz folgen... Sprich nicht eine Softwarelösung für jede Steuerung, sondern Treiber für jede spezifische Steuerung programmieren und die gleiche Schnittstelle nutzen?
> 
> Gruß dereisa



Im Prinzip ja. Die Siemens-Welt könntest Du mit libnodave abdecken und die Schneider Electric Pacdrive 3 LMC 600C – vielleicht stellt Dir der Hersteller etwas zur Verfügung? Protokolldoku oder gar eine Treiber?

Der Ansatz macht Sinn, wenn es nur um dieses Projekt geht, feste Konfiguration für immer – falls aber ein universelles Konzept für verschiedene Steuerungen gefordert ist, würde ich mir den OPC-Ansatz näher anschauen. 

Ah, ob sich libnodave und die 1510SP F-1 PN vertragen, wäre zu prüfen.

Du hattest oben "kostengünstig" – das hängt extrem davon ab, wie Deine Arbeitszeit als Bachelorand bewertet wird ...


----------



## dereisa (17 März 2017)

Ich lege sozusagen nur den Grundstein mit dieser Bachelorarbeit... Später soll firmenintern komplette Vernetzung vorliegen... Da dort viele verschiedene Standards anfallen, habe ich auch bisher OPC als besten Ansatz gesehen. Hätte denn jemand evtl. gute Literatur bzw. Websites oder Ansprechpartner, damit ich mich besser in diese Thematik einarbeiten kann? Ich habe nämlich bisher keine Ahnung, was mir der Hersteller auch nur zur Verfügung stellen müsste? Ich habe lediglich reine Programmierkenntnisse und keine Erfahrungen mit der Vernetzung von SPS sprich denn mit Treibern zur Kommunikation. :/ (Kommunikation der SPS mit Teilnehmern natürlich schon aber nicht wie in diesem Fall zum Datenaustausch mit einem Industrie-PC).

Gruß dereisa


----------



## dereisa (20 März 2017)

Ich habe mich nun weiterhin über diese Thematik informiert und mich für die OPC-Variante entschieden. Das Unternehmen möchte nach meiner Bachelorarbeit noch eine weitreichende Erweiterung dieses Netzes durchführen und nicht nur die Daten auslesen und verarbeiten. Ebenfalls kann OPC Batch bei der Produktion stark unterstützen. Andere Features wie OPC AE sind auch nicht zu verachten. Diese Vielzahl von Anwendungsmöglichkeiten und die Offenheit dieser Plattform hat mich letztendlich zu meiner Entscheidung geführt. Quellen habe ich bisher nur teilweise aus Fachliteratur und meist aus dem Internet, da dieses Thema noch sehr aktuell ist. Richtig als Fachliteratur habe ich bisher "OPC: Grundlagen, Implementierung und Anwendung" gefunden. Ich wäre dankbar, wenn jemand hier mir gute PDFs von Universitäten/ Hochschulen oder Bücher empfehlen könnte. 

Ich würde gerne noch eure Meinungen zu meiner Entscheidung hören! Seht ihr dies als guten Lösungsansatz? Und wie entscheide ich, welche die beste OPC-Lösung ist? Beschäftige mich z.Z. mit Makitron und Softing

Gruß dereisa
[h=1][/h]


----------



## Indi.Systems (21 März 2017)

Hallo,
wenn Du möchtest kannst Du für diese Zwecke gerne unser PLCcom Client-Toolkit für OPC UA ausprobieren. 

Wir unterstützen mit unserer Softwarepalette immer gerne Universitäts- Hochschul- oder ähnliche Lehrzwecke, bei Interesse kannst Du für Dich persönlich eine kostenlose Lizenz anfordern. Wenn Du möchtest schick einfach eine eMail an info[at]indi-systems.de und schreibe rein, dass Du die Software für Deine Bachelorarbeit benötigst. Oder einfach eine PN mit Deinen Daten.
Falls das Ergebnis später produktiv genutzt werden soll, müsste Deine Firma dann allerdings eine Lizenz erwerben.

Software und Download findest Du unter https://www.plccom.de/produkte/opc/opc-ua-toolkit.html


----------



## MarkusR899 (21 März 2017)

Hallo 

Ich schreibe auch derzeit meine Bachelorarbeit und habe ein ähnliches Thema 

Im Gegensatz zu dir soll ich allerdings ausschließlich auf Siemens S7-CPUs zugreifen, weshalb ich mich für eine Lösung mittels Sharp7 entschieden habe.

Du kannst dir ja mal den Thread den ich erstellt habe angucken -> Möglichkeiten zum Datenaustausch PC<-->SPS )


Vielleicht hilft dir das ja weiter ! 

Liebe Grüße!


----------



## dereisa (3 April 2017)

Vielen Dank für die ganzen Antworten! Ich habe mich letztendlich für die Nutzung von OPC entschieden, da mittlerweile 4 Steuerungshersteller miteinander kommunizieren sollen und diese auch noch auf verschiedenen Protokollen laufen. Außerdem soll später das Netz firmenweit ausgebaut werden und weitere Funktionen, welche OPC abdeckt genutzt werden. Die Lösungen die LibnoDave und Sharp7 oder Snap7 sind auch nicht vollkommen kompatibel zu den verbauten SPS. Außerdem kann ich nun einfach über die OPC-Schnittstelle verbinden, die Konfiguration durchführen und muss nicht mehr in das Programm selbst eingreifen.

Vielen Dank für eure Antworten!

LG
dereisa


----------

