Ankündigung

Einklappen
Keine Ankündigung bisher.

Logik 4byte HEX => IEEE 754 float point

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

    Logik 4byte HEX => IEEE 754 float point

    Sollte die Funktion 4byte HEX (32-bit hexadecimal) => IEEE 754 float point umsetzen.
    z.b: HEX 41E24735 => 28.28476905822754

    Hat das jemand schon gemacht?
    sieh auch
    http://babbage.cs.qc.edu/IEEE-754/32bit.html






    #2
    2byte ist 2byte, also 16 Bit !!...

    Daher verstehe ich nicht so ganz, was Du möchtest....

    LG

    Kommentar


      #3
      Sorry ich mein natürlich 4byte in HEX = 32bit

      Ich möchte eine Umrechung
      32-bit Hexadezimal zu
      Decimal Floating-Point IEEE 754


      D.h 41E24735 ( in HEX) Ergibt 28.28476905822754 (dezimal)
      Berechung über 32bit
      Formel: V
      orzeichen * 2exponent * mantisse

      Das Vorzeichen wird aus Bit 32 gebildet. Der Exponent ergibt sich aus Bits 24-31 durch Subtraktion von 127. Die Mantisse wird aus den restlichen Bits gebildet, wobei eine nicht dargestellte 1 vorangestellt wird.

      bsp.: 41E24735 (HEX) = 010000011111000100100011100110101

      Vorzeichen = Bit 32 = 0
      Exponent = Bit 30 - 23 = 10000011 = 131 - 127 = 4
      Mantisse = Bit 22 - 0 = 1 . 11000100100011100110101 = 1.7677981

      => Messwert = 0 * 2^4 * 1,7677981 = 28,2847...

      Das ganze würd ich gerne in einer Logik verpackt haben
      Sprich: Eingabe 4byte (HEX) - Ausgabe Dezimalergebniss

      Gruß Benny


      Kommentar


        #4
        Womit sollst du das denn machen? HS?

        Prinzipiell geht das so.

        Kommentar


          #5
          Zitat von jonofe Beitrag anzeigen
          Womit sollst du das denn machen? HS?

          Prinzipiell geht das so.
          Ja mit ner HS LOGIK wäre es gewünscht
          Das Prinzip hab ich. Aber an der Umsetzung im HS scheiter ich bis jetzt.

          Kommentar


            #6
            Anbei die Lösung meiner Berechnung.



            Beim 4ByteTo32Bit Baustein wird als Eingang 2byte geschrieben.
            Der Eingang ist jedoch ein 4byte Wert.
            Nicht verwirren lassen ;-)
            Angehängte Dateien

            Kommentar


              #7
              Hallo,
              Ich möchte auch 4byte hex auf float point umwandeln mit meinem HS gibt es dafür ev. einen Baustein.
              Lg Christian

              Kommentar


                #8
                Hallo,
                ich habe nun herausgefunden dass es sich um zwei 2byte Hex Daten bzw. um zwei Dec (U) Zahlen handelt.
                Nun möchte ich diese zwei 2byte Hex Daten zu einen 4byte Hex zusammenfügen wie mache ich dies am einfachsten mit meinem HS?
                lg Christian

                Kommentar


                  #9
                  Du solltest vielleicht mal genauer beschreiben was du machen möchtest, z.B. wo die Daten herkommen.

                  Kommen der 4Byte vom Bus oder die 2Byte Werte, worum handelt es sich?

                  Ein Gerät im Netz? sind es vielleicht garnicht 4Byte sondern 2x 2Byte die einfach nur in einem String sind.

                  Willst du die per 4Byte dann auf den Bus senden. All das solltest du vielleicht mal genauer beschreiben damit dir jemand helfen kann.
                  Nils

                  aktuelle Bausteine:
                  BusAufsicht - ServiceCheck - Pushover - HS-Insight

                  Kommentar


                    #10
                    Hallo,
                    ich habe von openhab modbus tcp binding via knx Gruppenadresse die 2x 2byte welche auf zwei Modbus input register und auch auf zwei knx gruppenadressen verteilt sind, wenn ich diese 2x 2byte hintereinander auf 4byte zusammenfüge erhalte ich eine Temperatur (float 4 byte). Deshalb möchte ich diese 2x 2byte auf 4byte zusammenfügen. Wenn möglich mit meinem Homeserver.
                    Lg Christian

                    Kommentar


                      #11
                      Also da es die beiden 2Byte Werte ja nicht IEEE 754zu sein scheinen, dann nimm doch einfach das das Highbyte * 65535 + LowByte.
                      Multiplikation und Additionsbaustein.
                      Nils

                      aktuelle Bausteine:
                      BusAufsicht - ServiceCheck - Pushover - HS-Insight

                      Kommentar


                        #12
                        Hallo,
                        Wenn ich mir die Logic von der Post Nr. 6 ansehen dann komme ich mit meinen 2x2bytes (hex aus der ETS) auch zu meiner ieee 754 float. Ich müsste nur aus meinen zwei knx Gruppenadressen eine zusammenfügen welche dann die benötigten 4byte Hex beinhaltet aber wie bekomme ich dass hin?
                        Eine fertige logic für den HS von 4byte auf ieee754 gibt es noch nicht, oder doch?
                        Lg Christian

                        Kommentar


                          #13
                          Hat jemand bereits eine Lösung für 4-Byte -> Dezimalzahl? Ich lese vom SMA Energy Meter die unterschiedlichen Werte binär aus, allerdings zeigt der HS sehr seltsame Ziffernstränge, die anscheinend nicht im HEX-Format ankommen.

                          Kommentar


                            #14
                            Guten Abend zusammen,

                            ich stehe gerade vor der selben Herausforderung: aus Bsp. HEX 4411e244 soll DEC 583.53 werden.
                            Gibt es mittlerweile einen Logikbaustein, oder darf man das immer noch so lösen wie wampie es aufgezeigt hat?

                            Vielen Dank und schöne Grüsse
                            Stefan

                            Kommentar


                              #15
                              Hallo fredd45.

                              Evtl. hilft dir dieses Thema weiter:

                              https://knx-user-forum.de/forum/%C3%...ira-homeserver

                              Gruß Stefan
                              KNX mit Gira Home Server
                              TKS-IP-Gateway

                              Kommentar

                              Lädt...
                              X