необходимые библиотеки: SYSLIBTIME.lib, STANDARD.lib
VAR
GetTime:CurTimeEx;
Sys_Time:SysTime64;
SYST:SystemTimeDate;
SYSTIME:TOD;
END_VAR
SYST.Day:=0;
SYST.DayOfWeek:=0;
SYST.dwHighMsec:=0;
SYST.dwLowMSecs:=0;
SYST.Hour:=0;
SYST.Milliseconds:=0;
SYST.Minute:=0;
SYST.Day:=0;
SYST.Month:=0;
SYST.Second:=0;
SYST.Year:=0;
GetTime(SystemTime:=Sys_Time, TimeDate:=SYST);
SYSTIME:=STRING_TO_TOD(CONCAT(CONCAT(CONCAT('TOD#' ,UINT_TO_STRING(SYST.Hour)) ,':') ,UINT_TO_STRING(SYST.Minute)));
ЗЫ: может быть последняя строчка индусами попахивает, но я делал так.
Чтобы понять рекурсию нужно понять рекурсию
Вариантов-то сколько сразу ))))
спасибо, что вы такие отзывчивые есть.
обязательно попробую их все, хотя, CurTimeEx как-то понятнее работает.
а вот через 0:00 не просто будет перескочить, как я понимаю? 1,00 не будет больше 23,00 без доп вычислений ?
Чтобы понять рекурсию нужно понять рекурсию
Технологические сутки делятся на неравные 2 части. Начало суток никогда не будет в 00,00. В разных интервалах насос работает в разных режимах по блинку. Тут не привязаться к таймерам, которые при перебоях электроэнергии будут скидываться в нули. Надо плясать от системного времени. Ну да ладно, это уже не такая большая проблема.
Нарисовал линейку на листе - на самом деле проблем с 0 нет, так что одна баба с воза ушла
Вообщем здесь манипуляции с системным временем и время/дата в строки
В строки - одной функцией с задаваемым свободным форматом
Здравствуйте, такой вопрос.
У меня есть модуль ввода и ПЛК, к которому так же подключена коробка управления магнитопроводом. Посоветуйте пожалуйста, как получать разницу значений модуля ввода при включенном 1 входе ПЛК и при включенном 2 входе ПЛК. Можно - ли объединить значение МВ и 1 входа ПЛК в одну переменную, и значение МВ и 2 входа ПЛК в другую переменную? И как это сделать?
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg