![]() |
Re: Temperatur steuerung ????????
Zitat:
in der Praxis ist es so, dass bei eingeschalteter Heizung die Temperatur nur steigen kann und bei abgeschalteter nur fallen (ausser Überschwinger, aber da spielt das keine Rolle). Man spart sich also die Differenzierung des Temperaturverlaufs. Alle 3 Algorithmen (RK,himitsu,guiness) sind verschieden, sie stellen aber alle einen 2Punkt-Regler dar, der Unterschied dürfte bloss in der erreichten mittleren Temperatur liegen wegen der unterschiedlichen Offsets. Gruss Reinhard |
Re: Temperatur steuerung ????????
mir ist hier sogar grad ein Fehler aufgefallen :shock:
Zitat:
also so
Delphi-Quellcode:
und so kann die Heizung nur ausgeschaltet werden, denn wenn die Heizung schon aus ist, wird hier nix mehr gemacht :nerd:
if HeatIsOn then
if ActualTemp > RefTemp + THysteresis then HeatIsOn := false else if ActualTemp < RefTemp then HeatIsOn := true; wobei es bestimmt so gedacht war
Delphi-Quellcode:
if HeatIsOn then
begin if ActualTemp > RefTemp + THysteresis then HeatIsOn := false; end else if ActualTemp < RefTemp then HeatIsOn := true; aber das if HeatIsOn then ist hierbei eh "unwichtig", da die so abgekapselten Einzelvergleiche im jeweils anderen Zustand von HeatIsOn eh keine Veränderung hervorufen. |
Re: Temperatur steuerung ????????
Ich habs jetzt soweit gemacht allerdings ohne der vorherigen abfrage IsOn
Delphi-Quellcode:
so funktioniert es auch im Timer über Zeitrutinen wenn das Thermometer deaktiviert ist.
if (Thermometer = 'OFF') and (StrToInt(AktTemp) > StrToInt(Temperatur)+0.1) then
begin IsOn:= false; end; if (Thermometer = 'OFF') and (StrToInt(AktTemp)+1.9 < StrToInt(Temperatur)) then begin IsOn:= true; end; if (Thermometer = 'false') then begin IsOn:= true; end; Danke nochmal Lg Mario |
Re: Temperatur steuerung ????????
Delphi-Quellcode:
0.1 und 1.9 ? :gruebel:
(StrToInt(AktTemp) > StrToInt(Temperatur)+0.1) then
... (StrToInt(AktTemp)+1.9 < StrToInt(Temperatur)) then StrToInt erzeugt doch nur Integer, da haben die Fließkommazahlen dann nicht die Auswirkung, welche geplant ist |
Re: Temperatur steuerung ????????
Zitat:
Schönen Abend noch Klaus |
Re: Temperatur steuerung ????????
Die Klammern sind vollkommen uninteressant ... Was ich meinte ist, daß das Ergebnis der in seiner Funktion diesem entspricht:
(wenn ich jetzt richtig gerundet hab)
Delphi-Quellcode:
Da die Vergleichswerte eh nur ganzzahlig sind, interessiert im Vergleich auch nur der gerundete ganzahlige Wert.
StrToInt(AktTemp) > StrToInt(Temperatur) then
... StrToInt(AktTemp)+1 < StrToInt(Temperatur) then Die Gleitkommaarithmetik ist hier allso vollkommen sinnlos enthalten. |
Re: Temperatur steuerung ????????
habs selbst gemerkt und geändert
|
Re: Temperatur steuerung ????????
Ach übrigens, deine ?-Taste klemmt :mrgreen:
|
Re: Temperatur steuerung ????????
Zitat:
Nicht nur Anfänger machen Anfängerfehler. Gruss Reinhard |
Re: Temperatur steuerung ????????
Statt "Temperatur steuerung ????????" bitte: Terrarium-Temperatursteuerung
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz