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

Ergebnis 1 bis 6 von 6

Thema: s7-1500 Timer resetieren

  1. #1
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hui bei der 1500 gibts für IEC timer tatsächliche eine Reset funktion. nur die Funktion wirft bei mir Fragen auf.

    In der hilfe wird das so beschrieben
    Code:
    IF #started = false THEN
     
    "TON_DB".TON(IN := "Tag_Start",
                  PT := "Tag_PresetTime",
                  Q => "Tag_Status",
                  ET => "Tag_ElapsedTime");
     #started := true;
     END_IF;
     
     IF "TON_DB".ET < T#25s THEN
     RESET_TIMER(TIMER := "TON_DB");
     #started := false;
     END_IF;
    Seit wann ist das gängige Programmierpraxis einen Timer bedingt auszuführen?
    Bin ich der Einzige der dieses Geschwurbel in der Hilfe nicht so richtig versteht?

    Wenn die Variable #started den Signalzustand "0" führt, dann wird die Anweisung "Einschaltverzögerung erzeugen" bei einer positiven Signalflanke am Operanden "Tag_Start" ausgeführt. Die im Instanz-Datenbaustein "TON_DB" abgelegte IEC-Zeit wird mit der Zeitdauer gestartet, die durch den Operanden "Tag_PresetTime" vorgegeben ist. Der Operand "Tag_Status" wird gesetzt, wenn die durch den Operanden "Tag_PresetTime" vorgegebene Zeitdauer abgelaufen ist. Der Parameter Q bleibt so lange gesetzt, wie der Operand "Tag_Start" noch den Signalzustand "1" führt. Wenn der Signalzustand am Starteingang von "1" auf "0" wechselt, wird der Operand am Parameter Q zurückgesetzt.
    Wenn die abgelaufene Zeit der IEC-Zeit "TON_DB" kleiner als 25s ist, wird die Anweisung "Zeit rücksetzen" ausgeführt und die im Instanz-Datenbaustein "TON_DB" abgelegte Zeit zurückgesetzt.
    Zitieren Zitieren s7-1500 Timer resetieren  

  2. #2
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.354
    Danke
    455
    Erhielt 692 Danke für 517 Beiträge

    Standard

    Wobei es bei der 1200/1500 wahrscheinlich möglich ist den Timer in ner IF zu betrieben und dann außerhalb den ET abzufragen, da...
    Zitat Zitat von S7-1500-Hilfe "TON: Einschaltverzögerung erzeugen"
    Die Aktualisierung der Anweisungsdaten geschieht sowohl bei einem Aufruf der Anweisung als auch bei einem Zugriff auf die Ausgänge Q oder ET.
    Damit können die Leute jetzt auch endlich das Ergebnis ihrer Timer, die sie in ner IF aufrufen, abfragen. Wahrscheinlich hat Siemens das Verhalten genau deswegen so implementiert.
    Aber da die IN-Werte nicht aktualisiert werden, halte ich es trotzdem für Blödsinn.

    Was für mich keinen Sinn macht: Der Parameter "Tag_Start" hängt nicht direkt mit dem Signal "#started" zusammen.
    Wäre "Tag_Start" = false würde der Timer nicht starten, #started aber trotzdem true werden.

    Den nächsten Teil den ich nicht kapiere ist der mit "IF "TON_DB".ET < T#25s THEN".
    Was soll den das bringen, ET ist beim Timerstart T#0ms, damit wird die Bedingung doch sofort erfüllt und der Timer rückgesetzt.

    Das ganze Konstrukt würde ja funktionieren wen ET mit dem PT Wert beginne würde (also in dem Fall mit irgendwas > 25s) und dann runterzählen würde.
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  3. #3
    Avatar von vollmi
    vollmi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard

    Witzig ist ja. Q und ET auch bearbeitet werden wenn der Timer übersprungen wird.
    Aber IN nicht. Da ist also ziemlich umdenken nötig. Früher hab ich den Timer über die Instanz zurückgesetzt hat super funktioniert, ist jetzt aber nicht mehr möglich.

    mfg René

  4. #4
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.354
    Danke
    455
    Erhielt 692 Danke für 517 Beiträge

    Standard

    Einerseits ist es zwar gut dass man dem Timer jetzt T#0ms am PT vorgeben kann, andererseits werden wir einige Programmen anpassen müssen wenn wir die mal von der 300/400er portieren.
    Ich bleib bei der Behauptung warum man das mit dem ET/Q so eingeführt hat....

    Aber, wie gesagt, das Codebeispiel da oben wirkt wie absoluter Blödsinn für mich. Hast du den Codeschnipsel schon mal ausprobiert ob er tut was er verspricht?
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  5. #5
    Avatar von vollmi
    vollmi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard

    Jap hab ich mal geladen. Der macht wie erwartet nix dergleichen was da beschrieben steht. Der Schreiber hatte da offenbar auch keinen Durchblick mehr. Bin ich froh bin ich nicht der einzige.

    mfG René

  6. #6
    Avatar von vollmi
    vollmi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Man kann die Timer übrigens auch nur beobachten wenn Q oder ET auch wirklich abgefragt wird. Nur IN und PT anhängen und dann über die Instanz beobachten funktioniert nicht. die Instanz wird dann nicht aktualisiert.

    Auch wird Reset anders bearbeitet je nachdem ob er vor dem Timeraufruf ausgeführt wird oder nachher.

    Bsp TP. Wird der Reset ausgeführt im Ablauf vor dem Timeraufruf. Folgt Q direkt IN ohne die Zeit zu beachten.
    Kommt Reset im Aufruf nach TP. Dann ist Q immer False unabhängig von IN.

    mfG René

  7. Folgende 2 Benutzer sagen Danke zu vollmi für den nützlichen Beitrag:

    PN/DP (14.09.2015),RONIN (14.07.2015)

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 07.07.2015, 09:10
  2. Antworten: 14
    Letzter Beitrag: 25.11.2013, 16:45
  3. TIA S7-1500 >>> s7-1200
    Von kuti im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 08.07.2013, 20:52
  4. Retentetive Timer On delay (Allen Bradley Timer RTO)
    Von Andy Latte im Forum Programmierstrategien
    Antworten: 2
    Letzter Beitrag: 15.07.2012, 19:23
  5. Suche Ersatz für IFM TIMER LG ( Logik Timer)
    Von GrafLaugenkotz im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 16.01.2007, 17:02

Lesezeichen

Berechtigungen

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