Step 7 Countdown mit dem gleichen Signal

SPS'ler

Level-2
Beiträge
139
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich habe ein Problem wie folgt:

Ich habe einen Sensor der True oder false liefert, wenn ein Teil erkannt wurde. Es sind ein HMI (TP1500 TIA V17) und eine CPU (S7-300 Step7 v5.6) vorhanden. Nun möchte einen Countdown im HMI anzeigen lassen.

Der Weg ist so:
1. Positive Flanke teil erkannt (Countdown fängt an herunter zu zählen)
2. positive Flanke (Countdown stoppt und resetet sich)
3. wieder positive Flanke (Countdown zählt wieder)
usw.

Nun habe ich das Problem, das es ja das gleiche Signal ist, was an und ausschaltet.
Habt ihr eine Hilfestellung ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte ja mit der positiven Flanke starten und auch zurücksetzen, das Signal kommt ja im selben Moment. Außerdem weiß ich nicht wie ich einen Countdown hinbekomme, habe lediglich das aufwärts zählen der Zeit mit einem Ton realisieren können.
 
bisher habe ich ein Ton genommen und den Parameter ET in einem Feld auf dem HMI angezeigt. Das ganze benötige ich ja andersrum.
 
Okay, es gibt einen Sensor, an dem fährt ein Werkstück vorbei. Sobald er den Anfang des Werkstücks erkennt, liefert er das Signal „true“. Ab diesem Moment soll eine definierte Zeit (bsp. 3 Minuten) ablaufen, welche auch auf dem HMI angezeigt wird. Sobald der nächste Anfang erkannt wird (wieder Signal „true“) soll der Countdown von neuem beginnen. Ist die Zeit abgelaufen oder überschritten soll die Anzeige rot blinken. Innerhalb der Zeit soll diese grün leuchten.

Mein Problem ist, das ich die steigende Flanke des Signals „true“ ja sowohl für das starten des Countdowns, als auch für das zurücksetzen benötige. Bisher wird dann immer beides zeitgleich aktiv und der Countdown startet nicht. Desweiteren suche ich eine Lösung die Zeit ablaufen zu lassen und nicht wie bei dem TON (Parameter ET) hochlaufen zu lassen. Ich möchte als auf dem HMI sehen, wieviel Zeit noch übrig ist und nicht, wieviel zeit vergangen ist.

Ich hoffe jetzt ist es verständlicher.
 
Beim Schreiben habe ich mir die 2. Frage eventuell beantwortet. Wenn ich den Sollwert (Parameter PT) nehme und die bereits hochgelaufene Zeit (ET) des TON‘s davon abziehe, habe ich ja die Zeit die noch übrig bleibt.

Beispiel:
180s (PT) - 1s (ET) =179s
180s (PT)- 30s (ET) = 150s
usw…

Aktuell habe ich den Datentypen Time und die HMI Variable „linear skaliert“. Gibt es auch die Möglichkeit die übrige Zeit in Minuten und Sekunden anzuzeigen? Also statt 150s im HMI dann 2:30?

Sonst bleibt nur das Problem mit dem starten und dem reseten des Countdowns.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Du solltest vielleicht mal über eine Art Schrittkette nachdenken ...
- pos. Flanke -> Schritt 1 : Timer An
- neg, Flanke -> Schritt 2 : ggf. läßt du den Timer weiterlaufen
- pos. Flanke -> Schritt 3 : Timer Aus
- wenn Timer Aus -> Schritt 1

Vielleicht in etwa so ...

Ergänzung :
Es ist aber auf alle Fälle immer ganz hilfreich wenn man sein bisheriges Werk posted ...
 
Achso, eine Art Laufzeitüberwachung. Die Flanke auf eine Ausschaltverzögerung und der (negierte) Ausgang des TOFs setzt eine Variable welche das Licht leuchten lässt. Dann brauchst du noch eine Art „Quittierung“ um die Leuchtvariable rückzusetzen.
 
Achso, eine Art Laufzeitüberwachung. Die Flanke auf eine Ausschaltverzögerung und der (negierte) Ausgang des TOFs setzt eine Variable welche das Licht leuchten lässt. Dann brauchst du noch eine Art „Quittierung“ um die Leuchtvariable rückzusetzen.

Wieso ist der Ausgang negiert ?
Es soll sich ja automatisch quittieren, im Endeffekt bei jeder Flanke wieder von neu starten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo SPS'er
Ich bin auch noch nicht sicher, ob ich verstanden habe, was du möchtest.

Ich glaube, das meinst du:
Du hast Teile auf einem Förderband.
Die Teile werden von einem Sensor erkannt. (true=Teil)
Du willst den zeitlichen Abstand von einem zum nächsten Teil messen, und das fortlaufend.
 
Wenn du so was wie in meinem letzten Betrag haben möchtest, mache es doch einfach so:
1688450786084.png
Erklärung:
Mit dem 0,5Hz Takt der CPU wird der Teilesensor simuliert.
Mit dem move wird der aktuelle Zeitwert gerettet/ausgelesen (muss vor Start der Zeit passieren).
Das Zeitglied bekommt einen maximalen Sollwert (an PT).
 
Oh, ich habe auch was falsch gelesen, du willst die Zeit seit dem letzten vorbeigelaufenen Teil live anzeigen.

Dann brauchst du den move nicht.
1688451504452.png
 
Zurück
Oben