Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: demanik 
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Алгоритм ВКЛ/ВЫКЛ для таймера (нужно 10 интервалов сравнивать с текущим временем)
Алгоритм ВКЛ/ВЫКЛ для таймера
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
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 462
Репутация: 10   ±
Замечания:   ±
На сайте с 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


Новый подход к питанию потребителей переменного тока: http://ekolaif.ucoz.ru
DAY Дата: Ср, 24.04.2013, 21:08  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 21
Репутация: 0   ±
Замечания:   ±
На сайте с 09.03.2011

Статус: Offline

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

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

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


Найденное на халяву, исчезает мгновенно, лишь сто раз заработанное всегда будет твоим.
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Алгоритм ВКЛ/ВЫКЛ для таймера (нужно 10 интервалов сравнивать с текущим временем)
Страница 1 из 11
Поиск: