-> Hier kostenlos registrieren
Guten Nachmittag zusammen,
ich habe mit der Interpretation einer Angabe aus der Betriebsanleitung eines Sensors Probleme.
Dort wird gesagt: "Der Datentransfer verwendet als Daten-Format Little Endian. Hier wird das Byte mit den niederwertigsten Bits (am wenigsten signifikante Stellen) zuerst gespeichert, d.h. an der kleinsten Speicheradresse".
Die Daten eines Messwerttelegrammes werden in einem DB (schön strukturiert mit UDTs) abgelegt.
In dem Telegramm sind z.b. Messwert (32 Bit), Timestamp (32 Bit), Status (16Bit) & Fehlerwert (16Bit) enthalten.
Der Messwert wird in nm übergeben!
Jetzt steh ich irgendwie auf dem Schlauch mit der Umrechnung der Messwerte in weiterverarbeitbare mm-Werte (Abstandswerte).
(Screenshot aus dem DB im Anhang)

Ich dachte mir dass eine Wandlung z.B. so erfolgen könnte:
Leider gibt die Umwandlung aber Messwerte heraus, die einfach nicht stimmen können, da sie den Messbereich des Sensors bei weitem überschreiten.
Hat jemand zu dieser Thematik evtl. einen guten Vorschlag
ich habe mit der Interpretation einer Angabe aus der Betriebsanleitung eines Sensors Probleme.
Dort wird gesagt: "Der Datentransfer verwendet als Daten-Format Little Endian. Hier wird das Byte mit den niederwertigsten Bits (am wenigsten signifikante Stellen) zuerst gespeichert, d.h. an der kleinsten Speicheradresse".
Die Daten eines Messwerttelegrammes werden in einem DB (schön strukturiert mit UDTs) abgelegt.
In dem Telegramm sind z.b. Messwert (32 Bit), Timestamp (32 Bit), Status (16Bit) & Fehlerwert (16Bit) enthalten.
Der Messwert wird in nm übergeben!
Jetzt steh ich irgendwie auf dem Schlauch mit der Umrechnung der Messwerte in weiterverarbeitbare mm-Werte (Abstandswerte).
(Screenshot aus dem DB im Anhang)

Ich dachte mir dass eine Wandlung z.B. so erfolgen könnte:
Code:
//Little to Big Endian wandeln
L DB???.Block.Frame[25].Messwert[1].Messwert_LE
TAD
T #Temp_Messwert_BE
//...#Temp_Messwert_BE ist vom Typ DINT
//Konvertierung als Real-Zahl
L #Temp_Messwert_BE
DTR
T #Temp_Real
//von nm in mm umrechnen
L #Temp_Real
L 1.00e-006
*R
T #Temp_Messwert_mm
Leider gibt die Umwandlung aber Messwerte heraus, die einfach nicht stimmen können, da sie den Messbereich des Sensors bei weitem überschreiten.
Hat jemand zu dieser Thematik evtl. einen guten Vorschlag