DURING CHARGING

Hoe gebruik je slim opladen met OCPP

Intro

In deze gids zullen we onderzoeken hoe we slim opladen voor elektrische voertuigen mogelijk kunnen maken door dieper in te gaan op de componenten van een laadprofiel in OCPP 1.6J-formaat en het proces waarmee een laadstation laadprofielen accepteert.

Het gebruik van oplaadprofielen maakt het mogelijk slim opladen wordt geïmplementeerd met opladers die voldoen aan OCPP.

Een laadprofiel is een set vermogenslimieten met gedefinieerde tijdwaarden in seconden. Een laadprofiel kan er bijvoorbeeld ongeveer zo uitzien:

energy diagram

Anders beschreven als:

  • Vermogen 10 kW van tijd 0 seconden tot 120 seconden
  • Vermogen 25 kW van tijd 120 seconden tot 300 seconden
  • Vermogen 5 kW van tijd 300 seconden tot 600 seconden
  • Vermogen 8 kW van tijd 600 seconden tot 800 seconden

OCPP definieert een standaardformaat om deze laadprofielen te maken, zodat alle OCPP-compatibele laders deze opdrachten kunnen accepteren en volgen. Het ziet er zo uit:

{
„ConnectorID”: 3
„CsChargingProfiles”: {
„Profiel-ID opladen”: 26771,
„chargingProfileKind”: „Absoluut”,
„chargingProfilePurpose”: „Tx-profiel”,
„ChargingProfile Schedule”: {
„Laadsnelheidseenheid”: „kW”,
„Oplaadschemaperiode”: [
{
„limiet”: 2,
„Startperiode”: 0
}
],
„duur”: 86400
},
„Stapelniveau”: 1,
„Transactie-ID”: 372812,
„validFrom”: „2021-10-25T 21:57:33.222 092",
„ValidTo”: „2021-10-26T 21:57:33.222 092"
}
}

De OCPP-backend kan een laadprofiel verzenden tijdens een transactie (= laadsessies) of wanneer er geen transacties plaatsvinden. In het laatste geval definieert OCPP echter bepaalde beperkingen, die we hieronder verder zullen bespreken (TxDefaultProfiel vs. TXprofiel).

In ieder geval vinden er verschillende stappen plaats wanneer een oplaadsessie plaatsvindt waarbij slim opladen is ingeschakeld. Zodra een oplaadsessie is gestart, ofwel via een Transactie starten of Starten op afstand, verzendt het centrale systeem laadprofielen met behulp van een Stel het oplaadprofiel in. req.

De Stel het oplaadprofiel in. req is een van de complexere OCPP-berichttypen en heeft veel configuratieopties. Dit bericht maakt energiebeheer mogelijk omdat het de flexibiliteit bevat om complexe logica te bouwen. Aan de andere kant kan dit leiden tot complexe problemen en fouten als het verkeerd wordt gebruikt.

De Stel het oplaadprofiel in. req bevat een object CChargingProfiel. Dit object specificeert kernparameters zoals de vermogens- of stroomlimieten, het tijdsbestek en meer.

De eenheden van de limiet kunnen bijvoorbeeld worden uitgedrukt in kracht (maximaal toegestaan vermogen in watt) of huidige (maximaal toegestane stroom per fase in ampère).

Bepaalde parameters, zoals Aantal fasen, Duur, kan ook een grote invloed hebben op hoe een laadpunt reageert op een opdracht.

Het laadpunt zal op deze opdrachten reageren met een bevestiging, SetChargingProfile.conf, dat een antwoord bevat dat is gedefinieerd voor Status van het opladen van het profiel zoals geaccepteerd, afgewezen, niet ondersteund. Als de oplader reageerde met afgewezen of niet ondersteund, mogelijk moet u het formaat verifiëren van de Stel een oplaadprofiel in of controleer het formaat bij de hardwarefabrikant. De meeste laders hebben beperkingen en uitzonderingen en zullen deze reactie veroorzaken.

Hoewel het bovenstaande een vereenvoudiging is van het proces en de vereiste velden, zullen we hieronder elk van de vereiste velden bekijken en wat ze vertegenwoordigen.

Een laadprofiel verzenden met SetChargingProfile.req

OCPP 1.6j Set Charging Profile diagram

Achtergrond: In OCPP stuurt het centrale systeem het bericht SetChargingProfile.req naar het laadpunt. Het laadpunt wordt bevestigd met SetChargingProfile.conf (geaccepteerd, afgewezen, niet ondersteund).

Het is samengesteld uit de Connector-ID en de CS-oplaadprofielen.

  • ConnectID (vereist): De connector waarop het laadprofiel van toepassing is. Als ConnectorID = 0, bevat het bericht een algemene limiet voor het laadpunt.
  • CS-oplaadprofielen (vereist): Het laadprofiel moet bij het laadpunt worden ingesteld.

Een SetChargingProfile.req kan worden verzonden:

  1. Aan het begin van een transactie om het laadprofiel voor de transactie in te stellen:
    Zodra een transactie is gestart, wordt een laadprofiel ingesteld op die specifieke transactie-ID. Dit voorkomt mismatches tussen transacties en TX-profielen, waarbij ervoor wordt gezorgd dat het laadcommando een corresponderende transactie-ID heeft.
  2. In een Transactie op afstand starten aanvraag verzonden naar een laadpunt:
    Als een transactie op afstand wordt gestart, kan het centrale systeem een laadprofiel opnemen in de Transactie op afstand starten verzoek.
  3. Tijdens een transactie om het actieve profiel voor de transactie te wijzigen:
    Het kan nodig zijn om het laadprofiel bij te werken tijdens een transactie. In dit geval een andere Stel het oplaadprofiel in. req wordt verzonden. Het laadpunt zal vervolgens de verzameling laadprofielen opnieuw evalueren om te bepalen welk profiel actief is.
  4. Buiten de context van een transactie als een apart bericht om een laadprofiel in te stellen op een lokale controller, laadpunt of een standaard laadprofiel op een connector: Standaard laadprofielen kunnen naar het laadpunt worden gestuurd. Deze standaardprofielen kunnen worden uitgevoerd zonder transactie-ID's, wat handig kan zijn als er problemen zijn met de netwerkverbinding, en het opladen zelfs mogelijk maakt zonder Transactie-ID's.

De elementen van het ChargingProfile beschrijven met CsChargingProfile

OCPP 1.6j Charging Profile diagram

EEN Oplaadprofiel bestaat uit een Oplaadschema, beschreven in de volgende sectie, waarin de vermogenslimieten in de loop van de tijd worden beschreven.

Hier kijken we naar CSCharging-profiel, waarin de specifieke elementen binnen het laadprofiel worden beschreven.

  • chargingProfileId (Required): Unique Identifier for this profile. This is defined by the energy management system or the OCPP backend.
  • transactionId (Optional): Only valid if the profile is TxProfile, in which case the transaction ID is used to match the profile to a specific transaction. This field is not required for txDefaultProfiles but is required for txProfiles.
  • stackLevel (Required): Value determining level in hierarchy stack of profiles. Higher values have precedence over lower values. The lowest level is 0.) This is used to stack several profiles on each other without deleting or overriding the previous one. The charge point will always use the profile on the highest available stack level. Stacking charging profiles with various levels allows the construction of complex schedules that can take into account times of day, days of the week, and even certain holiday exceptions.
  • chargingProfilePurpose (Required): Defines the purpose of the schedule transferred by this message. OCPP defines the following options:
    • ChargePointMaxProfile: Configuration for the maximum power or current available for an entire Charge Point.
    • TxProfile: Profile with constraints to be imposed by the Charge Point on the current transaction or a new transaction when this is started via a RemoteStartTransaction.req with a ChargeProfile. A profile with this purpose SHALL cease to be valid when the transaction terminates. This is the most frequently used charging profile purpose.
    • TxDefaultProfile: a default profile to be used for new transactions. More on the differences between TxProfiles and TxDefaultProfiles can be found here. Typically a default profile can be sent without a transactionID, for example, to ensure charging occurs in a controlled manner if connectivity is lost.
  • chargingProfileKind (Required): Indicates the kind of schedule.
    • Absolute: Schedule periods are relative to a fixed point in time defined in the schedule.
    • Recurring: The schedule restarts periodically at the first schedule period.
    • Relative: Schedule periods are relative to a situation-specific start point (such as the start of a Transaction), which is determined by the charge point.
  • recurrencyKind (Optional): Indicates the start point of a recurrence.
    • Daily: Schedule restarts at the beginning of the next day
    • Weekly: Schedule restarts at the beginning of the next week (Monday morning)
  • validFrom (Optional): Point in time at which the profile starts to be valid. If absent, the profile is valid as soon as the Charge Point receives it. Remember that most charge points use the UTC time zone.
  • validTo (Optional): Point in time at which the profile stops being valid. If absent, the profile is valid until it is replaced by another profile.
  • chargingSchedule (Required): Contains limits for the available power or current over time. This is technically the core of the setChargingProfile.req and contains the actual “charging profile.” We will go into more detail in the next section.

ChargingSchedule: beschrijft de hoeveelheid vermogen of stroom die per tijdsinterval kan worden geleverd

De Oplaadschema component gevonden in de CS-oplaadprofielen bevat stroom- of stroomlimieten in de loop van de tijd voor de laadprofielen. Daarnaast bevat het ook andere informatie, zoals eenheden, enz.

  • Duration (Optional): Duration of the charging schedule in seconds. If the duration is left empty, the last period will continue indefinitely, or until the end of the transaction, in case startSchedule is absent. Important: some charge points require this field.
  • startSchedule (Optional): Starting point of an absolute schedule. If absent, the schedule will be relative to the start of charging.
  • chargingRateUnit (Required): The unit of measure Limit is expressed in:
    • W: Watts (power) defines the maximum power allowed on the charge point
    • A: Amperes (current) defines the maximum current allowed per phase
  • chargingSchedulePeriod (Required): List of ChargingSchedulePeriod elements defining maximum power or current usage over time. The startSchedule of the first ChargingSchedulePeriod SHALL always be 0. This always has:
    • startPeriod (Required): Start of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.
    • Limit (Required): Charging rate limit during the scheduled period, in the applicable chargingRateUnit, for example, in Amperes or Watts. Accepts at most one digit fraction (e.g. “8.1”).
    • numberPhases (Optional): The number of phases that can be used for charging. If several phases are needed, numberPhases=3 will be assumed unless another number is given.
  • minChargingRate (Optional): Minimum charging rate supported by the electric vehicle. The chargingRateUnit defines the unit of measure. This parameter is intended to be used by a local smart charging algorithm to optimize the power allocation if a charging process is inefficient at lower charging rates. Accepts at most one digit fraction (e.g. “8.1”). Certain vehicles stop charging or go into sleep mode if the charging rate is too low. This parameter sets a minimum power so that the charging remains engaged at the most minimal level.

Afronding: echte toepassingen met EVSE Brands

{
„ConnectorID”: 3,
„CsChargingProfiles”: {
„Profiel-ID opladen”: 26771,
„chargingProfileKind”: „Absoluut”,
„chargingProfilePurpose”: „TxDefaultProfile”,
„ChargingSchedule”: {
„Laadsnelheidseenheid”: „kW”,
„Oplaadschemaperiode”: [
{
„limiet”: 2,
„Startperiode”: 0
}
],
„duur”: 86400
},
„Stapelniveau”: 1,
„TransactionID”: null,
„validFrom”: „2021-10-25T 21:57:33.222 092",
„ValidTo”: „2021-10-26T 21:57:33.222 092"
}
}

Hoewel het bovenstaande de vereiste en optionele componenten van laadprofielberichten met OCPP benadrukt, hebben we bij Ampcontrol vastgesteld dat bepaalde fabrikanten enigszins verschillende nuances hebben in hun interpretatie van OCPP.

Veel opladers volgen bijvoorbeeld niet de standaard zoals verwacht en verwachten een ander formaat. Anderen accepteren mogelijk alleen limieten met een bepaald aantal stapelniveaus of fasen. Het kan zijn dat het exacte laadprofiel dat naar de oplader wordt gestuurd, moet worden aangepast; anders weigert de oplader het bericht.

Naast het berekenen en verzenden van laadprofielen is het net zo belangrijk om foutmeldingen te begrijpen en hardwaretests uit te voeren met fabrikanten. Bij Ampcontrol testen we meestal met modellen voordat we complexe laadprofielen op een echte laadlocatie uitvoeren.

Samenvatting

Als u slim opladen wilt gebruiken bij het opladen, moet u eerst een oplaadsessie starten. Je kunt dit doen via Transactie starten of Starten op afstand. Eenmaal gestart, verzendt het centrale systeem laadprofielen met behulp van een Stel het oplaadprofiel in. req.

De Stel het oplaadprofiel in. req is een van de complexere OCPP-berichttypen en heeft veel configuratieopties. Dit bericht maakt energiebeheer mogelijk omdat het de flexibiliteit bevat om complexe logica te bouwen.

De SetChargingProfile.req bevat een object CChargingProfiel. Dit object specificeert kernparameters zoals de vermogens- of stroomlimieten, het tijdsbestek en meer. Het laadpunt zal vervolgens op deze opdrachten reageren met een bevestiging, SetChargingProfile.conf, dat een antwoord bevat dat is gedefinieerd voor Status van het opladen van het profiel zoals geaccepteerd, afgewezen, niet ondersteund.

Overzicht

Intro

Een oplaadprofiel verzenden met Stel het oplaadprofiel in. req

De elementen van het ChargingProfile beschrijven met CSCharging-profiel

ChargingSchedule: beschrijft de hoeveelheid vermogen of stroom die per tijdsinterval kan worden geleverd.

Afronding: echte toepassingen met EVSE Brands

Samenvatting