TC_072_CS — Stacking Charging Profiles
TC_072_CS — Stacking Charging Profiles
Source: OCPP 1.6 — Compliancy Testing Tool — Test Case Document (Trial 2025-06, Draft). System Under Test: Charge Point, page 92.
Identification
| Field | Value |
|---|---|
| Test case name | Stacking Charging Profiles |
| Test case Id | TC_072_CS |
| System under test | Charge Point |
Description
The Central System sends 2 ChargingProfiles to a Charge Point and then requests (and validates) the composite schedule.
Purpose
To check whether the Charge Point is able to stack ChargingProfiles as specified in OCPP.
Prerequisite(s)
The Charge Point supports the Smart Charging feature profile.
Before (Preparations)
Configuration State(s):
- N/a
Memory State(s):
- SetChargingProfile with ChargingProfile 1: chargingProfilePurpose is TxDefaultProfile chargingProfileKind should be Absolute stackLevel should be 0 connectorId<Configured ConnectorId> validFrom<current dateTime - <Configured max time deviation> seconds> validTo<current dateTime + <Configured max time deviation> + 401 seconds> startSchedule<current dateTime - <Configured max time deviation> seconds> numberPhases<Configured numberPhases> ChargingSchedule: duration<400 + <Configured max time deviation> seconds> chargingRateUnit<Configured chargingRateUnit>
- Note: If <Configured chargingRateUnit> is W, then the limit field will be multiplied by 1000. startPeriod0, limit6 startPeriod100, limit8 startPeriod200, limit10 ChargingProfile 2: chargingProfilePurpose is TxDefaultProfile chargingProfileKind should be Absolute stackLevel should be 1 connectorId<Configured ConnectorId> validFrom<current dateTime - <Configured max time deviation> seconds> validTo<current dateTime + <Configured max time deviation> + 401 seconds> startSchedule<current dateTime - <Configured max time deviation> seconds> numberPhases<Configured numberPhases> ChargingSchedule: duration<150 + <Configured max time deviation> seconds> chargingRateUnit<Configured chargingRateUnit>
- Note: If <Configured chargingRateUnit> is W, then the limit field will be multiplied by 1000. startPeriod0, limit7 startPeriod100, limit9
Reusable State(s):
- N/a
Scenario Detail(s)
| Charge Point (SUT) | Central System (Tool) |
|---|---|
| 2. The Charge Point responds with a GetCompositeSchedule.conf | 1. The Central System sends a GetCompositeSchedule.req |
Tool validation(s)
Charge Point side:
Step 2:
(Message: GetCompositeSchedule.conf) statusAccepted connectorId is <Configured ConnectorId> ChargingSchedule: duration350 chargingRateUnit<Configured chargingRateUnit> scheduleStart<The time the GetCompositeSchedule.req was transmitted +/- <Configured max time deviation>> Note: If <Configured chargingRateUnit> is W, then the limit field will be multiplied by 1000. Note: The period of time between the scheduleStart from the SetChargingProfile.req with ChargingProfile 2 and the scheduleStart from the GetCompositeSchedule.conf is called x. Note: The period of time between the scheduleStart from the SetChargingProfile.req with ChargingProfile 1 and the scheduleStart from the GetCompositeSchedule.conf is called y. startPeriod0, limit7 startPeriod(100 - x), limit9 startPeriod(150 - x + <Configured max time deviation>), limit8 startPeriod(200 - y), limit10
Central System side:
Step 1:
(Message: GetCompositeSchedule.req)
- connectorId is <Configured ConnectorId>
- duration is 350
- chargingRateUnit is <Configured Charging Rate Unit>
Expected result(s) / behaviour
Charge Point side:
The Charge Point is able to stack multiple ChargingProfiles from the Central System and return a composite schedule.
Central System side:
- N/a