Zwei SE-Timer

Zuviel Werbung?
-> Hier kostenlos registrieren
Oder du setzt den Merker einfach.
Wenn der dann kommt, dann weißt du das T2 durchgeschaltet hat.

Ich bleib dabei, die Funktion ist gegeben sofern T2 nicht nochmal verbaut wurde.

Gruß wolder
 
mhmm..

Sieht der AWL Quelltext davon nicht so aus:
(hab grad kein Step 7 da)

Code:
UN T2
L S5T#2s
SE T1
U T1
L S5T#2s
SE T2
U T2
=M14.4

und das macht definitiv Probleme!

Weis nicht ob das auf jeder CPU so ist, aber ich weis das es Probleme macht!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Versuch macht kluch...

Hab's gerade mal getestet. M14.4 wird tatsächlich NICHT gesetzt.
(Der Test lief auf PLCSIM, nicht auf einer echten CPU).

Aber auch eine nochmalige Verwendung von T1 kann zu Problemen führen. Wird T1 an anderer Stelle zurückgesetzt, nimmt man T2 wieder den Eingang S weg.
 
Zuletzt bearbeitet:
... ist der Grund, dass M14.4 nicht gesetzt wird der, dass, nachdem der Ausgang von T2 1-Signal führt, der Eingang von T1 auf 0 gesetzt wird und somit T2 den Status 1 wegnimmt?

petzi
 
Eher umgekehrt:

... Glaube aber die Timer werden nicht erst gestezt wenn der Timer Baustein wieder aufgerufen wird, sondern vorher vom step 7 betriebsystem falls sie abgelaufen sind. Und dadurch ist t2 vieleicht schon da, und setzt sich selbst zurück bevor 14.4 gesetzt wird.

Wenn Du aber anstelle von T2 am Eingang S von T1 den Merker nimmst, wird erst M14.4 gesetzt und dann der T1 zurückgesetzt.
Egal wie T2 wird nie für 2 sek. gesetzt sein. Maximal für 2 Zyklen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab's gerade mal getestet. M14.4 wird tatsächlich NICHT gesetzt.
(Der Test lief auf PLCSIM, nicht auf einer echten CPU).

Aber auch eine nochmalige Verwendung von T1 kann zu Problemen führen. Wird T1 an anderer Stelle zurückgesetzt, nimmt man T2 wieder den Eingang S weg.

Ja da war irgendetwas, bei PLCSIM haut das irgendwie nicht hin, darauf bin ich auch schon einmal reingefallen.
 
So,
also jetzt stellt sich die Frage, wann der Timer ein 1-Signal abliefert.
Wenn die Zeit vom T2 abgelaufen ist, dann gibt er am Anfang des nächsten Zykluses ein 1-Signal raus, was zur Folge hat, das T1 abgeschaltet wird und dann natürlich auch T2 abgeschaltet ist.
Demzufolge ist beim erreichen des Programmabschnittes:

U T2
= M14.4

der T2 wieder auf 0!
Daher wird auch der M 14.4 nicht eingeschaltet.

Ich ändere mal den Code:
Code:
// Neu //
U T2
=M14.4
// Die Zeilen werden jetzt vor erreichen des T1 bearbeitet //

UN T2
L S5T#2s
SE T1
U T1
L S5T#2s
SE T2
Ich hab eigentlich nur das Zuweisen des Merkers vor der Abarbeitung der 2 Timer gesetzt.
Dann wird auch der Merker eingeschaltet, allerdings nur 1 Zyklus lang.
Wenn du ihn stattdessen setzt, dann siehst du das auch!

Das funktioniert in einer realen SPS, wie auch in PLCSIM.

Gruß wolder
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So...

Mir gings ja nur dadrum, ich dachte früher, der Timer wird erst beim wiederreichen des SE Befehls gesetzt, dem ist aber nicht so, dies geschieht vor dem Aufruf des OB1
 
es ist definitiv so, dass timer zyklusunabhängig geschaltet werden.
es kann also durchaus zu problemen kommen. je nachdem wann der timerausgang auf 1 gesetzt wird.
es sollte auf jeden fall der m14.4 für das rücksetzen des t1 benutzt werden.
auch im restprog dann den m14.4 verwenden und nicht t2.
der m14.4 wird auf jeden fall für 1 zyklus high.
 
Zurück
Oben