Die Ankopplung von Siemens Steuerungen an die Cloud gestaltete sich bislang schwierig. Neben der Möglichkeit ein IoT-Gateway zur Kommunikation einzusetzen, gibt es nun auch die Möglichkeit eine direkte Kommunikation über das MQTT-Protokoll herzustellen um Daten in die Cloud zu übertragen. Wir haben unterschiedliche Möglichkeiten für Sie getestet.
Immer wieder werden wir gefragt, ob unser AnyViz Cloud Adapter nicht auch für Siemens Geräte verfügbar sei. Leider bietet Siemens STEP 7 nicht alle Funktionen, die wir für eine Implementierung des Cloud Adapters benötigen. Es gibt jedoch andere Wege um eine SIMATIC SPS an AnyViz anzukoppeln. So kann hierfür beispielsweise ein IoT-Gateway mit dem Universal Cloud Adapter, für Siemens Steuerungen zum Einsatz kommen. Wer sich eine weitere Komponente sparen möchte und eine direkte Verbindung in die Cloud bevorzugt, hatte bisher kaum Möglichkeiten. Dies ändert sich mit der Unterstützung des MQTT Protokolls.
Seit Dezember 2017 unterstützt AnyViz das schlanke und offene Kommunikationsprotokoll MQTT. In unserem Blogbeitrag haben wir Vor- und Nachteile, sowie die Funktionsweise beschrieben. Fast zeitglich wurde ein Anwendungsbeispiel von Siemens zu dem selben Thema veröffentlicht. Wer noch etwas weiter sucht, findet zudem quelloffene Implementierungen auf GitHub.
Vergleich der existierenden MQTT Lösungen für Siemens
Siemens bietet gleich drei Bibliotheken für das TIA Portal V14 um MQTT wahlweise für CPUs der S7-300, S7-1200 oder der S7-1500 Reihe nutzen zu können. Wenn eine S7-1500 zum Einsatz kommt, kann die MQTT-Verbindung zudem verschlüsselt erfolgen. Wir haben die Bibliothek auf unserer S7-1200 CPU getestet und konnten schon nach kurzer Zeit erfolgreich eine Verbindung zum AnyViz-Portal herstellen. Die ausführliche Dokumentation hat dabei zum schneller Erfolg verholfen. Leider gestaltet sich das Publish von Topics, also das senden von Variablenwerten etwas aufwändig, da dies über einen einzigen Funktionsbaustein geschehen muss. Die Variablenwerte können leider nur als String übergeben werden.
Erfreulicherweise finden sich heute auch Entwicklungsprojekte für Steuerungsprogrammierer auf dem Online Dienst GitHub. Den Anfang macht das GibHub Projekt MQTT Siemens-S7-300. Es ist übersichtlich umgesetzt und bietet komfortable Funktionen für Publish und Subscribe. Dank der sauberen Implementierung lässt sich das Projekt recht einfach für CPUs der neuen Generation portieren. Wer sich diese Arbeit sparen möchte, sollte einen Blick auf das Projekt MQTT Siemens-S7-1500 werfen, welches auf das vorherige Projekt aufsetzt. Ein Publish erfolgt unkompliziert über einen Funktionsaufruf. Wir empfehlen den Variablenwert (auch „payload“ genannt) je nach TIA-Version über den Datentyp ANY bzw. VARIANT bereit zu stellen und den Wert binär zu übertragen. Das spart Rechenkapazität und Programmieraufwand.
Hinweise zur Umsetzung
Bevor eine MQTT Verbindung zu AnyViz aufgebaut wird, sollte zunächst einen Blick auf unsere Dokumentation geworfen werden. Leider enthält keine der Bibliotheken die Funktion einer Namenauflösung (DNS). Somit muss unser Broker „portal.anyviz.de“ zunächst selbst aufgelöst werden, was die IP-Adresse „52.174.100.142“ ergibt. Sobald der Siemens MQTT Client im AnyViz-Portal erscheint, sollte neben dem Passwort auch die Byte-Order angepasst werden. Siemens nutzt nämlich die Big-Endian Byte-Order. Bei weiteren Fragen können Sie sich selbstverständlich an das Team von AnyViz wenden.
Die einfache Alternative
Wer den Aufwand scheut eine doch recht aufwendige MQTT-Ankopplung zu implementieren, der kann den kostenlosen Universal Cloud Adapter nutzen. Dieser stellt eine Verbindung via Siemens TCP oder OPC-UA zu einer SIMATIC Steuerung her und überträgt die Daten über eine verschlüsselte Verbindung in die Cloud. Die Vorteile gegenüber MQTT:
- Einfache Installation
- Sichere AES-Verschlüsselung (siehe Sicherheit)
- Mehrere Verbindungen mit unterschiedlichen Protokollen möglich
- Pufferung bei Verbindungsunterbrechung
- Mit Hilfe von AnyViz-VPN wird das Aufschalten über die Ferne ermöglicht (optional)
- Lokal verfügbare Websites, wie z.B. eine Visualisierung können sicher über das Portal geroutet werden