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

Ergebnis 1 bis 10 von 10

Thema: S7 Timer Restlaufzeit merken damit er nicht erneut von vorne beginnt

  1. #1
    Registriert seit
    29.01.2007
    Beiträge
    24
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich möchte einen S7 Timer einsetzen der nach einen "0"-Signal am Anschluss "S" mit der restlichen Laufzeit weiterläuft.
    Könnte mir hierbei jemand behilflich sein.

    S_EVERZ.jpg
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren S7 Timer Restlaufzeit merken damit er nicht erneut von vorne beginnt  

  2. #2
    Registriert seit
    25.11.2008
    Ort
    Westpfalz
    Beiträge
    1.550
    Danke
    187
    Erhielt 212 Danke für 186 Beiträge

    Standard

    Es gibt auch einen speichernden Timer glaube Kürzel ist SS_EVERZ.
    and we all support the team (S.King - Die Arena)

  3. #3
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.337
    Danke
    385
    Erhielt 218 Danke für 173 Beiträge

    Standard

    Das wäre doch eher der

    S_VIMP

    xxxxxx

    nee onzin.. Muss besser lesen

    Ein S_Impuls in reihe am S Eingang könnte gehen

    Bram
    Geändert von de vliegende hollander (14.10.2014 um 17:08 Uhr)
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  4. #4
    sob ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.01.2007
    Beiträge
    24
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    mit dem SS_EVERZ gehts nicht. Wenn der Eingang zu 0 wird läuft die Zeit weiter und stoppt.
    mit dem S_IMPULS ebenfalls nicht. Die Zeit stoppt wenn der Eingang zu 0 wird aber bei 1 am Eingang beginnt die Zeit von vorne zu laufen.
    mit S_VIMP gehts auch nicht. Die Zeit läuft weiter wenn der Eingang zu 0 wird.

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Üblicherweise heißt der akkumulierende Timer TONR. In Step7 classic siehe FC80 aus der Bibliothek "TI-S7 Converting Blocks", in TIA siehe TONR. Oder einfach selber schreiben.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #6
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.337
    Danke
    385
    Erhielt 218 Danke für 173 Beiträge

    Standard

    Hallo,

    Und so etwas. Einfach das "S" Signal speichernd machen

    Anhang 25815
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  7. #7
    sob ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.01.2007
    Beiträge
    24
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    - den TONR kann ich leider nicht finden.
    - speichernd klappt geht es leider nicht. Der Timer sollte stoppen nachdem der Eingang am Anschluss "S" des Timer "0" wird. Wird er wieder soll die restliche Zeit weiter ablaufen.

    Ich dachte auch schon an einen Subtrahierer in Verbindung mit einem TON aber das will auch nicht funktionieren.

  8. #8
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.480
    Danke
    1.141
    Erhielt 1.238 Danke für 971 Beiträge

    Standard

    Probier mal:

    Gruß
    Dieter

    Code:
    FUNCTION_BLOCK "NewTON"TITLE =TON (unterbrechbar)
    //Der Baustein verhält sich kompatibel zum Einschaltverzögerung SFB4 (TON), mit 
    //dem Unterschied, dass der Zeitablauf unterbrechbar ist
    AUTHOR : 'Blockmove'
    VERSION : 0.1
    
    
    
    
    VAR_INPUT
      On : BOOL  := TRUE;	
      IN : BOOL ;	
      PT : TIME ;	
    END_VAR
    VAR_OUTPUT
      Q : BOOL ;	
      ET : TIME ;	
    END_VAR
    VAR
      FM_IN : BOOL ;	//Flankenmerker IN
      FM_ON : BOOL ;	//Flankenmerker ON
      Startzeit : TIME ;	
      Endzeit : TIME ;	
      Restzeit : TIME ;	
    END_VAR
    VAR_TEMP
      SysTime : TIME ;	//Aktuelle Systemzeit
      FP_IN : BOOL ;	//Positive Flanke IN
      FP_ON : BOOL ;	//Positive Flanke ON
      FN_ON : BOOL ;	//Negative Flanke ON
    END_VAR
    BEGIN
    NETWORK
    TITLE =akuelle Systemzeit einlesen
    
    
          CALL "TIME_TCK" (
               RET_VAL                  := #SysTime);
    
    
    NETWORK
    TITLE =// Positive und Negative Flanke ON
    
    
          U     #On; 
          UN    #FM_ON; 
          =     #FP_ON; // Positive Flanke ON
    
    
          UN    #On; 
          U     #FM_ON; 
          =     #FN_ON; // Negative Flanke ON
    
    
          U     #On; 
          =     #FM_ON; // Flankenmerker
    NETWORK
    TITLE =Bei neg. Flanke ON Restzeit sichern
    
    
          U     #FN_ON; 
          SPBN  FN1; 
          L     #Endzeit; 
          L     #SysTime; 
          -D    ; 
          T     #Restzeit; 
    FN1:  NOP   0; 
    NETWORK
    TITLE =Bei pos. Flanke ON Neue Endzeit bereichen
    
    
          U     #FP_ON; 
          SPBN  FP1; 
          L     #SysTime; 
          L     #Restzeit; 
          +D    ; 
          T     #Endzeit; 
    FP1:  NOP   0; 
    
    
    NETWORK
    TITLE =Wenn ON = 0, dann ist hier Schluss
    
    
          UN    #On; 
          BEB   ; 
    NETWORK
    TITLE =// Positive Flanke IN
    
    
          U     #IN; 
          FP    #FM_IN; 
          =     #FP_IN; 
    NETWORK
    TITLE =Endzeit ermitteln
    
    
          U     #FP_IN; 
          SPBN  End1; 
          L     #SysTime; 
          L     #PT; 
          +D    ; 
          T     #Endzeit; 
          L     L#0; 
          T     #ET; 
    End1: NOP   0; 
    NETWORK
    TITLE =ET
    
    
          U     #IN; // Wenn IN = 0,
          SPB   ET1; // dann Wert 0
          L     L#0; // in ET schreiben
          SPA   ET3; 
    
    
    ET1:  UN    #Q; // Wenn Ausgang = 1,
          SPB   ET2; // dann den Zeitwert PT 
          L     #PT; // in ET schreiben
          SPA   ET3; 
    
    
    ET2:  L     #SysTime; // ansonsten
          L     #Endzeit; // ET = Systemzeit - Endzeit + PT
          -D    ; 
          L     #PT; 
          +D    ; 
    ET3:  T     #ET; 
    NETWORK
    TITLE =Ausgang
    
    
          U(    ; 
          L     #SysTime; 
          L     #Endzeit; 
          >=D   ; 
          )     ; 
          U     #IN; 
          =     #Q; 
    END_FUNCTION_BLOCK

  9. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von sob Beitrag anzeigen
    - den TONR kann ich leider nicht finden.
    Warum nicht? Wo hast Du gesucht?

    Jetzt wäre ein guter Zeitpunkt daß Du uns mitteilst, welche CPU Du mit welcher Programmiersoftware programmieren willst.

    In Step7 V5.x findest Du den TONR unter
    Standard Library > TI-S7 Converting Blocks > FC80 TONR

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #10
    Registriert seit
    25.11.2008
    Ort
    Westpfalz
    Beiträge
    1.550
    Danke
    187
    Erhielt 212 Danke für 186 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von sob Beitrag anzeigen
    - den TONR kann ich leider nicht finden.
    - speichernd klappt geht es leider nicht. Der Timer sollte stoppen nachdem der Eingang am Anschluss "S" des Timer "0" wird. Wird er wieder soll die restliche Zeit weiter ablaufen.

    Ich dachte auch schon an einen Subtrahierer in Verbindung mit einem TON aber das will auch nicht funktionieren.
    Wie genau soll es denn sein, sehr einfach wäre auch mit einem Taktmerker aller 100ms nur bei anstehenden Eingangssignal Taktflanken bis zu einem Vergleichswert zählen.
    and we all support the team (S.King - Die Arena)

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 19.08.2014, 11:16
  2. Antworten: 6
    Letzter Beitrag: 04.12.2011, 11:59
  3. Antworten: 11
    Letzter Beitrag: 27.11.2008, 16:37
  4. MID Funktion beginnt an falscher Stelle
    Von Alpini im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 04.04.2008, 21:39

Stichworte

Lesezeichen

Berechtigungen

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