Интеграция на електромер чрез Modbus TCP: регистри и тестване
Интеграция на електромер чрез Modbus TCP за локален мониторинг
Modbus TCP позволява на локално приложение да чете електрическите измервания директно от Wi-Fi електромер на IAMMETER.
Подходящ е за:
- PLC и SCADA системи;
- Home Assistant и Node-RED;
- локални системи за управление на енергията (EMS);
- системи за управление на сгради (BMS);
- мониторинг и автоматизация с едносекундна резолюция;
- приложения, които трябва да работят без IAMMETER-Cloud.
IAMMETER електромер
│
│ Wi-Fi / LAN
│ Modbus TCP
▼
Home Assistant, Node-RED, PLC, SCADA или собствена EMS
Клиентът инициира всяка заявка. Електромерът връща стойности на регистрите за напрежение, ток, активна мощност, внесена енергия, изнесена енергия, фактор на мощността, честота и други поддържани измервания.
Modbus TCP е локален интерфейс за периодично запитване. Ако електромерът трябва да публикува данни към брокер, използвайте MQTT. Ако трябва да качва данни към сървър на клиента, вижте Получаване на данни от IAMMETER на собствен сървър.
1. Защо да използваме Modbus TCP?
В сравнение с периодичното запитване към облака или периодичното качване от електромера, Modbus TCP осигурява:
- директен достъп през локалната мрежа;
- липса на зависимост от IAMMETER-Cloud по пътя на данните;
- стандартен интерфейс, базиран на регистри;
- едносекундно запитване за поддържаните приложения;
- стойности на активната мощност със знак за мониторинг на двупосочна енергия;
- съвместимост с често използвани инструменти за автоматизация и индустриални приложения.
Типични приложения:
- управление на товар според моментната мощност от мрежата;
- локално отчитане на производството от солар, обмена с мрежата или натоварването на кръг;
- добавяне на електромер към Home Assistant;
- събиране на измервания в Node-RED;
- интегриране на данни за електроенергията в PLC, SCADA, EMS или BMS.
2. Поддържани електромери IAMMETER
Актуалните модели електромери IAMMETER поддържат наличните режими за Home Assistant и отворени интеграции, включително Modbus TCP. Снетият от производство WEM3162 не се разглежда в това ръководство.
Основната разлика между моделите е броят и предназначението на измервателните канали:
- едноканалните електромери предоставят регистровия блок на фаза A;
- двуканалните електромери или електромерите с раздвоена фаза използват съответните блокове за каналите;
- трифазните електромери предоставят блокове за фази A, B и C;
- поддържаните електромери могат да предоставят също общи суми и опционални реактивни измервания.
Винаги проверявайте отговора на регистрите спрямо точния модел и фърмуер, използвани в проекта.
WEM3046T и WEM3046TE
WEM3046T и WEM3046TE измерват вторичния изход 5 A на външен токов трансформатор.
Затова стойностите на тока, мощността и енергията от първичната страна трябва да използват съответния коефициент на външния CT. Това изискване за мащабиране произтича от конструкцията на входа за CT 5 A на електромера; то не е специфично за Modbus TCP или за дадена платформа.
Документирайте и тествайте обработката на коефициента на CT навсякъде, където тези модели се интегрират.
3. Параметри на връзката
Официалният пример на IAMMETER за Modbus Poll използва:
| Параметър | Примерна стойност |
|---|---|
| Връзка | Modbus TCP/IP |
| Хост | Локален IP адрес на електромера |
| TCP порт | 502 |
| Device / Unit ID | 1 |
| Функционален код | 03 — Read Holding Registers |
| Таймаут за отговор | 1000 ms в примера |

Използвайте LAN IP адреса на електромера като хост. Резервирането на адреса в рутера може да предотврати прекъсване на интеграцията след промяна на адреса от DHCP.
Стойностите по-горе са параметрите, показани в официалния пример. Потвърдете действителния фърмуер и конфигурацията на обекта, преди да ги вградите твърдо в продукционен софтуер.
4. Бърз тест с Modbus Poll
За да потвърдите свързаността, преди да конфигурирате цяла платформа:
- свържете компютъра и електромера IAMMETER към една и съща LAN;
- намерете локалния IP адрес на електромера;
- създайте връзка Modbus TCP/IP към порт
502; - задайте Device ID на
1; - изберете функционален код
03; - заявете holding регистри, започвайки от адрес
0; - сравнете върнатите сурови стойности с правилата за мащабиране по-долу.

Екранната снимка използва честота на опресняване на дисплея 500 ms за целите на теста. За нормална употреба документацията на IAMMETER препоръчва едносекундно запитване, а не най-бързата настройка на клиента като поддържан продукционен интервал.
Ако връзката се провали, проверете:
- дали електромерът и клиентът са в една и съща достъпна мрежа;
- IP адреса на електромера;
- TCP порт 502 и правилата на защитната стена;
- Device ID и функционалния код;
- дали друго приложение вече не управлява желания процес на запитване;
- версията на фърмуера на електромера.
5. Типове данни в регистрите и мащабиране
IAMMETER използва 16-битови holding регистри.
16-битови стойности
Напрежението, токът, факторът на мощността и честотата използват един регистър:
| Измерване | Суров тип | Преобразуване |
|---|---|---|
| Напрежение | Без знак, 16-битово | V = raw / 100 |
| Ток | Без знак, 16-битово | A = raw / 100 |
| Фактор на мощността | Без знак, 16-битово | PF = raw / 1000 |
| Честота | Без знак, 16-битово | Hz = raw / 100 |
32-битови стойности
Активната мощност, натрупаната енергия и реактивните стойности използват два последователни регистъра.
Официалният пример за Modbus Poll показва първо старшия 16-битов word. Комбинирайте words по следния начин:
raw32 = (register[n] << 16) | register[n + 1]
Тълкувайте активната и реактивната мощност като 32-битови стойности със знак. Тълкувайте броячите на импулсите за натрупана енергия като 32-битови стойности без знак.
| Измерване | Суров тип | Преобразуване |
|---|---|---|
| Активна мощност | Със знак, 32-битово | W = raw32 |
| Внесена/директна енергия | Без знак, 32-битово | kWh = raw32 / 800 |
| Изнесена/обратна енергия | Без знак, 32-битово | kWh = raw32 / 800 |
| Реактивна мощност | Със знак, 32-битово | var = raw32 |
| Индуктивна/капацитивна реактивна енергия | Без знак, 32-битово | kvarh = raw32 / 1000 |
Активната мощност със знак позволява на интеграцията да различава противоположните посоки на мощността. Потвърдете конвенцията за знака спрямо ориентацията на CT и окабеляването на приложението при пускането в експлоатация.
6. Основна карта на Modbus регистрите
Адресите на регистрите по-долу са десетични отмествания. Клиентът трябва да използва функционален код 03.
Фаза A
| Адрес | Дължина | Измерване | Преобразуване |
|---|---|---|---|
| 0 | 1 | Напрежение | Без знак, /100 V |
| 1 | 1 | Ток | Без знак, /100 A |
| 2 | 2 | Активна мощност | Със знак, W |
| 4 | 2 | Внесена/директна енергия | Без знак, /800 kWh |
| 6 | 2 | Изнесена/обратна енергия | Без знак, /800 kWh |
| 8 | 1 | Фактор на мощността | Без знак, /1000 |
| 9 | 1 | Идентификатор на модела в остарялата карта | Не се използва като единствен каталог на актуалните модели |
Фаза B
| Адрес | Дължина | Измерване | Преобразуване |
|---|---|---|---|
| 10 | 1 | Напрежение | Без знак, /100 V |
| 11 | 1 | Ток | Без знак, /100 A |
| 12 | 2 | Активна мощност | Със знак, W |
| 14 | 2 | Внесена/директна енергия | Без знак, /800 kWh |
| 16 | 2 | Изнесена/обратна енергия | Без знак, /800 kWh |
| 18 | 1 | Фактор на мощността | Без знак, /1000 |
| 19 | 1 | Запазен | Не се използва |
Фаза C
| Адрес | Дължина | Измерване | Преобразуване |
|---|---|---|---|
| 20 | 1 | Напрежение | Без знак, /100 V |
| 21 | 1 | Ток | Без знак, /100 A |
| 22 | 2 | Активна мощност | Със знак, W |
| 24 | 2 | Внесена/директна енергия | Без знак, /800 kWh |
| 26 | 2 | Изнесена/обратна енергия | Без знак, /800 kWh |
| 28 | 1 | Фактор на мощността | Без знак, /1000 |
| 29 | 1 | Запазен | Не се използва |
Честота и общи суми
| Адрес | Дължина | Измерване | Преобразуване |
|---|---|---|---|
| 30 | 1 | Честота | Без знак, /100 Hz |
| 31 | 1 | Запазен | Не се използва |
| 32 | 2 | Обща активна мощност | Със знак, W |
| 34 | 2 | Обща внесена/директна енергия | Без знак, /800 kWh |
| 36 | 2 | Обща изнесена/обратна енергия | Без знак, /800 kWh |
Регистрите за общи суми са най-важни за многоканалните електромери. За едноканална интеграция използвайте съответните стойности за фаза A и проверете върнатите общи суми.
7. Опционални реактивни регистри
Реактивните регистри са налични само когато реактивното измерване се поддържа и е включено от съответния електромер и фърмуер.
| Адрес | Дължина | Измерване | Преобразуване |
|---|---|---|---|
| 38 | 2 | Реактивна мощност на фаза A | Със знак, var |
| 40 | 2 | Индуктивна реактивна енергия на фаза A | Без знак, /1000 kvarh |
| 42 | 2 | Капацитивна реактивна енергия на фаза A | Без знак, /1000 kvarh |
| 44 | 2 | Реактивна мощност на фаза B | Със знак, var |
| 46 | 2 | Индуктивна реактивна енергия на фаза B | Без знак, /1000 kvarh |
| 48 | 2 | Капацитивна реактивна енергия на фаза B | Без знак, /1000 kvarh |
| 50 | 2 | Реактивна мощност на фаза C | Със знак, var |
| 52 | 2 | Индуктивна реактивна енергия на фаза C | Без знак, /1000 kvarh |
| 54 | 2 | Капацитивна реактивна енергия на фаза C | Без знак, /1000 kvarh |
Не приемайте, че тези стойности са активни при всяка инсталация. Потвърдете модела, фърмуера и настройката за реактивно измерване.
8. Регистри с информация за устройството
| Адрес | Дължина | Описание |
|---|---|---|
| 56 | 8 | Сериен номер на устройството |
| 64 | 1 | Време на работа в секунди |
Отнасяйте се към серийните номера и другите идентификатори на устройството като към оперативни данни. Избягвайте публикуването на непочистени стойности в екранни снимки, логове или публични примери.
9. Примери за интеграция
Home Assistant
Modbus TCP е опцията на IAMMETER за Home Assistant за потребители, които се нуждаят от бързи локални отчитания и автоматизация.
Използвайте ръководството на IAMMETER за интеграция с Home Assistant като основна входна точка за HA. То разделя конфигурацията на електромера от конфигурацията на Home Assistant и препраща към актуалните методи за Modbus реализация.
Видео:
Node-RED
Node-RED може да запитва holding регистрите, да нормализира суровите стойности и да насочва измерванията към потоци за автоматизация, бази данни или табла за визуализация.
PLC, SCADA, EMS и BMS
За индустриална или търговска интеграция:
- документирайте използваната версия на картата на регистрите;
- приложете правилното преобразуване със/без знак;
- проверете реда на байтовете и words;
- потвърдете ориентацията на CT и коефициента на CT;
- дефинирайте поведение при таймаут и повторен опит;
- наблюдавайте последното успешно запитване;
- избягвайте неподдържани честоти на запитване;
- тествайте прекъсване и възстановяване на мрежата.
Собствен софтуер
Собственият Modbus TCP клиент трябва да разделя:
- логиката за свързване и повторен опит;
- четенето на регистри;
- декодирането на 16-битови и 32-битови стойности;
- съответствието между модел електромер и канали;
- нормализирането на коефициента на CT, където е необходимо;
- съхранението и логиката на приложението.
10. Modbus TCP или друг интерфейс на IAMMETER?
| Изискване | Препоръчителен интерфейс |
|---|---|
| Едносекундно локално запитване | Modbus TCP |
| Просто извличане на JSON през LAN | Локален HTTP API |
| Публикуване на данни към множество потребители | MQTT |
| Качване от електромера към уеб услуга на клиента | HTTP/HTTPS |
| Качване от електромера към собствен socket сървър | TCP/TLS |
| Сравнение на готови платформи | Ръководство за интеграция с отворен код |
Свързани ръководства:
- Локални API и отворени интерфейси на IAMMETER
- Платформи за мониторинг на енергия с отворен код
- Разработете собствена система за мониторинг на енергия
- Използване на IAMMETER без интернет или облак
11. Фърмуер
Modbus TCP вече не е експериментална надстройка, описана само в първоначалния процес за обновяване от 2022 г. За актуална инсталация използвайте най-новия наличен фърмуер за модела електромер:
Запишете версията на фърмуера, използвана за проверка на картата на регистрите и поведението при запитване.
12. Информация за по-старо издание
Тази статия е публикувана първоначално, когато поддръжката на Modbus TCP беше въведена чрез обновяване на фърмуера.
По-старите инструкции се позоваваха на фърмуер 75.68 като предварително условие за обновяване и приканваха потребителите да заявят обновяване през системата за обратна връзка. Този процес е запазен тук само като исторически контекст и не бива да се използва при нова инсталация.
Ресурс от първоначалното издание:
Последна актуализация: 16 юли 2026 г.