Modbus TCP - kann ich die Funktion 10 Write Multiple Register irgendwie umgehen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • gtrdriver
    LoxBus Spammer
    • 08.05.2016
    • 282

    #1

    Modbus TCP - kann ich die Funktion 10 Write Multiple Register irgendwie umgehen

    Hallo zusammen

    Ich hab hier ein Modbus Gerät welches ich gerne mittels Loxone einbinden würde - soweit alles gut - Das Lesen der Holding Register (Befehl3) klappt einwandfrei.
    Ich müsste aber auch 1 Wert zum Gerät senden und auch wenn es nur 1 Wert ist dann verlangt das Gerät den Befehl "10 - Write Multiple Register".

    Der MS kann aber offenbar schreibend nur "5 - 6 - 15 - 16" und auf diesen Funktionscodes ist Das Gerät "taub"....

    Hab mich schon so gefreut dass das Lesen klappt - jetzt kann ich nciht "schreiben"

    Hat irgendwer ne Idee ob und wie man das umgehen kann ?

    Grüße

  • SPS-Guru
    Smart Home'r
    • 27.12.2022
    • 64

    #2
    Hallöchen

    Eigentlich gibt es in der Standarddefinition des Modebusprotokolls kein Funktionscode "10".
    Normalerweise ist "Function Code 16 = Write Multiple Holding Registers"
    Kann es sein das in der Beschreibung die "16" als HEX-Zahl = 10 angegeben ist.
    In diesem Fall müsstet Du auch bei den Reisteradressen darauf achten dass diese ev. in HEX dargestellt sind.

    Um was für ein Gerät handelt es sich denn?

    Kommentar

    • gtrdriver
      LoxBus Spammer
      • 08.05.2016
      • 282

      #3
      Hallo

      Erstmal danke für deinen Post

      Das ist ein China Wechselrichter welcher mittels Modbus RTU (rs232) kommuniziert.
      An diesem hängt ein RS232RTU <> ModbusTCP LAN Converter - damit verhält er sich dann wie ein Modbus TCP Gerät.

      Unter Windows nutze ich bisher zum Testen QMODMASTER (https://sourceforge.net/projects/qmodmaster/)

      Lesen aus dem WR tue ich mit Read Holding Register (0x03) - Klappt auch mit dem MS

      Schreiben muss ich nur einen "WATT Wert" (0-2000)

      Mit dem QmodMaster klappt das nur mit Write Multiple Registers (0x10):

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

Name: image.png
Ansichten: 491
Größe: 33,3 KB
ID: 406807



      Kommentar


      • Loxtom577
        Loxtom577 kommentierte
        Kommentar bearbeiten
        0x10 ist Hex, in Dezimal entspricht das 16.

      • SPS-Guru
        SPS-Guru kommentierte
        Kommentar bearbeiten
        Klar ist 0x10 HEX-Format also DEZ 16 wie ich oben schon angemerkt habe.
    • gtrdriver
      LoxBus Spammer
      • 08.05.2016
      • 282

      #4
      Hallo zusammen

      Pffff - Asche über mein Haupt ... Sorry für die störung :-) Klappt natürlich !


      Wenn mal jemand Bedarf hat einen SUN1000/2000 Gtil mittels Loxone zu Steuern und auszulesen dann gern hier melden ...
      Grüße

      Kommentar


      • Prof.Mobilux
        Prof.Mobilux kommentierte
        Kommentar bearbeiten
        Mach doch einen kleinen Artikel im LoxWiki dazu!
    • gtrdriver
      LoxBus Spammer
      • 08.05.2016
      • 282

      #5
      Hallo

      tanke für den Hinweis - ja - gute Idee - hab ich noch nie gemacht - muss ich mich mal anmelden !

      Kommentar

      • gtrdriver
        LoxBus Spammer
        • 08.05.2016
        • 282

        #6
        Zitat von gtrdriver
        Hallo zusammen

        Pffff - Asche über mein Haupt ... Sorry für die störung :-) Klappt natürlich !


        Wenn mal jemand Bedarf hat einen SUN1000/2000 Gtil mittels Loxone zu Steuern und auszulesen dann gern hier melden ...
        Grüße
        Nachtrag: Hab jetzt nen WIKI Eintrag erstellt - hoffe der ist verständlich ... - wünsche allen eine gute Zeit !

        Kommentar


        • SPS-Guru
          SPS-Guru kommentierte
          Kommentar bearbeiten
          Danke !
      Lädt...