Сообщение от
Yegor
Подключаем библиотеку OSCAT и делаем так:
VAR
GetSunTime: SUN_TIME;
GetLocalTime: CurTimeEx;
timedate: SystemTimeDate;
systime: SysTime64;
localdate: DWORD;
sunrise, sunset: TOD;
END_VAR
SysMemSet(ADR(systime), 0, SIZEOF(systime));
SysMemSet(ADR(timedate), 0, SIZEOF(timedate));
GetLocalTime(SystemTime := systime, TimeDate := timedate);
localdate := DATE_TO_DWORD(PackDate(timedate.Year, timedate.Month, timedate.Day));
GetSunTime(LATITUDE := 56.5, LONGITUDE := 60.35, UTC := localdate, SUN_RISE => sunrise, SUN_SET => sunset);
sunrise := sunrise + TIME#5h;
sunset := sunset + TIME#5h;
localtime := TIME_TO_TOD(PackTime(timedate.HOUR, timedate.MINUTE, timedate.SECOND, timedate.Milliseconds));