SIMATIC S7-1200 an MQTT anbinden – geht das?

Die S7-1200 hat keinen MQTT-Client ab Werk, kann MQTT aber trotzdem sprechen. Du hast zwei erprobte Wege: die kostenlose Siemens-Bausteinbibliothek LMQTT direkt in der SPS oder ein vorgeschaltetes Edge-Gateway.
Im Standard-Firmware-Umfang der S7-1200 ist kein MQTT enthalten. Siemens stellt aber eine kostenlose Bibliothek bereit (LMQTT_Client, Applikationsbeispiel-ID 109748872), die den MQTT-Client als Funktionsbaustein in dein TIA-Projekt bringt. Damit kann die S7-1200 selbst Nachrichten publizieren und Topics abonnieren – ohne zusätzliche Hardware.

Die Bibliothek nutzt die Offene Benutzerkommunikation (TCON/TSEND/TRCV) über TCP. Du lädst den LMQTT_Client-Baustein in dein Programm, hinterlegst Broker-IP und Port (Standard 1883), gibst Topic und Payload vor und rufst den FB zyklisch auf. Unterstützt werden Publish/Subscribe mit QoS 0 und 1. Achtung: Verschlüsselung (TLS/Port 8883) ist bei der S7-1200 stark eingeschränkt – für abgesicherte Verbindungen ist die S7-1500 oder ein Gateway die bessere Wahl.

Alternativ liest ein kleiner Rechner (Raspberry Pi, SIMATIC IOT2050) die S7-1200 per S7-Protokoll aus – z. B. mit python-snap7 – und veröffentlicht die Werte per MQTT an den Broker. Vorteil: TLS, Pufferung, JSON-Formatierung und Datenweiterleitung an eine Datenbank sind sauber lösbar, ohne das SPS-Programm zu belasten. So laufen bei uns viele Kunden-Anbindungen: SPS/Zähler → Gateway → MQTT → Datenbank.

Auf der Gegenseite steht ein MQTT-Broker, meist Mosquitto. Lege einen Benutzer mit Passwort an, öffne Port 1883 (bzw. 8883 mit TLS) und definiere eine klare Topic-Struktur wie werk1/s7-1200/temperatur. Halte Topics pro Anlage/Gerät eindeutig, dann lassen sich neue Datenpunkte später ohne Umbau ergänzen.

Für die Offene Benutzerkommunikation braucht die S7-1200 Firmware V4.0 oder neuer. Prüfe außerdem, ob deine TIA-Portal-Version zur Bibliotheksversion passt (die LMQTT-Bibliothek gibt es für mehrere TIA-Stände). Reserviere genügend Verbindungsressourcen: Jede TCP-Verbindung der CPU belegt einen der begrenzten Kommunikationskanäle.
Nur ein paar Werte an einen internen Broker senden, ohne Verschlüsselung? Dann reicht LMQTT direkt in der SPS. Sobald TLS, Cloud-Anbindung, viele Datenpunkte oder eine saubere JSON-Aufbereitung gefragt sind, ist das Edge-Gateway robuster und entlastet die CPU. Beide Wege lassen sich auch kombinieren.