10-13-2025, 02:05 AM
Code:
N20 Energy Module Modbus Protocol Specification
==============================================
1. Overview
-----------
This document specifies the Modbus communication protocol for the N20 Energy Module.
The device communicates using the Modbus RTU protocol and provides access to electrical
measurement parameters including current, power, energy consumption, voltage, frequency,
temperature, and power factor from 2 independent energy monitoring chips.
2. Module Characteristics
-------------------------
- Energy Monitoring Chips: 2
- Communication Protocol: Modbus RTU
- Wireless Technology: Not applicable (wired connection)
- Maximum Sensors Supported: 32
- Board Features: Display, Ethernet (W5500), 4G, SD Card support
- GPIO Availability: 2 free GPIOs (pins 15, 16)
3. Communication Parameters
---------------------------
- Protocol: Modbus RTU
- Baud Rate: 38400
- Function Codes:
* 0x03: Read Holding Registers (for reading data)
* 0x05: Write Single Coil (for control operations)
* 0x10: Write Multiple Registers (for configuration)
4. Chip Addressing
------------------
The N20 Energy Module contains 2 measurement chips, each with a base address:
+-------------+--------------+--------------------+
| Chip Number | Base Address | Physical Location |
+-------------+--------------+--------------------+
| Chip 1 | 100 | Main board P1 |
| Chip 2 | 200 | Main board P2 |
+-------------+--------------+--------------------+
Aggregate data from both chips is available starting at address 1000.
5. Data Structure
-----------------
Each chip provides the following data (accessible via Function Code 0x03):
5.1 Current Measurements (RMS) per Chip
---------------------------------------
+----------------+------------+-------+--------+---------------+
| Register Offset| Parameter | Units | Format | Resolution |
+----------------+------------+-------+--------+---------------+
| 0 | RMS_1 | A | uint32 | 0.001A/LSB |
| 2 | RMS_2 | A | uint32 | 0.001A/LSB |
| 4 | RMS_3 | A | uint32 | 0.001A/LSB |
| 6 | RMS_4 | A | uint32 | 0.001A/LSB |
| 8 | RMS_5 | A | uint32 | 0.001A/LSB |
| 10 | RMS_6 | A | uint32 | 0.001A/LSB |
| 12 | RMS_7 | A | uint32 | 0.001A/LSB |
| 14 | RMS_8 | A | uint32 | 0.001A/LSB |
| 16 | RMS_9 | A | uint32 | 0.001A/LSB |
| 18 | RMS_10 | A | uint32 | 0.001A/LSB |
+----------------+------------+-------+--------+---------------+
Example: To read RMS_1 from Chip 1, read registers 100 and 101 (2 registers for uint32).
Example: To read RMS_1 from Chip 2, read registers 200 and 201 (2 registers for uint32).
Display: Reading of 5432 represents 5.432A (5432 × 0.001A)
5.2 Power Measurements (WATT) per Chip
--------------------------------------
+----------------+------------+-------+--------+---------------+
| Register Offset| Parameter | Units | Format | Resolution |
+----------------+------------+-------+--------+---------------+
| 20 | WATT_1 | W | uint32 | 0.1W/LSB |
| 22 | WATT_2 | W | uint32 | 0.1W/LSB |
| 24 | WATT_3 | W | uint32 | 0.1W/LSB |
| 26 | WATT_4 | W | uint32 | 0.1W/LSB |
| 28 | WATT_5 | W | uint32 | 0.1W/LSB |
| 30 | WATT_6 | W | uint32 | 0.1W/LSB |
| 32 | WATT_7 | W | uint32 | 0.1W/LSB |
| 34 | WATT_8 | W | uint32 | 0.1W/LSB |
| 36 | WATT_9 | W | uint32 | 0.1W/LSB |
| 38 | WATT_10 | W | uint32 | 0.1W/LSB |
+----------------+------------+-------+--------+---------------+
Example: To read WATT_1 from Chip 1, read registers 120 and 121 (2 registers for uint32).
Example: To read WATT_1 from Chip 2, read registers 220 and 221 (2 registers for uint32).
Display: Reading of 12345 represents 1234.5W (12345 × 0.1W)
5.3 Energy Consumption Measurements per Chip
--------------------------------------------
+----------------+-------------+-------+--------+---------------------+
| Register Offset| Parameter | Units | Format | Resolution |
+----------------+-------------+-------+--------+---------------------+
| 40 | Energy_1 | kWh | uint32 | 1kWh/LSB |
| 42 | Energy_2 | kWh | uint32 | 1kWh/LSB |
| 44 | Energy_3 | kWh | uint32 | 1kWh/LSB |
| 46 | Energy_4 | kWh | uint32 | 1kWh/LSB |
| 48 | Energy_5 | kWh | uint32 | 1kWh/LSB |
| 50 | Energy_6 | kWh | uint32 | 1kWh/LSB |
| 52 | Energy_7 | kWh | uint32 | 1kWh/LSB |
| 54 | Energy_8 | kWh | uint32 | 1kWh/LSB |
| 56 | Energy_9 | kWh | uint32 | 1kWh/LSB |
| 58 | Energy_10 | kWh | uint32 | 1kWh/LSB |
| 60 | Energy_Sum | kWh | uint32 | 1kWh/LSB |
+----------------+-------------+-------+--------+---------------------+
Note: The maximum measurable energy per channel is 65535 kWh.
5.4 Other Measurements per Chip
-------------------------------
+----------------+-------------+-------+--------+---------------------+
| Register Offset| Parameter | Units | Format | Resolution |
+----------------+-------------+-------+--------+---------------------+
| 62 | RMS_V | V | uint16 | 0.01V/LSB |
| 63 | Period | Hz | uint16 | 0.01Hz/LSB |
| 64 | TPS1 | °C | float | 0.1°C/LSB |
| 66 | PF | - | float | Power Factor (0-1) |
+----------------+-------------+-------+--------+---------------------+
6. Channel Mapping
------------------
Total of 20 energy monitoring channels:
- Channels 1-10: Managed by Chip 1 (base address 100)
- Channels 11-20: Managed by Chip 2 (base address 200)
Each chip reports its 10 channels as local channels 1-10 in the register mapping.
7. Control Functions (Function Code 0x05)
------------------------------------------
The following control registers can be written to using the Modbus function code 0x05:
+----------+------------------------------+--------------------------------------------+
| Register | Function | Description |
+----------+------------------------------+--------------------------------------------+
| 500 | Warm Reset | Resets the device |
| 501 | Save Parameters to Flash | Save communication parameters to flash |
| 503 | Save Coefficients to Flash | Save calibration coefficients to flash |
| 504 | Clear Coefficients | Reset all coefficients to 1.0 (use caution)|
| 510 | Restore Factory Settings | Restore factory communication parameters |
+----------+------------------------------+--------------------------------------------+
8. Energy Clearing Functions (Function Code 0x05)
--------------------------------------------------
The following registers clear energy consumption data when written with function code 0x05:
8.1 Clear All Channels on a Chip
---------------------------------
+----------+--------------------------------+
| Register | Function |
+----------+--------------------------------+
| 520 | Clear all energy on Chip 1 |
| 521 | Clear all energy on Chip 2 |
+----------+--------------------------------+
8.2 Clear Individual Channels
------------------------------
+----------------+------------------------------------------------+
| Register Range | Function |
+----------------+------------------------------------------------+
| 526-535 | Clear energy on Chip 1, channels 1-10 |
| 536-545 | Clear energy on Chip 2, channels 1-10 |
| 586 | Clear sum energy on Chip 1 |
| 587 | Clear sum energy on Chip 2 |
+----------------+------------------------------------------------+
9. Calibration Coefficients (Function Code 0x03 to read, 0x10 to write)
------------------------------------------------------------------------
All coefficients are stored as floating-point values in CDBA format.
9.1 Current (RMS) Coefficients for Chip 1
------------------------------------------
+----------+---------------------+---------+
| Register | Parameter | Default |
+----------+---------------------+---------+
| 3000 | FACTOR OF RMS1 | 1.0 |
| 3002 | FACTOR OF RMS2 | 1.0 |
| 3004 | FACTOR OF RMS3 | 1.0 |
| 3006 | FACTOR OF RMS4 | 1.0 |
| 3008 | FACTOR OF RMS5 | 1.0 |
| 3010 | FACTOR OF RMS6 | 1.0 |
| 3012 | FACTOR OF RMS7 | 1.0 |
| 3014 | FACTOR OF RMS8 | 1.0 |
| 3016 | FACTOR OF RMS9 | 1.0 |
| 3018 | FACTOR OF RMS10 | 1.0 |
+----------+---------------------+---------+
9.2 Power (WATT) Coefficients for Chip 1
-----------------------------------------
+----------+---------------------+---------+
| Register | Parameter | Default |
+----------+---------------------+---------+
| 3020 | FACTOR OF WATT1 | 1.0 |
| 3022 | FACTOR OF WATT2 | 1.0 |
| 3024 | FACTOR OF WATT3 | 1.0 |
| 3026 | FACTOR OF WATT4 | 1.0 |
| 3028 | FACTOR OF WATT5 | 1.0 |
| 3030 | FACTOR OF WATT6 | 1.0 |
| 3032 | FACTOR OF WATT7 | 1.0 |
| 3034 | FACTOR OF WATT8 | 1.0 |
| 3036 | FACTOR OF WATT9 | 1.0 |
| 3038 | FACTOR OF WATT10 | 1.0 |
+----------+---------------------+---------+
9.3 Energy Coefficients for Chip 1
-----------------------------------
+----------+-----------------------+---------+
| Register | Parameter | Default |
+----------+-----------------------+---------+
| 3040 | FACTOR OF ENERGY1 | 1.0 |
| 3042 | FACTOR OF ENERGY2 | 1.0 |
| 3044 | FACTOR OF ENERGY3 | 1.0 |
| 3046 | FACTOR OF ENERGY4 | 1.0 |
| 3048 | FACTOR OF ENERGY5 | 1.0 |
| 3050 | FACTOR OF ENERGY6 | 1.0 |
| 3052 | FACTOR OF ENERGY7 | 1.0 |
| 3054 | FACTOR OF ENERGY8 | 1.0 |
| 3056 | FACTOR OF ENERGY9 | 1.0 |
| 3058 | FACTOR OF ENERGY10 | 1.0 |
| 3060 | FACTOR OF ENERGY SUM | 1.0 |
+----------+-----------------------+---------+
9.4 Chip 2 Calibration Coefficient Base Address
-----------------------------------------------
The calibration coefficients for Chip 2 follow the same structure but start at
base address 3064:
+-------------+---------------+
| Chip Number | Base Register |
+-------------+---------------+
| Chip 2 | 3064 |
+-------------+---------------+
10. Data Aggregation
--------------------
Gateway systems can aggregate data from both chips:
- Total System Current = Sum of all RMS values from both chips
- Total System Power = Sum of all WATT values from both chips
- Total System Energy = Sum of all Energy values from both chips
- Average System Voltage = Average of RMS_V from both chips
- Average System Frequency = Average of Period from both chips
11. Programming Notes
---------------------
1. After modifying communication parameters, write to register 501 to save them to flash.
2. After modifying calibration coefficients, write to register 503 to save them to flash.
3. Read the entire data structure for a chip by reading 68 registers starting at the
chip's base address.
4. For 32-bit values (uint32, float), read/write two consecutive registers.
5. When writing float values, use the CDBA format.
6. All energy measurements have a maximum value of 65535 kWh per channel.
7. Monitor both chips to detect individual chip failures.
12. Comparison Table
--------------------
+------------------+------------------+------------------+------------------+
| Feature | N10 | N20 | N30 |
+------------------+------------------+------------------+------------------+
| Communication | Modbus RTU | Modbus RTU | Modbus RTU |
| Energy Chips | 1 | 2 | 3 |
| Channels | 10 | 20 | 30 |
| Base Addresses | 100 | 100, 200 | 100, 200, 300 |
| Data Structure | Standard | Dual-chip | Triple-chip |
| Installation | Wired | Wired | Wired |
+------------------+------------------+------------------+------------------+
13. Conclusion
--------------
The N20 Energy Module provides dual-chip energy monitoring with Modbus RTU
communication, offering twice the monitoring capacity of the N10 while maintaining
the same communication protocol structure. The device is ideal for medium-scale
installations requiring electrical measurement and monitoring across multiple circuits.
==============================================================================
Document generated for N20 Energy Module Modbus Protocol
For technical support, please contact Kincony support team.
N20_Energy_Modbus_Protocol.txt (Size: 13.25 KB / Downloads: 70)
YouTube: https://www.youtube.com/c/KinCony
Online Store: https://shop.kincony.com
Alibaba Store: https://kincony.en.alibaba.com/
Online Store: https://shop.kincony.com
Alibaba Store: https://kincony.en.alibaba.com/


