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

элемент энд для чего?

Задержка на отключение реле.
Сама задумка этого раздела состоит в том, что если статус реле ложный, условие из первой платы ЛОЖЬ, надо его проверить.pan писал(а): 19 дек 2018, 12:05зачем использовать инвертирование сигналов и задержку на включение, если вам надо на отключение?
элемент энд для чего?
Кодом я бы проверил так.
Код: Выделить всё
if (!stateRelay){
//Таймер на 1сек для проверки, вдруг человек пошевелился и вернулся обратно
//или просто сбой датчика.
//Таймер на 20сек когда действительно никого нет и выключаем реле
}
секунды я изменил буквально сейчас, пока рассуждал логику и скорость отработки. 100мс мало может быть.
Отправлено спустя 8 минут 24 секунды:
Опять же, в тех же 20-ти секундах на ожидание отключения, человек может снова появиться, и таймер должен отключиться.
Задержка на отключение реле.
Что-то подобное получилось. Железок на руках сейчас нет - дома.
Но сейчас мне вроде все нравится и код складывается логичный.
Правда пришлось ввести дополнительную переменную.
Опять же, код скорее всего чуть подправлю, чтоб не было двух условий, а одно условие. если есть преграда тогда вклчить иначе отклчить, а не два отдельных условия. Хотя и это не очень важно
Отправлено спустя 1 минуту 8 секунд:
Во! уже увидел косяк. Надо в TON дать на вход статус реле, а не постянную истину. если и так все выключено, то и таймеры не надо запускать.
Но сейчас мне вроде все нравится и код складывается логичный.
Правда пришлось ввести дополнительную переменную.
Опять же, код скорее всего чуть подправлю, чтоб не было двух условий, а одно условие. если есть преграда тогда вклчить иначе отклчить, а не два отдельных условия. Хотя и это не очень важно
Отправлено спустя 1 минуту 8 секунд:
Во! уже увидел косяк. Надо в TON дать на вход статус реле, а не постянную истину. если и так все выключено, то и таймеры не надо запускать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя