Nilan Geo6 über Modbus TCP einbinden

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • kleinzi
    Azubi
    • 10.02.2022
    • 6

    Nilan Geo6 über Modbus TCP einbinden

    Hallo,

    leider bin ich noch ganz neu in dem Gebiet Modbus.

    Ich habe von der Firma Nilan eine Liste mit den entsprechenden Modbus Adressen bekommen.
    Schaffe es aber nicht diese in Loxone zu integrieren und hoffe das mir hier jemand weiterhelfen kann :-)

    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 1.jpg Ansichten: 0 Größe: 73,6 KB ID: 338030
    Ich möchte zb. gerne die Nummer 20282 auslesen.

    Nur kann ich in Loxone gar keine 2xxxx Nummern verwenden.
    Oder sehe ich da was falsch?

    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 2.jpg Ansichten: 0 Größe: 41,1 KB ID: 338031

    Da gibts doch nur 0xxxx, 1xxxx, 4xxxx, 3xxxx.

    Ich wäre über jede Hilfe sehr dankbar da ich schon seit Stunden versuche irgendwie eine Lösung zu finden.

    Vielen Dank!

    Mfg Stefan
  • loxy
    Extension Master
    • 14.04.2020
    • 164

    #2
    Hallo Stefan,
    hast es inzwischen geschafft?

    Sonst ein Tipp: Versuche als IO-Adresse 282 einzugeben und nicht 20282.

    lg Loxy

    Kommentar

    • bberends@bbtech.nl
      Smart Home'r
      • 02.01.2019
      • 38

      #3
      Die Werte, die Sie lesen müssen, bestimmen, welchen Lesebefehl Sie geben müssen;

      1 und 2 verwenden Sie meiner Meinung nach für Boolean (true oder false), 3 und 4 für ganze Zahlen, Wörter und Float.

      Versuchen Sie, mit 3 auszulesen und dann mit dem Datentyp zu spielen. Sie sollten wahrscheinlich 32-Bit-Float haben, aber manchmal ist auch eine 16-Bit-Signed Integer gut. Versuchen Sie auch, das 16-Bit-Register zu deaktivieren und zu deaktivieren.


      Bas

      Kommentar

      • Benjamin Jobst
        Lox Guru
        • 25.08.2015
        • 1194

        #4
        kleinzi Modbus ist prinzipiell nicht allzu kompliziert aufgebaut, wenn es um die Einrichtung geht. Wahrscheinlich hast du es ja auch schon hinbekommen mittlerweile.

        Bei deinem Dropdown-Menü geht es um die Funktion, die für das jeweilige Register hinterlegt ist.
        Grundlegend gibt es 4 Tabellen mit Registern, jeweils binäre und analoge Werte mit nur Lese- oder Lese- und Schreibzugriff. Gemäß Modbus Spezifikationen werden die Tabellen über die vorangestellte Registernummer identifiziert - also 0x, 1x, 3x und 4x - dazu kommt noch das Schreiben der Register 5x, 6x, 15x und 16x

        - Coils (0x) sind binäre Register, die gelesen und geschrieben werden können - schreiben über Funktion 5x
        - Input Status (1x) sind binäre Register mit Lesezugriff

        - Input Register (3x) sind analoge Register mit Lesezugriff
        - Holding Register (4x) sind analoge Register mit Lese- und Schreibzugriff - schreiben läuft über die Funktion 6x

        Der ursprüngliche Gedanke war meine ich, dass die Tabellen nach Datenpunkttypen getrennt aufgebaut werden, also alle Coils die Adressen 1 bis 9.999 bekommen, alle Input Register die Adressen 30.001 bis 39.999 usw.
        Letztendlich sind die Bezeichnungen aber eher als Bezeichnung der Funktion zu sehen, also 3x = read Input Register, 6x write Holding register.

        In der Praxis wird das wie so vieles bei Modbus - sagen wir, flexibel - gehandhabt. Häufig wird die gesamte Register-Adresse angegeben und eine Adress-Zuordnung nach Datentyp ist für mich nicht erkennbar. Manche halten sich grob an die Trennung der Datentypen, häufig werden alle Daten in Holding Register abgelet, sind aber nicht alle tatsächlich beschreibbar etc.
        Bei Loxone musste ich bisher immer die volle Register-Adresse angeben - also auch wenn 30.005 benötigt wurde den Registertyp auf 3x einstellen UND die Adresse 30.005 eingeben. Wie das am Ende auf Protokollebene aussieht, habe ich mir noch nicht angesehen...
        Auch die Frage, ob man eine Zählung mit Base 0 oder Base 1 hat, ist nicht so einfach. D.h. bei manchen fangen die Register bei 0 an, bei manchen mit 1. Entsprechend muss man je nach System von der dokumentierten Register-Adresse 1 abziehen oder 1 hinzufügen oder eben nicht. Da habe ich auch schon alles erlebt...

        Analoge Register sind in der Regel 16bit, also 2 Byte lang. Werten mehr Daten auf einmal benötigt, können zwei oder sogar mehr Register kombiniert werden. Loxone unterstützt 32-bit und mittlerweile auch 64-bit analoge Register. Anzugeben ist dabei immer das erste Register des gesamten Datenpunkts.

        Zum konkreten Nilan-Thema:
        Laut Handbuch werden die Funktionen 3, 4, 6 und 16 unterstützt. Das sagt uns, dass alle Register Analogwerte enthalten und es wohl keine Coils oder Input Status gibt.
        Wenn ich mir die Register-Tabelle ansehe, sind alle Register durchgehend nummeriert. Read-only und Read-Write- Register sind gemischt, also würde ich davon ausgehen, dass es sich durchgehend um Holding Register handelt, auch bei den Read-only.
        Alle Register scheinen Integer zu sein - also 16bit, da die einzelnen Blöcke in 1er-Schritten nummeriert sind.

        Ich würde also folgendes einstellen:
        Befehl: Read Holding Register (4x)
        IO-Adresse: 20282
        Datentyp: 16-bit signed Integer

        Auf diese Weise sollte meines Erachtens ein Wert angezeigt werden. Ob es schon der Richtige ist, muss sich zeigen. Wenn es der falsche Wert ist, gibt es zwei Optionen:
        a) die Register-Adressen sind um 1 verschoben. Angesichts der benachbarten Register sollte dann der Wert "0" zurückgegeben werden. Das ist kein Fehler, sondern nur das falsche Register. Dann würde ich die Adresse 20281 versuchen. Oder gleich 20281 bis 20283 anlegen ;-)
        b) die Byte-Reihenfolge ist verkehrt herum - das lässt sich mit dem Haken Byte-Reihenfolge in den Einstellungen anpassen. Das kam mir bisher aber glaube ich nur 1x überhaupt vor.

        Wenn du einmal den Modus von Adressierung, Abfrage-Befehl und Datentyp gefunden hast, flutscht es mit den restlichen ;-)
        MfG Benny

        Kommentar


        • kleinzi
          kleinzi kommentierte
          Kommentar bearbeiten
          Hallo Benny,

          vielen Danke für die Ausführliche Erklärung.
          Leider habe ich es noch immer nicht geschafft :-(

          Es ist wie verhext... ich hab schon viel Versucht bekomme aber nie einen Wert zurück.
      • kleinzi
        Azubi
        • 10.02.2022
        • 6

        #5
        Danke für eure ganzen Tipps.
        Leider habe ich noch immer keine Lösung gefunden.

        Kann es eventuell sein das ich bei der Modbus-Adresse eine Falsche drinnen hab?

        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Unbenannt.jpg
Ansichten: 526
Größe: 82,5 KB
ID: 341192

        Sorry für die ganzen Frage aber ich kenne mich mit dem Modbus leider gar nicht aus 😓

        Falls mir noch jemand weiterhelfen kann wäre ich sehr dankbar!
        Und falls jemand Zeit hätte mir über Teamviewer oder ähnlichen zu helfen würde ich mich erkenntlich zeigen.

        Hab im Anhang ich noch die Modbus Liste für mein Gerät angefügt.
        [ATTACH]n341193[/ATTACH]

        Liebe Grüße
        Stefan

        Kommentar

        • sudo
          Dumb Home'r
          • 28.03.2022
          • 14

          #6
          Zitat von kleinzi
          Danke für eure ganzen Tipps.
          Leider habe ich noch immer keine Lösung gefunden.
          Hallo Stefan,

          hast du hier mittlerweile Fortschritte gemacht?
          Hab auch eine Compact P Geo 6 seit kurzem.
          Mit Modbus hab ich mich aktuell noch nicht beschäftigt, die Wärmepumpe hat aber schon dieses "neue" LAN Gateway für die Online App Anbindung.
          Da das LAN Gateway auch über Modbus mit der WP kommuniziert bin ich mir gar nicht sicher ob ich überhaupt zusätzlich via Loxone oder Loxberry per Modbus zugreifen kann.

          LG

          Kommentar


          • kleinzi
            kleinzi kommentierte
            Kommentar bearbeiten
            Hallo,
            sorry war länger nicht m Forum.
            Leider hab ich keine Fortschritte gemacht.

            Ich habe es mit dem LAN Gateway und auch ohne (Kabel Direkt an der WP) versucht.
            Beides ohne Erfolg.
            Ich hab auch keinen gefunden der mir wirklich weitergeholfen hat.

            Was du in der Zwischenzeit etwas erreicht?

            Ich finde es echt schade das es mit der Compact P Geo 6 einfach nicht klappen will.

            Liebe Grüße
        • sudo
          Dumb Home'r
          • 28.03.2022
          • 14

          #7
          Hatte bist jetzt noch zu wenig Zeit mich intensiv damit zu beschäftigen.
          Hab nur mal versucht mit einem Waveshare Modbus RTU 2 TCP Gateway eine Verbindung zu machen - leider ohne Erflog.

          Modbus Extension hab ich noch nicht, daher hier noch keine Erfahrungen.


          Wie ist das LAN Gateway bei dir mit der WP verbunden?

          Bei mir ist oben links ein 8-poliger Stecker, von dem geht ein RJ45 Kabel zu einer "Box" (die steht oben rechts auf der WP) und von dieser "Box" geht dann ein RJ45 Kabel zum LAN Gateway welches auf dieser "Box" steht (hab leider grad kein Foto davon, werd ich nachreichen).

          Jetzt ist halt auch schon die Frage, wo soll ich mich da mit der Modbus Extension dran klemmen:
          - zwischen der WP und der "Box"
          - oder zwischen der "Box" und dem LAN Gateway

          LG

          Kommentar


          • kleinzi
            kleinzi kommentierte
            Kommentar bearbeiten
            Hallo Sudo,

            war jetzt leider länger nicht aktiv.

            Ich habe meine WP mittlerweile über Modus TCP einbinden können.
            Dazu habe ich folgendes gemacht.

            # WP ist mit einem LAN Kabel direkt mit dem Router verbunden
            # Die IP Adresse an der WP habe ich geändert damit diese im selben IP Kreis wie der Router ist

            Damit habe ich dann auf die WP zugreifen können.

            Solltest du noch Fragen haben einfach melden.
            Ich werde versuchen dir bestmöglich zu helfen :-)

            Lg
        • sudo
          Dumb Home'r
          • 28.03.2022
          • 14

          #8
          Danke für die Rückmeldung kleinzi und Glückwunsch 😅

          Ich vermute du hast die CTS700 Steuerung (schwarzes Display).
          Ich hab die CTS602 HMI (weißes Display), die hat kein Modbus TCP, dafür über den erwähnten LAN Gateway zugriff per App.

          Den Versuch über Modbus RTU hab ich noch immer nicht gestartet, steht aber noch auf meiner ToDO Liste

          Kommentar

          Lädt...