![]() |
Single Werte bei Modbus, Delphi 7 und IEEE754
Die HEX- Darstellung von Single Werten bei Modbus, Delphi7 und der IEEE754 Norm Unterscheidet sich ein wenig.
Da ich ein wenig gebraucht habe, um da durchzusteigen, hier ein kleiner Hinweis. Legende: M= Mantisse S= Vorzeichen- Bit E= Exponent Modbus: MMMM MMMM MMMM MMMM SEEE EEEE EMMM MMMM Byte3 Byte4 Byte1 Byte2 Delphi (und C++): MMMM MMMM MMMM MMMM EMMM MMMM SEEE EEEE Byte4 Byte3 Byte2 Byte1 IEEE 754 Standard: SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM Byte1 Byte2 Byte3 Byte4 ---------------------------------------->> Reihenfolge Tschö |
Re: Single Werte bei Modbus, Delphi 7 und IEEE754
Scheint mir eher ein Problem der Byte Order zu sein (Motorola <-> Intel) als der Codierung an sich. Ich würde die Datenbytes richtig umkehren/drehen wenn eine solche Konvertierung an einer Schnittstellenseite nötig wird.
Der IEE754 Standard sieht es sogar genauso wie Delphi und C++. Der Standard geht von einer Standardansicht aus (LSB->MSB) und deine Darstellung ist schon die direkte "verdrehte" Intel Byte Order auf dem PC im Speicher. Der ModBus wiederrum überträgt es richtig, aber es wird nicht im Inteldesign vertauscht. Die letzte Tatsache würde bedeuten, der Wert wird byteweise eingelesen und nicht wordweise, dann sollte dies wieder mit deiner Delphi/C++ Darstellung übereinstimmen. Damit wäre dann auch gleichzeitig die IEE754 Darstellung erfüllt. |
Re: Single Werte bei Modbus, Delphi 7 und IEEE754
Hallo
... bei manchen Modbus - Geräten ist dieses Verhalten einstellbar. (SWAP = True / False) Dein Freund ist übrigens auch die gleichnamige Delphi-Funktion Swap: Die Funktion Swap vertauscht das höherwertige mit dem niederwertigen Byte eines 16-Bit-Wertes. Gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz