ecmc can be started in different modes by setting the MODE parameter to startup.cmd (or require ecmccfg):
A separate mode for commissioning is also available, called ENG_MODE.
In FULL mode all ecmc functionalities are supported, like motion, daq and plcs.
Example of starting ecmc in FULL mode:
$(ECMCCFG_INIT)$(SCRIPTEXEC) ${ecmccfg_DIR}startup.cmd, "IOC=$(IOC),ECMC_VER=develop,MODE=FULL"
# or since FULL mode is default the MODE parameter can be ignored
$(ECMCCFG_INIT)$(SCRIPTEXEC) ${ecmccfg_DIR}startup.cmd, "IOC=$(IOC),ECMC_VER=develop"
In DAQ mode, motion functionalities are disabled and the following commands are blocked:
This mode is intended to be used for pure DAQ use cases.
Example of starting ecmc in DAQ mode:
$(ECMCCFG_INIT)$(SCRIPTEXEC) ${ecmccfg_DIR}startup.cmd, "IOC=$(IOC),ECMC_VER=develop,MODE=DAQ"
NOTE: The default record update rate is set to 10ms in initAlll.cmd. For DAQ applications it could be needed to change this parameter to update records faster by changing the ECMC_SAMPLE_RATE_MS variable:
epicsEnvSet("ECMC_SAMPLE_RATE_MS",1)
In this mode all features are supported, but motor record will not be created for motion axes.
Setting the parameter ENG_MODE=1 will result in loading of extra PVs usefull for commissioning, i.e. controller parameters for motion axes.