SPS- Programmierung mit ST

nach IEC 61131 mit CODESYS V2.3 (WAGO-I/O-PRO CAA), e!COCKPIT

  

Lösung: Bandanlage
Übung: Kapitel 4
a) Schreiben Sie das Programm, verwenden Sie die IF-Anweisung.

Funktionsbeschreibung:

Ist die Palette aufgelegt und wird der S1 oder S2 kurz betätigt,
so wird der Antrieb eingeschaltet bis die Endposition erreicht ist
oder S0 (Öffner) kurz betätigt wird.

Laden Sie das Projekt nach dem Testen in die Steuerung. Passen Sie eventuell die IP-Adresse und die Subnetzmaske an. Vergessen Sie nicht die Kommunikationsparameter über Menü- Online... einzustellen.
Beachten Sie die Hinweise im Anhang des Buches.

     
Lösung a) Bandanlage speichernd ein/aus

PROGRAM PLC_PRG
(****************************************************************
Bandanlage
Ist die Palette aufgelegt und wird der S1 oder S2 kurz betätigt,
so wird der Antrieb eingeschaltet bis die Endposition erreicht ist
oder S0 (Öffner) kurz betätigt wird.
******************************************************************)

VAR
 S0
AT %IX2.0:BOOL;(*Öffner, Aus*)
 S1
AT %IX2.1:BOOL;(*vor*)
 S2
AT %IX2.2:BOOL;(*zurück*)
 B1_hinten
AT %IX2.4: BOOL;
 B2_vorne
AT %IX2.5: BOOL;
 Q1_vor
AT %QX0.4:BOOL;
 Q2_zur
AT %QX0.5:BOOL;
END_VAR

(*Band vor*)
IF NOT S0 OR B2_vorne OR Q2_zur THEN
  Q1_vor:= FALSE;
 
ELSIF S1 AND B1_hinten AND NOT S2 THEN
  Q1_vor:= TRUE;
END_IF;
(*Band zurück*)
IF NOT S0 OR B1_hinten OR Q1_vor THEN
  Q2_zur:= FALSE;
 
ELSIF S2 AND B2_vorne AND NOT S1 THEN
  Q2_zur:= TRUE;
END_IF;

b) Schreiben Sie das Programm mit Hilfe der Funktionstabelle und der CASE-Anweisung.
Diese Steuerung zeigt kein speicherndes Verhalten.

Laden Sie das Projekt nach dem Testen in die Steuerung und überprüfen Sie die Funktion.

Lösung b) Bandanlage nichtspeichernd

PROGRAM PLC_PRG
(*Siehe Funktionstabelle*)
VAR
 S0
AT %IX2.0:BOOL;
 S1
AT %IX2.1:BOOL;
 S2
AT %IX2.2:BOOL;
 bySchalter
AT %IB4:BYTE;
 Q1_vor
AT %QX0.4:BOOL;
 Q2_zur
AT %QX0.5:BOOL;
 Q3_schleich
AT %QX0.6:BOOL;
 usiSchalter:
USINT;
END_VAR

(
*Eingangsbyte maskieren und umwandeln*)
usiSchalter:=
BYTE_TO_USINT(bySchalter AND 2#111);
(*Fallunterscheidung*)
CASE usiSchalter OF
 1: Q2_zur:=TRUE; Q1_vor:=FALSE; Q3_schleich:=FALSE;
 3: Q2_zur:=TRUE; Q3_schleich:=TRUE; Q1_vor:=FALSE;
 4: Q1_vor:=TRUE; Q2_zur:=FALSE; Q3_schleich:=FALSE;
 6: Q1_vor:=TRUE; Q3_schleich:=TRUE; Q2_zur:=FALSE;
ELSE Q1_vor:=FALSE; Q2_zur:=FALSE; Q3_schleich:=FALSE;
END_CASE;

 2. Übung: Bandanlage   Lösung a: 4_BAND_La.EXP   Lösung b: 4_BAND_Lb.EXP

© Vogel Buchverlag