ESI parser¶
The pure parse layer (ethercat-esi (parser crate) (BB_0060)): ESI XML in, a typed in-memory IR out, with no knowledge of codegen, ethercrab, or taktora-executor.
A pure parser crate. Reads ESI XML, emits a typed in-memory IR. Knows nothing about codegen, ethercrab, or taktora-executor. Suitable for any downstream tool — codegen, network configurator, simulator, verifier. |
The crate shall expose |
The crate shall be Superseded (2026-05): std/POSIX baseline. The parser cluster now
targets |
The crate shall implement parsing on top of |
The |
The IR shall represent, per device: PDOs are captured structurally per declared |
Each This is the per-SM ENABLE only. The watchdog timeout lives in the
device registers Rationale. Output-slave watchdog enabl... (AOU_0016) requires every fieldbus output slave
to run its sync-manager process-data watchdog enabled and bounded:
under the Abort on framework-invarian... (ADR_0065) fail-fast model, on a framework-invariant
abort the master stops emitting process-data frames and runs no
destructors, so the slave watchdog is the sole mechanism that
drives outputs to their safe state. The per-SM enable bit is the
statically-checkable half of that assumption — the only half an ESI
file declares — so surfacing it in the IR lets a config-time check
detect an output SM that ships with its watchdog trigger disabled. The
timeout bound (the other half of Output-slave watchdog enabl... (AOU_0016)) is not declared in
ESI and is enforced master-side. Implemented in
|
The IR shall expose, per device, the Rationale. FMMU declarations pair with the sync managers of
IR carries identity, PDO ma... (REQ_0504); a network configurator needs them to sanity-check
SM/FMMU pairing. The tolerate-unknown posture matches
Vendor-specific extensions ... (REQ_0505). Implemented in
|
The IR shall expose, per device, the The parser shall perform no SII interpretation: PDI fields, checksums, and SII image assembly are consumer work (EEPROM diff verification (FEAT_0057), The ESI parser emits a fait... (ADR_0102)). Rationale. EEPROM-image verification (EEPROM diff verification (FEAT_0057)) needs
the declared SII source data; decoding hex to bytes is a lossless
re-representation, while interpreting it would bake verifier policy
into the parser. Implemented in
|
For modular devices (MDP), the IR shall expose the file-level
The parser shall not resolve a plugged module lineup into an effective PDO list or process image — slot expansion and increment arithmetic are consumer work (The ESI parser emits a fait... (ADR_0102)), exactly as PDO assignment alternatives are captured unresolved per IR carries identity, PDO ma... (REQ_0504). Rationale. Couplers such as the WAGO 750-354 describe their
pluggable terminals via MDP; without the catalog and constraints a
network configurator cannot model the device at all, but which
modules are plugged is per-installation configuration the ESI cannot
know. Implemented in |
The parser shall capture each Rationale. An |
Vendor-specific ESI extensions (e.g. Beckhoff |
Syntax errors carry the source line and column (a |