Wie schreibt man einen Wert in das Modbus-Holding- Register?

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Gast

    #1

    Wie schreibt man einen Wert in das Modbus-Holding- Register?

    Ich habe einen Eastron SDM120M Energiezähler gekauft, der an den Modus angeschlossen werden kann, um die Messwerte zu lesen. Ich habe auch die Modus-Extension von Loxone gekauft und konnte einige der Adressregister lesen, so dass das gut funktioniert.

    Die Standard-Baudrate ist 2400, möchte das aber in 9600 ändern (für die es auch geeignet ist). Sie müssen 3 Sekunden lang eine Taste am SD120M-Gerät drücken, damit es sich im "Set"-Modus befindet.

    Dann muss ich einen Wert von 2 (Bedeutung 9600 Baud) in ein bestimmtes Register schreiben.

    Ich kann wahrscheinlich ein anderes Programm und ein separates USB-RS485-Gerät (das ich derzeit nicht habe) verwenden, aber kann das auch mit Loxone gemacht werden? Bisher habe ich es versucht, aber es ist mir nicht gelungen.

    Function code 10 to set holding parameter ,function code 03 to read holding parameter
    40029 Baud rate Float 00 1C 0:2400bps(default)
    1:4800bps
    2:9600bps
    5:1200bps
    Wenn ich Recht habe, muss ich einen Wert von in das Register mit der Adresse 28 schreiben. Der genannte Funktionscode 10 ist in der Modbus-Einstellung nicht verfügbar, nur 16?

    Wer hat Erfahrung damit?
  • Tico
    Lox Guru
    • 31.08.2016
    • 1035

    #2
    Können Sie einen Screenshot der Eigenschaften des von Ihnen erstellten Modbus Aktuators veröffentlichen?
    Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

    Kommentar


    • Gast
      Gast kommentierte
      Kommentar bearbeiten
      Alle Informationen finden Sie in diesem Dokument: http://www.eastroneurope.com/media/_...20PROTOCOL.pdf

      PS Ich spreche auch kein Deutsch aber Niederlandisch. Gib DeepL Translate die Schuld, wenn ich unverständlich bin. ;-)
  • Tico
    Lox Guru
    • 31.08.2016
    • 1035

    #3
    Ich denke, die folgenden Screenshots passen zu 9600 Baud.

    Beachten Sie, dass der Analogeingang nur zwei Werte (0 oder 2) hat. Auf diese Weise schreiben Sie nur 2400 oder 9600.

    Möglicherweise müssen Sie von 2 auf 0 bis 2 wechseln, um sicherzustellen, dass der Wert in den Modbus-Stellantrieb geschrieben wird. Starten Sie dann das SDM120 neu und ändern Sie den Loxone Modbus-Server auf 9600 Baud.

    Hatten Sie beim Lesen der vorhandenen Modbus-Sensoren Erfolg mit dem veröffentlichten Registerwert oder dem Registerwert -1?
    Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

    Kommentar


    • Gast
      Gast kommentierte
      Kommentar bearbeiten
      Welches Feld haben Sie verwendet, um eine 2 (also 9600 Baud) in das Modbusregister zu schreiben? Haben Sie dafür das Feld Maximum Value (unter Validation) verwendet?

      Ich war erfolgreich beim Lesen einiger Registerwerte. Hat die Adresse -1 nicht verwendet (dachte, dass diese nur als Standard ausgefüllt wurde, aber nicht als gültiger Registerwert in Loxone).

      PS Ich leihe mir einen USB zu RS485 Konverter von Moxa und es ist mir gelungen, damit die Standardadresse und Baudrate zu ändern, möchte aber trotzdem herausfinden, ob ich das auch mit Loxone machen kann.

      Das Dokument in meinem vorherigen Beitrag scheint zu einer neueren Version des SMD120 zu gehören, da es Baudraten größer als 9600 anzeigt, die beim Versuch der Einstellung Fehler verursachen.

      Ich habe das SDM120 bei AliExpress gekauft, das nur bis zu 9600 Bit unterstützt. Dieses Dokument scheint besser zu der Version zu passen, die ich habe: https://drive.google.com/file/d/0Bw1...sxZnJ6VWM/view

    • Tico
      Tico kommentierte
      Kommentar bearbeiten
      Das zweite Bild oben ist ein virtueller Eingang, der einen Analogwert an den Modbus-Aktuator sendet. Es ist so eingerichtet, dass es entweder eine 0 oder 2 sendet.

      In der Loxone App sehen Sie ein + und -, um zwischen 0 und 2 umzuschalten.

      Die Adresse -1 sollte nicht wörtlich genommen werden. Wenn das Modbus-Dokument eine bestimmte Registeradresse für die Baudrate veröffentlicht -

      z.B. 40029

      Dies kann als 40029 oder 40028 eingegeben werden (abhängig vom Hersteller).

      40028 ist (-1) aus dem veröffentlichten Register.
Lädt...