Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 5 von 5 ErsteErste ... 345
Ergebnis 41 bis 43 von 43

Thema: Schrittkette auf Fehler abfragen?

  1. #41
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von spirit Beitrag anzeigen
    Aber "Reset_Timer" würde es ja bei Verwendung eines SFB4-Timers nicht geben, richtig?
    Da geht's ja nicht darum, ob der Timer einen RESET-Eingang hat oder nicht, sondern wie Du die Startbedingungen für diesen Timer gestaltest.

    Es ist also eine boolsche Variable, die Du selbst erstellst und in die Startlogik des Timers einbeziehst.
    So wie es Manuel in seinem Beispiel auch aufgezeigt hat.

  2. Folgender Benutzer sagt Danke zu hucki für den nützlichen Beitrag:

    spirit (29.11.2014)

  3. #42
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    SCL ist nicht meine Welt.
    In AWL würde ich folgendes schreiben:
    Code:
    L Schrittzähler 
    L Schrittzähler_alt
    <>
    = M_Schrittwechsel
    
    U M_Schrittwechsel
    R Timer_start
    
    U Timer_start
    L KT10.1
    SE T_Ueberwachung
    
    U M_Schrittwechsel
    S  Timer_start
    
    L Schrittzähler 
    T Schrittzähler_alt
    Ohne Gewähr, da nur aus der Hüfte.


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  4. Folgender Benutzer sagt Danke zu bike für den nützlichen Beitrag:

    spirit (29.11.2014)

  5. #43
    Registriert seit
    13.10.2007
    Beiträge
    12.036
    Danke
    2.789
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hier mal ein Beispiel mit Sprungverteiler, das kann man auch schnell für SCL mit Select Case umwandeln.
    Da kannst du in jeden Schritt einen Watchdog mit einen Timer und unterschiedlichen Zeiten einbauen.

    Code:
    NETWORK
    TITLE =Sprungverteiler Schrittkette
    
    //------------------------------------------
    M004: L     #STEP.Nr; 
          SPL   aE; 
    
    //------------------------------------------
    //Schrittkette
          SPA   a0; //Schritt 0   - Initalisierung
          SPA   a1; //Schritt 1   - Anschläge auf
          SPA   a2; //Schritt 2   - warten bis Anschläge oben
          ..
          ..
          SPA   a21; //Schritt 21  - Ablauf beenden
    aE:   NOP   0; 
          SPA   work; 
    
    NETWORK
    TITLE =Teilablauf: Start Schrittkette
    
    //------------------------------------------   
    
    NETWORK
    TITLE =Schritt 0: Initalisierung
    
    a0:   CLR   ; 
          =     #wait.IN; 
    
          SPA   pNr; 
    NETWORK
    TITLE =Schritt 1: Anschläge auf
    
    a1:   SET   ; 
          =     "V Anschlag links heben"; 
          =     "V Anschlag rechts heben"; 
    
          SPA   pNr; 
    NETWORK
    TITLE =Schritt 2: warten bis Anschläge oben 
    
    //Watchdog starten
    a2:   SET   ; 
          =     #wait.IN; 
          L     T#500MS; 
          T     #wait.PT; 
    
    //warten auf Zeitüberschreitung
          U     #wait.Q;
          SPB   Err
    
    //Warten bis Anschläge oben      
          UN    #Anschlaege_oben
          SPB   work; 
    
          CLR   ; 
          =     #wait.IN; 
    
          SPA   pNr; 
    ..
    ..
    ..
    
    NETWORK
    TITLE =Schritt 16: Ablauf beenden
    
    a21:  UN    #beenden
          SPB   work; 
    
    ..
    .. 
    
          SPA   zNr; 
    
          SPA   pNr; 
    NETWORK
    TITLE =Schritt zuweisen
    
    //Schrittnummer um "1" hochzählen
    pNr:  L     #STEP.Nr; 
          L     1; 
          +I    ; 
    
    //Schrittnummer zuweisen
    zNr:  T     #STEP.Nr; 
    NETWORK
    TITLE =Ende Schrittkette
    
    work: NOP   0; 
    
    
    NETWORK
    TITLE =Wartezeit
    
          CALL #wait ;
    
    
    NETWORK
    //kein fehler Baustein beenden
    BEA
    
    //Fehler zueweisen
    Err:    L     #STEP.Nr;
    	  T     #Err.Nr;
    
    END_FUNCTION_BLOCK
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  6. Folgender Benutzer sagt Danke zu rostiger Nagel für den nützlichen Beitrag:

    spirit (29.11.2014)

Ähnliche Themen

  1. Step 5 S5 Zaehlerausgang auf Wert (=0) abfragen
    Von DI87 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 17.05.2013, 21:09
  2. einen von Zehn Merker auf 1 abfragen
    Von Servernexus im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 21.11.2011, 14:41
  3. Schrittkette auf TP170A visualisieren
    Von Manfred Stangl im Forum Programmierstrategien
    Antworten: 2
    Letzter Beitrag: 04.02.2009, 09:37
  4. Antworten: 1
    Letzter Beitrag: 28.07.2008, 18:09
  5. nach fehler in schrittkette weitermachen?
    Von Anonymous im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 15.01.2006, 22:35

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •