Страница 1 из 2
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 19 апр 2018, 22:33
AlexCrane
Блок проверки попадания текущего времени в указанный временной интервал
[spoiler=Описание входов-Выходов]
HH_value - текущее значение часа
MM_value - текущее значение минут
HH_on - час начала временного интервала
MM_on - минуты начала временного интервала
HH_off - час окончания временного интервала
MM_off - минуты окончания временного интервала
T_inside = true если внутри временного интервала, иначе false[/spoiler]
[spoiler=Сам блок]
Time_Inside.jpg
[/spoiler]
Переход через 00:00 отрабатывается.
Блок создавался для организации циклического полива, любых таймеров
UPD 27.04.2018: Добавил вход En для включения или выключения работы блока
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 13 авг 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 авг 2018, 17:45
AlexCrane
[ref]lexuv[/ref], Попробуйте, если все пройдет успешно можно будет внести изменения. И кстати сделал данный блок на функциях и значительно с экономил на количестве переменных и памяти программ (правда получилось два блока: базовый и рабочий)
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 03 ноя 2018, 22:07
Serg_Grn
Блок действительно очень полезен. Думаю он (или аналогичный) не помешал бы в составе программы. Будильник не решает всех возможных задач при работе с временными интервалами, т.к. если я правильно понимаю, будильник срабатывает однократно при совпадении фактического времени с заданным, а если до момента этого совпадения пропало питание, то после переменная так и останется в предыдущем состоянии до следующего события. А определение попадания времени в заданный интервал эту проблему решает.
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 07 фев 2019, 13:35
savetibet
В чем отличие "Попадание_в_диапазон_времени_En_(CODE).ubi" от "Попадание_в_диапазон_времени_(CODE).ubi"?
Что обозначает эта "En"?
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 07 фев 2019, 14:13
Fuji1604
En - enable т.е. включает работу блока
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 03 фев 2020, 13:02
sillver
Добрый день! У меня вопрос. Можно ли использовать в проекте несколько блоков? Задача включать и выключать нагрузку по заданному циклу несколько раз в сутки с ориентировкой на RTC причем выключать по привышении кретического уровня.
Отправлено спустя 1 минуту 22 секунды:
Может кто подскажет другой путь решения вопроса?
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 03 фев 2020, 15:09
AlexCrane
[ref]sillver[/ref], Можно сколько угодно раз, пока память не кончится
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 05 фев 2020, 17:32
sillver
Спасибо напихал кучу блоков и работает!
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 02 июл 2021, 17:07
Daniil
спасибо, хорошая вещь, для подсветки экрана 1602
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 28 дек 2021, 00:03
Pravitel88
Огромнейшее спасибо! Завтра буду тестить у себя. То, что искал!
Отправлено спустя 1 минуту 19 секунд:
Daniil писал(а): 02 июл 2021, 17:07
спасибо, хорошая вещь, для подсветки экрана 1602
к стати идея, только вот я наверное через фоторезистор реализую подсветку
Отправлено спустя 6 минут 35 секунд:
Ещё момент. HH_on и MM_on время начала работы (константа) HH_off и MM_off время окончание работы (константа) а HH_value и MM_value это вход с часов реального времени?
T-inside это просто на реле вешается? Есть у кого скрин примера этого блока в схеме с реле и часами реального времени? Спасибо заранее, не бейте, я чайник ещё)
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 28 дек 2021, 14:26
Pravitel88
Все прекрасно работает "как часы" (коломбур). Большое спасибо автору!
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 21 авг 2022, 12:31
sergii2012
en как работает если выключен что будет на выходе блока?
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 21 авг 2022, 12:57
Phazz
А где там en?
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 21 авг 2022, 14:43
sergii2012
сделал скрин
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 21 авг 2022, 14:55
Phazz
В покажите код в блоке loop
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 18 дек 2022, 19:37
Pratak
Phazz писал(а): 21 авг 2022, 14:55
В покажите код в блоке loop
[spoiler]
Код: Выделить всё
//-------------------- 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;}
}
//--------------------------------------------------------------------------
[/spoiler]
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 18 дек 2022, 21:38
Naladchik
sergii2012 писал(а): 21 авг 2022, 12:31
en как работает если выключен что будет на выходе блока?
Если блок выключен (на входе En = 0 или false) на выходе так же всегда 0 или false.
Строка в начале блока : T_inside=false; .
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 19 дек 2022, 18:25
ArtemArable
Спасибо за блок. То что нужно.
Блок проверки попадания текущего времени в заданный временной интервал
Добавлено: 29 мар 2024, 16:31
CraCk
AlexCrane писал(а): 19 апр 2018, 22:33
Блок проверки попадания текущего времени в указанный временной интервал
А можно добавить вход день недели?
И еще, например такой режим, только не знаю как его назвать)). Задано время 15:25 срабатывания выхода на протяжении 20 сек. диапазон секунд от 1сек. до 3600 сек.