Bacnet/IP Power Meter Data Logging
Download a Free Trial Version. It allows you to try all features! Plugins can be downloaded separately here
My goal is to read values from the "Schneider Electric PowerLogic PM5300" power meter using the Bacnet/IP protocol.
The Bacnet/IP protocol implements data communication-based in an Ethernet network. For this reason, the module can be used in the logger with TCP/IP interfaces:
How to read data using MODBUS you may read in another article.
This power meter can work with MODBUS and Bacnet. However, IMHO, Bacnet is more easy to setup, because you do not need to know data types, offsets, combine several registers to one value, etc.
It is assumed that:
You have configured the communication settings (IP address, Subnet, Gateway, Bacnet Protocol) on the device. You must assign a static IP address for the device.
Also, you need documentation for your device, that contains a description of all BACnet objects. In the case of Schneider Electric PM5300 series, we are interested in the "Analog Input objects" group with basic measurements (page # 41).
1. Configure the UDP server connection (fig. 1). The standard TCP port for Bacnet devices is 47808. The IP address should be "0.0.0.0". Then the program can receive data from all network interfaces on your computer. The IP address of your device you will specify later.
Fig. 1 TCP connection
2. Enable the "Bacnet/IP" plugin (fig. 2).
Fig. 2 Bacnet/IP plugin
3. Configure the "Bacnet/IP" plugin by clicking the "Setup" button nearby (fig. 3).
Fig. 3 Requests queue.
4. Load the queue from the attached XML file by clicking the "Action - Load" button. This queue allows reading basic 10 values from the device. Also, you may load the full configuration using the "File - Restore configuration backup" menu item in the main window.
5. Adjust the polling interval as you want.
6. If you just want to write the parsed data to a file, then make the following changes:
Fig. 4 Data view mode
Fig. 5 Log file settings
7. If you need to write the parsed to Excel or a database, then you may continue using links below. All data export plugins use parser variables. The name of these variables you've defined in the "Export name" field (fig. 3).
MODBUS RTU, MODBUS ASCII, MODBUS/TCP
- MODBUS power meter data logging (easy method)
- Sunspec-compatible MODBUS power meters, inverters (easy method)
- MODBUS RTU/TCP polling: Configuring master station (MODBUS RTU, MODBUS TCP, requests, response items).
- MODBUS poll: How to make sure that the application sends requests and receives responses?
- MODBUS poll: How to view register values, not raw MODBUS packets?
- MODBUS polling: How to make sure that the application correctly interprets the responses received from the device?
- MODBUS polling: How to view MODBUS register values in a more easy-to-grasp form (graphs, indicators, and so on)?
- MODBUS: How to combine the data of two requests?
- MODBUS: What is the right way to poll multiple devices?
- Controlling PLC coil registers status using MODBUS TCP (MODBUS data parser, custom scripts, events generating, and handling).
- MODBUS to MSSQL: Writing MODBUS registers to separate columns
- MODBUS to MySQL: Writing MODBUS values to MySQL database
- MODBUS to database: Writing MODBUS RTU/TCP values to a database
- Sentron PAC 3200: MODBUS TCP Data Logging
- Writing data to a MODBUS device
- SQL to MODBUS: Sending data from a SQL database to MODBUS.