From 01b08c054e5ec8ee5d37bb2696bf81a577b678cd Mon Sep 17 00:00:00 2001 From: Henrique Garcia Rodrigues Date: Fri, 28 Aug 2026 11:29:56 +0200 Subject: [PATCH] fix --- ECMC/EL7062/cfg/axis.yaml | 12 ++++++------ ECMC/EL7062/cfg/enc_open_loop.yaml | 1 + ECMC/EL7062/startup.cmd | 6 +++--- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/ECMC/EL7062/cfg/axis.yaml b/ECMC/EL7062/cfg/axis.yaml index c2a802f..1e513c4 100644 --- a/ECMC/EL7062/cfg/axis.yaml +++ b/ECMC/EL7062/cfg/axis.yaml @@ -2,7 +2,7 @@ axis: # Physical-axis con id: ${AXIS_ID=1} # Unique numeric axis identifier feedSwitchesOutput: ec0.s${BO_SID}.binaryOutput${BO_CH=04} # EL2008 channel 4: 24 V supply for limit switches type: joint # Physical motor axis - mode: CSV # EL7062 cyclic synchronous velocity mode + mode: CSP # EL7062 cyclic synchronous velocity mode autoEnable: # Native ecmc automatic axis enable/disable enableTimeout: 10 # Maximum time allowed to auto-enable [s] disableTimeout: 10 # Idle time before automatic disable [s] @@ -24,10 +24,10 @@ epics: drive: - numerator: 8000 # Fastest speed in eng. units (1mm/s*8000Hz) - denominator: 2147483648 #1048576 # I/O range for ECMC_EC_ALIAS_DRV_VELO_SET (normally +-16bit) + numerator: 1 # Fastest speed in eng. units (1mm/s*8000Hz) + denominator: 1048576 #1048576 # 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 #ec0.s$(DRV_SID).positionSetpoint${DRV_CH=01} + setpoint: ec0.s$(DRV_SID).positionSetpoint01 #ec0.s$(DRV_SID).positionSetpoint${DRV_CH=01} control: ec0.s$(DRV_SID).driveControl01 # Control word EtherCAT entry status: ec0.s$(DRV_SID).driveStatus01 # Status word EtherCAT entry warning: 2 # Warning bit in status word (if no drive warning bit then leave empty) @@ -57,8 +57,8 @@ encoder: # Primary encoder c enable: true # Enable encoder delay compensation controller: # Centralized ecmc PID controller for CSP-PC operation - Kp: 1 # Proportional gain - Ki: 0 # Integral gain + Kp: 0.02 # Proportional gain + Ki: 0.01 # Integral gain Kd: 0 # Derivative gain trajectory: # Trajectory-generator configuration diff --git a/ECMC/EL7062/cfg/enc_open_loop.yaml b/ECMC/EL7062/cfg/enc_open_loop.yaml index e3736f0..f486fee 100644 --- a/ECMC/EL7062/cfg/enc_open_loop.yaml +++ b/ECMC/EL7062/cfg/enc_open_loop.yaml @@ -16,4 +16,5 @@ encoder: # EL7062 open-loop velocity: # Homing velocities to: 0.5 # Velocity toward the reference cam/sensor [mm/s] from: 0.25 # Velocity away from the reference cam/sensor [mm/s] + useAsCSPDrvEnc: 1 diff --git a/ECMC/EL7062/startup.cmd b/ECMC/EL7062/startup.cmd index 275909c..a7505e5 100644 --- a/ECMC/EL7062/startup.cmd +++ b/ECMC/EL7062/startup.cmd @@ -47,10 +47,10 @@ epicsEnvSet(BO_SID,${ECMC_EC_SLAVE_NUM}) # EL7062 1-channel stepper drive in CSV mode (EtherCAT slave position 10) -${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=10,HW_DESC=EL7062" -${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper,CH_ID=1,MACROS='I_MAX_MA=800,I_STDBY_MA=500,U_NOM_MV=48000,L_COIL_UH=3080,R_COIL_MOHM=7500,STEPS=200'" +${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=10,HW_DESC=EL7062_CSP" +${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper,CH_ID=1,MACROS='I_MAX_MA=800,I_STDBY_MA=500,U_NOM_MV=48000,L_COIL_UH=3080,R_COIL_MOHM=7500,STEPS=400'" ${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Drive-Generic-Ctrl-Params,CH_ID=1,MACROS='L_COIL_UH=3080,R_COIL_MOHM=2471,I_TI=12,I_KP=58,V_TI=150,V_KP=176,P_KP=10'" -${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper,CH_ID=2,MACROS='I_MAX_MA=800,I_STDBY_MA=500,U_NOM_MV=48000,L_COIL_UH=3080,R_COIL_MOHM=7500,STEPS=200'" +${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper,CH_ID=2,MACROS='I_MAX_MA=800,I_STDBY_MA=500,U_NOM_MV=48000,L_COIL_UH=3080,R_COIL_MOHM=7500,STEPS=400'" ${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Drive-Generic-Ctrl-Params,CH_ID=2,MACROS='L_COIL_UH=3080,R_COIL_MOHM=2471,I_TI=12,I_KP=58,V_TI=150,V_KP=176,P_KP=10'" epicsEnvSet(DRV_SID,${ECMC_EC_SLAVE_NUM})