Modbus RTU Float (IEEE754) lesen

Antworten
abacom
Site Admin
Beiträge: 3458
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Modbus RTU Float (IEEE754) lesen

Beitrag von abacom » Dienstag 27. Januar 2009, 21:46

Darum geht es: Input Register und Holding Register sind bei ModBus 16-Bit Integer (word). ProfiLab liefert beim Lesen der Register daher ganzahlige Werte zwischen 0 und 65535 (FFFFh) an den REGx-Ausgängen der Modbus-Komponenten.
Um nun auch Flieskommazahlen per Modbus zu übertragen wird von Geräteherstellern häufig folgender 'Trick' angewendet: Zwei aufeinanderfolgende ModBus-Register mit je 16 Bit werden gedanklich zu einem 32-Bit-Register vereint. In diese 32-Bit wird nun die Fliesskommazahl nach IEEE-754 codiert. (Welches der beiden Register das High Word und welches das Low Word ist scheint leider nicht ganz eindeutig und vom Hersteller abhängig zu sein.)

Um nun einen solchen FLOAT-Wert zu lesen, muss man also zunächst die beiden (ganzzahligen) ModBus-Register lesen, und dann aus den 32 Bits wieder die zugehörige Flieskommazahl errechnen. Siehe auch:

http://www.guidogybels.net/index.html?floats.html
http://www.h-schmidt.net/FloatApplet/IEEE754de.html

Da die Dekodierung mit ProfiLab in der Tat nicht ganz einfach ist, stellen wir anliegend ein Beispiel und ein Makro für die Dekodierung bereit (ProfiLab Expert 4.0). (Auf die vorgeschlagene Programmierung einer DLL kann man in diesem Fall wohl verzichten, wäre aber auch eine Lösung.)
Dateianhänge
IEEE754.zip
(4.91 KiB) 378-mal heruntergeladen
ABACOM support

h.pantel
Beiträge: 11
Registriert: Mittwoch 14. Januar 2009, 13:02

Re: Modbus RTU Float lesen

Beitrag von h.pantel » Mittwoch 28. Januar 2009, 07:16

Herzlichen DANK für die Info ich werde das heute mal ausprobieren!!!

Gruß Hermann

h.pantel
Beiträge: 11
Registriert: Mittwoch 14. Januar 2009, 13:02

Re: Modbus RTU Float lesen

Beitrag von h.pantel » Mittwoch 28. Januar 2009, 21:17

:D Noch mal herzlichen Dank!! Das Programm läuft einwandfrei!!!! Gruß Hermann :D ;)

Antworten

Zurück zu „Thema Modbus“