Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Daten / Telegramm

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

    - √ - Daten / Telegramm

    Hallo

    wie komme ich von dem Wert (Daten) 3E 90 auf den Dezimalwert 2150,4

    Telegramm:
    16:26:29.741 2B 06 1B 99 BC 11 6B 12 06 E3 00 80
    3E 90 E0

    Umgerechnete Daten
    3E 90 | 2150,4

    Vielen Dank für eure Hilfe

    #2
    Zitat von Höhlenbär
    Hi,

    das sind 2 Zahlensysteme
    3E 90 ist Hexadezimal
    2150,4 ist Dezimal

    Google mal nach der Umrechnung da findest du reichlich Lesestoff

    Soweit war ich auch schon aber
    3E 90 -> 16016 und jetzt wie komme ich weiter ?

    Kommentar


      #3
      Sorry hatte dann auch gesehen das ich da nicht weiter weiss
      das kann noch an der Umrechnung in den Kommawert liegen
      Gruß

      Guido

      Kommentar


        #4
        Normalerweise verschiebt man nur das Komma wenn notwendig ist. Also macht mann aus einer Kommazahl einen int Zahl

        Kommentar


          #5
          Hm da muss ich dir Recht geben so einfach wie es auf den ersten Blick aussieht ist es nicht.
          Ich sehe da auch nicht wirklich einen Zusammenhang
          Gruß

          Guido

          Kommentar


            #6
            Zitat von ekinbx Beitrag anzeigen
            wie komme ich von dem Wert (Daten) 3E 90 auf den Dezimalwert 2150,4
            Maybe here ?!? see post from Alain ?!?
            It's in french but heck, Perl is Perl

            Kommentar


              #7
              Eigentlich ganz einfach, wenn man sich mit den KNX-Datentypen mal auseinandersetzt.
              Lies mal hier und lade das ZIP von der Konnex über den angegebenen Link.

              Interessant für dich: wahrscheinlich Seite 31
              Gruss aus Radevormwald
              Michel

              Kommentar


                #8
                Zitat von ekinbx Beitrag anzeigen
                Hallo

                wie komme ich von dem Wert (Daten) 3E 90 auf den Dezimalwert 2150,4

                Telegramm:
                16:26:29.741 2B 06 1B 99 BC 11 6B 12 06 E3 00 80
                3E 90 E0

                Umgerechnete Daten
                3E 90 | 2150,4

                Vielen Dank für eure Hilfe

                Hier die Umrechnung (sogar in Farbe)

                Dein Wert
                3E90 (hex) ist Binär geschrieben 0110 1110 1001 0000 (bin)

                Lt. Kapitel 3.10 Datapoint Types “2-Octet Float Value” des (von Michel) erwähnten Dokumentes "Datapoint Types" ist dieser Binär-Wert folgendermassen kodiert:

                Code:
                [B]0011 1110 1001 0000 (bin) = 3E90 (hex)[/B]
                [B][COLOR=DarkGreen]M[/COLOR][COLOR=DarkOrange]EEE E[/COLOR][COLOR=DarkGreen]MMM MMMM MMMM[/COLOR][/B]


                Damit ergibt sich:
                M = 690 (hex) = 1680 (dez)

                E = 7 (hex) = 7 (dez)


                Lt. Dokument: FloatValue = 0,01 * M * 2^E

                Deine Werte eingesetzt:
                FloatValue = 0,01 * 1680 * 2^7 = 2150,4

                ...und da ist der Wert, den du nur noch deuten musst ;-)




                PS: ekinbx, es ist hier in diesem Forum üblich und auch netter bei der Kommunikation, wenn du dein Profil mit deinem (Vor)namen und einem Ort/Gebiet füllst.

                Kommentar


                  #9
                  Auch ich halte die Mantisse nach wie vor für eine sonderbare Unterart der Mantelrochen aber es ist ein IEEE 754.
                  Ein Float, ganz einfach, ganz strange verpackt. Normal, wenn man es mal verstanden hat, wieso man 2010 eine Fliesskommazahl mangels moderner IT-Systeme manisch depressiv in 2 Byte pressen muss
                  Konkret, wenn Dir an Code liegt auch hier unter decode_dpt9

                  Makki
                  EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                  -> Bitte KEINE PNs!

                  Kommentar


                    #10
                    Zitat von makki Beitrag anzeigen
                    wieso man 2010 eine Fliesskommazahl mangels moderner IT-Systeme manisch depressiv in 2 Byte pressen muss
                    Makki

                    Full Ack !!

                    Die nächste Steigerung sind nur noch Zeichensätze und Umlautkodierung.
                    Damit haben wir uns schon vor 20 Jahren rumgeschlagen

                    --Thomas
                    Smart homes for smart people

                    Kommentar


                      #11
                      Zitat von MarkusL Beitrag anzeigen
                      Lt. Dokument: FloatValue = 0,01 * M * 2^E
                      Ohne jetzt in die Doku zu sehen - Die Mantisse errechnet sich für negative Zahlen leicht anders

                      Wenn das erste Bit gesetzt ist, dann muß die Mantisse als negativer Integer gesehen werden, d.h.

                      (Wert + 1) negiert

                      Gruß

                      Thomas
                      Smart homes for smart people

                      Kommentar


                        #12
                        Zitat von tstalzer Beitrag anzeigen
                        Ohne jetzt in die Doku zu sehen - Die Mantisse errechnet sich für negative Zahlen leicht anders

                        Wenn das erste Bit gesetzt ist, dann muß die Mantisse als negativer Integer gesehen werden, d.h.

                        (Wert + 1) negiert

                        Gruß

                        Thomas
                        Natürlich! Die Mantisse ist im als Zweierkomplement definiert.
                        War nur in diesem Beispiel nicht nötig

                        Kommentar

                        Lädt...
                        X