Freigabe von Einschaltverzögerungen (SE) nach Ablauf

mck

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

ich beschäftige mich erst seit kurzer Zeit mit dem Thema SPS und nutze "WinSPS-S7", um mich einzuarbeiten. Momentan versuche ich gerade das Verhalten von Timern nachzuvollziehen und habe ein schweres Verständnisproblem.

Wie sollte sich folgender AWL-Code verhalten, wenn der Timer T0 abgelaufen ist und E 0.1 weiterhin gesetzt ist (Der "Ausgang" T0 ist dann "1")?
Kann T0 nach dem Ablauf der Einschaltverzögerung über eine positive Flanke von E 0.0 (FR) neu gestartet werden?

Code:
U E  0.0  // Freigabe T0
FR T  0

U    E 0.1  // Start T0
SE  T 0

U T 0      // Ausgabe T0
= A 0.0

In der Simulation mit "WinSPS-S7" kann T0 nach dem Ablauf per FR nicht neu gestartet werden - allerdings verstehe ich nicht warum!
Was macht FR genau?

Ich wäre sehr dankbar, wenn mir das jemand erklären könnte...

Viele Grüße,
mck
 
FR wird nicht zum Starten des Timers genommen, sondern zum Neustart der Zeit, solange diese noch läuft.

Zu Deinem Beispiel: Die Einschaltverzögerung wird nicht durch E0.0 sondern durch E0.1 gestartet. Solange die Verzögerung noch läuft, kannst Du die Zeit mit einer positiven Flanke an E0.0 wieder von vorn beginnen. Ist die Verzögerung jedoch abgelaufen und der Timer geht auf HIGH, bewirkt FR nichts mehr.

In Deinem Beispielcode fehlt aber vor SE T 0 noch die Angabe der Dauer des Timers. Ein normaler Aufruf des Timers sieht so aus:
Code:
[FONT=courier new]U   E 0.1    // Timer starten bzw. beenden
L   S5T#5s   // Laufzeit des Timers
SE  T 0      // Art und Nr. des Timers

U   T 0      // Wenn der Timer T0 Ein ist,
=   A 0.0    // den Ausgang A0.0 auch Ein schalten[/FONT]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo hucki,
vielen Dank für die Erklärung! Du hast natürlich völlig Recht; ich habe in meinem Beispiel die Ladeoperation vergessen...sorry.

Nochmal für mich: FR startet also nicht den Timer sondern erlaubt dem nachfolgenden "SE" die Zeit neu zu starten (dazu wird die aktuelle Zeit im Akku1 genommen, oder?).
Die Zeit wird nur neu von SE gestartet, wenn sie noch nicht abgelaufen war/ist und natürlich auch nur, wenn noch VKE=1 bei SE ansteht...verstanden.

Dann verstehe ich aber nicht, warum sich der Befehl "SI" in meiner Simulation so verhält wie er sich verhält :confused:

Stell Dir das o.a. Beispiel mit "SI" anstelle von "SE" vor. In der Simulation mit "WinSPS-S7" lässt sich der Timer mit einer positiven Flanke an E 0.0 neu starten, obwohl er bereits abgelaufen ist (und am Ausgang LOW führt...ist ja Impuls).
Könntest Du dazu auch Licht ins Dunkel bringen?

Viele Grüße,
mck
 
Zuletzt bearbeitet:
Das hängt vom Verhalten bzw. der Art des Timers selbst ab.
Ich denke mal, der SI Timer ist nach Ablauf seiner Zeit wieder 0 und damit im gleichen Zustand wie vorher, während der SE-Timer nach Ablauf einen anderen Zustand hat.

Die S7-Hilfe sagt in der Beschreibung:
FR <Zeit> löscht den Flankenmerker, der für das Starten der adressierten Zeit verwendet wird, wenn das VKE von "0" auf "1" wechselt. Ein Wechsel des VKE-Bits von "0" auf "1" vor einer Operation Freigabe Timer (FR) gibt eine Zeit frei.

Die Operation Freigabe Timer ist für das normale Starten einer Zeit nicht erforderlich. Eine Freigabe wird nur dazu verwendet, eine laufende Zeit neu zu starten. Dies ist nur möglich, wenn die Startoperation weiterhin mit dem VKE = 1 bearbeitet wird.

Mehr oder besser verständliche Erklärungen kann ich leider auch nicht bieten.
Wie gesagt wird FR nicht so oft und ich selber hab's eigentlich noch nie genutzt.
 
Hallo hucki,

ja...den Passus in der S7-300/400 Beschreibung hatte ich auch gelesen. Da dort vom "Flankenmerker" geredet wird, bin ich davon ausgegangen, dass mit "FR" der nachfolgende Startbefehl "vergisst", dass bereits eine Flanke aufgetreten ist und bei VKE=1 wieder eine Flanke sieht. Das passt dann auch mit dem "wenn die Startoperation weiterhin mit dem VKE=1 bearbeitet wird" zusammen.

Kurz gesagt: das Verhalten der Simulation passt noch nicht in mein SPS-Weltbild ;-)

a) Wenn "FR" nur für laufende Zeiten gilt (so wird es ja auch beschrieben), warum kann ich dann einen "SI" Timer nach Ablauf mit FR neu anstoßen?
b) Wieso kann ich "SE" und "SS" Timer nicht neu starten, auch wenn VKE=1 ist
c) Was ist mit "SA"? Dieser Typ benötigt ein VKE=0?

Auf jeden Fall vielen Dank für Deine Antworten...ist es tatsächlich so, dass FR in der Realität kaum verwendet wird?
 
Zurück
Oben