-> Hier kostenlos registrieren
Hallo liebes Forum,
nach längerer Abstinenz im Forum eine Frage zu den IEC-Timern.
Ich habe die Anforderung, Zeitgeber "stoppen" zu können. Das bedeutet bei einem TP oder TOF den Ausgang
bei fehlender Freigabe abzuschalten. Mit einem nachgeschalteten AND funktioniert das nicht sauber, da der Zeitgeber
unabhängig davon weiterläuft; sollte dann die Freigabe wieder kommen wäre der Ausgang auch wieder da.
Nun verwende ich RT um die Zeit zurückzusetzen. (und damit auch den Ausgang) So weit, so gut....
Was mir aber nicht klar war, dass RT den gesamten Inhalt des IDB zurücksetzt!?
Selbst wenn der Eingang IN am Timer ansteht, ist die Variable IN im IDB FALSE.
Ist natürlich nicht ganz so toll, wenn man irgendwo im Programm auf die Bausteingänge lesend zugreift.
Mir wäre noch nie in den Sinn gekommen, in einem FB Eingänge zu überschreiben. Mir ist klar, dass die
Eingänge in eimen FB einzelne Variablen in einem IDB sind, aber bitte wer löscht Eingangsdaten?
Dafür gibt es doch die IN/OUT Deklaration.
Ebenso verhält es sich mit einem noch nie gestarteten Timer, dort hat dann PT im IDB den Startwert.
Ist das Verhalten des IEC-Timer eventuell so in der IEC definiert?
Vielleicht gibt es jemand hier im Forum, der mich aufklären kann, in der Hilfe finde ich nichts dazu.
PS: Bei Bedarf hätte ich Screenshots, da ich das Verhalten einfach nicht glauben konnte
Schönes WE
Markus
nach längerer Abstinenz im Forum eine Frage zu den IEC-Timern.
Ich habe die Anforderung, Zeitgeber "stoppen" zu können. Das bedeutet bei einem TP oder TOF den Ausgang
bei fehlender Freigabe abzuschalten. Mit einem nachgeschalteten AND funktioniert das nicht sauber, da der Zeitgeber
unabhängig davon weiterläuft; sollte dann die Freigabe wieder kommen wäre der Ausgang auch wieder da.
Nun verwende ich RT um die Zeit zurückzusetzen. (und damit auch den Ausgang) So weit, so gut....
Was mir aber nicht klar war, dass RT den gesamten Inhalt des IDB zurücksetzt!?
Selbst wenn der Eingang IN am Timer ansteht, ist die Variable IN im IDB FALSE.
Ist natürlich nicht ganz so toll, wenn man irgendwo im Programm auf die Bausteingänge lesend zugreift.
Mir wäre noch nie in den Sinn gekommen, in einem FB Eingänge zu überschreiben. Mir ist klar, dass die
Eingänge in eimen FB einzelne Variablen in einem IDB sind, aber bitte wer löscht Eingangsdaten?
Dafür gibt es doch die IN/OUT Deklaration.
Ebenso verhält es sich mit einem noch nie gestarteten Timer, dort hat dann PT im IDB den Startwert.
Ist das Verhalten des IEC-Timer eventuell so in der IEC definiert?
Vielleicht gibt es jemand hier im Forum, der mich aufklären kann, in der Hilfe finde ich nichts dazu.
PS: Bei Bedarf hätte ich Screenshots, da ich das Verhalten einfach nicht glauben konnte
Schönes WE
Markus