ChargePilot Modbus Interface

Modified on Fri, 4 Apr at 7:35 AM

Table of Content

Introduction 

The following Modbus register table gives an overview of the Modbus TCP/ IP connection between an Energy Management System (EMS) and ChargePilot’s Smart Charging Local Controller (LC). LC thereby always acts as a server for the Energy Management System. The LC acts as a client for the energy meter.  

 

A screenshot of a computer

Description automatically generated

 

Figure 1: Modbus Interface Landscape



 

Figure 2: Modbus Interface Control Architecture

  

About ChargePilot

The following schematic shows the general role and outlines the supported interfaces of the Charging and Energy Management ChargePilot by The Mobility House. The LC is locally connected (over Ethernet/OCPP) to the operated charging stations and acts as their backend. More Information about ChargePilot can be found here

Figure 3: ChargePilot Interface Landscape
 


Technical Setup

The Modbus interface is by default deactivated. If you are interested in using the feature, please contact your customer success manager at The Mobility House. 

If enabled, you can connect to one of the ethernet ports on the Smart Charging Controller (Port A (charging stations) or Port B (internet connection)) and can be accessed via the IP and the Slave ID 1. 

 

If connected to the customer's Internet and the same customer network as the Modbus client, the physical setup of ChargePilot is consistent with the normal pre-commissioning guidelines found on our website. If not using the customer’s internet, a port on the charger ethernet switch will need to be reserved to connect to the customer’s controller. 

 

If you have any questions on the setup of ChargePilot, please contact our technical team.


Modbus Logic

Read Only Mode 

If the Modbus interface is activated in Read only-Mode most registers can be read, but holding registers are not accessible (chapter Set Grid Values). All registers marked with a star in the table, are only available if the LC is connected to the ChargePilot meter. 

 

Read/ Write Mode 

If the Modbus interface is activated in Read/Write-Mode, also the holding registered are accessible. 

 

The register 81XX sets absolute values for power (8192). While power settings are equally distributed on the connected phases, the current settings are to be set per phase.

 

Example: If a value of 30.000 is set, the maximum power of each phase is 10 kW. 

 

By setting a value in Register 8200 “Grid Limit for all CPs in % of the physical maximum set by Administrator” the available power/current on each phase for the charging infrastructure will be reduced, to the set percentage.    
 Example: If the limit is 100 A per phase and a value of 60 is set, the maximum current per phase is 60 A. 

 

Site Integrated Load Management 

 

ChargePilot can also be operated with site integrated load management logic and Modbus. In this case, a meter is installed at the grid connection point to measure the building load and the residual power is distributed to the charging infrastructure. In this case, the Modbus interface can still operate in Read/Write-Mode. The additional limit set by the values of register 81XX is taken into account in addition to the restrictions given by the building load measured by meter.

 

 

Figure 4: Site Integrated Load Management

 

If Site Integrated Load Management load management logic is active, the Modbus interface can only be operated in Read Only-Mode! 

 

Fallback Values 

For the Modbus interface the following two fallback scenarios need to be considered

 

EMS Offline

In Read/Write mode (= external limits are received via the Modbus interface) the Modbus client (e.g. a EMS) sending limits becomes offline. 

In this situation, a fallback value for the total site power will be set during setup of the interface. The logic will operate in fallback mode, after a configurable period (default is 30s), without receiving a signal on any of the holding register. The fallback value for the limit of the charging infrastructure and the interval can be adjusted during the implementation of your system. 

 

Charger Offline

Whenever the charger loses connection to ChargePilot a predefined fallback value can be set individually for each charger. Whenever the charger appears offline in ChargePilot the charger can still charge with the fallback value. Furthermore, ChargePilot does not need to block/reserve the full capacity of charger. Example in the graphic below.

 

Figure 5: Fallback


About the Modbus TCP/ IP Interface 

This document describes the behavior of the TMH Controller in case it is configured as Modbus TCP/IP server. In this mode, the TMH Controller is passively providing its metering data upon request to the devices which query the TMH Controller. Additionally, the client controller (customer’s controller) can write some configs in the Holding registers, if the feature is activated. 

 

Special note for registers with a size of more than 16 bits:  

 

Registers of such types are composed of standard 16-bit Modbus registers. Most-significant bits are located in registers with lower addresses, least-significant bits are stored in registers with higher addresses. 

Example: Assume a virtual register (uint32) is placed at offset 0x1000. This register should reflect 2,293,828 operating hours. Address 0x1000 contains 0x23 and address 0x1001 contains 0x44. During transmission both registers are transferred in network byte order (Big Endian) as required by the Modbus specification, i.e. a “Read Holding Registers” for both registers shows up as 0x00 0x23 0x00 0x44 on the wire. 


Register Tables

Total Live Values

The following table shows registers containing live data of the entire site. 

Start address 
 
(decimal) 

End address 
 
(decimal) 

Start address 
 
(hexadecimal) 

End address 
 
(hexadecimal) 

Size 

Input/Holding 
 
register 

Type 

Unit 

Description 

0x0001  

0x0002 

Input 

Int32 

1W 

Active power all CPs 

0x0005 

0x0006 

Input 

Int32 

1A 

Current L1 all CPs 

0x0007 

0x0008 

Input 

Int32 

1A 

Current L2 all CPs 

10 

0x0009 

0x000A 

Input 

Int32 

1A 

Current L3 all CPs 

11 

12 

0x000B 

0x000C 

Input 

uInt32 

1V 

Voltage L1-N* 

13 

14 

0x000D 

0x000E 

Input 

uInt32 

1V 

Voltage L2-N* 

15 

16 

0x000F 

0x0010 

Input 

uInt32 

1V 

Voltage L3-N* 

17 

18 

0x0011 

0x0012 

Input 

uInt32 

cos_phi L1* 

19 

20 

0x0013 

0x0014 

Input 

uInt32 

cos_phi L2* 

21 

22 

0x0015 

0x0016 

Input 

uInt32 

cos_phi L3* 

23 

24 

0x0017 

0x0018 

Input 

Int32 

1W 

Active power site* 

25 

26 

0x0019 

0x001A 

Input 

Int32 

1VA 

Apparent power site* 

27 

28 

0x001B 

0x001C 

Input 

Int32 

1A 

Active current L1 site* 

29 

30 

0x001D 

0x001E 

Input 

Int32 

1A 

Active current L2 site* 

31 

32 

0x001F 

0x0020 

Input 

Int32 

1A 

Active current L3 site* 

Note: Holding registers are the read/write registers, Input registers are the read registers 

*Only available if the separate meter is connected to ChargePilot


Administration

The following table shows administration registers containing general information about the site.

Start address 
 
(decimal) 

End address 
 
(decimal) 

Start address 
 
(hexadecimal) 

End address 
 
(hexadecimal) 

Size 

Input/Holding 
 
register 

Type 

Unit 

Description 

4098 

4099 

0x1002 

0x1003 

Input 

uInt32 

1W 

Maximum theoretical fallback power for all charger

4106 

4107 

0x100A 

0x100B 

Input 

uInt32 

Amount of Charging stations 

4108 

4109 

0x100C 

0x100D 

Input 

uInt32 

Amount of connectors

4112 

4113 

0x1010 

0x1011 

Input 

uInt32 

Fuse limit for main connection point 

4114 

4115 

0x1012 

0x1013 

Input 

uInt32 

Current theoretical maximum power
 (Sum over all plugged connectors times connector capability) 

Note: Holding registers are the read/write registers, Input registers are the read registers 

*Only available if the separate meter is connected to ChargePilot 


Set Grid Values

The following table shows holding registers to set an external grid limit for the entire ChargePilot site.

Start address 
 
(decimal) 

End address 
 
(decimal) 

Start address 
 
(hexadecimal) 

End address 
 
(hexadecimal) 

Size 

Input/Holding 
 
register 

Type 

Unit 

Description 

8192 

8193 

0x2000 

0x2001  

Holding 

uInt32 

1W 

Grid Limit for all CPs, equally distributed over all phases 

8200 

8201 

0x2008 

0x2009 

Holding 

uInt32 

1% 

Grid Limit for all CPs in % of the physical maximum set by Administrator 

Note: Holding registers are the read/write registers, Input registers are the read registers 

*Only available if the separate meter is connected to ChargePilot 


CP Live Values 

The registers of the following section allows live data to be read for each connector. The following values are identical for connector 2 and so on with a gap of 256 (dec) or 100 (hex). So, the registers for connector 2 will start at 12560 or 0x3110, connector 3 at 12816 or 0x3210, and so on. Please note that the order of the CPs can change whenever chargers are added or removed from the site configuration. 

Start address 
 
(decimal) 

End address 
 
(decimal) 

Start address 
 
(hexadecimal) 

End address 
 
(hexadecimal) 

Size 

Input/Holding 

Type 

Unit 

Description 

12288

12303

0x3000

0x300F

16

Input

String32

 

ID of Connector 1

12304 

12305 

0x3010 

0x3011 

Input 

uInt32 

1W 

Active power of Connector 1 inlet

12306 

12307 

0x3012 

0x3013 

Input 

Int32 

1A 

Current L1 of Connector1 inlet

12308 

12309 

0x3014 

0x3015 

Input 

Int32 

1A 

Current L2 of Connector1 inlet

12310 

12311 

0x3016 

0x3017 

Input 

Int32 

1A 

Current L3 of Connector1 inlet

12312

12313

0x3018

0x3019

2

Input 

uInt32 

1V

Voltage L1 of Connector1 inlet

12314

12315

0x301A

0x301B

2

Input 

uInt32 

1V

Voltage L2 of Connector1 inlet

12316

12317

0x301C

0x301D

2

Input 

uInt32 

1V

Voltage L3 of Connector1 inlet

12318

12319

0x301E

0x301F

2

Input 

uInt32 

1W

Active power of Connector 1 outlet

12320

12321

0x3020

0x3021

2

Input 

uInt32

1A

Current of Connector 1 outlet

12322

12323

0x3022

0x3023

2

Input 

uInt32 

1V

Voltage of Connector 1 outlet

12324 

12325 

0x3024 

0x3025 

Input 

uInt32 

1Wh

Total energy of Connector1*

12328 

12329 

0x3028 

0x3029 

Input 

uInt32 

0-4 

Status of Connector1 

  • 0=offline 
  • 1=available 
  • 2=plugged 
  • 3=charging 
  • 4=error 

12330 

12331 

0x302A 

0x302B 

Input 

uInt32 

1W 

Active Discharging Power of Connector 1 

12332 

12333 

0x302C 

0x302D 

Input 

uInt32 

SoC of EV connected to Connector 1**

12336

12351

0x3030

0x303F

16

Input

String32

 

Session Id of Connector1

12374

12375

0x3056

0x3057

2

Input

uInt32 

 1A

Current offer for Connector1

Note: Holding registers are the read/write registers, Input registers are the read registers 

*Consumed energy of an active charging session (4294967295 = no active charging session) 

**Only available if provided by the charger (4294967295 = not provided by the charger)

 


 

 

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article