Страница 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 сек.