![]() |
Problem Werte aus EEPROM nach FLOAT - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Problem Werte aus EEPROM nach FLOAT (/Thread-Problem-Werte-aus-EEPROM-nach-FLOAT) |
Problem Werte aus EEPROM nach FLOAT - H-STB - 30.12.2011 11:38 Hallo zusammen Theorie/Hintergrund: Ich arbeite an einer Software um Microstrain Geber auslesen zu können. Vom Hersteller habe ich eine SDK erhalten aus der hervorgeht, dass im EEPROM jedes Gebers Konstanten gespeichert sind, durch Verwendung derer der ausgegebene Bit-Wert in einen skalierten Wert mit Einheit umzuwandeln (typischerweise ein Float-Wert) Die Werte des EEPROM liegen in MSB /LSB vor (Big Endian), diese habe ich ausgelesen und versuche nun diese gemäss der Formel aus der SDK anzuwenden. In der SDK ist ebenfalls ein Beispiel für das Gain aufgeführt: EEPROM 2: 44571 EEPROM 4: 33220 die Konvertierung ergibt den Wert -1032.86499 Problem: Ich habe ein kleines VI erstellt (angehängt) um dies zu testen, aktuell sind die gelesenen Werte aus dem EEPROM darin gespeichert Nur die Float-Zahl die ausgegeben wird verfehlt meine Vorstellung bei weitem, da Sie extrem klein ist und mit Anwendung der Formel aus der SDK zu einem Inf. als Ergebnis führt Wenn ich die Zahlen aus dem Beispiel einfüge sieht es ähnlich seltsam aus, ich komme nicht einmal in die Nähe des Resultats aus dem Beispiel Daraus ziehe ich den Schluss, dass ich etwas Grundsätzlich falsch mache, ich wäre froh, wenn sich mal jemand von euch mein BSP ansehen könnte, vielleicht(wahrscheinlich) gibt es ja einen groben Fehler, den ich nicht finde... Besten Dank schon mal im Voraus Gruss STB RE: Problem Werte aus EEPROM nach FLOAT - jg - 30.12.2011 11:56 Leider zu wenig Infos, um dir eine fundierte Antwort zu geben. Ganz wichtig wäre die Information: Was sollen die beiden U16-Register EEPROM 162 & EEPROM 164 (bzw. 166 & 168) wirklich darstellen. Soll das wirklich die Darstellung einer FLOAT-Zahl im IEE 754 Format sein? Gruß, Jens RE: Problem Werte aus EEPROM nach FLOAT - H-STB - 30.12.2011 12:15 Besten Dank für deine schnelle Antwort Allright, Sorry war wohl zu sehr bemüht das ganze lesbar zu halten... In den Speicherplätzen sollen Werte abgelegt sein, mit hilfe einer Formel und dieser Werte soll der Messwert auf die Einheit G skaliert werden können. Die Formel ist: Resultat=(messwert-offset)/gain Und ja gemäss Unterlagen ist dies eine Flot Zahl im (big endian) format IEEE 754 brauchtst du noch sonstige Infos? RE: Problem Werte aus EEPROM nach FLOAT - jg - 30.12.2011 13:15 So kommt was Sinnvolles raus: [attachment=37889] Gruß, Jens RE: Problem Werte aus EEPROM nach FLOAT - Lucki - 30.12.2011 14:31 Die Umwandlung einer Gleitkommazahl in "raw bytes" (oder raw U16-Words) und wieder zurück ist normalerweise ganz einfach. Du hast pro Zahl 4 bytes (2 Words). Das entspricht einer GLeitkommazahl im SGL-Format. So geht normalerweise die Konvertierung: [attachment=37890] Es kommen allerdings andere Zahlen heraus. Aber vielleicht kannst Du mit irgendwelchen Vertauschungen noch etwas Brauchbares herauskitzeln. Edit: Habe das Vertauschen mal selbst gemacht. Damit ist dann alles OK - Problem gelöst. [attachment=37891] RE: Problem Werte aus EEPROM nach FLOAT - H-STB - 30.12.2011 17:09 Wow! Alle Achtung danke euch Habe jetzt den ganzen Nachmittag recherchiert bis ich eure schnellen Antwort bemerkte.(hatte die Autobenachrichtigung aus und wartete auf E-Mail ![]() Ein Grosses Danke für eure Hilfe! Werde mich nun ans verstehen der Unterschiede zu dem von mir gemachten machen Gruss STB Edit: habs nun verstanden, danke! |