ecmccomp is the component library for ecmc.
It provides reusable component definitions (motors, encoders, and slave-specific configs) that are applied to EtherCAT slaves at IOC startup.
applyComponent.cmdThe standard entry script is:
${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd, "COMP=<component-name>"
Typical arguments:
COMP: Component file name (required).EC_COMP_TYPE: Hardware descriptor (for example EL7037); defaults from addSlave.cmd context.COMP_S_ID: Slave bus position; defaults from addSlave.cmd context.CH_ID: Channel index (default 1).MACROS: Optional component/slave macros.applyComponent.cmd DoesapplyComponent.cmd executes a fixed pipeline:
${ecmccomp_DIR}${COMP}.cmd).${ecmccomp_DIR}${EC_COMP_TYPE}_${COMP_TYPE}.cmd).validateGeneric.cmd).validateMacros.cmd).validate<COMP_TYPE>.cmd).${SLAVE_SCRIPT}_${COMP_TYPE}.cmd).ecmccfgUse ecmccomp directly after addSlave.cmd:
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=8, HW_DESC=EL7037"
${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd, "COMP=Motor-OrientalMotor-PK267JB-Parallel"
Explicit call variant:
${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd, "COMP_S_ID=12,EC_COMP_TYPE=EL7037,COMP=Motor-OrientalMotor-PK267JB-Parallel,CH_ID=1,MACROS='I_MAX_MA=500,I_STDBY_MA=100'"
ecmccomp complements ecmccfg: use ecmccfg for system/axis startup flow and ecmccomp for reusable component-level slave configuration..cmd file in the ecmccomp repository.