TIA Interessensfrage: Timer laufen nicht wenn .Q nicht verwendet wird?

LehnerTh

Level-2
Beiträge
44
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Forengemeinde!

Ich habe kürzlich was komisches beobachtet:
Ich wollte eine kleine Zeitmessung machen und hab dafür kurzerhand einen TON mit PT 10min verwendet.
Da mich nur die vergangene Zeit interessiert hat, habe ich nur den .ET abgefragt.
Dann ist mir aufgefallen, dass der Timer nicht läuft, wenn .Q nicht verwendet wird...

Ebenso bei TOF und TP... (TIA V18, 1214er)
War das schon immer so und ist mir nie aufgefallen?
Problem ist gelöst, frage nur Interessehalber.

Timers.PNG
 
War das schon immer so und ist mir nie aufgefallen?
Problem ist gelöst, frage nur Interessehalber.
Aus der TIA Hilfe zum TON:
Hinweis

Der Start und die Abfrage der IEC-Zeit können sich in verschiedenen Ablaufebenen befinden, da jede Abfrage der Ausgänge Q oder ET die IEC_TIMER-Struktur aktualisiert.
D.h. das bedeutet im Gegenschluss, keine .Q oder .ET Abfrage => keine Aktualisierung der Timer Struktur.
 
Zuletzt bearbeitet:
In meinem Programm habe ich .ET verwendet. Aber nur als Zuweisung in einem IF, 1 Zyklus lang.
Ist bei dem einmaligen Zugriff auf .ET die Struktur noch nicht aktualisiert, und ich müsste noch einen 2. Zyklus warten?
Oder ist das Problem, dass ich den Timer gleich wieder Zurücksetze (#btonCROSS_MeasureLength := false) und am Ende des Zyklus wieder 0 drinnen steht, weil dekativiert?


Code:
        //Measure length
        IF #rtrigCROSS_PalletStarted.Q THEN
            #btonCROSS_MeasureLength := true;
        END_IF;
       
        IF #ftrigCROSS_PalletEnd.Q THEN
            #rCROSS_MeasureLength_mm := (INT_TO_REAL(TIME_TO_INT(#tonCROSS_MeasureLength.ET)) / 1000) * "dbPARA".General."CrossConveyor_Speed_Setpoint_mm/s";
            #btonCROSS_MeasureLength := false;
            #iStep := #cStep_GetPalletFromTable_PositionCross;
        END_IF;
 
Zurück
Oben