ПЛК110
Код следующий:
Объявление блока:
Код:
FUNCTION_BLOCK GET_SYSTEM_TIME_FB
VAR_OUTPUT
Milliseconds : UINT;
Seconds : UINT;
Minutes : UINT;
Hours : UINT;
DayOfWeek : UINT;
Day : UINT;
Month : UINT;
Year : UINT;
END_VAR
VAR
TimeAndDate: SystemTimeDate;
SysTime: SysTime64;
GetTime: CurTimeEx;
END_VAR
Тело блока:
Код:
TimeAndDate.Day :=0;
TimeAndDate.DayOfWeek :=0;
TimeAndDate.dwHighMsec :=0;
TimeAndDate.dwLowMSecs :=0;
TimeAndDate.Milliseconds :=0;
TimeAndDate.Second :=0;
TimeAndDate.Hour :=0;
TimeAndDate.Year :=0;
TimeAndDate.Month :=0;
SysTime.ulHigh :=0;
SysTime.ulLow :=0;
GetTime (SystemTime := SysTime , TimeDate := TimeAndDate);
Milliseconds := TimeAndDate.Milliseconds;
Seconds := TimeAndDate.Second;
Minutes := TimeAndDate.Minute;
Hours := TimeAndDate.Hour;
DayOfWeek := TimeAndDate.DayOfWeek;
Day := TimeAndDate.Day;
Month := TimeAndDate.Month;
Year := TimeAndDate.Year;
При работе дает время, которое со старта набежало что-то около 29 минут, которые даже близко не соответствуют дате и времени, выставленным для ПЛК. При этом кроме минут на выходе ничего не отображается.
GetTime в PLC браузере отображает правильное время.
Почему CurTimeEx не дает правильные данные? Где я ошибся?