Skip to main content
v5.33
operator
manufacturer
Last updated on

Hierarchical Dynamic Load Management

1. Introduction

Hierarchical Dynamic Load Management (Hierarchical DLM) is an advanced power management system designed to coordinate multiple DLM groups within a larger electrical infrastructure. It addresses the challenges of efficiently distributing limited power resources across numerous charging stations while preventing system overloads.

1.1. Why Hierarchical DLM is necessary

As EV charging infrastructure grows, several challenges emerge:

  • Limited Power Capacity: Main electrical supplies often have fixed capacity limits that must be shared among multiple charging stations
  • Variable Demand: Different charging stations experience varying levels of usage throughout the day
  • System Complexity: Managing multiple DLM groups independently can lead to inefficient power allocation
  • Safety Concerns: Without coordination, there's risk of overloading electrical lines

Hierarchical DLM solves these challenges by implementing a hierarchical approach where a central coordinator oversees multiple DLM groups, each managed by its own master controller.

2. Topology

Hierarchical DLM follows a structured hierarchy with clearly defined roles and relationships:

Charging Stations

The primary power consumers in the system, capable of adjusting their current consumption based on instructions from controllers.

  • Hiarchical DLM Coordinator: Central station that manages the entire hierarchy (e.g., F1-S1)
  • DLM Masters: Stations that manage individual groups (e.g., F1-S1, F2-S1, F3-S1)
  • DLM Slaves: Stations that receive instructions from their group's master

External Loads

Devices that consume power but cannot be directly controlled by the Hierarchical DLM system.

  • Building systems
  • Lighting
  • Other electrical equipment

The system must account for these loads when allocating power to charging stations.

Meters

Devices that measure power consumption at various points in the system.

  • Main Meter: Measures total power consumption
  • External Load Meters: Monitor non-charging loads
  • Connection Types:

    • In-line: Measures all current passing through a line
    • Branch: Measures only a specific load

2.1. Communication flow

Hierarchical DLM uses a structured communication pattern:

  1. The Hierarchical DLM Coordinator collects power usage data from all DLM Masters
  2. Based on constraints and current usage, it calculates optimal power allocation
  3. Instructions are sent to DLM Masters
  4. DLM Masters distribute power among their local charging stations
  5. The process repeats continuously to adapt to changing conditions

3. Constraints file configuration

Hierarchical DLM is configured through a structured JSON file called the "constraints file" that defines all components and their relationships.

3.1. Key configuration elements

The constraints file contains these main parts:

  • Lines: Defines the electrical lines and their properties, including current limits and hierarchical relationships.
  • Groups: Defines collections of charging stations that share common properties and their connection to power lines.
  • Meters: Defines the meters used to monitor power consumption and their connection to the electrical system.

3.2. Configuration structure

{
"lines": {
"<line-name>": {
"CurrentLimit": {
"L1": <number>, /* Amperes for phase 1 */
"L2": <number>, /* Amperes for phase 2 */
"L3": <number> /* Amperes for phase 3 */
},
"Parent": "<parent-line-name>" /* Omit for main supply line */
},
...
},

"groups": {
"<group-name>": {
"Elements": [ /* At least one required */
"<device-id>", /* Charger identifier */
...
],
"Parent": "<line-name>" /* Must reference existing line */
},
...
},

"meters": {
"<meter-name>": {
"Parent": "<line-name>", /* Line being monitored */
"Interface": {
"Type": "modbus-tcp", /* Currently only modbus-tcp supported */
"IPAddress": "<ip-address>" /* Network address of meter */
}
},
...
}
}

3.3. Naming requirements

Each name in the configuration must:

  • Be 1 to 63 characters long
  • Contain only letters (a-z, A-Z), numbers (0-9), and dashes (-)
  • Not begin or end with a dash
  • Be unique within its category (lines, groups, or meters)
CorrectFalseReason
Line1-Line1Begins with dash
BUILDING-EASTMain LineContains space
floor2-section3-group5Section-Ends with dash
MainSupply@Building1Contains special character

3.4. Phase configuration

The system supports both three-phase and single-phase installations:

Three-Phase System (Standard)

{
"lines": {
"MainSupply": {
"CurrentLimit": {
"L1": 63,
"L2": 63,
"L3": 63
}
}
}
}

Single-Phase System

{
"lines": {
"MainSupply": {
"CurrentLimit": {
"L1": 32, /* Active phase */
"L2": 0, /* Unused phases are set to 0 */
"L3": 0
}
}
}
}

3.5. Configuration rules

Power line configuration

  • One main supply line serves as the source (no Parent field)
  • Each additional line connects to a single upstream line
  • Direct or indirect self-connection is not permitted
  • All referenced lines must exist in the configuration
  • Unused phases must be explicitly set to 0
  • All chargers on a line must match its phase configuration

Charging group configuration

  • Each group requires a valid power line connection
  • Groups must contain at least one charging point
  • Charging points may belong to only one group
  • Groups inherit phase availability from their parent line

Meter configuration

  • Each meter must reference an existing power line
  • Meters may monitor total line current or external loads
  • Meter phase configuration must match the line's configuration

3.6. Optional parameters and validation

Optional Parameters

  • ExternalLoadCurrent: Specified fixed loads on the line (must match phase configuration)
  • X-InterSwitchTime: Minimum interval between limit adjustments (milliseconds)
  • id: Configuration version identifier (string)

Validation Requirements

The system verifies that:

  1. Current limits are positive values
  2. Downstream limits do not exceed upstream capacity
  3. All line references are valid
  4. Charging point assignments are unique
  5. Names conform to specified requirements
  6. Line connections maintain proper hierarchy
  7. Phase configurations are consistent throughout each branch
  8. Zero-current phases are properly propagated to child lines

3.7. System layout examples

Three-Phase Installation

MainSupply (63A per phase)          # All phases active
├── Wing-A (32A per phase) # All phases active
│ ├── Group-1 # Three-phase chargers
│ └── Section-1 (16A per phase)
│ ├── Group-2
│ └── Meter-1
└── Wing-B (32A per phase)
├── Meter-2
└── Group-3

Mixed-Phase Installation

MainSupply (63A per phase)          # All phases active
├── Wing-A (32A on L1 only) # Single-phase section
│ ├── Group-1 # Single-phase chargers
│ └── Meter-1
└── Wing-B (32A per phase) # Three-phase section
└── Group-2 # Three-phase chargers

3.8. Complete configuration examples

Three-Phase Installation

{
"lines": {
"MainSupply": {
"CurrentLimit": {
"L1": 63,
"L2": 63,
"L3": 63
}
},
"Section1": {
"CurrentLimit": {
"L1": 32,
"L2": 32,
"L3": 32
},
"Parent": "MainSupply"
}
},
"groups": {
"Group1": {
"Elements": ["charger1", "charger2"],
"Parent": "Section1"
}
}
}

Single-Phase Installation

{
"lines": {
"MainSupply": {
"CurrentLimit": {
"L1": 32,
"L2": 0,
"L3": 0
}
},
"Section1": {
"CurrentLimit": {
"L1": 16,
"L2": 0,
"L3": 0
},
"Parent": "MainSupply"
}
},
"groups": {
"Group1": {
"Elements": ["single-phase-charger1"],
"Parent": "Section1"
}
}
}

4. Deep dive into the constraint file

The following interactive diagram provides a visual representation of a complete Hierarchical DLM configuration:

tip

Hover over the elements in the diagram to see the constraints.json equivalent.

  • The diagram is simplified to focus on the Hierarchical DLM aspect
  • All Charging Stations and Meters are connected to the same network
{
"lines": {
"main": {
"CurrentLimit": {
"L1": 40,
"L2": 40,
"L3": 40
}
},
"line1": {
"CurrentLimit": {
"L1": 32,
"L2": 32,
"L3": 32
},
"Parent": "main"
},
"line2": {
"CurrentLimit": {
"L1": 20,
"L2": 20,
"L3": 20
},
"Parent": "main"
},
"line3": {
"CurrentLimit": {
"L1": 20,
"L2": 20,
"L3": 20
},
"Parent": "main"
}
},
"groups": {
"floor-1": {
"Elements": ["F1-S1", "F1-S2", "F1-S3", "F1-S4", "F1-S5"],
"Parent": "line1"
},
"floor-2": {
"Elements": ["F2-S1", "F2-S2", "F2-S3"],
"Parent": "line2"
},
"floor-3": {
"Elements": ["F3-S1", "F3-S2", "F3-S3"],
"Parent": "line3"
}
},
"meters": {
"Main": {
"Model": "EEM-MB371",
"Parent": "main",
"Interface": {
"Type": "modbus-tcp",
"IPAddress": "10.1.2.3"
}
},
"externalLoad": {
"Model": "EEM-MB371",
"Parent": "line3",
"Interface": {
"Type": "modbus-tcp",
"IPAddress": "10.2.3.4"
}
}
}
}

Let's break down the elements and their attributes:

Element TypeNameParameter/AttributeValueInfo
LinemainCurrentLimit
L 1L 2L 3
40A40A40A
Main supply line. Parent node of all other lines.
line1CurrentLimit
L 1L 2L 3
32A32A32A
Sub-line of main, feeds floor-1.
line2CurrentLimit
L 1L 2L 3
20A20A20A
Sub-line of main, feeds floor-2.
line3CurrentLimit
L 1L 2L 3
20A20A20A
Sub-line of main, feeds floor-3.
Groupfloor-1ElementsF1-S1, F1-S2, F1-S3, F1-S4, F1-S5Charging Station group on floor 1. Parent is line1.
floor-2ElementsF2-S1, F2-S2, F2-S3Charging Station group on floor 2. Parent is line2.
floor-3ElementsF3-S1, F3-S2, F3-S3Charging Station group on floor 3. Parent is line3.
Charging StationF1-S1RoleHierarchical DLM Coordinator, DLM Master (floor-1)Controls full hierarchy and all floor-1 Charging Stations.
F1-S2  Charging Station under floor-1, managed by F1-S1.
F1-S3  
F1-S4  
F1-S5  
F2-S1RoleDLM Master (floor-2)Manages F2-S2, F2-S3 under floor-2. Managed by F1-S1 in HDLM hierarchy.
F2-S2Charging Station under floor-2, managed by F2-S1.
F2-S3Charging Station under floor-2, managed by F2-S1.
F3-S1RoleDLM Master (floor-3)Manages F3-S2, F3-S3 under floor-3. Managed by F1-S1 in HDLM hierarchy.
F3-S2Charging Station under floor-3, managed by F3-S1.
F3-S3Charging Station under floor-3, managed by F3-S1.
MeterMainModelEEM-MB371Main energy meter, connected to main.
Interface.Typemodbus-tcpCommunication protocol.
Interface.IPAddress10.1.2.3IP address of the main meter.
externalLoadModelEEM-MB371Secondary meter for line3 monitoring external loads on the circuit.
Interface.Typemodbus-tcpCommunication protocol.
Interface.IPAddress10.2.3.4IP address of this meter.