Красные регистры 70% времени

У меня аналогичная проблема - модуль wb-mr6 на одной линии с wb-mwac. Подключены шиной сантиметров 50-70 к RS485-1. После обновления на версию 2.5.1 все регистры wb-mr6 отображаются красным процентов 70 времени. Никаких других изменений небыло. До обновления все работало стабильно, с wb-mwac кажется все ок.

Вынес в отдельную тему, т.к. ничего общего с той не заметил.

  1. Пожалуйста приложите логи из /var/log/messages. Если регистры отображаются красным, в логах будут записи об этом. Проще всего запустить
tail -f /var/log/messages

дождаться появления ошибки и выложить сюда вывод.

  1. Попробуйте поставить другие версии и описать подробно изменения. Список доступных версий
apt policy wb-mqtt-serial

Установка:

apt install wb-mqtt-serial=версия


Вернул назад 1.63.0 - проблемы не наблюдаю.

Можете ещё прислать /etc/wb-mqtt-serial.conf ?

{
"debug": false,
"ports": [
    {
        "path": "/dev/ttyRS485-1",
        "devices": [
            {
                "slave_id": 60,
                "device_type": "WB-MWAC-CUST"
            },
            {
                "slave_id": 51,
                "device_type": "WB-MR6CM"
            }
        ],
        "baud_rate": 115200,
        "parity": "N",
        "data_bits": 8,
        "stop_bits": 1,
        "poll_interval": 10,
        "enabled": true
    },
    {
        "path": "/dev/ttyRS485-2",
        "devices": [
            {
                "slave_id": 15,
                "device_type": "OT_GTW",
                "max_read_registers": 1,
                "poll_interval": 400,
                "guard_interval_us": 50000
            },
            {
                "slave_id": 1,
                "device_type": "VUTR_TN"
            },
            {
                "slave_id": "5",
                "device_type": "VRD-485"
            }
        ],
        "baud_rate": 19200,
        "parity": "N",
        "data_bits": 8,
        "stop_bits": 1,
        "enabled": true
    }
]

}

WB-MR6CM - шаблон WB-MR6 где оставлены тольно регистры К1-К6

А что в шаблоне для “WB-MWAC-CUST”?

{
"device_type": "WB-MWAC-CUST",
"device": {
    "name": "WB-MWAC-CUST",
    "id": "wb-mwac-c",
    "max_read_registers": 0,
    "channels": [  
        {
            "name": "K1",
            "reg_type": "coil",
            "type": "switch",
            "address": 0
        },
        {
            "name": "K2",
            "reg_type": "coil",
            "type": "switch",
            "address": 1
        },
        {
            "name": "Alarm",
            "reg_type": "coil",
            "type": "switch",
            "address": 2
        },
        {
            "name": "S1",
            "reg_type": "discrete",
            "type": "switch",
            "address": 0
        },
        {
            "name": "S2",
            "reg_type": "discrete",
            "type": "switch",
            "address": 1
        },
        {
            "name": "F1",
            "reg_type": "discrete",
            "type": "switch",
            "address": 2
        },
        {
            "name": "F2",
            "reg_type": "discrete",
            "type": "switch",
            "address": 3
        },
        {
            "name": "F3",
            "reg_type": "discrete",
            "type": "switch",
            "address": 4
        },
        {
            "name": "F4",
            "reg_type": "discrete",
            "type": "switch",
            "address": 5
        },
        {
            "name": "W Counter",
            "reg_type": "input",
            "type": "value",
            "readonly": true,
            "address": 316,
            "format": "u32"
        },
        {
            "name": "G Counter",
            "reg_type": "input",
            "type": "value",
            "readonly": true,
            "address": 318,
            "format": "u32",
            "scale": 0.01
        }
    ]
}

}
Некоторые регистры переименованы, + добавлен scale для счетчика газа.

В версиях wb-mqtt-serial 2.x мы уменьшили время ожидания ответа от устройств, чтобы ускорить общий опрос на шине. Теперь границы между посылками расчитываются по времени, как в стандарте MODBUS. Для наших устройств на высоких скоростях надо это время немного увеличить. Если посмотрите в стандартные шаблоны после установки версии 2.5.1, то для наших устройств прописано "frame_timeout_ms": 8. В ваших шаблонах этой строки нет, поэтому wb-mqtt-serial расчитывает его по стандарту и слишком быстро посылает запросы. Можете добавить эту настройку и проверить работу?

Спасибо, проверю как будет время, отпишусь.

Добавил везде "frame_timeout_ms": 8. Кажется стало намного лучшеб но все равно есть проблема с одним регистром вентустановки (скорость 19200)


Что можно подправить?

Можете ещё раз лог показать?

Можете ещё свой конфиг и шаблоны для этих устройств прислать?

config-vutr-tn.json (5.6 КБ)
config-ot-gateway.json (2.2 КБ)
config-vrd-485.json (2.0 КБ)
wb-mqtt-serial.conf (1.3 КБ)

Вижу

        "slave_id": 1,
                    "device_type": "VUTR_TN",
                    "poll_interval": 200,
                    "guard_interval_us": 0

А guard_interval_us для него почему именно “0”?
Это устройство “вручную”, с помощью modbus_client - отвечает?

Незнаю откуда взялось :frowning:
Удалил этот параметр, но картина особо не поменялась, Setpoint по прежнему отображается красным и те же ошибки в логе.
Устройство работает, все остальные регистры читаются, изменяются без проблем. Конкретно этот - тоже можно изменить, но, как правило, не с первого раза.

Нет, не надо его удалять. Если “не с первого раза”, то для этого устройства в шаблоне ( config-vutr-tn.json) установите:

{
    "device_type": "VUTR_TN",
    "device": {
        "name": "VUTR TN",
        "id": "vutr_tn",
        "frame_timeout_ms": 100,
        "guard_interval_us": 20000,

еще раз проверьте что в wb-mqtt-serial.conf нету для него frame_timeout_ms и guard_interval_us
и перезапустите wb-mqtt-serial
А в документации на рекуператор про этот регистр что-нибудь сказано? Может его допустимо запрашивать/менять только с определенным таймаутом?

Ок, спасибо, попробую вечером.
Нет, ничего такого. Кроме того работало отлично до апдейта на версию 2.Х.Х

Кажется помогло. Спасибо.