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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: Funktionsprinzip des Timers

  1. #1
    Registriert seit
    26.01.2012
    Beiträge
    10
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Ich beschäftige mich gerade mit der Programmabarbeitung in einer SPS.
    Das Grundprinzip ist mir klar: Eingänge werden kopiert, die Befehle werden Schritt für Schritt ausgeführt, und danach werden die Ausgänge wieder geschrieben.
    Das verstehe ich auch wenn es sich nur um UND, ODER, NAND usw handelt.
    Wie läuft das aber bei einem Timer ab?
    Wird die Anweisungskette unterbrochen wenn der Timer einen Overflow auslöst?

    Wenn ja, wird die Kette anschließend neu gestartet, oder springt sie zum Ausstiegspunkt zurück?

    Ich hoffe jemand kann mir dabei helfen

    Gruß,
    poschi
    Zitieren Zitieren Funktionsprinzip des Timers  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Hallo,
    ein Timer erzeugt keinen Overflow oder eine Execption. Er läuft einfach nur ab und verhält sich gemäß deiner Vorauswahl für den Typ des Timers (Einschaltverzögert, Auschaltverzögert etc.)
    Z.B. erwartet ein einschaltverzögerter Timer für die gesamte Dauer seines Laufs ein "True" am Eingang und bringt dir dann ein "True" an seinem Ausgang wenn er abgelaufen ist (solange, wie das True am Eingang auch ansteht).
    Hierzu vielleicht auch in der Step7-Hilfe einfach mal die Impuls-Zeit-Diagramme zu den Timer-Typen anschauen ...

    Gruß
    Larry

  3. #3
    poschi8 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.01.2012
    Beiträge
    10
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank für den Tip mit den Zeit-Diagrammen, an das hatte ich gar nicht gedacht.

    Aber bedeutet das, dass der timer parallel zum Programm läuft, also quasi in einem eigenen Thread der nur den Timer hochzählt?

    Gruß,
    poschi
    Geändert von poschi8 (07.04.2014 um 23:53 Uhr)

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Ja ... im Prinzip stimmt das so.
    Bei manchen Impuls-Timern kann einem das sogar ganz schön "in die Suppe spucken" ... (das mit dem Parallel-Thread)

    Gruß
    Larry

  5. #5
    poschi8 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.01.2012
    Beiträge
    10
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok.
    Das bedeutet aber, das je nach Abhängig von der Größe des Programms, eine gewisse "Fehlzeit entstehen kann.

    z.B.: Der Timer erreicht seinen Wert mitten im Programmablauf, die Anweisung die den Timer benutzt wurde aber bereits abgearbeitet. In diesem Fall wird erst beim nächsten Zyklus auf den Timer reagiert --> Die Zeit die der Zyklus bis zu der Anweisung benötig wäre somit eine Fehlzeit.

    Stimmt das ungefähr?

    Gruß,
    poschi

  6. #6
    Registriert seit
    21.02.2011
    Ort
    Deutschland, Baden-Würtemberg
    Beiträge
    992
    Danke
    115
    Erhielt 125 Danke für 100 Beiträge

    Standard

    Finde ich auch interessant, müsste ja theoretisch so sein, ja.
    Ich denke, so etwas muss man bei zeitkritischen DIngen einfach berücksichtigen. theoretisch kann es ja dann bis zu 1,x-facher zykluszeit verzögerung beim Timer kommen.

    Timer, welche im Millisekundenbereich arbeiten, siond somit fast nutzlos, zumindest wenn die Zykluszeit über der TImerzeit liegt.
    Dann wäre der TImer hinfällig und es könnte eine einfache Anweisung genutzt werden, welche nach Zykluszeit aufgeführt wird.

  7. Folgender Benutzer sagt Danke zu KingHelmer für den nützlichen Beitrag:

    vollmi (08.04.2014)

  8. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Ja ... das ist genau so. Die Zykluszeit ist bei der Timer-Bearbeitung generell die Unschärfe und müßte berücksichtigt werden.
    Jetzt sollte man aber auch bedenken, dass wenn etwas hochpräzise sein soll, der Timer sowieso nicht die richtige Wahl ist.

    Gruß
    Larry

  9. Folgende 2 Benutzer sagen Danke zu Larry Laffer für den nützlichen Beitrag:

    poschi8 (08.04.2014),vollmi (08.04.2014)

  10. #8
    poschi8 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.01.2012
    Beiträge
    10
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Alles klar

    Wie würde die Implementierung eines "präzisen" Timers aussehen?
    Bzw. ist es in der Praxis nötig solche präzisen Timer zu verwenden.

    Gruß,
    poschi

  11. #9
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Zitat Zitat von poschi8 Beitrag anzeigen
    Alles klar

    Wie würde die Implementierung eines "präzisen" Timers aussehen?
    Bzw. ist es in der Praxis nötig solche präzisen Timer zu verwenden.

    Gruß,
    poschi
    Ein Präziser Timer ist immer relativ ungenau

    Was verstehst du unter präzise?
    Ob es nötig ist hängt meist nicht von der SPS sondern von der Anlage ab. Ein Timer der eine Trocknungsdauer von Holz in der Trockenkammer abschalten soll wird bei einr Woche Laufzeit nicht auf 1ms genau arbeiten müssen.
    Wenn du Sprengstoff anrührst und könnte es schon sein dass du genau 10ms rühren musst damit dir das nicht um die Ohren fliegt.
    mfG Aventinus

  12. Folgender Benutzer sagt Danke zu Aventinus für den nützlichen Beitrag:

    poschi8 (08.04.2014)

  13. #10
    poschi8 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.01.2012
    Beiträge
    10
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Was würdest du einsetzten wenn du z.B.: genau 10ms brauchst?

    Gruß,
    poschi

Ähnliche Themen

  1. CoDeSys, Zeit eines Timers durch Variable bestimmen.
    Von Junior im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 13.03.2012, 20:27
  2. Vorschlagsliste zur Wahl des User des Jahres 2011
    Von rostiger Nagel im Forum Stammtisch
    Antworten: 43
    Letzter Beitrag: 21.12.2011, 08:04
  3. Antworten: 10
    Letzter Beitrag: 03.09.2009, 08:08
  4. Ablaufzeit eines Timers beeinflussen
    Von Puch14 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 17.05.2009, 17:06
  5. Restzeit eines Timers anzeigen S7 200
    Von don_g im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 22.01.2008, 20:43

Lesezeichen

Berechtigungen

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