Стартовая страница › Форумы › Взаимодействие с устройствами › Modbus › Работа с WB-MAP3E
- В этой теме 36 ответов, 3 участника, последнее обновление 6 месяцев, 2 недели назад сделано
Mikhail.
-
АвторСообщения
-
17.07.2025 в 12:17 #39488
MasyanyX
УчастникДобрый день. Пытаюсь опрашивать Трёхфазный счётчик электроэнергии WirenBoard WB-MAP3E. Перепробовал много разных комбинаций параметров — пытался опросить разные регистры, изменение порядка байт, типа данных и тд, но каждый раз получаю для первой фазы значение «22 100» (примерно 220 вольт как я изначально подумал), для второй фазы огромное многомиллионное число, для третьей фазы ноль. При этом отключив первую фазу значение остается, это значит что все три неверные. Кто-нибудь имел дело с этой железкой? Можете подсказать как правильно ее опрашивать?
Прикладываю документации:
Вики — https://wirenboard.com/wiki/WB-MAP3E_Modbus_Power_Meter
Регистры — https://wirenboard.com/wiki/WB-MAP3E_Data_Registers_v.2
Буду очень благодарен за помощь.17.07.2025 в 12:29 #39489
manjey73Участникопределитесь с 0 адресация или с 1 при указании адреса.
Ну и перестановка байт уже потом.Начните с одного регистра для проверки
17.07.2025 в 12:35 #39490MasyanyX
УчастникА как я могу это определить? В руководстве ни слова, я пробовал оба варианта.
Для начала опрашивал один регистр, это потом уже остальные добавил чтобы увидеть разницу или хотябы хвосты от соседних регистров если где то накосячил.17.07.2025 в 13:13 #39493
manjey73Участникну только опытным путем, на 4-х байтной переменной какой-то.
Тем более они там указывают в каком формате Big или Little Endian17.07.2025 в 13:32 #39498MasyanyX
УчастникХорошо, можете подсказать как настроить коммуникатор для самой простой переменной u16 big endian? Для понимания в мануале у них это Input регистр 5142 в десятичной. Мне бы понять суть при каких параметрах скада начинает «дружить» с прибором, какой это тип данных в понимании именно скады, а не их мануала и т.д., потому что я перебрал за 4 часа все возможные «комбинации», уже не знаю в какую сторону думать.
17.07.2025 в 13:40 #39499
manjey73Участникну ставите Адресацию 0 и десятичным номером регистров, создаете группу со стартовым адресом 5142 ushort и смотрите полученное значение.
Не то? — делаете перестановку 10
Не то? ставите стартовый адрес 1 и так же на группу назначаете 5142 стартовый
далее тоже перестановка по необходимости
там вариантов то несколько.Можете из логов взять байты и посмотреть в парсере https://rapidscada.net/modbus/
Или в конвертере уже непосредственно значение
https://www.scadacore.com/tools/programming-calculators/online-hex-converter/17.07.2025 в 13:41 #39500
manjey73УчастникТо есть вам надо определить правильность настройки шаблона, чтобы потом по документации просто указывать адресацию. В общих настройках можно сразу выставить перестановку для 4, 8 байт и т.д. Чтобы в каждом не писать.
Если есть среди регистров float можете и на нем настроиться.
17.07.2025 в 14:26 #39501MasyanyX
УчастникБольшое спасибо, а можете подсказать эти несколько вариантов перестановок?
17.07.2025 в 14:26 #39502MasyanyX
УчастникЕсли я правильно понял речь идет про по порядок байтов, подскажите что можно попробовать
17.07.2025 в 14:29 #39503
MikhailМодераторДобрый день!
На всякий случай уточню, Вы опрашиваете счётчик напрямую с компьютера без использования контроллера Wiren Board?17.07.2025 в 14:29 #39504MasyanyX
УчастникВерно
17.07.2025 в 14:29 #39505
manjey73Участникда конвертер по ссылке откройте и любое число в hex туда киньте.
в целом для 8-ми байт вариантов больше, а для двух байт всего два варианта 01 или 10
для 4-х байт 2301 или 3210 или 1032 (0123 идет по умолчанию)Если образно то старшим/младшим байтом вперед
старшим/младшим регистром вперед
и совмещенное, когда меняем местами регистры и еще и байты.То есть вы сделали запрос — получили ответ, потом нужные байты кидаете в конвертер и ищете там правильное число — смотрите как он переставлял байты.
-
Ответ изменён 6 месяцев, 3 недели назад пользователем
manjey73.
17.07.2025 в 14:33 #39509MasyanyX
УчастникОчень удобно, огромное спасибо, попробую
17.07.2025 в 15:29 #39512MasyanyX
УчастникИ так, видимо я близок к разгадке, опытным путем сделал вывод, что адресация начинается с 1. 10-чные значения. Опрос трех регистров по 4 байта, как сказано в мануале прибора. Получаю такие цифры:
0C 00 00 56 C9 5C 00 00 00 00 00 00 00 59 D9
Закидываю ответ в калькулятор, и вижу по всей видимости нужные цифры (220 вольт не помноженные на 0.1).
Корректно отображаются в Little Endian (BA).
Прав я или нет? Если да, то просьба подсказать как довести до ума и какой все таки тип данных и порядок байт выставлять?


-
Ответ изменён 6 месяцев, 3 недели назад пользователем
MasyanyX.
17.07.2025 в 15:34 #39515MasyanyX
УчастникПонятное дело, что я попробовал и сам разные варианты, но не получилось увидеть правильные цифры, потому догадываюсь что есть простое решение, а у меня мало опыта
-
Ответ изменён 6 месяцев, 3 недели назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.