SPS- Programmierung mit ST

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

  

Bandanlage
Übung: Kapitel 10
Schreiben Sie einen bibliotheksfähigen Baustein in ST. Rufen Sie diesen im Main-Programm, das alle 10 ms aufgerufen wird, z.B. in der Sprache FUP auf.
Der Baustein soll ablauforientiert programmiert werden.
  

  
P1_Freigabe mit S1 speichernd ein, mit S0 speichernd aus.
Instanzen initialisieren
iStep_no Aktionen Weiterschaltbedingungen
0 Q2_zur aus
CTUD1.R
S1
1 Q1_vor ein,
wenn P1_Freigabe
B1
2 Q1_vor ein,
wenn P1_Freigabe
CTUD1.CU mit B3
CTUD1.CV=15
3 Q1_vor ein,
wenn P1_Freigabe
Q3_schleich ein,
wenn P1_Freigabe
CTUD1.CU mit B3
CTUD1.CV=18
4 Q1_vor aus
TON1.IN
TON1.Q
5 Q2_zur ein,
wenn P1_Freigabe,
TON1.IN:=FALSE
B1
    
  
VAR
_GLOBAL
 S0_visu, S1_visu:
BOOL;
 S0 AT %IX2.0:
BOOL;(*Öffner*)
 S1 AT %IX2.1:
BOOL;(*vor*) 
 B1_hinten AT %IX2.4:
BOOL;
 B3_Inkr AT %IX2.6:
BOOL;
 P1_Freigabe AT%QX0.0:
BOOL;
 Q1_vor AT %QX0.4:
BOOL;
 Q2_zur AT %QX0.5:
BOOL;
 Q3_schleich AT %QX0.6:
BOOL;
 Schritt_Nr:
USINT;
END_VAR
              
PROGRAM
MAIN
VAR
 Band1:BAND_POS;
END_VAR
Band1(ON:= S1 OR S1_visu,
  STOP:= S0 OR S0_visu,
  INKR:= B3_Inkr,
  REF:= B1_hinten,
  POS1:= 5,
  POS2:= 7,
  WAIT:= T#3s,
  AKTION_EN=> P1_Freigabe,
  FORWARD=> Q1_vor,
  BACKWARD=>Q2_zur ,
  SLOW=> Q3_schleich,
  STEP_NO=>Schritt_Nr);

FUNCTION_BLOCK BAND_POS
VAR_INPUT
 ON, STOP, INKR, REF:
BOOL;
 POS1, POS2:
INT;
 WAIT:
TIME;
END_VAR
VAR_OUTPUT
 AKTION_EN, FORWARD, BACKWARD, SLOW:
BOOL;
 STEP_NO:
USINT;
END_VAR
VAR

 usiStep_no:
USINT;
 RS_Enable:RS; CTUD1:CTUD; TON_wait:TON;
END_VAR
(*Freigabe*)
RS_Enable(SET:= ON, RESET1:= STOP, Q1=> AKTION_EN);
(*Instanzen initialisieren*)
TON_wait(); CTUD1();
(*Schrittkette*)
CASE usiStep_no OF
 0:
(*Aktionen*)BACKWARD:=FALSE; CTUD1.RESET:=TRUE;
   
(*Weiterschaltbedingungen*)IF ON THEN usiStep_no:=usiStep_no+1; END_IF;
 1: FORWARD:= RS_Enable.Q1;
   
IF REF THEN usiStep_no:=usiStep_no+1; END_IF;
 2: CTUD1.RESET:=FALSE; FORWARD:= RS_Enable.Q1; CTUD1.CU:=INKR;
   
IF CTUD1.CV = POS1 THEN usiStep_no:=usiStep_no+1; END_IF;
 3: SLOW:= RS_Enable.Q1; FORWARD:= RS_Enable.Q1; CTUD1.CU:=INKR;
   
IF CTUD1.CV = POS2 THEN usiStep_no:=usiStep_no+1; END_IF;
 4: SLOW:=FALSE; FORWARD:=FALSE; TON_wait(IN:= TRUE, PT:= WAIT);
   
IF TON_wait.Q THEN usiStep_no:=usiStep_no+1; END_IF;
 5: BACKWARD:= RS_Enable.Q1; CTUD1.CD:=INKR; TON_wait(IN:=FALSE);
   
IF REF THEN usiStep_no:=0; END_IF;
END_CASE;
STEP_NO:=usiStep_no;
  

Erstellen Sie eine Webvisualisierung PLC_VISU um mit Hilfe des WAGO-WebVisu-App über ein Smartphone, Tablet oder über einen Webbrowser den Motor zu steuern.
Vergessen Sie nicht die Zielsystemeinstellungen- Web-Visualisierung zu aktivieren.
Beachten Sie die Hinweise im Kapitel 17.

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.
  

       
 2. Übung: Bandanlage   Lösung: 10_BAND_L.EXP

© Vogel Buchverlag