Дискретные входы на WB-MR6LV

Здравствуйте,

имеется релейный 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, вне зависимости от того есть дискрета физически или нет.


на модуле реле перемычка между iGND и входом 2.

Мне кажется, что это что-то не то с настройками WB-MGE v.2.
Попробуйте ещё пожалуйста в RTU-over-TCP режиме прочитать данные.

скриншот настроек WB-MGE v.2


при этом, общие регистры читаются корректно.

в режиме RTU-over-TCP (выбираю RTU-over-TCP в modbusPoll, в настройказ MGE оставляю только TCP-сервер) аналогичная ситуация

также, не считываются состояния (вкл-выкл) реле: изначально я не обратил на это внимание, т.к. в первую очередь волновал вопрос дискретных входов.

Попробуйте пожалуйста

  1. включить пару реле, замыкая входы
  2. прочитать 7 coil регистров начиная с адреса 0.
  3. пришлите свежее фото контроллера
  4. пришлите логи обмена, где видно целиком запросы и ответы Modbus

видео не смог прикрепить на портал, поэтому ссылка на gdrive

Логи:
Communication log.txt (1.0 КБ)

Понятно, почему error.
Укзываете адрес 63, который принадлежит MGE. А если попробовать читать из реле? Смените на одном из устройств Modbus-адрес.

Обратил внимание, как распаковал посылку, что адреса на модуле реле и коплере идентичны и первым делом изменил адрес модуля реле на 42: были такие же ошибки, после чего я вернул модулю реле обратно адрес 63, решив, что так и должно быть (читал, что вы перед отправкой уделяете особое внимание адресации устройств).

Для проверки - отключите физически модуль реле и попробуйте прочитать 128 регистр. Как раз адрес. Если ответить MGE - значит конфликт.

Спасибо большое!
Действительно, проблема была в том, что адреса на устройствах были одинаковые.
Я думал, что меняю адрес одного, устройства (а они между собой были физически соединены и имели изначально одинаковые адреса) и в каждый раз новый адрес применялся к обоим устройствам.

1 лайк