Übersicht
Beckhoff ADS (Automation Device Specification) ist ein von Beckhoff entwickeltes Kommunikationsprotokoll für den effizienten Datenaustausch in industriellen Automatisierungssystemen. Es dient als Backbone für die Integration von Geräten und Software in die PC-basierte Steuerungstechnik von Beckhoff.
ADS-over-MQTT ist aus Sicht des ADS-Protokolls ein zusätzlicher Transportkanal, über welchen ADS transportiert werden kann. Durch die Entkopplung der Kommunikation über einen MQTT-Message-Broker ergibt sich eine Vielzahl an Vorteilen, gerade in Bezug auf die Skalierbarkeit und Flexibilität bei der Integration zusätzlicher ADS-Applikationen. Auf Transportebene lassen sich Security-Mechanismen wie TLS verwenden, um die Kommunikationsverbindung abzusichern.
Der gesamte Datenaustausch erfolgt bei ADS-over-MQTT transparent für die ADS-Anwendungen, da nur der ADS-Router die entsprechenden Informationen zum MQTT-Transportkanal kennen und vorhalten muss. Dies ermöglicht insbesondere auch ein einfaches Retrofitting für existierende Applikationen.
Als Hauptanwendungsfall für ADS-over-MQTT lässt sich ein klassisches Fernwartungs- und Ferndiagnoseszenario identifizieren, bei welchem sich die TwinCAT Engineering-Umgebung (TwinCAT XAE) mit einer oder mehreren Steuerungen verbinden soll, um diese aus der Ferne zu debuggen. Das folgende Schaubild verdeutlicht die hier entstehende Architektur.

Es lassen sich jedoch auch viele weitere Anwendungsfälle für den Einsatz von ADS-over-MQTT finden, insbesondere wenn es um die Aggregation von mehreren, verteilten SPS-Systemen geht.
Diese Dokumentation gibt sowohl einen Überblick über die Möglichkeiten des Einsatzes wie auch die technische Beschreibung wie ein „virtuelles ADS-Netzwerk“ über einen MQTT Message Broker konfiguriert werden kann.
Vorteile eines MQTT-basierten ADS-Netzwerks
- Subnetze, NAT-basierte Netzwerke und Firewalls:
In einem klassischen ADS-Aufbau werden eingehende TCP/IP-Verbindungen in beide Richtungen verwendet. Dies bedingt, dass die Geräte im Normalfall im gleichen Netzwerk stehen müssen. In verteilten Anlagen mit unterschiedlichen Subnetzen ergeben sich aufwändige Konfigurationen, um die entsprechenden ADS-Routen nutzbar zu machen. Bei MQTT-basierten ADS-Netzwerken wird nur eine ausgehende TCP/IP-Verbindung von den Geräten verwendet. Hierdurch kann der Broker im überlagerten Netz zwischen allen Teilnehmern vermitteln. Durch die ausgehenden Verbindungen kann eine typische Firewall verwendet werden und es müssen keine eingehenden Ports hinterlegt werden. - Zugriffskontrolle:
In einem klassischen ADS-Aufbau kann, nach Anlegen der entsprechenden Routen, eine bidirektionale Kommunikation durchgeführt werden. Ein Zugriff von Teilnehmer A der auf B zugreift, erlaubt also auch, dass Teilnehmer B auf A zugreifen kann. Im MQTT-basierten ADS-Netzwerk kann konfiguriert werden, dass ein Teilnehmer A auf B zugreifen kann, jedoch nicht umgekehrt. - Security / Verschlüsselung:
Die Kommunikation von TwinCAT zu dem Broker kann durch TLS (mit Zertifikaten oder PreSharedKey (PSK)) verschlüsselt werden. Verschlüsselt wird in diesem Fall das transportierende MQTT-Protokoll, aus diesem Grund kann das ADS-Protokoll unverschlüsselt im Payload übertragen werden. - Retrofitting:
ADS-over-MQTT ist transparent für die ADS-Anwendungen, wodurch diese nicht geändert werden müssen.
Hinweis | |
ADS-Zugriff bedeutet Vollzugriff Wie im Security Advisory 2017-01 beschrieben, bietet ADS Vollzugriff auf ein Gerät. |