Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Temperatur steuerung ???????? (https://www.delphipraxis.net/138940-temperatur-steuerung.html)

melssner 20. Aug 2009 10:14

Re: Temperatur steuerung ????????
 
@Nersgatt hast du den code bei dir rumliegen (nur nen ausschnitt in der Abfrage und Übergabe) ist ja eigentlich nix anderes.

Eigentlich kann das doch ni so schwer sein. Es muß doch ne Möglichkeit geben ne Abfrage zu machen wo die Temp gemessen wird wie ich es gemacht habe. Die Ausgabe in ner schleife so verarbeitet wird das eine feste Variable gesetzt wird die nur verändert wird wenn die Abfrage negativ ist und ni nach jedem neuen aufruf durch den Timer. Ich find aber nur keinen Anfang.

Lg Mario

Nersgatt 20. Aug 2009 10:19

Re: Temperatur steuerung ????????
 
Der Quellcode würde Dir nicht viel helfen, denn er ist 1. für Dein Anliegen zu komplex und 2. in VB.NET geschrieben.

Ich geb Dir folgenden Rat. Schalte den PC vom Monitor aus, nehm Dir ein Blatt Papier und schreibe sämliche Zustände auf, die auftreten können und wie die Lampe in dem Zustand geschaltet sein soll. Vielleicht in Tabellenform. Und wenn Du das fertig hast, dann setzt Du es in Quellcode um.
10 Minuten nachdenken erspart viele Stunden Fehlersuche. (hatte das hier nicht mal jemand als Signatur?).

melssner 20. Aug 2009 12:40

Re: Temperatur steuerung ????????
 
wenn jemand aber trotzdem noch nen tip haben sollte oder wie ich es umsetzen könnte wäre ich dankbar darüber. :coder2:

Lg Mario

R2009 20. Aug 2009 12:59

Re: Temperatur steuerung ????????
 
Hi,
das Zauberwort heisst Hysterese. Du solltest beim ein bzw ausschalten unterschiedliche Schwellwerte benutzen.
Beispiel:
Die Lampe soll einschalten bei 17 Grad
Der Trick bei der Sache ist dass du bei 17 Grad einschaltest aber bei 15 Grad aus.
Du wirst nie einen wie vorab beschriebenen Effekt bekommen.
Ausserdem toggelt ein Analogeingang immer, sodass du einen exakten Wert niemals gleichzeitig für ein und ausschalten nutzen kannst.

Dazu braucht man keine Regeltechnik sondern nur gesunden Menschenverstand.

Viele Grüsse!

Reinhard Kern 20. Aug 2009 13:52

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

Zitat von R2009
Hi,
das Zauberwort heisst Hysterese. Du solltest beim ein bzw ausschalten unterschiedliche Schwellwerte benutzen.
...
Dazu braucht man keine Regeltechnik sondern nur gesunden Menschenverstand.

Hi,

mit dem kann man auch die Hyserese viel einfacher realisieren als bisher empfohlen: man braucht dazu keinen Temperaturverlauf, sondern muss nur wissen, ob das Heizungsrelais ein ist. Wenn ja, addiert man zur Solltemperatur 2 Grad (oder eben die gewünschte Hysterese). Folglich schaltet die Heizung bei x Grad ein, aber bei erst bei x + 2 Grad wieder aus:

Delphi-Quellcode:
if HeatIsOn then
  if ActualTemp > RefTemp + THysteresis then HeatIsOn := false
else
  if ActualTemp < RefTemp then HeatIsOn := true;
das ist der ganze parametrisierbare Regler.

Gruss Reinhard

himitsu 20. Aug 2009 14:17

Re: Temperatur steuerung ????????
 
wozu muß man da unbedingt wissen, ob es an oder aus ist?

wie es schon richtig gezeigt wurde, reicht dieses doch vollkommen aus:
Delphi-Quellcode:
if ActualTemp > RefTemp + Hysteresis then HeatIsOn := false
else if ActualTemp < RefTemp then HeatIsOn := true;
wobei ich es wohl eher so machen würde und die Schwellenwerte um den gewünschten Sollwert drumrum verteile:
Delphi-Quellcode:
if ActualTemp > RefTemp + (Hysteresis div 2) then HeatIsOn := false
else if ActualTemp < RefTemp - (Hysteresis div 2) then HeatIsOn := true;

guinnes 20. Aug 2009 14:53

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

Zitat von himitsu
wobei ich es wohl eher so machen würde und die Schwellenwerte um den gewünschten Sollwert drumrum verteile:

In der Regelungstechnik hängt die " Richtung " der Hysterese von der Richtung des Grenzwertes ab :
Hochabschaltung : Genau am eingestellten Punkt, Rückschaltung erst bei dem Einstellwert - Hysterese
Tiefabschaltung : Genau am eingestellten Punkt, Rückschaltung erst bei dem Einstellwert + Hysterese

himitsu 20. Aug 2009 15:03

Re: Temperatur steuerung ????????
 
nja, aber zumindestens ist für die Auswertung der aktuelle Zustand von HeatIsOn unwichtig :angel2:

TeronG 20. Aug 2009 15:35

Re: Temperatur steuerung ????????
 
Ich habs doch schon immer gesagt.... Delphi braucht eine PID-Komponente (vorinstalliert)! :mrgreen: (am besten mit und/oder Fuzzy ^^)

Reinhard Kern 20. Aug 2009 17:57

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

Zitat von TeronG
Ich habs doch schon immer gesagt.... Delphi braucht eine PID-Komponente (vorinstalliert)! :mrgreen: (am besten mit und/oder Fuzzy ^^)

Hallo,

auch ein PID-Regler ist in Delphi nur ein Einzeiler. Der Trick daran ist die richtigen Parameter einzustellen, das tut Delphi aber auch nicht.

Für die Speicherung der Parameter und des Temperaturverlaufs bietet sich natürlich eine Klasse an. Und eine Komponente mit Temperaturanzeige und Einstellpotentiometer wäre auch nicht schlecht, aber dann fängt das Problem wieder an, dass jeder einen anderen Knopf und eine andere Anzeige will (Thermometersäule mit Reaumur, mit glänzendem Quecksilber natürlich).

Gruss Reinhard

PS wenn man die Erfassung von Differential und Integral dazunimmt, könnten es auch 3 bis 5 Zeilen werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:14 Uhr.
Seite 2 von 4     12 34      

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