Verbinden einer Siemens S7 1200 & 1500 SPS mit einer SQL Server Datenbank

In diesem Tutorialvideo zeigen wir, Schritt für Schritt, wie man eine S7 1200 & 1500 SPS mit einer Microsoft SQL Server Datenbank verbinden kann. Um die Verbindung zu Testen benutzen wir ein Beispielprojekt.

Eine Siemens SPS mit einer SQL-Datenbank verbinden

Der SQL4automation Connector dient als Brücke zwischen Ihrer Siemens SPS und einer SQL-Datenbank. Nach der Einrichtung können Sie Daten senden und empfangen, SELECT-, INSERT-, UPDATE- und DELETE-Abfragen ausführen sowie gespeicherte Prozeduren aufrufen - alles direkt aus Ihrem SPS-Programm. Der Connector läuft auf demselben Rechner wie Ihr Datenbankserver oder auf einem separaten Gerät im gleichen Netzwerk.

Voraussetzungen

  • SQL4automation Connector installiert und für Siemens konfiguriert (Tutorial 1)
  • SQL Server mit konfigurierter Datenquelle (Tutorial 5)
  • TIA Portal und das SQL4automation Beispielprojekt (Download unter sql4automation.com oder über den Link in der Videobeschreibung)

Das TIA Portal Projekt einrichten

Gerätekonfiguration und IP-Adresszuweisung

  1. Öffnen Sie das Projekt, navigieren Sie zur Gerätekonfiguration und ersetzen Sie die Standard-SPS durch Ihr Modell.
  2. Weisen Sie der SPS eine IP-Adresse zu: Online-Zugang → Erreichbare Teilnehmer aktualisieren → Funktionen → IP-Adresse vergeben.
  3. Stellen Sie den Netzwerkadapter Ihres PCs auf dasselbe Subnetz wie die SPS ein (gleiche ersten drei Oktette, unterschiedliches letztes Oktett).
  4. Aktualisieren Sie die IP-Adresse des Ethernet-Ports im Projekt entsprechend, dann Übersetzen → Hardware neu aufbauen und auf das Gerät laden.Die Programmstruktur verstehen

Die Programmstruktur verstehen

Das Beispielprojekt basiert auf zwei Ausführungskontexten:

Main OB (alle ~1 ms): Ihr Anwenderprogramm - stellt SQL-Anfrage-Strings zusammen und speichert sie im globalen Datenbaustein.
Zyklischer Interrupt OB (alle 10 ms): Verarbeitet Anfragen und kommuniziert über den SFRA-Funktionsbaustein mit dem Connector.

Es werden vier Beispielfunktionen bereitgestellt (SELECT, INSERT, UPDATE, DELETE) - jeweils in SCL und Kontaktplan. Jede entspricht einer SQL-Operation und speichert ihre Daten in einem eigenen Instanz-Datenbaustein. Alle teilen sich einen gemeinsamen globalen Datenbaustein (SQL for Siemens), der Anfrage-Strings, Antwortdaten und die execute-Schnittstelle enthält.

Den Zykluszeit-Parameter anpassen

Solange eine Anfrage aktiv ist, verbleibt die SPS im SFRA-Baustein bis zur Fertigstellung - das kann zu einer Verzögerung von 20+ ms in Ihrem Hauptprogramm führen. Begrenzen Sie dies mit dem Parameter max cycle time (z. B. 5 ms), um die SFRA-Laufzeit pro Zyklus zu deckeln. Das reduziert die Verzögerung, verlängert aber die Gesamtbearbeitungszeit der Anfrage. Passen Sie den Wert je nach Zeitkritikalität Ihres Programms an.

Den SQL4automation Connector konfigurieren

  1. Öffnen Sie den Connector Configurator und erstellen Sie eine neue Verbindung.
  2. Vergeben Sie einen Namen und wählen Sie Target Type: Siemens.
  3. Geben Sie die Connector-IP, den Port und Ihre Datenquelle ein.
  4. Aktivieren Sie die Testlizenz - die Verbindung sollte als aktiv angezeigt werden.

Die SPS mit dem Connector verbinden

Öffnen Sie den Zyklischen Interrupt Baustein und tragen Sie ein:

  • Connector-IP und Port
  • Hardware-Kennung der Ethernet-Schnittstelle der SPS (zu finden unter Gerätekonfiguration → Systemkonstanten)

Übersetzen (Alles neu aufbauen) und Software auf das Gerät laden.

Test mit den Beispiel-Beobachtungstabellen

Jedes SQL-Beispiel enthält eine vorbereitete Beobachtungstabelle. So führen Sie einen Test durch:

  1. Gehen Sie Online und starten Sie die Beobachtung.
  2. Setzen Sie die Variable execute auf 1 - rechtsklicken Sie auf die Variable und verwenden Sie Wert modifizieren oder das Tastaturkürzel.
  3. Die Anfrage wird ausgelöst, die Antwort befüllt und der Baustein kehrt in den Ruhezustand zurück.

Sie können die Ergebnisse live im SQL Server Management Studio neben dem SPS-Monitor überprüfen.

Alle vier SQL-Operationen im Überblick

SELECT gibt Zeilen aus der Datenbank direkt in den Antwortpuffer der SPS zurück.

INSERT fügt Zeilen hinzu. Es kann auch verwendet werden, um Daten zwischen Tabellen zu kopieren - nützlich für das Erstellen von Sicherungskopien vor kritischen Abfragen.

UPDATE ändert Zeilen, die einer Bedingung entsprechen. Überprüfen Sie vor der Ausführung immer die Logik des Funktionsbausteins - stellen Sie sicher, dass die WHERE-Bedingung nur die gewünschten Zeilen betrifft.

DELETE entfernt Zeilen, die einer Bedingung entsprechen. Auch hier gilt: Überprüfen Sie die Bedingung vor der Ausführung.

Bevor Sie UPDATE oder DELETE auf Live-Daten anwenden, erstellen Sie mit INSERT eine Sicherungstabelle. Falls etwas schiefgeht, können Sie die Daten mit einem einfachen INSERT … SELECT aus der Sicherung wiederherstellen.

Nächste Schritte: Stored Procedures

Für Abfragen, die Sie wiederholt ausführen oder ohne Änderung des SPS-Codes anpassen möchten, verpacken Sie die Logik in eine Stored Procedure. Die SPS ruft die Prozedur einfach per Name auf - die gesamte SQL-Logik verbleibt auf der Datenbankseite und kann unabhängig geändert werden. Dies wird im nächsten Tutorial behandelt.

Unterstützte Steuerungsbibliotheken

Steigen Sie jetzt auf SQL4automation um.

Industrie­steuerungen direkt mit SQL-Datenbanken verbinden. Praxiserprobt seit 2007 für maximale Leistung und Sicherheit, ganz ohne Middleware.