Перестал работать модуль реле wb-mrm2

Коллеги,
научите, как диагностировать причину, по какой перестало работать реле WB-MRM2, подключенное к WB4 по RS-485. Прямо, как у меня на работе - “все работало, ничего не делала, а теперь не работает”. :wink:
Симптомы - в веб-интерфейсе реле отображается, позволяет переключать оба выхода, но реле не срабатывает (не слышно щелчков). При этом контактами на борту реле управляется успешно. Второе устройство (димер), управляется успешно.

В конфиге подключены 2 устройства:

// Configuration options
{
    "debug": false,
    "ports": [
        {
            "path" : "/dev/ttyNSC0",
            "baud_rate": 9600,
            "parity": "N",
            "data_bits": 8,
            "stop_bits": 2,
            "poll_interval": 10,
            "enabled": true,
            "devices" : [
                {
                    "device_type" : "WB-MRM2",
                    "slave_id": 30
                },
                {
                    "device_type" : "WB-MRGB",
                    "slave_id": 23
                }
            ]
        }
    ]
}

Сообщения в журнале:

root@wirenboard:~# tail /var/log/messages
Oct  9 07:37:02 wirenboard user.notice modbus: TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 holding register(s) @ 32 slave_id is 30(0x1e)
Oct  9 07:37:02 wirenboard user.notice modbus: TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 holding register(s) @ 33 slave_id is 30(0x1e)
Oct  9 07:37:03 wirenboard user.notice modbus: TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 coil(s) @ 1 slave_id is 30(0x1e)
Oct  9 07:37:04 wirenboard user.notice modbus: TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 coil(s) @ 0 slave_id is 30(0x1e)
Oct  9 07:37:04 wirenboard user.notice modbus: TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 holding register(s) @ 8 slave_id is 30(0x1e)
Oct  9 07:37:05 wirenboard user.notice modbus: TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 holding register(s) @ 6 slave_id is 30(0x1e)
Oct  9 07:37:05 wirenboard user.notice modbus: TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 holding register(s) @ 7 slave_id is 30(0x1e)
Oct  9 07:37:06 wirenboard user.notice modbus: TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 holding register(s) @ 32 slave_id is 30(0x1e)
Oct  9 07:37:06 wirenboard user.notice modbus: TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 holding register(s) @ 33 slave_id is 30(0x1e)
Oct  9 07:37:07 wirenboard user.notice modbus: TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 coil(s) @ 1 slave_id is 30(0x1e)

В отладочном режиме драйвер дает информации не намного больше, вот часть:

root@wirenboard:~# service wb-homa-modbus stop
root@wirenboard:~# wb-homa-modbus -c /etc/wb-homa-modbus.conf -d
Opening /dev/ttyNSC0 at 9600 bauds (N, 8, 2)
Connected with code 0
0 bytes flushed
[1E][01][00][01][00][01][AE][65]
Waiting for a confirmation...
Subscription succeeded.
setting modbus register: <30:coil: 0> <- 0
Subscription succeeded.
setting modbus register: <30:coil: 1> <- 0
Subscription succeeded.
setting modbus register: <30:holding: 8> <- 0
Subscription succeeded.
Subscription succeeded.
Subscription succeeded.
Subscription succeeded.
Subscription succeeded.
setting modbus register: <23:holding: 1> <- 8
setting modbus register: <23:holding: 0> <- 9
setting modbus register: <23:holding: 2> <- 9
Subscription succeeded.
Subscription succeeded.
Subscription succeeded.
Subscription succeeded.
ERROR Connection timed out: select
TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 coil(s) @ 1 slave_id is 30(0x1e)
[1E][05][00][01][00][00][9E][65]
Waiting for a confirmation...
ERROR Connection timed out: select
TRegisterHandler::Flush(): warning: Modbus error: failed to write coil @ 1 slave_id is 30(0x1e)
[1E][05][00][00][00][00][CF][A5]
Waiting for a confirmation...
ERROR Connection timed out: select
TRegisterHandler::Flush(): warning: Modbus error: failed to write coil @ 0 slave_id is 30(0x1e)
write: <30:holding: 8>
[1E][10][00][08][00][01][02][00][00][2B][28]
Waiting for a confirmation...
ERROR Connection timed out: select
TRegisterHandler::Flush(): warning: Modbus error: failed to write 1 holding register(s) @ 8 slave_id is 30(0x1e)
write: <23:holding: 1>
[17][10][00][01][00][01][02][00][08][40][27]
Waiting for a confirmation...
<17><10><00><01><00><01><52><FF>
write: <23:holding: 0>
[17][10][00][00][00][01][02][00][09][80][36]
Waiting for a confirmation...
<17><10><00><00><00><01><03><3F>
write: <23:holding: 2>
[17][10][00][02][00][01][02][00][09][81][D4]
Waiting for a confirmation...
<17><10><00><02><00><01><A2><FF>
[1E][01][00][00][00][01][FF][A5]
Waiting for a confirmation...
ERROR Connection timed out: select
TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 coil(s) @ 0 slave_id is 30(0x1e)
[1E][03][00][08][00][01][07][A7]
Waiting for a confirmation...
ERROR Connection timed out: select
TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 holding register(s) @ 8 slave_id is 30(0x1e)
[1E][03][00][06][00][01][66][64]
Waiting for a confirmation...
ERROR Connection timed out: select
TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 holding register(s) @ 6 slave_id is 30(0x1e)
[1E][03][00][07][00][01][37][A4]
Waiting for a confirmation...
ERROR Connection timed out: select
TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 holding register(s) @ 7 slave_id is 30(0x1e)
[1E][03][00][20][00][01][87][AF]
Waiting for a confirmation...
ERROR Connection timed out: select
TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 holding register(s) @ 32 slave_id is 30(0x1e)
[1E][03][00][21][00][01][D6][6F]
Waiting for a confirmation...
ERROR Connection timed out: select
TRegisterHandler::Poll(): warning: Modbus error: failed to read 1 holding register(s) @ 33 slave_id is 30(0x1e)
[17][03][00][01][00][01][D7][3C]
Waiting for a confirmation...

Добавлю - модули подключены по изолированному порту.

Судя по журналу, никакая связь по modbus с модулем не удаётся. Попробуйте пожалуйста подключить его один на линию, отдельным коротким кабелем. Может проблема банально в кабеле.

Если не заработает, попробуйте отправить команду установки адреса.
modbus_client -mrtu --debug -s2 -pnone /dev/ttyNSC0 -t0x06 -r0x80 -a0 30

и проверьте, не заработает ли после этого.

Ещё нужно смотреть на лампочку на модуле. Она должна мигать при каждом получении команды по RS-485.

Спасибо, попробую.

Реле заработало после переустановки адреса.
Евгений, не мог ли бы вы пояснить, из-за чего мог слететь адрес модуля? Я долгое время не работал активно с контроллером, и кроме неаккуратного выключения (было пропадание напряжения), ничего не припомню.

Либо вы его поменяли, либо это заводской брак - в таком случае поменяем модуль.

Попробуйте пожалуйста воспроизвести проблему: поставить на модуль новый адрес, отключить его от питания и проверить, сохраняется ли адрес. Желательно несколько раз.