HomeBlog

Siemens S7-1200 und MQTT: So bindest du die SPS an

Stromfee Redaktion · 5. Juli 2026
Siemens S7-1200 und MQTT: So bindest du die SPS an
Energie — Stromfee (KI-Bild)

Die S7-1200 hat keinen fertigen MQTT-Baustein wie ein IoT-Modul, kann aber trotzdem MQTT sprechen. Du hast zwei praxiserprobte Wege: eine MQTT-Client-Bibliothek direkt in der SPS oder ein vorgeschaltetes Edge-Gateway.

Kurzantwort: Ja, aber nicht ab Werk

Die S7-1200 bringt von Haus aus keinen eingebauten MQTT-Befehl mit. Sie kann MQTT über die 'Open User Communication' (TCON, TSEND, TRCV) abwickeln – dafür lädst du eine MQTT-Client-Funktionsbausteinbibliothek ins TIA Portal. Voraussetzung ist eine aktuelle Firmware (V4.x) und eine freie PROFINET-/Ethernet-Schnittstelle. Alternativ übernimmt ein kleines Gateway (z. B. Raspberry Pi) das Publizieren – das ist oft der schnellere und stabilere Weg.

Siemens S7-1200 und MQTT: So bindest du die SPS an
Energie — Stromfee (KI-Bild)
Weg 1: MQTT-Bibliothek direkt in der SPS

Im TIA Portal legst du eine TCP-Verbindung zum MQTT-Broker an (Standardport 1883, verschlüsselt 8883). Der MQTT-Client-Baustein baut die CONNECT-Verbindung auf, sendet PUBLISH mit deinem Topic und Payload und hält per PINGREQ die Verbindung. Deine Prozesswerte gibst du meist als JSON-String aus. Beachte: TLS-Verschlüsselung ist auf der S7-1200 nur eingeschränkt möglich – prüfe, ob dein Broker unverschlüsselt (Port 1883) im internen Netz erreichbar ist oder ob du TLS wirklich brauchst.

Siemens S7-1200 und MQTT: So bindest du die SPS an
Energie — Stromfee (KI-Bild)
Weg 2: Edge-Gateway liest die SPS aus

Statt die SPS selbst publizieren zu lassen, liest ein Gateway (Raspberry Pi, Siemens IOT2040) die Daten über das S7-Protokoll aus (z. B. mit der Bibliothek snap7) und veröffentlicht sie per MQTT. So läuft es auch in unseren Edge-Templates: der Pi ist gleichzeitig Publisher und Subscriber und schickt alle Werte im 5-Sekunden-Takt als JSON an den Broker. Vorteil: TLS, Puffern bei Netzausfall und Formatierung erledigst du komfortabel in Python – nicht im SPS-Programm.

Siemens S7-1200 und MQTT: So bindest du die SPS an
Energie — Stromfee (KI-Bild)
Broker, Topics und Payload festlegen

Definiere vorab drei Dinge: den Broker (IP/Hostname + Port, z. B. 1883 offen oder 1884 mit Authentifizierung), eine saubere Topic-Struktur (z. B. anlage/s7-1200/messwerte/json) und das Payload-Format. Bewährt hat sich eine flache JSON-Struktur pro Publish. Nutze einen MQTT-User mit Passwort statt anonymem Zugriff – gerade wenn der Broker über das Internet erreichbar ist.

Siemens S7-1200 und MQTT: So bindest du die SPS an
Energie — Stromfee (KI-Bild)
Vorher testen: mosquitto & MQTT Explorer

Bevor du die SPS produktiv anbindest, teste den Broker mit Bordmitteln: 'mosquitto_sub -t #' zeigt dir alle eingehenden Nachrichten, mit dem MQTT Explorer siehst du Topics grafisch. So merkst du sofort, ob CONNECT klappt, ob dein Topic ankommt und ob das JSON valide ist – das spart dir stundenlanges Suchen im SPS-Baustein.

Typische Stolperfallen

Häufige Fehler: falscher oder blockierter Port (Firewall!), fehlende Authentifizierung am Broker, zu kurze Keep-Alive-Zeit (Verbindung bricht ab), oder ein Payload, das kein gültiges JSON ist. Prüfe außerdem, ob deine S7-1200-Firmware die Open-User-Communication-Bausteine unterstützt. Bei TLS-Anforderungen ist das Gateway fast immer der robustere Weg.

🎬 Der Energie-Zähler
Dazu von Stromfee
Charge DirectorArbitrage & WirtschaftlichkeitBESS EngineerAuslegung

Was bringt dir ein Batteriespeicher?

BESS-System ansehen →
🌐 Stromfee in your language: English · Deutsch · Español · Français · Português · العربية · 日本語 · 中文 · 한국어 · हिन्दी · Bahasa