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

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

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

#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 КБ) 2375 просмотров
Переход через 00:00 отрабатывается.

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

UPD 27.04.2018: Добавил вход En для включения или выключения работы блока
Вложения
Попадание_в_диапазон_времени_En_(CODE).ubi
(33.43 КБ) 159 скачиваний
Попадание_в_диапазон_времени_(CODE).ubi
(20.51 КБ) 157 скачиваний
Полив_пример_UB1.flp
(417.34 КБ) 162 скачивания


Если не знаю, то не скажу. Если скажу, то сначала проверю...

lexuv
Рядовой
Сообщения: 43
Зарегистрирован: 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
Сержант
Сообщения: 158
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 32
Откуда: Ульяновск
Имя: Александр

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

#3

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

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

Serg_Grn
Сержант
Сообщения: 112
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 14
Откуда: Одесса
Имя: Сергей

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

#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
Сержант
Сообщения: 168
Зарегистрирован: 19.01.2016{, 06:09}
Репутация: 19
Откуда: Березники
Имя: Сергей

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

#6

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

En - enable т.е. включает работу блока

Ответить

Вернуться в «Блоки сравнения (компараторы)»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость