Reading data from MODBUS Sunspec-compatible inverters and power meters
Problem scenario:
My goal is to read data from a power inverter with MODBUS RTU or MODBUS/TCP.
Requirements:
- Data Logger Suite Professional, Enterprise, or a trial version.
- Sunspec-compatible power meter with MODBUS RTU or MODBUS TCP. These devices store the full list of available value in the specific registers. All applications can retrieve this list and start reading data.
It is assumed that:
You have configured the communication settings on the device:
- MODBUS TCP - IP address, Subnet, Gateway. You must assign a static IP address for the device.
- MODBUS RTU - baud rate and the number of data bits.
Solution:
1. Create a new configuration from the main window using the "Green Plus" button. Then configure the connection with your Sunspec-compatible device (fig. 1). This example shows the connection settings for MODBUS TCP. If your device uses MODBUS RTU, look here.
Fig. 1: IP connection settings
2. Click "OK" and save the connection settings. Now, the program saved and applied the communication settings, and you can continue configuring data logging.
3. Go to your configuration setting again (Main window → Options → Manage configurations → Modules → Query Parser Filter). Select the "MODBUS TCP" or "MODBUS RTU" plugin from lists. Then click the "Setup" button.
Fig. 2: Selecting the MODBUS plugin
4. Click "Action → Add Sunspec compatible device" (fig. 3).
Fig. 3: Adding a MODBUS device
5. Specify the device address (fig. 4). MODBUS TCP devices generally use the address "1".
Fig. 4: Entering a device address
6. The logger will start reading device information. If the operation completes successfully, you can select the necessary MODBUS registers from the showed list (fig. 5).
Fig. 5: Registers map
7. Adjust the polling interval as you want in the "Polling Interval" field.
8. Click the "OK" button. The program adds one or more requests to the queue (fig. 6). The number of requests depends on the values quantity and their location in the device memory.
Fig. 6: MODBUS queue
9. Enable the "Export data for all requests at once" option (fig. 6).
Notes
How can I poll multiple MODBUS RTU devices?
RS-485 or RS-232: if you connect several devices to the RS-485 network, you may specify several addresses like 1,2,3,4,5 in the "Device address" field.
Can I poll multiple MODBUS TCP devices?
Usually, all devices have the device address "1" and a different IP address. Therefore, you should add multiple IP address in the IP connection settings (fig. 1).
Known compatible Sunspec devices
This list is not complete, and we add new devices to it periodically:
SMA Solar Technology SUNNY BOY / SUNNY TRIPOWER
SolarEdge Inverters
KOSTAL PIKO IQ / PLENTICORE plus
Fronius
Huawei SUN2000
Ginlong Solis Inverters
Delta Electronics, Inc. Inverters
Delta Products
Schneider Electric Conext
ABB TRIO, US
Carlo Gavazzi VMU
Related articles: Reading data from MODBUS Sunspec-compatible inverters and power meters
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, etc.)?
- MODBUS: How to combine the data of two requests?
- MODBUS: What is the right way to poll multiple devices?
- Copy settings from Simply MODBUS RTU Master to our Modbus Data Logger.
- Copy settings from the MODBUS Poll utility.
- Controlling PLC coil registers status using MODBUS TCP (MODBUS data parser, custom scripts, events generating, and handling).
- MODBUS to MSSQL: Write MODBUS registers to separate columns
- MODBUS to MySQL: Write MODBUS values to the MySQL database
- MODBUS to a database: Writing MODBUS RTU/TCP values to a database
- MODBUS to a database: Write data to two different tables.
- MODBUS to a database: Write data to two different databases, making a complete copy.
- Sentron PAC 3200: MODBUS TCP Data Logging
- Write data to a MODBUS device
- SQL to MODBUS: Send data from a SQL database to MODBUS.
- MODBUS TCP ↔ MODBUS RTU real-time conversion.
BACNET/IP
IEC 62056-21
- IEC 62056-21 power meter data logging (Iskra Emco, Satec, Landis+Gyr)