A configuration framework for ECMC Motion Control Module for EPICS.
Use this manual as follows:
examples/PSI/best_practice/.axis, axis PLC, component, plugin, and master-less.MASTER_ID=-1 sectionFor new configurations, the normal path is:
require ecmccfgaddSlave.cmdapplyComponent.cmdloadYamlAxis.cmdloadYamlPlc.cmd or loadPLCFile.cmdsetAppMode.cmd or finalize.cmdMinimal startup skeleton:
require ecmccfg <VERSION>
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EK1100"
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL7062"
${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper, CH_ID=1, MACROS='I_MAX_MA=1000, I_STDBY_MA=100, U_NOM_MV=24000, R_COIL_MOHM=1230,L_COIL_UH=500'"
${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=./cfg/ax1.yaml, ECMC_TMPDIR=/tmp/"
${SCRIPTEXEC} ${ecmccfg_DIR}loadPLCFile.cmd, "FILE=./cfg/main.plc, SAMPLE_RATE_MS=100"
For the detailed step-by-step breakdown of the startup structure, see introduction.
loadYamlAxis.cmd: preferred axis configuration pathloadYamlPlc.cmd: preferred structured PLC pathloadPLCFile.cmd: classic PLC-file pathapplyComponent.cmd: preferred drive and encoder component setupconfigureAxis.cmd, configureVirtualAxis.cmd, and applyAxisSynchronization.cmd:
still supported, but mainly legacy compared to the YAML-first flow