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
- Product Overview — what the product does, what is in the package, and how the pieces fit together.
- Install and Activate — place the package, create the data directories, activate the license.
- First Successful Session — a 15-minute software-only proof: dry-run, loopback, gRPC.
- First 60 Minutes — leave the workstation in a supportable, documented state.
- Environment and Bench Preflight — validate the NIC, IPv6, ports, certificates or CAN adapter before a live peer.
- Select a Protocol — pick the runbook for ISO 15118-20, ISO 15118-2 or DIN 70121.
- Golden Reference Runs — keep a known-good baseline for upgrades and troubleshooting.
Choose by task
| I want to... | Start with... |
|---|---|
| Install a new PC | Install and Activate → First 60 Minutes |
| Act as a charger for a real or simulated vehicle | EVSE Role Guide → protocol runbook |
| Act as a vehicle against a real charger | EVCC Role Guide → protocol runbook |
| Run ISO 15118-20 / ISO 15118-2 / DIN 70121 | ISO 15118-20, ISO 15118-2, DIN 70121 |
| Set up TLS or Plug & Charge certificates | TLS, PKI and Plug & Charge |
| Plan and run protocol test campaigns | Test Workflow → Test Package Catalog |
| Reproduce a result without hardware | Deterministic Simulation and Replay |
| Understand traces, manifests, reports | Trace, Evidence and Reports |
| Automate ChargeLink from another program | gRPC Integration API → API Reference |
| Set up the two-PC NI VeriStand bench from the package | Set Up the VeriStand Bench |
| Run sessions on the VeriStand bench and read the result | NI VeriStand Bench |
| Fix a failure | Troubleshooting |
| Open a support case | Support Escalation |
| Check what ChargeLink does and its limits | Capability Boundaries |
| Look up exact CLI syntax | Complete 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
- Why am I doing this? — purpose and prerequisites of each task.
- What exactly do I do? — copy/paste commands with expected results.
- 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.

