Architektur
Der ADS Router in jedem Gerät übernimmt die Übermittlung der ADS-Kommandos zwischen den lokalen und auch entfernten „ADS Devices“.
Dieser Router kann so konfiguriert werden, dass ADS-Kommunikation auch über einen Broker erfolgen kann.
Der Broker übernimmt dabei eine Vermittlung der eintreffenden ADS-Kommandos anhand der hinterlegten Konfiguration.
Virtuelles AMS Netzwerk
Im Broker können unterschiedliche „Virtuelle AMS-Netzwerke“ mit unterschiedlichen Teilnehmern definiert werden. Jeder TwinCAT Router öffnet hierzu eine in seiner Konfiguration eingestellte MQTT- Verbindung zum Broker.
Im Broker wird konfiguriert, welche Geräte auf welche anderen Geräte zugreifen dürfen.
Insgesamt können virtuelle AMS-Netzwerke über einen Broker abgebildet werden.
Lokale Realisierung
Die Realisierung der ADS-over-MQTT-Anbindung erfolgt über den TwinCAT Router als zusätzlichen Transportkanal. Hierdurch ist die Erweiterung bezüglich der ADS-Clients wie auch die ADS-Server auf den jeweiligen Geräten transparent.
Technische Realisierung
Auf MQTT Protokoll-Ebene wird jeder ADS-Router als „User“ abgebildet, wobei dieses keine exklusive Beziehung darstellen muss.
Es werden zwei unterschiedliche Topics-Kategorien von einem jeweiligen Kommunikationsteilnehmer verwendet:
- Discovery: <NetworkName>/<AmsNetId>/info
Ein sich verbindender Router sendet eine RETAIN Nachricht an dieses Topic, gleichzeitig subscribed er sich auf <NetworkName>/+/info (QoS2), sodass er über weitere verbundene Router informiert wird. - Kommunikation: <NetworkName>/<AmsNetId>/ams/#
Ein Router subscribed sich auf die <NetworkName>/<AmsNetId>/ams/# (QoS2).
Die ADS-Kommandos werden zu diesem Router an <NetworkName>/<AmsNetId>/ams gesendet und die Antworten über <NetworkName>/<AmsNetId>/ams/res.
Somit ergibt sich, dass der Broker RETAIN-Topics sowie QoS implementieren muss, wie in der Einleitung beschrieben. Beispielhaft sei hier der Eclipse Mosquitto-Broker genannt.