Modbus - Mask Write Register (0x16) Workaround gesucht

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • raffy
    Azubi
    • 03.09.2016
    • 1

    #1

    Modbus - Mask Write Register (0x16) Workaround gesucht

    Hallo liebe Community,
    ich möchte über Modbus RTU bei einer Registeradresse nur 1 einzelnes Bit schreiben. Leider fehlt in der Config die Möglichkeit der Funktion "Mask Write Register".
    Hat jemand eine Idee wie man das umsetzen kann?
    Vielen Dank für eine Workaround Hilfe.
  • Labmaster
    Lox Guru
    • 20.01.2017
    • 2696

    #2
    Read Modify Write !
    Also das Register erst lesen dann das/die Bit(s) entsprechend modifizieren (And, Or, Xor ...) und den neuen Wert zurückschreiben.


    Je nachdem wer das System entworfen hat gibt es auch öfter mal die Möglichkeit, dass Coil Adressen mit den norm Adressen überlappt wurden.
    Ist eher selten und eigentlich so im Modbus Standard gar nicht vorgesehen, aber mir trotzdem schon untergekommen.

    Also Mobus Coil Adresse 0 bis 15 spricht die 16 Bits von z.B. Modbus Adresse 1 an, Mobus Coil Adresse 16 bis 31 spricht die 16 Bits von z.B. Modbus Adresse 2 an usw ...teils auch mit Offset . So etwas sollte dann aber dokumentiert sein.



    Kommentar


    • raffy
      raffy kommentierte
      Kommentar bearbeiten
      Danke vielmals für deine Nachricht. Du meinst also mit Binärdekodierer, dann Werte zwischenspeichern bzw adaptieren und dann wieder Binärkodierer und Register schreiben, oder?
Lädt...