О, ну да как я мог забыть. СПС буду пробовать.
О, ну да как я мог забыть. СПС буду пробовать.
Появился новый вопрос. В данный момент осваиваю работу с датой и временем. Не могли бы вы подсказать как преобразовать например минуты в байт? Пользуюсь библиотекой SysLibTime.
Если я правильно понял то вот:
SYST:SystemTimeDate; *Объявляем экземпляр ФБ системного времени*
X:BYTE;
_________________________________
X:=UINT_TO_BYTE(SYST.Minute);
Чтобы понять рекурсию нужно понять рекурсию
Да правильно но я так уже пробовал результат X=0;
Последний раз редактировалось Fudz; 06.08.2012 в 15:56.
ПРИМЕР ПРОГРАММЫ
PROGRAM TIME_PLC
VAR
GetTime: CurTimeEx;
TimeAndDate: SystemTimeDate;
Sys_Time: SysTime64;
set_time: BOOL;
set_date: BOOL;
MM: UINT;
SS: UINT;
HH: UINT;
D: UINT;
M: UINT;
Y: UINT;
X:BYTE;
END_VAR
(*Текущее время*)
TimeAndDate.Day :=0;
TimeAndDate.DayOfWeek :=0;
TimeAndDate.dwHighMsec :=0;
TimeAndDate.dwLowMSecs :=0;
TimeAndDate.Milliseconds :=0;
TimeAndDate.Minute:=0;
X:=UINT_TO_BYTE(TimeAndDate.Minute);
TimeAndDate.Second :=0;
TimeAndDate.Hour :=0;
TimeAndDate.Year :=0;
TimeAndDate.Month :=0;
Sys_time.ulHigh :=0;
Sys_time.ulLow :=0;
GetTime (SystemTime:=Sys_Time , TimeDate:= TimeAndDate);
(*Если set_time - истина, то можно менять время*)
IF set_time THEN
TimeAndDate.Minute:=MM;
TimeAndDate.Second:=SS;
TimeAndDate.Hour:=HH;
GetTime (SystemTime:=Sys_Time , TimeDate:= TimeAndDate);
END_IF
(*Если set_date - истина, то можно менять дату*)
IF set_date THEN
TimeAndDate.Day:=D;
TimeAndDate.Month:=M;
TimeAndDate.Year:=Y;
GetTime (SystemTime:=Sys_Time , TimeDate:= TimeAndDate);
END_IF