ChargeLink Native
Developed byDEVlink

Golden Reference Runs

Golden runs are known-good, intentionally simple procedures used to separate a ChargeLink installation problem from a DUT-specific problem. Run them after installation, after an upgrade, and before investigating a complicated customer setup.

These recipes are reference operating patterns. Profile IDs and optional flags remain version-sensitive. Confirm them with the installed profile list, profile show, and command --help before adding them to a controlled lab procedure.

Golden run 1 — ISO 15118-20 DC software-only proof

Why: proves the EVSE configuration and the native EVCC loopback without an external PLC/DUT.


$CL = 'C:\Program Files\ChargeLink Native\bin\chargelink.exe'
$Data = 'C:\ChargeLinkData'

& $CL --json --runtime-root "$Data\runtime" --artifact-root "$Data\artifacts" `
  evse start --dry-run --protocol iso15118-20 --profile-id iso15118_20_dc

& $CL --json evse status
& $CL --json evse stop

& $CL --json --artifact-root "$Data\artifacts" evcc local-loopback-smoke `
  --protocol iso15118-20 `
  --profile-id iso15118_20_dc `
  --peer-ipv6 '::1' `
  --tcp-port 50118 `
  --max-steps 6 `
  --battery-capacity-kwh 80 `
  --initial-soc-pct 20 `
  --target-soc-pct 80 `
  --requested-power-kw 50

Expected interpretation: local protocol/session evidence is generated with no external peer. Failure here points to installation/configuration before it points to the DUT.

Golden run 2 — ISO 15118-20 AC configuration proof

Why: proves that the intended AC profile is present and accepted before connecting an AC DUT.


& $CL --json profile list
& $CL profile show <ISO15118_20_AC_PROFILE_ID>
& $CL --json evse start `
  --dry-run `
  --protocol iso15118-20 `
  --profile-id <ISO15118_20_AC_PROFILE_ID>
& $CL --json evse stop

Select the actual AC profile returned by your release. Do not reuse the DC profile merely to make the command start.

Golden run 3 — ISO 15118-2 DC configuration proof


& $CL --json profile list
& $CL profile show <ISO15118_2_DC_PROFILE_ID>
& $CL --json evse start `
  --dry-run `
  --protocol iso15118-2 `
  --profile-id <ISO15118_2_DC_PROFILE_ID>
& $CL --json evse stop

For a real peer, run evse live-preflight first with the bench NIC and selected ISO 15118-2 profile.

Golden run 4 — DIN 70121 DC configuration proof


& $CL --json profile list
& $CL profile show <DIN70121_DC_PROFILE_ID>
& $CL --json evse start `
  --dry-run `
  --protocol din70121 `
  --profile-id <DIN70121_DC_PROFILE_ID>
& $CL --json evse stop

DIN 70121 is DC-focused. Do not expect ISO 15118-20 service/control-mode behavior in a DIN session.

Golden run 5 — CHAdeMO software and adapter proof

First prove the virtual model:


& $CL --json dc-can catalog
& $CL --json dc-can virtual-run `
  --protocol chademo `
  --profile dc_can_virtual_evse `
  --frame-count 8 `
  --sample-period-ms 50

Then, on a bench with the supported physical adapter, prove the adapter loop using the actual channel:


& $CL --json dc-can chademo-can-adapter-loop `
  --adapter-kind peak-pcan `
  --adapter-mode loopback `
  --channel PCAN_USBBUS1 `
  --bitrate-kbps 500 `
  --require-hardware `
  --evcc-profile chademo_dc_evcc_reference `
  --evse-profile chademo_dc_evse_reference `
  --requested-voltage-v 400 `
  --requested-current-a 125 `
  --initial-soc-pct 35 `
  --target-soc-pct 80

A virtual pass plus physical-adapter failure narrows the problem to driver/channel/hardware/bench integration rather than the basic protocol model.

Golden run 6 — gRPC automation proof


# Window 1
& $CL integration serve --listen 127.0.0.1:50051 --state-root C:\ChargeLinkData\runtime\grpc

# Window 2
& $CL --json integration health --endpoint http://127.0.0.1:50051
& $CL --json integration capabilities --endpoint http://127.0.0.1:50051
& $CL --json integration session-smoke `
  --endpoint http://127.0.0.1:50051 `
  --protocol iso15118-20 `
  --role evse

Only after this passes should a customer automation client be debugged.

Golden run 7 — NI VeriStand Native Gateway proof

Purpose: prove each layer independently before combining them.

  1. Deploy the VeriStand project manually without ChargeLink.
  2. Start ChargeLink gRPC and pass health.
  3. Run the canonical signal smoke.
  4. Start the veristand operator-bridge manually for diagnostic confirmation.
  5. Start the supplied OperatorLauncher with the customer gateway configuration.
  6. Require the gateway-connected, gRPC-healthy and heartbeat statuses in VeriStand.
  7. Pulse a safe non-power command and verify read/write direction.
  8. Stop through the guarded shutdown channel.

ChargeLink-side commands:


& $CL --json integration health --endpoint http://127.0.0.1:50051
& $CL --json signals list --endpoint http://127.0.0.1:50051
& $CL --json signals smoke --endpoint http://127.0.0.1:50051
& $CL veristand operator-bridge --endpoint http://127.0.0.1:50051

Do not substitute an ASAM XIL configuration. The present VeriStand customer workflow is the Native Gateway.

Golden-run record

For each golden run retain:

FieldExample
ChargeLink versionoutput of chargelink --version
Documentation versionpackage/release label supplied with this manual
License edition/entitlementsredacted status/entitlement output
Profileexact ID and archived profile show output
Run IDgenerated or explicitly supplied ID
Machineworkstation asset ID / Windows version
AdapterEthernet or CAN adapter and driver version
ResultPASS / FAIL / BLOCKED
Evidence pathimmutable run directory or archive hash

A golden run should be short, repeatable, and boring. If it contains customer-specific logic, it is no longer a useful baseline.