Съжаляваме, вашият браузър не поддържа JavaScript!
Вход

Интеграция на електромер чрез 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 в примера

Настройки на връзката Modbus TCP в Modbus Poll

Използвайте LAN IP адреса на електромера като хост. Резервирането на адреса в рутера може да предотврати прекъсване на интеграцията след промяна на адреса от DHCP.

Стойностите по-горе са параметрите, показани в официалния пример. Потвърдете действителния фърмуер и конфигурацията на обекта, преди да ги вградите твърдо в продукционен софтуер.

4. Бърз тест с Modbus Poll

За да потвърдите свързаността, преди да конфигурирате цяла платформа:

  1. свържете компютъра и електромера IAMMETER към една и съща LAN;
  2. намерете локалния IP адрес на електромера;
  3. създайте връзка Modbus TCP/IP към порт 502;
  4. задайте Device ID на 1;
  5. изберете функционален код 03;
  6. заявете holding регистри, започвайки от адрес 0;
  7. сравнете върнатите сурови стойности с правилата за мащабиране по-долу.

Holding регистри на IAMMETER, показани в Modbus Poll

Екранната снимка използва честота на опресняване на дисплея 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 клиент трябва да разделя:

  1. логиката за свързване и повторен опит;
  2. четенето на регистри;
  3. декодирането на 16-битови и 32-битови стойности;
  4. съответствието между модел електромер и канали;
  5. нормализирането на коефициента на CT, където е необходимо;
  6. съхранението и логиката на приложението.

10. Modbus TCP или друг интерфейс на IAMMETER?

Изискване Препоръчителен интерфейс
Едносекундно локално запитване Modbus TCP
Просто извличане на JSON през LAN Локален HTTP API
Публикуване на данни към множество потребители MQTT
Качване от електромера към уеб услуга на клиента HTTP/HTTPS
Качване от електромера към собствен socket сървър TCP/TLS
Сравнение на готови платформи Ръководство за интеграция с отворен код

Свързани ръководства:

11. Фърмуер

Modbus TCP вече не е експериментална надстройка, описана само в първоначалния процес за обновяване от 2022 г. За актуална инсталация използвайте най-новия наличен фърмуер за модела електромер:

Запишете версията на фърмуера, използвана за проверка на картата на регистрите и поведението при запитване.

12. Информация за по-старо издание

Тази статия е публикувана първоначално, когато поддръжката на Modbus TCP беше въведена чрез обновяване на фърмуера.

По-старите инструкции се позоваваха на фърмуер 75.68 като предварително условие за обновяване и приканваха потребителите да заявят обновяване през системата за обратна връзка. Този процес е запазен тук само като исторически контекст и не бива да се използва при нова инсталация.

Ресурс от първоначалното издание:

Последна актуализация: 16 юли 2026 г.

Нагоре