Помогите новичку

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Glazman
Рядовой
Сообщения: 5
Зарегистрирован: 30.03.2016{, 12:45}
Репутация: 0

Помогите новичку

#1

Сообщение Glazman » 30.03.2016{, 13:04}

Здравствуйте все! Спасибо что вы есть! Очень облегчает понимание всего ваша программа FLProg. Но не могу справиться, помогите. Делаю умный свет в ванной комнате, нужно чтобы не случалось ложных отключений

У меня есть два сенсора (PIR, геркон), делаю умный свет в ванной комнате, нужно чтобы не случалось ложных отключений. Если дверь закрыта и замечено движение то включить свет на долгий период после последнего движения. Для простоты можно их рассматривать как две кнопки я так думаю. И есть реле, которым нужно управлять по следующему принципу:

1. Кнопка 1 
2. Кнопка 2
3. Выход реле
4. Нажата кнопка 1 - включить реле, оставить включенным на N секунд после последнего срабатывания кнопки. 
5. Нажата либо отжата кнопка 2 (изменилось положение) - включить реле на N секунд
6. При нажатой кнопке 2, произошло срабатывание кнопки 1 - включить реле на М секунд. 

Какой язык программирования лучше подходит для этих задач? Какие блоки и переменные подтянуть? Пробовал использовать boolean и and, не то получается. 
Вложения
9058107.png

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

Помогите новичку

#2

Сообщение SirYorik » 30.03.2016{, 13:17}

Glazman писал(а):Кнопка 2
механическая фиксация, или надо сделать фиксацию в программе?
Glazman писал(а):какие блоки
таймеры (TOF|TON) точно.

нужна дополнительная boolean переменная содержащая статус света (вкл/выкл), ей-же рулить лампой(реле)

пункты 4 и 5:
Элемент ИЛИ на 3 входа
- кнопка 1
- восходящий фронт от кнопки2
- нисходящий фронт от кнопки 2

выход элемента ИЛИ и переменную "статуссвета" подать на элемент И. статус вход инвертировать. (чтобы этот блок не срабатывал при включенном свете)

выход элемента И подать на вход TOF таймера на Nсек.

выход TOF таймера подать на переменную "статуссвета"

в последней плате схемы "статуссвета" вывести в порт "реле"

пункт 6:
AND означает одновременное нажатие обоих кнопок - это верно. только добавить инвертированный вход с переменной "статуссвета", а выход с И подать на вход TOF таймера на М сек. с него выход на переменную "статуссвета".
Последний раз редактировалось SirYorik 30.03.2016{, 13:31}, всего редактировалось 1 раз.

Glazman
Рядовой
Сообщения: 5
Зарегистрирован: 30.03.2016{, 12:45}
Репутация: 0

Помогите новичку

#3

Сообщение Glazman » 30.03.2016{, 13:22}

SirYorik писал(а):Цитата Glazman ()Кнопка 2
механическая фиксация, или надо сделать фиксацию в программе?
Пока дверь закрыта на кнопке 2 будет сигнал от датчика, получается как будто механически нажата кнопка, програмно этого делать не нужно

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

Помогите новичку

#4

Сообщение SirYorik » 30.03.2016{, 13:34}

Glazman писал(а):как будто механически нажата
не. кнопки отдельно. датчики отдельно. без всяких как будто.

для датчика нужен третий TOF на своё кол-во сек.

Glazman
Рядовой
Сообщения: 5
Зарегистрирован: 30.03.2016{, 12:45}
Репутация: 0

Помогите новичку

#5

Сообщение Glazman » 30.03.2016{, 13:39}

Изменил схему, добавил задержку по кнопке 1 задержка 40 секунд, по обоим кнопка задержка 3 минуты.
Будет работать? Нужно еще одно условие: Как включить свет если изменилось положение кнопки 2? 
Вложения
7596177.png

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

Помогите новичку

#6

Сообщение SirYorik » 30.03.2016{, 13:41}

восходящий фронт/нисходящий фронт
- при желании можно это онаруживать триггерами, но это неправильно.
модули надо разделять на независимые части кнопка,кнопка,датчик.
да еще предусмотреть аварийный режим для отсутствия датчика движения.
типа кнопки жмакаются а с ДД нет сигнала, засвечиваем светодиод ошибки, и рулим лампой только на кнопках.
Как включить свет если изменилось положение кнопки 2?
триггеры смотрим
Последний раз редактировалось SirYorik 30.03.2016{, 13:46}, всего редактировалось 1 раз.

Glazman
Рядовой
Сообщения: 5
Зарегистрирован: 30.03.2016{, 12:45}
Репутация: 0

Помогите новичку

#7

Сообщение Glazman » 30.03.2016{, 14:27}

Что такое  "восходящий фронт" и "нисходящий фронт" ?  
Какой из тригеров подходит для включения переменной по изменению положения датчика двери?

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

Помогите новичку

#8

Сообщение SirYorik » 30.03.2016{, 19:41}

восходящий(передний) - момент смены сигнала с 0 на 1, нисходящий(онже задний фронт) наоборот с 1 на 0

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

Помогите новичку

#9

Сообщение SirYorik » 30.03.2016{, 19:46}

Вложения
9918696.jpg

Glazman
Рядовой
Сообщения: 5
Зарегистрирован: 30.03.2016{, 12:45}
Репутация: 0

Помогите новичку

#10

Сообщение Glazman » 30.03.2016{, 20:01}

Спасибо большое за Ваши ответы. Вы очень помогли. Продолжу осваивать эту интереснейшую программу

Ответить

Вернуться в «Спросить у знатоков»