Вот кусок моего wb-mqtt-serial.conf:
{
“address” : “192.168.28.71”,
“devices” :
[
{
“channels” :
[
{
“consists_of” :
[
{
“address” : “4103:0:5”,
“format” : “u8”,
“offset” : 0,
“reg_type” : “holding”,
“scale” : 1,
“word_order” : “big_endian”
},
{
“address” : “4103:5:4”,
“format” : “u8”,
“offset” : 0,
“reg_type” : “holding”,
“scale” : 1,
“word_order” : “big_endian”
},
{
“address” : “4103:9:7”,
“format” : “u8”,
“offset” : 0,
“reg_type” : “holding”,
“scale” : 1,
“word_order” : “big_endian”
}
],
“id” : “Test_Date”,
“name” : “Date”
}
],
“name” : “TEST”,
“protocol” : “modbus”,
“slave_id” : “0x10”
}
],
“enabled” : true,
“poll_interval” : 4000,
“port” : 8899,
“port_type” : “modbus tcp”
}
]
И так оно не работает. Ошибок в логе не увидел, но в топике NaN.
А вот так работает. Во всяком случае число показывает:
{
“address” : “192.168.28.71”,
“devices” :
[
{
“channels” :
[
{
“consists_of” :
[
{
“address” : “4103:0:5”,
“format” : “u8”,
“offset” : 0,
“reg_type” : “holding”,
“scale” : 1,
“word_order” : “big_endian”
}
],
“id” : “Test_Date”,
“name” : “Date”
}
],
“name” : “TEST”,
“protocol” : “modbus”,
“slave_id” : “0x10”
}
],
“enabled” : true,
“poll_interval” : 4000,
“port” : 8899,
“port_type” : “modbus tcp”
}
]
Что я делаю не так?
PeteK
December 29, 2021, 5:06am
2
Попробуйте убрать везде format
.
Доброе утро!
Не помогло. Оно ж по-умолчанию u16 воспринимает
<7>DEBUG: [mqtt] Unsubscribe ‘/devices/wb-modbus-14-0/controls/Test_Date/on’
<7>DEBUG: [mqtt] Publish ‘/devices/wb-modbus-14-0/controls/Test_Date’ payload: ‘’
<7>DEBUG: [mqtt] Publish ‘/devices/wb-modbus-14-0/controls/Test_Date/meta’ payload: ‘’
<7>DEBUG: [mqtt] Publish ‘/devices/wb-modbus-14-0/controls/Test_Date/meta/order’ payload: ‘’
<7>DEBUG: [mqtt] Publish ‘/devices/wb-modbus-14-0/controls/Test_Date/meta/readonly’ payload: ‘’
<7>DEBUG: [mqtt] Publish ‘/devices/wb-modbus-14-0/controls/Test_Date/meta/type’ payload: ‘’
<7>DEBUG: [mqtt] Publish ‘/devices/wb-modbus-14-0/meta’ payload: ‘’
<7>DEBUG: [serial port driver] device wb-modbus-14-0 removed successfully
<7>DEBUG: [tx 0X23CDAB8] Close
<7>DEBUG: [mqtt] Publish ‘/devices/wb-modbus-14-0/meta/driver’ payload: ‘’
<7>DEBUG: [mqtt] Publish ‘/devices/wb-modbus-14-0/meta/name’ payload: ‘’
<7>DEBUG: [backend] emit StopEvent{}
<7>DEBUG: [driver] Receive event StopEvent{}
PeteK
December 29, 2021, 9:02am
7
Можно больше логов? Нужен кусок с обменом на шине.
Посмотреть лог можно в web-интерфейсе, в настройках есть системный журнал.
Вот с консоли
modbus.log (56.5 КБ)
Добрый день!
Ещё какие-нибудь логи нужны?
Здравствуйте!
Полностью регистры читаются (без указания битов и смещения) при таком описании?
{
"address" : "4103",
"format" : "u16",
"reg_type" : "holding",
"type": "value"
}
PeteK
December 30, 2021, 9:19am
13
Проблема в том, что у канала не был указан тип. В этом случае по умолчанию тип становится числом, но фактически данные представляют собой строку. web-интерфейс пытался интерпретировать число как строку и вывел NaN
. Надо добавить "type": "text"
, как в примере ниже.
{
"consists_of" :
[
{
"address" : "121:0:5",
},
{
"address" : "121:5:4",
},
{
"address" : "121:9:7",
}
],
"id" : "Test_Date",
"name" : "Date",
"type": "text"
}
Действительно, при типе “text” сформировалась нормальная строка! Спасибо!
А разделители поменять можно? А то “;” как-то странно выглядит
Ну и ладно!
Огромное спасибо!
system
Closed
January 6, 2022, 11:09am
18
Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.