Benutzerdefinierte Implementierung der Zentralstation

Richtlinien für die Implementierung benutzerdefinierter OCPP-Zentralstationsfunktionalität und die Behandlung eingehender Anfragen von Ladepunkten.

Überblick

Eine OCPP 1.6-Zentralstation muss die eingehenden Anfragen von den Ladepunkten behandeln. Das WinCC OA OCPP 1.6-Unterprojekt bietet ein Framework, mit dem ein Kunde die eingehenden Anfragen entsprechend seinen Anforderungen behandeln kann.

Mit der CTRL-Schnittstelle kann der Kunde entweder die Basis-Implementierung wie sie ist verwenden oder sie als Ausgangspunkt für die Behandlung der empfangenen Anfragen vom Ladepunkt nutzen.

Wichtig:
Nach Änderungen an der Implementierung von CTRL-Skripten muss der JavaScript Manager mit dem Skript ocpp/index.js neu gestartet werden.

Anpassbare Request-Handler

Die folgenden Anfragen können mit benutzerdefinierten Implementierungen behandelt werden:

Authorize

Standard-Implementierung: Jeden Benutzer akzeptieren.

Bevor der Besitzer eines Elektrofahrzeugs das Laden starten oder stoppen kann, muss der Ladepunkt den Vorgang autorisieren. Die Basis-Implementierung akzeptiert jedes empfangene ID-Tag.

StartTransaction

Standard-Implementierung: Den Start der Transaktion akzeptieren und die Transaktions-ID erhöhen.

Der Ladepunkt sendet eine StartTransaction an das Zentralsystem, um über eine gestartete Transaktion zu informieren. Die Basis-Implementierung akzeptiert jede StartTransaction-Anfrage und schreibt die empfangenen Informationen in _OCPP_1_6_Connector.Transaction.Start.*.

StopTransaction

Standard-Implementierung: Das Stoppen der Transaktion akzeptieren und die Transaktionsinformationen am Anschluss aktualisieren.

Wenn eine Transaktion gestoppt wird, sendet der Ladepunkt eine StopTransaction und benachrichtigt das Zentralsystem, dass die Transaktion gestoppt wurde. Die Basis-Implementierung akzeptiert jede StopTransaction-Anfrage und schreibt die empfangenen Informationen in _OCPP_1_6_Connector.Transaction.Stop.*.

DataTransfer

Standard-Implementierung: Mit UnknownVendorId antworten.

Wenn ein Ladepunkt/Zentralsystem Informationen an den Verbindungspartner für eine von OCPP nicht unterstützte Funktion senden muss, verwendet es DataTransfer. Die Basis-Implementierung antwortet auf das Datenübertragungstelegramm mit UnknownVendorId und schreibt es ins Log, keine weitere Aktion wird unternommen.

Beispiel-Implementierung

Ein Beispiel für die Änderung der Standard-Implementierung findet sich in OCPP_3.21/scripts/libs/examples/classes/ocpp/1.6/Ocpp16RequestHandler.ctl.

Verfügbare Befehle

Die folgenden Befehle können über das UI oder die entsprechende CTRL-Klasse ausgelöst werden:

Core Profile-Befehle
  • ChangeAvailability: Das Zentralsystem kann einen Ladepunkt auffordern, seine Verfügbarkeit zu ändern.
  • ChangeConfiguration: Das Zentralsystem kann einen Ladepunkt auffordern, Konfigurationsparameter zu ändern.
  • ClearCache: Das Zentralsystem kann einen Ladepunkt auffordern, seinen Autorisierungs-Cache zu löschen.
  • GetConfiguration: Um die Werte von Konfigurationseinstellungen abzurufen, sendet das Zentralsystem eine GetConfiguration an den Ladepunkt.
  • RemoteStartTransaction: Das Zentralsystem kann einen Ladepunkt auffordern, eine Transaktion zu starten, indem es eine RemoteStartTransaction sendet.
  • RemoteStopTransaction: Das Zentralsystem kann einen Ladepunkt auffordern, eine Transaktion zu stoppen, indem es eine RemoteStopTransaction mit der Kennung der Transaktion an den Ladepunkt sendet.
  • Reset: Das Zentralsystem sendet einen Reset, um einen Ladepunkt aufzufordern, sich selbst zurückzusetzen. Das Zentralsystem kann einen harten oder weichen Reset anfordern.
  • UnlockConnector: Das Zentralsystem kann einen Ladepunkt auffordern, einen Anschluss zu entsperren.
Smart Charging Profile-Befehle
  • ClearChargingProfile: Wenn das Zentralsystem einige oder alle Ladeprofile löschen möchte, die zuvor an den Ladepunkt gesendet wurden, verwendet es ClearChargingProfile.
  • GetCompositeSchedule: Das Zentralsystem kann den Ladepunkt auffordern, den zusammengesetzten Ladeplan zu melden, indem es eine GetCompositeSchedule sendet.
  • SetChargingProfile: Ein Zentralsystem kann eine SetChargingProfile an einen Ladepunkt senden, um ein Ladeprofil in verschiedenen Situationen zu setzen.
Remote Trigger Profile-Befehle
  • TriggerMessage: Die TriggerMessage ermöglicht es dem Zentralsystem, den Ladepunkt aufzufordern, Ladepunkt-initiierte Nachrichten zu senden.
Local Auth List Management Profile-Befehle
  • GetLocalListVersion: Um die Synchronisation der lokalen Autorisierungsliste zu unterstützen, kann das Zentralsystem einen Ladepunkt nach der Versionsnummer der lokalen Autorisierungsliste fragen.
  • SendLocalList: Das Zentralsystem kann eine lokale Autorisierungsliste senden, die ein Ladepunkt für die Autorisierung von ID-Tags verwenden kann.
Reservation Profile-Befehle
  • CancelReservation: Um eine Reservierung zu stornieren, sendet das Zentralsystem eine CancelReservation an den Ladepunkt.
  • ReserveNow: Ein Zentralsystem kann eine ReserveNow an einen Ladepunkt senden, um einen Anschluss für die Verwendung durch ein bestimmtes ID-Tag zu reservieren.
Firmware Management Profile-Befehle
  • GetDiagnostics: Das Zentralsystem kann einen Ladepunkt um Diagnoseinformationen bitten.
  • UpdateFirmware: Das Zentralsystem kann einen Ladepunkt benachrichtigen, dass er seine Firmware aktualisieren muss.

Automatische Antwortbehandlung

Die folgenden Nachrichten werden automatisch vom OCPP-Manager behandelt:

  • BootNotification: Der Manager antwortet automatisch auf diese Nachricht mit dem Ladepunkt-Registrierungsstatus, der in der Anwendung gesetzt werden kann.
  • Heartbeat: Um das Zentralsystem wissen zu lassen, dass ein Ladepunkt noch verbunden ist, sendet ein Ladepunkt nach einem konfigurierbaren Zeitintervall einen Heartbeat. Der Zeitstempel des letzten Heartbeats kann unter _OCPP_1_6_ChargePoint.State.Connected:_online.._stime eingesehen werden.
  • MeterValues: Ein Ladepunkt kann den elektrischen Zähler oder andere Sensor-/Wandler-Hardware abtasten, um zusätzliche Informationen über seine Zählerwerte bereitzustellen. Der Inhalt des Telegramms wird in das DPE _OCPP_1_6_Connector.MeterValues für den durch das connectorId-Feld des Zählerwerte-Telegramms angegebenen Anschluss geschrieben.
  • StatusNotification: Ein Ladepunkt sendet eine Benachrichtigung an das Zentralsystem, um das Zentralsystem über eine Statusänderung oder einen Fehler innerhalb des Ladepunkts zu informieren. Die empfangenen Statusdaten werden in die DPEs unter _OCPP_1_6_Connector.Status geschrieben.
  • DiagnosticsStatusNotification: Der Ladepunkt sendet eine Benachrichtigung, um das Zentralsystem über den Status eines Diagnose-Uploads zu informieren. Der empfangene Status wird in das _OCPP_1_6_ChargePoint.State.DiagnosticsStatusNotification DPE geschrieben.
  • FirmwareStatusNotification: Ein Ladepunkt sendet Benachrichtigungen, um das Zentralsystem über den Fortschritt des Firmware-Updates zu informieren. Der empfangene Status wird in das _OCPP_1_6_ChargePoint.State.FirmwareStatusNotification DPE geschrieben.