Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
Алгоритм ВКЛ/ВЫКЛ для таймера
DAY Дата: Ср, 24.04.2013, 01:21  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 21
Репутация: 0   ±
Замечания:   ±
На сайте с 09.03.2011

Статус: Offline

Доброго времени суток, стоит след. задача.
Нужно 10 интервалов сравнивать с текущим временем и определять какое состояние должно быть на выходе.

вот кусок для 1 интервала

IF tON > tOFF THEN
IF Time >= tON AND Time < tOFF THEN OUT = 1 '
IF Time >= tON AND Time > tOFF THEN OUT = 1 '
IF Time <= tON AND Time < tOFF THEN OUT = 1 '
IF Time < tON AND Time >= tOFF THEN OUT = 0 '
ENDIF
IF tON < tOFF THEN '
IF Time >= tON AND Time < tOFF THEN OUT = 1 '
IF Time > tON AND Time >= tOFF THEN OUT = 0 '
IF Time < tON AND Time <= tOFF THEN OUT = 0 '
IF Time < tON AND Time >= tOFF THEN OUT = 0 '
ENDIF '
IF tON = tOFF THEN OUT = 0
ENDIF

можно конечно проверять 10 раз для каждого интервала таким способом но должен быть более элегантный способ, может кто подкинет мыслю

Этот код кстати рабочий и проверен на практике, выдуман мной. Прошу тупым не называть, если можно проще.))


Найденное на халяву, исчезает мгновенно, лишь сто раз заработанное всегда будет твоим.
Сообщение отредактировал DAY - Ср, 24.04.2013, 01:28
ЯНДЕКС Дата: 24.04.2013
retas Дата: Ср, 24.04.2013, 10:52  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 445
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

А так не подайдёт (пишу навскидку)
IF tON > tOFF THEN
IF Time >= tON AND Time < tOFF THEN OUT = 1 '
IF Time >= tON AND Time > tOFF THEN OUT = 1 '
IF Time <= tON AND Time < tOFF THEN OUT = 1
'
IF Time < tON AND Time >= tOFF THEN OUT = 0 else OUT=1'
ENDIF
IF tON < tOFF THEN '
IF Time >= tON AND Time < tOFF THEN OUT = 1 '
IF Time > tON AND Time >= tOFF THEN OUT = 0 '
IF Time < tON AND Time <= tOFF THEN OUT = 0 '

IF Time < tON AND Time >= tOFF THEN OUT = 0 else OUT=0'
ENDIF '
IF tON = tOFF THEN OUT = 0
ENDIF
DAY Дата: Ср, 24.04.2013, 21:08  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 21
Репутация: 0   ±
Замечания:   ±
На сайте с 09.03.2011

Статус: Offline

Ну это да, в правильном направлении, спс.

По поводу десяти интервалов получается, в каждом вешаем флаг если вкл. Потом, если хоть в одом висит флаг, включаем выход. 

Может еще как-то?


Найденное на халяву, исчезает мгновенно, лишь сто раз заработанное всегда будет твоим.
  • Страница 1 из 1
  • 1
Поиск: