The motion plugin is intended for commissioning and troubleshooting of motion axes.
Use it when:
The local examples typically load the plugin package directly with require:
epicsEnvSet(ECMC_PLUGIN_CONFIG,"PLUGIN_ID=1,AX=1,BUFF_SIZE=2000,DBG=0,ENA=1")
require ecmc_plugin_motion "${ECMC_PLUGIN_CONFIG}"
Verified config keys from local examples:
PLUGIN_IDAX / AXISBUFF_SIZE / BUFFER_SIZEDBG / DBG_PRINTENA / ENABLEThe local plugin repo confirms a dedicated helper script:
addMotionObj.cmdThat helper script:
libecmc_plugin_motion.soloadPlugin.cmdecmcPluginMotion.templateIt also tracks a separate motion-object index:
ECMC_PLG_MOTION_OBJ_INDEXThat index is not the same thing as PLUGIN_ID.
Compared to the general DAQ Plugin, the motion plugin is more axis-focused.
Choose it when the task is:
Choose DAQ instead when the task is:
This repo contains load examples, but not a full public best-practice example tree for the motion plugin itself.
The plugin README verifies the intended runtime role clearly: