-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Restructure dir for EL72xx high velo tests
- Loading branch information
1 parent
7d394af
commit 6d5bcb4
Showing
19 changed files
with
334 additions
and
7 deletions.
There are no files selected for viewing
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions
1
examples/test/el70xx/high_speed/el7031_owis_stage/cfg/EPICSVERSION
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
7.0.6 |
94 changes: 94 additions & 0 deletions
94
examples/test/el70xx/high_speed/el7031_owis_stage/cfg/linear.ax
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
#General | ||
epicsEnvSet("ECMC_MOTOR_NAME", "Axis1") | ||
epicsEnvSet("ECMC_R", "Axis1-") | ||
epicsEnvSet("ECMC_AXIS_NO", "1") | ||
epicsEnvSet("ECMC_DESC", "Axis 1") | ||
epicsEnvSet("ECMC_EGU", "deg") # Motor Record Unit | ||
epicsEnvSet("ECMC_PREC", "3") # Motor Record Precision | ||
epicsEnvSet("ECMC_AXISCONFIG", "") # Extra parameters to driver | ||
epicsEnvSet("ECMC_EC_AXIS_HEALTH", "") # Entry for axis health output (example: ec0.s1.binaryOutput01.0) | ||
epicsEnvSet("ECMC_MOD_RANGE" , "0") # Modulo range (traj setpoints and encoder values will be in range 0..ECMC_MOD_RANGE) | ||
epicsEnvSet("ECMC_MOD_TYPE", "0") # For positioning and MOD_RANGE>0: 0 = Normal, 1 = Always Fwd, 2 = Always Bwd, 3 = Closest Distance | ||
|
||
#Encoder | ||
epicsEnvSet("ECMC_ENC_SCALE_NUM" "1") | ||
epicsEnvSet("ECMC_ENC_SCALE_DENOM" "12800") | ||
epicsEnvSet("ECMC_ENC_TYPE" "0") # Type: 0=Incremental, 1=Absolute | ||
epicsEnvSet("ECMC_ENC_BITS" "16") # Total bit count of encoder raw data | ||
epicsEnvSet("ECMC_ENC_ABS_BITS", "0") # Absolute bit count (for absolute encoders) always least significant part of ECMC_ENC_BITS | ||
epicsEnvSet("ECMC_ENC_ABS_OFFSET" "0") # Encoder offset in eng units (for absolute encoders) | ||
epicsEnvSet("ECMC_EC_ENC_ACTPOS", "ec0.s${DRIVE_ID}.positionActual01") # Ethercat entry for actual position input (encoder) | ||
epicsEnvSet("ECMC_EC_ENC_RESET", "") # Reset (if no encoder reset bit then leave empty) | ||
epicsEnvSet("ECMC_EC_ENC_ALARM_0", "") # Error 0 (if no encoder error bit then leave empty) | ||
epicsEnvSet("ECMC_EC_ENC_ALARM_1", "") # Error 1 (if no encoder error bit then leave empty) | ||
epicsEnvSet("ECMC_EC_ENC_ALARM_2", "") # Error 2 (if no encoder error bit then leave empty) | ||
epicsEnvSet("ECMC_EC_ENC_WARNING", "") # Warning (if no encoder warning bit then leave empty) | ||
|
||
#Drive | ||
epicsEnvSet("ECMC_DRV_TYPE" "0") # Stepper: 0. Ds${DRIVE_ID}02: 1 (Ds${DRIVE_ID}02 = servos and advanced stepper drives) | ||
epicsEnvSet("ECMC_DRV_SCALE_NUM" "40.0") # Fastest speed in engineering units | ||
epicsEnvSet("ECMC_DRV_SCALE_DENOM" "32768.0") # I/O range for ECMC_EC_ALIAS_DRV_VELO_SET | ||
epicsEnvSet("ECMC_EC_DRV_CONTROL", "ec0.s${DRIVE_ID}.driveControl01.0") # Ethercat entry for control word or bit output | ||
epicsEnvSet("ECMC_EC_DRV_STATUS", "ec0.s${DRIVE_ID}.driveStatus01.1") # Ethercat entry for status word or bit input | ||
epicsEnvSet("ECMC_EC_DRV_VELOCITY", "ec0.s${DRIVE_ID}.velocitySetpoint01") # Ethercat entry for velocity setpoint output | ||
epicsEnvSet("ECMC_EC_DRV_REDUCE_TORQUE", "ec0.s${DRIVE_ID}.driveControl01.2") # Ethercat entry for reduce torque output | ||
epicsEnvSet("ECMC_EC_DRV_BRAKE", "") # Ethercat entry for brake output | ||
epicsEnvSet("ECMC_DRV_BRAKE_OPEN_DLY_TIME", "0") # Brake timing parameter in cycles (default 1kHz) | ||
epicsEnvSet("ECMC_DRV_BRAKE_CLOSE_AHEAD_TIME", "0") # Brake timing parameter in cycles (default 1kHz) | ||
epicsEnvSet("ECMC_EC_DRV_RESET", "ec0.s${DRIVE_ID}.driveControl01.1") # Reset | ||
epicsEnvSet("ECMC_EC_DRV_ALARM_0", "ec0.s${DRIVE_ID}.driveStatus01.3") # Error | ||
epicsEnvSet("ECMC_EC_DRV_ALARM_1", "ec0.s${DRIVE_ID}.driveStatus01.7") # Stall | ||
epicsEnvSet("ECMC_EC_DRV_ALARM_2", "ec0.s${DRIVE_ID}.driveStatus01.14") # Sync error | ||
epicsEnvSet("ECMC_EC_DRV_WARNING", "ec0.s${DRIVE_ID}.driveStatus01.2") # Warning | ||
|
||
#Trajectory | ||
epicsEnvSet("ECMC_VELO", "9") | ||
epicsEnvSet("ECMC_JOG_VEL", "9") | ||
epicsEnvSet("ECMC_JAR", "0.0") # JAR defaults to VELO/ACCL | ||
epicsEnvSet("ECMC_ACCS_EGU_PER_S2", "30") | ||
epicsEnvSet("ECMC_EMERG_DECEL", "100") # Emergency deceleration | ||
|
||
#Homing | ||
epicsEnvSet("ECMC_HOME_PROC", "0") | ||
epicsEnvSet("ECMC_HOME_POS", "0.0") | ||
epicsEnvSet("ECMC_HOME_VEL_TO", "5") | ||
epicsEnvSet("ECMC_HOME_VEL_FRM", "4") | ||
epicsEnvSet("ECMC_HOME_ACC", "21") | ||
epicsEnvSet("ECMC_HOME_DEC", "100") | ||
epicsEnvSet("ECMC_HOME_POS_MOVE_ENA", "0") # Enable move to position after successfull homing | ||
epicsEnvSet("ECMC_HOME_POS_MOVE_TARG_POS","0") # Target position to go to after successfull homing | ||
|
||
#Controller | ||
epicsEnvSet("ECMC_CNTRL_KP", "15.0") | ||
epicsEnvSet("ECMC_CNTRL_KI", "0.02") | ||
epicsEnvSet("ECMC_CNTRL_KD", "0.0") | ||
epicsEnvSet("ECMC_CNTRL_KFF", "1.0") | ||
|
||
#Monitoring | ||
# Switches | ||
epicsEnvSet("ECMC_EC_MON_LOWLIM", "ec0.s${DRIVE_ID}.ONE.0") # Ethercat entry for low limit switch input | ||
epicsEnvSet("ECMC_EC_MON_HIGHLIM", "ec0.s${DRIVE_ID}.ONE.0") # Ethercat entry for high limit switch inpuit | ||
epicsEnvSet("ECMC_EC_MON_HOME_SWITCH", "ec0.s${DRIVE_ID}.ONE.0") # Ethercat entry for home switch input | ||
epicsEnvSet("ECMC_EC_MON_EXT_INTERLOCK", "ec0.s${DRIVE_ID}.ONE.0") # Ethercat entry for external interlock input | ||
|
||
# Softlimits (disable with 0,0,0) | ||
epicsEnvSet("ECMC_SOFT_LOW_LIM", "0") | ||
epicsEnvSet("ECMC_SOFT_HIGH_LIM", "0") | ||
epicsEnvSet("ECMC_DXLM_ENABLE", "0") | ||
|
||
# Position lag | ||
epicsEnvSet("ECMC_MON_LAG_MON_TOL", "5") | ||
epicsEnvSet("ECMC_MON_LAG_MON_TIME", "100") | ||
epicsEnvSet("ECMC_MON_LAG_MON_ENA", "1") | ||
|
||
# At target | ||
epicsEnvSet("ECMC_MON_AT_TARGET_TOL", "0.03") | ||
epicsEnvSet("ECMC_MON_AT_TARGET_TIME", "100") | ||
epicsEnvSet("ECMC_MON_AT_TARGET_ENA", "1") | ||
|
||
# Velocity | ||
epicsEnvSet("ECMC_MON_VELO_MAX", "5000.0") | ||
epicsEnvSet("ECMC_MON_VELO_MAX_TRAJ_TIME","100") | ||
epicsEnvSet("ECMC_MON_VELO_MAX_DRV_TIME", "200") | ||
epicsEnvSet("ECMC_MON_VELO_MAX_ENA", "1") | ||
|
11 changes: 11 additions & 0 deletions
11
examples/test/el70xx/high_speed/el7031_owis_stage/startup.script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# AD82: The following lines would be generated by "ioc install" if you useed it | ||
# Generated at: 2023-04-12 00:36:43 | ||
|
||
epicsEnvSet IOC c6025a | ||
epicsEnvSet ENGINEER sandst_a | ||
< /ioc/startup/startup.script_linux | ||
|
||
# ---- ioc/system specific startup script(s) | ||
< startup.script_ECMC | ||
|
||
iocInit |
57 changes: 57 additions & 0 deletions
57
examples/test/el70xx/high_speed/el7031_owis_stage/startup.script_ECMC
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# ecmc test system | ||
# Anders Sandström | ||
|
||
require ecmccfg v9.0.1_RC3,"EC_RATE=500,ECMC_VER=v9.0.1_RC2" | ||
|
||
epicsEnvSet("IOC" ,"$(IOC="ec-base-01:Test:")") | ||
epicsEnvSet("SCRIPTEXEC" ,"$(SCRIPTEXEC="iocshLoad")") | ||
|
||
# Configure hardware | ||
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=4, HW_DESC=EL7031" | ||
#${SCRIPTEXEC} ${ecmccfg_DIR}ecmcEP7047-1032-Motor-Micos-Epics-Training.cmd | ||
|
||
# Settings from ecmcEP7047-1032-Motor-Micos-Epics-Training.cmd but 24 volt and no induction setting | ||
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8010,0x1,500,2)" | ||
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8010,0x2,250,2)" | ||
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8010,0x3,24000,2)" | ||
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8010,0x4,170,2)" | ||
|
||
|
||
# mode velo | ||
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8012,0x1,1,1)" | ||
|
||
# velo range 1=2000, 3=8000 | ||
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8012,0x5,3,1)" | ||
|
||
# Filter cut off | ||
#ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8011,0x7,0,2)" | ||
|
||
# Current boosts (set to 0 according to beckhoff), really makes a difference | ||
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8011,0x7,0,2)" | ||
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8011,0x8,0,2)" | ||
|
||
# Current control keep 1/40 ratio | ||
# kp | ||
#ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8011,0x1,400,2)" | ||
# ki | ||
#ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8011,0x2,4,2)" | ||
|
||
|
||
ecmcConfigOrDie "Cfg.EcApplyConfig(1)" | ||
|
||
# Configure Motion | ||
epicsEnvSet("DEV", "$(IOC)") | ||
epicsEnvSet("DRIVE_ID", "$(ECMC_EC_SLAVE_NUM)") | ||
#$(SCRIPTEXEC) ($(ecmccfg_DIR)configureAxis.cmd, CONFIG=./cfg/linear.ax, CFG_MACROS="DRIVE_ID=${ECMC_EC_SLAVE_NUM}") | ||
$(SCRIPTEXEC) ($(ecmccfg_DIR)configureAxis.cmd, CONFIG=./cfg/linear.ax) | ||
|
||
# Other | ||
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) |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
## EL7041-0052 | ||
Test "high speed" with EL7041-0052 and a phytron motor. | ||
The setup uses el7041:s highest speed range (32000 fullsteps/s) | ||
|
||
# Conclusion | ||
Running a stepper without mechnics with EL7052-0052 over 600 fullsteps/s is almost impossible. An inertia is needed and damper is needed. | ||
Attaching a damper and inertia allows very high speeds, tested up to 26000 fullsteps/s (130Hz (turns/s)). | ||
|
1 change: 1 addition & 0 deletions
1
examples/test/el70xx/high_speed/ep7047_owis_stage/cfg/EPICSVERSION
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
7.0.6 |
94 changes: 94 additions & 0 deletions
94
examples/test/el70xx/high_speed/ep7047_owis_stage/cfg/linear.ax
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
#General | ||
epicsEnvSet("ECMC_MOTOR_NAME", "Axis1") | ||
epicsEnvSet("ECMC_R", "Axis1-") | ||
epicsEnvSet("ECMC_AXIS_NO", "1") | ||
epicsEnvSet("ECMC_DESC", "Axis 1") | ||
epicsEnvSet("ECMC_EGU", "deg") # Motor Record Unit | ||
epicsEnvSet("ECMC_PREC", "3") # Motor Record Precision | ||
epicsEnvSet("ECMC_AXISCONFIG", "") # Extra parameters to driver | ||
epicsEnvSet("ECMC_EC_AXIS_HEALTH", "") # Entry for axis health output (example: ec0.s1.binaryOutput01.0) | ||
epicsEnvSet("ECMC_MOD_RANGE" , "0") # Modulo range (traj setpoints and encoder values will be in range 0..ECMC_MOD_RANGE) | ||
epicsEnvSet("ECMC_MOD_TYPE", "0") # For positioning and MOD_RANGE>0: 0 = Normal, 1 = Always Fwd, 2 = Always Bwd, 3 = Closest Distance | ||
|
||
#Encoder | ||
epicsEnvSet("ECMC_ENC_SCALE_NUM" "1") | ||
epicsEnvSet("ECMC_ENC_SCALE_DENOM" "12800") | ||
epicsEnvSet("ECMC_ENC_TYPE" "0") # Type: 0=Incremental, 1=Absolute | ||
epicsEnvSet("ECMC_ENC_BITS" "16") # Total bit count of encoder raw data | ||
epicsEnvSet("ECMC_ENC_ABS_BITS", "0") # Absolute bit count (for absolute encoders) always least significant part of ECMC_ENC_BITS | ||
epicsEnvSet("ECMC_ENC_ABS_OFFSET" "0") # Encoder offset in eng units (for absolute encoders) | ||
epicsEnvSet("ECMC_EC_ENC_ACTPOS", "ec0.s${DRIVE_ID}.positionActual01") # Ethercat entry for actual position input (encoder) | ||
epicsEnvSet("ECMC_EC_ENC_RESET", "") # Reset (if no encoder reset bit then leave empty) | ||
epicsEnvSet("ECMC_EC_ENC_ALARM_0", "") # Error 0 (if no encoder error bit then leave empty) | ||
epicsEnvSet("ECMC_EC_ENC_ALARM_1", "") # Error 1 (if no encoder error bit then leave empty) | ||
epicsEnvSet("ECMC_EC_ENC_ALARM_2", "") # Error 2 (if no encoder error bit then leave empty) | ||
epicsEnvSet("ECMC_EC_ENC_WARNING", "") # Warning (if no encoder warning bit then leave empty) | ||
|
||
#Drive | ||
epicsEnvSet("ECMC_DRV_TYPE" "0") # Stepper: 0. Ds${DRIVE_ID}02: 1 (Ds${DRIVE_ID}02 = servos and advanced stepper drives) | ||
epicsEnvSet("ECMC_DRV_SCALE_NUM" "10.0") # Fastest speed in engineering units | ||
epicsEnvSet("ECMC_DRV_SCALE_DENOM" "32768.0") # I/O range for ECMC_EC_ALIAS_DRV_VELO_SET | ||
epicsEnvSet("ECMC_EC_DRV_CONTROL", "ec0.s${DRIVE_ID}.driveControl01.0") # Ethercat entry for control word or bit output | ||
epicsEnvSet("ECMC_EC_DRV_STATUS", "ec0.s${DRIVE_ID}.driveStatus01.1") # Ethercat entry for status word or bit input | ||
epicsEnvSet("ECMC_EC_DRV_VELOCITY", "ec0.s${DRIVE_ID}.velocitySetpoint01") # Ethercat entry for velocity setpoint output | ||
epicsEnvSet("ECMC_EC_DRV_REDUCE_TORQUE", "ec0.s${DRIVE_ID}.driveControl01.2") # Ethercat entry for reduce torque output | ||
epicsEnvSet("ECMC_EC_DRV_BRAKE", "") # Ethercat entry for brake output | ||
epicsEnvSet("ECMC_DRV_BRAKE_OPEN_DLY_TIME", "0") # Brake timing parameter in cycles (default 1kHz) | ||
epicsEnvSet("ECMC_DRV_BRAKE_CLOSE_AHEAD_TIME", "0") # Brake timing parameter in cycles (default 1kHz) | ||
epicsEnvSet("ECMC_EC_DRV_RESET", "ec0.s${DRIVE_ID}.driveControl01.1") # Reset | ||
epicsEnvSet("ECMC_EC_DRV_ALARM_0", "ec0.s${DRIVE_ID}.driveStatus01.3") # Error | ||
epicsEnvSet("ECMC_EC_DRV_ALARM_1", "ec0.s${DRIVE_ID}.driveStatus01.7") # Stall | ||
epicsEnvSet("ECMC_EC_DRV_ALARM_2", "ec0.s${DRIVE_ID}.driveStatus01.14") # Sync error | ||
epicsEnvSet("ECMC_EC_DRV_WARNING", "ec0.s${DRIVE_ID}.driveStatus01.2") # Warning | ||
|
||
#Trajectory | ||
epicsEnvSet("ECMC_VELO", "9") | ||
epicsEnvSet("ECMC_JOG_VEL", "9") | ||
epicsEnvSet("ECMC_JAR", "0.0") # JAR defaults to VELO/ACCL | ||
epicsEnvSet("ECMC_ACCS_EGU_PER_S2", "10") | ||
epicsEnvSet("ECMC_EMERG_DECEL", "100") # Emergency deceleration | ||
|
||
#Homing | ||
epicsEnvSet("ECMC_HOME_PROC", "0") | ||
epicsEnvSet("ECMC_HOME_POS", "0.0") | ||
epicsEnvSet("ECMC_HOME_VEL_TO", "5") | ||
epicsEnvSet("ECMC_HOME_VEL_FRM", "4") | ||
epicsEnvSet("ECMC_HOME_ACC", "21") | ||
epicsEnvSet("ECMC_HOME_DEC", "100") | ||
epicsEnvSet("ECMC_HOME_POS_MOVE_ENA", "0") # Enable move to position after successfull homing | ||
epicsEnvSet("ECMC_HOME_POS_MOVE_TARG_POS","0") # Target position to go to after successfull homing | ||
|
||
#Controller | ||
epicsEnvSet("ECMC_CNTRL_KP", "15.0") | ||
epicsEnvSet("ECMC_CNTRL_KI", "0.02") | ||
epicsEnvSet("ECMC_CNTRL_KD", "0.0") | ||
epicsEnvSet("ECMC_CNTRL_KFF", "1.0") | ||
|
||
#Monitoring | ||
# Switches | ||
epicsEnvSet("ECMC_EC_MON_LOWLIM", "ec0.s${DRIVE_ID}.driveStatus01.11") # Ethercat entry for low limit switch input | ||
epicsEnvSet("ECMC_EC_MON_HIGHLIM", "ec0.s${DRIVE_ID}.driveStatus01.12") # Ethercat entry for high limit switch inpuit | ||
epicsEnvSet("ECMC_EC_MON_HOME_SWITCH", "ec0.s${DRIVE_ID}.ONE.0") # Ethercat entry for home switch input | ||
epicsEnvSet("ECMC_EC_MON_EXT_INTERLOCK", "ec0.s${DRIVE_ID}.ONE.0") # Ethercat entry for external interlock input | ||
|
||
# Softlimits (disable with 0,0,0) | ||
epicsEnvSet("ECMC_SOFT_LOW_LIM", "0") | ||
epicsEnvSet("ECMC_SOFT_HIGH_LIM", "0") | ||
epicsEnvSet("ECMC_DXLM_ENABLE", "0") | ||
|
||
# Position lag | ||
epicsEnvSet("ECMC_MON_LAG_MON_TOL", "5") | ||
epicsEnvSet("ECMC_MON_LAG_MON_TIME", "100") | ||
epicsEnvSet("ECMC_MON_LAG_MON_ENA", "1") | ||
|
||
# At target | ||
epicsEnvSet("ECMC_MON_AT_TARGET_TOL", "0.03") | ||
epicsEnvSet("ECMC_MON_AT_TARGET_TIME", "100") | ||
epicsEnvSet("ECMC_MON_AT_TARGET_ENA", "1") | ||
|
||
# Velocity | ||
epicsEnvSet("ECMC_MON_VELO_MAX", "5000.0") | ||
epicsEnvSet("ECMC_MON_VELO_MAX_TRAJ_TIME","100") | ||
epicsEnvSet("ECMC_MON_VELO_MAX_DRV_TIME", "200") | ||
epicsEnvSet("ECMC_MON_VELO_MAX_ENA", "1") | ||
|
11 changes: 11 additions & 0 deletions
11
examples/test/el70xx/high_speed/ep7047_owis_stage/startup.script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# AD82: The following lines would be generated by "ioc install" if you useed it | ||
# Generated at: 2023-04-12 00:36:43 | ||
|
||
epicsEnvSet IOC c6025a | ||
epicsEnvSet ENGINEER sandst_a | ||
< /ioc/startup/startup.script_linux | ||
|
||
# ---- ioc/system specific startup script(s) | ||
< startup.script_ECMC | ||
|
||
iocInit |
31 changes: 31 additions & 0 deletions
31
examples/test/el70xx/high_speed/ep7047_owis_stage/startup.script_ECMC
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# ecmc test system | ||
# Anders Sandström | ||
|
||
require ecmccfg v9.0.1_RC3,"EC_RATE=500,ECMC_VER=v9.0.1_RC2" | ||
|
||
epicsEnvSet("IOC" ,"$(IOC="ec-base-01:Test:")") | ||
epicsEnvSet("SCRIPTEXEC" ,"$(SCRIPTEXEC="iocshLoad")") | ||
|
||
|
||
# Configure hardware | ||
${SCRIPTEXEC} ${ecmccfg_DIR}configureSlave.cmd, "SLAVE_ID=12, HW_DESC=EP7047-1032, CONFIG=-Motor-Micos-Epics-Training" | ||
ecmcConfigOrDie "Cfg.EcApplyConfig(1)" | ||
|
||
# Configure Motion | ||
epicsEnvSet("DEV", "$(IOC)") | ||
epicsEnvSet("DRIVE_ID", "$(ECMC_EC_SLAVE_NUM)") | ||
#$(SCRIPTEXEC) ($(ecmccfg_DIR)configureAxis.cmd, CONFIG=./cfg/linear.ax, CFG_MACROS="DRIVE_ID=${ECMC_EC_SLAVE_NUM}") | ||
$(SCRIPTEXEC) ($(ecmccfg_DIR)configureAxis.cmd, CONFIG=./cfg/linear.ax) | ||
|
||
dbLoadTemplate(ho.subs,"P=${IOC}:,PORT=${ECMC_ASYN_PORT},AXIS_NAME=${ECMC_MOTOR_NAME},AXIS_NO=${ECMC_AXIS_NO}") | ||
|
||
# Other | ||
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) |
33 changes: 26 additions & 7 deletions
33
...s/test/el70xx/el7041_high_speed/readme.md → examples/test/el70xx/high_speed/readme.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters