Step-Betrieb

Marco_Ulm

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich befinde mich grade in meinem 2. Praxissemester, wo ich eine Einkassetiermaschine (mit S7-300) für LCD-Glasscheiben programmieren muss.

Eine der Funktionen soll ein Step-Betrieb sein, also immer wenn der Taster Step betätigt wird, soll der Prozessablauf nur einen Schritt weiter gehen.
Dies soll zur späteren Fehlerkontrolle dienen.

Wie kann ich das an besten realisieren? Es geht mir nur um die generelle Herangehensweise. Ich programmiere eigentlich nur in FUB.


Marco
 
... du baust dir eine Schrittkette, bei der du an den Weiterschaltbedingungen berücksichtigst, das im Step-Betrieb zusätzlich noch die Flanke deines Tasters kommen muss um weiterzukommen ...
 
Versuch dich doch mal an der Such-Funktion des Forum's.
Da gibt es zu dem Stichwort etliche Beiträge und ganz sicher welche, die dir weiterhelfen ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Für Schrittketten in Simatic bieten sich eigentlich Sprungleisten (SPL) an.
Ich finde das übersichtlicher als Schrittketten in FUP zu programmieren.
Dazu gibt es hier im Forum auch einige Beiträge. Einfach mal die Suchfunktion anschmeissen:rolleyes:
 
Oder man nutzt S7-Graph zusätzlich und verpackt den Ablauf dort rein.
Die kennt ja die verschiedenen Betriebsarten (Hand, Einzelschritt und Automatik).

Mittels Signal erfolgt eine Weiterschaltung in den nächsten Schritt.


Bin zwar nicht so der Freund davon, aber bei einem schönen Ablauf "why not?"
 
Eine der Funktionen soll ein Step-Betrieb sein, also immer wenn der Taster Step betätigt wird, soll der Prozessablauf nur einen Schritt weiter gehen.

Hallo Marco,

hier ist mal ein kurzes Programmbeispiel für die schrittweise Weiterschaltung einer Schrittkette:

Code:
FUNCTION_BLOCK FB 100
TITLE =Schrittkette
//16
AUTHOR : KAI
FAMILY : SPSFORUM
NAME : SCHRITT
VERSION : 1.0
 
VAR_INPUT
  EIN : BOOL ; 
  AUS : BOOL ; 
  WEITER : BOOL ; 
  RESET : BOOL ; 
END_VAR
VAR_OUTPUT
  RETVAL : INT ; 
END_VAR
VAR
  BETRIEB : BOOL ; 
  WEITER_FLANKE_POSITIV : BOOL ; 
  WEITER_IMPULS : BOOL ; 
  SCHRITT_0 : BOOL ; 
  SCHRITT_1 : BOOL ; 
  SCHRITT_2 : BOOL ; 
  SCHRITT_3 : BOOL ; 
  SCHRITT_4 : BOOL ; 
END_VAR
BEGIN
NETWORK
TITLE =Betrieb
 
      U     #EIN; 
      UN    #RESET; 
      S     #BETRIEB; 
      U(    ; 
      ON    #AUS; 
      O     #RESET; 
      )     ; 
      R     #BETRIEB; 
      NOP   0; 
 
NETWORK
TITLE =Weiterschalten
 
      U     #WEITER; 
      FP    #WEITER_FLANKE_POSITIV; 
      =     #WEITER_IMPULS; 
 
NETWORK
TITLE =Schritt 0
 
      U(    ; 
      U     #SCHRITT_4; 
      UN    #SCHRITT_3; 
      U     #WEITER_IMPULS; 
      ON    #BETRIEB; 
      )     ; 
      S     #SCHRITT_0; 
      U     #SCHRITT_1; 
      R     #SCHRITT_0; 
      NOP   0; 
 
NETWORK
TITLE =Schritt 1
 
      U     #SCHRITT_0; 
      UN    #SCHRITT_4; 
      U     #WEITER_IMPULS; 
      S     #SCHRITT_1; 
      U(    ; 
      O     #SCHRITT_2; 
      ON    #BETRIEB; 
      )     ; 
      R     #SCHRITT_1; 
      NOP   0; 
 
NETWORK
TITLE =Schritt 2
 
      U     #SCHRITT_1; 
      UN    #SCHRITT_0; 
      U     #WEITER_IMPULS; 
      S     #SCHRITT_2; 
      U(    ; 
      O     #SCHRITT_3; 
      ON    #BETRIEB; 
      )     ; 
      R     #SCHRITT_2; 
      NOP   0; 
 
NETWORK
TITLE =Schritt 3
 
      U     #SCHRITT_2; 
      UN    #SCHRITT_1; 
      U     #WEITER_IMPULS; 
      S     #SCHRITT_3; 
      U(    ; 
      O     #SCHRITT_4; 
      ON    #BETRIEB; 
      )     ; 
      R     #SCHRITT_3; 
      NOP   0; 
 
NETWORK
TITLE =Schritt 4
 
      U     #SCHRITT_3; 
      UN    #SCHRITT_2; 
      U     #WEITER_IMPULS; 
      S     #SCHRITT_4; 
      U(    ; 
      O     #SCHRITT_0; 
      ON    #BETRIEB; 
      )     ; 
      R     #SCHRITT_4; 
      NOP   0; 
 
END_FUNCTION_BLOCK

Gruß Kai
 

Anhänge

  • OB1.pdf
    6,5 KB · Aufrufe: 86
  • OB100.pdf
    5,7 KB · Aufrufe: 80
  • FB100.pdf
    9,9 KB · Aufrufe: 140
  • Schrittk.zip
    32,5 KB · Aufrufe: 68
Zurück
Oben