Comment utiliser la recharge intelligente avec OCPP
Intro
Dans ce guide, nous verrons comment activer la recharge intelligente pour les véhicules électriques en examinant de plus près les composants d'un profil de charge au format OCPP 1.6J et le processus par lequel une borne de recharge accepte les profils de charge.
Un profil de charge est un ensemble de limites de puissance avec des valeurs de temps définies en secondes. Par exemple, un profil de charge peut ressembler à ceci :
Autrement décrit comme suit :
Puissance 10 kW entre 0 secondes et 120 secondes
Puissance 25 kW entre 120 secondes et 300 secondes
Puissance 5 kW entre 300 secondes et 600 secondes
Puissance 8 kW entre 600 secondes et 800 secondes
L'OCPP définit un format standard pour créer ces profils de charge afin que tous les chargeurs conformes à l'OCPP puissent accepter et suivre ces commandes. Cela ressemble à ceci :
{ « ID du connecteur » : 3 « CSChargingProfiles » : { « ID du profil de charge » : 26771, « ChargingProfileKind » : « Absolu », « ChargingProfilePurpose » : « TxProfile », « Calendrier du profil de charge » : { « Unité de débit de charge » : « kW », « Période du calendrier de recharge » : [ { « limite » : 2, « Période de début » : 0 } ], « durée » : 86400 }, « Niveau de pile » : 1, « Numéro de transaction » : 372812, « ValidFrom » : « 2021-10-25T 21:57:33.222 092", « Valable à » : « 2021-10-26 T 21:57:33.222 092 » } }
Le backend OCPP peut envoyer un profil de facturation pendant une transaction (= sessions de facturation) ou lorsqu'aucune transaction n'a lieu. Cependant, l'OCPP définit certaines limites dans ce dernier cas, dont nous parlerons plus loin (Profil TXDefaultProfile contre TXProfil).
Dans tous les cas, plusieurs étapes s'effectuent lorsqu'une session de recharge a lieu lorsque la recharge intelligente est activée. Une fois qu'une session de recharge est lancée, soit via Démarrer la transaction ou Démarrage à distance, le système central envoie des profils de recharge à l'aide d'un Définir le profil de charge. Req.
Le Définir le profil de charge. Req est l'un des types de messages OCPP les plus complexes et possède de nombreuses options de configuration. Ce message rend possible la gestion de l'énergie car il offre la flexibilité nécessaire pour créer une logique complexe. D'un autre côté, cela peut entraîner des problèmes complexes et des erreurs s'il est mal utilisé.
Le Définir le profil de charge. Req inclut un objet CSChargingProfil. Cet objet spécifie les paramètres de base tels que les limites de puissance ou de courant, la période, etc.
Par exemple, les unités de la limite peuvent être exprimées en puissance (puissance maximale autorisée en watts) ou actuel (courant maximal autorisé par phase en ampères).
Certains paramètres, tels que Phases numériques, Durée, peut également influencer fortement la réaction d'une borne de charge à une commande.
La borne de recharge répondra à ces commandes par une confirmation, Définir ChargingProfile.conf, qui inclut une réponse définie pour État du profil de recharge comme accepté, rejeté, non pris en charge. Si le chargeur a répondu avec rejetés ou non pris en charge, vous devrez peut-être vérifier le format du Définir le profil de charge ou vérifiez le format auprès du fabricant du matériel. La plupart des chargeurs présentent des limites et des exceptions et provoqueront cette réaction.
Bien que ce qui précède soit une simplification du processus et des champs requis, nous examinerons chacun des champs obligatoires et ce qu'ils représentent ci-dessous.
Envoi d'un profil de recharge à l'aide de SetChargingProfile.Req
Contexte : Dans OCPP, le système central envoie le message SetChargingProfile.Req à la borne de recharge. La borne de recharge est confirmée avec SetChargingProfile.conf (Accepted, Rejected, NotSupported).
Il est composé de ID du connecteur et le Profils de charge CS.
ID de connexion (obligatoire) : Connecteur auquel s'applique le profil de charge. Si ConnectorId = 0, le message contient une limite globale pour la borne de recharge.
Profils de charge CS (obligatoire) : Le profil de charge doit être réglé sur la borne de recharge.
Un SetChargingProfile.Req peut être envoyé :
Au début d'une transaction pour définir le profil de facturation de la transaction : Une fois qu'une transaction a commencé, un profil de facturation est défini pour cet identifiant de transaction spécifique. Cela permet d'éviter les incohérences entre les transactions et Profils TX, en s'assurant que la commande de facturation possède un identifiant de transaction correspondant.
Dans un Transaction de démarrage à distance demande envoyée à une borne de recharge : Si une transaction est démarrée à distance, le système central peut inclure un profil de facturation dans Transaction de démarrage à distance demande.
Lors d'une transaction pour modifier le profil actif de la transaction : Il peut être nécessaire de mettre à jour le profil de facturation lors d'une transaction. Dans ce cas, un autre Définir le profil de charge. Req sera envoyé. La borne de recharge réévaluera ensuite l'ensemble des profils de charge pour déterminer quel profil est actif.
En dehors du contexte d'une transaction, sous forme de message distinct pour définir un profil de recharge pour un contrôleur local, une borne de recharge ou un profil de recharge par défaut pour un connecteur : Les profils de recharge par défaut peuvent être envoyés à la borne de recharge. Ces profils par défaut peuvent être exécutés sans ID de transaction, ce qui peut être utile en cas de problèmes de connectivité réseau et permet de facturer même sans Identifiants de transaction.
Décrire les éléments du ChargingProfile avec CSChargingProfile
UNE Profil de recharge se compose d'un Calendrier de recharge, décrit dans la section suivante, qui détaille les limites de puissance au fil du temps.
Ici, nous examinons Profil CSChargingProfile, qui décrit les éléments spécifiques du profil de charge.
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 : décrit la quantité d'énergie ou de courant qui peut être délivrée par intervalle de temps
Le Calendrier de recharge composant trouvé dans Profils de charge CS inclut des limites de puissance ou de courant dans le temps pour les profils de charge. En outre, il comprend également d'autres informations telles que les unités, etc.
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.
Conclusion : des applications réelles avec EVSE Brands
{ « ID du connecteur » : 3, « CSChargingProfiles » : { « ID du profil de charge » : 26771, « ChargingProfileKind » : « Absolu », « ChargingProfilePurpose » : « TXDefaultProfile », « Calendrier de recharge » : { « Unité de débit de charge » : « kW », « Période du calendrier de recharge » : [ { « limite » : 2, « Période de début » : 0 } ], « durée » : 86400 }, « Niveau de pile » : 1, « TransactionID » : nul, « ValidFrom » : « 2021-10-25T 21:57:33.222 092", « Valable à » : « 2021-10-26 T 21:57:33.222 092 » } }
Bien que ce qui précède mette en évidence les composants obligatoires et facultatifs des messages de profil de charge utilisant l'OCPP, nous avons constaté chez Ampcontrol que certains fabricants ont des interprétations légèrement différentes de l'OCPP.
Par exemple, de nombreux chargeurs ne respectent pas la norme comme prévu et s'attendent à un format différent. D'autres peuvent n'accepter des limites qu'avec un certain nombre de niveaux ou de phases de pile. Certaines modifications peuvent être nécessaires pour le profil de charge exact envoyé au chargeur ; sinon, le chargeur rejettera le message.
Outre le calcul et l'envoi des profils de charge, il est tout aussi important de comprendre les messages d'erreur et de réaliser des tests matériels avec les fabricants. Chez Ampcontrol, nous effectuons généralement des tests sur des modèles avant d'exécuter des profils de charge complexes sur un site de recharge réel.
Résumé
Pour utiliser la recharge intelligente dans le cadre du fonctionnement de votre chargeur, vous devez d'abord démarrer une session de recharge. Vous pouvez le faire soit via Démarrer la transaction ou Démarrage à distance. Une fois lancé, le système central envoie des profils de recharge à l'aide d'un Définir le profil de charge. Req.
Le Définir le profil de charge. Req est l'un des types de messages OCPP les plus complexes et possède de nombreuses options de configuration. Ce message rend possible la gestion de l'énergie car il offre la flexibilité nécessaire pour créer une logique complexe.
Le SetChargingProfile.Req inclut un objet CSChargingProfil. Cet objet spécifie les paramètres de base tels que les limites de puissance ou de courant, la période, etc. La borne de recharge répondra ensuite à ces commandes par une confirmation, Définir ChargingProfile.conf, qui inclut une réponse définie pour État du profil de recharge comme accepté, rejeté, non pris en charge.
Schéma
Intro
Envoi d'un profil de recharge à l'aide de Définir le profil de charge. Req
Décrire les éléments du ChargingProfile avec Profil CSChargingProfile
Calendrier de charge : décrit la quantité d'énergie ou de courant qui peut être délivrée par intervalle de temps.
Conclusion : des applications réelles avec EVSE Brands