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

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

Thema: Stoppuhr S7 TIA Portal

  1. #1
    Registriert seit
    19.03.2015
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich arbeite im TIA Portal V13 mit einer 300er SPS und möchte mir an einem HMI die Laufzeit meines Prozesses anzeigen lassen.

    Also eine Stoppuhr (in Sekunden), die anfängt zu laufen, wenn ich auf Start drücke und aufhört zu laufen, wenn ich auf Stopp drücke.

    Gibt es dafür eine fertige Funktion oder hat jemand ne Idee und könnte mit einen Code posten?
    Zitieren Zitieren Stoppuhr S7 TIA Portal  

  2. #2
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.353
    Danke
    393
    Erhielt 221 Danke für 175 Beiträge

    Standard

    Hallo,

    In der Reiter "Anweisungen" unter der Reiter "Erweiterte Anweisungen" findest du Zeit Funktionen die du benutzen kannst.

    z.b. Mit T_Diff zwei Zeiten vergleichen. (Start und Stoppzeit)
    Diese ausgangswert (Format TIME) wieder teilen durch 1000.
    Das Ergebnis ist die Zeit in Sekunden.

    Ohne zu teilen hat man das Ergebnis in Millisekunden

    Bram
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  3. #3
    Afromann ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.03.2015
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    vielen Dank für die Antwort.

    Mein Problem ist aber, dass die Stoppuhr bei einem Startsignal anfangen soll zu laufen und den Wert auch direkt anzeigen soll. Wenn ich Anfangs- und Endzeit vergleiche, dann steht der Wert doch erst fest, wenn ich auf Stopp drücke oder?

  4. #4
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.353
    Danke
    393
    Erhielt 221 Danke für 175 Beiträge

    Standard

    Der Vergleicher ist dynamisch,

    er kann z.b. die Startzeit mit der aktual zeit vergleichen.
    Und dann bei stopp die vergleich zeit einfrieren.

    Bram
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  5. #5
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    Man könnte auch einfach einen TON-Timer nehmen. Am PT-Eingang irgandwas hohes mit z.B T#24h.
    Wenn du am IN ein high Signal anlegst solange der Prozess läuft, dann kannst du direkt den ET-Ausgang (Elapsed Time) nehmen.

    ET ist im Format TIME, den kannst du 1:1 und die Visu übernehmen und skalierst ihn dort 1/1000 um und zeigst ihn als Sekunden an.

    Mit der Stopp-Taste speicherst du den Wert vom ET-Ausgang dann einfach ein Netzwerk vorher weg.
    Geändert von RONIN (19.03.2015 um 19:52 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  6. Folgende 2 Benutzer sagen Danke zu RONIN für den nützlichen Beitrag:

    Chromzone (21.11.2016),wave (06.09.2017)

  7. #6
    Registriert seit
    09.01.2012
    Beiträge
    466
    Danke
    25
    Erhielt 38 Danke für 35 Beiträge

    Standard

    Zitat Zitat von RONIN Beitrag anzeigen
    Man könnte auch einfach einen TON-Timer nehmen. Am PT-Eingang irgandwas hohes mit z.B T#24h.
    Wenn du am IN ein high Signal anlegst solange der Prozess läuft, dann kannst du direkt den ET-Ausgang (Elapsed Time) nehmen.

    ET ist im Format TIME, den kannst du 1:1 und die Visu übernehmen und skalierst ihn dort 1/1000 um und zeigst ihn als Sekunden an.

    Mit der Stopp-Taste speicherst du den Wert vom ET-Ausgang dann einfach ein Netzwerk vorher weg.
    Das würde auch gehen, finde ich jedoch eine unsaubere Lösung.

    Mit der Starttime und Stoptime ist es viel sauberer.

    Gruss

  8. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.293
    Danke
    932
    Erhielt 3.320 Danke für 2.682 Beiträge

    Standard

    Zitat Zitat von RogerSchw85 Beitrag anzeigen
    Zitat Zitat von RONIN Beitrag anzeigen
    Man könnte auch einfach einen TON-Timer nehmen. Am PT-Eingang irgandwas hohes mit z.B T#24h.
    Wenn du am IN ein high Signal anlegst solange der Prozess läuft, dann kannst du direkt den ET-Ausgang (Elapsed Time) nehmen.

    ET ist im Format TIME, den kannst du 1:1 und die Visu übernehmen und skalierst ihn dort 1/1000 um und zeigst ihn als Sekunden an.

    Mit der Stopp-Taste speicherst du den Wert vom ET-Ausgang dann einfach ein Netzwerk vorher weg.
    Das würde auch gehen, finde ich jedoch eine unsaubere Lösung.

    Mit der Starttime und Stoptime ist es viel sauberer.
    Ich hoffe, Du meinst mit Starttime und Stoptime nicht Zeitpunkte, welche durch Abfrage der Uhr ermittelt werden.
    Ein solches Meßverfahren wäre nämlich tatsächlich unsauber.
    Die Uhr kann während der Meßzeit verstellt worden sein, z.B. durch Uhrzeitsynchronisation.

    Wenn man die Dauer von Vorgängen messen will, dann muß man ein Uhrzeit-unabhängiges Verfahren wählen, z.B.
    - Startzeitpunkt und Stopzeitpunkt mit SFC64 TIME_TCK ermitteln und Differenz bilden
    - oder OB1_PREV_CYCLE aufsummieren
    - oder einen Timer laufen lassen, so wie von RONIN beschrieben

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. #8
    Registriert seit
    06.03.2011
    Ort
    Daham
    Beiträge
    231
    Danke
    61
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Wie genau ist das mit OB1_PREV_CYCLE ? Ich hab mal gehört das die ms nicht gerundet werden sondern abgeschnitten und zum nächsten Zyklus addiert werden.

  10. #9
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    Naja, das mit dem Timer ist schon OK.
    Hat auch einige Vorteile da einfach, Systemzeit-unabhängig und es kommt der "fertigen" Funktion wie vom TE gewünscht am nächsten.
    Wenn man allerdings, so wie von mir vorgeschlagen, beim Stopp die Zeit ein Netzwerk vorher wegsichert, dann verliert man einen SPS-Zyklus.
    Wenn so genau sein soll, könnte man das aber auch richtigstellen.

    Da PN/DP schon den SFC64 TIME_TCK angesprochen hat.
    Ich hatte mal ein Beispiel dazu gepostet, ist zwar zum messen der Zeit zwischen 2 Impulsen, aber vom Prinzip her passts.
    Zitat Zitat von RONIN Beitrag anzeigen
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  11. #10
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.293
    Danke
    932
    Erhielt 3.320 Danke für 2.682 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von rogseut Beitrag anzeigen
    Wie genau ist das mit OB1_PREV_CYCLE ? Ich hab mal gehört das die ms nicht gerundet werden sondern abgeschnitten und zum nächsten Zyklus addiert werden.
    Jepp, genau deshalb kann man die Zeiten des OB1_PREV_CYCLE addieren, ohne daß sich Rundungsfehler aufsummieren.
    Das fortlaufende Addieren von OB1_PREV_CYCLE kommt auf das selbe Ergebnis wie die Differenzberechnung per SFC64 (von alten CPU abgesehen, wo der SFC64 nur 10ms Auflösung hat). Die Variante mit dem TON-Timer funktioniert ebenfalls so genau, allerdings genau 1 OB1-Zykluszeit zu kurz, was man aber leicht korrigieren kann.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 06.04.2012, 08:37
  2. Antworten: 0
    Letzter Beitrag: 22.01.2012, 18:59
  3. TIA Portal
    Von BadTaste im Forum Simatic
    Antworten: 24
    Letzter Beitrag: 09.12.2011, 07:38
  4. Tia Portal
    Von redscorpion im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 16.06.2011, 22:02
  5. TIA Portal
    Von Bohl im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 30.12.2010, 10:29

Stichworte

Lesezeichen

Berechtigungen

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