FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Воскресенье, 04.12.2016, 17:15
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Помогите новичку (Включение реле по двум условиям, запоминание условий)
Помогите новичку
Glazman
Дата: Среда, 30.03.2016, 13:04 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
Здравствуйте все! Спасибо что вы есть! Очень облегчает понимание всего ваша программа FLProg. Но не могу справиться, помогите. Делаю умный свет в ванной комнате, нужно чтобы не случалось ложных отключений

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

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

Какой язык программирования лучше подходит для этих задач? Какие блоки и переменные подтянуть? Пробовал использовать boolean и and, не то получается. 
Прикрепления: 9058107.png(8Kb)
 
SirYorik Дата: Среда, 30.03.2016, 13:17 | Сообщение # 2
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
Цитата Glazman ()
Кнопка 2
механическая фиксация, или надо сделать фиксацию в программе?
Цитата Glazman ()
какие блоки
таймеры (TOF|TON) точно.

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

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

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

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

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

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

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


Сообщение отредактировал SirYorik - Среда, 30.03.2016, 13:31
 
Glazman Дата: Среда, 30.03.2016, 13:22 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
Цитата SirYorik ()
Цитата Glazman ()Кнопка 2
механическая фиксация, или надо сделать фиксацию в программе?
Пока дверь закрыта на кнопке 2 будет сигнал от датчика, получается как будто механически нажата кнопка, програмно этого делать не нужно
 
SirYorik Дата: Среда, 30.03.2016, 13:34 | Сообщение # 4
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
Цитата Glazman ()
как будто механически нажата

не. кнопки отдельно. датчики отдельно. без всяких как будто.

для датчика нужен третий TOF на своё кол-во сек.
 
Glazman Дата: Среда, 30.03.2016, 13:39 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
Изменил схему, добавил задержку по кнопке 1 задержка 40 секунд, по обоим кнопка задержка 3 минуты.
Будет работать? Нужно еще одно условие: Как включить свет если изменилось положение кнопки 2? 
Прикрепления: 7596177.png(11Kb)
 
SirYorik Дата: Среда, 30.03.2016, 13:41 | Сообщение # 6
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
Цитата
восходящий фронт/нисходящий фронт
- при желании можно это онаруживать триггерами, но это неправильно.
модули надо разделять на независимые части кнопка,кнопка,датчик.
да еще предусмотреть аварийный режим для отсутствия датчика движения.
типа кнопки жмакаются а с ДД нет сигнала, засвечиваем светодиод ошибки, и рулим лампой только на кнопках.

Цитата
Как включить свет если изменилось положение кнопки 2?

триггеры смотрим


Сообщение отредактировал SirYorik - Среда, 30.03.2016, 13:46
 
Glazman Дата: Среда, 30.03.2016, 14:27 | Сообщение # 7
Рядовой
Группа: Проверенные
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
Что такое  "восходящий фронт" и "нисходящий фронт" ?  
Какой из тригеров подходит для включения переменной по изменению положения датчика двери?
 
SirYorik Дата: Среда, 30.03.2016, 19:41 | Сообщение # 8
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
восходящий(передний) - момент смены сигнала с 0 на 1, нисходящий(онже задний фронт) наоборот с 1 на 0
 
SirYorik Дата: Среда, 30.03.2016, 19:46 | Сообщение # 9
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
Прикрепления: 9918696.jpg(15Kb)
 
Glazman Дата: Среда, 30.03.2016, 20:01 | Сообщение # 10
Рядовой
Группа: Проверенные
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
Спасибо большое за Ваши ответы. Вы очень помогли. Продолжу осваивать эту интереснейшую программу
 
Форум » Основной » Спросить у знатоков » Помогите новичку (Включение реле по двум условиям, запоминание условий)
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика