LabVIEWForum.de
Auslesen von M-Bus Geräten über Pegelwandler - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: Auslesen von M-Bus Geräten über Pegelwandler (/Thread-Auslesen-von-M-Bus-Geraeten-ueber-Pegelwandler)



Auslesen von M-Bus Geräten über Pegelwandler - newlabviewer1 - 11.01.2011 10:34

Hallo Zusammen,

ich habe ein Problem beim auslesen von M-Bus Geräten und hoffe jemand hier hat evtl. schon Erfahrung damit und kann mir zumindest teilweise dabei helfen.
Ich verwende noch LV 7.1.

Ich möchte 2 unterschiedliche M-Bus Geräte über Labview auslesen. Dazu habe ich Sie an einem Pegelwandler (PW20; Relay) angeschlossen und den wandler über RS232 an den Pc angeschlossen.
Die Geräte hab ich über eine Software des Pegelwandler-Herstellers konfiguriert (Adresse etc..).
Das M-Bus Protokoll liegt mir vor und es gelingt mir Befehle an die Geräte zu senden und zu Empfangen.

1. Problem: die Befehle werden in ASCII übertragen und müssen in Hex gewandelt werden. Die Anzeige des Bedienelements auf HEX umzustellen genügt mir hierbei nicht. Daher wandle ich etwas aufwändig, die einzelnen Bestandteile des ASCII-Strings in Byte-Arrays und anschließend nach Fließkommazahl um. Dies funktioniert so einigermaßen aber nicht 100% zufriedenstellend.
->kennt jemand eine bessere oder komfortablere Lösung bei nicht jeder einzelne Bestandteil des ASCII-Strings auf diese weise Umgewandelt werden muss?

2. Problem:
Ich weiß Anhand der Übertragungsprotokolle der beiden Geräte wie der Antwortstring aufgebaut ist und an welcher Stelle sich mein gewünschter Zahlenwert befindet, mir gelingt es jedoch nicht diesen Wert in den richtigen Dezimalwert umzuwandeln (den ich am Messgerät ablesen kann)
-> z.B. Hex: 910E 0000 = 273,5 Dez ;
wenn nur eine Stelle des 8 stelligem Codes belegt funktioniert die Umrechnung:
->z.B. Hex: F700 0000 = 247 Dez ;

Ich weiß, dass diese Frage sehr M-Bus Protokoll spezifisch ist, aber ich komm einfach nicht auf die Umrechnung des Wertes wenn mehrere HEX Stellen verwendet werden. Vielleicht hat ja jemand M-Bus Erfahrung und kann mir weiterhelfen (oder sogar ein VI).
Ich hab schon alle möglichen logiken verwendet; als nächsten Schritt würde ich mich wahrscheinlich an den Messgeräte-Hersteller wenden.

Vielen Dank schonmal und Grüße! Wink


Auslesen von M-Bus Geräten über Pegelwandler - newlabviewer1 - 13.01.2011 12:59

Hallo Zusammen,

zu Problem1: den ASCII String wandle ich immer noch über die Byte-Arrays in dez.
zu Problem2: Das Problem bestand darin das die Werte sogar innerhalb einer! Hexantwort unterschiedlich codiert sind, mal in 32 Bit real; mal in 8 Digit BCD; 16 Bit Integer usw. Es ist also zwingend notwendig das M-Bus Protokoll des Gerätherstellers zu besitzen um die Antwort einwandfrei entschlüsseln zu können und sich dann die Arbeit zu machen alles auseinander zu pflücken...

Grüße!