Добрый день. Столкнулся с такой проблемой: при обесточивании реле не сразу появляется информация об ошибке записи/чтения реле . Есть правило:
var timeout_error;
defineRule("check-relay", {
whenChanged: "wb-mr6c_104/K1#error",
then: function (newValue, devName, cellName) {
log (newValue)
if(newValue == "w") {
timeout_error = setTimeout(function () {
SendTelegramMsg('Ошибка связи с реле: ' +devName);
}, 10000);
} else {
clearTimeout(timer_error);
}
}
});
При отключении питания реле ни чего не происходит. Как только пробую из интерфейса контролера переключить реле к1 (надпись краснеет), сразу прилетает значение w в лог.
После подачи питания на реле, в лог попадает пустое значение. Может нужно что то настроить в самом реле? Помогите разобраться. Мне нужно, чтоб после отключения питания, сразу была реакция на ошибку.
Добрый день.
Как опрашивается модуль реле? Есть ли каналы с явно указанным периодическим опросом?
Собственно ответ описан в документации.
Значение “r” выставляется только при отсутствии ответа запроса на чтение регистра.
Все каналы опрашиваются в порядки очереди. Всмысле реле и несколко входов. Конкретно реле - к1, опрашивается в порядке очереди. Если r выставляется только в отсутсвии ответа, то каким образом можно контролировать отсутствие (присутсвие) связи с устройством? У меня на rs485 два устройства: оба - WB-MR6C v.2. Меня интерисует только, как контролировать связь с устройством ( на связи оно или нет)?
Тут дело в том что в (актуальных) прошивках модулей уже используется быстрый modbus.
В документации регистры отмечены молнией.
И, естественно, они опрашиваются широковещанием, что не позволяет отличить отсутствие ответа по причине отсутствия связи от отсутствия событий.
Советую включить в опрос какой-либо из классических регистров. Ну хотя бы напряжение питания.
Хорошо, если я правильно понял, тогда нужно в моем правиле опрашивать не к1, а напряжение питания модуля? Или виртуальное устройство с текстом? Напишите как правильнее сделать? Опрос напряжения на модуле я могу включить, это не проблема.
Нет, не совсем верно. Должен быть включен опрос хотя бы одного “классического” канала. И да, по появлению для него meta/error - можно судить о отсутствии связи.