Ankündigung

Einklappen
Keine Ankündigung bisher.

Per Modbus gelieferte Zahlen werden nur als positive Werte korrekt dargestellt

Einklappen
Dieser Beitrag wurde beantwortet.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    X1 Per Modbus gelieferte Zahlen werden nur als positive Werte korrekt dargestellt

    Moin

    irgendwie stehe ich mal wieder auf dem Schlauch.

    Ich frage meine E3DC S10E mittels Modbus (verwende den Baustein Modbus von Gira) und soweit alles gut.

    Ich bekomme jetzt nur keine negativen Werte angezeigt. Ich habe den Baustein auf 32 Bit signed eingerichtet . Die Anzeigedatenpunkte als variable DP 32bit mit Vorzeichen.

    Jetzt könnte ich bei allen Werte größer 32768 minus 65536 rechnen, dann müsste es wieder stimmen, aber das kann doch nicht die Lösung sein.

    Was mache ich falsch?

    Danke für eure Hinweise

    Ludger
  • Als Antwort markiert von Birlud am 07.10.2026, 14:59.

    Du musst beachten, dass die Länge 2 ist. Also Batterie Leistung ist 40070 + 40071 -> 2 x 2Byte bzw. 2 x 16bit.
    grafik.png​

    Das klingt, als ob da nur 1x16bit eingelesen wird. Du müsstest wahrscheinlich beide words separat einlesen und zusammensetzten.
    Auch darauf achten, ob es sich um "low word first" handelt.
    Zuletzt geändert von r4id; 07.10.2026, 15:00.

    Kommentar


      #2
      Wie ist denn die Registerdefinition deines Modbus Gerätes? Bringt ja nix im X1 Signed zu verwenden wenn das Register unsigned Werte hat.
      Zuletzt geändert von MarcoLanghans; 07.10.2026, 13:23.

      Kommentar


        #3
        Du musst beachten, dass die Länge 2 ist. Also Batterie Leistung ist 40070 + 40071 -> 2 x 2Byte bzw. 2 x 16bit.
        grafik.png​

        Das klingt, als ob da nur 1x16bit eingelesen wird. Du müsstest wahrscheinlich beide words separat einlesen und zusammensetzten.
        Auch darauf achten, ob es sich um "low word first" handelt.
        Zuletzt geändert von r4id; 07.10.2026, 15:00.

        Kommentar


          #4
          Habe es jetzt mal über ein Testprogramm ausgelesen , scheint einmal die richtige Zahl +/- auszugeben und in den weiteren 16Bit 0 bei plus und -1 bei negativen Zahlen . Werde den baustein jetzt mal auf 16Bit umstellen und ein Register unbeachtet lassen.

          Verstehen tue ich es nicht wirklich aber wenn es hilft ....

          Upps , hatte die letzte Rückmeldung noch gar nicht gelsen. Sry und danke!

          Kommentar

          Lädt...
          X