Не сходится значение потребление мощности с меркурием

Здравствуйте!
Счётчик WB-MAP-12E
Прошивка 2.3.8
Счётчик подключен через шлюз USR-W610 по RS-485
При опросе тега “Суммарная прямая активная энергия для канала 2” через aropc с параметрами:
image
получаю значение, которое не сходится с полученным на меркурии 230, установленном на том же канале. В чем может быть проблема? Пробовал различные форматы данных. Как правильней производить расчёт?
С документацией по регистрам ознакомился ранее.


Активная мощность не сходится.
Верхнее выделенное красным получаю со счётчика, нижнее с меркурия.

Добрый день.
Мало информации. Следуйте инструкции.
Каков состав оборудования, которое пытаетесь настроить? Что делаете, что ожидаете получить и что получаете?

1 лайк

Обратите внимание на карту регистров для наших счетчиков.

Дополнил вопрос выше

Во первых, как вы обрабатываете полученное значение? Почему значение WB-MAP с десятичной частью? Непонятно, какой формат данных используете. Формат должен быть “u64 little endian”. Где посмотреть, что вы это корректно настроили? Также не ясно как данные параметры должны сходиться? “Суммарная прямая активная энергия для канала 2” и “Активная мощность” это разные параметры. Почему они должны сходиться.
Опишите подробнее, какой параметр считываете с WB-MAP и какой параметр считываете с Меркурия.

1 лайк

А какой ей ещё быть если надо ещё умножить на 0,00512

Непонятно, какой формат данных используете. Формат должен быть “u64 little endian”.
Тип Int64 он же u64 или s64. Формат данных little endian равен формату в opc 01234567, его я тоже ставил, но данные и в этом случае не сходятся.

Если говорить о суммарной мощности там bid endian s32
image
s32 (или u32) он же Integer в opc. И формат данных 1032 он же bid endian.

Также не ясно как данные параметры должны сходиться?
Сходиться должна мощность которую я считываю с вашего счётчика и меркурия. Выделял на фото выше красным.
Я начал от простого чтоб понять проблему, поэтому начал сравнивать мощности.

Опишите подробнее, какой параметр считываете с WB-MAP и какой параметр считываете с Меркурия
регистр 8960 и мощность P по сумме фаз (оно берется из шаблона имеющемся в opc)

Все-таки не понимаю, какой параметр у вас не сходится.

Я думаю, что формат данных у вас должен быть 0123.

Я думаю, что формат данных у вас должен быть 0123.

Тут точно 1032 так как когда я считываю напряжение (которое тоже big endian), оно в формате 10
image
Даже если установить 0123 для Суммарной P мощности, показания не сходятся активной мощностью получаемой через меркурий.
image

Все-таки не понимаю, какой параметр у вас не сходится

Суммарная P мощность на вашем счётчике и меркурии

Я разобрался что формат данных для суммарной активной мощности (big endian) должен быть 3210. И данные стали сходится с меркурием.
Вопрос теперь в Суммарная прямая активная энергия. Он little endian и я поставил его в формат 01234567. Но он показывает слишком большое значение, которое никак не может быть (около 37000 кв/ч).

К сожалению, из ваших данных не видно какой запрос отправляется на счетчик и что он возвращает.
К примеру:
Мой запрос:

modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a90 -t0x03 -r0x120C -c4
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[5A][03][12][0C][00][04][8C][59]

Ответ:

Waiting for a confirmation...
<5A><03><08><3F><47><00><00><00><00><00><00><C5><A2>
SUCCESS: read 4 of elements:
	Data: 0x3f47 0x0000 0x0000 0x0000

И вижу ответ от самого устройства - 16199. Умножаем на 0.00001 (по данным таблицы) и получаем 0,16199 кВт·ч.

Разобрался и с Суммарная прямая активная энергия.
Для little endian верный формат 10325476.
Хотя вики говорит о том, что от младшего к старшему, то есть 01234567, но в данном случае это правило не применимо.
Как и писал этот автор необходим ещё byte swap. Как раз поэтому порядок 10325476 верен для этого регистра. Это хорошо бы отразить в документации

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.