520 likes | 1.24k Views
09:17:46. Zustandsautomaten. Zustandsautomat (endlicher Automat) ein Objekt, dessen Verhalten nicht nur durch die momentanen Eingaben, sondern auch durch die vergangenen bestimmt wird. Besteht aus einer endlichen Anzahl innerer Konfigurationen (Zustände).
E N D
09:17:46 Zustandsautomaten Zustandsautomat (endlicher Automat)ein Objekt, dessen Verhalten nicht nur durch die momentanen Eingaben, sondern auch durch die vergangenen bestimmt wird. Besteht aus einer endlichen Anzahl innerer Konfigurationen (Zustände). Zustand: Information, die sich aus bisherigen Eingaben ergeben hat und die benötigt wird, um die Reaktion auf noch folgende Eingaben zu bestimmen. Erstellung eines Automaten Beispiel: Stellen der Uhrzeit einer Digitaluhr mit 2 Stellknöpfen. Knopf 1: Stellmodus (Normalzeit, h stellen, m stellen, s stellen) toggeln Knopf 2: Einstellen der Zeit gemäß Modus Schritt 1: Zustände und Ein- und Ausgaben identifizieren Schritt 2: Übergänge festlegen Vorlesung Automatisierungsprojekte Seite 4/1
Zustandsautomaten • Schritt 1: Zustände, Eingaben und Ausgaben identifizieren • Zustände beim Stellen der Digitaluhr: • Zustand Normalzeit: Nach Einlegen der Batterie (Startsignal) • Zustand Stunden stellen • Zustand Minuten stellen • Zustand Sekunden stellen • Mögliche Ereignisse: • EreignisStartsignal: Wenn Batterie eingelegt wird • Ereignis Knopf 1 gedrückt • Ereignis Knopf 2 gedrückt • Mögliche Ausgaben: • Ausgabe Stunden blinken (Zustandsanzeige für Stellen Stunde) • Ausgabe Minuten blinken • Ausgabe Sekunden blinken • Ausgabe Stunden erhöhen (Um 1 erhöhte Anzeige der Stunden) • Ausgabe Minuten erhöhen • Ausgabe Sekunden stellen (Anzeige von 00 für Sekunden) • Ausgabe Initialisierung (Anzeige von 00:00:00) Vorlesung Automatisierungsprojekte Seite 4/2
Zustandsautomaten Schritt 2: Übergänge festlegen Wie Übergänge zwischen den Zuständen in Abhängigkeit von Eingaben oder Ereignissen aussehen,welche Ausgaben oder Aktionen ausgelöst werden. Wenn Startsignal auftritt, dann Übergang in Zustand Normalzeit und Durchführung der Aktion Initialisierung. Wenn Knopf 1 gedrückt wird und Uhr im Zustand Normalzeit ist, dann Aktion Blinken ausführen und Zustand Stunden stellen einnehmen. ... Vorlesung Automatisierungsprojekte Seite 4/3
Zustandsautomaten Eingabe, Ereignis Ergebnis, Durchzuf. Aktion E/A Zustand Anfangs-zustand (Pseudozustand) End-zustand (Pseudozustand) Zustandsübergang Vorlesung Automatisierungsprojekte Seite 4/4
Zustandsautomaten Beispiel Zustandsdiagramm Start/Initialisierung Normal-zeit Knopf 1 gedrückt/Normalzeit anzeigen Knopf 1 gedrückt/Stunden blinken Knopf 2gedrückt/Stunden erhöhen Knopf 2gedrückt/Sekunden stellen Sek.stellen Std.stellen Min.stellen Knopf 1 gedrückt/Sekunden blinken Knopf 1 gedrückt/Minuten blinken Knopf 2gedrückt/Minuten erhöhen Vorlesung Automatisierungsprojekte Seite 4/5
Zustandsautomaten Zustandstabelle Nur wenn Diagramme zu unübersichtlich Kompakte Darstellung Vorlesung Automatisierungsprojekte Seite 4/6
Zustandsautomaten Zustandsmatrix 1 Nur wenn Diagramme zu unübersichtlich Vorlesung Automatisierungsprojekte Seite 4/7
Zustandsautomaten Zustandsmatrix 2 Nur wenn Diagramme zu unübersichtlich Vorteil: alle Kombinationen Zustand/Ereignis: Vollständigkeit prüfbarNachteil: dünn besetzt => Platzbedarf Vorlesung Automatisierungsprojekte Seite 4/8
Zustandsautomaten Zustandsautomat mit Endzuständen Beispiel: Roboter-Kommando erkennen Greifgelenk Finger Drehgelenk Hand Steuerkommandos BSA+/-xxx : Beugen Schulter Absolut (Ausgabe: 1) BSR+/-xxx : Beugen Schulter Relativ (Ausgabe: 2) RSA+/-xxx : Rotieren Schulter Absolut (Ausgabe: 3) RSR+/-xxx : Rotieren Schulter Relativ (Ausgabe: 4) ... Beugegelenk Hand o Beugegelenk Elle o Beugegelenk Schulter o Drehgelenk Schulter Vorlesung Automatisierungsprojekte Seite 4/9
Zustandsautomaten Zustandsautomat mit Endzuständen Beispiel: Roboter-Kommando erkennen Start „R“ „B“ Beugen Rotieren anderesZeichen anderesZeichen anderesZeichen „S“ „S“ Steuerkommandos BSA+/-xxx : Beugen Schulter Absolut (Ausgabe: 1) BSR+/-xxx : Beugen Schulter Relativ (Ausgabe: 2) RSA+/-xxx : Rotieren Schulter Absolut (Ausgabe: 3) RSR+/-xxx : Rotieren Schulter Relativ (Ausgabe: 4) 3 Endzustände (2 Fehlerzustände) anderesZeichen anderesZeichen Schulter Schulter Falsches Kommando „R“/2 „A“/3 „R“/4 „A“/1 Absolut Relativ „+“ „-“/- „-“/- „+“ Vorzei-chen anderesZeichen Ziffer/Ziffer Ziffer/Ziffer Ziffer/Ziffer 1. Ziffer anderesZeichen anderesZeichen Ziffer/Ziffer anderesZeichen 2. Ziffer Ziffer/Ziffer 3. Ziffer Vorlesung Automatisierungsprojekte Seite 4/10 Falscher Winkel
Zustandsautomaten • Mealy- und Moore-Automaten • Mealy-Automat: • Ausgaben bzw. Aktionen sind an Zustandsübergänge gekoppelt. • Zustände werden für Zeitintervall eingenommen. • Übergänge finden zu Zeitpunkten statt. • Ausgaben zu diskreten Zeitpunkten, assoziiert mit Übergängen. • Mathematische Beschreibung: • Sechstupel M = (Q, S, D, d, l, q0) • Q: endliche Menge von Zuständen • S: endliches Eingabealphabet (Menge der Ereignisse) • D: Ausgabealphabet (Menge der Aktionen) • d: Übergangsfunktion (Transition) für Abbildung Q x S -> Qd(q,a) ist ein (Folge-)Zust. für jeden Zust. q und jedes Eingabesymbol a • q0: Anfangszustand (Startzustand) • l: eine Abbildung von Q x S -> D • l(q,a) liefert Ausgabe (Aktion) bei Übergang aus q mit Eingabe a Vorlesung Automatisierungsprojekte Seite 4/11
Aktiv do/ Vorbeugende Maßnahme Voralarm do/ Sicherungsmaßnahmen Alarm do/ Alarmmaßnahmen Zustandsautomaten • Mealy- und Moore-Automaten • Moore-Automat: • Ausgaben bzw. Aktionen sind an Zustände gebunden. • Aktivitäten (UML): • Aktivität beginnt, wenn in den Zustand eingetreten wird • Aktivität endet, wenn Zustand verlassen wird • Notation am Beispiel Alarmanlage • Mathematische Definition wie Mealy, außer Abbildung l: Abbildung von Q nach D, spezifiziert die mit Zustand verknüpfte Ausgabe. Ausgeschaltet AlarmGlasbruchmelder Alarm Bewegungsmelder Einschalten Ausschalten Voralarmausschalten Alarmausschalten AlarmGlasbruchmelder Vorlesung Automatisierungsprojekte Seite 4/12
Zustandsautomaten • Mealy- und Moore-Automaten • Voraussetzung Moore: • Im jeweiligen Zustand genau eine Aktivität für die Zeitdauer des Zustandes • Stoppuhr-Beispiel nicht direkt als Moore-Automat darstellbar • Äquivalenz: • Mealy- und Moore-Automaten sind äquivalent und können jeweils ineinander überführt werden:Moore -> Mealy: An jeden Zustandsübergang wird die Ausgabe gekoppelt, die vom Zustand generiert wird. Vorlesung Automatisierungsprojekte Seite 4/13
Zustandsautomaten Beispiel Drehkranversuch im Automatisierungslabor Vorlesung Automatisierungsprojekte Seite 4/14
Zustandsautomaten Beispiel Drehkranversuch im Automatisierungslabor Vorlesung Automatisierungsprojekte Seite 4/15
Zustandsautomaten Beispiel Drehkranversuch im Automatisierungslabor Vorlesung Automatisierungsprojekte Seite 4/16
Zustandsautomaten Beispiel Drehkranversuch im Automatisierungslabor Vorlesung Automatisierungsprojekte Seite 4/17
Zustandsautomaten Krananheben Kranoben Kran nachlinks drehen Aufnahme-position Start-taste Kran absenken Kranunten Werkstückaufnehmen Vakuum Werkstückanheben Start KeinVakuum Kranoben 10 Sek.abgelaufen Fehler-anzeige Kranoben Kran nachrechts drehen Fehler Not-Aus Ablage-position KeinVakuum Werkstückablegen Kran unten Werkstückabsenken Zustand Aktivität do/ Diagramm des Drehkran-Versuchsim Automatisierungslabor aus Platzgründen nicht in normgerechter Notation: Darstellung als Moore-Automat, aber Aktivitäten sind bis auf „Fehler-anzeige“ eigentlich Aktionen. Kästen nicht abgerundet. Zustandsbezeichnungen wie Akti-vitätsbezeichnungen. Vorlesung Automatisierungsprojekte Seite 4/18
Zustandsautomaten Zustandstabelle für den Drehkranversuch im Automatisierungslabor Zustandsmatrizen auf einem Blatt nicht darstellbar (11x12x2 bzw. 11x11x2 Elemente) Vorlesung Automatisierungsprojekte Seite 4/19
Zustandsautomaten • Harel-Automaten • Konzeptionelle Erweiterung der Zustandsautomaten: • Hybride Zustandsautomaten • Kombination von Mealy- und Moore-Automaten • Bedingte Zustandsübergänge • Auslösung durch Ereignis in Kombination mit einem Wächter (Bedingung) • Hierarchische Zustandsautomaten • Schachtelung von Zuständen (Unterzustände, Substates) • Zustände mit Gedächtnis • Rückkehr in den zuletzt eingenommenen Unterzustand eines Oberzustandes • Nebenläufige Zustände • Ein Oberzustand besteht aus Unterzuständen, in denen sich das System gleichzeitig befindet. Vorlesung Automatisierungsprojekte Seite 4/20
Zustand 1 Ereignis 1 Zustand 2 do/ Aktivität Zustandsautomaten Harel-Automaten UML-Notation Ereignisbezeichner Zustandsübergangbzw. Transition Anfangszustand Moore ImplizitesEreignis Ereignis 3 [Wächter] Zustand 4 Zustand 3 Entry / Aktion 3 Exit / Aktion 4 Mealy Ereignis 4 Ereignis 2 / Aktion 2 Endzustand Bedingter Übergang (guarded transition) Zustandsübergang findet nur dann statt, wenn zumEintrittszeitpunkt des Ereignisses die Wächterbedingung zutrifft. Vorlesung Automatisierungsprojekte Seite 4/21
Zustandsautomaten Harel-Automaten Kleines Beispiel für bedingten Übergang: Parkkarten-Zahlautomat Bereit Karte eingeschoben / Betrag anzeigen Wartet auf Geld Geld eingeworfen [reicht nicht aus] / Restbetrag anzeigen Geld eingeworfen [reicht aus] / Karte ausgeben Vorlesung Automatisierungsprojekte Seite 4/22
Zustandsautomaten • Harel-Automaten: Aktivitäten und Aktionen • Aktion: • Mit Zustandsübergang verbunden • Sofortige Ausführung • Kein Zeitintervall (idealisiert) • Aktivität: • Mit Zustand verbunden • Zeitintervall • Vorzeitig unterbrechbar • Aktionen in Zuständen: • Entry action: Beim Übergang in den Zustand (äquivalent zur Beinhaltung der Aktion in allen Transitionen in diesen Zustand) • Exit action: Beim Übergang aus dem Zustand (äquivalent zur Beinhaltung der Aktion in allen Transitionen aus diesem Zustand) Ereignis 3 / Aktion 2 Ereignis 3 Ereignis 1 / Aktion 1 Ereignis 1 Zustand 3 do/ Aktivität Zustand 3 do/ Aktivität entry / Aktion 1 exit / Aktion 2 äquivalent Ereignis 2 / Aktion 1 Ereignis 2 Ereignis 4 / Aktion 2 Ereignis 4 Vorlesung Automatisierungsprojekte Seite 4/23
Zustandsautomaten Beispielhafte Umsetzung eines Automaten im Automatisierungslabor in AWL Einfacher Automat: Vorlesung Automatisierungsprojekte Seite 4/24
Zustandsautomaten Vorlesung Automatisierungsprojekte Seite 4/25
Zustandsautomaten Vorlesung Automatisierungsprojekte Seite 4/26
Zustandsautomaten Vorlesung Automatisierungsprojekte Seite 4/27
Zustandsautomaten Vorlesung Automatisierungsprojekte Seite 4/28
Zustandsautomaten Vorlesung Automatisierungsprojekte Seite 4/29
Zustandsautomaten Harel-Automaten: Hierarchische Automaten Substate Superstate D c c A A b b B B a a b C C d d Ohne Hierarchie Mit Hierarchie Vorlesung Automatisierungsprojekte Seite 4/30
Zustandsautomaten Harel-Automaten: Hierarchische AutomatenBeispiel Roboter-Kommando Erkennung „R“ „B“ Start Beugen Rotieren anderesZeichen „S“ „S“ Schulter Schulter Falsches Kommando „A“/3 „R“/2 „R“/4 „A“/1 Absolut Relativ „+“ „-“/- „-“/- „+“ Vorzei-chen Ziffer/Ziffer Ziffer/Ziffer Ziffer/Ziffer anderesZeichen 1. Ziffer Falscher Winkel Ziffer/Ziffer 2. Ziffer Ziffer/Ziffer Vorlesung Automatisierungsprojekte Seite 4/31 3. Ziffer
Zustandsautomaten • Harel-Automaten: Hierarchische Automaten • UML-Regeln: • Jede Verfeinerung besitzt genau einen Anfangszustand. • Ein Zustandsübergang in einen verfeinerten Zustand entspricht dem Zustandsübergang in den Anfangszustand des verfeinerten Zustands. • Wird ein verfeinerter Zustand durch einen Zustandsübergang verlassen, dann wird jeder Unterzustand –egal auf welcher Verfeinerungsstufe- verlassen und es werden die entsprechenden exit-Aktionen durchgeführt. • Wird ein Zustand mit einem rekursiven Zustandsübergang verfeinert, dann wird bei einem erneuten Zustandseintritt der Anfangszustand eingenommen und die entry-Aktion durchgeführt. Vorlesung Automatisierungsprojekte Seite 4/32
Uhrzeit Knopf 3 gedrückt / Datum anzeigen Knopf 3 gedrückt / Normalzeit anzeigen Datum 09:17:46 DI:30:11 Zustandsautomaten • Harel-Automaten: Hierarchische Automaten • Top-Down-Entwicklung des Zustandsmodells: • Modellierung von Oberzuständen („Superstates“) • Beispiel: Modellierung Uhr stellen • Erweiterung um Datumsanzeige Knopf 3: Datum/Uhrzeit Variante 1 Variante 2 Uhrzeit Knopf 3 gedrückt / Datum anzeigen Knopf 3 gedrückt / Normalzeit anzeigen Datum Von jedem Unterzustand in Uhrzeit wird inden Anfangszustand von Datum übergegangenund umgekehrt. Übergang von Uhrzeit nach Datum nur auseinem bestimmten Unterzustand von Uhrzeit,desgleichen für Datum nach Uhrzeit. Vorlesung Automatisierungsprojekte Seite 4/33
Zustandsautomaten Harel-Automaten: Hierarchische Automaten Erweiterung „Uhr stellen“ Start/Initialisierung Normal-zeit Knopf 1 gedrückt/Stunden blinken Knopf 1 gedrückt/Normalzeit anzeigen Knopf 2gedrückt/Stunden erhöhen Knopf 2gedrückt/Sekunden stellen Sek.stellen Std.stellen Knopf 2 gedrückt / Minuten erhöhen Knopf 1 gedrückt/Minuten blinken Knopf 1 gedrückt/Sekunden blinken Min.stellen Knopf 3 gedrückt / Datum anzeigen Knopf 3 gedrückt / Normalzeit anzeigen Datum Knopf 1 gedrückt/Wo.-Tag blinken Knopf 1 gedrückt/Datum anzeigen Knopf 2gedrückt/Wo.-Tag erhöhen Knopf 2gedrückt/Monat erhöhen Monatstellen Wo.-Tagstellen Knopf 2 gedrückt / Tag erhöhen Knopf 1 gedrückt/Tag blinken Knopf 1 gedrückt/Monat blinken Tagstellen Vorlesung Automatisierungsprojekte Seite 4/34
Kommando „A“/1 „A“/3 „R“/2 „R“/4 Winkel Zustandsautomaten • Harel-Automaten: Hierarchische Automaten • Top-Down-Entwicklung des Zustandsmodells: • Modellierung von Oberzuständen („Superstates“) • „Stubbed transition“ • Übergang in anderen Oberzustand nur aus bestimmten Unterzuständen des aktuellen Oberzustands • Übergang aus dem aktuellen Oberzustand nur in bestimmte Unterzustände des neuen Oberzustands Beispiel Roboter-Kommando Erkennung AnderesZeichen Falsches Kommando AnderesZeichen Falscher Winkel Vorlesung Automatisierungsprojekte Seite 4/35
Zustandsautomaten Harel-Automaten: Hierarchische Automaten Erlaubte Zustandsübergänge Zwischen Zuständen gleicher Ebenez.B. von D nach E In einen Unterzustand,z.B. von A nach D Aus einem Unterzustand,z.B. von E nach A In einen Oberzustand,z.B. von A nach B(dessen Anfangszustand C) Aus einem Oberzustand,z.B. von B nach ABei Ereignis b wird jeder der Unterzustände C, D oder E verlassen. B d C a A b f D E c e Vorlesung Automatisierungsprojekte Seite 4/36
Zustandsautomaten Hierarchische Automaten: Einfaches Beispiel Drehkran (Ausschnitt) Fehler Kran oben Fehleranzeige Weisse Lampe an Kran anheben T6: 0.5s T5: 0.5s T4: 10s Weisse Lampe aus Vorlesung Automatisierungsprojekte Seite 4/37
Zustandsautomaten Harel-Automaten: Zustände mit Gedächtnis Eigenschaft: Bei Übergang in einen Oberzustand mit Unterzuständen Rückkehr in den zuletzt eingenommenen Zustand. Beispiel „a“ erstmals: Übergang in Unterzustand „C“ Dann „c“: Übergang in Unterzustand „D“ Dann „b“: Übergang in Zustand „A“ Dann „a“: Übergang in Unterzustand „D“ (letzter Unter- zustand von B) B a c A D C d Gedächtnis-Markierung (History) b H Vorlesung Automatisierungsprojekte Seite 4/38
Zustandsautomaten Harel-Automaten: Nebenläufige Zustände Eigenschaft: Ein Oberzustand kann aus Unterzuständen bestehen, in denen sich das System gleichzeitig befindet. Nebenläufigkeitsmarkierung Beispiel Oberzustand Y mit nebenläufigen Komponenten A und D Eintritt in Y: System befindet sich gleichzeitig in B und F: (B,F). „a“: Simultane Übergänge B nach C und F nach G: (B,F) -> (C,G). „b“: (B,F) -> (B,E) „c“: (in G) Übergang nur, wenn Komponente D in Zustand G. Y D A E B b c(in G) e F a d G a C Synchr. Vorlesung Automatisierungsprojekte Seite 4/39
Zustandsautomaten Beispiel DGS Parametergeladen Wartephase Initialisierungentry/ Display Reset do/ Parameter ladenexit/ a/c-Typ anzeigen Selbsttest Markenerkennungzu schlecht Init Markenerkennung ok Selbsttestfehler Suchphaseentry/ ok anzeigendo/ a/c suchen Flugzeug det. [gemeldeter Typ] Trackingphasedo/ Pos messenund anzeigen;v messen; Status anzeigen(Stop, too short,too far) exit/ on-blockMeldung, Bild Chocks on t > sched.arr. time Flugzeug det. [nicht gemeldeter Typ] Überfälligfehler Entry/ Fehlermeldungdo/ Stop anzeigen Exit/Display Reset On-block phasedo/ Stopanzeigen;Pos.messen;v messen;exit/ Display Reset Flugzeugtypfehler Entry/ Fehlermeldungdo/ Stop anzeigen Exit/Display Reset a/c lost Trackingfehler Chocks off Pushback-Detektiondo/ Pos. messen;v messen Exit/ Pushback melden Fehlerquittierung vFlugzeug < 0 Parameter: a/c-Modell, sched. arr. Time, Gate Modell Vorlesung Automatisierungsprojekte Seite 4/40
Zustandsautomaten • Übung 1 • U1: Zeichne das Zustandsdiagramm des Stapelmagazin-Versuches des Automatisierungslabors. • U2: Entwickle Stoppuhr mit zwei Knöpfen, die nicht gleichzeitig gedrückt werden können. Die Stoppuhr soll folgende Funktionen haben. • Stoppuhr kann ein- und ausgeschaltet werden • Stoppuhr kann gestartet und gestoppt werden. Nach Stopp wird die zwischen Start und Stopp vergangene Zeit angezeigt. • Nach dem Start kann eine Zwischenzeit genommen werden, während die Uhr im Hintergrund weiterläuft. Dann kann entweder die Zwischenzeit oder die seit Start abgelaufene Gesamtzeit angezeigt werden. Ferner kann die im Hintergrund weiterlaufende Zeit gestoppt werden, ohne dass sich die Anzeige ändert. • Die zwischen Start und Stopp vergangene Zeit kann bei gestoppter Uhr und bei Anzeige der Gesamtzeit auf Null zurückgesetzt werden. • U3: Entwirf die Zustandsübergangstabelle und die beiden Arten der Zustandsmatrizen für das Zustandsübergangsdiagramm aus U1. Vorlesung Automatisierungsprojekte Seite 4/41
Zustandsautomaten Übung 1 Lösung: Vorlesung Automatisierungsprojekte Seite 4/42
Zustandsautomaten Übung 2 Modellieren Sie folgende vereinfachte Aufzugsteuerung als Harel-Automat: Der Aufzug fährt zwischen zwei Stockwerken S1 und S2. Dort gibt es jeweils einen Druckknopf D1 und D2, mit dem der Aufzug angefordert werden kann sowie eine Tür T1 bzw. T2 zum Betreten des Aufzugs mit jeweils einer Lichtschranke L1 und L2, welche Menschen in der Tür detektieren, und den Sensoren T1z bzw. T2z und T1o bzw. T2o, der signalisiert, ob die jeweilige Tür zu oder offen ist. In jedem Stockwerk ist ein Niveausensor N1 bzw. N2, der ein Signal gibt, wenn der Kabinen- und der Stockwerkboden auf gleicher Höhe sind. In der Aufzugkabine befindet sich ein Druckknopf F, mit dem die Fahrt veranlasst werden kann. In Bereitschaft steht der Aufzug mit geöffneter Tür in S1. Wird F gedrückt, wird die Tür geschlossen und der Aufzug fährt danach nach S2. Nach Erreichen von S2 wird die Tür geöffnet. Wird danach wiederum F gedrückt, läuft der Vorgang umgekehrt ab. Sonst wartet der Aufzug mit geöffneter Tür in S2.Steht der Aufzug mit geöffneter Tür in einem Stockwerk und wird dann der Anforderungs-Druckknopf des anderen Stockwerks gedrückt, läuft der Vorgang analog wie oben ab.Wenn die Lichtschranke einer schließenden Tür anspricht, wird der Schließvorgang abgebrochen und die Tür wieder geöffnet. Vorlesung Automatisierungsprojekte Seite 4/43
Wartet in S1 F gedrückt D2 gedrückt L1 Tür1 öffnet Tür1 schließt T1o T1z Aufzug fährt nach S2 N1 Tür2 öffnet T2o Wartet in S2 Zustandsautomaten Übung 2 Lösung: T1o Tür 1 öffnet N2 Aufzug fährt nach S1 T2z Tür2 schließt Tür2 öffnet T2o L2 D1 gedrückt F gedrückt Vorlesung Automatisierungsprojekte Seite 4/44
Zustandsautomaten Übung 3 Modellieren Sie das Softwaresystem für die Steuerung einer automatischen Personenschleuse als Zustandsautomaten: Die Schleuse soll im Normalfall durch eine einzige Person von „außen“ nach „innen“ durchquert werden. Der Boden von Bereich „A“ ist mit einer Kontaktmatte belegt, die ein Signal gibt, wenn eine Person darauf steht. Der Boden des Bereichs „B“ besteht statt dessen aus einer Waage, mit der anhand einer durch Wartungspersonal einstellbaren Gewichtsschwelle entschieden werden kann, ob sich wirklich nur eine Person in Bereich „B“ befindet. Im Bereich „B“ ist ein Ausweisleser untergebracht, der die Ausweisdaten der Person in „B“ liest und an ein Leitsystem weitergibt. Das Leitsystem gibt ein Signal zurück, ob der Ausweis zum Eintreten nach „innen“ berechtigt. Ferner ist im Bereich „B“ eine Anzeige angebracht, die „Eintreten“, „Ausweis“, „zurück“ und „weiter“ anzeigen kann, um zum Betreten, zur Eingabe des Ausweises oder zum Verlassen der Schleuse nach „außen“ oder nach „innen“ aufzufordern.Das zu modellierende Softwaresystem soll durch Öffnen und Schließen der Türen sicherstellen, dass nur eine einzige berechtigte Person von „außen“ nach „innen“ passieren kann.Grundzustand: „A“ und „B“ sind leer, Tür 1 und Tür 2 sind zu, Die Anzeige zeigt „Eintreten“.Normaler Ablauf: Eine Person betritt „A“. Dann öffnet Tür 1, wenn außerdem „B“ leer und Tür 2 geschlossen ist. Person betritt „B“, Tür 1 schließt. Ist der Gewichtswert kleiner als der Schwellwert, zeigt die Anzeige „Ausweis“ an. Wird nach 30 Sekunden der Ausweis in den Leser gegeben, erfolgt das Auslesen und die Übertragung der Ausweisdaten an das Leitsystem. Ist die Rückmeldung durch das Leitsystem positiv, wird Tür 2 geöffnet und die Anzeige zeigt „weiter“ an. Hat die Person „B“ verlassen, wird Tür 2 geschlossen und die Anzeige auf „Eintreten“ geschaltet. Ausnahmeablauf: Wie zuvor bis zur Gewichtsprüfung. Gewicht der Person in B ist größer als der Schwellwert oder das Ergebnis der Ausweisprüfung ist negativ: Tür 1 öffnet und die Anzeige zeigt „zurück“. Nach Verlassen von „B“ wird Tür 1 geschlossen und es wird „Eintreten“ angezeigt. Vorlesung Automatisierungsprojekte Seite 4/45
Zustandsautomaten Übung 3: Lösung Vorlesung Automatisierungsprojekte Seite 4/46