From 73c5fd71b52929f564c01c73a8fbc399a8162905 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Sandstr=C3=B6m?= Date: Mon, 16 Sep 2024 09:55:46 +0200 Subject: [PATCH] Cleanup --- .../{axis_ax5_lower.yaml => axis_ax5_LO.yaml} | 5 ++- .../{axis_ax6_upper.yaml => axis_ax6_HI.yaml} | 5 ++- example/cfg/axis_vax5_YCEN.yaml | 3 +- example/cfg/axis_vax6_YGAP.yaml | 3 +- example/startup.script_ecmc | 41 +++++++------------ 5 files changed, 24 insertions(+), 33 deletions(-) rename example/cfg/{axis_ax5_lower.yaml => axis_ax5_LO.yaml} (97%) rename example/cfg/{axis_ax6_upper.yaml => axis_ax6_HI.yaml} (97%) diff --git a/example/cfg/axis_ax5_lower.yaml b/example/cfg/axis_ax5_LO.yaml similarity index 97% rename from example/cfg/axis_ax5_lower.yaml rename to example/cfg/axis_ax5_LO.yaml index 7746e48..3a15875 100644 --- a/example/cfg/axis_ax5_lower.yaml +++ b/example/cfg/axis_ax5_LO.yaml @@ -2,17 +2,18 @@ axis: id: 5 + group: realAxes mode: CSV features: allowSrcChangeWhenEnabled: true epics: - name: TRYB + name: TR_LO precision: 4 unit: mm motorRecord: enable: false - description: "Test Y Bottom" + description: "Low" drive: numerator: 10 # max velo in EGU/s diff --git a/example/cfg/axis_ax6_upper.yaml b/example/cfg/axis_ax6_HI.yaml similarity index 97% rename from example/cfg/axis_ax6_upper.yaml rename to example/cfg/axis_ax6_HI.yaml index 0be39ce..a675760 100644 --- a/example/cfg/axis_ax6_upper.yaml +++ b/example/cfg/axis_ax6_HI.yaml @@ -2,17 +2,18 @@ axis: id: 6 + group: realAxes mode: CSV features: allowSrcChangeWhenEnabled: true epics: - name: TRYT + name: TR_HI precision: 4 unit: mm motorRecord: enable: false - description: "Test Y Top" + description: "Hi" drive: numerator: 10 # max velo in EGU/s diff --git a/example/cfg/axis_vax5_YCEN.yaml b/example/cfg/axis_vax5_YCEN.yaml index 4c38efc..900b843 100644 --- a/example/cfg/axis_vax5_YCEN.yaml +++ b/example/cfg/axis_vax5_YCEN.yaml @@ -1,5 +1,6 @@ axis: id: ${AX_ID} + group: virtualAxes type: end effector epics: @@ -8,7 +9,7 @@ epics: unit: mm motorRecord: enable: false - description: "Center Y (Virtual)" + description: "Center (Virtual)" encoder: type: 1 diff --git a/example/cfg/axis_vax6_YGAP.yaml b/example/cfg/axis_vax6_YGAP.yaml index 0aeb86d..11fc3ee 100644 --- a/example/cfg/axis_vax6_YGAP.yaml +++ b/example/cfg/axis_vax6_YGAP.yaml @@ -1,5 +1,6 @@ axis: id: ${AX_ID} + group: virtualAxes type: end effector epics: @@ -8,7 +9,7 @@ epics: unit: mm motorRecord: enable: false - description: "Gap Y (Virtual)" + description: "Gap (Virtual)" encoder: type: 1 diff --git a/example/startup.script_ecmc b/example/startup.script_ecmc index 3511ba5..0453e4c 100644 --- a/example/startup.script_ecmc +++ b/example/startup.script_ecmc @@ -1,5 +1,10 @@ -require ecmccfg sandst_a,"ECMC_VER=sandst_a,MODE=NO_MR,ENG_MODE=1,EC_RATE=100" +#- Configuration scripts +require ecmccfg sandst_a,"ECMC_VER=sandst_a,ENG_MODE=1,EC_RATE=100" + +#- Components require ecmccomp + +#- Syncronization require ecmc_master_slave sandst_a #- ############################################################################ @@ -42,13 +47,13 @@ ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL1008" # 0:7 - EL7041 1Ch Stepper ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL7041-0052" -${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper,MACROS='I_MAX_MA=1000,I_STDBY_MA=500,U_NOM_MV=48000,R_COIL_MOHM=1230,STEPS=400'" -${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=cfg/axis_ax5_lower.yaml, DRV_SLAVE=${ECMC_EC_SLAVE_NUM}, ENC_SLAVE=${ECMC_EC_SLAVE_NUM}, ENC_CHANNEL=01" +${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper,MACROS='I_MAX_MA=1000,I_STDBY_MA=500,U_NOM_MV=48000,R_COIL_MOHM=1230'" +${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=cfg/axis_ax5_LO.yaml, DRV_SLAVE=${ECMC_EC_SLAVE_NUM}, ENC_SLAVE=${ECMC_EC_SLAVE_NUM}, ENC_CHANNEL=01" # 0:8 - EL7041 1Ch Stepper ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL7041-0052" -${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper,MACROS='I_MAX_MA=1000,I_STDBY_MA=500,U_NOM_MV=48000,R_COIL_MOHM=1230,STEPS=400'" -${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=cfg/axis_ax6_upper.yaml, DRV_SLAVE=${ECMC_EC_SLAVE_NUM}, ENC_SLAVE=${ECMC_EC_SLAVE_NUM}, ENC_CHANNEL=01" +${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper,MACROS='I_MAX_MA=1000,I_STDBY_MA=500,U_NOM_MV=48000,R_COIL_MOHM=1230'" +${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=cfg/axis_ax6_HI.yaml, DRV_SLAVE=${ECMC_EC_SLAVE_NUM}, ENC_SLAVE=${ECMC_EC_SLAVE_NUM}, ENC_CHANNEL=01" # 0:9 - EL7041 1Ch Stepper ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL7041-0052" @@ -56,39 +61,21 @@ ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL7041-0052" # 0:10 - EL7041 1Ch Stepper ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL7041-0052" - #- ################################################################# #- Virtual axes ${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=cfg/axis_vax5_YCEN.yaml, AX_ID=${AX_NUM=12}" ${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=cfg/axis_vax6_YGAP.yaml, AX_ID=${AX_NUM=13}" -#- ############################################################################# -#- Y Direction -- Axis groupings in preparation for kinematics PLC -ecmcConfigOrDie "Cfg.AddAxisGroup(realAxesY)" -ecmcConfigOrDie "Cfg.AddAxisToGroupByName(5,realAxesY)" -ecmcConfigOrDie "Cfg.AddAxisToGroupByName(6,realAxesY)" -ecmcConfig "GetAxisGroupIndexByName(realAxesY)" -epicsEnvSet(GRP_ID_RAX,${ECMC_CONFIG_RETURN_VAL=0}) - -ecmcConfigOrDie "Cfg.AddAxisGroup(virtualAxesY)" -ecmcConfigOrDie "Cfg.AddAxisToGroupByName(12,virtualAxesY)" -ecmcConfigOrDie "Cfg.AddAxisToGroupByName(13,virtualAxesY)" -ecmcConfig "GetAxisGroupIndexByName(virtualAxesY)" -epicsEnvSet(GRP_ID_VAX,${ECMC_CONFIG_RETURN_VAL=0}) - -#- PLCs with inverse kinematics (note the INC var including dirs to search for include files) -${SCRIPTEXEC} ${ecmccfg_DIR}loadPLCFile.cmd, "FILE=./cfg/axis_main.plc, PLC_ID=1, INC=.:${ecmc_master_slave_DIR}, PLC_MACROS='PLC_ID=1, AX_CEN=12, AX_GAP=13, AX_LO=5, AX_HI=6, GRP_ID_RA=${GRP_ID_RAX}, GRP_ID_VA=${GRP_ID_VAX}'" - #- ################################################################# -#- apply the configuration -${SCRIPTEXEC} ${ecmccfg_DIR}applyConfig.cmd +#- PLCs with inverse kinematics (note the INC var including dirs to search for include files) +#- The group ID:s configured in yaml are stored in GRP__ID +${SCRIPTEXEC} ${ecmccfg_DIR}loadPLCFile.cmd, "FILE=./cfg/axis_main.plc, PLC_ID=1, INC=.:${ecmc_master_slave_DIR}, PLC_MACROS='PLC_ID=1, AX_CEN=12, AX_GAP=13, AX_LO=5, AX_HI=6, GRP_ID_RA=${GRP_realAxes_ID}, GRP_ID_VA=${GRP_virtualAxes_ID}'" #- ################################################################# #- go active +${SCRIPTEXEC} ${ecmccfg_DIR}applyConfig.cmd ${SCRIPTEXEC} ${ecmccfg_DIR}setAppMode.cmd #- ############################################################################# #- reset all errors afterInit("ecmcConfigOrDie 'ControllerErrorReset()'") -ecmcConfigOrDie "Cfg.SetDiagAxisEnable(0)" -