From 184f01302d33ce7be6278481398b093479b34588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Sandstr=C3=B6m?= Date: Thu, 26 Sep 2024 15:21:57 +0200 Subject: [PATCH] use common cfgs for slit example --- .../cfg => slit/common}/axis_ax5_LO.yaml | 0 .../cfg => slit/common}/axis_ax6_HI.yaml | 0 .../cfg => slit/common}/axis_vax5_YCEN.yaml | 0 .../cfg => slit/common}/axis_vax6_YGAP.yaml | 0 .../common/cfgHW_and_motion.cmd} | 34 +------- example/slit/readme.md | 7 ++ .../slit_equations/cfg/EPICSVERSION | 0 .../slit_equations/cfg/axis_main.plc | 0 .../{ => slit}/slit_equations/startup.script | 0 .../slit/slit_equations/startup.script_ecmc | 30 +++++++ .../{ => slit}/slit_matrix/cfg/EPICSVERSION | 0 .../{ => slit}/slit_matrix/cfg/axis_main.plc | 0 example/{ => slit}/slit_matrix/startup.script | 0 example/slit/slit_matrix/startup.script_ecmc | 29 +++++++ example/slit_equations/readme.md | 19 ----- example/slit_matrix/cfg/axis_ax5_LO.yaml | 79 ----------------- example/slit_matrix/cfg/axis_ax6_HI.yaml | 79 ----------------- example/slit_matrix/cfg/axis_vax5_YCEN.yaml | 65 -------------- example/slit_matrix/cfg/axis_vax6_YGAP.yaml | 65 -------------- example/slit_matrix/readme.md | 19 ----- example/slit_matrix/startup.script_ecmc | 85 ------------------- 21 files changed, 70 insertions(+), 441 deletions(-) rename example/{slit_equations/cfg => slit/common}/axis_ax5_LO.yaml (100%) rename example/{slit_equations/cfg => slit/common}/axis_ax6_HI.yaml (100%) rename example/{slit_equations/cfg => slit/common}/axis_vax5_YCEN.yaml (100%) rename example/{slit_equations/cfg => slit/common}/axis_vax6_YGAP.yaml (100%) rename example/{slit_equations/startup.script_ecmc => slit/common/cfgHW_and_motion.cmd} (61%) create mode 100644 example/slit/readme.md rename example/{ => slit}/slit_equations/cfg/EPICSVERSION (100%) rename example/{ => slit}/slit_equations/cfg/axis_main.plc (100%) rename example/{ => slit}/slit_equations/startup.script (100%) create mode 100644 example/slit/slit_equations/startup.script_ecmc rename example/{ => slit}/slit_matrix/cfg/EPICSVERSION (100%) rename example/{ => slit}/slit_matrix/cfg/axis_main.plc (100%) rename example/{ => slit}/slit_matrix/startup.script (100%) create mode 100644 example/slit/slit_matrix/startup.script_ecmc delete mode 100644 example/slit_equations/readme.md delete mode 100644 example/slit_matrix/cfg/axis_ax5_LO.yaml delete mode 100644 example/slit_matrix/cfg/axis_ax6_HI.yaml delete mode 100644 example/slit_matrix/cfg/axis_vax5_YCEN.yaml delete mode 100644 example/slit_matrix/cfg/axis_vax6_YGAP.yaml delete mode 100644 example/slit_matrix/readme.md delete mode 100644 example/slit_matrix/startup.script_ecmc diff --git a/example/slit_equations/cfg/axis_ax5_LO.yaml b/example/slit/common/axis_ax5_LO.yaml similarity index 100% rename from example/slit_equations/cfg/axis_ax5_LO.yaml rename to example/slit/common/axis_ax5_LO.yaml diff --git a/example/slit_equations/cfg/axis_ax6_HI.yaml b/example/slit/common/axis_ax6_HI.yaml similarity index 100% rename from example/slit_equations/cfg/axis_ax6_HI.yaml rename to example/slit/common/axis_ax6_HI.yaml diff --git a/example/slit_equations/cfg/axis_vax5_YCEN.yaml b/example/slit/common/axis_vax5_YCEN.yaml similarity index 100% rename from example/slit_equations/cfg/axis_vax5_YCEN.yaml rename to example/slit/common/axis_vax5_YCEN.yaml diff --git a/example/slit_equations/cfg/axis_vax6_YGAP.yaml b/example/slit/common/axis_vax6_YGAP.yaml similarity index 100% rename from example/slit_equations/cfg/axis_vax6_YGAP.yaml rename to example/slit/common/axis_vax6_YGAP.yaml diff --git a/example/slit_equations/startup.script_ecmc b/example/slit/common/cfgHW_and_motion.cmd similarity index 61% rename from example/slit_equations/startup.script_ecmc rename to example/slit/common/cfgHW_and_motion.cmd index 2c94811..51abd47 100644 --- a/example/slit_equations/startup.script_ecmc +++ b/example/slit/common/cfgHW_and_motion.cmd @@ -1,16 +1,4 @@ #- Configuration scripts -require ecmccfg,"ENG_MODE=1,EC_RATE=100" - -#- Components lib -require ecmccomp - -#- Syncronization configs -require ecmc_master_slave - -#- Only output errors -asynSetTraceMask(${ECMC_ASYN_PORT}, -1, 0x01) - - #- ############################################################################ #- add slaves #- list of slaves (4 axis test motion box) @@ -52,12 +40,12 @@ ${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'" -${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" +${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=../common/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'" -${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" +${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=../common/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" @@ -67,19 +55,5 @@ ${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}" - -#- ################################################################# -#- 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()'") +${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=../common/axis_vax5_YCEN.yaml, AX_ID=${AX_NUM=12}" +${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=../common/axis_vax6_YGAP.yaml, AX_ID=${AX_NUM=13}" diff --git a/example/slit/readme.md b/example/slit/readme.md new file mode 100644 index 0000000..00fc32d --- /dev/null +++ b/example/slit/readme.md @@ -0,0 +1,7 @@ +## Panel +``` +caqtdm -macro "IOC=c6025a" ecmcMain.ui +``` + +## TODO +Test with motor record. diff --git a/example/slit_equations/cfg/EPICSVERSION b/example/slit/slit_equations/cfg/EPICSVERSION similarity index 100% rename from example/slit_equations/cfg/EPICSVERSION rename to example/slit/slit_equations/cfg/EPICSVERSION diff --git a/example/slit_equations/cfg/axis_main.plc b/example/slit/slit_equations/cfg/axis_main.plc similarity index 100% rename from example/slit_equations/cfg/axis_main.plc rename to example/slit/slit_equations/cfg/axis_main.plc diff --git a/example/slit_equations/startup.script b/example/slit/slit_equations/startup.script similarity index 100% rename from example/slit_equations/startup.script rename to example/slit/slit_equations/startup.script diff --git a/example/slit/slit_equations/startup.script_ecmc b/example/slit/slit_equations/startup.script_ecmc new file mode 100644 index 0000000..06c334e --- /dev/null +++ b/example/slit/slit_equations/startup.script_ecmc @@ -0,0 +1,30 @@ + +#- Configuration scripts +require ecmccfg,"ENG_MODE=1,EC_RATE=100" + +#- Components lib +require ecmccomp + +#- Syncronization configs +require ecmc_master_slave sandst_a + +#- Only output errors +asynSetTraceMask(${ECMC_ASYN_PORT}, -1, 0x01) + +#- ################################################################# +# Configure Hardware and Motion +< ../common/cfgHW_and_motion.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()'") diff --git a/example/slit_matrix/cfg/EPICSVERSION b/example/slit/slit_matrix/cfg/EPICSVERSION similarity index 100% rename from example/slit_matrix/cfg/EPICSVERSION rename to example/slit/slit_matrix/cfg/EPICSVERSION diff --git a/example/slit_matrix/cfg/axis_main.plc b/example/slit/slit_matrix/cfg/axis_main.plc similarity index 100% rename from example/slit_matrix/cfg/axis_main.plc rename to example/slit/slit_matrix/cfg/axis_main.plc diff --git a/example/slit_matrix/startup.script b/example/slit/slit_matrix/startup.script similarity index 100% rename from example/slit_matrix/startup.script rename to example/slit/slit_matrix/startup.script diff --git a/example/slit/slit_matrix/startup.script_ecmc b/example/slit/slit_matrix/startup.script_ecmc new file mode 100644 index 0000000..bbcae2e --- /dev/null +++ b/example/slit/slit_matrix/startup.script_ecmc @@ -0,0 +1,29 @@ +#- Configuration scripts +require ecmccfg,"ENG_MODE=1,EC_RATE=100" + +#- Components lib +require ecmccomp + +#- Syncronization configs +require ecmc_master_slave sandst_a + +#- Only output errors +asynSetTraceMask(${ECMC_ASYN_PORT}, -1, 0x01) + +#- ################################################################# +# Configure Hardware and Motion +< ../common/cfgHW_and_motion.cmd + +#- ################################################################# +#- PLCs with 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_M1=12, AX_M2=13, AX_S1=5, AX_S2=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()'") diff --git a/example/slit_equations/readme.md b/example/slit_equations/readme.md deleted file mode 100644 index 79ac180..0000000 --- a/example/slit_equations/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# Test ioc for a slit system -Note: Motor record disabled in this test system - -## Changes -1. Use ecmc/ecmccfg version 9.5.4 or newer. -2. Divide statemachine and kinematics into separate include files (add INC param to loadPLCFile.cmd needed) -3. Use extsetpos in kinematics -4. Use new axis group functions in statemachine to make it generic (no direct access to axes in statemachine) -5. Set allow source change when enabled in axis yaml cfg (remove in startup script) -6. Remove encoder.position in virtual axis (not needed anymore) -7. Remove filter cfgs in yaml files - -## Panel -``` -caqtdm -macro "IOC=c6025a" ecmcMain.ui -``` - -## TODO -Test with motor record. diff --git a/example/slit_matrix/cfg/axis_ax5_LO.yaml b/example/slit_matrix/cfg/axis_ax5_LO.yaml deleted file mode 100644 index 423b75c..0000000 --- a/example/slit_matrix/cfg/axis_ax5_LO.yaml +++ /dev/null @@ -1,79 +0,0 @@ -# https://paulscherrerinstitute.github.io/ecmccfg/manual/axis/axisyaml/ - -axis: - id: 5 - group: realAxes - mode: CSV - features: - allowSrcChangeWhenEnabled: true - -epics: - name: TR_LO - precision: 4 - unit: mm - motorRecord: - description: "Low" - fieldInit: "SPAM=0,RTRY=1,FOFF=Frozen,TWV=1" - -drive: - numerator: 10 # max velo in EGU/s - denominator: 32768 # MAX_INT for a 16-bit register, always this for this stepper drive! - type: 0 - control: ec0.s$(DRV_SLAVE).driveControl01 - status: ec0.s$(DRV_SLAVE).driveStatus01 - setpoint: ec0.s$(DRV_SLAVE).velocitySetpoint01 - -encoder: - numerator: 1 # 1egu = 1mm - denominator: 12800 # Number of ticks when motor moves numerator (=1mm): 1 mm / 50 nm = 20000 - type: 0 # Type: 0=Incremental, 1=Absolute - bits: 16 # Total bit count of encoder raw data - absBits: 0 # Absolute bit count (for abs enc) always least significant part of 'bits' - absOffset: 0.0000 # Encoder offset in eng units (for absolute encoders) - position: ec0.s$(ENC_SLAVE).positionActual$(ENC_CHANNEL) - -controller: - Kp: 10.00 - Ki: 0.001 - Kd: 0.000 - Kff: 1.00 - -trajectory: - axis: - velocity: 1.0 - acceleration: 1.0 - deceleration: 1.0 - -input: - limit: - forward: ec0.s$(DRV_SLAVE).driveStatus01.12 # 1119994 cnts // 55.9997 mm - backward: ec0.s$(DRV_SLAVE).driveStatus01.11 # 98010 cnts // 4.9005 mm - home: ec0.s$(DRV_SLAVE).ONE.0 # unused - interlock: ec0.s$(DRV_SLAVE).ONE.0 # unused - -softlimits: - enable: false - backwardEnable: true - forwardEnable: true - forward: 55.8 - backward: 5.1 - -monitoring: - lag: - enable: true - tolerance: 0.05 - time: 100 - target: - enable: true - tolerance: 0.05 - time: 100 - velocity: - enable: true - max: 5 - time: - trajectory: 100 - drive: 200 - -plc: - enable: true - externalCommands: true diff --git a/example/slit_matrix/cfg/axis_ax6_HI.yaml b/example/slit_matrix/cfg/axis_ax6_HI.yaml deleted file mode 100644 index 4e921f9..0000000 --- a/example/slit_matrix/cfg/axis_ax6_HI.yaml +++ /dev/null @@ -1,79 +0,0 @@ -# https://paulscherrerinstitute.github.io/ecmccfg/manual/axis/axisyaml/ - -axis: - id: 6 - group: realAxes - mode: CSV - features: - allowSrcChangeWhenEnabled: true - -epics: - name: TR_HI - precision: 4 - unit: mm - motorRecord: - description: "Hi" - fieldInit: "SPAM=0,RTRY=1,FOFF=Frozen,TWV=1" - -drive: - numerator: 10 # max velo in EGU/s - denominator: 32768 # MAX_INT for a 16-bit register, always this for this stepper drive! - type: 0 - control: ec0.s$(DRV_SLAVE).driveControl01 - status: ec0.s$(DRV_SLAVE).driveStatus01 - setpoint: ec0.s$(DRV_SLAVE).velocitySetpoint01 - -encoder: - numerator: 1 # 1egu = 1mm - denominator: 12800 # Number of ticks when motor moves numerator (=1mm): 1 mm / 50 nm = 20000 - type: 0 # Type: 0=Incremental, 1=Absolute - bits: 16 # Total bit count of encoder raw data - absBits: 0 # Absolute bit count (for abs enc) always least significant part of 'bits' - absOffset: 0.0000 # Encoder offset in eng units (for absolute encoders) - position: ec0.s$(ENC_SLAVE).positionActual$(ENC_CHANNEL) - -controller: - Kp: 2.000 - Ki: 0.001 - Kd: 0.000 - Kff: 1.00 - -trajectory: - axis: - velocity: 1.0 - acceleration: 1.0 - deceleration: 1.0 - -input: - limit: - forward: ec0.s$(DRV_SLAVE).driveStatus01.12 # 1111969 cnts // 55.5984 mm - backward: ec0.s$(DRV_SLAVE).driveStatus01.11 # 109007 cnts // 5.4504 mm - home: ec0.s$(DRV_SLAVE).ONE.0 # unused - interlock: ec0.s$(DRV_SLAVE).ONE.0 # unused - -softlimits: - enable: false - backwardEnable: true - forwardEnable: true - forward: 55.4 - backward: 5.7 - -monitoring: - lag: - enable: true - tolerance: 0.05 - time: 100 - target: - enable: true - tolerance: 0.05 - time: 100 - velocity: - enable: true - max: 5 - time: - trajectory: 100 - drive: 200 - -plc: - enable: true - externalCommands: true diff --git a/example/slit_matrix/cfg/axis_vax5_YCEN.yaml b/example/slit_matrix/cfg/axis_vax5_YCEN.yaml deleted file mode 100644 index b7f707c..0000000 --- a/example/slit_matrix/cfg/axis_vax5_YCEN.yaml +++ /dev/null @@ -1,65 +0,0 @@ -axis: - id: ${AX_ID} - group: virtualAxes - type: end effector - -epics: - name: CENTERY - precision: 4 - unit: mm - motorRecord: - description: "Center (Virtual)" - fieldInit: "SPAM=0,RTRY=1,FOFF=Frozen,TWV=1" - -encoder: - type: 1 - source: 1 - numerator: 1 - bits: 32 - -trajectory: - axis: - velocity: 0.5 - acceleration: 0.25 - jerk: 0.25 - -input: - limit: - forward: ec0.s0.ONE.0 # unused - backward: ec0.s0.ONE.0 # unused - home: ec0.s0.ONE.0 # unused - interlock: ec0.s0.ONE.0 # unused - -softlimits: - enable: false - forwardEnable: true - backwardEnable: true - forward: 52 - backward: 8 - -monitoring: - lag: - enable: yes - tolerance: 0.02 - time: 100 - target: - enable: yes - tolerance: 0.02 - time: 100 - velocity: - enable: yes - max: 0.6 - time: - trajectory: 100 - drive: 100 - -plc: - enable: true - externalCommands: true - filter: - velocity: - enable: false - size: 10 - trajectory: - enable: false - size: 10 diff --git a/example/slit_matrix/cfg/axis_vax6_YGAP.yaml b/example/slit_matrix/cfg/axis_vax6_YGAP.yaml deleted file mode 100644 index dc54160..0000000 --- a/example/slit_matrix/cfg/axis_vax6_YGAP.yaml +++ /dev/null @@ -1,65 +0,0 @@ -axis: - id: ${AX_ID} - group: virtualAxes - type: end effector - -epics: - name: GAPY - precision: 4 - unit: mm - motorRecord: - description: "Gap (Virtual)" - fieldInit: "SPAM=0,RTRY=1,FOFF=Frozen,TWV=1" - -encoder: - type: 1 - source: 1 - numerator: 1 - bits: 32 - -trajectory: - axis: - velocity: 0.5 - acceleration: 0.25 - jerk: 0.25 - -input: - limit: - forward: ec0.s0.ONE.0 # unused - backward: ec0.s0.ONE.0 # unused - home: ec0.s0.ONE.0 # unused - interlock: ec0.s0.ONE.0 # unused - -softlimits: - enable: false - forwardEnable: true - backwardEnable: true - forward: 20 - backward: -20 - -monitoring: - lag: - enable: yes - tolerance: 0.02 - time: 100 - target: - enable: yes - tolerance: 0.02 - time: 100 - velocity: - enable: yes - max: 0.6 - time: - trajectory: 100 - drive: 100 - -plc: - enable: true - externalCommands: true - filter: - velocity: - enable: false - size: 10 - trajectory: - enable: false - size: 10 diff --git a/example/slit_matrix/readme.md b/example/slit_matrix/readme.md deleted file mode 100644 index 79ac180..0000000 --- a/example/slit_matrix/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# Test ioc for a slit system -Note: Motor record disabled in this test system - -## Changes -1. Use ecmc/ecmccfg version 9.5.4 or newer. -2. Divide statemachine and kinematics into separate include files (add INC param to loadPLCFile.cmd needed) -3. Use extsetpos in kinematics -4. Use new axis group functions in statemachine to make it generic (no direct access to axes in statemachine) -5. Set allow source change when enabled in axis yaml cfg (remove in startup script) -6. Remove encoder.position in virtual axis (not needed anymore) -7. Remove filter cfgs in yaml files - -## Panel -``` -caqtdm -macro "IOC=c6025a" ecmcMain.ui -``` - -## TODO -Test with motor record. diff --git a/example/slit_matrix/startup.script_ecmc b/example/slit_matrix/startup.script_ecmc deleted file mode 100644 index 2cdab38..0000000 --- a/example/slit_matrix/startup.script_ecmc +++ /dev/null @@ -1,85 +0,0 @@ -#- Configuration scripts -require ecmccfg,"ENG_MODE=1,EC_RATE=100" - -#- Components lib -require ecmccomp - -#- Syncronization configs -require ecmc_master_slave sandst_a - -#- Only output errors -asynSetTraceMask(${ECMC_ASYN_PORT}, -1, 0x01) - - -#- ############################################################################ -#- add slaves -#- list of slaves (4 axis test motion box) -# Master0 -# 0 0:0 PREOP + EK1100 EtherCAT-Koppler (2A E-Bus) -# 1 0:1 PREOP + EL9227-5500 �berstromschutz 24V DC, 2K., max. 10A (Summe), eins -# 2 0:2 PREOP + EL5042 2Ch. BiSS-C Encoder -# 3 0:3 PREOP + EL5042 2Ch. BiSS-C Encoder -# 4 0:4 PREOP + EL3204 4K. Ana. Eingang PT100 (RTD) -# 5 0:5 PREOP + EL2008 8K. Dig. Ausgang 24V, 0.5A -# 6 0:6 PREOP + EL1008 8K. Dig. Eingang 24V, 3ms -# 7 0:7 PREOP + EL7041 1Ch. Stepper motor output stage (50V, 5A) -# 8 0:8 PREOP + EL7041 1Ch. Stepper motor output stage (50V, 5A) -# 9 0:9 PREOP + EL7041 1Ch. Stepper motor output stage (50V, 5A) -# 10 0:10 PREOP + EL7041 1Ch. Stepper motor output stage (50V, 5A) -# - -# 0:0 - EK1100 EtherCAT coupler -${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EK1100" - -# 0:1 - EL9227-5500 -${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL9227-5500" - -# 0:2 - EL5042 2Ch BiSS-C Encoder -${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL5042" - -# 0:3 - EL5042 2Ch BiSS-C Encoder -${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL5042" - -# 0:4 - EL3204 -${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL3204" - -# 0:5 - EL2008 -${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL2008" - -# 0:6 - EL1008 8K. Dig. Eingang 24V, 3ms -${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'" -${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'" -${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" - -# 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}" - -#- ################################################################# -#- 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_M1=12, AX_M2=13, AX_S1=5, AX_S2=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()'")