|
Anhang: Einfache Beispiele zur Ablaufsteuerung
Es ist die folgende einfache Schaltung einer Ablaufsteuerung aus
Festwertspeicher (mit 32 Worten), Register und Bedingungsmultiplexer gegeben. Der zeitliche Ablauf wird durch die Taktfrequenz festgelegt. Die Ausgänge Q0 bis Q4 des Registers wählen die Adressen des Speichers aus und bestimmen so das Datenwort, das an den Speicherausgängen D0 bis D8 anliegt. Die Speicherausgänge D0 bis D3 bestimmen zusammen mit dem Multiplexerausgang QM, der auf den Registereingang D4 geleitet wird, den Folgebefehl. Die Speicherausgänge D7 und D8 wählen einer der Multiplexereingänge E0 bis E3 aus: Bei den Eingangskombinationen 01 oder 10 für D7,D8 hängt die Folgeadresse von Wert der Eingänge A und B ab. Als Beispiel soll Eingang A betrachtet werden: - Ist der Wert von A=0, wird bei (D0,D1,D2,D3,0) fortgefahren.
- Ist der Wert von A=1, wird bei (D0,D1,D2,D3,1) fortgefahren.
Die Speicherausgänge D4 bis D6 können zur Steuerung von angeschlossenen Einheiten verwendet werden. Die folgenden Beispiele sind absichtlich nicht auf die (komplexe) Ablaufsteuerung im Leitwerk einer CPU bezogen, sonder sollen durch Ihre einfache Aufgabenstellung die Arbeitsweise der
einfachen Ablaufsteuerung demonstrieren.
1. Abfüllanlage
Auf einem Fließband werden Schachteln unter eine
Abfüllstation transportiert. Die Schachtel wird jeweils mit 5
Teilen gefüllt und danach geschlossen. Während des
Schließens muss 3 Taktperioden gewartet werden.
Anschließend wird auf die nächste Schachtel gewartet.
Die Ein- und Ausgänge werden folgendermaßen belegt:
Y0 0: Band stop, 1: Band läuft
Y1 Taktimpulse für die Abfülleinrichtung
Y2 Taktimpuls für Schließmechanismus
A 1: Schachtel in Position
Der Ablauf sieht dann folgendermaßen aus:
- Warten, bis Schachtel in Position
- 5 Taktimpulse für die Abfülleinrichtung
- 1 Taktimpuls für die Schließeinrichtung
- 3 Taktperioden warten
- Sprung nach Schritt 1
(Bei den Taktimpulsen wirkt jedes Mal die steigende Flanke)
Speicherbelegung:
A0 A1 A2 A3 A4 ¦ D0 D1 D2 D3 D4 D5 D6 D7 D8
---------------+------------------------------
0 0 0 0 0 ¦ 0 0 0 0 1 0 0 0 1 Schritt 1
0 0 0 0 1 ¦ 0 0 1 0 0 1 0 0 0 Schritt 2 (T1)
0 0 1 0 0 ¦ 0 0 1 1 0 0 0 0 0 Schritt 2 (T1)
0 0 1 1 0 ¦ 0 1 0 0 0 1 0 0 0 Schritt 2 (T2)
0 1 0 0 0 ¦ 0 1 0 1 0 0 0 0 0 Schritt 2 (T2)
0 1 0 1 0 ¦ 0 1 1 0 0 1 0 0 0 Schritt 2 (T3)
0 1 1 0 0 ¦ 0 1 1 1 0 0 0 0 0 Schritt 2 (T3)
0 1 1 1 0 ¦ 1 0 0 0 0 1 0 0 0 Schritt 2 (T4)
1 0 0 0 0 ¦ 1 0 0 1 0 0 0 0 0 Schritt 2 (T4)
1 0 0 1 0 ¦ 1 0 1 0 0 1 0 0 0 Schritt 2 (T5)
1 0 1 0 0 ¦ 1 0 1 1 0 0 0 0 0 Schritt 2 (T5)
1 0 1 1 0 ¦ 1 1 0 0 0 0 1 0 0 Schritt 3
1 1 0 0 0 ¦ 1 1 0 1 0 0 0 0 0 Schritt 3/4 (1)
1 1 0 1 0 ¦ 1 1 1 0 0 0 0 0 0 Schritt 4 (2)
1 1 1 0 0 ¦ 1 1 1 1 0 0 0 0 0 Schritt 4 (3)
1 1 1 1 0 ¦ 0 0 0 0 0 0 0 0 0 Schritt 5
Schritt 1 stellt einen bedingten Sprung dar. Mit D7/D8 wird
über den Multiplexer der Eingang A als Steuerung für Bit
4 des Registers ausgewählt. Solange der Eingang A Null ist,
erfolgt ein Sprung nach 00000, also auf den Befehl selbst. Wechselt
der Eingang auf 1, erfolgt ein Sprung nach 00001 (Schritt 2): Die
beiden Sprungalternativen sind allgemein immer xxxx0 und xxxx1. Da
die erste Adresse (00000) festliegt, ergibt sich die zweite
zwangsläufig. Alle nun noch freien Speicherzellen werden sicherheitshalber
wie Schritt 5 programmiert (Sprung nach Schritt 1).
2. Automatische Schranke
Eine im Ruhezustand geschlossene Schranke soll durch Tastendruck
geöffnet werden und für die Dauer von 4 Taktimpulsen
offen bleiben. Danach wird die Schranke wieder geschlossen.
Gleichzeitig wird ein Lichtsignal (rot/grün) gesteuert. Der
Schrankenmotor wird in den jeweiligen Endstellungen
(offen/geschlossen) durch Kontakte am Schrankenantrieb stromlos
geschaltet. Die Ein- und Ausgänge werden folgendermaßen
belegt:
Y0 0: Schranke öffnen, 1: Schranke schließen
Y1 Lampe rot
Y2 Lampe grün
A 0: Schranke nicht offen, 1: Schranke ist offen
B Taster (1 = öffnen)
Der Ablauf sieht dann folgendermaßen aus:
- (Ruhezustand) Schranke schließen, Lampe rot an, Lampe grün aus
- Mit den Ausgangssignalen von Schritt 1 warten, bis Taste=1 ist
- Schranke öffnen
- Warten bis Schranke offen ist
- Lampe rot aus, Lampe grün an, 4 Taktimpulse abwarten
- Weiter bei Schritt 1
Speicherbelegung:
A0 A1 A2 A3 A4 ¦ D0 D1 D2 D3 D4 D5 D6 D7 D8
---------------+------------------------------
0 0 0 0 0 ¦ 0 0 0 1 1 1 0 0 0 Schritt 1
0 0 0 1 0 ¦ 0 0 0 1 1 1 0 1 0 Schritt 2
0 0 0 1 1 ¦ 0 0 1 0 0 1 0 0 1 Schritt 3
0 0 1 0 0 ¦ 0 0 1 0 0 1 0 0 1 Schritt 4
0 0 1 0 1 ¦ 0 0 1 1 0 0 1 0 0 Schritt 5 (1)
0 0 1 1 0 ¦ 0 1 0 0 0 0 1 0 0 Schritt 5 (2)
0 1 0 0 0 ¦ 0 1 0 1 0 0 1 0 0 Schritt 5 (3)
0 1 0 1 0 ¦ 0 1 1 0 0 0 1 0 0 Schritt 5 (4)
0 1 1 0 0 ¦ 0 0 0 0 0 0 1 0 0 Schritt 6
Alle nun noch freien Speicherzellen werden sicherheitshalber wie
Schritt 6 programmiert (Sprung nach Schritt 1).
Erläuterungen:
Die Schritte 2 und 3 enthalten bedingte Sprünge. Bei
Schritt 2 wird abhängig von Eingang B (Taster) verzweigt:
B=0 0 0 0 1 0: |
Sprung auf die gleiche Stelle (das letzte Bit
wird ja von Eingang B festgelegt). |
B=1 0 0 0 1 1: |
Sprungziel, wenn Taste = 1. Da B = D4 das letzte Bit festlegt,
ergibt sich das Sprungziel zwangsläufig. |
Bei Schritt 3 wird nach dem gleichen Schema verfahren:
A=0 0 0 1 0 0: |
Sprung auf die gleiche Stelle (Letztes Bit = Eingang A) |
A=1 0 0 1 0 1: |
Sprungziel für A = 1 Schranke öffnen. |
Schritt 6 ist ein unbedingte Sprung nach 0 0 0 0 0.
|
|
|