Step 7 Zeiten auch bei Hauptschalter aus speichern/merken??

chrissi0907

Level-1
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

gibt es eine Möglichkeit, bei einem Timer die Laufzeit zu speichern, damit diese auch bei Hauptschalter AUS erhalten bleibt und später an dieser Stelle weiter läuft.

Ich habe nämlich eine Schmierung die alle 80 Stunden schmieren soll.
Diese Zeit sollte natürlich nur ablaufen wenn die Steuerung EIN ist und in allen anderen fällen pausiert werden.

Steuerung: NCU 573.3

Viele Grüße
 
Wir haben eine Funktion geschrieben, die die Sekunden Impuls aufaddieren und mit dem Sollwert vergleicht.
Den Sollwert nehmen wir aus den USER Daten so ist die Funktion sehr variabel.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Einfach jede Sekunde einen "Zähler" hoch zählen. Kannst ja einen Taktmerker nehmen und davon die steigende Flanke auswerten. Das wäre dein Impuls (welcher Taktmerker jetzt geeignet ist, kannste dir selber überlegen). Diesen würde ich abfragen und den Zähler bei VKE=1 um eins hochzählen... oder an den EN Eingang einer Funktion, die dir den Wert hoch zählt. Und dann dort auch die Auswertung machen, ob deine 80 Stunden ? schon erreicht sind.

Im Tia Portal mit CPU15xx wäre die Sache viel einfacher:
TONR: Zeit akkumulieren
 
Einfach jede Sekunde einen "Zähler" hoch zählen. Kannst ja einen Taktmerker nehmen und davon die steigende Flanke auswerten. Das wäre dein Impuls (welcher Taktmerker jetzt geeignet ist, kannste dir selber überlegen). Diesen würde ich abfragen und den Zähler bei VKE=1 um eins hochzählen... oder an den EN Eingang einer Funktion, die dir den Wert hoch zählt. Und dann dort auch die Auswertung machen, ob deine 80 Stunden ? schon erreicht sind.


Ich habe wohl mal wieder zu kompliziert gedacht, damit sollte es gehen.

Ich nehme ein Doppelwort und den 1 Sekunden Taktmerker.
Sobald mein Doppelwort 288000 erreicht hat, habe ich auch meine 80 Stunden erreicht und kann somit starten.


Danke und Grüße
 
Ich habe wohl mal wieder zu kompliziert gedacht, damit sollte es gehen.

Ich nehme ein Doppelwort und den 1 Sekunden Taktmerker.
Sobald mein Doppelwort 288000 erreicht hat, habe ich auch meine 80 Stunden erreicht und kann somit starten.


Danke und Grüße

Denk nur daran, dass du den Taktmerer auf steigende Flanke vorher auswertest
Du willst ja nur jede Sekunde einmal hoch zählen und nicht in einer halbe Sekunde mal Anzahl der Zyklen hochzählen. Macht bei einer Zykluszeit von 20ms gleich 25x (in einer Sekunde) den Zähler um eins hoch zählen. Und das wollen wir nicht. Kannst ja deine Lösung für andere hier posten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe wohl mal wieder zu kompliziert gedacht, damit sollte es gehen.

Ich nehme ein Doppelwort und den 1 Sekunden Taktmerker.
Sobald mein Doppelwort 288000 erreicht hat, habe ich auch meine 80 Stunden erreicht und kann somit starten.


Danke und Grüße

Denk an die Flanke beim Zählen und an das Ablöschen des Zählwortes, wenn du geschmiert hast.
Aber du wirst es schaffen und wenn es nicht klappt, dann werden wir hier dir helfen das Problem zu lösen.


bike
 
Ich bin mal so frei gewesen und habe das mal im TIA PORTAL gelöst. Gibt sicherliche noch hundert andere Wege.

Schmierung_Aufruf.PNGSchmierung.PNG



Nachtrag: Ich habe es mit TONR versucht zu realisieren: (immer her mit Kritik :) )


Variante.jpg
 
Zuletzt bearbeitet:
Eine Lösung, die gut funktioniert habe ich auch.
Ohne TIA sondern brauchbar.
Doch ich gehe davon aus, dass der TE sich selbst eine für seine Anwendung passende Lösung baut.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

habe es auf einfache weiße so gelöst:

Code:
NETWORK
TITLE =Intervallzeit für Schmierung (zwischen 1 - 80 Stunden)


      U     #e_Tac1Sec;
      FP    #fpInterTime;
      SPBN  ZYK3;
      L     #ActInterTime;
      L     L#1;
      +D    ;
      T     #ActInterTime;
ZYK3: NOP   0;
      L     #ActInterTime;
      L     #InterTimeSec;
      >=D;
      S     #InterTimeOff


Grüße und danke für eure Hilfe.
 
Ja, das habe ich.

Aber das ist alle etwas komplexer :)
Denn das ablöschen wird bei mir über Zyklen von einem Schalter gezählt und wenn diese erreicht sind, dann darf die Zeit zurückgesetzt werden, damit die Anforderung im Fehlerfall immer erhalten bleibt.

Aber es funktioniert alles, ist schon getestet. :ROFLMAO:

Grüße
 
Zurück
Oben