TIA Probleme mit TIA Timer TON läuft nicht

Jochen Kühner

Level-3
Beiträge
4.446
Reaktionspunkte
677
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo wir haben in einer 1517 das Problem mit einem Timer TON das dieser nicht läuft wenn der Ausgang Q nicht verwendet wird. (Er ist bedingt verwendet). Der Timer läuft erst wenn wir Q wirklich verwenden.

Kennt das jemand?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo wir haben in einer 1517 das Problem mit einem Timer TON das dieser nicht läuft wenn der Ausgang Q nicht verwendet wird. (Er ist bedingt verwendet). Der Timer läuft erst wenn wir Q wirklich verwenden. Kennt das jemand?
Das ist mehr oder weniger dokumentiertes Verhalten. Der Timer läuft nur "sichtbar" wenn Q oder ET verwendet wird, und grundsätzlich auch azyklisch.
Deshalbe nenne ich die "neuen" TONs auch immer scherzhaft IEC-S5-Timer.
 
Jo, das Verhalten ist bekannt (Forum-Suche: "tia ton ausgang")
Das hat Siemens wohl so hingebastelt, damit auch solche Programmierer ein Erfolgserlebnis haben, die keine Ahnung haben wie man Timer richtig programmiert. ;)
Dabei ist leider rausgekommen, daß die Timer ihre Anzeigen Q und ET fürs normale Beobachten nur noch aktualisieren, wenn Q oder ET im Programm gelesen werden. Die Timer laufen irgendwie - man sieht es nur nicht.

Von bedingten Aufrufen von Timern und bedingter Abfrage der Ausgänge ist schon immer abzuraten. Da die Timer azyklisch zum OB1 laufen, darf und muß der Q-Ausgang genau 1x im Zyklus abgefragt werden - also am besten den Timer immer genau einmal aufrufen und dabei den Q-Ausgang auf eine Hilfsvariable umkopieren. Die Hilfsvariable kann dann so oft wie gewünscht verwendet werden, auch bedingt oder gar nicht.

Bei Dir wird wohl nicht nur der Q nur bedingt abgefragt, sondern auch der Timer-Aufruf nur bedingt bearbeitet?

Harald
 
Jo, das Verhalten ist bekannt (Forum-Suche: "tia ton ausgang")
Das hat Siemens wohl so hingebastelt, damit auch solche Programmierer ein Erfolgserlebnis haben, die keine Ahnung haben wie man Timer richtig programmiert. ;)
Dabei ist leider rausgekommen, daß die Timer ihre Anzeigen Q und ET fürs normale Beobachten nur noch aktualisieren, wenn Q oder ET im Programm gelesen werden. Die Timer laufen irgendwie - man sieht es nur nicht.

Von bedingten Aufrufen von Timern und bedingter Abfrage der Ausgänge ist schon immer abzuraten. Da die Timer azyklisch zum OB1 laufen, darf und muß der Q-Ausgang genau 1x im Zyklus abgefragt werden - also am besten den Timer immer genau einmal aufrufen und dabei den Q-Ausgang auf eine Hilfsvariable umkopieren. Die Hilfsvariable kann dann so oft wie gewünscht verwendet werden, auch bedingt oder gar nicht.

Bei Dir wird wohl nicht nur der Q nur bedingt abgefragt, sondern auch der Timer-Aufruf nur bedingt bearbeitet?

Harald

Nein, wird nur der Ausgang bedingt abgefragt. Und dieser auch nur ein mal, daher können wir Ihn ja auch direkt verwenden. Das die Timer azyklisch laufen wussten wir ja.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ICH HAB'S!:D

Es gibt ja nichts was es nicht gibt. Ein eifriger Mitarbeiter aus der Inbetriebnahme wollte während der Inbetriebnahme die DB's mit den Formatwerten absichern, was er auch gemacht hat.
Bei der Gelegenheit hat er sich gedacht, da speicher ich mal zur Sicherheit alle DB's ab, leider inklusive derer, in denen sich u.a. Instanzen von Timern befinden.
Also er macht eine Momentaufnahme und kopiert diese in die Startwerte -> ist zum Vergleich zu S7-classic ja auch recht komfortabel geworden.
Im Beispiel meines TON's hatte also der Eingang "IN" zum Zeitpunkt der Sicherung den Zustand "1".
Wenn jetzt die Steuerung neu startet steht im Instanz-DB bei "IN" bereits der Status "1" bzw true. Und genau das ist der Grund, warum der Timer nicht mehr abläuft.
Es ist übrigens unerheblich, ob der Timer als TON_TIME oder als IEC_Timer deklariert ist.
Ändert man den Startwert wieder auf "0" bzw. false, ist das Verhalten wieder genauso, wie ich es gewohnt war.

Vielen Dank nochmal für eure Antworten! Gruß Werner

Anhang anzeigen 48559

Falscher Betrag? du wolltest doch sicher hier antworten: IEC Timer Phänomen TIA V15.1
 
Zurück
Oben