This commit is contained in:
2024-09-16 09:31:27 +02:00
parent 6c6d14e0b8
commit 74b291a618
14 changed files with 578 additions and 91 deletions
+1
View File
@@ -0,0 +1 @@
7.0.7
+78
View File
@@ -0,0 +1,78 @@
# https://paulscherrerinstitute.github.io/ecmccfg/manual/axis/axisyaml/
axis:
id: 5
mode: CSV
features:
allowSrcChangeWhenEnabled: true
epics:
name: TRYB
precision: 4
unit: mm
motorRecord:
enable: false
description: "Test Y Bottom"
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
+78
View File
@@ -0,0 +1,78 @@
# https://paulscherrerinstitute.github.io/ecmccfg/manual/axis/axisyaml/
axis:
id: 6
mode: CSV
features:
allowSrcChangeWhenEnabled: true
epics:
name: TRYT
precision: 4
unit: mm
motorRecord:
enable: false
description: "Test Y Top"
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
+8
View File
@@ -0,0 +1,8 @@
####### Kinematics for slit system.
# Macros cannot be used in an include. In order to find files, the loadPLCFile.cmd parameter "INC" defines the dirs that MSI will look for the file)
include "axis_kin_slit.plc_inc"
####### State machine
# Macros cannot be used in an include. In order to find files, the loadPLCFile.cmd parameter "INC" defines the dirs that MSI will look for the file)
include "axis_sm.plc_inc"
+64
View File
@@ -0,0 +1,64 @@
axis:
id: ${AX_ID}
type: end effector
epics:
name: CENTERY
precision: 4
unit: mm
motorRecord:
enable: false
description: "Center Y (Virtual)"
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
+64
View File
@@ -0,0 +1,64 @@
axis:
id: ${AX_ID}
type: end effector
epics:
name: GAPY
precision: 4
unit: mm
motorRecord:
enable: false
description: "Gap Y (Virtual)"
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