Интеграция 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;
- двухканальные или split-phase счетчики используют соответствующие блоки каналов;
- трехфазные счетчики предоставляют блоки фаз A, B и C;
- поддерживаемые счетчики также могут предоставлять суммарные и опциональные реактивные измерения.
Всегда проверяйте ответ регистров в соответствии с конкретной моделью и прошивкой, используемой в проекте.
WEM3046T и WEM3046TE
WEM3046T и WEM3046TE измеряют вторичный выход 5 A внешнего трансформатора тока.
Поэтому значения первичного тока, мощности и энергии должны использовать соответствующий внешний коэффициент трансформации тока (CT). Это требование масштабирования обусловлено конструкцией входа CT 5 A счетчика; это не специфическое поведение Modbus TCP или платформы.
Обеспечьте документирование и тестирование обработки коэффициента CT везде, где интегрируются эти модели.
3. Параметры подключения
Официальный пример Modbus Poll от IAMMETER использует:
| Параметр | Пример значения |
|---|---|
| Подключение | Modbus TCP/IP |
| Хост | Локальный IP-адрес счетчика |
| Порт TCP | 502 |
| ID устройства / узла | 1 |
| Код функции | 03 — Чтение регистров хранения |
| Таймаут ответа | 1000 мс в примере |

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

На скриншоте используется скорость отображения 500 мс для тестирования. Для обычного использования документация IAMMETER рекомендует опрос с интервалом в одну секунду, а не использование самой быстрой настройки клиента в качестве поддерживаемого рабочего интервала.
Если подключение не удается, проверьте:
- что счетчик и клиент находятся в одной доступной сети;
- IP-адрес счетчика;
- порт TCP 502 и правила брандмауэра;
- ID устройства и код функции;
- не управляет ли другое приложение уже предполагаемым рабочим процессом опроса;
- версию прошивки счетчика.
5. Типы данных регистров и масштабирование
IAMMETER использует 16-битные регистры хранения.
16-битные значения
Напряжение, ток, коэффициент мощности и частота используют один регистр:
| Измерение | Сырой тип | Преобразование |
|---|---|---|
| Напряжение | Беззнаковое 16-бит | V = raw / 100 |
| Ток | Беззнаковое 16-бит | A = raw / 100 |
| Коэффициент мощности | Беззнаковое 16-бит | PF = raw / 1000 |
| Частота | Беззнаковое 16-бит | Hz = raw / 100 |
32-битные значения
Активная мощность, накопленная энергия и реактивные значения используют два последовательных регистра.
Официальный пример Modbus Poll отображает старшее (high-order) 16-битное слово первым. Объедините слова как:
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 может опрашивать регистры хранения, нормализовать сырые значения и направлять измерения в потоки автоматизации, базы данных или панели мониторинга.
PLC, SCADA, EMS и BMS
Для промышленной или коммерческой интеграции:
- документируйте используемую версию карты регистров;
- применяйте правильное знаковое/беззнаковое преобразование;
- проверяйте порядок байтов и слов;
- подтверждайте ориентацию CT и коэффициент CT;
- определите поведение таймаута и повторных попыток;
- отслеживайте последний успешный опрос;
- избегайте неподдерживаемых частот опроса;
- тестируйте прерывание сети и восстановление.
Пользовательское программное обеспечение
Пользовательский клиент Modbus TCP должен разделять:
- логику подключения и повторных попыток;
- чтение регистров;
- 16-битное и 32-битное декодирование;
- сопоставление модели счетчика и каналов;
- нормализацию коэффициента CT при необходимости;
- логику хранения и приложения.
10. Modbus TCP или другой интерфейс IAMMETER?
| Требование | Рекомендуемый интерфейс |
|---|---|
| Локальный опрос с интервалом 1 секунда | Modbus TCP |
| Простое получение JSON через LAN | Local HTTP API |
| Публикация данных для нескольких потребителей | MQTT |
| Загрузка счетчика на веб-сервис клиента | HTTP/HTTPS |
| Загрузка счетчика на пользовательский сокет-сервер | TCP/TLS |
| Сравнение готовых платформ | Руководство по открытой интеграции |
Связанные руководства:
- Локальные API IAMMETER и открытые интерфейсы
- Платформы мониторинга энергии с открытым исходным кодом
- Разработка собственной системы мониторинга энергии
- Использование IAMMETER без интернета или облака
11. Прошивка
Modbus TCP больше не является экспериментальным обновлением, описанным только в оригинальном процессе выпуска 2022 года. Для текущей установки используйте последнюю доступную прошивку для модели счетчика:
Запишите версию прошивки, используемую для проверки карты регистров и поведения опроса.
12. Информация о предыдущих выпусках
Эта статья была первоначально опубликована, когда поддержка Modbus TCP была введена через обновление прошивки.
В более старых инструкциях упоминалась прошивка 75.68 как предварительное требование для обновления, и пользователям предлагалось запросить обновление через систему обратной связи. Этот процесс сохранен здесь только как исторический контекст и не должен использоваться для новой установки.
Ресурс оригинального выпуска:
Последнее обновление: 16 июля 2026 г.