Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 22

Тема: Алгоритм включения выключения по времени

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    когда on>off, currTime>on то всёравно включить и работать до off
    У меня вроде так и есть. Ну то есть если включение на 9:00, выключение — на 03:00 (ночи), и сейчас 23:00, то оно (за)работает. И в 01:00 ночи оно (за)работает.

    Фу ты блин, скобки забыл:
    Код:
    out := (on < off AND curTime >= on AND curTime < off) OR
           (on > off AND (curTime < off OR curTime > on));
    Последний раз редактировалось Yegor; 19.01.2015 в 20:50.

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,575

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    У меня вроде так и есть. Ну то есть если включение на 9:00, выключение — на 03:00 (ночи), и сейчас 23:00, то оно (за)работает. И в 01:00 ночи оно (за)работает.

    Фу ты блин, скобки забыл:
    Код:
    out := (on < off AND curTime >= on AND curTime < off) OR
           (on > off AND (curTime < off OR curTime > on));
    конечно я не проверял код, просто интуитивно чуствую, не всё так однозначно

    ...а как с такими НУ on:=4, off:=21, curTime:=22
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    У меня вроде так и есть. Ну то есть если включение на 9:00, выключение — на 03:00 (ночи), и сейчас 23:00, то оно (за)работает. И в 01:00 ночи оно (за)работает.

    Фу ты блин, скобки забыл:
    Код:
    out := (on < off AND curTime >= on AND curTime < off) OR
           (on > off AND (curTime < off OR curTime > on));
    Чтобы совсем было гуд, надо в последнем условии вместо ">" ставить ">="
    Код:
    out := (on < off AND curTime >= on AND curTime < off) OR
           (on > off AND (curTime < off OR curTime >= on));
    В противном случае если on > off, то out включается на целый час позже значения "on"
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  4. #4

    По умолчанию

    Спасибо всем сейчас буду пробовать

  5. #5
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    on:=4, off:=21, curTime:=22
    Выключено согласно первой строчке.

    CFC для некоторых: ON_OFF.ZIP

  6. #6
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,575

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    Выключено согласно первой строчке.

    CFC для некоторых: ON_OFF.ZIP
    а чего у меня тогда горит выход?
    Изображения Изображения
    • Тип файла: png owen.png (4.0 Кб, Просмотров: 53)
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #7
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    А мой код работает, проверено
    Захват-2.png
    ЗЫ.
    Или частный случай, без дней недели
    Код:
    CASE BOOL_TO_INT(time_on <= time_of) OF
    0:    q:=NOT(current_time >= time_of AND current_time < time_on);
    1:    q:=current_time >= time_on AND current_time < time_of;
    END_CASE
    
    (*Или такой вариант
    IF    time_on <= time_of THEN
        q:=current_time >= time_on AND current_time < time_of;
    ELSE
        q:=NOT(current_time >= time_of AND current_time < time_on);
    END_IF
    *)
    Последний раз редактировалось petera; 19.01.2015 в 21:45.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  8. #8
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    а чего у меня тогда горит выход?
    Скобки во второй строке забыли (ну, то есть я сначала забыл).

  9. #9

    По умолчанию

    Спасибо всем сейчас буду пробовать

  10. #10

    По умолчанию

    у меня освещение примерно так
    svet12_0 := TimeAndDate.Hour >=2 AND TimeAndDate.Hour <=20; (*время включения и выключения тогда будет работать с 21-1*)
    MDVV_out.7:= NOT svet12_0 AND autosvet;

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. Настройка по времени ПКП1Т (новая версия)
    от avtomer в разделе Эксплуатация
    Ответов: 11
    Последнее сообщение: 25.03.2015, 07:57
  2. Ответов: 4
    Последнее сообщение: 28.03.2014, 14:51
  3. Ответов: 6
    Последнее сообщение: 06.02.2014, 15:31
  4. УТ1 с коррекцией выключения по восходу
    от Юрий_Уфа в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 22.03.2012, 12:28
  5. Регулирование не по времени
    от antonsaitov в разделе Подбор Оборудования
    Ответов: 11
    Последнее сообщение: 17.11.2011, 12:01

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •