OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: dieter am 16. November 2007, 14:54:06

Titel: TIMER_2 Verhalten bei Programmstart
Beitrag von: dieter am 16. November 2007, 14:54:06
Hallo,

nach Einspielen eines neuen Programms in den WAGO 857-870 und anschliessendem Programmstart wird bei TIMER_2 immer der Output TRUE. Ich betreibe den Baustein mit mode=11 (every day) und brauche Q nur für einen Zyklus, um einen Tageswechsel zu bemerken.
Was kann ich dagegen tun ?

Grüsse,
Dieter
Titel: Re: TIMER_2 Verhalten bei Programmstart
Beitrag von: hugo am 16. November 2007, 15:21:16
welche uhrzeit hat du eingestellt und welche pulsdauer?
Titel: Re: TIMER_2 Verhalten bei Programmstart
Beitrag von: hugo am 16. November 2007, 15:43:38
ich habe timer_2 nochmals getestet,
uhrzeit tod#00:00
dauer t#0ms (einstellung für einen zyklus)

der baustein schaltet exact um 0:00 jeden tag einen zyklus und kein puls bei programmstart

welche revision der lib hast du welches target? probiers mal in der codesys simulation
Titel: Re: TIMER_2 Verhalten bei Programmstart
Beitrag von: dieter am 16. November 2007, 22:59:17
benutze oscat 2.2 mit wago 758-870
uhrzeit tod#01:00
dauer t#0ms (einstellung für einen zyklus)

kann es vielleicht sein, dass die Uhrzeit noch nicht komplett initialisiert ist, obwohl dies im ersten Baustein der Task gemacht wird, und TIMER_2 erst in einem späteren Baustein aufgerufen wird ?
Aber dann dürfte trotzdem kein Puls ausgelöst werden, da die Uhr ja auf 1970 steht, was ja in der Vergangenheit liegt.
Titel: Re: TIMER_2 Verhalten bei Programmstart
Beitrag von: hugo am 16. November 2007, 23:26:35
richtig, ich teste auch mit manualler zeit und die steht beim start auch auf 1.1.1970
mein ausgang ist beim start low.
Titel: Re: TIMER_2 Verhalten bei Programmstart
Beitrag von: hugo am 16. November 2007, 23:30:04
checke bitte mal in der simulation unter codesys
Titel: Re: TIMER_2 Verhalten bei Programmstart
Beitrag von: hugo am 17. November 2007, 00:33:46
kann es sein das deine datumzeit bei programmstart einen undefinerten zustand hat?
oder ist es definitiv 1.1.1970 ?
Titel: Re: TIMER_2 Verhalten bei Programmstart
Beitrag von: dieter am 18. November 2007, 01:22:04
Ich habe da wo der puls gesetzt wird beim programmstart einmal testweise die Uhrzeit in eine Variable geschrieben.
Es ist die richtige aktuelle Zeit.
Ich werde am Montag mal in der Simulation testen.
Titel: Re: TIMER_2 Verhalten bei Programmstart
Beitrag von: dieter am 20. November 2007, 23:13:24
Ich glaub ich hab den Fehler gefunden:

Im Gegensatz zu persistenten Variablen werden Retain-Variablen allerdings bei einem erneuten
Programm-Download neu initialisiert.


teht so im Codesys-Handbuch.

Und in timer_2 ist die Variable run_date nur als RETAIN definiert:
VAR RETAIN
   run_date : DATE;
END_VAR
Titel: Re: TIMER_2 Verhalten bei Programmstart
Beitrag von: hugo am 21. November 2007, 01:18:19
ja das ist richtig wir haben persisitent rausgenommen weil etliche sps controller kein filesystem haben und persistent nicht unterstützen
Titel: Re: TIMER_2 Verhalten bei Programmstart
Beitrag von: dieter am 21. November 2007, 08:40:48
dann wird das wohl auch so bleiben schätze ich, oder ?
mach ich zwar nicht gerne, aber dann werd ich wohl in der LIB editieren müssen
bei einem LIB-Update muss ich dann aufpassen