Zum Hauptinhalt springen

Siemens S7-1200/1500 V5 / TIA19

Target: "Siemens S7"

Voraussetzungen

Die Version 5 ist funktionell rückwärtskompatibel mit der Version 4. Neu kann ab dieser Version eine verschlüsselte Kommunikation mit dem Connector (ab V5.1.0.0) betrieben werden.

In den nachfolgenden Kapiteln wird nur dieser (neue) Aspekt der Kommunikation behandelt und für die Standard-Funktionen auf die bestehenden Kapitel verwiesen.

Um diese Funktionalität nutzen zu können, gelten folgende Mindestanforderungen betreffend der Siemens-Firmware:

  • S7-1500 CPUs: Firmware >= V2.5

  • S7-1200 CPU: Firmware >= V4.2 Bitte beachten Sie, dass der Verbindungsaufbau mit einer S7-1200 CPU zwar funktioniert, aber Stand heute (April 2025**) bis zu 14 Sekunden betragen kann! Aus unserer Sicht ist dies nicht effizient! Wir empfehlen daher, eine S7-1500 CPU zu verwenden.** Allenfalls könnte man alternativ den lange dauernden Verbindungsaufbau einmalig in Kauf nehmen, dafür aber die Verbindung offen halten (Beispiel «ConnectionObserver», Parameter «xHoldOpen» = TRUE setzen).

Bei älteren CPUs wird der Baustein «TCON_IP_V4_SEC» aus der «Open user communication» Bibliothek nicht unterstützt.

Nachfolgend wird die Konfiguration anhand einer S7-1500 CPU gezeigt.

Hardware-Architektur und SSL-Zertifikate

  • SPS IP-Adresse: 10.100.100.152

  • SQL4automation Connector IP-Adresse: 10.100.100.211

Es werden folgende Zertifikate generiert (OpenSSL). Beachten Sie, dass die Einstellungen, insbesondere die IP-Adressen, für die entsprechende Netzwerk-Architektur angepasst werden müssen.

CLIENT152

openssl genrsa -out client152.key 2048
openssl req -new -key client152.key -out client152.csr -subj "/C=CH/ST=Bern/L=Lyssach/CN=10.100.100.152/O=Inasoft"
openssl x509 -req -in client152.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out client152.crt -days 1825 -sha256
openssl pkcs12 -export -out client152.p12 -inkey client152.key -in client152.crt

→ PWD: SSLtest

SERVER211

openssl genrsa -out server211.key 2048
openssl req -new -key server211.key -out server211.csr -subj "/C=CH/ST=Bern/L=Lyssach/CN=10.100.100.211/O=Inasoft"
openssl x509 -req -in server211.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server211.crt -days 1825 -sha256
openssl pkcs12 -export -out server211.p12 -inkey server211.key -in server211.crt

→ PWD: SSLtest

ROOT CA

openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1825 -out rootCA.pem -subj "/C=CH/ST=Bern/L=Lyssach/CN=SQL4automation/O=Inasoft"
openssl pkcs12 -export -out rootCA.p12 -inkey rootCA.key -in rootCA.pem

→ PWD: SSLtest

Inbetriebnahme TLS-Verschlüsselung

Vor der Inbetriebnahme sind die Zertifikate für den SQL4automation Connector in die entsprechenden Pfade zu kopieren.

  • Pfad «C:\ProgramData\SQL4automation\certs\CA» 🡪 Den Inhalt des RootCA in die Datei kopieren

    Den Inhalt des RootCA in den Ordner certs\CA kopieren
  • Pfad «C:\ProgramData\SQL4automation\certs\S4AConnector» 🡪 Die Server-Zertifikate werden an diesen Ort kopiert.

    Die Server-Zertifikate werden nach certs\S4AConnector kopiert
  • Pfad «C:\ProgramData\SQL4automation\certs\S4AQueryTool» 🡪 Hier liegen die Zertifikate, um mit dem Query-Tool testen zu können.

Die Zertifikate zum Testen mit dem Query-Tool in certs\S4AQueryTool

Nach dem Kopieren des RootCA muss der SQL4automation Connector Dienst vor dem Betrieb neu gestartet werden.

Im weiteren Schritt wird empfohlen, die Verbindung zwischen SQL4automation und der Steuerung OHNE die TLS-Verschlüsselung in Betrieb zu nehmen.

Die Verbindung ohne TLS-Verschlüsselung in Betrieb nehmen Die Verbindung ohne TLS-Verschlüsselung testen

Erst wenn die Kommunikation ohne Verschlüsselung funktioniert, empfehlen wir als nächstes die Verschlüsselung zu aktivieren. Beachten Sie, dass die Systemzeit an dieser Stelle kontrolliert und falls erforderlich eingestellt werden muss!

Verschlüsselung aktivieren — Passphrase eingeben

Passphrase: SSLtest

Im TIA-Portal müssen nachfolgende Sicherheitseinstellungen vorgenommen werden:

Sicherheitseinstellungen im TIA-Portal

Usr: SQL4automation, pwd: SQL4automation

Usr: SQL4automation, pwd: SQL4automation Die drei Zertifikate «rootCA.p12», «server211.p12» und «client152.p12» mit Passwort «SSLtest» importieren

Die drei Zertifikate «rootCA.p12», «server211.p12» und «client152.p12» mit Passwort «SSLtest» importieren.

Nach dem Aktualisieren der Ansicht sind folgende Einträge sichtbar:

Die importierten Zertifikate mit ihren IDs im TIA-Portal

Die IDs werden nachfolgend weiter verwendet. Bitte merken Sie sich die entsprechenden Nummern.

Zertifikat-Import — Pwd: SQL4automation

Pwd: SQL4automation

Zertifikat-Import — Pwd: SQL4automation

Pwd: SQL4automation

Das Server- und das Client-Zertifikat mit «add new» in die Liste aufnehmen

Das Server- und das Client-Zertifikat muss mit «add new» in die Liste aufgenommen werden.

Das Server- und das Client-Zertifikat in der Zertifikatsliste
  • Beim Instanzaufruf von SQL4Siemens die Verschlüsselung aktivieren und die entsprechenden Zertifikate über die Nummern referenzieren.

  • xActivateSecureConn: TRUE

  • iTLSClientCertRef: <Nummer des Client.p12-Zertifikats>

  • iTLSServerCertRef: <Nummer des RootCA.p12-Zertifikats>

Instanzaufruf von SQL4Siemens mit aktivierter Verschlüsselung und referenzierten Zertifikat-Nummern

Bei einer erfolgreichen Abfrage werden in der Antwort-Tabelle plausible Werte angezeigt und der Status zeigt «xDone».