Step 7 Timer Problem

olafhahn

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe folgendes Problem. In der nachfolgend gezeigten Schaltung möchte ich realisieren, dass ein Messwert, der über einen bestimmten Zeitraum (T388 ) ansteht, als Fehler gemeldet wird (M399.5). In diesem Beispiel liegt zur Testzwecke der Messwert dauerhaft an (M0.1).

Bisher hat diese Schaltung tadellos funktioniert, der Timer als Einschaltverzögerung zählte die im parametrisierte Zeit herunter und unterbrach sich selbst. Nun jedoch funktioniert dies nicht mehr. Sobald die Zeit abgelaufen ist, startet Ssie von neuen und der nachfolgende Merker wird nie gesetzt.
Hat jemand dafür eine Erklärung ?


Timer.JPG
 
Zuletzt bearbeitet:
Dass der Timer jedesmal automatisch neu startet ist klar. Oder?

aber der Merker der muss gesetzt werden, es seidenn du überschreibst den Merker irgendwo, was bestimmt der Fall ist.

Lass dir mal die Belegung mit Überschneidungen anzeigen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Vollmi,

Das der Timer neustartet ist logisch, aber das das Signal nicht zum Flip Flop durschschaltet ist mit schleirhaft.
nein der Merker wird nicht mehrfach verwendet oder überschrieben, daran hatte ich auch schon gedacht...
 
... dann solltest du vielleicht den Merker deines Flip-Flop dazu hernehmen um den Timer neu zu starten - ich denke, dann wird es funktionieren ...

Gruß
Larry
 
Danke Larry,
deine Lösung funktioniert!
Komisch ist, das wir die Original- Verschaltung seid Jahren einsetzen, und bisher tadellos funktioniert hat. Kann es sein, das unter verschiedener Harware, die Timer anders reagieren.
Getestet habe ich die Schaltung auf einer 840D SL 720.3 PN. Aber wir Nutzen eigentlich die Ganze Bandbreite der 840D SL.
Hat da jemand ähnliche Erfahrungen ?
Definitiv ist das Fakt, das die Schaltung in der Vergangenheit funktionierte.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
der AWL code der aus deiner konstruktion generiert wird ist auch etwas komisch.

Es ist halt jetzt so, wenn der Timer true ist dann wird er selbst wieder zurückgesetzt, die zeitspanne zwischen dieser abfrage und der Abfrage zum Setzen des Merkers ist so kurz dass es zufall wäre wenn der timer genau dann true ist und die Zeile zuvor noch nicht.

mfG René
 
wir das SPS Programm nich Zyklisch, also Zeilenweise, abgearbeitet

folgender AWL Code bekomme ich wenn ich von KOP auf AWL umschalte:

U(
U "m_true"
UN T 388
L #Zeit_ind2
SE T 388
NOP 0
NOP 0
NOP 0
U T 388
)
S M 399.5
NOP 0
NOP 0


Gehen wir von folgender Situation aus, das die Zeit abgelaufen ist, und der Timer true ist. Dann muss doch bevor er wieder zurückgesetzt wird ersteinmal im gleichen Zyklus 5 Zeilen weiter den Merker setzen. Und erst im nächsten Zyklus den Timer wegen UN T388 wieder zurücksetzen. Oder habe ich da jetzt nen Denkfehler ?
 
die zeitspanne zwischen dieser abfrage und der Abfrage zum Setzen des Merkers ist so kurz dass es zufall wäre wenn der timer genau dann true ist und die Zeile zuvor noch nicht.
Du weißt aber schon, daß SPS in unheimlich kurzer Zeit jeden denkbaren Zufall generieren? ;)

Im übrigen ist es "schon immer" so, daß man freilaufende selbst-resettende S5Timer nur zuverlässig auswerten kann, wenn man den Timer.Q auf einen Merker legt und diesen Merker negiert auf den Timer-Eingang zurückführt (also niemals den Timer.Q direkt auf den eigenen Timer-Eingang). Nur dann ist garantiert, daß das Timer-abgelaufen-Signal 1 Zyklus lang aktiv ist.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gehen wir von folgender Situation aus, das die Zeit abgelaufen ist, und der Timer true ist. Dann muss doch bevor er wieder zurückgesetzt wird ersteinmal im gleichen Zyklus 5 Zeilen weiter den Merker setzen.

Nö, wieso auch? Der Timer ist true, du fragst in mit UN ab und setzt ihn damit zurück, jetzt ist er nicht mehr true und kann den Merker also nicht setzen, die Chance dass er in dieser nächsten Zeile aber gerade true wird ist ja verschwindend klein (und wird kleiner je grösser das Programm und je langsamer der Prozessor wird).

würdest du den Timer vor dem Reset abfragen wäre die Chance grösser dass das Merkersetzen funktioniert. Aber der Gang über den Merker "is the way to go"

Und erst im nächsten Zyklus den Timer wegen UN T388 wieder zurücksetzen. Oder habe ich da jetzt nen Denkfehler ?

Im gegensatz zu IEC Timer können S5 Timer jederzeit abgefragt werden. Ein IEC Timer wird aber erst nach dem Call upgedatet (aber auch da gibt es Probleme wenn man die Instanz direkt als reset nutzt)

mfG René
 
Zurück
Oben