TIA Siemens 1512SP an SQL-Datenbank anbinden

Stefan2000

Level-2
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

wir wollen unsere Anlage mit einer Siemens 1512SP Steuerung an eine Datenbank anbinden, um Langzeitaufnahmen der Sensordaten zu erfassen. Momentan werden die Daten nur in einem Tia Wertearchiv für ein paar Tage aufgezeichnet. Leider kenne ich mich mit dem Thema nicht so aus, habe mich aber natürlich ein bisschen vorher informiert welche Lösungen es geben würde.

Ich dachte daran, das Ganze mit einem Siemens IOT 2050 und NoteRed zu lösen, da wir ein ähnliches Projekt mal in der Technikerschule durchführten. Datenbank habe ich noch keine Ahnung, welche sinnvoll wäre. Eventuell MYSQL. Als Visulisierungsoberfläche würde ich Grafana einsetzen. Hat jemand Erfahrungen in dem Thema und könnte mir ein paar Tipps gegeben, oder bin ich komplett auf dem falschen Weg und eine andere Lösung ergibt mehr Sinn?

Danke schonmal für eure Hilfe.

Grüße

Stefan
 
Hier mal was zum lesen:
Das Tabular Data Stream Protokoll (TDS) bietet Ihnen die Möglichkeit, eine direkte Verbindung mit einem Microsoft SQL-Server aufzubauen. Mit TDS können Sie sich an einer SQL-Server Datenbank anmelden und SQL-Anweisungen übertragen. So können Daten aus der Datenbank gelesen werden oder zur Speicherung dorthin gesendet werden.

Auf Basis der "Open User Communication-Bausteine" (TCON, TSEND, TRCV und TDISCON) können S7-1500 CPUs und S7-1200 CPUs das TDS Protokoll nachbilden und eine Verbindung zu einem Microsoft SQL-Server aufbauen. Mit Hilfe der SQL-Anweisungen "insert into", "update" und "select" können Sie Daten in der Datenbank speichern, updaten und Daten aus der Datenbank auslesen.
Siemens Webseite: Anbindung einer S7-1200 CPU / S7-1500 CPU an eine SQL-Datenbank
1701347108568.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Hab das im Einsatz mit MariaDB auf einem NAS seit meheren Monaten. Ohne Probleme
Das hab ich gerade im Testbetrieb! Funktioniert tadellos! Kann man sehr empfehlen.
Ich hab es mit MariaDB am laufen. Vermutlich klappt es aber mit MySQL gleich gut.
 
Der FB stammt von mir.
Ich habe nicht verstanden habe wieso es das so (öffentlich, kostenlos und direkt auf der SPS) noch nicht gibt und wollte es mal versuchen.
Dann erstmal vielen herzlichen Dank für Deine Mühe und das kostenlose zur Verfügung stellen. Hab selten so nen benutzerfreundlichen Baustein gesehen, wo man fast nix falsch machen kann. 🙂

Ich teste es übrigens gerade mit MariaDB 11.2 und funktioniert ebenfalls. Kannst also den Text bei Github anpassen.
 
Noch eine Frage, da ich noch nicht so fit bin mit SQL-Befehlen.

In meinem SQL-Programm gebe ich folgenden Skriptcode ein:

INSERT INTO Postendaten (Postennummer, Ereignis) VALUES (1,'Bearbeitung_gestartet')

Die Query-Daten fülle ich mit SCL aus. Jetzt habe ich das Problem, dass ich den Skriptbefehl nicht so in SCL schreiben kann, weil innerhalb einer Stringzuweisung, welche mit einfachen Anführungszeichen definiert wird, keine zusätzlichen einfachen Anführungszeichen enthalten sein dürfen. Die benötige ich aber für den String 'Bearbeitung_gestartet'.
Gibt es hierfür eine Lösung oder muss ich das auf anderem Wege lösen?

Alternativ würde ich es mit Zahlencodes machen. 1 = Bearbeitung gestartet, 2 = Bearbeitung beendet usw.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
im String steht dann
INSERT INTO Postendaten (Postennummer, Ereignis) VALUES (1,$'Bearbeitung_gestartet$')
Zunächst einmal vielen Dank, werde es morgen testen. Kannst Du mir auch in Worten erklären was genau dieses Dollarzeichen bewirkt? Hab beim Suchen nichts darüber gefunden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich werfe mal noch den TIG-Stack in der Raum wenn du eh Grafana nutzen willst:
Influx-DB
Kannst da bei Telegarf OPC-UA als Input Plugin verwenden.
Vorraussetzung ist natürlich der aktivierte OPC-UA Server auf der SPS.
Influx-DB lässt sich ziemlich simpel in Grafana nutzen.
Hat bisher immer ohne Probleme funktionert.

Ist alles Open-Source mit kostenlosen Community-Editions und kann als Docker Container irgendwo laufen.
 
Zurück
Oben