PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Umrechnung Bus-Hex in Temperaturwert



lochj
14.01.07, 10:48
Hallo,
ich will mit dem HS eine Auswertung von Temperaturen machen und wenn eine Temp. überschritten ist, soll es eine Meldung geben.

Dazu wollte ich das Temp. KO mit einem Soll-Wert vergleichen. Nur ich weiß nicht, wie ich den Vergleichswert bestimmen soll.

Im Monitor habe ich mir das KO angschaut da steht dann z.B. bei Daten Wert(Hex) 80 19 0f und das ist eine Temperatur von 21,68.

Wie komme ich darauf. Denn als Vergeichswert muss ich doch einen Hexwert eintragen!?

Gruß Jörg

colt
14.01.07, 11:44
Ist das Temp-KO im HS auf EIS5?

Größer-gleich usw. sind Standardbausteine im Grafischen Logikeditor.

lochj
14.01.07, 12:05
Also die Werte kommen von einem Triton RTR Schalter und vom B&J Panel.
Diese Werte kommen dann über einen 16 Bit KO in den HS. Dort will ich Sie mit >= Vergleichen. Doch für diesen Vergleich muss ich einen Wert eingeben und dieser muss, nach meiner Vorstellung, in Hex sein.

So, nun hatte ich versucht zu verstehen, wie aus dem Hexwert, der auf den Bus rumsaust, ein Dezimalwert wird. Und alle Hex to Dez Umrechnungen passen nicht.
Ich komme vom 0x19 0F einfach nicht auf den Wert 21,68(0x19=25 und 0x0F=15 also 25,15)! Stelle mich zu Blöd dazu an. Ist ja eigentlich nur eine Umrechnung:o

Gruß Jörg

colt
14.01.07, 12:32
keine Pankik, die Werte sind im HS dezimal;)
Im Vergleichern muss nur der Temp.-Wert (Bsp. 21.6) eingetragen werden.

Um zu sehen was passiert lege die KOs in der HS-Visu an. Dies schafft beim Testen oft Klarheit.

Michel
14.01.07, 13:09
Du musst für die KO´s im Homeserver den Datentyp 16-bit EIS5 einstellen!
Der Wert wird dann korrekt in den dezimalen Temperaturwert umgerechnet und kann ohne Konvertierung dann von dir für die Vergleiche genutzt werden.

Mit korrektem Datentyp sieht das im HS-Monitor so aus:

14.01.2007 03:43:07 1.1.64 Write bc 11 40 20 06 e3 0080 19 0f 21,68

Für die Umrechnung (nur für´s Verständnis) muss man sich mal den Aufbau des Datentyps anschauen -> http://www.konnex.org/fileadmin/downloads/03%20-%20KNX%20Standard/KNX%20Standard%20Public%20Documents/KNX%20interworking%20;%20Datapoint%20types.pdf (Seite 14)

0F 19 (hex) = 0001 1001 0000 1111

Das höchstwertigste Bit (ganz links) ist 0 -> positives Vorzeichen.
Dann kommt der Exponent 0011 = 3 (dez),
fehlt noch die Basis: 001 0000 1111 = 271 (dez)

Daraus errechnen wir anhand der Formel:

(271*0,01)*2^3 = 2,71*8 = 19,68

Fertig ist der korrekte Wert :D .

mozzer100
14.01.07, 23:18
Hallo!

Das Thema mit der HEX Anzeige im Busmonitor hatte ich auch. Wenn man der Gruppenadresse definiert welcher EIS-Typ sie ist , so wird auch der Wert richtig angezeigt. So erübrigt sich jegliche Umrechnung.

:Prost: