ChargeLink Native

ChargeLink Native User Documentation

ChargeLink Native is a Rust-native EV charging communication simulator and test platform. It runs the charger side (EVSE/SECC) and the vehicle side (EVCC) of ISO 15118-20 over real IPv6 networking, answers ISO 15118-2 and DIN 70121 vehicles as a reference responder, runs scripted DC-CAN lanes for test development, executes protocol test campaigns and deterministic simulations, records tamper-evident evidence, and exposes everything through one command-line tool and a gRPC API.

Main use case. ChargeLink runs ISO 15118-20 DC charging with external identification (EIM), in the charger and the vehicle role, in Scheduled and Dynamic control mode, on a Windows bench with NI VeriStand 2024 and a simulated power stage. It also runs the IEC 61851-23/-24 System A station and EV roles on a virtual or Kvaser CAN bus, and engineering lanes for ISO 15118-2 and DIN 70121 DC sessions between its own charger and vehicle. The other functions on this site are engineering and test-development tools of the same binary. ChargeLink results are engineering evidence, not certification; see Capability Boundaries.

This manual is written for operators, test engineers, integration engineers and administrators who receive the installed ChargeLink Native customer package. Normal operation does not require a source checkout, a Rust toolchain or any developer tooling.

Documented version. CLI syntax on this site matches chargelink version 0.5.0-rc2 (JSON contract native-core-0.55, Integration API chargelink.integration.v1 version 1.8.0). Run chargelink --version and compare before you copy a command into a controlled procedure. See the Release and Version Matrix.

New user? Follow this path

Recommended path for a new ChargeLink Native workstation 1Overviewwhat is in the package 2Install and activateextract · data roots · license 3First sessiondry‑run · loopback · gRPC 4First 60 minutessupportable baseline 5Bench preflightNIC · IPv6 · ports · PKI 6Protocol runbooklive session · evidence Software‑only steps 1–4 need no hardware and no license. Steps 5–6 need the bench adapter values and, for ISO 15118‑20, TLS material.
The six steps of a new workstation. Each page on this path ends with a sign-off table.
  1. Product Overview — what the product does, what is in the package, and how the pieces fit together.
  2. Install and Activate — place the package, create the data directories, activate the license.
  3. First Successful Session — a 15-minute software-only proof: dry-run, loopback, gRPC.
  4. First 60 Minutes — leave the workstation in a supportable, documented state.
  5. Environment and Bench Preflight — validate the NIC, IPv6, ports, certificates or CAN adapter before a live peer.
  6. Select a Protocol — pick the runbook for ISO 15118-20, ISO 15118-2 or DIN 70121.
  7. Golden Reference Runs — keep a known-good baseline for upgrades and troubleshooting.

Choose by task

I want to...Start with...
Install a new PCInstall and Activate → First 60 Minutes
Act as a charger for a real or simulated vehicleEVSE Role Guide → protocol runbook
Act as a vehicle against a real chargerEVCC Role Guide → protocol runbook
Run ISO 15118-20 / ISO 15118-2 / DIN 70121ISO 15118-20, ISO 15118-2, DIN 70121
Set up TLS or Plug & Charge certificatesTLS, PKI and Plug & Charge
Plan and run protocol test campaignsTest Workflow → Test Package Catalog
Reproduce a result without hardwareDeterministic Simulation and Replay
Understand traces, manifests, reportsTrace, Evidence and Reports
Automate ChargeLink from another programgRPC Integration API → API Reference
Set up the two-PC NI VeriStand bench from the packageSet Up the VeriStand Bench
Run sessions on the VeriStand bench and read the resultNI VeriStand Bench
Fix a failureTroubleshooting
Open a support caseSupport Escalation
Check what ChargeLink does and its limitsCapability Boundaries
Look up exact CLI syntaxComplete CLI Reference

Command convention

Examples use Windows PowerShell 5.1 or later and call chargelink from PATH (Install and Activate, step 2). Every command passes the two data roots explicitly; most pages begin with this block, which defines the paths the examples use:

$CL   = 'C:\ChargeLink\0.5.0-rc2\pc1\bin\chargelink.exe'
$Data = 'C:\ChargeLinkData'

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

Why every command carries the roots: without --runtime-root and --artifact-root, ChargeLink writes its state to a .chargelink folder inside the current working directory. Two shells started in different folders would then see different sessions and different evidence. Passing the same roots on every command avoids that; the global options may be written before or after the subcommand. The license store is derived from the runtime root: with the roots above, the activated license lives in C:\ChargeLinkData\licenses.

Values shown as <LIKE_THIS> are placeholders and must be replaced. Profile IDs and package IDs are release-specific; chargelink --json profile list and chargelink --json conformance packages list on the installed machine are the final authority.

How this manual is organised

  1. Why am I doing this? — purpose and prerequisites of each task.
  2. What exactly do I do? — copy/paste commands with expected results.
  3. What do I do when it fails? — checkpoints, failure isolation and support evidence.

Every capability page states its claim boundary: what a passing result proves and what it does not prove. ChargeLink produces engineering and conformance-readiness evidence; it does not issue accredited certification. See Standards and Claim Boundaries.