Regelungstechnik und UML -fächerübergreifend Munz- FTE - Lörrach
Überblick Problembeschreibung allgemein Beschreibung des Use-Cases mit Text, Anlagenschema, Blockschaltbild Übergang zum Entwurf Entwurf mit UML-RT Implementierung Testen
Use Case Modell für eine Wohnungsautomatisierung Ventil Thermoelement Temperaturregelung Lichtregelung Bewohner Alarmanlage
Beschreibung der Regelung Die Raumtemperatur von Wohnzimmer und Schlafzimmer wird ständig gemessen. Ist sie kleiner als die gewünschte Raumtemperatur, dann wird geheizt. Die gewünschte Raumtemperatur wird über einen Computer mit Bildschirm und Tastatur eingegeben.
Blockschaltplan - Führungs - Regler Stellglied Regelstrecke Außentem - peratur Störgröße Ventil Thermoelement Wärme- Raumtem - Führungs - zufuhr peratur Regler Stellglied Regelstrecke größengeber + Solltem - - Temperatur- Regler- peratur differenz ausgangs - größe Heizungsventil Luft im Raum Messwert - geber erfasste Raumtem - peratur Temperatur- fühler Bewohner Temperaturregelung
Entwurf eines Kollaborationsdiagramms co laborare – zusammen arbeiten
Entwurf von Sequenzdiagrammen (1) Wohnraumregler Wohnraumventil Wohnraum Wohnraumfenster Regeldifferenz <= -1 geschlossen 1: Messung 1: Messung offen 1.1: 1.1: 1: Waermeentzug 1: Waermeentzug 2: Messung 2: Messung schließen 2.1: 2.1: geschlossen Regeldifferenz >= 1 3: oeffnen 3: oeffnen offen 4: waermezufuhr 4: waermezufuhr 4: Messung 4: Messung 4.1: 4.1: 5: waermezufuhr 5: waermezufuhr 5: Messung 5: Messung 5.1: 5.1: Regeldifferenz<= -1 6: schließen 6: schließen geschlossen
Sequenzdiagramm für Sollwertänderung / bewohnerR1 Sollwertgeber / Temperaturwuensche Wohnraumregler / Wohnraumregler Wohnraumventil / Wohnraum / Wohnraum : Bewohner : Sollwertgeber : Temperaturregler heizungsventilR1 : Heizungsventil : Raum Regeldifferenz<=-1 geschlossen 1: Sollwerteingabe 1: Sollwerteingabe 2: Sollwerterhoehung : NeuerSollwert 2: Sollwerterhoehung : NeuerSollwert Regeldifferenz>=1 3: oeffnen : Oeffnen 3: oeffnen : Oeffnen offen 4: waermezufuhr : Waermezufuhr 4: waermezufuhr : Waermezufuhr 4: Messung : Messwertanforderung 4: Messung : Messwertanforderung 4.1: : Messwert 4.1: : Messwert 5: waermezufuhr : Waermezufuhr 5: waermezufuhr : Waermezufuhr 5: Messung : Messwertanforderung 5: Messung : Messwertanforderung 5.1: : Messwert 5.1: : Messwert Regeldifferenz<=-1 6: schließen : Schliessen 6: schließen : Schliessen geschlossen 7: Messung : Messwertanforderung 7: Messung : Messwertanforderung 2: Sollwerteingabe 2: Sollwerteingabe 7.1: : Messwert 7.1: : Messwert 8: Messung : Messwertanforderung 8: Messung : Messwertanforderung 8.1: : Messwert 8.1: : Messwert 3: : NeuerSollwert 3: : NeuerSollwert 4: Messung : Messwertanforderung 4: Messung : Messwertanforderung 4.1: : Messwert 4.1: : Messwert 5: Messung : Messwertanforderung 5: Messung : Messwertanforderung 5.1: : Messwert 5.1: : Messwert
Entwurf von Capsule-Klassen aufgrund von Ähnlichkeiten der Objekte in den Kollaborations- und Sequenzdiagrammen
Entwurf von Protokollen entsprechend der ausgetauschten Nachrichten in den Sequenzdiagrammen Protokolle können auch durch Statecharts beschrieben werden
Entwurf von State-Charts für die Capsule-Klassen hierarchisches Statechart zur Temperaturregelung:
Einbinden der Real-Time Service Library als Action Language wird C++ verwendet
Zusammenfassung und Punkte zur Diskussion Klassische Betrachtungsweisen (Technologieschemata, Blockschaltpläne) sind sehr hilfreich und können die UML ergänzen. Hatten wir auf den unterschiedlichen Entwicklungs-stufen einen einheitlichen Objektbegriff? Anforderungen: Use Case, Actor, Blöcke, reale Welt Entwurf: Klasse, Capsule, Protocol Implementierung: C++ Implementierungsrandbedingungen? Art der Schnittstellen zu Benutzer, Sensor, Aktor Echtzeiteigenschaften?