Hallo,
ich brauche jeden Tag um 9 Uhr einen Trigger um eine E-Mail zu versenden.
Habe FB TIMER_2 mittels CoDeSys für WAGO 758 folgendermassen im Programm als eigene Task eingebaut:
PROGRAM Time_Switch
VAR
TriggerDay: timer_2;
END_VAR
TriggerDay(DT_in:=Current_Time,start:=tod#09:00:00,duration:=t#3s,mode:=11);
Task läuft ständig, Current_Time zählt die aktuelle Uhrzeit hoch.
Trotzdem wird der Ausgang nicht um 9 Uhr für 3 Sekunden gesetzt.
Im Source-Code von TIMER_2 ist eine Abfrage, die ich nicht verstehe:
IF enabled AND NOT Q AND daytime >= start AND run_date <> dat THEN
Q := 1;
activation := tx;
run_date := dat;
ELSIF Q AND tx - activation >= duration THEN
Q := 0;
END_IF;
Variable "run_date" ist in meinem Testprogramm natürlich gleich wie Variable "dat".
Wenn ich "run_date" auf einen Tag vorher force, dann wird der Ausgang ca. jede Sekunde für 3 Sekunden gesetzt.
Was mache ich falsch ? Darf TIMER_2 nicht in einer Task zyklisch aufgerufen werden ?
N.B.: oscat.lib ist wirklich eine tolle Library, grosses Lob von mir
Grüsse,
Dieter