ChargeLink

Select a Protocol

ChargeLink is one application that speaks several charging standards. In each session it plays one role against your device under test (DUT): ChargeLink as charger (EVSE/SECC) when your DUT is a vehicle, EVCC or on-board charger, or ChargeLink as vehicle (EV/EVCC) when your DUT is a charger or SECC. Choose the standard your DUT speaks, then the role ChargeLink plays.

Standards and roles

StandardChargeLink as chargerChargeLink as vehicleTransportPage
ISO 15118-20DC EIM (iso15118_20_dc) and AC EIM (iso15118_20_ac_eim), plant-coupled on the NI VeriStand bench, Scheduled and Dynamic control mode; verified with the ChargeLink vehicle. DC without the bench: a network, SDP and TLS check only; AC always needs the plantDC EIM session against your charger (evcc activate-profile, EV case files from the kit); AC EIM session (iso20-ac-evcc); TLS probeIPv6 link-local, SDP, TCP, TLS 1.3 mutual, V2GTP, EXIISO 15118-20
MCS (ISO 15118-20 over 10BASE-T1S)DC with the MCS energy service, Scheduled control mode, EIM, on the NI VeriStand bench; connects to a ChargeLink vehicleMCS session; connects to a ChargeLink charger10BASE-T1S: IPv6 link-local, SDP, TCP, TLS 1.3 mutual, V2GTP, EXI; CE/ID from ChargeLink's coupler model over the coupler link (TCP 50119)MCS
ISO 15118-2AC and DC EIM, plant-coupled on the NI VeriStand bench; verified with the ChargeLink vehicle. DC also as a generic listener (protocol exchange only, no energy)DC (iso2-evcc) and AC (iso2-ac-evcc) EIM session against your chargerIPv6, SDP, TCP or TLS 1.2 (server authentication), V2GTP, EXIISO 15118-2
DIN 70121DC, plant-coupled on the NI VeriStand bench; verified with the ChargeLink vehicleDC session (din-evcc) against your chargerIPv6, SDP, TCP, V2GTP, EXI (no TLS)DIN 70121
IEC 61851-23/-24 System A (CHAdeMO)Station role with a simulated power stage; runs with the ChargeLink EV roleEV role; runs with a ChargeLink stationCAN: virtual CAN hub over TCP or a Kvaser CANlib channel; plant link over TCPCHAdeMO

In this release, the MCS and CHAdeMO roles run against a ChargeLink peer; testing a third-party EV or charger with CHAdeMO is not supported in 0.5.0. The plant-coupled chargers for ISO 15118-20, ISO 15118-2 and DIN 70121 run on the NI VeriStand bench and are verified with the ChargeLink vehicle. See each page for its limits. Each protocol page has the same sections: Before you start, ChargeLink as charger, ChargeLink as vehicle, Results and evidence, Limits and Troubleshooting. The scripted DC-CAN runs play fixed, pre-scripted CAN frames on a virtual bus; they are not a protocol implementation. For other charging standards, contact DEVlink.

Which role does ChargeLink play?

Your DUT is a...ChargeLink roleCommand family (IPv6 standards)
Vehicle, EVCC or vehicle simulatorCharger (EVSE, SECC)evse start, plant-coupled on the NI VeriStand bench
Charger or SECCVehicle (EV, EVCC)evcc tls-handshake-probe, evcc activate-profile, iso20-ac-evcc, iso2-evcc, iso2-ac-evcc, din-evcc

The role guides cover each side in depth: ChargeLink as Charger and ChargeLink as Vehicle. To check an installation without a DUT, see Self-test without a device under test.

Charger sessions with and without a plant

The two kinds of EVSE session: reference responder and plant-coupled runtime A · Reference‑responder session evse start --external-evcc-session (no plant) Vehiclerequest decode · matchmessage type referenceresponse response Checks network, discovery and TLS only; not a charging session. No values are computed; no power stage is controlled. B · Plant‑coupled runtime (ISO 15118‑20 DC EIM) iso15118_20_dc + --plant-grpc-endpoint + runtime profile Vehicletargets session logicScheduled and Dynamic control plant model (VeriStand FMU)voltage · current · contactor encoded response Responses computed from session and measurements; PreCharge, PowerDelivery and ChargeLoop react to the vehicle. Fails safe on watchdog expiry; runs on the NI VeriStand bench.
A: without a plant, the charger answers with reference responses; use it to check the network, discovery and TLS, not as a charging session. B: on the NI VeriStand bench, the plant-coupled charger computes its responses from the session and the plant model.

Knowing which kind of session you run prevents most misread results:

  • Plant-coupled charger session. evse start with --plant-grpc-endpoint on the NI VeriStand bench (ISO 15118-20 AC and DC EIM, ISO 15118-2 AC and DC EIM, DIN 70121 DC). Every response follows the session state and the plant measurements; PreCharge, PowerDelivery and the charge loop react to the vehicle's targets and to the simulated electrical behaviour. This is the charging session of the charger role, verified with the ChargeLink vehicle.
  • Charger without a plant. For ISO 15118-20 DC, a reference responder with fixed responses that checks the network, SDP and TLS only; it is not a charging session. For ISO 15118-2 DC, a generic listener with scripted replies for the protocol exchange only, without energy. ISO 15118-20 AC and DIN 70121 have no charger without a plant.

Both produce engineering evidence. Neither is accredited certification or a physical-hardware validation.

How a session is established

The layers of an ISO 15118 session and where each one is diagnosed Order in which a session is established, and in which failures must be isolated 1 · SDP UDP 15118, multicastto ff02::1 on thelink-local interface Fails on: wrong NIC,IPv6 off, zone index,firewall Evidence:sdp_diagnostics.json 2 · TCP Advertised addressand port: 50118 or49152–65535 Fails on: wrongadvertise-ipv6, portrule, peer routing Evidence:evse_listener_status 3 · TLS ISO 15118-20:TLS 1.3 mutualISO 15118-2: optionalDIN 70121: none Fails on: version,chain, clock, missingclient certificate Evidence:tls_handshake_diagnostics.json 4 · V2GTP Frame header andpayload type0x8001 … 0x8004 Fails on: invalidlength or payloadtype, truncation Evidence: traces\live-v2gtp-frames 5 · EXI SupportedApp-Protocol, then theselected schema Fails on: decodeerror, unmatchedrequest encoding Evidence: decodeverdict per frame 6 · Session Setup, authorize,schedule, precharge,charge loop, stop Fails on: sequence,response budget,plant safety state Evidence: session_handshake_gate evse live-closure-gate --require-sdp --require-tcp-peer --require-tls --require-v2gtp --require-exi reports which layers were observed for a run.
Establish and troubleshoot in this order. A failure in a later layer does not invalidate earlier layers.

Common operating pattern

  1. Open PowerShell and define $CL and $Data (Install and Activate); chargelink is on PATH.
  2. Verify the licence and discover profiles: chargelink --json license status, chargelink --json profile list.
  3. Run the dry-run and the live preflight with the values of the adapter to your DUT.
  4. Start ChargeLink in its role in window 1, then your DUT; observe status from window 2.
  5. Stop cleanly with evse stop / evcc stop and collect the run folder.
$CL   = 'C:\Program Files\DEVlink\ChargeLink\<VERSION>\charger\bin\chargelink.exe'
$Data = "$env:ProgramData\DEVlink\ChargeLink\data"

$IfIndex   = <INTERFACE_INDEX>
$Advertise = 'fe80::<ADDRESS>%' + $IfIndex

chargelink --runtime-root "$Data\runtime" --artifact-root "$Data\artifacts" --json license status
chargelink --runtime-root "$Data\runtime" --artifact-root "$Data\artifacts" --json profile list

The kit has a charger\ and a vehicle\ folder; chargelink.exe is the same binary in both. The profile determines protocol, role, connector family and EXI mode. Network addresses, interface indexes, certificate paths and CAN channels are deployment settings supplied on the command line for your set-up.