Изменение mapping-матрицы MB-MWAC с помощью modbus_client

Добрый день!

Столкнулся с конфликтом между зашитой логикой управления реле водозапорными кранами и логикой умного дома, при обнаружении протечки внешняя логика посредством реле MB-MWAC кран закрывает, но через какое-то время без внешних команд состояние реле меняется и кран открывается. Предполагаю, что дело в заводских настройках mapping-матрицы, для решения проблемы достаточно записать нули в соответствующие регистры, но подключение к устройству посредством modbus_client завершается ошибкой.

Фрагмент конфигурационного файла wb-mqtt-serial.conf:

    {
        "path": "/dev/ttyMOD2",
        "devices": [
            {
                "slave_id": "77",
                "device_type": "WB-MWAC",
                "name": "A15",
                "id": "A15",
                "delay_ms": 10
            }
        ],
        "baud_rate": 9600,
        "parity": "N",
        "data_bits": 8,
        "stop_bits": 2,
        "poll_interval": 1000,
        "enabled": true,
        "response_timeout_ms": 100
    },

Результат выполнения команды в консоли:

root@wirenboard-AQDIMUN:~# modbus_client --debug -mrtu -pnone -s2 /dev/ttyMOD2 -a77 -t0x03 -r384
Opening /dev/ttyMOD2 at 9600 bauds (N, 8, 2)
[4D][03][01][80][00][01][8A][12]
Waiting for a confirmation...
<04><00><02><00><00><00><52>
ERROR CRC received 52 != CRC calculated 7400
ERROR occured!

Подскажите, пожалуйста, как правильно записать новые значения в регистры mapping-матрицы?

  1. Отключать wb-mqtt-serial на время пользования modbus-client.
  2. Внести в шаблон мвака нужные регистры (пригодятся, поверьте) и рулить ими прямо с вебморды.
1 лайк

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

При использовании утилиты modbus_client нужно всегда останавливать драйвер опроса устройств по RS-485 командой

service wb-mqtt-serial stop

Иначе он монопольно владеет сконфигурированными портами.

Для конфигурирования mapping-матрицы можно создать setup-секцию в веб-интерфейсе контроллера:
Начальное конфигурирование устройств через веб-интерфейс — Wiren Board (раздел Пользовательские параметры)

В новых версиях wb-mqtt-serial (v 2.26.0 и выше) будет доступно конфигурирование основных режимов входов модуля MWAC прямо из веб-интерфейса мышью.

Спасибо, помогло, все получилось!

Добрый день!

Правильно ли я понял, что значения регистров в mapping-матрице при длительном отключении питания не сохраняются? Во всяком случае у меня WB-MWAC через неделю без питания откатился до значений по умолчанию.

Если так, то правильней матрицу конфигурировать через setup-секцию веб-интерфейса, чтобы при каждом запуске wb-mqtt-serial матрица перешивалась. А описанный в документации способ через modbus_client - скорее для понимания процесса, а не для реального использования.

Хороший вопрос, важный.
Авторам: там nvram на батарейке, или флешка?
И, заодно, срок службы батарейки?

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

Маппинг-матрица сохраняется во флеш-памяти контроллера, поэтому сбрасываться режимы не должны. Батарея нужна только для автономной работы (без основного питания) счетных входов.

Вы уверены, что неделю не подключали модуль к питанию и не производили за это время с ним никаких действий (смена прошивки, редактирование setup-секции)?

Напишите больше информации по проблеме: какая аппаратная версия модуля, какая прошивка, как вы его подключали, как конфигурировали, какие режимы выбрали, как проверяли работу модуля?

По-моему я обновлял прошивку. После обновления матрица не сохраняется?

Точно нет. И уставки счетчиков.

Все правильно, после обновления прошивки настройки входов, выходов и маппинг-матрица сбрасываются к заводским. Поэтому после обновления прошивки нужно заново конфигурировать модуль или использовать setup-секцию в веб-интерфейсе.