usiGetHour - текущий час - он не может быть одновременно >=22 и <=6 - а вы условия через оператор AND объединили.
Вид для печати
usiGetHour - текущий час - он не может быть одновременно >=22 и <=6 - а вы условия через оператор AND объединили.
превести время в UNIX-время и следить за разницей миллисекунд(просто секунд), от начала до текущего и сравнивать с заданным
Обобщенно
Код:(*собираем часы, минуты и секунды в одну кучу - в секунды*)
time_on:=(on_Hour * 60 + on_Minute) * 60 + on_Second; (*время включения*)
time_of:=(of_Hour * 60 + of_Minute) * 60 + of_Second; (*время отключения*)
current_time:=(CurrentHour * 60 + CurrentMinute) * 60 + CurrentSecond; (*текущее время*)
IF time_on <= time_of THEN
Enable:=current_time >= time_on AND current_time < time_of;
ELSE
Enable:=NOT(current_time >= time_of AND current_time < time_on);
END_IF
Спасибо, всем!!!