Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit 2-Byte Gleitkommawert bei Temperatur

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Probleme mit 2-Byte Gleitkommawert bei Temperatur

    Hallo, bin neu hier.
    Habe ein Problem mit meiner Heizungsregelung. Ich habe bemerkt, dass die Feller Taster 470x-x-B mit integriertem Temperatursensor bei Nachkommawerten 0, 2, 4, 6 und 8 jeweils einen negativen Hex-Wert auf den Bus schreiben. Das heisst h12xx. Bei Werten mit ungeraden Nachkommazahlen ist der hex-Wert immer h0xxx, was auch logisch ist. Wenn die SOLL-Temperatur unter der gemessenen Temperatur liegt, öffnet sich dann z.T. das Ventil ($FF) obschon IST > SOLL ist. Aber auch das Umgekehrte ist der Fall. Das heisst, wir haben in der Heizperiode entweder zu warm oder zu kalt in einem Raum. Kennt jemand dieses Problem und weiss Abhilfe?
    Sobald ich einen IST-Temperaturwert im betroffenen Raum in der ETS auf den Bus schreibe, dann wechselt der hex-Wert auf h0xxx.
    Als Datentyp habe ich für SOLL- und IST-Temperatur 2-Byte Gleitkommawert 9.001 definiert.
    Zuletzt geändert von snoopdog; 16.09.2019, 18:19.

    #2
    Wieso meinst du, dass 12xxh ein negativer Wert ist? Das Vorzeichenbit ist das oberste Bit, ein negativer Wert wäre also z.B. 8xxxh.
    Aus der KNX-Spezifikation:
    DPT9.jpg

    Was für eine Heizungsregelung hast du denn?

    Gruß, Klaus

    Kommentar


      #3
      Hallo Klaus
      Einer meiner Temperaturfühler zeigt z.B. bei 22.8 Grad einen Hex-Wert von 191D an. Ein anderer bei 23.5 Grad einen Hex-Wert von 0C97. Der Wert des ersten Fühlers müsste aber einen tieferen Wert anzeigen als der zweite. Wenn ich dann den 22,8 Grad direkt in der ETS eingebe, sehe ich dann den Hex-Wert 0C74, was plausibler ist als 191D. Und dies ist bei geraden dezimal Nachkommawerten meiner Fühler immer der Fall. Deswegen schliessen sich die Ventile immer, wenn der IST-Wert auf einen geraden Nachkommawert springt. Dies ist auch bei den SOLL-Werten der Fall. Um wenigstens diesem Problem entgegen zu wirken, habe ich bei 0.2 Grad Schritte definiert. Die Ausgangs-SOLL-Temperatur ist pro Kanal auf 20,1 Grad. Somit können nur ungerade Nachkommawerte eingestellt werden.
      Falls ich die SOLL-Temperatur in 0,1 Grad Schritten parametriere, öffnen und schliessen die Ventile wild hin und her und dann ist es entweder zu kalt oder zu warm in einem Raum.
      Der Heizungsaktor ist ein Feller 36321-6 REG 6-Kanal Aktor.

      Kommentar


        #4
        Einfach mal ausrechnen, nach der wunderschönen Grafik von Klaus:

        191D ist binär 00011001 00011101. Mantisse ist also 29+256=285, Exponent ist 3 und 2.85*8 ist 22.8!

        0C97 ... 00001100 10010111. M=1175, E=1, 11.75*2=23.5.

        Beide Werte sind also nicht nur plausibel sondern stimmen exakt.

        Allerdings ist es zumindest bei mir so, daß den Aktor die Temperatur überhaupt nicht interessiert. Er bekommt vom Sensor einen Wert für die Heizungsanforderung (iirc ein Byte, 255 -> voll offen, 0 -> zu).
        Habt ihr da das richtige Kommunikationsobjekt verknüpft?

        Kommentar

        Lädt...
        X