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.