имеется релейный 6-канальный модуль WB-MR6LV/S и ethernet-шлюз WB-MGE-v2.
В релейном модуле произведена отключение взаимодействия дискретных входов и выходов (значение 3 в holding-регистрах 9-14). Управление дискретными выходами (реле) осуществляется корректно, а считывание дискретных входов – нет. При этом, сами дискретные входы работают исправно – при включении взаимодействий с реле они отрабатывают корректно, хотя в самих регистрах эти дискреты не видны.
Мониторинг дискретных входов и управление реле осуществлял с помощью Modbus Poll и Modbus Master. Дальнейшая логика реализованна на ПЛК (проверял с помощью ПЛК - аналогичная ситуация, реле щелкают, дискреты не прилетают).
Подскажите в чем может быть проблема или это нормальное поведение и для мониторинга дискретных входов мне необходимо использовать отдельный модуль дискретных входов.
Покажите, пожалуйста, какие регистры читаете, какой ответ получаете (скриншоты, описание, логи, ошибки, еще лучше видео). Дайте пример успешного считывания и пример неудачного чтения входа.
Если статусы реле читаются и изменяются нормально, то скорее всего читаете не те регистры входов или используете не ту функцию чтения. Карту регистров модуля можно найти здесь: Карта регистров модулей реле — Wiren Board
Регистры входов - это с 0 по 7 регистры типа discrete input, для чтения нужно использовать функцию 2 (чтение дискретного входа)
читаю регистры в соответствии с картой регистров (от 0 до 5 discrete input).
примеров удачного считывания нет - считывание происходит без ошибок, но результат всегда 0, вне зависимости от того есть дискрета физически или нет.
Обратил внимание, как распаковал посылку, что адреса на модуле реле и коплере идентичны и первым делом изменил адрес модуля реле на 42: были такие же ошибки, после чего я вернул модулю реле обратно адрес 63, решив, что так и должно быть (читал, что вы перед отправкой уделяете особое внимание адресации устройств).
Спасибо большое!
Действительно, проблема была в том, что адреса на устройствах были одинаковые.
Я думал, что меняю адрес одного, устройства (а они между собой были физически соединены и имели изначально одинаковые адреса) и в каждый раз новый адрес применялся к обоим устройствам.