Modellieren eines Lufttemperaturreglers
In diesem Beispiel wird parallele Dekomposition genutzt, um ein Luftregelungssystem zu modellieren, das die Lufttemperatur in einer technischen Anlage auf 120 Grad (Fahrenheit) hält.
Auf der obersten Ebene hat das Lufttemperaturregler-Diagramm zwei exklusive Zustände, PowerOff und PowerOn. Das Diagramm verwendet eine exklusive (ODER)-Dekomposition, da ein Regler nicht gleichzeitig ein- und ausgeschaltet sein kann.

Das Regelungssystem betreibt zwei Lüfter. Der erste Lüfter wird eingeschaltet, sobald die Lufttemperatur über 120 Grad ansteigt. Der zweite Lüfter sorgt für zusätzliche Kühlung, wenn die Lufttemperatur über 150 Grad ansteigt. Im Diagramm werden diese Lüfter als parallele Unterzustände (FAN1 und FAN2) des Zustands der obersten Ebene PowerOn modelliert. Da die Lüfter als unabhängige Komponenten arbeiten, die sich je nach Kühlungsbedarf ein- oder ausschalten, verwendet PowerOn eine parallele (UND)-Dekomposition, um sicherzustellen, dass beide Unterzustände aktiv sind, wenn der Regler eingeschaltet wird.
Mit Ausnahme der Betriebsschwellenwerte werden die Lüfter durch Zustände mit einer identischen Konfiguration von Unterzuständen und Übergängen modelliert, was die beiden Modi des Lüfterbetriebs, On und Off, widerspiegelt. Da keiner der beiden Lüfter gleichzeitig ein- und ausgeschaltet sein kann, haben FAN1 und FAN2 eine exklusive (ODER)-Dekomposition.
Im Zustand PowerOn stellt ein dritter paralleler Zustand namens SpeedValue ein unabhängiges Subsystem dar, das die Anzahl der Lüfter berechnet, die sich in jedem Zeitschritt eingeschaltet haben. Der Boolesche Ausdruck in(FAN1.On) weist den Wert 1 auf, wenn der Zustand On von FAN1 aktiv ist. Anderenfalls ist in(FAN1.On) gleich 0. In ähnlicher Weise stellt der Wert von in(FAN2.On) dar, ob FAN2 ein- oder ausgeschaltet wurde. Die Summe dieser Ausdrücke gibt die Anzahl der Lüfter an, die während der einzelnen Zeitschritte eingeschaltet sind.
Festlegen der Ausführungsreihenfolge für parallele Zustände
Auch wenn FAN1, FAN2 und SpeedValue gleichzeitig aktiv sind, werden diese Zustände während der Simulation nacheinander ausgeführt. Die Zahlen in der oberen rechten Ecke der jeweiligen Zustände geben die Ausführungsreihenfolge an. Das Grundprinzip für diese Ausführungsreihenfolge lautet:
Der Lüfter
FAN1wird zuerst ausgeführt, weil er bei einer niedrigeren Temperatur eingeschaltet wird alsFAN2. Der Lüfter kann unabhängig davon eingeschaltet werden, obFAN2ein- oder ausgeschaltet ist.Der Lüfter
FAN2wird als zweites ausgeführt, weil er bei einer höheren Temperatur eingeschaltet wird alsFAN1. Er kann nur eingeschaltet werden, wennFAN1bereits eingeschaltet ist.SpeedValuewird zuletzt ausgeführt, sodass dieses Subsystem den aktuellen Status vonFAN1undFAN2überwachen kann.
Standardmäßig ordnet Stateflow die Ausführungsreihenfolge paralleler Zustände anhand der Reihenfolge, in der Sie sie dem Diagramm hinzufügen. Zum Ändern der Ausführungsreihenfolge eines parallelen Zustands klicken Sie mit der rechten Maustaste auf den Zustand und wählen aus der Dropdown-Liste Execution Order den gewünschten Wert aus.
Modellieren der technischen Anlage
Dieses Beispiel enthält ein Stateflow-Diagramm namens Air Controller und ein Simulink®-Subsystem namens Physical Plant.

Basierend auf der Lufttemperatur der technischen Anlage schaltet das Diagramm die Lüfter ein und gibt die Anzahl der laufenden Lüfter, airflow, an das Subsystem aus. Dieser Wert bestimmt den Kühlungsaktivitätsfaktor,
, nach diesen Regeln:
airflow= 0 — Keiner der Lüfter ist aktiv. Die Lufttemperatur nimmt nicht ab, da
.airflow= 1 — Ein Lüfter ist aktiv. Die Lufttemperatur verringert sich abhängig vom Kühlungsaktivitätsfaktor
.airflow= 2 — Zwei Lüfter sind aktiv. Die Lufttemperatur verringert sich abhängig vom Kühlungsaktivitätsfaktor
.
Das Subsystem Physical Plant aktualisiert die Lufttemperatur,
, innerhalb der Anlage abhängig von den Gleichungen


wobei gilt:
ist die Anfangstemperatur. Der Standardwert ist 70 Grad (Fahrenheit).
ist die Umgebungstemperatur. Der Standardwert ist 160 Grad (Fahrenheit).
ist der Wärmeübertragungsfaktor für die Anlage. Der Standardwert ist 0.01.
ist der Kühlungsaktivitätsfaktor, der dem Luftstrom (airflow) entspricht.
Die neue Temperatur bestimmt das Ausmaß der Kühlung beim nächsten Zeitschritt der Simulation.