Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Modbus TCP: Wert in Holdingregister schreiben

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Modbus TCP: Wert in Holdingregister schreiben

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
7 Beiträge 2 Kommentatoren 920 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    digidax
    schrieb am zuletzt editiert von digidax
    #1

    Hallo zusammen,

    ich schreibe mit einem script einen dezimalwert in ein Holding register.
    Der Wert erscheint im entsprechenden Datenpunk, wird kurz grün. Im Modbus debug log tauchen keine Fehler auf, nur im Modbus Gerät scheint nichts anzukommen.
    Oder muss ich noch etwas aktivieren, dass wenn ein Wert geschrieben wurde, dieser dann per ModbusTCP an das Gerät übertragen wird?

    Gibt es einen Möglichkeit das Debug der Modbus Instanz (aktuell silly) noch zu erweitern, um zu sehen, welcher HEX Befehl an das Gerät übertragen wurde?

    lg Frank

    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      digidax
      schrieb am zuletzt editiert von digidax
      #2

      Ich habe mal mit TCP dump mitgeloggt. Im Dump taucht immer nur "Read Holding Regsiter" auf. Kein Write, obwohl ich im IO Broker Log

      States user redis pmessage modbus.1.*/modbus.1.holdingRegisters.72801_RTC:{"val":569154562081819400,"ack":true,"ts":1668494771239,"q":0,"c":"script.js.test_datum","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1668494771239}
      

      stehen habe.

      Wert lesen (Read Holding Register) funktioniert nur das Schreiben nicht.

      Einstellung Register:

      {
        "_id": "modbus.1.holdingRegisters.72801_RTC",
        "type": "state",
        "common": {
          "name": "",
          "role": "value",
          "type": "number",
          "read": false,
          "write": true,
          "def": 0,
          "unit": ""
        },
        "native": {
          "regType": "holdingRegs",
          "address": 32800,
          "deviceId": 1,
          "type": "uint64be",
          "len": 4,
          "offset": 0,
          "factor": "1",
          "poll": false
        },
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        },
        "from": "system.adapter.modbus.1",
        "user": "system.user.admin",
        "ts": 1668494751525
      }
      

      PlatformBetriebssystem:linux
      Architektur:arm
      CPUs:4
      Geschwindigkeit:1200 MHz
      Modell:ARMv7 Processor rev 4 (v7l)
      RAM:926 MB
      System-Betriebszeit:90 T. 14:54:37
      Node.js:v16.15.1
      time:1668495277518
      timeOffset:-60
      Adapter-Anzahl:444
      NPM:8.11.0
      Datenträgergröße:14.1 GB
      Freier Festplattenspeicher:10.3 GB
      Betriebszeit:66 T. 23:56:38
      Aktive Instanzen:7
      Pfad:/opt/iobroker/
      aktiv:true
      _nodeCurrent:16.15.1
      _nodeNewest:16.18.1
      _nodeNewestNext:16.18.1
      _npmCurrent:8.11.0
      _npmNewest:8.11.0
      _npmNewestNext:8.19.2

      Adapter Modbus, Installierte Version: 5.0.5

      ? 1 Antwort Letzte Antwort
      0
      • D digidax

        Ich habe mal mit TCP dump mitgeloggt. Im Dump taucht immer nur "Read Holding Regsiter" auf. Kein Write, obwohl ich im IO Broker Log

        States user redis pmessage modbus.1.*/modbus.1.holdingRegisters.72801_RTC:{"val":569154562081819400,"ack":true,"ts":1668494771239,"q":0,"c":"script.js.test_datum","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1668494771239}
        

        stehen habe.

        Wert lesen (Read Holding Register) funktioniert nur das Schreiben nicht.

        Einstellung Register:

        {
          "_id": "modbus.1.holdingRegisters.72801_RTC",
          "type": "state",
          "common": {
            "name": "",
            "role": "value",
            "type": "number",
            "read": false,
            "write": true,
            "def": 0,
            "unit": ""
          },
          "native": {
            "regType": "holdingRegs",
            "address": 32800,
            "deviceId": 1,
            "type": "uint64be",
            "len": 4,
            "offset": 0,
            "factor": "1",
            "poll": false
          },
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          },
          "from": "system.adapter.modbus.1",
          "user": "system.user.admin",
          "ts": 1668494751525
        }
        

        PlatformBetriebssystem:linux
        Architektur:arm
        CPUs:4
        Geschwindigkeit:1200 MHz
        Modell:ARMv7 Processor rev 4 (v7l)
        RAM:926 MB
        System-Betriebszeit:90 T. 14:54:37
        Node.js:v16.15.1
        time:1668495277518
        timeOffset:-60
        Adapter-Anzahl:444
        NPM:8.11.0
        Datenträgergröße:14.1 GB
        Freier Festplattenspeicher:10.3 GB
        Betriebszeit:66 T. 23:56:38
        Aktive Instanzen:7
        Pfad:/opt/iobroker/
        aktiv:true
        _nodeCurrent:16.15.1
        _nodeNewest:16.18.1
        _nodeNewestNext:16.18.1
        _npmCurrent:8.11.0
        _npmNewest:8.11.0
        _npmNewestNext:8.19.2

        Adapter Modbus, Installierte Version: 5.0.5

        ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von
        #3

        @digidax
        Haken bei "CW" ?

        Wenn ja ? bin ich raus.
        Modbus hat zuviel Lebenszeit gefressen :)

        D 1 Antwort Letzte Antwort
        0
        • ? Ein ehemaliger Benutzer

          @digidax
          Haken bei "CW" ?

          Wenn ja ? bin ich raus.
          Modbus hat zuviel Lebenszeit gefressen :)

          D Offline
          D Offline
          digidax
          schrieb am zuletzt editiert von
          #4

          @dreistein ja, auch mit CW gesetzt, trotzdem kein TCP traffic.

          ? 1 Antwort Letzte Antwort
          0
          • D digidax

            @dreistein ja, auch mit CW gesetzt, trotzdem kein TCP traffic.

            ? Offline
            ? Offline
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von
            #5

            @digidax
            Ich bin ja doch neugierig:

            Warum wird das Register 72801 in die Adresse 32800 geschrieben ?
            Und du bist sicher das der Wert an eine gerade Adresse geschrieben werden soll ?
            Und was ist das für ein Gerät ?

            D 1 Antwort Letzte Antwort
            0
            • ? Ein ehemaliger Benutzer

              @digidax
              Ich bin ja doch neugierig:

              Warum wird das Register 72801 in die Adresse 32800 geschrieben ?
              Und du bist sicher das der Wert an eine gerade Adresse geschrieben werden soll ?
              Und was ist das für ein Gerät ?

              D Offline
              D Offline
              digidax
              schrieb am zuletzt editiert von digidax
              #6

              @dreistein

              Das ist ein PV Wechselrichter. Auslesen vom Holding Register klappt wunderbar.

              Das zu schreibende Regsiter hat laut Doku die Adresse 8020 hex. Das entspricht 32800 dez.
              Da ich im Adapter Alias aktiviert haben muss ich 40001 addieren und komme auf 72801 dez.
              Mit den so errechneten Werten funktioniert jedenfalls das Lesen aus dem Holding Register.

              laut Doku ist diese Adresse mit eine Wortlänge von 4 schreibbar. In dieser Adresse wird Datum und Uhrzeit gesetzt. z.B. 2015-1-2 10:11:12 müsste mit 07DF 01 02 0A 0B 0C 00 geschrieben werden.

              Selbst wenn es das falsche Regsiter wäre oder das Gerät es nicht verarbeiten könnte, weil es falsche Werte sind, müsste doch im TCP Dump ein Schreibbefehl geloggt werden. Möglich wäre laut Doku:

              0x03:Read multiple registers
              0x06:Write single register
              0x10:Write multiple registers

              Ich sehe aber nur 0x03 Kommunikation (lesen) während CW aktiviert ist und ich per MQTT die Werte aktualisiere, die Objekte werden grün und im Modbus Log von IO Broker sehe ich, dass angeblich Daten übertragen werden, nur im TCP Dump taucht davon nix auf.
              5124feff-93bb-4195-af4f-5c30e81566b3-grafik.png

              Schön, dass ich Dein Interesse geweckt habe und Danke fürs damit beschäftigen.
              Ja, auch ich habe schon wegen Mobus ein Teil meiner Haarpracht eingebüßt. :grin: :grin: :grin:

              D 1 Antwort Letzte Antwort
              0
              • D digidax

                @dreistein

                Das ist ein PV Wechselrichter. Auslesen vom Holding Register klappt wunderbar.

                Das zu schreibende Regsiter hat laut Doku die Adresse 8020 hex. Das entspricht 32800 dez.
                Da ich im Adapter Alias aktiviert haben muss ich 40001 addieren und komme auf 72801 dez.
                Mit den so errechneten Werten funktioniert jedenfalls das Lesen aus dem Holding Register.

                laut Doku ist diese Adresse mit eine Wortlänge von 4 schreibbar. In dieser Adresse wird Datum und Uhrzeit gesetzt. z.B. 2015-1-2 10:11:12 müsste mit 07DF 01 02 0A 0B 0C 00 geschrieben werden.

                Selbst wenn es das falsche Regsiter wäre oder das Gerät es nicht verarbeiten könnte, weil es falsche Werte sind, müsste doch im TCP Dump ein Schreibbefehl geloggt werden. Möglich wäre laut Doku:

                0x03:Read multiple registers
                0x06:Write single register
                0x10:Write multiple registers

                Ich sehe aber nur 0x03 Kommunikation (lesen) während CW aktiviert ist und ich per MQTT die Werte aktualisiere, die Objekte werden grün und im Modbus Log von IO Broker sehe ich, dass angeblich Daten übertragen werden, nur im TCP Dump taucht davon nix auf.
                5124feff-93bb-4195-af4f-5c30e81566b3-grafik.png

                Schön, dass ich Dein Interesse geweckt habe und Danke fürs damit beschäftigen.
                Ja, auch ich habe schon wegen Mobus ein Teil meiner Haarpracht eingebüßt. :grin: :grin: :grin:

                D Offline
                D Offline
                digidax
                schrieb am zuletzt editiert von digidax
                #7

                Ich habe gerade mal einen Test gemacht und schreibe in Adresse 53893 (-40001= 13892 dez = 3644 hex ) des Holding Registers, das funktioniert komischerweise.

                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate
                FAQ Cloud / IOT
                HowTo: Node.js-Update
                HowTo: Backup/Restore
                Downloads
                BLOG

                312

                Online

                32.5k

                Benutzer

                81.7k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe