Programmablaufplan (PAP) Aufgabenstellung: Aufruf einer Schrittkette via einer Funktion (FC) |
Der vorgestellte Programmablaufplan (engl. Flowchart) beschreibt eine Funktion, die mit Step7 zu programmieren ist. Diese zeigt, wie und unter welchen Bedingungen eine bestimmte Struktur einer Schrittkette <GoToStep> aufgerufen werden kann. Siehe Auszug aus FC12 (SK2). |
Abfrage <steps=1> |
Wird das Bit <steps> auf "1" gesetzt, so kann der Ablauf der Schrittkette gestartet werden. |
Initialisierung <steps> auf "0" setzen |
Die Initialisierung der Schrittkette kann zu jedem Zeitpunkt stattfinden, wenn das Bit <steps> auf "0" gesetzt ist. In diesem Fall wird via <GoToStep> mit dem Parameter "0" zur Marke "S0" in Netzwerk 3 gesprungen. Alle Variablen sind gleich Null. |
S7-Programm: Auszug aus FC12 (Beladen/Entladen)
Netzwerk 3: SK2 Warte auf Freigabe S0: R "M01 ST SK2 Akt"
U "ST01".SK2.S.steps = "ST01".SK2.S.stepd BEA . . .
Netzwerk 7: Bohrungs-Kontrolle Ventil Y6 auf S4: U "ST01".SK2.S.stepa = "A01 Y6 AS"
U "E01 Y4 GS" = "ST01".SK2.S.c1.start L 3 T "ST01".SK2.S.c1.soll
UN "ST01".SK2.S.c1.done BEB = "ST01".SK2.S.stepd
L 8.760000e+003 L "USER".PEW266 >R SAVE L 8.560000e+003 >R U BIE = "M01 WT1 iO" SPB m004 = "M01 WT1 BlsFe" BEA m004: L 10 T "ST01".SK2.S.stepnew BEA
Netzwerk 8: M8 BE-Einheit Y4 zur Pos.14 niO fahre S5: U "ST01".SK2.S.stepa = "POSMO".M8.nostop
U "ST01".SK2.S.stepfc SPBN m500 L "POSMO".M8.Y4_pos14 T "POSMO".M8.MDI_sollpo BEA m500: U "ST01".SK2.S.stepa U "POSMO".M8.ready = "POSMO".M8.Start
U "POSMO".M8.inpos = "ST01".SK2.S.stepd BEA . . .
Netzwerk 13: Y10 Zwischenhub, M8 Y2 Pos.15 S10: S "A01 Y10 AS" R "A01 Y10 GS"
U "ST01".SK2.S.stepa = "POSMO".M8.nostop
U "ST01".SK2.S.stepfc SPBN m100 L "POSMO".M8.Y2_Pos15 T "POSMO".M8.MDI_sollpo BEA m100: U "ST01".SK2.S.stepa U "POSMO".M8.ready = "POSMO".M8.Start
U "POSMO".M8.inpos = "ST01".SK2.S.stepd BEA . weiteres S7-Programm |
Bohrungs-Kontrolle |
Ziel ist es, im Netzwerk 7 (S4) das Werkstück vor dem Beladen auf Gültigkeit zu prüfen. Ist das Ergebnis nicht in Ordnung (nIO), wird zum Schritt 5 bis Schritt 9 gesprungen, um das Werkstück in den Ausschuss-Behälter zu entladen.
Ist das Ergebnis in Ordnung (iO), wird gezielt für den normalen Betrieb zum Schritt 10 gesprungen. |
Abfrage VKE |
In jedem Sprung zum Schritt wird durch <GoToStep> das VKE automatisch auf "1" gesetzt. |
<stepd> auf "1" setzen |
Eine Weiterschaltbedienung erfolgt, wenn das Bit <stepd> Signalwechsel von "0" nach "1" erkennt - Beispiel beim erreichen einer Position |
Abfrage <stepa> |
Mit der Abfrage von <stepa> kann der Anwender Befehle setzen/zurücksetzen. Dieses Bit ist auf "1" gesetzt, solange <stepd> gleich "0" ist. |
Abfrage <stepfc> |
In jedem Sprung zum Schritt wird das Bit <stepfc> für einen SPS-Zyklus auf "1" gesetzt. |
FC setzt <stepa> auf "0" |
FC setzt <stepd> auf "0" |
FC setzt <stepa> auf "1" |
FC setzt <stepfc> auf "0" |
FC setzt <stepa> auf "1" |
FC setzt <stepfc> auf "1" |
FC übergibt Schritt "n" |
Abfrage <stepnew> |
Wird zum Variabel <stepnew> ein Zielschritt "n" transferiert, so wird mit dem Parameter "n" via <GoToStep> zum Schritt "Sn" gesprungen. Bleibt <stepnew> unverändert, wird automatisch zum nächsten Schritt <stepact+1> gesprungen. |
Abfrage <stepact> |
Wird <stepact> größer als <stepmax>, dann setzt die FC die Schrittkette zwangsläufig auf Null <stepact=0>. Die Schrittkette wir initialisiert und die Weiterschalt-Bedingungen sind unwirksam. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|