Команда запись 0х10


#7

Отлично! Тогда жду от вас описание регистров.


#8

могу переслать файл с описанием регистров, фирма SEAK Energetic(Словакия)


#9

Да, будьте добры, на info@contactless.ru


#10

Спасибо, принял файл. Скажите, а на команды Write Singe Register 0x06 при записи в один регистр из нескольких с помощью modbus-client вы получаете ошибку?


#11

устройство не понимает команд, кроме 0х03 и 0х10


#12

Алексей, смотрите, для записи командой 0x10 есть тип регистра holding_multi. Ей можно записывать и один регистр.
См. https://github.com/contactless/wb-mqtt-serial

  // тип регистра
                            // возможные значения для Modbus:
                            // "coil" - 1 бит, чтение/запись
                            // "discrete" - 1 бит, только чтение
                            // "holding" - 16 бит, чтение/запись, код функции на запись выбирается автоматически, в зависимости от размера
                            // "input" - 16 бит, только чтение
                            // "holding_single" - то же что и holding однако регистры записываются всегда по одному, кодом 06
                            // "holding_multi" - то же что и holding однако регистры записываются всегда кодом 16
                            "reg_type" : "input",

Изменение команды записи в регистр через modbus
Запись нескольких ModBus регистров одновременно
#13

пробовал, пока не получилось (((


#14

“reg_type” : “input” - это к чему???


#15

Получается следующая последовательность по регистру mulli: команда 0х03 - ошибка по тайм-ауту, выбирается следующий регистр из списка List of channel, команду 0х10 в логе не увидел!


#16

А вы что-то записывали?
“reg_type” : “input” - это фрагмент описания, ван не нужен такой тип регистров. Полностью прочесть можно по приведенной ссылке.
Смотрите, у вас довольно-таки нестандартное устройство. Если команда на чтение не поддерживается, то ошибки будут возникать, ничего плохого в этом нет. Можно увеличить интервал опроса регистров, чтобы они появлялись реже.


#17

с “input” понятно, увеличиваю интервал опроса, но кроме команд чтения больше ничего нет (((


#18

статус регистра в который пытаюсь записать имеет в Settings атрибут (ro), с чего бы ? галка, ессно, не выставлена!


#19

кусок шаблона:
“channels”: [
{
“name”: “Broadcast”,
“reg_type”: “holding_multi”,
“address”: 0,
“format”: “s16”,
“type”: “range”
// “value”: 0
// “max”: 100
},


#20

Простите, где имеет атрибут “только чтение”?


#21

регистр “Broadcast”


#22

на странице “Settings”


#23

Это, вероятно, у вас от какого-то шаблона предыдущей редакции осталось. В поле Type должно быть range, без (ro).
Иллюстрируйте, пожалуйста, проблемы скриншотами, так будет проще разбираться.


#24


#25


#26

откуда берется (ro) для broadcast понять не могу