Aufgabe 20 von www.invent-a-chip.de 2006: Schleusenautomat.

Aufgabe:

20. Frage / Aufgabe:

Entwickle eine Steuerung für eine Schleuse !

Die Schleuse habe vereinfacht betrachtet folgende

Zustände:

Z1: Ventile geschlossen, Tore geschlossen,

Z2: obere Ventile geöffnet, Rest geschlossen

Z3: obere Tore geöffnet, Rest geschlossen

Z4: untere Ventile geöffnet, Rest geschlossen

Z5: untere Tore geöffnet, Rest geschlossen

Es gibt zwei Sensoren:

S1: Sensor für „Wasserstand hat oberes Niveau erreicht“

S2: Sensor für „Wasserstand hat unteres Niveau erreicht“

Der Schleusenwärter betätigt nur einen Schalter S3,

wenn die Schleuse mit Schiffen gefüllt ist und die

Schleusung beginnen kann.

 

Lösung:

Die Sensoren S1, S2 und der Schalter S3 haben je 2 Zustände (0,1). Damit ergeben sich 8 Kombinationen. 6 davon sind relevant und 2 liefern Fehler. Der Automat hat also 7 Eingabezeichen E={e0, e1, e2, e3, e4, e5, f}:

S1

0

1

0

1

0

1

0

1

S2

0

0

1

1

0

0

1

1

S3

0

0

0

0

1

1

1

1

Eingabezeichen

N

S1N

S2N

F

S

S1S

S2S

F

e

e0

e1

e3

f

e5

e2

e4

f

Das Eingabezeichen f signalisiert eine verbotene Kombination der Sensoren S1 und S2.

 

Über Ausgaben wird in der Aufgabe nichts gesagt. Jedoch müsste der Automat auch Ausgaben (Aktoren) haben, um die Tore, Ventile und Schiffe bedienen zu können. Wir wählen folgende Ausgabezeichen:

a0: Schiffe können fahren

a1: Schleusung kann beginnen

a2: Schleusung läuft

a3: Ventil zu, Tor auf, Schiffe können fahren

a4: Tor, zu, Ventile auf, Schleusung kann beginnen

a5: Fehler

Damit ist die Menge der Ausgabezeichen: A={a0, a1, a2,a3, a4, a5}.

 

Die Zustandsmenge ist Z={z1, z2, z3, z4, z5, f}.

Außer den geforderten Zuständen muss der Automat einen Fehlerzustand f besitzen, denn es gibt Kombinationen von Z und E die den Automaten in einen Fehlerzustand überführen (z.B. Tor unten  auf und S1 zeigt Wasserzustand oben an).

 

Der geforderte Automat kann nicht unterscheiden, ob ein Schleusungsvorgang nach oben oder nach unten erfolgt.

 

Startzustand ist z1. s0=z1. Endzustände gibt es nicht. ∑= { }.

Übergangs- und Ausgabefunktion sind unten angegeben.

Damit ist der Automat vollständig beschrieben: M=(E, A, Z, s0, ∑, u, g).

 

Übergänge in den Fehlerzustand sind im Zustandsdiagramm nicht eingezeichnet.

 

 

Eine Simulation des Automaten in Java findet sich unter: http://baumbart.homelinux.org/informatik/automaten/invent_a_chip_de/schleuseJava.html


 

 

 

 

 

 

 

 

 

 

 

 

Eingabezeichen

 

 

S1:

Wasser oben

 

 

 

 

 

Nr.

Zeichen

Bedeutung

 

S2:

Wasser unten

 

 

 

 

 

0

N

Nichts

 

S3:

Schleusung starten

 

 

 

 

 

1

S1N

S1 nicht S3

 

 

 

 

 

 

 

 

 

 

2

S1S

S1 S3

 

 

 

 

 

 

 

 

 

 

3

S2N

S2 nicht S3

 

 

 

 

 

 

 

 

 

 

4

S2S

S2 S3

 

 

 

 

 

 

 

 

 

 

5

S

S3

 

 

 

 

 

 

 

 

 

 

6

F

Fehler

 

 

 

 

 

 

 

 

 

 

Übergangsfunktion

 

 

 

 

 

Zustände

 

 

Z/E

0:N

1:S1N

2:S1S

3:S2N

4:S2S

5:S

6:F

 

Nr.

Zustand

Erläuterung

 

0

0

2

3

1

1

0

5

 

0

Z1

Tor, Schleuse zu

1

1

2

2

1

1

1

5

 

1

Z2

Oberes Ventil auf,l Tore zu

2

5

2

3

5

5

5

5

 

2

Z3

Oberes Tor auf, Ventile zu

3

3

3

3

4

4

3

5

 

3

Z4

Unteres Ventil auf, Tore zu

4

5

5

5

4

1

5

5

 

4

Z5

Unteres Tor auf, Ventile zu

5

Fehler, verbleibt im gleichen Zustand

 

 

5

F

Fehler

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ausgabefunktion

 

 

 

 

 

Ausgabezeichen

 

 

Z/E

0:N

1:S1N

2:S1S

3:S2N

4:S2S

5:S

6:F

 

Nr.

Ausgabe

 

 

0

0

1

5

5

1

0

6

 

0

Nichts

 

 

1

0

1

4

3

3

3

6

 

1

Schiffe können fahren

 

2

6

1

5

6

6

6

6

 

2

Schleusung kann beginnen

3

0

2

2

4

4

3

6

 

3

Schleusung läuft

 

4

6

6

6

1

5

6

6

 

4

Ventil zu, Tor auf, Schiffe können fahren

5

Fehler, verbleibt im gleichen Zustand

 

 

5

Tor, zu, Ventile auf, Schleusung kann beginnen

 

 

 

 

 

 

 

 

 

6

Fehler