Порог срабатывания универсальных входов описан в документации контроллера и программно - не меняется.
Опишите пожалуйста подключение, расчетные параметры токов и наприяжений на входе при “сработавшем” (активном) входе) и несработавшем, (пассивном).
Реальные напряжения не соответствуют расчетным?
Сделал пока что так , вроде отрабатывает как нужно
при ложном срабатывание А1 успевает увеличить значение но правило то что ниже обратно переписывает на нужное
var water_meter_1_Value = dev["wb-gpio/A1_IN_total"];
var devInput = "wb-adc/A1"; // устройство-источник значений.
var compValue = 2; //Значение, превышение которого отслеживаем
var debounceTime = 200; //Время "дребезга" в миллисекундах
var timerId = null; //тут будем сохранять идентификатор таймера
log.info("start")
defineRule( "debounceTime" ,{
whenChanged: devInput,
then: function (newValue, devName, cellName){
log.info("I’m here!", newValue)
dev["wb-gpio/A1_IN_total"] = water_meter_1_Value;
if(newValue > compValue) { //Если значение БОЛЬШЕ
// log.info("Compare BIGGER", newValue)
if (timerId){ //Если таймер УЖЕ есть
// log.info("Timer started BEFORE", newValue)
}
else{ //Запускаем таймер
// log.info("Timer NEED started", newValue)
timerId = setTimeout(function () { //Начинаем описывать таймер
log.info("VALUE BIGGER over", debounceTime, " ms") //тут можно описать требуемое действие
water_meter_1_Value = water_meter_1_Value + 0.01;
dev["wb-gpio/A1_IN_total"] = water_meter_1_Value;
//dev["water_meters_k_1/water_meter_1"] = water_meter_1_Value; // прибовляем 1 сотую к счетчику;
timerId = null; //Сбрасываем идентификатор отработавшего таймера
}, debounceTime);
}
}
else{ //Если значение МЕНЬШЕ уставки
if (timerId){ //Если таймер УЖЕ есть
// log.info("Kill timer", timerId);
clearTimeout(timerId); //останавливем таймер
timerId = null; //Сбрасываем идентификатор таймера
}
}
}
})```
Какой ток у вас через замкнутый контакт? Чем он, ток обеспечивается (номинал резистора, куда подключен)?
В модулях с входами, предназначенными для сухих контактов ток - порядка 2 мА, наприяжение - 12 вольт. На универсальном входе нет никаких подтяжек и их нужно добавлять.
Если например от +5 вольт - поставьте резистор 2,7кОм.
Нет. Это аппаратное ограничение и программно не меняется.
Входы имеют высокое сопротивление и- да, подвержены наводкам, естественно. Следует обеспечить выходное сопротивление подклюенной цепи на порядок (лучше на два) чем сопротивление входа.