Hallo! Ich hab ein Problem mit einem TP Timer aus der Standard Bibliothek, der als Funktionsbaustein in ein großes Programm eingebunden ist.
Wenn die Variable, die an den IN Eingang geschaltet ist im Programmverlauf zum ersten Mal TRUE wird gibt er an Q eine gewisse Zeit ein TRUE Signal aus, bis hierhin alles prima!
Im weiteren Programmverlauf wird die Eingangsvariable am IN Eingang dann FALSE und erneut TRUE, theoretisch sollte der Timer dann erneut für die eingestellte Zeit anspringen, das tut er aber nicht!? Kann es sein dass die interne variable „IN“ TRUE bleibt obwohl die Variable, die an diesen Eingang geschaltet ist zwischenzeitlich FALSE war? und der Timer deshalb nicht erneut losläuft? Dieses Timerproblem tritt auch nur in diesem einen Programm auf, in allen kleinen Testprogrammen, die ich entworfen habe um dem Problem auf die Spur zu kommen läuft er einwandfrei mehrfach durch!
Vielleicht hat jemand von Euch eine Idee woran das liegen könnte?!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2009-05-08
Originally created by: Stephanie Kreutz
Hallo,
wird der Timerbaustein auch mindestens einmal aufgerufen während die Variable am Eingang FALSE ist?
Ansonsten merkt der Baustein gar nichts von der Änderung der Variablen
Gruß Steffi
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Der Timerbaustein ist als "Kästchen mit Anschlüssen" in einem Funktionsbaustein integriert, der aufgerufen wird bevor der Timer aktiv werden soll. (das müsste also klappen). Nur der Timer selbst wird beim zweiten TRUE Signal seiner Eingangsvariable an IN nicht mehr aktiv.
Was meinst Du mit Instanz mehrfach aufrufen?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Jazz11 hat geschrieben:
Was meinst Du mit Instanz mehrfach aufrufen?
Der TP ist ein Funktionsbaustein, der Werte zwischen zwei Aufrufen speichern muß. Dazu wird er instanziert.
z.B.:
VARmyTP:TP;END_VAR
Im FUP muß dann oberhalb des "Kästchen mit Anschlüssen" der Name der Instanz (hier also myTP eingetragen werden.
Benötigst Du mehrere TP, so müssen auch mehrere Instanzen angelegt werden, sonst gibt's Bruch.
Vielleicht stimmt auch einfach Dein Startsignal nicht, der Eingang IN des TP muß auf jeden Fall wenigstens einen Zyklus FALSE gewesen sein, bevor er wieder TRUE wird.
Ich hoffe, ich beleidige nicht Deine Intelligenz mit meiner Erklärung, aber ich weiß nicht, welchen Wissenstand Du hast.
Heiwil
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Timerproblem
Hallo! Ich hab ein Problem mit einem TP Timer aus der Standard Bibliothek, der als Funktionsbaustein in ein großes Programm eingebunden ist.
Wenn die Variable, die an den IN Eingang geschaltet ist im Programmverlauf zum ersten Mal TRUE wird gibt er an Q eine gewisse Zeit ein TRUE Signal aus, bis hierhin alles prima!
Im weiteren Programmverlauf wird die Eingangsvariable am IN Eingang dann FALSE und erneut TRUE, theoretisch sollte der Timer dann erneut für die eingestellte Zeit anspringen, das tut er aber nicht!? Kann es sein dass die interne variable „IN“ TRUE bleibt obwohl die Variable, die an diesen Eingang geschaltet ist zwischenzeitlich FALSE war? und der Timer deshalb nicht erneut losläuft? Dieses Timerproblem tritt auch nur in diesem einen Programm auf, in allen kleinen Testprogrammen, die ich entworfen habe um dem Problem auf die Spur zu kommen läuft er einwandfrei mehrfach durch!
Vielleicht hat jemand von Euch eine Idee woran das liegen könnte?!
Originally created by: Stephanie Kreutz
Hallo,
wird der Timerbaustein auch mindestens einmal aufgerufen während die Variable am Eingang FALSE ist?
Ansonsten merkt der Baustein gar nichts von der Änderung der Variablen
Gruß Steffi
Hallo,
rufst Du vielleicht die Instanz des Timers mehrfach auf? Dann gewinnt immer die letzte
Heiwil
Der Timerbaustein ist als "Kästchen mit Anschlüssen" in einem Funktionsbaustein integriert, der aufgerufen wird bevor der Timer aktiv werden soll. (das müsste also klappen). Nur der Timer selbst wird beim zweiten TRUE Signal seiner Eingangsvariable an IN nicht mehr aktiv.
Was meinst Du mit Instanz mehrfach aufrufen?
Der TP ist ein Funktionsbaustein, der Werte zwischen zwei Aufrufen speichern muß. Dazu wird er instanziert.
z.B.:
Im FUP muß dann oberhalb des "Kästchen mit Anschlüssen" der Name der Instanz (hier also myTP eingetragen werden.
Benötigst Du mehrere TP, so müssen auch mehrere Instanzen angelegt werden, sonst gibt's Bruch.
Vielleicht stimmt auch einfach Dein Startsignal nicht, der Eingang IN des TP muß auf jeden Fall wenigstens einen Zyklus FALSE gewesen sein, bevor er wieder TRUE wird.
Ich hoffe, ich beleidige nicht Deine Intelligenz mit meiner Erklärung, aber ich weiß nicht, welchen Wissenstand Du hast.
Heiwil