INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Modbus inverse Float?!



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

29.11.2010, 11:13
Beitrag #1

Sebbo Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Sep 2010

2010
2010
DE

46399
Deutschland
Modbus inverse Float?!
Hi,

muss im moment eine Kommunikation per Modbus realisieren. Das Funktioniert auch soweit. Leider sind die Daten die ich einlese als "inverse Float" formatiert....

Hat jemand schonmal mit dem Datenformat was zu tun gehabt?
Ich kann mit der Bezeichnung nichts anfangen bzw weiss nicht wie ich den wert umformen muss.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.11.2010, 11:43 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2010 11:43 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.468
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Modbus inverse Float?!
Einfach mal Googeln und ersten Treffer durchlesen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.11.2010, 13:53
Beitrag #3

Sebbo Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Sep 2010

2010
2010
DE

46399
Deutschland
Modbus inverse Float?!
Jo das ist schon ein netter anfang nur leider steht da nicht wie lang die mantisse bzw der exponent ist.
Dargestellt sind auch 6 bit grosse bytes ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.11.2010, 16:01 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2010 16:27 von jg.)
Beitrag #4

Sebbo Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Sep 2010

2010
2010
DE

46399
Deutschland
Modbus inverse Float?!
So Lösung ist geschafft....
nach langem suchen die Berrechnung erfolgt nach IEEE 754 hab hier mal nen kleine VI gemacht für die Leute die ähnliche Probleme damit haben sollten
Lv09_img2


Angehängte Datei(en)
Sonstige .vi  IEEE754toFloat.vi (Größe: 12,08 KB / Downloads: 620)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.11.2010, 16:27
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Modbus inverse Float?!
Wesentlich schneller und einfacher so:
   

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.11.2010, 16:27 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2010 16:36 von jg.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Modbus inverse Float?!
Hmm.. Das Gleitkomma-Zahlenformat nach IEEE 754 ist ist genau das, was auch von Labview selbst verwendet wird. Um die 4 Byte, in denen eine SGL-Zahl gespeichert ist, in die SGL-Zahl selbst zu konvertieren, genügt normalerweise die Funktion "Typumwandlung".
Was ist denn jetzt aus dem "inverse Float"-Format geworden. Hat sich das in Nichts aufgelöst?
Außerdem: Ein SGL-Zahl braucht 4 Byte (32 Bit). Dein Array hat aber 4*16 = 64 Bit. Was soll das?
Beispiel:    
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.11.2010, 16:30
Beitrag #7

Sebbo Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Sep 2010

2010
2010
DE

46399
Deutschland
Modbus inverse Float?!
tjo das ist halt der anfänger fehler :-) bin halt nun mal neuling und bin erstmal froh das meine Lösung funktioniert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.11.2010, 16:40
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Modbus inverse Float?!
' schrieb:Außerdem: Ein SGL-Zahl braucht 4 Byte (32 Bit). Dein Array hat aber 4*16 = 64 Bit. Was soll das?
4*16bit? Wie kommst du darauf? Im VI werden doch nur Array-Element 0 und 1 verwendet. Also genau 32 bit.
Inverse Float ist nur eine andere Übertragungsreihenfolge im Modbus-Protokoll:
vgl. hier, Seite 8.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.11.2010, 17:01 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2010 17:36 von Lucki.)
Beitrag #9

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Modbus inverse Float?!
' schrieb:4*16bit? Wie kommst du darauf? Im VI werden doch nur Array-Element 0 und 1 verwendet. Also genau 32 bit.
Ja, ich habe eben nicht so wie Du den intellektuellen Auwand getrieben, mich mit den Innrereien des VI zu befassen. Ich habe nur gesehen, da gehen 64bit rein und ein SGL-Zahl komnmt raus, und das ließ mich fragen.
Unsere beider Ergebnisse stimmen übrigens nicht mit dem von Sebbo überein:
   
Edit:
Habe mir mal mal das von Jens zitierte ModBus-Protokoll angeschaut. Danach werden beim Modbus die Words 0 und 1 vertauscht. Das muß bei der Konvertierung berücksichtigt werden, dann kommt mit dem Zahlenbeispiel im Protokoll das richtige Ergebnis heraus:
   
@Sebbo (nachfolgender Beitrag): Dein Ergebnis sieht aber hier ganz anders aus..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.11.2010, 17:23 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2010 17:24 von Sebbo.)
Beitrag #10

Sebbo Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Sep 2010

2010
2010
DE

46399
Deutschland
Modbus inverse Float?!
Also ich hab gerade nochmal den ModBus abgefragt.... bei allen drei Lösungen kommt bei mir das richtige Ergebniss an. Vermutlich ist bei mir noch ein Bug bei einem der Überläufe.

Danke schonmal an euch beiden für die "schöne" Lösung
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Float mit CANopen unix1970 4 6.216 16.04.2014 15:50
Letzter Beitrag: jg
  Modbus TCP MrChipsy 1 5.939 26.06.2012 06:33
Letzter Beitrag: NWOmason

Gehe zu: