Modell eines Zweipunkt-Temperaturregelsystems
Dieses Beispiel zeigt Ihnen, wie Sie ein Zweipunktregelsystem für die Kesseltemperaturregelung aufbauen. Dieses Beispiel zeigt ein Zweipunktregelsystem zur Regelung der Kesseltemperatur. Das System implementiert ein Stateflow®-Diagramm für die Steuerung und Zeitplanung sowie ein Simulink®-Subsystem zur Modellierung des Kesselverhaltens. Das System besteht aus zwei Hauptkomponenten:
Bang-Bang Controller:
Ein Stateflow-Diagramm, das den Heizzyklus steuert, Temperatursollwerte verwaltet und Zustandsübergänge mithilfe zeitlicher Logik handhabt. Es verwendet Festkommadaten zur Darstellung der Kesseltemperatur.Boiler Plant Model
: Ein Simulink-Subsystem, das die Echtzeit-Temperaturdynamik für den Kessel in verschiedenen Zuständen simuliert.
Steuerlogik-Betrieb
Das Bang-Bang Controller
-System startet im Off
-Zustand und folgt einer Sequenz, die durch die zeitliche Logik von Stateflow gesteuert wird. Wenn Sie das System initialisieren:
Der
Off
-Zustand bleibt40
Sekunden lang aktiv.Nach
40
Sekunden überprüft der Regler die Kesseltemperatur.Wenn die Temperatur auf kalte Bedingungen hinweist, wechselt der Regler in den
On
-Zustand.Der
On
-Zustand bleibt20
Sekunden lang aktiv.Das Diagramm wechselt zurück zum
Off
-Zustand. Dieser60
-Sekunden-Zyklus wird fortgesetzt, bis Sie die Simulation stoppen.
Die Übergänge zwischen den Zuständen On
und Off
werden mithilfe des Operators after
zeitlich festgelegt. Zum Beispiel löst after(20,sec)
nach 20 Sekunden den Übergang von On
zu Off
aus. Die Übergangskennzeichnung after(40,sec)[cold()]
löst den Übergang von Off
zu On
aus, wenn die Funktion cold
nach 40 Sekunden true
zurückgibt.
Der Off
-Zustand verwendet einen Subzustand namens Flash
mit einem Schleifen-Übergang zur Steuerung einer Zustands-LED
. Die Übergangskennzeichnung after(5,sec)
löst die Eintrittsaktion des Substatus aus und lässt die LED alle 5 Sekunden blinken.
Verarbeitung von Temperatursignalen
Das Boiler Plant Model
-Subsystem simuliert die Temperaturreaktion des Kessels während der Heiz- oder Kühlperioden. Je nach Ausgabe des Bang-Bang Controller
-Diagramms addiert das Subsystem +1
zur vorherigen Kesseltemperatur zum Heizen oder subtrahiert –0.1
davon zum Kühlen. Das Diagramm gibt das Ergebnis dann an das Digital Thermometer
-Subsystem weiter.
Im Digital Thermometer
-Subsystem durchläuft das Temperatursignal drei Stufen, die die Temperaturmesswerte in digitale Steuerwerte umwandeln.
Das Temperatursignal durchläuft drei aufeinander folgende Wandlungsstufen, die die Rohdaten der Temperaturmesswerte in digitale Steuerwerte umwandeln.
Der Sensorblock wandelt die Kesseltemperatur durch eine lineare Transformation in eine analoge Spannung um, die eine Spannung proportional zur Temperatur liefert.
Der Analog-Digital-Wandler-Block wandelt die analoge Spannung in diskrete 8-Bit-Werte um. Das System multipliziert die Spannung mit einem Umrechnungsfaktor, rundet das Ergebnis auf die nächste ganze Zahl und begrenzt es auf 8 Bit. Das Ergebnis ist eine quantisierte Ganzzahl.
Der lineare Festkomma-Umwandlungsblock wandelt die 8-Bit-Ganzzahlen in die endgültigen Temperaturwerte um. Er wendet eine kalibrierte Steigung und einen Bias-Offset an, um den digitalen Temperaturmesswert zu erzeugen. Dadurch bleibt die Kompatibilität mit der 8-Bit-Umgebung erhalten, während die Messgenauigkeit erhalten bleibt.
Dieses System arbeitet mit 8-Bit-Parametern, einem Eingabebereich von 0–255, einer Auflösung von 1/256 des Gesamtbereichs und Festkommaarithmetik für alle Berechnungen. Diese Sequenz gewährleistet eine konsistente Temperaturdarstellung im gesamten Regelsystem, vom Sensoreingang bis zum endgültigen Regelausgang.
Das Bang-Bang Controller
-Diagramm empfängt dann diese digital codierte Temperatur und interpretiert sie als vorzeichenlose 8-Bit-Festkommadaten. Das Diagramm verarbeitet die Temperaturdaten in einer 8-Bit-Umgebung.
Simulationsergebnisse
Die Simulationsergebnisse zeigen, dass der Kessel nach 450 Sekunden (7,5 Minuten) eine Temperatur von 20 °C erreicht. Der Zweipunktregler hält dann diese Zieltemperatur während der gesamten verbleibenden Laufzeit aufrecht.
Siehe auch
after
| every
| Data Type Conversion (Simulink)