Zum Hauptinhalt springen
Version: TAO v2.x

Einrichten des Modbus-Datenflusses

Der Modbus-Datenfluss ermöglicht es Ihnen, die data Ihrer LoRaWAN-Geräte automatisch in einem integrierten Modbus-Slave-Server bereitzustellen.

Standardmäßig ist dieser Server über den Standard-TCP-Port 10502 verfügbar. Bei Bedarf können Sie den Port in Node-RED ändern, wie in Anpassen des Modbus-Servers beschrieben.

Dieser Datenfluss unterstützt die vier Modbus-Datentypen; sie können jeweils als Ein- bzw. Ausgänge für uplink-/downlink-Eigenschaften gesetzt werden:

  • Holding Register (mit „HR“ bezeichnet): 16 Bit, typischerweise verwendet für Zahlen und Zeichenfolgen mit Lese-/Schreibzugriff (UL/DL)
  • Input Register (mit „IR“ bezeichnet): 16 Bit, typischerweise verwendet für Zahlen und Zeichenfolgen mit Nur-Lese-Zugriff (nur UL)
  • Discrete Input (mit „DI“ bezeichnet): binärer Eingang, nur lesezugriff (nur UL)
  • Coil (mit „C“ bezeichnet): binärer Ausgang, Lese-/Schreibzugriff (UL/DL)

Ab TAO v2.7.0 ist die Zuordnung von LoRaWAN-Sensordaten zu Modbus-Registern vollständig automatisiert.

Hinweis zur Migration

Wenn Modbus bereits auf Ihrem TAO aktiviert war, bevor Sie auf Release 2.7.0 (oder höher) aktualisiert haben, bleibt Ihr alter Modbus-Datenfluss (basierend auf manueller Zuordnung per CSV-Import) standardmäßig zur Wahrung der Abwärtskompatibilität erhalten.

Wenn Sie auf den neuen Datenfluss (basierend auf automatisierter Zuordnung) umstellen möchten, müssen Sie Ihren aktuellen Modbus-Datenfluss deaktivieren, ihn dann wieder aktivieren und Ihre Aktion bestätigen, indem Sie auf JA, NUTZEN SIE DEN NEUEN ABLAUF klicken.
Dadurch wird Ihre aktuelle Modbus-Objektliste zurückgesetzt.

Achtung

Jedem Gerät, das data über Modbus bereitstellt, wird automatisch eine Unit-ID zugewiesen.
Da das Modbus-Protokoll den Unit-ID-Bereich auf [1 - 247] begrenzt, erlaubt TAO kein Modbus für mehr als 247 LoRaWAN-Geräte.

Wenn diese Grenze erreicht ist, zeigen Geräte, bei denen die Modbus-Aktivierung fehlgeschlagen ist, während der einzelnen oder der Massenbereitstellung von Geräten einen Fehler in der Benutzeroberfläche an.

Hauptschritte

Die folgenden Schritte beschreiben, wie der Modbus-Datenfluss eingerichtet wird:

  1. Wählen Sie im linken Bereich der Benutzeroberfläche Dataflows aus.

  2. Aktivieren Sie auf der Registerkarte Modbus den Modbus-Flow, falls dies noch nicht der Fall ist, indem Sie auf ACTIVATE MODBUS klicken.

    Tipp

    Sie können den Inhalt jedes Widgets auf der Modbus-Registerkarte ein- oder ausblenden, indem Sie jeweils auf / in der Nähe des Widget-Titels klicken.

  3. Im Widget SETTINGS können Sie die Byte-Reihenfolge für jede Registergröße anpassen, um Ihre Einsatzbedingungen zu erfüllen.

    Außerdem können Sie frei festlegen, welche LoRaWAN-Metadaten als Modbus-Register bereitgestellt werden, indem Sie den zugehörigen Schalter in der Benutzeroberfläche aktivieren:

    • RSSI ist der Received Signal Strength Indicator jedes LoRaWAN-Uplink-Pakets. RSSI misst die gesamte Signalstärke innerhalb der Bandbreite des Funkkanals und summiert das Nutzsignal, die Störungen und das Hintergrundrauschen. RSSI wird in dBm angegeben.
    • SNR ist das Signal-Rausch-Verhältnis jedes LoRaWAN-Uplink-Pakets. Es liefert eine verlässliche Schätzung der Qualität des Uplink-Empfangs. SNR wird in dB angegeben.
    • FCntUp ist der Framezähler jedes LoRaWAN-Uplink-Pakets.
    • SpFact ist der Spreading Factor jedes LoRaWAN-Uplink-Pakets. SF7 entspricht der höchsten data-Rate, während SF12 der niedrigsten data-Rate entspricht.
  4. Im Widget OBJECT DEFINITION wählen Sie, welche Gerätemodelle ihre Messeigenschaften (auch Punkte genannt) als Modbus-Register bereitstellen sollen. Weitere Informationen finden Sie unter Aktualisieren der Objektdefinition.

  5. Das Widget OBJECT LIST zeigt die Liste der derzeit in Ihrem TAO definierten Modbus-Objekte an. Weitere Informationen finden Sie unter Anzeigen der Modbus-Objektliste.

Aktualisieren der Objektdefinition

Sie müssen festlegen, welche Geräte ihre Messungen über das Modbus-Protokoll bereitstellen sollen. Wenn Sie keine Objektdefinition hinzugefügt haben, stellt TAO keine Modbus-Objekte für Ihre LoRaWAN-Sensoren bereit.

Um die Benutzerfreundlichkeit zu erhöhen, wird diese Definition nicht für jedes LoRaWAN-Gerät einzeln vorgenommen: Sie müssen sie nur für jedes relevante Gerätemodell einrichten; diese Definition gilt dann für alle LoRaWAN-Geräte, die diesem Modell zugeordnet sind.

Es gibt zwei Modi der Objektdefinition, abhängig vom Gerätemodell:

  1. Erweiterte Definition

    • Ab TAO v2.7.0 gilt dieser Modus für die folgenden Gerätemodelle:

      • Enless (alle Modelle)
      • Watteco (alle Modelle)
      • Thermokon (alle Modelle)
      • MClimate Vicki

      Die native Unterstützung weiterer Gerätehersteller wird in zukünftigen Releases schrittweise hinzugefügt.

    • In diesem Modus müssen Benutzer auswählen, welche Punkte über Modbus bereitgestellt werden. Für als vorzeichenlose Integer codierte Punkte kann der Benutzer je nach Bedarf auch zwischen 16 und 32 Bit wählen.

      Hinweis

      Sie sollten mindestens einen Punkt pro ausgewähltem Gerätemodell definieren. Wenn ein Gerätemodell ohne Punkte ausgewählt wird, stellt TAO keine Modbus-Objekte für die Geräte bereit, die diesem Modell zugeordnet sind.

      Beispiel:

    • Dieser Modus ermöglicht das Senden von downlink-Befehlen über das Modbus-Protokoll. Downlink-Punkte verwenden einen der folgenden Typen: Holding Register (HR) oder Coil (C). Weitere Informationen zur Verwendung von Modbus für downlink finden Sie unter Sending downlink commands with Modbus.

  2. Basisdefinition

    • Dieser Modus gilt für alle LoRaWAN-Modelle, die in TAO über einen gültigen Payload-driver verfügen, die aber den Modus für erweiterte Definition noch nicht unterstützen.

    • In diesem Modus können Benutzer nicht wählen, welche Punkte über Modbus bereitgestellt werden: Alle verfügbaren Messpunkte werden automatisch als Modbus-Objekte bereitgestellt. Verfügbare Punkte werden aus den Uplink-Payloads abgerufen, die von jedem Gerät gemeldet werden. Daher werden Modbus-Objekte dynamisch erstellt, sobald das Gerät uplink-Pakete zu senden beginnt.

    • Das Senden von downlink-Befehlen über das Modbus-Protokoll wird in diesem Modus nicht unterstützt. Sie können MQTT für die Downlink-Übertragung verwenden.

Tipp

Verwenden Sie die Schaltfläche oben rechts im Widget OBJECT DEFINITION, um Ihre aktuelle Objektdefinition zu exportieren und sie dann auf anderen TAO-Servern zu importieren, ohne sie jedes Mal manuell definieren zu müssen.


  1. Um eine Definition für ein neues Gerätemodell hinzuzufügen, klicken Sie auf ADD OBJECT DEFINITION.

  2. Wählen Sie ein Device model aus der Liste der Modelle, die von den bereits hinzugefügten Geräten verwendet werden.

  3. Wenn das Modell den erweiterten Definitionsmodus unterstützt, werden Sie aufgefordert, die Messpunkte auszuwählen, die Sie als Modbus-Objekte bereitstellen möchten.

    Tips
    • Beginnen Sie im Suchbereich zu tippen, um einen Punkt leicht zu finden.
    • Klicken Sie auf Select All, wenn Sie alle von diesem Modell unterstützten Punkte hinzufügen möchten. Anschließend können Sie diejenigen auswählen, die Sie nicht behalten möchten, und sie entfernen, indem Sie auf klicken.

    Jedem Punkt ist sein Typ vorangestellt:

    • [HR] für Holding Register
    • [DI] für Discrete Inputs
    • [IR] für Input Registers
    • [C] für Coil
  4. Um weitere Punkte hinzuzufügen, klicken Sie unten rechts in der Tabelle auf .

  5. Wenn Sie fertig sind, klicken Sie auf SAVE.

  6. Sie können Ihr Mapping jederzeit aktualisieren, indem Sie auf EDIT klicken.

Das Senden von downlink-Befehlen über Modbus wird für alle Gerätemodelle, die den advanced definition mode unterstützen, nativ unterstützt. Die vollständige Liste finden Sie im vorherigen Abschnitt.

Downlink-Befehle verwenden den bestätigten LoRaWAN-Modus, um eine zuverlässige Zustellung an Endgeräte sicherzustellen; sie werden von TAO bei Sende-/Empfangsfehlern automatisch erneut übertragen. Bis zu 5 Befehle können in dasselbe LoRaWAN-Downlink-Paket verkettet werden.

Für Geräte, die den LoRaWAN-Class-C-Modus unterstützen, gilt: Wenn ein Downlink-Aktuierungsbefehl an das Gerät gesendet wird, können keine weiteren Befehle gesendet werden, bis der erste Befehl vollständig verarbeitet wurde – entweder mit einer positiven Bestätigung durch das Gerät oder wenn die Verarbeitung nach 5 Übertragungsversuchen ohne Bestätigung schließlich abgebrochen wird.

Anzeigen der Modbus-Objektliste

Die Modbus-Objektliste, die alle Modbus-Punkte mit ihrem aktuellen Wert anzeigt, wird im Widget OBJECT LIST der Modbus-Registerkarte angezeigt.
Der Zeitstempel der letzten Aktualisierung jedes Punktes wird in dieser Liste ebenfalls angezeigt. "Never" bedeutet, dass der Standardwert des Punktes angezeigt wird, weil der Sensor noch keine tatsächliche Messung dafür gemeldet hat.

Sie können diese Liste nach Gerätename, Geräte-EUI, Objektname, Modbus-Unit-ID oder Registeradresse filtern. Die Suche innerhalb eines Strings ist zulässig.

Klicken Sie oben rechts in diesem Widget auf , um die Liste der (gefilterten) Modbus-Punkte zu exportieren.

Ersetzen eines Geräts

Sie können ein altes LoRaWAN-Gerät durch ein anderes ersetzen, wobei Sie die Unit-ID und die Registeradressen Ihres alten Geräts für das neue wiederverwenden. Dies kann erforderlich sein, wenn ein Gerät aufgrund von Hardware- oder Softwareproblemen (z. B. Batterieprobleme) defekt wird; in diesem Fall können Sie es problemlos ersetzen, ohne die Modbus-Zuordnung auf der Clientseite zu ändern.

Gehen Sie wie folgt vor, um ein Gerät zu ersetzen:

  1. Fügen Sie das neue Gerät zu Ihrem ThingPark All-in-One hinzu, wie in Bereitstellen Ihrer Geräte beschrieben.
  2. Klicken Sie im linken Bereich auf Dataflows und gehen Sie dann zum unteren Bereich der Registerkarte Modbus in das Widget OBJECT LIST OPERATIONS, und klicken Sie anschließend auf Replace.
  3. Geben Sie die DevEUI Ihres alten Geräts und des neuen Geräts ein und klicken Sie dann auf Validate.
  4. Wenn Sie fertig sind, löschen Sie das alte Gerät aus TAO:
    1. Klicken Sie im linken Bereich auf Devices und suchen Sie dann nach dem Gerät anhand seiner DevEUI,
    2. Klicken Sie in der letzten Spalte der Liste auf ..., dann auf Delete und bestätigen Sie Ihre Aktion.