############################################################################## ## test config for ecmc_plugin_safety ## ## In this config the interface to safety system is liked to simulated ethercat entries: ## * To allow motion: ## caput c6025a:m0s013-Zero 3 ## * To simulate interlock from safety system: ## caput c6025a:m0s013-Zero 0 ## ## Monitor status with: ## camon c6025a:SS1-first-Err c6025a:SS1-first-RmpDwnCmdAct c6025a:SS1-first-AxsStndStllAct ## epicsEnvSet(IOC,c6025a) require ecmccfg "ENG_MODE=1" ############################################################################## ## Load components lib # require ecmccomp ############################################################################## ## Configure hardware epicsEnvSet("DRV_SLAVE", "7") ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=$(DRV_SLAVE), HW_DESC=EL7041-0052" ${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper,MACROS='I_STDBY_MA=200,I_MAX_MA=1000,R_COIL_MOHM=1700'" epicsEnvSet("ENC_SLAVE", "2") ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=$(ENC_SLAVE), HW_DESC=EL5042" ${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Encoder-RLS-LA11-24bit-BISS-C" epicsEnvSet("BO_SLAVE", "5") ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=$(BO_SLAVE), HW_DESC=EL2008" # This hardware box need to set BO6 to get power ecmcConfigOrDie "Cfg.WriteEcEntryIDString(${BO_SLAVE},binaryOutput06,1)" epicsEnvSet("BI_SLAVE", "6") ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=$(BI_SLAVE), HW_DESC=EL1008" #Apply hardware configuration ecmcConfigOrDie "Cfg.EcApplyConfig(1)" ############################################################################## ## AXIS 1 # epicsEnvSet("DEV", "$(IOC)") epicsEnvSet("PLC_PATH", "/ioc/c6025a5a/ecmccfg/examples/test/ecmccomp/plc/") ${SCRIPTEXEC} ${ECMC_CONFIG_ROOT}loadYamlAxis.cmd, "FILE=./cfg/axis.yaml" ############################################################################## ## Load safety plugin # require ecmc_plugin_safety # Create SS1 group epicsEnvSet(EC_RAMP_DOWN,"ec${ECMC_EC_MASTER_ID}.s${BI_SLAVE}.binaryInput08.0") epicsEnvSet(EC_AXES_STANDSTILL,"ec${ECMC_EC_MASTER_ID}.s${BO_SLAVE}.binaryOutput07.0") epicsEnvSet(SAFETY_TIMEOUT,500) ${SCRIPTEXEC} ${ecmc_plugin_safety_DIR}addSS1Group.cmd "NAME=first,EC_RAMP_DOWN=${EC_RAMP_DOWN},EC_AXES_STANDSTILL=${EC_AXES_STANDSTILL},DELAY_MS=${SAFETY_TIMEOUT}" #- Add axis ${SCRIPTEXEC} ${ecmc_plugin_safety_DIR}addAxisToSafetyGroup.cmd "NAME=first,AX_ID=1,VELO_LIM=1" ############################################################################## ## Configure diagnostics: # ecmcConfigOrDie "Cfg.EcSetDiagnostics(1)" ecmcConfigOrDie "Cfg.EcEnablePrintouts(0)" ecmcConfigOrDie "Cfg.EcSetDomainFailedCyclesLimit(100)" ecmcConfigOrDie "Cfg.SetDiagAxisIndex(1)" ecmcConfigOrDie "Cfg.SetDiagAxisFreq(2)" ecmcConfigOrDie "Cfg.SetDiagAxisEnable(0)" ############################################################################## ## go active # $(SCRIPTEXEC) ($(ecmccfg_DIR)setAppMode.cmd)