Start
This commit is contained in:
@@ -0,0 +1 @@
|
||||
7.0.7
|
||||
@@ -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
|
||||
@@ -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
|
||||
Executable
+8
@@ -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"
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user