This page documents the legacy EtherCAT ESI parser utility.
The tool parses an EtherCAT ESI XML file, filters slaves by name and revision, optionally filters alternative PDO mappings, and can export:
This is a utility/developer workflow, not a normal IOC startup script.
utils/esi_mapping_browser.py tool is generally the better starting point.Input:
Optional filtering:
Output:
The parser currently supports these arguments:
| Argument | Meaning |
|---|---|
--file | Path to the ESI XML file. |
--name | Slave name wildcard, for example EL7211*. |
--rev | Revision wildcard, for example 0x1000* or *. |
--filtSlaves | Optional slave-index filter, for example 1,2,5 or all. |
--filtPdoMaps | Optional PDO-map filter, for example 1,2,5 or all. |
--mergeEntries | Optional merge of entries smaller than 8 bits. |
--outputJSON | Optional output filename for parsed JSON. |
--outputECMC | Optional filename base for generated ecmc hardware support files. |
cd utils/back
python3 esi_parser.py \
--file ../../../beckhoff_xml/Beckhoff\ EL72xx.xml \
--name "EL7211*" \
--rev "*" \
--filtSlaves "1" \
--outputJSON parsed_devices.json \
--outputECMC "" \
--mergeEntries 1
Use this utility when you need to inspect one slave family in an ESI XML and generate a first draft of ecmc hardware support from a selected PDO mapping.
This is especially useful when a slave is not supported yet and you need a base configuration file to start from. For more advanced slaves, expect to review and extend the generated result manually. DC clock configuration must also be added separately.
Typical flow:
--filtSlaves if needed.--filtPdoMaps.hardware/.