Siemens S7

Für Siemens S7 stellt SQL4automation vier Beispielprojekte bereit: eines für Siemens S7-1200 und Siemens S7-1500 im TIA Portal, eines für S7-300 / S7-400 PN/DP-Steuerungen und eines in Kombination mit dem Kommunikationsprozessor CP-343 / CP-443 im Simatic Studio.

Anbindung SPS Siemens S7 an SQL Datenbank, ERP, MES

Für Siemens S7 stellt SQL4automation vier Beispielprojekte bereit: für Siemens S7-1200 und Siemens S7-1500 im TIA Portal, für S7-300 / S7-400 PN/DP-Steuerungen sowie in Kombination mit dem Kommunikationsprozessor CP-343 / CP-443 im Simatic Studio. Es werden kein OPC-UA-Server, keine Middleware und keine zusätzliche Hardware benötigt. SQL4automation verbindet Ihre Siemens-SPS direkt mit jeder ODBC-kompatiblen Datenbank.

Projektspezifische Anpassungen DB SQL4Siemens

Im SQL4Siemens Datenbaustein müssen nur ein paar projektspezifische Anpassungen vorgenommen werden. So zum Beispiel IP-Adresse und Port des SQL4automation Connector Links und der SQL-String.

Einstellungen SQL4automation Link

SQL4automation stellt eigene Verbindungseinstellungen für Siemens S7 zur Verfügung. Die projektspezifischen Anpassungen sind mit wenigen Klicks gemacht.

Im Downloadbereich finden Sie eine detaillierte Anleitung wie Sie die SQL4Siemens Bibliothek richtig einbinden und den SQL4automation Connector parametrieren.

FAQ's

Häufig gestellte Fragen zu Siemens S7

Kann SQL4automation eine Siemens S7 SPS ohne OPC UA direkt mit einer SQL-Datenbank verbinden?

Ja. SQL4automation stellt eine direkte TCP/IP-Verbindung zwischen der Siemens S7 Steuerung und dem SQL4automation Connector auf einem Windows-PC her. Es werden kein OPC-UA-Server, keine zusätzliche Middleware und keine zusätzliche Hardware benötigt. Der Connector übersetzt SQL-Anfragen aus dem SPS-Datenbaustein in native ODBC-Aufrufe an die Datenbank.

Wie gross ist die Längenbeschränkung für Strings pro Abfrage zwischen SPS und SQL-Datenbank?

Unlimitiert. SQL4automation setzt keine Längenbeschränkung für Strings pro Abfrage. Die einzige Grenze ist die Puffergrösse, die Sie selbst festlegen können.

Welche Siemens TIA Portal-Versionen werden unterstützt?

SQL4automation stellt einsatzbereite Beispielprojekte für TIA Portal V13 und höher bereit, für S7-1200- und S7-1500-Steuerungen. Für S7-300 / S7-400 PN/DP-Steuerungen sind Projekte für Simatic Manager / Step 7 verfügbar. Die aktuellen Projektdateien finden Sie im Downloadbereich.

Welche SQL-Datenbanken sind mit SQL4automation für Siemens S7 kompatibel?

SQL4automation unterstützt alle ODBC-kompatiblen Datenbanken, darunter Microsoft SQL Server, MySQL, MariaDB, PostgreSQL, Oracle, SQLite und viele weitere. Die Datenbankauswahl erfolgt im SQL4automation Connector. Am SPS-Projekt sind beim Wechsel der Datenbank keine Änderungen erforderlich.

Unterstützt SQL4automation TLS-verschlüsselte Kommunikation für Siemens S7?

Ja, ab Connector-Version V5.1.0.0. TLS erfordert Firmware V2.5 oder höher für S7-1500 und Firmware V4.2 oder höher für S7-1200. Hinweis: Der TLS-Verbindungsaufbau bei S7-1200 kann bis zu 14 Sekunden dauern. Es wird empfohlen, das ConnectionObserver-Muster mit xHoldConnection = TRUE zu verwenden, um die Verbindung offen zu halten und wiederholte Aufbauverzögerungen zu vermeiden.

Mit welchen Siemens SPS Steuerungen wurde die SQL4automation Bibliothek erfolgreich getestet?

SIMATIC S7-1200 CPU, SIMATIC S7-1500 CPU, SIMATIC S7 CP 1243-1, SIMATIC S7 CP 1543-1, SIMATIC S7-300 CPU 315-2 PN/DP, SIMATIC S7-300 CPU 317-2 PN/DP, SIMATIC S7-300 CPU 319-3 PN/DP, SIMATIC CP 343-1, SIMATIC S7-400, SIMATIC CP 443-1, SIMATIC WinAC RTX

Funktioniert SQL4automation mit Siemens S7-300 und S7-400 Steuerungen?

Ja. SQL4automation beinhaltet ein dediziertes Beispielprojekt für S7-300 und S7-400 PN/DP-Steuerungen sowie eine Variante mit CP 343-1 und CP 443-1 Kommunikationsprozessoren für Simatic Studio. Alle drei S7-Generationen (300/400, 1200 und 1500) verwenden dieselbe SQL4Siemens-Datenbaustein-Struktur.

Technische Daten

REQUIREMENTS & VERSION INFO
Programmierumgebung TIA Portal V13 oder höher für S7-1200 / S7-1500; Simatic Manager / Step 7 für S7-300 / S7-400 mit CP 343-1 / CP 443-1
Firmware fuer TLS (S7-1500) Firmware >= V2.5 erforderlich für TLS/SSL-verschlüsselte Kommunikation
Firmware fuer TLS (S7-1200) Firmware >= V4.2 erforderlich für TLS/SSL-verschlüsselte Kommunikation
TLS Connector-Version SQL4automation Connector V5.1.0.0 oder höher erforderlich für verschlüsselte Kommunikation
TLS-Hinweis fuer S7-1200 ACHTUNG: Der TLS-Verbindungsaufbau bei S7-1200 kann bis zu 14 Sekunden dauern. Empfehlung: S7-1500 für TLS verwenden, oder die Verbindung mit xHoldConnection = TRUE (ConnectionObserver-Muster) offen halten, damit der Aufbau nur einmal erfolgt.
Ältere CPUs S7-300 / S7-400 CPUs unterstützen das Modul TCON_IP_V4_SEC nicht und können kein TLS verwenden. Für diese Generationen ist ausschließlich die unverschlüsselte Kommunikation möglich.
REQUIRED BLOCKS / LIBRARIES
  • Alle Bausteine in 'Programmbausteine' > 'SQL4Siemens'
  • Alle Datentypen in 'SPS-Datentypen' > 'SQL4Siemens'
  • MOVE_BLK_VARIANT
  • TRCV_C (nur S7-1200)
  • TSEND_C
  • fbSql4Siemens (separate Version für S7-1200 und S7-1500 wegen unterschiedlicher TRCV-Bausteinparameter)
  • idbSql4Siemens (Instanz-Datenbaustein, interne Verwendung)
  • dbSqlUserData (Anwenderdaten: Anfrage-String-Array, Antwort-String-Tabelle)
CONNECTOR-SIDE SETTINGS
Empfangspuffer Auf die Empfangspuffergröße in utSqlResponseBuffer abstimmen
CP 343-1 Interface Deaktivieren für PN/DP-Steuerungen. Nur für CP 343-1 / CP 443-1 aktivieren.
Fix Buffer Deaktivieren für PN/DP-Steuerungen. Nur für CP 343-1 / CP 443-1 aktivieren.
Zieltyp Siemens S7 (dedizierter Zieltyp, nicht 'Standard')
TLS / SSL ENCRYPTION
Connector-Version TLS/SSL erfordert SQL4automation Connector V5.1.0.0 oder höher
Zertifikatspfade C:\ProgramData\SQL4automation\certs\CA (RootCA)
C:\ProgramData\SQL4automation\certs\S4AConnector (Server-Zertifikat)
C:\ProgramData\SQL4automation\certs\S4AQueryTool (Query-Tool-Zertifikat)
TIA Portal Einstellungen Zertifikate rootCA.p12, server.p12, client.p12 über TIA Portal Sicherheitseinstellungen importieren. Benutzer: SQL4automation, Passwort: SQL4automation.
Bausteinparameter xActivateSecureConn: TRUE
iTLSClientCertRef: <ID des Client-Zertifikats>
iTLSServerCertRef: <ID des RootCA-Zertifikats>
Inbetriebnahme-Reihenfolge Verbindung immer OHNE TLS zuerst testen. Verschlüsselung erst aktivieren, wenn die unverschlüsselte Kommunikation funktioniert. Systemzeit vor TLS-Aktivierung prüfen und ggf. korrigieren.
FUNCTION BLOCK PARAMETERS
Parameter Type Description
xExecute BOOL Startet die Datenbankanfrage
iIP1 INT 1. Oktett der Connector-IP-Adresse
iIP2 INT 2. Oktett der Connector-IP-Adresse
iIP3 INT 3. Oktett der Connector-IP-Adresse
iIP4 INT 4. Oktett der Connector-IP-Adresse
iRemotePort INT Portnummer des SQL4automation Connectors
iLocalPort INT Lokal auf der Steuerung verwendeter Port
tTimeout TIME Kommunikations-Timeout (Standard: 10 s)
xAbort BOOL Setzt die Verbindung zurück
xHoldConnection BOOL Hält die Socket-Verbindung nach einer Datenbankanfrage offen
iConnectionID INT Eindeutige Verbindungs-ID
wHardwareID BYTE ID der Ethernet-Schnittstelle (in der TIA-Portal-Gerätekonfiguration ersichtlich)
tFbExecTimeLimit TIME Maximal nutzbare Zeit des Bausteins pro SPS-Zyklus
stUserRequestST utSqlUserRequestST Anfrage-Struktur (String-Tabelle)
stUserResponseST utSqlUserResponseST Antwort-Struktur (String-Tabelle)
xReady BOOL Ausgang: bereit für eine neue Datenbankanfrage
xBusy BOOL Ausgang: Datenbankanfrage wird ausgeführt
xDone BOOL Ausgang: Datenbankanfrage erfolgreich abgeschlossen
xError BOOL Ausgang: Datenbankanfrage mit Fehler beendet
diResultState DINT Ausgang: Status / Fehlercode (0 = kein Fehler)
diResultRows DINT Ausgang: Anzahl der zurückgegebenen Zeilen
diResultColumns DINT Ausgang: Anzahl der zurückgegebenen Spalten
tFbExecTimeMax TIME Ausgang: gemessene maximale Ausführungszeit des Bausteins
tLastRequest TIME Ausgang: gemessene Dauer der letzten Anfrage
ERROR CODES (diResultState)
Error Code Description
1 Unbekannter SQL-Befehl
2 Anfrage liefert mehr Datensätze als MaxRows definiert. Anfrage anpassen oder MaxRows erhöhen.
3 Anfrage liefert mehr Spalten als MaxColumns definiert. Anfrage anpassen oder MaxColumns erhöhen.
4 Anfrage liefert mehr Daten als der definierte Puffer fasst. Anfrage anpassen oder Puffergröße im Connector und in der Steuerung erhöhen.
5 Anfrage liefert mindestens einen Wert, der größer als MaxStringLength ist. Anfrage anpassen oder MaxStringLength erhöhen.
10 Interner Connector-Fehler
11 Interner Connector-Fehler; Datenbank kann nicht geöffnet werden
21 Keine IP-Adresse definiert
22 Keine Portnummer definiert
23 Anfrage-String ist leer
24 MaxRows nicht definiert
25 MaxColumns nicht definiert
29 MaxStringLength-Größe ist ungültig
41 Keine Verbindung zum SQL4automation Connector. Firewall, IP-Adresse und Port prüfen.
51 Fehler beim Senden der Anfrage. Firewall, IP-Adresse und Port prüfen.
91 Timeout: Keine Antwort vom Connector innerhalb des Zeitfensters
95 Fehler beim Empfangen der Daten
>100 Fehlercodes der ODBC-Datenbankverbindung
40002 Allgemeiner Fehler in der SQL-Anfrage; Anfrage-String ist ungültig

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.

Siemens S7
nach Industrie