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

Пользовательские блоки дающие дополнительные возможности для использования часов реального времени (RTC)
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#1

Сообщение AlexCrane » 19.04.2018{, 22:33}

Блок проверки попадания текущего времени в указанный временной интервал
Описание входов-ВыходовПоказать
HH_value - текущее значение часа
MM_value - текущее значение минут

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

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

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

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

UPD 27.04.2018: Добавил вход En для включения или выключения работы блока
Вложения
Попадание_в_диапазон_времени_En_(CODE).ubi
(33.43 КБ) 672 скачивания
Попадание_в_диапазон_времени_(CODE).ubi
(20.51 КБ) 535 скачиваний
Полив_пример_UB1.flp
(417.34 КБ) 669 скачиваний
Последний раз редактировалось AlexCrane 21.05.2021{, 20:16}, всего редактировалось 1 раз.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

lexuv
Рядовой
Сообщения: 58
Зарегистрирован: 25.07.2018{, 19:43}
Репутация: 1
Имя: Алексей

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

#2

Сообщение lexuv » 13.08.2018{, 09:38}

В принципе, классный блок, не знаю, почему автор не добавил подобные вещи в релиз, так как это очень часто надо. Это практически база -- таймер по 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), если он всегда будет больше нуля (отрицательное значение в принципе иметь не может)

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#3

Сообщение AlexCrane » 13.08.2018{, 17:45}

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

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

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

#4

Сообщение Serg_Grn » 03.11.2018{, 22:07}

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

savetibet
Рядовой
Сообщения: 3
Зарегистрирован: 02.02.2019{, 15:08}
Репутация: 0
Имя: yeskela

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

#5

Сообщение savetibet » 07.02.2019{, 13:35}

В чем отличие "Попадание_в_диапазон_времени_En_(CODE).ubi" от "Попадание_в_диапазон_времени_(CODE).ubi"?
Что обозначает эта "En"?

Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19.01.2016{, 06:09}
Репутация: 40
Откуда: Березники
Имя: Сергей

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

#6

Сообщение Fuji1604 » 07.02.2019{, 14:13}

En - enable т.е. включает работу блока
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню

sillver
Сержант
Сообщения: 194
Зарегистрирован: 27.04.2017{, 12:04}
Репутация: 3
Откуда: УКРАИНА
Имя: Вячеслав

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

#7

Сообщение sillver » 03.02.2020{, 13:01}

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

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

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#8

Сообщение AlexCrane » 03.02.2020{, 15:09}

sillver, Можно сколько угодно раз, пока память не кончится
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

sillver
Сержант
Сообщения: 194
Зарегистрирован: 27.04.2017{, 12:04}
Репутация: 3
Откуда: УКРАИНА
Имя: Вячеслав

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

#9

Сообщение sillver » 05.02.2020{, 17:32}

Спасибо напихал кучу блоков и работает!

Daniil
Рядовой
Сообщения: 6
Зарегистрирован: 23.05.2021{, 18:25}
Репутация: 0
Имя: Иван

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

#10

Сообщение Daniil » 02.07.2021{, 17:07}

спасибо, хорошая вещь, для подсветки экрана 1602

Pravitel88
Рядовой
Сообщения: 2
Зарегистрирован: 27.12.2021{, 23:34}
Репутация: 0
Имя: Alexandr

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

#11

Сообщение Pravitel88 » 27.12.2021{, 23:55}

Огромнейшее спасибо! Завтра буду тестить у себя. То, что искал!

Отправлено спустя 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 это просто на реле вешается? Есть у кого скрин примера этого блока в схеме с реле и часами реального времени? Спасибо заранее, не бейте, я чайник ещё)

Pravitel88
Рядовой
Сообщения: 2
Зарегистрирован: 27.12.2021{, 23:34}
Репутация: 0
Имя: Alexandr

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

#12

Сообщение Pravitel88 » 28.12.2021{, 14:26}

Все прекрасно работает "как часы" (коломбур). Большое спасибо автору!

sergii2012
Сержант
Сообщения: 129
Зарегистрирован: 07.01.2019{, 16:02}
Репутация: 4
Имя: Сергей

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

#13

Сообщение sergii2012 » 21.08.2022{, 12:31}

en как работает если выключен что будет на выходе блока?

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#14

Сообщение Phazz » 21.08.2022{, 12:57}

А где там en?

sergii2012
Сержант
Сообщения: 129
Зарегистрирован: 07.01.2019{, 16:02}
Репутация: 4
Имя: Сергей

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

#15

Сообщение sergii2012 » 21.08.2022{, 14:43}

сделал скрин
Вложения
2022-08-21 (2).png
вот
2022-08-21 (2).png (3.81 КБ) 2439 просмотров

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#16

Сообщение Phazz » 21.08.2022{, 14:55}

В покажите код в блоке loop

Аватара пользователя
Pratak
Сержант
Сообщения: 206
Зарегистрирован: 08.02.2016{, 20:21}
Репутация: 6
Имя: Дмитрий

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

#17

Сообщение Pratak » 18.12.2022{, 19:37}

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;}
}
//--------------------------------------------------------------------------
Изображение

Naladchik
Капитан
Сообщения: 822
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 151
Откуда: Новосибирск
Имя: Павел

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

#18

Сообщение Naladchik » 18.12.2022{, 21:38}

sergii2012 писал(а):
21.08.2022{, 12:31}
en как работает если выключен что будет на выходе блока?
Если блок выключен (на входе En = 0 или false) на выходе так же всегда 0 или false.
Строка в начале блока : T_inside=false; .
Последний раз редактировалось Naladchik 19.12.2022{, 21:22}, всего редактировалось 1 раз.
Win10-64. FLProg Portable.
Изображение

ArtemArable
Сержант
Сообщения: 139
Зарегистрирован: 23.11.2020{, 16:46}
Репутация: 10
Имя: Artem

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

#19

Сообщение ArtemArable » 19.12.2022{, 18:25}

Спасибо за блок. То что нужно.

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

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

#20

Сообщение CraCk » 29.03.2024{, 16:31}

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

Ответить

Вернуться в «Часы реального времени (RTC)»