Modbus RTU Float lesen

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

Modbus RTU Float lesen

Beitrag von h.pantel » Mittwoch 14. Januar 2009, 15:21

Hallo,

ich habe ein Red-y Flow-Sensor von der Firma Vögtlin www.voegtlin.com und möchte die Gas-Flow-Werte aus lesen.
Hier das dazu gehörige Handbuch
http://voegtlin.sharepointhosting.ch/DOCUMENTS/329-3027_de_manualsmart110.pdf
Leider fehlt mir das Fachwissen wie ich den Modbus RTU einstellen muss. Vielleicht kann mir einer von euch dabei helfen.
Gruß
Zuletzt geändert von h.pantel am Mittwoch 25. August 2010, 12:39, insgesamt 1-mal geändert.

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

Re: Modbus RTU für Vögtlin Red-y

Beitrag von abacom » Sonntag 18. Januar 2009, 18:04

Viel Info!

Also zunächst gilt es 4 Bytes aus aufeinander folgenden Register-Adressen zu lesen (mit ModbusFunktion #3).

Das ist noch recht einfach... siehe Anlage.

Dann muss man die 4 Bytes noch in einen 32-Bit Float umrechnen. Wie das geht ist mir auf Anhieb auch nicht ganz klar.
Da hilft nur lesen, lesen, lesen bis man die Codierung versteht...z.B.

http://de.wikipedia.org/wiki/IEEE_754
Dateianhänge
red-y.prj
(2.85 KiB) 397-mal heruntergeladen
ABACOM support

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

Re: Modbus RTU für Vögtlin Red-y

Beitrag von h.pantel » Montag 19. Januar 2009, 08:27

Hallo,

gibt es die Möglichkeit eigene Bausteine zu programmieren?
Ich habe nämlich fertige Programme in C/C++ und Visualbasic wie bereits geschrieben.
Vielleicht auch nur für die Umrechnung von 4 auf 32 bit, denn der Modbus 3 funktioniert schon mit Einschränkungen.
Das Signal am Ausgang Reg1 ist nicht korrekt. Alle anderen Signale sind Okay (ERR, CN, BSY).

Gruß Hermann

Mike D
Beiträge: 515
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Modbus RTU für Vögtlin Red-y

Beitrag von Mike D » Montag 19. Januar 2009, 11:34

Jo, gibt es.
Sieh dir die PL-Beispiele zur DLL-Programmierung an.
C:\Programme\ProfiLab-Expert40\Beispiele\COUNTERDLL-C++Builder source

Mike

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

Re: Modbus RTU Float 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) 520-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 ;)

simon24j
Beiträge: 31
Registriert: Sonntag 15. Mai 2011, 14:36

Re: Modbus RTU Float lesen

Beitrag von simon24j » Freitag 20. Juli 2012, 12:35

Hallo,

können Sie mir verraten wie Sie das mit dem Float hinbekommen haben?

Besten Dank

simon24j
Beiträge: 31
Registriert: Sonntag 15. Mai 2011, 14:36

Re: Modbus RTU Float lesen

Beitrag von simon24j » Freitag 20. Juli 2012, 16:27

Hat sich erledigt, man sollte vorher genau lesen :-(

Antworten

Zurück zu „Thema Modbus“