Задержка на отключение реле.

Вопросы от новичков
Ответить
VladimirD
Рядовой
Сообщения: 6
Зарегистрирован: 19.12.2018{, 09:03}
Репутация: 0
Имя: Владимир

Задержка на отключение реле.

#1

Сообщение VladimirD » 19.12.2018{, 11:54}

День добрый. Сперва просерфил поиском форум, но не нашел простого решения или все не по теме.
Задача такая.
Если ультразвуковой датчик расстояния. Есть потенциометр для регулировки реакции датчика расстояния.
Если расстояние, которое получил датчик, меньше смасштабированного значения потенциометра (человек появился в поле зрения), подаем сигнал на включение реле, которое включает лампочку.
По сути можно было использовать обычный датчик движения, но человек может стоять некоторое время неподвижно и свет может выключится, а танцевать постоянно около датчика движения не вариант. Использовать ПИР-датчик тоже не вариант - есть теплые или горячие объекты в помещении. Помещение небольшое и нет проблем с прицеливанием датчика расстояния.
С включением реле проблем вообще не возникло. Тут простое сравнение и передача на порт 1 - реле включилось.
Заковыка возникла с таймером на выключение. Хотелось бы сделать так, чтоб, при отсутствии преград для датчика расстояния, была временная задержка, скажем в 20сек на выключение реле.
Прошу посильно помощи. FBD для меня новая тема. Я понимаю как написать обычным кодом в IDE, но их редактор мне не нравится и FLProg многие вещи делать удобнее. Плюс хочу получше познакомиться с данным редактором.
Вложения
main.flp
(108.35 КБ) 45 скачиваний
Screenshot_37.png

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Задержка на отключение реле.

#2

Сообщение pan » 19.12.2018{, 12:05}

зачем использовать инвертирование сигналов и задержку на включение, если вам надо на отключение?
элемент энд для чего?

Изображение

VladimirD
Рядовой
Сообщения: 6
Зарегистрирован: 19.12.2018{, 09:03}
Репутация: 0
Имя: Владимир

Задержка на отключение реле.

#3

Сообщение VladimirD » 19.12.2018{, 12:13}

pan писал(а):
19.12.2018{, 12:05}
зачем использовать инвертирование сигналов и задержку на включение, если вам надо на отключение?
элемент энд для чего?

Изображение
Сама задумка этого раздела состоит в том, что если статус реле ложный, условие из первой платы ЛОЖЬ, надо его проверить.
Кодом я бы проверил так.

Код: Выделить всё

if (!stateRelay){
//Таймер на 1сек для проверки, вдруг человек пошевелился и вернулся обратно
//или просто сбой датчика.
//Таймер на 20сек когда действительно никого нет и выключаем реле
}
Отправлено спустя 3 минуты 59 секунд:
секунды я изменил буквально сейчас, пока рассуждал логику и скорость отработки. 100мс мало может быть.

Отправлено спустя 8 минут 24 секунды:
Опять же, в тех же 20-ти секундах на ожидание отключения, человек может снова появиться, и таймер должен отключиться.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Задержка на отключение реле.

#4

Сообщение pan » 19.12.2018{, 12:45}

VladimirD писал(а):
19.12.2018{, 12:25}
Кодом я бы проверил так.
двойной клик по названию платы.

VladimirD
Рядовой
Сообщения: 6
Зарегистрирован: 19.12.2018{, 09:03}
Репутация: 0
Имя: Владимир

Задержка на отключение реле.

#5

Сообщение VladimirD » 19.12.2018{, 13:25}

Что-то подобное получилось. Железок на руках сейчас нет - дома.
Но сейчас мне вроде все нравится и код складывается логичный.
Правда пришлось ввести дополнительную переменную.
Опять же, код скорее всего чуть подправлю, чтоб не было двух условий, а одно условие. если есть преграда тогда вклчить иначе отклчить, а не два отдельных условия. Хотя и это не очень важно

Отправлено спустя 1 минуту 8 секунд:
Во! уже увидел косяк. Надо в TON дать на вход статус реле, а не постянную истину. если и так все выключено, то и таймеры не надо запускать.
Вложения
Screenshot_38.png

Ответить

Вернуться в «Начинающим»