Страница 1 из 2

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 19.04.2018{, 22:33}
AlexCrane
Блок проверки попадания текущего времени в указанный временной интервал
Описание входов-ВыходовПоказать
HH_value - текущее значение часа
MM_value - текущее значение минут

HH_on - час начала временного интервала
MM_on - минуты начала временного интервала

HH_off - час окончания временного интервала
MM_off - минуты окончания временного интервала

T_inside = true если внутри временного интервала, иначе false
Сам блокПоказать
Time_Inside.jpg
Time_Inside.jpg (35.71 КБ) 7290 просмотров
Переход через 00:00 отрабатывается.

Блок создавался для организации циклического полива, любых таймеров

UPD 27.04.2018: Добавил вход En для включения или выключения работы блока

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 13.08.2018{, 09:38}
lexuv
В принципе, классный блок, не знаю, почему автор не добавил подобные вещи в релиз, так как это очень часто надо. Это практически база -- таймер по RTC.
Пару замечаний по коду:
1) два if''а лучше заменить на if + else if, чтоб если первое условие верно, то второе (переход через ноль часов) уже не проверялось.
2) if ( (minutes_on>minutes_off) && ( (minutes_val>=minutes_on) || ((minutes_val>=0) && (minutes_val<minutes_off)) ) )
тут, если переход через ноль часов, непонятно, зачем проверка (minutes_val>=0), если он всегда будет больше нуля (отрицательное значение в принципе иметь не может)

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 13.08.2018{, 17:45}
AlexCrane
lexuv, Попробуйте, если все пройдет успешно можно будет внести изменения. И кстати сделал данный блок на функциях и значительно с экономил на количестве переменных и памяти программ (правда получилось два блока: базовый и рабочий)

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 03.11.2018{, 22:07}
Serg_Grn
Блок действительно очень полезен. Думаю он (или аналогичный) не помешал бы в составе программы. Будильник не решает всех возможных задач при работе с временными интервалами, т.к. если я правильно понимаю, будильник срабатывает однократно при совпадении фактического времени с заданным, а если до момента этого совпадения пропало питание, то после переменная так и останется в предыдущем состоянии до следующего события. А определение попадания времени в заданный интервал эту проблему решает.

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 07.02.2019{, 13:35}
savetibet
В чем отличие "Попадание_в_диапазон_времени_En_(CODE).ubi" от "Попадание_в_диапазон_времени_(CODE).ubi"?
Что обозначает эта "En"?

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 07.02.2019{, 14:13}
Fuji1604
En - enable т.е. включает работу блока

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 03.02.2020{, 13:01}
sillver
Добрый день! У меня вопрос. Можно ли использовать в проекте несколько блоков? Задача включать и выключать нагрузку по заданному циклу несколько раз в сутки с ориентировкой на RTC причем выключать по привышении кретического уровня.

Отправлено спустя 1 минуту 22 секунды:
Может кто подскажет другой путь решения вопроса?

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 03.02.2020{, 15:09}
AlexCrane
sillver, Можно сколько угодно раз, пока память не кончится

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 05.02.2020{, 17:32}
sillver
Спасибо напихал кучу блоков и работает!

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 02.07.2021{, 17:07}
Daniil
спасибо, хорошая вещь, для подсветки экрана 1602

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 27.12.2021{, 23:55}
Pravitel88
Огромнейшее спасибо! Завтра буду тестить у себя. То, что искал!

Отправлено спустя 1 минуту 19 секунд:
Daniil писал(а):
02.07.2021{, 17:07}
спасибо, хорошая вещь, для подсветки экрана 1602
к стати идея, только вот я наверное через фоторезистор реализую подсветку

Отправлено спустя 6 минут 35 секунд:
Ещё момент. HH_on и MM_on время начала работы (константа) HH_off и MM_off время окончание работы (константа) а HH_value и MM_value это вход с часов реального времени?
T-inside это просто на реле вешается? Есть у кого скрин примера этого блока в схеме с реле и часами реального времени? Спасибо заранее, не бейте, я чайник ещё)

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 28.12.2021{, 14:26}
Pravitel88
Все прекрасно работает "как часы" (коломбур). Большое спасибо автору!

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 21.08.2022{, 12:31}
sergii2012
en как работает если выключен что будет на выходе блока?

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 21.08.2022{, 12:57}
Phazz
А где там en?

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 21.08.2022{, 14:43}
sergii2012
сделал скрин

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 21.08.2022{, 14:55}
Phazz
В покажите код в блоке loop

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 18.12.2022{, 19:37}
Pratak
Phazz писал(а):
21.08.2022{, 14:55}
В покажите код в блоке loop
СпойлерПоказать

Код: Выделить всё

//-------------------- AlexCrane, 2018 -------------------------
T_inside=false;

if (En)
{
minutes_on = HH_on*60+MM_on;
minutes_off = HH_off*60+MM_off;
minutes_val = HH_value*60+MM_value;

if ((minutes_val>=minutes_on) && (minutes_val<minutes_off)) {T_inside=true;}
if ( (minutes_on>minutes_off) && ( (minutes_val>=minutes_on) || ((minutes_val>=0) && (minutes_val<minutes_off)) ) ) {T_inside=true;}
}
//--------------------------------------------------------------------------

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 18.12.2022{, 21:38}
Naladchik
sergii2012 писал(а):
21.08.2022{, 12:31}
en как работает если выключен что будет на выходе блока?
Если блок выключен (на входе En = 0 или false) на выходе так же всегда 0 или false.
Строка в начале блока : T_inside=false; .

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 19.12.2022{, 18:25}
ArtemArable
Спасибо за блок. То что нужно.

Блок проверки попадания текущего времени в заданный временной интервал

Добавлено: 29.03.2024{, 16:31}
CraCk
AlexCrane писал(а):
19.04.2018{, 22:33}
Блок проверки попадания текущего времени в указанный временной интервал
А можно добавить вход день недели?
И еще, например такой режим, только не знаю как его назвать)). Задано время 15:25 срабатывания выхода на протяжении 20 сек. диапазон секунд от 1сек. до 3600 сек.