Übung 3.3
Felder und Schleifen
Ein Werkzeugmagazin umfasst die Positionen 0...5. An jeder Position des Magazins kann eines von 8 verschiedenen Werkzeugen eingelagert sein. Der Benutzer gibt den gewünschten Werkzeugtyp 0...7 als Dualzahl über die Eingänge der SPS vor. Das Programm soll die Position des gewünschten Werkzeugtyps über die Ausgänge der SPS ausgeben.
- a) Welche Variablen müssen deklariert werden?
- b) Schreiben Sie das Programm in ST! Die Lagerposition, an der sich das gesuchte Werkzeug befindet, soll durch Leuchten der zugehörigen Ausgangslampen 1-6 an der SPS angezeigt werden!
- c) Testen Sie Ihr Programm für die Magazinstände
- |6|1|4|5|7|0|,
- |3|7|0|1|7|7|,
- |3|7|5|1|1|7|,
wenn jeweils ein Werkzeug vom Typ 7, 6 und 5 herausgesucht werden soll! Welche Ausgangslampe wird dann jeweils angesteuert?
Lösung:
Das Projekt U3_3_Magazin.project umfasst folgende Programme:
- PLC_PRG ruft das folgende Programm auf,
- AUSWAHL liest den Werkzeugtyp ein, sucht dessen Position im Magazin und gibt diese aus.
- a) Im Programm AUSWAHL wurden folgende Variablen deklariert
- VAR
WERKZEUGTYP AT %IB0: INT;
MAGAZIN : ARRAY[0..5] OF INT;
POSITION AT %QB0: INT;
i:INT; (* Laufvariable *)
END_VAR - b) Für die gefundene Position i wird die entsprechende Ausgangslampe des binären Ausgangskanals angesteuert, indem die Variable POSITION als Dualzahl 2i+1 auf das Ausgangsbyte geschaltet wird.
- FOR i:=0 TO 5 DO
IF MAGAZIN[i]=WERKZEUGTYP THEN
POSITION:=REAL_TO_INT(EXPT(2,i+1));
END_IF
END_FOR - c) Das Programm läuft in der Simulation.
- Typ 7: i) POSITION=5, ii) POSITION=6, iii) POSITION=6,
- Typ 6: i) POSITION=1, ii) POSITION=0, iii) POSITION=0,
- Typ 5: i) POSITION=4, ii) POSITION=0, iii) POSITION=3.
Speicherprogrammierbare Steuerungen für die Fabrik- und Prozessautomation
4. Auflage erschienen im Hanser Verlag, 2015