AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Temperatur steuerung ????????

Ein Thema von melssner · begonnen am 20. Aug 2009 · letzter Beitrag vom 21. Aug 2009
Antwort Antwort
Seite 3 von 4     123 4      
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#21

Re: Temperatur steuerung ????????

  Alt 20. Aug 2009, 19:11
Zitat von himitsu:
nja, aber zumindestens ist für die Auswertung der aktuelle Zustand von HeatIsOn unwichtig :angel2:
Hi,

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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#22

Re: Temperatur steuerung ????????

  Alt 20. Aug 2009, 20:09
mir ist hier sogar grad ein Fehler aufgefallen
Zitat:
Delphi-Quellcode:
if HeatIsOn then
  if ActualTemp > RefTemp + THysteresis then HeatIsOn := false
else
  if ActualTemp < RefTemp then HeatIsOn := true;
das ELSE gehört ja nicht zum ersten IF, sondern zum Zweiten,

also so
Delphi-Quellcode:
if HeatIsOn then
  if ActualTemp > RefTemp + THysteresis then HeatIsOn := false
  else
    if ActualTemp < RefTemp then HeatIsOn := true;
und so kann die Heizung nur ausgeschaltet werden, denn wenn die Heizung schon aus ist, wird hier nix mehr gemacht

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.
$2B or not $2B
  Mit Zitat antworten Zitat
melssner

Registriert seit: 14. Jul 2009
18 Beiträge
 
Delphi 7 Enterprise
 
#23

Re: Temperatur steuerung ????????

  Alt 20. Aug 2009, 20:39
Ich habs jetzt soweit gemacht allerdings ohne der vorherigen abfrage IsOn

Delphi-Quellcode:
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;
so funktioniert es auch im Timer über Zeitrutinen wenn das Thermometer deaktiviert ist.

Danke nochmal
Lg Mario
Bahandle jeden so, wie du selbst behandelt werden willst.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#24

Re: Temperatur steuerung ????????

  Alt 20. Aug 2009, 20:45
Delphi-Quellcode:
(StrToInt(AktTemp) > StrToInt(Temperatur)+0.1) then
...
(StrToInt(AktTemp)+1.9 < StrToInt(Temperatur)) then
0.1 und 1.9 ?

StrToInt erzeugt doch nur Integer, da haben die Fließkommazahlen dann nicht die Auswirkung, welche geplant ist
$2B or not $2B
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#25

Re: Temperatur steuerung ????????

  Alt 20. Aug 2009, 21:01
Zitat von himitsu:
Delphi-Quellcode:
(StrToInt(AktTemp) > StrToInt(Temperatur)+0.1) then
...
(StrToInt(AktTemp)+1.9 < StrToInt(Temperatur)) then
0.1 und 1.9 ? :gruebel:

StrToInt erzeugt doch nur Integer, da haben die Fließkommazahlen dann nicht die Auswirkung, welche geplant ist
.. man achte auf die Klammern

Schönen Abend noch
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#26

Re: Temperatur steuerung ????????

  Alt 20. Aug 2009, 21:23
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:
StrToInt(AktTemp) > StrToInt(Temperatur) then
...
StrToInt(AktTemp)+1 < StrToInt(Temperatur) then
Da die Vergleichswerte eh nur ganzzahlig sind, interessiert im Vergleich auch nur der gerundete ganzahlige Wert.

Die Gleitkommaarithmetik ist hier allso vollkommen sinnlos enthalten.
$2B or not $2B
  Mit Zitat antworten Zitat
melssner

Registriert seit: 14. Jul 2009
18 Beiträge
 
Delphi 7 Enterprise
 
#27

Re: Temperatur steuerung ????????

  Alt 20. Aug 2009, 22:03
habs selbst gemerkt und geändert
Bahandle jeden so, wie du selbst behandelt werden willst.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#28

Re: Temperatur steuerung ????????

  Alt 20. Aug 2009, 22:16
Ach übrigens, deine ?-Taste klemmt
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#29

Re: Temperatur steuerung ????????

  Alt 21. Aug 2009, 08:58
Zitat von himitsu:
...
das ELSE gehört ja nicht zum ersten IF, sondern zum Zweiten,
...
hatte ich auch mit begin-end geschrieben, aber dann wollte zur Veröffentlichung ich alles überflüssige streichen...

Nicht nur Anfänger machen Anfängerfehler.

Gruss Reinhard
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#30

Re: Temperatur steuerung ????????

  Alt 21. Aug 2009, 10:31
Statt "Temperatur steuerung ????????" bitte: Terrarium-Temperatursteuerung
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz