Здравствуйте!
Значение прямой активной энергии для канала 1 (и других каналов) хранится в регистрах счетчика в формате u64 little endian (в 4х регистрах с обратным порядком слов). При этом чтобы получить верное результирующее значение нужно считать 4 регистра (4620, 4621, 4622, 4623), выполнить преобразование из формата little_endian в формат big_endian (переставить слова в порядке 4623, 4622, 4621, 4620), полученное число умножить на 0.00001. Карта регистров и алгоритм получения значения энергии описаны в документации на счетчик.
То есть в вашем случае считываем 4 регистра, например, командой (адрес счетчика, номер порта и настройки скорости замените на свои):
root@wirenboard-ATHXPBSP-PLC1:~$modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-2 -a17 -t0x04 -r4620 -c4
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[11][04][12][0C][00][04][36][22]
Waiting for a confirmation...
<11><04><08><29><ED><00><00><00><00><00><00><8F><B1>
SUCCESS: read 4 of elements:
Data: 0x29ed 0x0000 0x0000 0x0000
Преобразуем в формат big_endian:
Data: 0x0000 0x0000 0x0000 0x29ed
Умножаем на 0.00001 и получаем результат:
0.10733 кВт*ч
Возможности обнулить содержимое регистров нет.