Чтение данных со счетчиков и анализаторов энергии через Bacnet
Скачайте бесплатную пробную версию! Она позволяет попробовать все возможности! Модули для логгера можно скачать по отдельности.
Описание проблема:
Задача получать данные со счетчика энергии "Schneider Electric PowerLogic PM5300", используя протокол Bacnet/IP.
Требования:
Как получать данные со электрических счетчиков и измерителей качества энергии через MODBUS вы можете прочитать в другой статье.
Краткая справка:
Данный счетчик энергии, в зависимости от серии и настроек, может работать как через MODBUS, так и через Bacnet. Но получение данных через Bacnet настроить гораздо проще, поскольку не нужно знать номера регистров, смещения, типы данных, объединять данные из нескольких регистров и т.п..
Подразумевается, что:
Вы настроили параметры подключения к локальной сети в электрическом счетчике (IP адрес, маску подсети, шлюз и выбрали в настройках Bacnet). Вы должны присвоить статический IP адрес для вашего счетчика.
Также вам потребуется список значений, которые можно прочитать с устройства (BACnet objects). Обычно, этот список содержится в документации на устройство. В случае с Schneider Electric серии PM5300, нас интересуют значения из группы "Analog Input objects" с показаниями измерений (стр. 41).
Решение:
1. Настройте соединение типа UDP-сервер (рис. 1). Стандартный порт для Bacnet устройств это 47808. IP можно указать в виде 0.0.0.0, что соответствует всем IP адресам вашего компьютера. IP адреса счетчиков будут заданы далее.
Рис. 1 - Настройка UDP соединения
2. Выберите модуль запроса и разбора данных "Bacnet/IP" (рис. 2).
Рис. 2 - Модуль Bacnet/IP
3. Кликните на кнопке "Настроить" рядом с названием модуля (рис. 2). В настройках модуля задайте очередь запросов (Действие - Добавить). В свойствах запроса укажите:
- В поле IP адрес и порт - IP адрес вашего устройства и порт 47808 (UDP Port на стр. 39).
- Экземпляр - сетевой адрес вашего устройства (Device ID на стр. 39).
- Желаемый режим опроса.
- Список элементов ответа - это список значений, которые вы хотите получить с устройства.
- Имя - имя, которое будет использоваться при экспорте данных (только латинские буквы и цифры).
- Тип данных - имя группы значений (из документации).
- Экземпляр - номер значения в группе (Object ID).
Рис. 3 - Очередь запросов Bacnet
4. Вы можете загрузить очередь из прикрепленного файла, кликнув на кнопке "Действия → Загрузить". Этот запрос считывает 10 основных параметров" (подстройте интервал опроса устройства по вашему желанию). Также вы можете загрузить полную конфигурацию в наш логгер (Главное окно - Файл - Загрузить резервную копию).
5. Если вы хотите записывать декодированные значения в текстовый файл, то сделайте настройки, указанные ниже:
Рис. 4 - Вид данных
Рис. 5 - Настройки лог файла
6. Если вы хотите записать данные в базу данных или Excel, то перейдите по ссылкам ниже. Обратите внимание, что во всех следующих примерах используются имена переменных парсера. Это именно то имя, которое вы задали в свойствах элементов ответа в пункте 3.
Сопутствующие статьи:
MODBUS RTU, MODBUS ASCII, MODBUS/TCP
- Чтение данных со счетчиков и анализаторов энергии через MODBUS (простой метод)
- Совместимые с Sunspec анализаторы, инверторы, счетчики MODBUS (простой метод)
- Опрос устройств MODBUS RTU/TCP: Настройка сервера сбора данных (MODBUS RTU, MODBUS TCP, запросы, элементы ответа).
- Как проверить, что программа отправляет запросы и получает ответы?
- Как просматривать значения регистров, а не пакеты MODBUS?
- Как проверить, что программа правильно интерпретирует получаемые ответы?
- Как просматривать значения регистров MODBUS в более наглядной форме (графики, индикаторы и т.п.)?
- Как объединить данные из двух запросов?
- Как правильно организовать опрос большого количества устройств?
- Копирование настроек Simply MODBUS RTU Master наш логгер.
- Копирование настроек из утилиты MODBUS Poll.
- Контроль состояния ячейки памяти (coil input) PLC контроллера через MODBUS TCP (парсер MODBUS, скрипты, генерация и обработка событий).
- MODBUS в MSSQL: Запись значений регистров MODBUS раздельные колонки в таблице
- MODBUS в MySQL: Запись данных MODBUS в БД MySQL
- Запись данных MODBUS в другую базу данных SQL
- MODBUS в базу: Запись данных в две разные таблицы.
- MODBUS в базу: Запись данных в две разные БД, делая полную копию данных.
- Sentron PAC 3200: Чтение и запись со счетчика электроэнергии через MODBUS TCP
- Запись данных в устройство MODBUS
- SQL в MODBUS: Отправка значений из базы данных в MODBUS.
IEC 62056-21