Zustandsdiagramm: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 7: | Zeile 7: | ||
| '''Lehrveranstaltung:''' || Mechatronik, Informatik Praktikum 2, 2. Semester | | '''Lehrveranstaltung:''' || Mechatronik, Informatik Praktikum 2, 2. Semester | ||
|} | |} | ||
= Einleitung = | |||
Zustandsdiagramme sind ein zentrales Werkzeug der Modellierung in der Informatik und Systemtechnik, um das Verhalten eines Systems über die Zeit hinweg anschaulich darzustellen. Sie beschreiben, in welchen **Zuständen** sich ein System befinden kann und wie es durch **Ereignisse oder Bedingungen** von einem Zustand in einen anderen wechselt. | |||
Typischerweise werden Zustandsdiagramme verwendet, um reaktive Systeme zu modellieren, also Systeme, die auf äußere Eingaben reagieren – etwa Steuerungen, eingebettete Systeme oder Benutzeroberflächen. Dabei steht nicht die Berechnung einzelner Werte im Vordergrund, sondern der Ablauf von Zustandsänderungen. | |||
Ein Zustandsdiagramm besteht im Kern aus **Zuständen**, **Übergängen** und den dazugehörigen **Auslösern (Events)** sowie optionalen **Bedingungen (Guards)** und **Aktionen**. Durch diese Struktur lassen sich komplexe Verhaltenslogiken übersichtlich und nachvollziehbar darstellen. | |||
In der Praxis helfen Zustandsdiagramme dabei, Systeme frühzeitig zu verstehen, Fehler in der Logik zu erkennen und die Implementierung in Programmiersprachen oder Steuerungssystemen gezielt vorzubereiten. | |||
= 1. Zustandsbeschreibung (State) = | |||
*Ein Zustand beschreibt eine stabile Situation eines Systems. | |||
*Ein System bleibt in einem Zustand, bis ein Ereignis einen Übergang auslöst. | |||
Eigenschaften eines Zustands: | |||
* beschreibt „Was gilt gerade?“ | |||
* kann interne Variablen enthalten | |||
* kann Aktionen ausführen (Entry / Do / Exit) | |||
Beispiele: | |||
* Warten | |||
* MotorEin | |||
* Fehlerzustand | |||
=2. Eingangs- und Ausgangsaktionen (E/A)= | |||
Zustände können Aktionen ausführen, wenn sie betreten oder verlassen werden. | |||
== Eingangsaktion (Entry Action) == | |||
Wird einmal beim Betreten des Zustands ausgeführt. | |||
entry / Aktion | |||
===Beispiel=== | |||
entry / LED = ON | |||
entry / Zähler = 0 | |||
== Ausgangsaktion (Exit Action) == | |||
Wird einmal beim Verlassen des Zustands ausgeführt. | |||
exit / Aktion | |||
=== Beispiel=== | |||
exit / Motor stoppen | |||
exit / Daten speichern | |||
== Do-Aktion (optional)== | |||
Läuft während der Zustand aktiv ist. | |||
do / Aktion | |||
=== Beispiel== | |||
do / Temperatur messen | |||
== 3. Zustandsübergänge (Transitions) == | |||
Ein Zustandsübergang beschreibt den Wechsel von einem Zustand in einen anderen. | |||
Er wird durch ein Ereignis ausgelöst. | |||
Darstellung: | |||
Ereignis / Aktion | |||
oder erweitert: | |||
Ereignis [Bedingung] / Aktion | |||
===Beispiel=== | |||
TasterGedrückt / LED = ON | |||
Bedeutung:<br> | |||
Wenn der Taster gedrückt wird → LED einschalten | |||
=4. Bedingungen für Zustandsübergänge (Guards)= | |||
Eine Bedingung (Guard) ist eine logische Voraussetzung, die erfüllt sein muss, damit ein Übergang stattfindet. | |||
Schreibweise: | |||
Ereignis [Bedingung] | |||
=== Beispiel=== | |||
TasterGedrückt [Temperatur > 50°C] / Alarm = ON | |||
Bedeutung:<br> | |||
Übergang nur, wenn Temperatur größer als 50°C ist | |||
Eigenschaften von Bedingungen: | |||
* sind logische Ausdrücke (true/false) | |||
* werden vor dem Übergang geprüft | |||
* verhindern oder erlauben Übergänge | |||
= Videos = | |||
{{#ev:youtube|m_PEhWshRRg| 250 | | Mealy Automat - einfache Erklärung & anschauliches Beispiel!|frame}} | |||
{{#ev:youtube|PO-KMw70af0| 250 | | Snack-Automat als Zustandsdiagramm|frame}} | |||
= Tutorials = | |||
* [https://de.wikipedia.org/wiki/Endlicher_Automat Wikipedia: Zustandsdiagramm] | |||
* [https://de.mathworks.com/discovery/state-diagram.html Zustandsdiagramme mit MATLAB<sup>®</sup>] | |||
→ zurück zum Hauptartikel: [[Informatikpraktikum_MTR|Informatik Praktikum 2]]<br> | → zurück zum Hauptartikel: [[Informatikpraktikum_MTR|Informatik Praktikum 2]]<br> | ||
Version vom 2. Juli 2026, 16:06 Uhr
| Autor: | Prof. Dr.-Ing. Schneider |
| Modul: | Praxismodul II |
| Lehrveranstaltung: | Mechatronik, Informatik Praktikum 2, 2. Semester |
Einleitung
Zustandsdiagramme sind ein zentrales Werkzeug der Modellierung in der Informatik und Systemtechnik, um das Verhalten eines Systems über die Zeit hinweg anschaulich darzustellen. Sie beschreiben, in welchen **Zuständen** sich ein System befinden kann und wie es durch **Ereignisse oder Bedingungen** von einem Zustand in einen anderen wechselt.
Typischerweise werden Zustandsdiagramme verwendet, um reaktive Systeme zu modellieren, also Systeme, die auf äußere Eingaben reagieren – etwa Steuerungen, eingebettete Systeme oder Benutzeroberflächen. Dabei steht nicht die Berechnung einzelner Werte im Vordergrund, sondern der Ablauf von Zustandsänderungen.
Ein Zustandsdiagramm besteht im Kern aus **Zuständen**, **Übergängen** und den dazugehörigen **Auslösern (Events)** sowie optionalen **Bedingungen (Guards)** und **Aktionen**. Durch diese Struktur lassen sich komplexe Verhaltenslogiken übersichtlich und nachvollziehbar darstellen.
In der Praxis helfen Zustandsdiagramme dabei, Systeme frühzeitig zu verstehen, Fehler in der Logik zu erkennen und die Implementierung in Programmiersprachen oder Steuerungssystemen gezielt vorzubereiten.
1. Zustandsbeschreibung (State)
- Ein Zustand beschreibt eine stabile Situation eines Systems.
- Ein System bleibt in einem Zustand, bis ein Ereignis einen Übergang auslöst.
Eigenschaften eines Zustands:
- beschreibt „Was gilt gerade?“
- kann interne Variablen enthalten
- kann Aktionen ausführen (Entry / Do / Exit)
Beispiele:
- Warten
- MotorEin
- Fehlerzustand
2. Eingangs- und Ausgangsaktionen (E/A)
Zustände können Aktionen ausführen, wenn sie betreten oder verlassen werden.
Eingangsaktion (Entry Action)
Wird einmal beim Betreten des Zustands ausgeführt.
entry / Aktion
Beispiel
entry / LED = ON entry / Zähler = 0
Ausgangsaktion (Exit Action)
Wird einmal beim Verlassen des Zustands ausgeführt.
exit / Aktion
Beispiel
exit / Motor stoppen exit / Daten speichern
Do-Aktion (optional)
Läuft während der Zustand aktiv ist.
do / Aktion
= Beispiel
do / Temperatur messen
3. Zustandsübergänge (Transitions)
Ein Zustandsübergang beschreibt den Wechsel von einem Zustand in einen anderen. Er wird durch ein Ereignis ausgelöst.
Darstellung:
Ereignis / Aktion
oder erweitert:
Ereignis [Bedingung] / Aktion
Beispiel
TasterGedrückt / LED = ON
Bedeutung:
Wenn der Taster gedrückt wird → LED einschalten
4. Bedingungen für Zustandsübergänge (Guards)
Eine Bedingung (Guard) ist eine logische Voraussetzung, die erfüllt sein muss, damit ein Übergang stattfindet.
Schreibweise:
Ereignis [Bedingung]
Beispiel
TasterGedrückt [Temperatur > 50°C] / Alarm = ON
Bedeutung:
Übergang nur, wenn Temperatur größer als 50°C ist
Eigenschaften von Bedingungen:
- sind logische Ausdrücke (true/false)
- werden vor dem Übergang geprüft
- verhindern oder erlauben Übergänge
Videos
Tutorials
→ zurück zum Hauptartikel: Informatik Praktikum 2