OSCAT Forum
oscat.lib => Bestehende Module / Existing Modules => Thema gestartet von: HeHo am 09. Dezember 2007, 08:41:28
-
hallo zusammen,
z.B. bei oben genannten funktionen wird ein mittels INT_TO_TIME ein offset von einer zeit berechnet. dieser offset ist als int deklariert und sollte in stunden angegeben sein?!
die funktion INT_TO_TIME macht aber auf meinem system nur eine millisekunde (sollte aber eine stunde sein) daraus???
FRAGE: tritt das phänomen nur auf der easycontrol(möller) auf?
gruß Horst
-
nein das ist ein fehler der sich in die lib rev 24 eingeschlichen hat.
mittlerweile aber behoben ist hier der richtige code für die funktion local_time
tx := DWORD_TO_TIME(INT_TO_DWORD(ABS(time_zone_offset))* 3600000);
IF DST(utc) AND dst_enable THEN
IF time_zone_offset < 0 THEN local_time := utc - tx + T#1h; ELSE local_time := utc + tx + T#1h; END_IF;
ELSE
IF time_zone_offset < 0 THEN local_time := utc - tx; ELSE local_time := utc + tx; END_IF;
END_IF;
es bitrifft 3 funktionen die ltime, ltime_to_utc und local_time wir werden noch heute hierzu einen update bringen
-
danke, das ging ja flott!
tolles forum.
gruß horst
-
ab sofort ist im download die release 251 vorhanden.
die int to time probleme sind dort gelöst
-
hallo,
sorry, ich will weder stress noch unmut verbreiten aber int_to_time ist auch im "DCF77" baustein vorhanden!
rtc := utc;
IF DST AND dst_en THEN
IF time_offset < 0 THEN rtc1 := rtc - INT_TO_TIME(-time_offset) + t#1h; ELSE rtc1 := rtc + INT_TO_TIME(time_offset) + t#1h; END_IF;
ELSE
IF time_offset < 0 THEN rtc1 := rtc - INT_TO_TIME(-time_offset); ELSE rtc1 := rtc + INT_TO_TIME(time_offset); END_IF;
END_IF;
gruß Horst
-
sch.. da hab nicht genau genug hingesehen
in einer stunde ist es erledigt.
-
im download liegt die 252 welche das problem im dcf77 beseitigt
-
danke, funktioniert super!