diff --git a/examples/PSI/best_practice/motion/master_slave/mirror/startup.script_X10SA-CPCL-ES1 b/examples/PSI/best_practice/motion/master_slave/mirror/startup.script_X10SA-CPCL-ES1 index 3444a3e3f..c3b0d7d39 100644 --- a/examples/PSI/best_practice/motion/master_slave/mirror/startup.script_X10SA-CPCL-ES1 +++ b/examples/PSI/best_practice/motion/master_slave/mirror/startup.script_X10SA-CPCL-ES1 @@ -1,7 +1,7 @@ epicsEnvSet("MASTER_ID", "0") -require ecmccfg v9.5.5_RC1,"ENG_MODE=1,ECMC_VER=v9.5.5_RC1" +require ecmccfg "ENG_MODE=1" require ecmccomp require ecmc_master_slave sandst_a @@ -9,7 +9,6 @@ require ecmc_master_slave sandst_a # only print error messages asynSetTraceMask(${ECMC_ASYN_PORT}, -1, 0x01) - ############################################################################## # - apply hardware configuration ${SCRIPTEXEC} ${ecmccfg_DIR}loadSubstConfig.cmd, "FILE=cfg/hw.subst" @@ -69,15 +68,6 @@ ${SCRIPTEXEC} ${ECMC_CONFIG_ROOT}loadPLCFile.cmd, "FILE=cfg/VFM.plc,PLC_ID=1,INC #- Temporary test ${SCRIPTEXEC} ${ECMC_CONFIG_ROOT}loadYamlAxis.cmd, "FILE=cfg/ax_Servo_angle.yaml, DRV_SLAVE=021" -#- ################################################################# -#- apply the configuration -${SCRIPTEXEC} ${ECMC_CONFIG_ROOT}applyConfig.cmd - - -#- ################################################################# -#- go active -${SCRIPTEXEC} ${ECMC_CONFIG_ROOT}setAppMode.cmd - require "calc" require "opticaltable","wang_x1" # The following lines were generated by "ioc install" diff --git a/examples/PSI/best_practice/motion/master_slave/slit/common/cfgHW_and_motion.cmd b/examples/PSI/best_practice/motion/master_slave/slit/common/cfgHW_and_motion.cmd index 51abd47aa..a28ec00dc 100644 --- a/examples/PSI/best_practice/motion/master_slave/slit/common/cfgHW_and_motion.cmd +++ b/examples/PSI/best_practice/motion/master_slave/slit/common/cfgHW_and_motion.cmd @@ -39,12 +39,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}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=../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}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=../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 diff --git a/examples/PSI/best_practice/motion/master_slave/slit/slit_equations/startup.script_ecmc b/examples/PSI/best_practice/motion/master_slave/slit/slit_equations/startup.script_ecmc index 4b63ef671..2119bdb3a 100644 --- a/examples/PSI/best_practice/motion/master_slave/slit/slit_equations/startup.script_ecmc +++ b/examples/PSI/best_practice/motion/master_slave/slit/slit_equations/startup.script_ecmc @@ -2,9 +2,6 @@ #- Configuration scripts require ecmccfg,"ENG_MODE=1,EC_RATE=100" -#- Components lib -require ecmccomp - #- Syncronization configs require ecmc_master_slave @@ -20,11 +17,6 @@ asynSetTraceMask(${ECMC_ASYN_PORT}, -1, 0x01) #- 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_SA=${GRP_realAxes_ID}, GRP_ID_MA=${GRP_virtualAxes_ID}'" -#- ################################################################# -#- go active -${SCRIPTEXEC} ${ecmccfg_DIR}applyConfig.cmd -${SCRIPTEXEC} ${ecmccfg_DIR}setAppMode.cmd - #- ############################################################################# #- reset all errors afterInit("ecmcConfigOrDie 'ControllerErrorReset()'") diff --git a/examples/PSI/best_practice/motion/master_slave/slit/slit_matrix/startup.script_ecmc b/examples/PSI/best_practice/motion/master_slave/slit/slit_matrix/startup.script_ecmc index 7f82e6d31..d3e514b99 100644 --- a/examples/PSI/best_practice/motion/master_slave/slit/slit_matrix/startup.script_ecmc +++ b/examples/PSI/best_practice/motion/master_slave/slit/slit_matrix/startup.script_ecmc @@ -1,9 +1,6 @@ #- Configuration scripts require ecmccfg,"ENG_MODE=1,EC_RATE=100" -#- Components lib -require ecmccomp - #- Syncronization configs require ecmc_master_slave @@ -19,11 +16,6 @@ asynSetTraceMask(${ECMC_ASYN_PORT}, -1, 0x01) #- 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_SA=${GRP_realAxes_ID}, GRP_ID_MA=${GRP_virtualAxes_ID}'" -#- ################################################################# -#- go active -${SCRIPTEXEC} ${ecmccfg_DIR}applyConfig.cmd -${SCRIPTEXEC} ${ecmccfg_DIR}setAppMode.cmd - #- ############################################################################# #- reset all errors afterInit("ecmcConfigOrDie 'ControllerErrorReset()'") diff --git a/examples/PSI/best_practice/motion/servo/startup.cmd b/examples/PSI/best_practice/motion/servo/startup.cmd index a28a694a5..55750b42a 100644 --- a/examples/PSI/best_practice/motion/servo/startup.cmd +++ b/examples/PSI/best_practice/motion/servo/startup.cmd @@ -2,7 +2,6 @@ ## Example config for ep7211-0034 require ecmccfg "ENG_MODE=1" -require ecmccomp #- ############################################################################ #- Configure hardware @@ -14,10 +13,6 @@ require ecmccomp ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=15, HW_DESC=EP7211-0034_ALL_FB" #- Limit torque to 50% of motor rated torque. Rated current = 2710mA, set to half I_MAX_MA=1355 -${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Beckhoff-AM8111-XFX0, MACROS='I_MAX_MA=1355'" +${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Motor-Beckhoff-AM8111-XFX0, MACROS='I_MAX_MA=1355'" $(SCRIPTEXEC) $(ecmccfg_DIR)loadYamlAxis.cmd "FILE=./cfg/axis.yaml, DRV_ID=$(ECMC_EC_SLAVE_NUM), AX_NAME='Axis1', AX_ID=1" -#- ############################################################################ -#- Go active -${SCRIPTEXEC} ${ecmccfg_DIR}applyConfig.cmd -${SCRIPTEXEC} ${ecmccfg_DIR}setAppMode.cmd diff --git a/examples/PSI/best_practice/motion/stepper_bissc/startup.cmd b/examples/PSI/best_practice/motion/stepper_bissc/startup.cmd index 80a345c93..44bcfed94 100644 --- a/examples/PSI/best_practice/motion/stepper_bissc/startup.cmd +++ b/examples/PSI/best_practice/motion/stepper_bissc/startup.cmd @@ -2,7 +2,6 @@ ## Example config for EL7041 and EL5042 require ecmccfg "ENG_MODE=1" -require ecmccomp #- ############################################################################ #- Master0 @@ -18,7 +17,6 @@ require ecmccomp #- 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" @@ -27,8 +25,8 @@ ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL9227-5500" # 0:2 - EL5042 2Ch BiSS-C Encoder, RLS-LA11 ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL5042" -${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Encoder-RLS-LA11-26bit-BISS-C,CH_ID=1" -${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Encoder-RLS-LA11-26bit-BISS-C,CH_ID=2" +${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Encoder-RLS-LA11-26bit-BISS-C,CH_ID=1" +${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Encoder-RLS-LA11-26bit-BISS-C,CH_ID=2" epicsEnvSet(ENC_SID,${ECMC_EC_SLAVE_NUM}) # 0:3 - EL5042 2Ch BiSS-C Encoder @@ -46,7 +44,7 @@ ${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}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.yaml, DEV=${IOC}, AX_NAME=M1, AXIS_ID=1, DRV_SID=${ECMC_EC_SLAVE_NUM}, ENC_SID=${ENC_SID}, ENC_CH=01, BO_SID=${BO_SID}, BO_CH=01" ${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlEnc.cmd, "FILE=./cfg/enc_open_loop.yaml, DEV=${IOC}, DRV_SID=${ECMC_EC_SLAVE_NUM}" @@ -59,7 +57,3 @@ ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL7041-0052" # 0:10 - EL7041 1Ch Stepper ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL7041-0052" -#- ########################################################################### -#- go active -${SCRIPTEXEC} ${ecmccfg_DIR}applyConfig.cmd -${SCRIPTEXEC} ${ecmccfg_DIR}setAppMode.cmd diff --git a/examples/PSI/best_practice/motion/stepper_bissc/startup_local_hw.cmd b/examples/PSI/best_practice/motion/stepper_bissc/startup_local_hw.cmd index 1e43dbd6c..523568dbf 100644 --- a/examples/PSI/best_practice/motion/stepper_bissc/startup_local_hw.cmd +++ b/examples/PSI/best_practice/motion/stepper_bissc/startup_local_hw.cmd @@ -1,25 +1,19 @@ ############################################################################## ## Example config for EL7041 and EL5042 -require ecmccfg "ENG_MODE=1" -require ecmccomp +require ecmccfg "ENG_MODE=1,MASTER_ID=1" # 0:7 - EL7041 1Ch Stepper -${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=13,HW_DESC=EL7041-0052" -${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper, MACROS='I_MAX_MA=1500, I_STDBY_MA=1000, U_NOM_MV=48000, R_COIL_MOHM=1230'" +${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=14,HW_DESC=EL7041-0052" +${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper, MACROS='I_MAX_MA=1500, I_STDBY_MA=1000, U_NOM_MV=48000, R_COIL_MOHM=1230'" epicsEnvSet(DRV_SID,${ECMC_EC_SLAVE_NUM}) - # 0:2 - EL5042 2Ch BiSS-C Encoder, RLS-LA11 -${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=14,HW_DESC=EL5042" -${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Encoder-RLS-LA11-26bit-BISS-C,CH_ID=1" -${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Encoder-RLS-LA11-26bit-BISS-C,CH_ID=2" +${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=9,HW_DESC=EL5042" +${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Encoder-RLS-LA11-26bit-BISS-C,CH_ID=1" +${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Encoder-RLS-LA11-26bit-BISS-C,CH_ID=2" epicsEnvSet(ENC_SID,${ECMC_EC_SLAVE_NUM}) ${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=./cfg/axis.yaml, DEV=${IOC}, AX_NAME=M1, AXIS_ID=1, DRV_SID=${DRV_SID}, ENC_SID=${ENC_SID}, ENC_CH=01" ${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlEnc.cmd, "FILE=./cfg/enc_open_loop.yaml, DEV=${IOC}, DRV_SID=${DRV_SID}" -#- ########################################################################### -#- go active -${SCRIPTEXEC} ${ecmccfg_DIR}applyConfig.cmd -${SCRIPTEXEC} ${ecmccfg_DIR}setAppMode.cmd diff --git a/examples/PSI/best_practice/motion/stepper_bissc_hw_subst/startup.cmd b/examples/PSI/best_practice/motion/stepper_bissc_hw_subst/startup.cmd index b4e2a526f..9961106e5 100644 --- a/examples/PSI/best_practice/motion/stepper_bissc_hw_subst/startup.cmd +++ b/examples/PSI/best_practice/motion/stepper_bissc_hw_subst/startup.cmd @@ -12,8 +12,3 @@ ${SCRIPTEXEC} ${ecmccfg_DIR}loadSubstConfig.cmd, "FILE=cfg/hw.subs" # - motion ${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=./cfg/axis.yaml, DEV=${IOC}, AX_NAME=M1, AXIS_ID=1, DRV_SID=7, ENC_SID=2, ENC_CH=01, BO_SID=5, BO_CH=01" ${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlEnc.cmd, "FILE=./cfg/enc_open_loop.yaml, DEV=${IOC}, DRV_SID=7" - -#- ########################################################################### -#- go active -${SCRIPTEXEC} ${ecmccfg_DIR}applyConfig.cmd -${SCRIPTEXEC} ${ecmccfg_DIR}setAppMode.cmd diff --git a/examples/PSI/best_practice/motion/stepper_bissc_no_mr/startup.cmd b/examples/PSI/best_practice/motion/stepper_bissc_no_mr/startup.cmd index 7f2647486..3a50dafd2 100644 --- a/examples/PSI/best_practice/motion/stepper_bissc_no_mr/startup.cmd +++ b/examples/PSI/best_practice/motion/stepper_bissc_no_mr/startup.cmd @@ -2,7 +2,6 @@ ## Example config for EL7041 and EL5042 require ecmccfg "MODE=NO_MR,ENG_MODE=1,EC_RATE=100" -require ecmccomp #- ############################################################################ #- Master0 @@ -18,7 +17,6 @@ require ecmccomp #- 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" @@ -58,8 +56,3 @@ ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL7041-0052" # 0:10 - EL7041 1Ch Stepper ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL7041-0052" - -#- ########################################################################### -#- go active -${SCRIPTEXEC} ${ecmccfg_DIR}applyConfig.cmd -${SCRIPTEXEC} ${ecmccfg_DIR}setAppMode.cmd diff --git a/examples/PSI/best_practice/plcs/startup.cmd b/examples/PSI/best_practice/plcs/startup.cmd index e995e914a..a759117dc 100644 --- a/examples/PSI/best_practice/plcs/startup.cmd +++ b/examples/PSI/best_practice/plcs/startup.cmd @@ -16,8 +16,3 @@ ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=10, HW_DESC=EL2819" #- Load PLC (note the include dir (INC) and the use of ECMC_EC_SLAVE_NUM) ${SCRIPTEXEC} ${ecmccfg_DIR}loadPLCFile.cmd, "FILE=./cfg/main.plc, INC=.:./cfg/, DESC='Toggle bits', SAMPLE_RATE_MS=1000, PLC_MACROS='BO_S_ID=${ECMC_EC_SLAVE_NUM}'" -#- ############################################################################ -#- Go active -${SCRIPTEXEC} ${ecmccfg_DIR}applyConfig.cmd -${SCRIPTEXEC} ${ecmccfg_DIR}setAppMode.cmd - diff --git a/examples/test/el7411/cfg/axis.yaml b/examples/test/el7411/cfg/axis.yaml new file mode 100644 index 000000000..b573c7db0 --- /dev/null +++ b/examples/test/el7411/cfg/axis.yaml @@ -0,0 +1,81 @@ +axis: + id: ${AXIS_ID=1} # Axis id + +epics: + name: ${AX_NAME=M1} # Axis anme + precision: 3 # Decimal count + description: Test cfg # Axis description + unit: deg # Unit + motorRecord: + fieldInit: 'RTRY=0,FOFF=Frozen' # Extra config for Motor record + +# Seems the setting is in deg/s?!? +# num=1 and denom=1 works PERFECT (controller params zero and following setpoint perfect). +# For twincat the manual where it states the output should be: +# With inc encoder: +# output_scaling = 360/enc_st_res/4*125 +# Without in encoder: +# output_scaling = 360/35535*125 +# Twincat is recalculating behind the scenes... +drive: + numerator: 1 # Fastest speed in eng. units (2000 Fullsteps/s==10mm/s) + denominator: 1 # I/O range for ECMC_EC_ALIAS_DRV_VELO_SET (normally +-16bit) + type: 1 # Stepper: 0. DS402: 1 (DS402 = servos and advanced stepper drives) + setpoint: ec0.s$(DRV_SID).velocitySetpoint01 # Velocity setpoint if CSV. Position setpoint if CSP + control: ec0.s$(DRV_SID).driveControl01 # Control word ethercat entry + status: ec0.s$(DRV_SID).driveStatus01 # Status word ethercat entry + +encoder: + desc: Incremental + numerator: 360 # Scaling numerator example 1 mm/rev + denominator: 4096 # Scaling denominator example 4096 ticks per 360 degree + type: 0 # Type: 0=Incremental, 1=Absolute + bits: 32 # Total bit count of encoder raw data + position: ec0.s$(DRV_SID).positionActual${ENC_CH=01} # Ethercat entry for actual position input (encoder) + status: ec0.s$(DRV_SID).encoderStatus${ENC_CH=01} # mandatory only if 'warning' or 'error' are used + +controller: + Kp: 5 # Kp proportinal gain + Ki: 0 # Ki integral gain + Kd: 0 # Kd derivative gain + +trajectory: + type: 1 + axis: + velocity: 1720 # Default velo for axis + acceleration: 1720 # Default acc for axis + deceleration: 1720 # Default dec for axis + emergencyDeceleration: 1720 # Deceleration when axis in error state + jerk: 1720 # Default jerk for axis + jog: + velocity: 1720 # Default velo fro JOG (motor record) + +input: + limit: + forward: ec0.s$(DRV_SID).ONE.0 # Ethercat entry for low limit switch input + backward: ec0.s$(DRV_SID).ONE.0 # Ethercat entry for high limit switch input + home: 'ec0.s$(DRV_SID).ONE.0' # Ethercat entry for home switch + interlock: 'ec0.s$(DRV_SID).ONE.0' # Ethercat entry for interlock switch input + +softlimits: + enable: false # Enable soft limits + forward: 100 # Soft limit position fwd + forwardEnable: false # Soft limit position fwd enable + backward: -100 # Soft limit position bwd + backwardEnable: false # Soft limit position bwd enable + +monitoring: + lag: + enable: true # Enable position lag monitoring (following error) + tolerance: 360 # Allowed tolerance + time: 100 # Allowed time outside tolerance target: + velocity: + enable: true # Enable velocity monitoring + max: 15000 # Allowed max velocity + time: + trajectory: 100 # Time allowed outside max velo before system init halt + drive: 200 # Time allowed outside max velo before system disables drive + target: + enable: true # Enable at target monitoring (needs to be enabled if using motor record) + tolerance: 0.1 # Allowed tolerance + time: 100 # Filter time inside tolerance to be at target diff --git a/examples/test/el7411/el7411_qmot.script b/examples/test/el7411/el7411_qmot.script new file mode 100644 index 000000000..d92d8a1fc --- /dev/null +++ b/examples/test/el7411/el7411_qmot.script @@ -0,0 +1,12 @@ +############################################################################## +## Example config for el7411 with Qmot BLDC motor (incremental encoder) +## Note, the encoder needed to be inverted to fit motor rotation (otherwise the motor will act strange, however no real error..) + +require ecmccfg sandst_a "MASTER_ID=1,ENG_MODE=1" + +#-############################################################################# +## Configure hardware +${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd "SLAVE_ID=16, HW_DESC=EL7411" +${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Motor-QMot-4208-61-04-013-DS, MACROS='I_MAX_MA=2000,VELO_KP=1000,VELO_TI=100,CURR_KP=100,CURR_TI=50'" +${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Encoder-Generic-INC, MACROS='ST_ENC_RES=4096, INV_DIR=1'" +${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd "FILE=./cfg/axis.yaml, DEV=${IOC}, AX_NAME=M1, AXIS_ID=1, DRV_SID=${ECMC_EC_SLAVE_NUM}" diff --git a/examples/test/el7411/README.md b/examples/test/el7411/obsolete/README.md similarity index 100% rename from examples/test/el7411/README.md rename to examples/test/el7411/obsolete/README.md diff --git a/examples/test/el7411/el7411.script b/examples/test/el7411/obsolete/el7411.script similarity index 100% rename from examples/test/el7411/el7411.script rename to examples/test/el7411/obsolete/el7411.script diff --git a/examples/test/el7411/cfg/el7411_1.ax b/examples/test/el7411/obsolete/el7411_1.ax similarity index 100% rename from examples/test/el7411/cfg/el7411_1.ax rename to examples/test/el7411/obsolete/el7411_1.ax diff --git a/examples/test/el7411/cfg/el7411_1_CSP.ax b/examples/test/el7411/obsolete/el7411_1_CSP.ax similarity index 100% rename from examples/test/el7411/cfg/el7411_1_CSP.ax rename to examples/test/el7411/obsolete/el7411_1_CSP.ax diff --git a/examples/test/el7411/el7411_CSP.script b/examples/test/el7411/obsolete/el7411_CSP.script similarity index 100% rename from examples/test/el7411/el7411_CSP.script rename to examples/test/el7411/obsolete/el7411_CSP.script diff --git a/examples/test/ipos4808/ipos4808.script b/examples/test/ipos4808/ipos4808.script index cfc9e7c2c..a1306fd3e 100644 --- a/examples/test/ipos4808/ipos4808.script +++ b/examples/test/ipos4808/ipos4808.script @@ -21,7 +21,7 @@ ${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=$(ECMC_EC_SLAVE_NUM), HW_DES #- * I_STDBY_MA : Mandatory if Motor-Generic-2Phase-Stepper is used #- The values can be taken from EasyMotionStudio or by trial and error (BTW, coil resistance and inductance are not used in the iPOS cfgs) #- After running a tuning test in EasyMotionStudio, a reset is needed (from easymotion studio or over SDO (see motor cfg scripts).) -${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper, MACROS='I_MAX_MA=1000,I_STDBY_MA=100,I_CTRL_GAIN=1.0,I_CTRL_INT=0.26'" +${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper, MACROS='I_MAX_MA=1000,I_STDBY_MA=100,CURR_KP=1.0,CURR_TI=0.26'" #- ############################################################################# #- AXIS 1