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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Zeit von Timer kleiner als Zykluszeit

  1. #1
    Registriert seit
    21.07.2005
    Beiträge
    222
    Danke
    54
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!
    S5 Timer (z.b.ausschaltverzögert)mit einer Zeitvorgabe von 30ms.
    Zykluszeit beträgt aber ca. 50ms.
    Wie lange ist den mein Timer dann den wirklich aktiv?
    mfg.
    klauserl
    Zitieren Zitieren Zeit von Timer kleiner als Zykluszeit  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Die Timer (nicht die IEC-Timer), die Standardtimer laufen wirklich genau 30 ms und sind dann aus/an, auch mitten im Zyklus. Willst du das verhindern hängst du an den Ausgang des Timers einen Merker und fragst diesen statt der Zeit ab. Der Merker verändert seinen Wert erst wieder, wenn der Zyklus am Timer "vorbei kommt".
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Registriert seit
    06.10.2003
    Beiträge
    3.448
    Danke
    454
    Erhielt 509 Danke für 411 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    ..die Standardtimer laufen wirklich genau 30 ms und sind dann aus/an, auch mitten im Zyklus...
    Meines Wissens behält der Timer seinen Zustand mind. einen Zyklus lang.

    Code:
    //*** Monitor
          L     Z     20                    // alle Zähler 
          L     Z     21                    // haben den
          L     Z     22                    // selben Stand
    
    //*** Flankenwechsel zählen
          U     T     20
          FN    M    200.3
          ZV    Z     22
          L     Z     22
    
    //*** Timer starten
          U     M    200.0                  // hier Flanke erzeugen
          L     S5T#3M
          SA    T     20
    
    //*** Flankenwechsel zählen
          U     T     20
          FN    M    200.1
          ZV    Z     20
          L     Z     20
    
    //*** Zyklusverlängerung
          CALL  SFC   47
           WT:=30000
          CALL  SFC   47
           WT:=30000
    
    //*** Flankenwechsel zählen
          U     T     20
          FN    M    200.2
          ZV    Z     21
          L     Z     21
    Mann könnte allerdings den Timer auslesen, mit dem Sollwert vergleichen und zurücksetzen. Das sollte man sich allerdings gut überlegen.

    Code:
          L     T     20
          L     S5T#30MS
          <I    
          R     T     20
    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    @Onkel Dagobert

    Hm, meine Information ist, daß die Timer dann ablaufen, wenn die Zeit das sagt, also auch mitten im Zyklus.
    Ich hab mit erlaubt deinen Code mal etwas zu ändern, kommt mit so etwas eindeutiger vor.

    Code:
    //*** Monitor
          L     Z     20                    // alle Zähler 
          L     Z     21                    // haben den
          L     Z     22                    // selben Stand
    
    //*** Flankenwechsel zählen
          U     T     20
          ZV    Z     22
          L     Z     22
    
    //*** Timer starten
          U     M    200.0                  // hier Flanke erzeugen
          L     S5T#10MS
          SI    T     20
          U     T     20
          R     M    200.0
    
    //*** Flankenwechsel zählen
          U     T     20
          ZV    Z     20
          L     Z     20
    
    //*** Zyklusverlängerung
          CALL  "WAIT"
           WT:=30000
          CALL  "WAIT"
           WT:=30000
          CALL  "WAIT"
           WT:=30000
          CALL  "WAIT"
           WT:=30000
          CALL  "WAIT"
           WT:=30000
          CALL  "WAIT"
           WT:=30000
    
    //*** Flankenwechsel zählen
          SET   
          U     T     20
          ZV    Z     21
          L     Z     21
    In der Tat ist es so, daß alle Zähler gleich bleiben, zumindest auf dem Simulator. Kann es sein, daß sich Step5 so verhielt und Step7 das anders macht? Ich hatte jedenfalls mal wirklich Probleme damit, daß Timer schon weg waren, ehe das Programm an der Stele war, die den tTmer nochmals abfragte, daher kam ich ja erst auf dieses Thema, damals.
    Geändert von Ralle (11.10.2009 um 19:53 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #5
    Registriert seit
    06.10.2003
    Beiträge
    3.448
    Danke
    454
    Erhielt 509 Danke für 411 Beiträge

    Standard

    Hallo Ralle,

    ich habe es nur im Simulator getestet. Dort funktioniert es so, wie ich es beschrieben habe. Ich habe es eigentlich auch seit eh und je so "drinne". Manchmal macht man aber auch über Jahrzehnte etwas falsch, wenn man es nur einmal falsch verstanden hat.


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  6. #6
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Also ein S5 Timer ist Interupt gesteuert.

    Hier ein Beispiel für einen möglichen Fehler:

    Code:
    U  M 1.0 
    U  T 1
    =  M 1.1
               // Nun kann es passieren, dass genau jetzt die Zeit aktiv wird.
    U  T 1
    R  M 1.0  // Merker wird zurückgesetzt
              // Im nächsten Zyklus wird Merker 1.1 nicht mehr zugewiesen obwohl der Timer noch VKE 1 hat.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  7. #7
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    So, ich hab den obigen Code jatzt mal auf einer 200-er VIPA getestet, da ist es wie im Simulator, die Zähler haben immer den gleichen Stand. Würde meine Aussage stimmen, dürfte aber der Zähler Z21 nie hochzählen, denn das Wait verzögert den Zyklus um wesentlich mehr als die Timerzeit.

    @Paule
    Ich dachte das ja auch, aber der Test sagt was anderes. Oder Simulation und VIPA machen es anders.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  8. #8
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Hm, irgendwie nicht ganz eindeutig.

    Ich habs mal getestet.
    Also, eine SI-Zeit verhält sich tatsächlich so, wie ich es beschrieben hab. Die läuft auch im Zyklus ab. Wenn man im obigen Code mit der SI-Zeit eine längere Zeit als die der Wait-SFC einsetzt, zählen alle Zähler hoch. Mit der kurzen Zeit zählt nur Z20 hoch. Interessantes Ergebnis: Mit einer SE- oder SA-Zeit ging das nicht!

    Nachtrag:
    Bei der SE-Zeit kann ich mit das erklären. Die Bedingung, welche die SE-Zeit startet wird ja auch erst im nächsten Zyklus erneut abgefragt, also zählen alle 3 Zähler. Bei der SA-Zeit ist es nicht klar. Wenn der M200.0 False wird, muß die SA-Zeit nachlaufen und zwar 10ms lang, dann muß T20 auf False gehen. Also sollte nur Z20 zählen. Es zählen aber alle 3 Zähler. Bei der SI-Zeit geht das, wie beschrieben, nur Z20 zählt, solange die Zeit kleiner als die Wartezeiten mit den SFC ist.

    Hat jemand dafür eine einleuchtende Erklärung oder findet einen Denkfehler?
    Geändert von Ralle (12.10.2009 um 08:59 Uhr) Grund: Rechtschreibung
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  9. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    klauserl (12.10.2009)

  10. #9
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.534
    Danke
    1.152
    Erhielt 1.253 Danke für 982 Beiträge

    Standard

    Bei der S5 war es wirklich so, dass Zeiten mitten im Zyklus enden können.
    Bei der S7 habe ich es noch nie getestet.

    Gruß
    Dieter

  11. #10
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.728
    Danke
    729
    Erhielt 1.161 Danke für 972 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Blockmove Beitrag anzeigen
    Bei der S5 war es wirklich so, dass Zeiten mitten im Zyklus enden können.
    Bei der S7 habe ich es noch nie getestet.

    Gruß
    Dieter
    Habe ich am letzten Freitag noch bei einer Fehlersuche an einer alten S5-Anlage erlebt Hatte etwas Zeit gekostet das Problem zu finden

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 03.08.2010, 22:14
  2. Timer Zeit durch Variable ersetzen
    Von Otti20vt im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 04.09.2008, 10:14
  3. SCL: Timer mit variabler Zeit
    Von lindnerlars im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 02.09.2008, 11:21
  4. Timer<->Zykluszeit
    Von t3kaese im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 23.05.2007, 22:40
  5. S7: Gibts einen Timer der zb. eine 42h zeit hat?
    Von funkdoc im Forum Programmierstrategien
    Antworten: 9
    Letzter Beitrag: 12.07.2006, 08:58

Lesezeichen

Berechtigungen

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