Step 7 S7 an Datenbankkoppeln

Timmek

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forummitglieder!

Wir beabsichtigen im Rahmen eines Schulprojektes eine Siemen S7 CPU 315 - 2 DP mit einer Firebird Datenbank zu verbinden. Hier zu soll Ein Datenbaustein mit 36 Char-Werten ausgelesen werden und in die Datenbank geschrieben werden. Uns steht zur Verbindung ein CP 343-1 Lean zur verfügung. Verwaltung und Administration der Datenbank stellt auch kein Problem da. Allerdings sind wir etwas hilflos was die Datenübermittlung von der SPS zur Datenbank betrifft. Bin des öfteren auf LibNoDave gestoßen, nur wissen wir leider gar nichts damit anzufangen. Gibt es alternativen oder andere Lösungsvorschläge? Sind für alles offen! ;)

Lieben Dank Timmek
 
Soll die SPS die Daten zur Datenbank senden oder kann/soll die Datenbank sich die Daten aus der SPS auslesen?
Wer ist der aktive Partner?
Wann soll übertragen werden, gibt es einen Trigger?

LibNoDave nützt nur was, wenn der PC die Daten aus der SPS lesen soll.
Wenn die SPS senden soll, dann brauchts wahrscheinlich eine TCP- oder UDP-Verbindung zu einem Server auf dem PC auf dem die Datenbank ist.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In der Gestalltung des Ablaufes sind wir frei!
Es ist so das in der SPS diese 36 Char-Werte generiert werden und dann zur Archivierung in die Datenbank geschrieben werden sollen.
Von daher denke ich das die SPS den aktiven Part übernimmt, richtig?
Gibt es für dieses Szenario Standart-Lösungen oder Muster?
Und was ist die Sinnvollste Möglichkeit diese Daten Server in die Datenbank zu schreiben?

mfg Timmek
 
Ich kenne die Firebird Datenbank nicht. Kann Dir also nicht wirklich weiter helfen. Doch es muß ja irgendeine Dokumentation geben, wie diese Datenbank nach außen kommuniziert. Da muß sicher auch irgendein Protokoll eingehalten werden.

Harald
 
Ich weiss nicht wie fit ihr in .net seit, aber das beste wäre wohl eine kleine Anwendung zu schreiben die zyklisch auf die SPS schaut und da das Array ausliest. Falls die Werte sich recht schnell ändern, muß halt in der SPS gepuffert werden. Die ausgelesenen Daten müßt ihr dann entsprechend eurer Datenbank aufarbeiten und reinschieben.
Libnodave ist eine Bibliothek für C bzw. C++. Die netten Kollegen haben auch noch einen Wrapper für .net geschrieben. Mit etwas Programmiererfahrung sollte man da schon reinkommen und .net bietet da von Haus aus schon schöne Sachen wie den Datasetdesigner an um eine Datenbank einzubinden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok das klingt doch schonmal sehr interessant! also ist es mit LibNoDave möglich in gewissen Abständen den Datenbaustein der S7 Auszulesen?
Die Daten in dem Datenbaustein ändern sich ca alle 90 sek. also nicht besonders schnell oder oft.
Gibt es denn eventuell irgendwelche Info-Seiten, die diese LibNoDave geschichte etwas intensiever beschreiben?
Wäre eine CSV-Datei eine Alternative bzw ist das mit der S7 überhaupt möglich?
Zudem habe ich auch festgestellt das die CP343-1 lean auch über einen Web-Server verfügt. Könnte das eine weitere alternative sein?

Was das Programmieren betrifft: Wir sind von Haus aus Elektroniker für Betriebstechnik ergo die Programmiererfahrung ist nicht so ausgedehnt! :ROFLMAO:
 
Genau, libnodave ist die Schnittstelle zwischen PC und SPS. Du schaust halt alle 30 Sekunden auf die SPS, vergleichst über eine Zeitstempel ob sich etwas geändert hat, wenn ja ab damit in die Datenbank, wenn nicht dann schaust wieder in 30 Sekunden. So ungefähr halt. Geht genauso mit einem csv, wenn du die Daten einmal in der Windowsebene hast kannste damit ja alles mögliche machen.

Es gibt hier irgendwo ein Beispiel wie das in Excel mit einem VBA Script gemacht wurde, schauts euch mal an und entscheidet selbst ob ihr damit klarkommt.
 
Danke Bapho!

Also LibNoDave scheint in meinen Augen eine Durchaus geeignete Lösung zu sein, da mein Ansprechpartner der Schule eine absoluter fan von Open-Source-Software ist! Allerdings haben wir so unsere Schwierigkeiten die Software von LibNoDave zu interpretieren. Ist es möglich uns einen Link zu möglichen Beispielen zu geben?

mfg timmek
 
Als aller erstes erstmal danke für die schnelle Hilfe!

Puh das scheint durchaus eine interessante und sinnvolle Lösung zu sein!
Allerdings ist das ein sehr Umfangreicher Quelltext und es fällt doch ein wenig schwer zu entscheiden welcher Quelltext übernommen werden muss und welcher nicht.....
Da wird sicherlich einiges an Analyse nötig sein um das ganze zu verstehen!

Jetzt habe ich noch eine andere Frage: Vllt kann da ja auch jemand bei weiter helfen...

Ich weiß das der CP 343-1 über einen WEB-Server verfügt.
Inwiefern ist es möglich mit einem CGI-Program die Daten einzusammeln und in eine Datenbank einzuarbeiten?
Unter der vorraussetung, das ein Datenbaustein über diesen WEB-Server verfügbar gemacht werden kann.
 
Zurück
Oben