SIMATIC S7-1200 und 1500 als MQTT Publisher

 

MQTT eignet sich nicht nur besonders gut für eigenständige Sensoren oder embedded Geräte, um Daten in die Cloud zu schicken, auch komplette Steuerungssysteme können MQTT implementieren und so Prozessdaten über die Cloud austauschen.

In diesem Beitrag wollen wir MQTT auf einer Siemens SIMATIC S7-1200 / S7-1500 implementieren und Prozessdaten als Publisher an einen MQTT Server senden. In diesem Beispiel konfigurieren wir uns einen eigenen, lokalen MQTT Server (aka. MQTT Broker). Die zugehörige Client-Implementierung auf der SIMATIC kann aber analog auch mit jedem anderen MQTT Server in der Cloud verwendet werden. Bevor ihr MQTT auf eurer eigenen SIMATIC implementiert, empfiehlt es sich einen Blick in den Aufbau und die Funktionsweise des MQTT Protokolls zu werfen.

SIMATIC S7-1200 und S7-1500, Datenaustausch über OPC UA mit Python

 

Mit steigender Nachfrage an IoT und Industrie 4.0 Applikationen seitens der Endanwender, wird auch die Anforderung an die Interoperabilität von Steuerungen, Peripherie und SPS unterschiedlicher Hersteller immer größer. Während bei Steuerungen früherer Generationen die Auswahl an Schnittstellen zum Zugriff auf die Prozessdaten meist auf herstellergebundene Protokolle (Feldbus-Protokolle) beschränkt waren, hat man heute als Softwareentwickler wesentlich mehr Möglichkeiten.

Neben dem Zugriff auf die Prozessdaten mittels in den Steuerungen integrierten Webserver, besteht zudem auch die Option neuere "IoT Protokolle" zu nutzen, darunter z.B. MQTT oder OPC UA.

In diesem Artikel werden wir auf einer SIMATIC S7-1200 bzw. S7-1500 den OPC UA Server aktivieren, konfigurieren und mit einem Python Skript auf den freigegebenen Speicherbereich zugreifen:

  1. OPC UA Server im TIA Projekt aktiveren

  2. Zugriffe für Clients konfigurieren und Datenübertragung absichern (mit X.509-Zertifikaten)

  3. Mit einem Python Client den internen Speicher der SIMATIC Steuerung lesen und schreiben (Bibliothek: FreeOpcUa/python-opcua)