|
Ein Wasserbad. welches sowohl heizen als auch kühlen kann, wird als Kryomat bezeichnet. Grundsätzliche
Bestandteile eines solchen Geräts sind:
Bestandteile des Temperaturreglers ist unter anderem eine Stelleinheit, mittels der vorgegeben werden kann, welche Temperatur das Wasser des Wasserbads haben soll, hier als - Solltemperatur - bezeichnet. Außerdem besitzt ein Regler eine sogenannte - Istwert-Erfassung -, hier dann logischwerweise ein Temperatursensor. Aufgabenstellung: Eure Programmieraufgabe ist es, den Regler eines Wasserbades zu programmieren. Hier soll das sogenannte "Regelverhalten" schrittweise angesehen werden können (zum Einen ist das einfacher zu programmieren und zum Anderen erklärt es sehr schön, wie ein digitaler Regler funktioniert). Um einen solchen Regler in der JavaScript Konsole programmieren zu können, bedarf es (mindestens) zweier Variable, die global (also über das gesamte Programm gelesen und verändert werden können und nicht nur innerhalb einer Funktion, wie bspw. in main) sind. Diese beiden Variable erfassen den Status (Zustand) der Heizung und der Kühlung. Nennen Sie diese Variable:
Anmeldung der Variable im Script-Teil der Konsole
var cool_stat;
var heat_stat;
function main()
{
// Hier ist ihr Programmcode
}
Um ihr Programm steuern zu können, benennen sie den Button - Start - nach - Step - um (bewerkstelligen sie das aus
JavaScript heraus mit der Funktion rename_buttons und NICHT im HTML Text, in erster Linie wollen wir programmieren
lernen und nicht mit HTML designen).Programmieren sie beim Start der Seite ( mittels onLoad() ) : neue Bezeichnungen für die Eingabezeilen:
- Eingabezeile 2: Ist [°C] - Eingabezeile 3: Hyst.[°K] neue Bezeichnungen für die virtuellen Leuchtdioden:
- LED 2 : COOL - LED 3 : STANDBY Belegen sie die beiden globalen Variable cool_stat und heat_stat mit dem Wert 0; Allgemeines In den Eingabefelder und in den beiden globalen Variable cool_stat / heat_stat sind alle Informationen enthalten, die der Regler benötigt, um Arbeiten zu können. An dieser Stelle möchte ich die Eingabezeile 3, die nach - Hyst. [°K] - umbenannt wurde, etwas genauer erklären. Hyst. ist die Abkürzung für Hysterese. Auch wenn euch das Wort vielleicht nicht geläufig ist, kommt ihr mit Hysterese häufiger in Kontakt. In unserem speziellen Reglerfall hier bedeutet das, dass ein Einschaltpunkt (für bspw. die Heizung) ein anderer ist, als der Ausschaltpunkt. Gleiches gilt hier auch für die Kühlung: Einschaltpunkt ist ein anderer als der Ausschaltpunkt. Ein Beispiel für Hysterese in unserem Fall:
Hier bedeutet das, dass es eine "Regelspannweite" von 6°K gibt. D.h. die Temperatur wird zwischen 47°C und 53°C regeln. Unsere Schaltpunkte sind (weil wir Kühlung und Heizung haben) 47°C, 50°C und 53°C. Wird für Hysterese hier ein anderer Wert eingegeben, verändern sich unsere Schaltwerte entsprechend. Programmieren sie folgenden Reglerablauf, der beim Klick auf - Step - abgearbeitet werden soll: Die Heizung soll eingeschaltet werden oder eingeschaltet bleiben, wenn:
Sind die Bedingungen oben nicht erfüllt, ist die Heizung auszuschalten. Den Schaltzustand der Heizung signalisieren sie durch die entsprechende LED. Vermerken sie den Schaltzustand ebenfalls in der Variable heat_stat (die sie ja bei der nächsten Reglerauswertung mittels Step benötigen, um zu wissen, ob die Heizung bereits eingeschaltet war). Die Kühlung soll eingeschaltet werden oder eingeschaltet bleiben, wenn:
Sind die Bedingungen oben nicht erfüllt, ist die Kühlung auszuschalten. Den Schaltzustand der Kühlung signalisieren sie durch die entsprechende LED. Vermerken sie den Schaltzustand ebenfalls in der Variable cool_stat (die sie ja bei der nächsten Reglerauswertung mittels Step benötigen, um zu wissen, ob die Kühlung bereits eingeschaltet war). Ist weder die Heizung noch die Kühlung eingeschaltet, wird dieses durch abgeschaltete LED's für Heizung und Kühlung signalisiert. Für diesen Fall schalten sie die STANDBY LED an. Erläuterung
Diagramm 1 zeigt das Verhalten der Heizung:
Die blaue Kennline zeigt das Abkühlen des Bades, nach Unterschreiten des unteren Wertes schaltet die Heizung wieder ein. Diagramm 2 zeigt das Verhalten der Kühlung:
Die violete Kennline zeigt das Abkühlen bei eingeschalteter Kühlung bis zum Sollwert. Ist der Sollwert erreicht, schaltet die Kühlung ab. |