Здравствуйте!
После обновления до 2204 на WB6 в журнале при каждом опросе по modbus “serial over tcp” сыпятся ошибки такого вида:
май 25 19:33:46 wirenboard-A4JBKLBD wb-mqtt-serial[22715]: WARNING: <192.168.18.70:20108>: closed due to repetetive errors
май 25 19:33:46 wirenboard-A4JBKLBD wb-mqtt-serial[22715]: WARNING: <192.168.18.74:20108>: closed due to repetetive errors
май 25 19:33:46 wirenboard-A4JBKLBD wb-mqtt-serial[22715]: WARNING: <192.168.18.72:20108>: closed due to repetetive errors
май 25 19:33:47 wirenboard-A4JBKLBD wb-mqtt-serial[22715]: WARNING: <192.168.18.71:20108>: closed due to repetetive errors
май 25 19:33:49 wirenboard-A4JBKLBD wb-mqtt-serial[22715]: WARNING: <192.168.19.50:4020>: closed due to repetetive errors
май 25 19:33:49 wirenboard-A4JBKLBD wb-mqtt-serial[22715]: WARNING: <192.168.19.50:4030>: closed due to repetetive errors
За преобразователями опрашиваются счётчики э/э Энегромера 301/303, до обновления всё работало как часы. Сейчас, помимо ошибок при каждом опросе (у меня задано опрашивать их раз в минуту) ещё и периодически поступают ошибочные данные, вызывая на графиках всплески потребления в гигаватты.
Не меняли вы логику работы с устройствами через TCP? Может, какие-то таймауты надо настроить, чтобы всё работало стабильно?
Потестировал связь до устройства — всё нормально, быстро и без потерь. Проблема чисто программная.
Кусок wb-mqtt-serial.conf:
{
"debug" : false,
"max_unchanged_interval" : 0,
"ports" :
[
{
"address" : "192.168.19.50",
"devices" :
[
{
"device_type" : "Energomera CE303",
"slave_id" : "777777"
},
{
"device_type" : "Energomera CE301/CE303",
"slave_id" : "ktp250"
}
],
"enabled" : true,
"poll_interval" : 60000,
"port" : 4020,
"port_type" : "tcp"
},
{
"address" : "192.168.19.50",
"devices" :
[
{
"device_type" : "Energomera CE303",
"slave_id" : "seavagon01"
}
],
"enabled" : true,
"poll_interval" : 60000,
"port" : 4030,
"port_type" : "tcp"
},
{
"address" : "192.168.18.70",
"devices" :
[
{
"device_type" : "Energomera CE303",
"slave_id" : "modpodval"
}
],
"enabled" : true,
"poll_interval" : 60000,
"port" : 20108,
"port_type" : "tcp"
},
{
"address" : "192.168.18.71",
"devices" :
[
{
"device_type" : "Energomera CE303",
"slave_id" : "kpp3"
}
],
"enabled" : true,
"poll_interval" : 60000,
"port" : 20108,
"port_type" : "tcp"
},
{
"address" : "192.168.18.72",
"devices" :
[
{
"device_type" : "Energomera CE303",
"slave_id" : "tp1513"
}
],
"enabled" : true,
"poll_interval" : 60000,
"port" : 20108,
"port_type" : "tcp"
},
{
"address" : "192.168.18.74",
"devices" :
[
[
{
"device_type" : "Energomera CE303",
"slave_id" : "abk"
}
],
"enabled" : true,
"poll_interval" : 60000,
"port" : 20108,
"port_type" : "tcp"
}
]
}
Да, кстати. Устройства Энергомеры поддерживают использование произвольных имён в Modbus протоколе, потому постоянно приходится патчить ваш шаблон для конфига, иначе туда можно вводить только hex/dec slave адреса. А, как видите, у нас “адреса” говорящие.