Siemens MQTT Client: So verbindest du deine SIMATIC-SPS

Ja, Siemens-Steuerungen können MQTT sprechen – entweder direkt per Bibliothek in der SPS oder über ein fertiges Gateway. Hier erfährst du, welcher Weg zu dir passt und wie du ihn einrichtest.
Es gibt zwei Wege. Erstens die kostenlose Siemens-Bibliothek „LMQTT" aus dem Industry Online Support (SIOS): Damit wird eine S7-1200 oder S7-1500 selbst zum MQTT-Client und veröffentlicht ihre Daten direkt an einen Broker. Zweitens das Hardware-Gateway SIMATIC Cloud Connect 7 (CC712/CC716), das per S7-Kommunikation an die SPS andockt und die Werte als MQTT weitergibt – ohne dass du das SPS-Programm anfassen musst. Ältere S7-300/400 haben keinen nativen MQTT-Client und brauchen den Gateway-Weg.

So gehst du mit der LMQTT-Bibliothek vor: 1) Baustein aus dem SIOS in dein TIA-Portal-Projekt importieren. 2) Verbindung konfigurieren – Broker-IP, Port (1883 unverschlüsselt, 8883 mit TLS), Client-ID und optional Benutzer/Passwort. 3) Ein Topic festlegen, unter dem die SPS publiziert (z. B. anlage/leistung). 4) Nutzdaten als JSON-String im Baustein aufbereiten und zyklisch senden. Für Empfang abonnierst du im selben Baustein die gewünschten Topics. Die SPS hält die TCP-Verbindung offen und meldet sich beim Broker an.

Willst du das SPS-Programm nicht ändern, ist das Gateway CC712/CC716 die pragmatische Lösung. Es liest per S7-Protokoll Variablen aus der Steuerung, mappt sie auf MQTT-Topics und schickt sie an deinen Broker oder eine Cloud. Konfiguriert wird alles über eine Weboberfläche des Geräts – kein TIA-Portal nötig. Das lohnt sich besonders im Bestand, wenn die SPS produktiv läuft und nicht neu geladen werden soll.

MQTT arbeitet nach dem Publish/Subscribe-Prinzip: Kein Gerät redet direkt mit dem anderen, sondern alles läuft über einen Broker (z. B. Mosquitto). Sender veröffentlichen unter einem Topic, Empfänger abonnieren es. Standard-Port ist 1883, mit TLS-Verschlüsselung 8883. Über den QoS-Level (0, 1 oder 2) steuerst du, wie zuverlässig eine Nachricht ankommt. Für Anlagendaten reicht meist QoS 1.

Ein MQTT-Client ohne Absicherung ist ein offenes Scheunentor. Nutze TLS auf Port 8883 statt Klartext auf 1883, vergib pro Client eigene Benutzername/Passwort-Zugänge und beschränke am Broker über Zugriffslisten, welcher Client welche Topics schreiben darf. Der Broker sollte nicht ungeschützt aus dem Internet erreichbar sein – setze ihn hinter Firewall oder VPN.
Sobald deine SIMATIC-Werte per MQTT fließen, brauchst du ein Ziel. Üblich ist ein Broker im lokalen Netz, der die Daten an eine Zeitreihen-Datenbank (z. B. InfluxDB oder ClickHouse) weiterreicht. Von dort lassen sich Leistung, Verbrauch oder Anlagen-Status in Dashboards visualisieren. Genau diese Kette – SPS als MQTT-Client, Broker, Datenbank, Auswertung – ist die Basis, um Erzeugung, Speicher und Netzbezug einer Anlage sichtbar und steuerbar zu machen.
Kurz gesagt: Ja, deine S7-1500 kann MQTT sprechen – aber als MQTT-Client, nicht als Broker. Die CPU bringt keinen eigenen MQTT-Server mit, sie veröffentlicht ihre Daten stattdessen an einen externen Broker (z. B. Mosquitto). Den Weg dorthin liefert dir Siemens direkt: die kostenlose Bibliothek „LMQTT" für das TIA Portal. Sie bildet das MQTT-Protokoll (Version 3.1.1) als fertige Funktionsbausteine ab, die du in dein SPS-Programm einbindest. Kommuniziert wird über die integrierte PROFINET-/Ethernet-Schnittstelle der CPU per Open User Communication – du brauchst also keine Zusatzhardware, wenn die Firmware deiner CPU die Bibliothek unterstützt (prüfe das im LMQTT-Handbuch für dein konkretes CPU-Modell).
Praktisch hast du zwei Wege. Nativ: Lade die LMQTT-Bibliothek von der Siemens-Support-Seite (SIOS), ziehe die Bausteine in dein Projekt, und parametriere im Baustein die Broker-IP, den Port (1883 unverschlüsselt, 8883 für TLS), Client-ID und das Topic, unter dem die SPS ihre Werte publisht. Danach ruft dein Zyklus den Client-Baustein auf und schreibt die Prozesswerte als Payload (meist JSON) ins Topic. Der zweite Weg ist ein Gateway davor: Ein Edge-Gerät (Siemens IoT-Gateway oder ein Raspberry Pi) liest die S7-1500 per S7-Protokoll oder OPC UA aus und veröffentlicht die Werte selbst über MQTT. Nimm den nativen Weg, wenn die SPS direkt und mit wenig Zusatztechnik in dein MQTT-Netz soll; nimm das Gateway, wenn du ohnehin mehrere Protokolle bündelst oder die SPS-Last geringhalten willst.
→ Vertiefung: Zendure & MQTT: Energiemanagement fürs Smart Home
→ Vertiefung: Formel Blindleistung: Wie berechnet man sie für PV-Anlagen?
→ Vertiefung: Biogasanlage: der Weg vom Substrat zum Strom – Schritt für Schritt
→ Ausführlich zu siemens mqtt: MQTT und Siemens SPS: Datenkommunikation in industriellen Biogasanlage
→ Ausführlich zu s71200 mqtt: S7-1200 per Modbus an MQTT einbinden – so geht's